/* Chrome, content and canvas occupy separate grid rows. Actual viewport height
   and ResizeObserver measurements remain authoritative during a live resize. */
.site-shell{height:var(--available-height,100dvh);min-height:0;grid-template-rows:auto minmax(0,1fr) auto auto;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.site-header{min-height:60px;height:auto;padding:8px clamp(10px,2.5vw,38px);gap:10px}
.header-actions{gap:clamp(6px,1.5vw,20px);min-width:0}
.design-switch{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:6px 10px;border:1px solid #9ab5a35c;border-radius:5px;font-size:12px;font-weight:600;white-space:nowrap;background:#152d24;color:#f1f2e9;flex-shrink:0}
.design-switch:hover{border-color:#f57a67;background:#253a2c}
.site-header.header-tight .brand-place,.site-header.header-tight .desktop-number,.site-header.header-tight .desktop-update{display:none}
.chapter-nav{height:auto;min-height:48px;align-self:stretch;margin:0 12px 8px;width:auto;gap:0;min-width:0}
.chapter-nav a{min-width:0;flex:1;min-height:44px;padding:6px 3px;white-space:normal;text-align:center;justify-content:center}
.experience-footer{min-height:30px;height:auto;padding:0 16px}
.experience-footer .motion-toggle,.experience-footer .footer-more{min-height:30px}
main{container-type:size}
.chapter{max-height:100%;min-height:0}
.garage-walk{container-type:size}
.welcome:not(.engine-focused){overflow:auto}
.welcome .engine-view{min-height:0}
.compact-space .welcome-copy{padding-bottom:0}
.compact-space .welcome-description,.compact-space .welcome .arrival-card,.compact-space .home-returning,.compact-space .model-footnote,.compact-space .engine-caption>span:first-child{display:none}
.compact-space .welcome h1{font-size:clamp(32px,12cqh,65px);line-height:.98}
.compact-space .welcome-copy .eyebrow{font-size:8px;margin-bottom:7px}
.compact-space .welcome-actions{margin-top:8px;gap:4px 10px}
.compact-space .welcome-actions>.button{display:none}
.compact-space .assembly-modes button{min-height:44px;padding:5px 2px}
.compact-space .assembly-modes small{display:none}
.compact-space .engine-caption{padding:2px 0 5px;min-height:0}
.compact-space .model-utility{margin-top:2px}
.compact-space .welcome{padding-top:8px;padding-bottom:6px;row-gap:5px}
.compact-space .garage-top h2{font-size:22px}
.shallow-space .welcome-copy .eyebrow,.shallow-space .engine-caption,.shallow-space .service-steps{display:none}
.shallow-space .welcome:not(.engine-focused){grid-template-columns:minmax(0,36%) minmax(0,64%);grid-template-rows:minmax(0,1fr) auto;gap:0 8px;padding:6px 14px}
.shallow-space .welcome:not(.engine-focused) .welcome-copy{grid-column:1;grid-row:1/3;align-self:center}
.shallow-space .welcome:not(.engine-focused) .engine-view{grid-column:2;grid-row:1}
.shallow-space .welcome:not(.engine-focused) .engine-interface{grid-column:2;grid-row:2}
.shallow-space .welcome h1{font-size:clamp(25px,11cqh,40px)}
.shallow-space .garage-top{min-height:32px}.shallow-space .garage-top h2{font-size:18px}
dialog{max-height:calc(var(--available-height,100dvh) - 20px)}
.menu-dialog,.photos-dialog{height:min(660px,calc(var(--available-height,100dvh) - 20px));max-height:calc(var(--available-height,100dvh) - 20px)}
@media(max-width:760px){
 .brand-place,.desktop-update,.desktop-number{display:none!important}
 .site-header{padding:6px 10px;min-height:54px}
 .logo-crop{width:66px;height:38px}.logo-crop img{width:66px;height:66px;transform:translateY(-16px)}
 .design-switch{font-size:10px;padding:5px 7px;min-height:34px}
 .header-actions{gap:7px}.site-header .call-button{font-size:12px;min-height:36px;padding:7px 9px;gap:5px}
 .call-button svg{width:16px;height:16px}#menu-button{width:34px;height:34px}#menu-button svg{width:20px}
 .chapter-nav{margin:0 8px 6px}.chapter-nav a{font-size:10px}.chapter-nav small{font-size:8px}
}
@container(max-height:240px){
 .services,.stock,.visit{overflow:auto}
 .visit{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:8px;padding:8px}
 .map-cover h3,.map-cover-content>.eyebrow{display:none}.map-cover-content{padding:10px}
 .stock-visual{display:none}.stock{grid-template-columns:1fr;grid-template-rows:1fr}
}
@media(max-width:519px){.welcome:not(.engine-focused){grid-template-rows:max-content minmax(0,1fr) max-content}}
@container(max-height:180px){.gw-look-cue{display:none}}

/* Fit useful actions to measured content height, including short landscape. */
@container(max-height:280px){
 .services{padding:8px 14px;gap:0;grid-template-rows:minmax(0,1fr)}
 .services .section-intro{display:none}
 .service-workspace{padding:8px;gap:0;overflow:auto}
 .service-tabs{margin-bottom:5px}.service-tabs button{min-height:30px}
 .service-detail{grid-template-columns:30% minmax(0,1fr);grid-template-rows:1fr;min-height:100px;overflow:visible}
 .service-media{min-height:0;overflow:hidden}.service-detail-copy{padding:7px 10px;align-self:start}
 .service-detail-copy .eyebrow,.service-detail-copy .service-tags{display:none}
 .service-detail-copy h3{font-size:18px;line-height:1.1}.service-detail-copy h3 br{display:none}
 .service-detail-copy>p:not(.eyebrow){font-size:10px;line-height:1.35;margin:5px 0 7px}
 .service-detail-copy .button{min-height:36px;padding:7px 10px;font-size:11px}
 .partner-link{min-height:26px;margin-top:3px}
 .stock{padding:8px 14px;grid-template-columns:1fr;grid-template-rows:1fr;overflow:auto}
 .stock-visual{display:none}.stock-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:8px 20px;padding:12px;align-content:start;align-self:stretch;max-width:none}
 .stock-copy>.eyebrow,.stock-copy>p:not(.eyebrow),.stock-copy>.subtle-link{display:none}
 .stock-copy h2{grid-column:1;grid-row:1;font-size:22px;line-height:1.1;margin:0}
 .stock-switch{grid-column:1;grid-row:2;align-self:start;margin:3px 0}.stock-switch button{min-height:38px}
 .stock-empty{grid-column:2;grid-row:1/3;border-top:0;border-left:1px solid var(--line);padding:0 0 0 16px}
 .stock-empty .eyebrow{display:none}.stock-empty h3{font-size:19px;margin:0 0 8px}.stock-empty>.text-action{min-height:38px;margin-top:6px}
 .visit-copy{justify-content:flex-start;padding:10px 12px;overflow:auto;min-height:0}
 .visit-copy>.eyebrow,.visit-copy>.small-note,.visit-copy>.text-action{display:none}
 .visit-copy h2{font-size:23px;margin:0 0 7px}.visit-copy address{font-size:11px;margin:0 0 7px}
 .visit-copy>.button{min-height:36px}.visit-copy .contact-lines{margin-top:6px}.visit-copy .contact-lines a{min-height:27px;padding:5px 0}
}
@container(max-height:240px){
 .gw-start{bottom:14px}.gw-start .gw-kicker,.gw-start .gw-start-detail{display:none}
 .gw-start h3{font-size:23px;margin-bottom:8px!important}.gw-start small{margin-top:7px}
}
@container(max-height:160px){.gw-start h3{display:none}.gw-top{top:8px}}
.garage-walk.is-paused .gw-help{color:transparent}.garage-walk.is-paused .gw-help>*{visibility:hidden}
.photos-dialog .tour-stage{container-type:size;container-name:tour-photo}
@container tour-photo (max-height:300px){
 .photos-dialog .tour-caption{left:60px;right:60px;max-width:none;bottom:48px}
 .photos-dialog .tour-caption h3{font-size:22px}
}
