/* Full-screen scenes use portrait assets, never a scaled desktop composition. */
.hero-canvas,.simulator-canvas{display:contents}
.hero-canvas :is(canvas,.scroll-frame){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0}
.hero-canvas :is(canvas,.scroll-frame).ready{opacity:1}
@media(max-width:760px), (max-width:1100px) and (max-height:500px){
 .stage,.services-stage,.simulator-stage{height:100svh;min-height:0;position:sticky;top:0;padding:0}
 .story{height:380svh}.services-film{height:260svh}.sim-motion-track{height:195svh}
 .hero-canvas,.simulator-canvas,.services-scene{display:block;position:absolute;inset:0;width:100%;height:100%;transform:none;overflow:hidden;isolation:isolate}
 .stage :is(canvas,.scroll-frame),.poster,.end-frame,.book-poster,.book-film,.book-final,.sim-poster,.sim-film,.sim-final{width:100%;height:100%;object-fit:cover;object-position:center;inset:0}
 .hero-copy{inset:110px 6% 135px;top:110px;left:6%;width:auto;justify-content:center}
 .hero-kicker{width:100%;gap:10px;margin-bottom:20px}.hero-kicker .eyebrow{font-size:8px;letter-spacing:1.2px;gap:7px}
 .hero-copy h1{font-size:clamp(42px,12.5vw,70px);line-height:.94;letter-spacing:-1.6px;margin-bottom:20px}.hero-copy p{font-size:14px;line-height:1.5;max-width:340px}
 .hero-actions{width:100%;gap:10px;margin-top:24px}.hero-actions .button,.hero-booking{flex:1;min-width:0;min-height:48px;padding:11px 9px;font-size:12px;gap:8px}.hero-booking svg{width:18px;height:18px}
 .story-bottom{left:6%;right:6%;bottom:22px;gap:20px}.hero-benefits{gap:12px}.benefit-rule{display:none}.hero-benefits>div{flex:1;flex-direction:column;gap:9px;font-size:6px;letter-spacing:.6px;text-align:center}.hero-benefits svg{width:24px;height:24px}.hero-benefits>i{height:28px}.story-progress .technical{display:none}.story-progress .scroll-hint{font-size:6px}.story-progress .meter>div{width:40px}
 .second-copy{inset:230px 7% 100px;top:230px;width:auto;justify-content:center}.second-copy h2{font-size:43px;margin:18px 0}.second-copy p{font-size:14px;line-height:1.6}.second-copy .text-link{font-size:12px}
 .callout-plaque{top:113px;right:6%;width:88%;height:95px}.callout-face{gap:10px;padding:10px 16px}.callout-face p{font-size:30px}.callout-engine-icon{width:34px;height:30px}.callout-square{width:10px;height:12px}
 .services-film-heading{display:none}.services-film-footer{bottom:22px;font-size:7px;letter-spacing:1px}.book-track{width:50px}
}
@media(max-width:760px) and (orientation:portrait){
 .sim-interface{position:absolute;inset:88px 5% 26px;width:auto;height:auto;padding:22px 18px;border:2px solid #83929d;border-radius:25px;background:linear-gradient(135deg,#18232b,#030608 45%,#131a20);box-shadow:inset 0 1px 2px #fff7,inset 0 0 0 4px #0b1015,0 0 12px #e0143438;display:flex;flex-direction:column;gap:16px;overflow-y:auto;overscroll-behavior:contain;container-type:inline-size}
 .simulator-section.is-ready .sim-final{visibility:hidden}.sim-interface:before{display:none}
 .sim-heading{position:static!important;width:auto!important;height:auto!important;clip-path:none;overflow:visible;white-space:normal;display:flex;gap:12px;padding:0}.sim-heading h2{font-size:25px;line-height:1.05;letter-spacing:-.5px}.sim-heading p{font-size:9px;line-height:1.5;letter-spacing:.5px;margin-top:7px}.sim-emblem{width:42px;min-width:42px;height:47px;font-size:30px;border-radius:9px}.sim-led{display:none}
 .sim-controls{display:flex;flex-direction:column;gap:17px;margin:0;flex:1}.sim-column,.sim-basics,.sim-options{display:flex;flex-direction:column;gap:12px;min-width:0;padding:0;border:0;margin:0}.sim-basics:before{display:none}
 .sim-liters{display:flex;align-items:center;justify-content:space-between;gap:8px}.sim-liters label,.sim-engine legend{position:static!important;width:auto!important;height:auto!important;clip-path:none;overflow:visible;font-size:15px;white-space:normal;font-weight:600;color:#fff}
 .sim-liters output{position:static;width:auto;height:auto;padding:6px 9px;font-size:17px;border-radius:8px;min-width:66px}#sim-liters{position:static;width:100%;height:10px;margin:6px 0 3px}#sim-liters::-webkit-slider-thumb{width:25px;height:25px}
 .sim-range-labels{position:static!important;width:auto!important;height:auto!important;clip-path:none;overflow:visible;display:flex;font-size:10px;margin:0}
 .sim-engine{position:static;width:auto;height:auto;margin:0;padding:0}.sim-engine:before{display:none}.sim-engine legend{margin-bottom:8px}.sim-engine>div{display:flex;height:43px;gap:8px}.sim-engine span{font-size:14px;border-radius:9px}.sim-field{font-size:14px;color:#f4f5f6;margin:0;position:static;font-weight:600}
 .sim-field select,.sim-unit,#sim-vehicle,#sim-service{position:static;width:100%;height:44px;min-height:44px;padding:8px 10px;margin-top:7px;font-size:16px;border-radius:9px;box-shadow:inset 0 1px 3px #fff3}.sim-unit{display:flex}.sim-options{display:grid;grid-template-columns:1fr 1.25fr;gap:12px}.sim-options label{min-width:0}.sim-input-note{display:none}
 .sim-estimate{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:14px;border:1px solid #ff3045;border-radius:17px;background:linear-gradient(135deg,#440811,#070809 65%);box-shadow:0 0 16px #ef0b2829;min-width:0}
 .sim-cost-label{position:static;width:auto;height:auto;clip-path:none;overflow:visible;font-size:14px;grid-column:1/-1}.sim-estimate output{position:static;width:auto;height:auto;grid-column:1/-1;justify-content:flex-start;background:none;font-size:43px;letter-spacing:-1px;line-height:1.1}
 .sim-estimate #sim-price-mode{position:static;width:auto;height:auto;grid-column:1/-1;background:none;font-size:8px;text-align:left;letter-spacing:.3px;padding:0}
 .sim-estimate ul{position:static;width:auto;height:auto;grid-column:1/-1;background:none;padding:8px 0;margin:0;gap:7px;box-shadow:none}.sim-estimate li{font-size:12px;padding:0;gap:7px}
 .sim-calculate{position:static;width:100%;height:44px;font-size:20px;border-radius:10px}.sim-book{position:static;width:100%;height:44px;font-size:11px;line-height:1.4;background:none}.sim-estimate #sim-status{position:static;width:auto;height:auto;grid-column:1/-1;font-size:10px;line-height:1.4}
}
@media(max-width:1100px) and (max-height:500px){
 header{height:60px;padding:0 4%}header img{width:110px}header nav{gap:12px;font-size:12px}.nav-cta{padding:9px 12px;font-size:12px}.hero-copy{inset:70px 6% 65px;top:70px}.hero-copy h1{font-size:clamp(28px,8svh,45px);margin-bottom:10px}.hero-kicker{margin-bottom:10px}.hero-copy p{font-size:12px;max-width:480px}.hero-actions{margin-top:12px;max-width:440px}.hero-actions .button,.hero-booking{min-height:38px;font-size:12px}.story-bottom{bottom:8px}.hero-benefits{display:none}.second-copy{inset:80px 7% 45px;top:80px}.second-copy h2{font-size:35px}.second-copy p{font-size:12px;max-width:360px}.callout-plaque{top:90px;right:5%;width:38%;height:90px}.callout-face p{font-size:25px}
}
@media(max-width:760px) and (orientation:portrait){.service-ink{display:block}.ink-footer{display:none}.services-scene .service-ink .ink-service{padding-bottom:calc(48 * var(--book-unit,1px))!important}.service-ink .ink-service-hint{letter-spacing:0}.service-ink .ink-service p{overflow-wrap:normal}}



