/* Customer-facing finishing pass. Preserve the illustrated rooms and BMW type. */
:root{font-family:'BMW Type Next KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-size:100%;--muted:#536d82}
.site-header{gap:20px}
.studio-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;background:transparent;border-color:transparent}
.studio-nav a:hover{background:#f1f7fb}
.studio-nav a.active{background:#e7f2fa;border-color:#92b3cf;color:#245e9c}
.help-button{min-width:44px;min-height:44px;background:#f7fbfe;border-color:#d3e1eb;border-radius:14px}
.world-shell{grid-template-rows:56px minmax(0,1fr) 88px}
.world-shell.has-explorer{grid-template-rows:56px minmax(0,1fr)}
.world-shell .world-tools{padding:3px 4px;gap:2px;border-radius:15px}
.world-tools button{min-width:44px;min-height:44px;height:auto;border-radius:11px}
.world-tools button:first-child{padding-inline:12px}
.world-tools button:hover{background:#eaf3f9}
.world-tools button[aria-pressed=true]{background:#dfeef8;color:#245e9c}
/* Labels sit in front of the crowd, without lifting whole car hit areas. */
.world-canvas .zone-hit{z-index:auto}
.world-canvas .zone-label{z-index:35}
.visitor-greeting[data-placement]{transform:translateX(-50%);border-radius:12px}
.visitor-greeting[data-placement=above]{border-bottom-left-radius:4px}
.visitor-greeting[data-placement=below]{border-top-left-radius:4px}
.visitor-greeting[data-placement=left]{border-bottom-right-radius:4px}
.visitor-greeting[data-placement=right]{border-bottom-left-radius:4px}
.zone-label>.hot-badge--zone{font-size:.75rem;top:-15px;right:-14px;padding:2px 5px;transform:rotate(5deg)}
.world-shell .zone-label>.hot-badge--zone{top:-15px;right:-8px}
.explore-sheet{scroll-margin-top:12px;overscroll-behavior:contain}
.sheet-heading{gap:12px;margin-bottom:8px}
.sheet-title{min-width:0}
.sheet-title h1{font-weight:700;line-height:1.3;letter-spacing:-.015em}
.sheet-close,.profile-close,.close-button,.detail-panel-head button{display:grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;flex:none;border-radius:13px;color:#416781;background:#f2f7fb;border:1px solid #d4e2ed;line-height:1}
.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:#426981;padding-block:8px}
.sheet-intro{line-height:1.6;color:var(--muted)}
.model-grid{gap:12px}
.model-card{border-radius:18px;overflow:hidden;box-shadow:0 2px 3px #23415d08;transition:transform .18s,border-color .18s,box-shadow .18s}
.model-card:hover{transform:translateY(-2px);box-shadow:0 5px 12px #23415d12}
.model-card h2{font-size:1rem;font-weight:700;padding:8px 10px 15px;margin:0;line-height:1.4}
.selected-car{border-radius:20px;overflow:hidden}
.representative-note{font-size:.75rem;margin:8px 0 18px;color:var(--muted)}
.detail-tabs{gap:7px}
.detail-tabs button{min-height:76px;line-height:1.35;border-radius:14px;padding:12px 5px;font-size:.875rem;word-break:keep-all;overflow-wrap:anywhere;min-width:0;gap:8px}
.detail-tabs button.active{box-shadow:0 2px 0 #1c568829}
.detail-panel-head h2{font-weight:700;line-height:1.4}
.vehicle-detail-panel{scroll-margin-top:16px;padding-top:18px}
.document-choice{min-height:52px;font-size:1rem;line-height:1.55}
.source-line,.quiet-state p,.help-dialog .secondary-copy,.profile-send-note{color:var(--muted)}
.material-attribution{margin:8px 0 12px;color:#61798b;font-size:.75rem;line-height:1.6;overflow-wrap:anywhere}
.material-actions{display:flex;flex-wrap:wrap;gap:10px}
.material-actions .retry-button,.material-image-recovery .retry-button{min-height:44px}
.material-image-recovery{padding:18px;border:1px solid #ccdde9;border-radius:12px;background:#f5f9fc}
.material-image-recovery p{font-size:.9375rem;line-height:1.6;color:var(--muted);margin:0 0 14px}
.material-image-recovery[hidden],#media-content img[hidden]{display:none}
.profile-send-note{font-size:.8125rem;line-height:1.6}
.profile-name h2{font-weight:700;letter-spacing:0}
.profile-history p{line-height:1.75}
.welcome-note{box-shadow:0 3px 0 #b8d0df40}
.welcome-note .welcome-copy>span{color:#506f85}
.welcome-contact{display:block;font-size:.75rem!important;color:#2e638b!important;margin-top:4px;text-decoration:underline;text-underline-offset:3px}
.consultation .consult-small,.consult-handoff .consult-small,.consult-draft,.visual-disclaimer,.visual-controls span,.consult-matchline small{font-size:.8125rem;line-height:1.65;color:#536c7e}
.consult-select,.consult-check,.consult-chips button,.consult-handoff>p,.consult-handoff summary,.visual-tabs button,.visual-colors{font-size:.875rem}
.visual-tabs button{font-size:.875rem!important}
.consult-rate{flex-wrap:wrap}
.consult-amounts>div{flex-wrap:wrap}
.consult-amounts dd{white-space:normal;overflow-wrap:anywhere}
.consult-recovery{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.consult-empty .consult-recovery button{min-height:44px;padding:10px 12px;border:1px solid #c5dbe9;border-radius:11px;background:#f1f7fb;font-size:.875rem}
.consult-empty .consult-recovery [data-profile]{background:#315d7c;color:#fff;border-color:#315d7c}
@media(min-width:761px){
 .world-shell.has-explorer{grid-template-columns:minmax(0,1fr) minmax(380px,420px)}
 .explore-sheet{padding:26px 24px;border-left:1px solid #d2e1eb}
 .model-picture{height:140px}
 .selected-car{height:210px}
}
@media(min-width:761px) and (max-width:1000px){.site-header{gap:10px}.brand .kolon-wordmark{width:200px}}
@media(max-width:760px){
 :root{--header-height:104px}
 .site-header{height:auto;min-height:104px;padding:5px 10px 6px;gap:3px;align-content:center}
 .brand{min-height:43px}
 .brand .kolon-wordmark{width:180px;height:36px}
 .studio-nav{gap:3px;flex-wrap:wrap;align-items:center}
 .studio-nav a{padding:7px 8px;min-height:44px;min-width:44px;font-size:.875rem}
 .studio-nav .nav-m{margin-left:0;padding:7px 9px;min-width:52px}
 .site-header .account-link{top:5px}
 .world-shell,.world-shell.has-explorer{grid-template-rows:56px auto auto}
 .world-shell .world-tools{align-self:center}
 .world-shell.has-explorer .explore-sheet{margin:12px 10px 22px;border:1px solid #c4d9e8;border-radius:23px;padding:16px 18px 24px;box-shadow:0 4px 18px #31546b0c;scroll-margin-top:12px}
 .sheet-handle{width:32px;height:3px;margin-bottom:12px}
 .model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .model-picture{height:126px}
 .selected-car{height:185px;margin-top:6px}
 .detail-tabs button{flex-direction:column;min-height:80px;padding:10px 5px;gap:7px}
 /* Reserve the destination before async documents arrive, so a tab tap can
    reveal its heading immediately instead of stopping halfway down the car. */
 .vehicle-detail-panel{min-height:calc(100svh - 64px)}
 .tab-symbol{width:20px;height:20px;flex-basis:20px}
 .welcome-advisor{width:56px;height:56px}
 .world-shell .welcome-note{margin:12px 0 18px;padding:8px 17px 8px 8px;border-radius:22px}
 .welcome-note .welcome-copy{font-size:1rem}
 .welcome-note .welcome-copy>span{font-size:.875rem}
 .profile-intro{padding-top:40px}
}
@media(max-width:359px){
 .site-header{padding-inline:6px}
 .studio-nav{gap:2px}
 .studio-nav a{padding-inline:6px}
 .world-shell.has-explorer .explore-sheet{margin-inline:7px;padding-inline:14px}
 .detail-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Purchase entry stays outside the illustrated floor and never covers it. */
.purchase-entry{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:30px;padding:24px 32px;background:#fff;border-bottom:1px solid #d2e1eb}
.purchase-eyebrow{margin:0 0 5px;font-size:.75rem;letter-spacing:.04em;color:#476c89}
.purchase-intro h1{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.4;margin:0 0 6px;word-break:keep-all}
.purchase-intro>p:not(.purchase-eyebrow){margin:0 0 8px;font-size:.9375rem;color:#526b80}
.advisor-proof{padding:0;text-align:left;font-size:.8125rem;color:#426584;text-decoration:underline;text-underline-offset:3px;min-height:30px}
.purchase-models{align-self:center;min-width:0;max-width:600px}
#model-jump label{display:block;font-weight:700;font-size:.875rem;margin-bottom:7px}
.model-jump-controls{display:flex;gap:8px}
.model-jump-controls select{min-width:0;flex:1;min-height:46px;padding:9px 12px;border:1px solid #a8bfd2;border-radius:9px;background:#fff;font-size:1rem}
.model-jump-controls button,.purchase-primary{background:#175f99;color:#fff;border-radius:9px;padding:12px 16px;font-weight:700;text-align:center;min-height:46px}
.model-jump-controls button:hover,.purchase-primary:hover{background:#104c7d}
.quick-model-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:7px}
.quick-model-links a{display:flex;gap:8px;align-items:center;min-height:32px;font-size:.8125rem;color:#395f7e}
.quick-model-links a:hover{text-decoration:underline}
.purchase-entry:not([hidden])+.world-shell{height:calc(100dvh - var(--header-height) - 180px);min-height:490px}
.model-purchase{margin:14px 0 17px;padding:15px;border:1px solid #c2d5e4;border-radius:14px;background:#f4f9fd}
.model-purchase>p{font-size:.9375rem;line-height:1.5;margin-bottom:10px;word-break:keep-all}
.purchase-actions{display:flex;gap:8px}
.purchase-primary{flex:1;font-size:.9375rem}
.purchase-phone{display:flex;align-items:center;justify-content:center;padding:11px 15px;border:1px solid #b3cbdf;border-radius:9px;background:#fff;font-size:.875rem}
.model-purchase .purchase-note{font-size:.75rem;color:#526b80;line-height:1.6;margin:10px 0 0}
.catalog-recovery{max-width:650px;padding:35px 22px;margin:0 auto}
.catalog-recovery h1{font-size:1.4rem}
.studio-nav{gap:3px}.studio-nav a{padding-inline:8px;white-space:nowrap}
.zone-model-names{display:block;font-size:.75rem;line-height:1.25;text-align:center;font-weight:700;letter-spacing:0}
@media(min-width:761px) and (max-width:1200px){.site-header{gap:10px;padding-inline:16px}.brand .kolon-wordmark{width:180px}.studio-nav a{font-size:.75rem;padding-inline:5px}.nav-m img{width:32px}.purchase-entry{gap:20px;padding:20px 24px}}
@media(max-width:760px){
 :root{--header-height:145px}
 .site-header{min-height:145px;padding-bottom:7px}
 .studio-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 4px;width:100%}
 .studio-nav a{display:flex;align-items:center;justify-content:center;font-size:.75rem;min-height:42px;padding:6px 3px;text-align:center}
 .studio-nav .nav-m{margin:0;min-height:35px;padding:5px;justify-self:stretch;align-self:center}
 .nav-m img{width:32px}
 .purchase-entry{grid-template-columns:1fr;gap:15px;padding:20px 18px}
 .purchase-intro h1{font-size:1.25rem;max-width:330px}
 .purchase-intro>p:not(.purchase-eyebrow){font-size:.875rem;line-height:1.65}
 .purchase-entry:not([hidden])+.world-shell{height:auto;min-height:0}
 .quick-model-links{justify-content:space-between;gap:8px}
 .model-purchase{padding:13px;margin-top:10px}
 .model-purchase>p{font-size:.875rem}
 .model-purchase .purchase-note{font-size:.75rem}
 .selected-car{height:155px}
}

/* A quiet source signature, not an access control or a claim over BMW assets. */
.world-origin{position:absolute;z-index:32;bottom:.65%;left:50%;transform:translateX(-50%);padding:2px 9px;border:1px solid #ffffffa6;border-radius:5px;background:#203e50c9;color:#fff;font-size:clamp(10px,1.25cqw,13px);font-weight:600;line-height:1.3;letter-spacing:.035em;pointer-events:none;white-space:nowrap}

/* New launches have their own confirmed source and never inherit old model data. */
.new-seven-entry{margin:14px 0 16px;padding:12px 14px;border:1px solid #b9d0e3;border-radius:12px;background:#fff}
.new-seven-entry>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;color:#165d93;font-size:.875rem;font-weight:700;line-height:1.45;text-decoration:none;word-break:keep-all}
.new-seven-entry>a:hover{text-decoration:underline;text-underline-offset:3px}
.new-seven-entry>p{margin:6px 0 0;color:#5a6e7d;font-size:.75rem;line-height:1.6}
.new-seven-entry>p strong{font-weight:600;color:#344e62}
.new-seven-news-link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;margin:22px 4px 0;padding:12px 16px;border:1px solid #b2c8db;border-radius:9px;background:#fff;color:#155c92;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;word-break:keep-all}
.new-seven-news-link:hover{background:#f1f7fc}
.new-seven-entry>a:focus-visible,.new-seven-news-link:focus-visible{outline:3px solid #327eba;outline-offset:3px}
