/* V7 responsive and interaction refinements. Loaded after the shared theme. */
[hidden] { display: none !important; }
html { scroll-padding-bottom: 110px; }
section[id] { scroll-margin-top: 24px; }
img { max-width: 100%; }
.section > *, .business-grid > *, .partner-panels > * { min-width: 0; }
.legal-name, .position, .contact-rows a { overflow-wrap: anywhere; }
.languages a, .contact-rows button, .card-options button, .motion-control {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.languages a { min-width: 42px; }
.button, .text-link { touch-action: manipulation; }
.text-link { min-height: 44px; }
.contact-rows button { min-width: 54px; }
.source-links a { line-height: 1.6; }
.business-card small, .partner-note, .sources p { font-size: 12px; line-height: 1.75; }
.business-card dl { grid-template-columns: minmax(0, 1fr) auto; }
.business-card dd { font-variant-numeric: tabular-nums; }
.business-card > p:not(.position) { min-height: 0; }
.company-logo img { object-fit: contain; }
.cinema-enabled .showroom-track { height: 290svh; min-height: 2200px; }
.motion-control:disabled { cursor: default; opacity: .8; }
.xray-hud { display: none; }
.cinema-enabled .xray-hud { display: block; }
.motion-off .xray-hud { display: none; }
.film-caption { font-size: 10px; }
.film-caption > span { line-height: 1.5; }
.hud-top, .hud-tracks { font-size: 10px; }
.cutaway-note { font-size: 10px; }
.showroom-stage .display-platform { box-shadow: 0 12px 30px #0006, 0 0 45px #73caff10; }
.car-photo-space { isolation: auto; }
#taxi-drive { pointer-events: none; }
#qr-error { color: #e1d0a7; }
#qr-dialog { overscroll-behavior: contain; }
.dialog-actions { flex-wrap: wrap; }
.motion-off .hero-track { height: auto; min-height: 0; }
.motion-off .hero-track .hero { position: relative; }
.motion-off *, .motion-off *::before, .motion-off *::after { transition: none !important; }
@media (min-width: 1060px) {
  .showroom-copy { width: 38%; }
  .showroom-object { left: 31%; top: 32%; width: 66%; height: 53%; }
  .xray-hud { top: 15%; }
}
@media (min-width: 761px) and (max-width: 1059px) {
  .showroom-stage { min-height: 900px; }
  .showroom-copy { top: 6%; width: 65%; }
  .showroom-object { left: 3%; top: 36%; width: 94%; height: 43%; }
  .xray-hud { top: 34%; right: 7%; width: 35%; }
  .showroom-copy h2 { font-size: 44px; }
}
@media (max-width: 760px) {
  .cinema-enabled .showroom-track { height: 280svh; min-height: 2200px; }
  .cinema-enabled .route-track { height: 280svh; min-height: 2200px; }
  .hero-track .hero { min-height: 820px; }
  .hero-track .hero-bottom { bottom: calc(86px + env(safe-area-inset-bottom)); gap: 10px; }
  .brand-stage { bottom: calc(143px + env(safe-area-inset-bottom)); height: 310px; }
  .object-perspective { width: 210px; height: 281px; }
  .hero-track .hero-copy { max-width: 100%; }
  .hero-track .hero-tag { font-size: 17px; }
  .hero-track .location { margin-top: 10px; }
  .hero-track .motion-control { min-width: 80px; font-size: 10px; }
  .hero-track .scroll-cue { font-size: 10px; }
  .motion-steps { display: none; }
  .route-stage, .showroom-stage { min-height: 820px; }
  .hologram-map { width: 110%; right: -5%; top: 33%; height: 51%; }
  .route-status { bottom: 18%; }
  .showroom-copy { top: 6%; left: 7%; width: 86%; }
  .showroom-copy h2 { font-size: clamp(30px, 8.5vw, 37px); }
  .showroom-copy > p:not(.eyebrow) { font-size: 14px; margin-top: 16px; }
  .showroom-copy .eyebrow { margin-bottom: 16px; }
  .showroom-copy .text-link { font-size: 12px; }
  .xray-hud { top: 37%; left: 7%; right: 7%; width: auto; }
  .xray-hud .hud-top, .xray-hud .hud-tracks { font-size: 9px; }
  .showroom-object { top: 43%; height: 33%; left: 0; width: 100%; }
  .showroom-stage .sales-process { bottom: 16%; gap: 12px; }
  .sale-step { font-size: 11px; line-height: 1.45; }
  .film-caption { bottom: calc(84px + env(safe-area-inset-bottom)); font-size: 10px; gap: 10px; }
  .film-caption > span { max-width: 78%; }
  .cutaway-note { font-size: 9px; }
  .showroom-stage .film-caption > a { display: none; }
  .showroom-stage .film-caption > span { max-width: 100%; }
  .mobile-dock { min-height: 70px; }
  .mobile-dock > a, .mobile-dock button { min-height: 44px; }
  .business-card { padding: 24px; }
  .legal-name { letter-spacing: .07em; }
  .source-links { gap: 3px; }
  .source-links a { min-height: 44px; display: inline-flex; align-items: center; }
  .contact-rows a.email { font-size: 15px; }
  .contact-card small { font-size: 12px; }
  footer { padding-bottom: calc(115px + env(safe-area-inset-bottom)); }
}
@media (max-width: 359px) {
  .identity-name { display: none; }
  .hero-track h1 { white-space: normal; font-size: 30px; }
  .showroom-stage { min-height: 890px; }
  .business-card { padding: 20px; }
  .business-card h3 { font-size: 28px; }
}
/* Short landscape windows use natural scrolling instead of pinned sequences. */
@media (max-height: 620px) and (orientation: landscape) {
  .hero-track, .route-track, .showroom-track { height: auto !important; min-height: 0 !important; }
  .hero-track .hero, .route-stage, .showroom-stage { position: relative !important; }
  .hero-track .hero { min-height: 820px; }
  .xray-hud { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-track { height: auto !important; min-height: 0 !important; }
  .hero-track .hero { position: relative !important; }
  .xray-hud { display: none !important; }
}
@media print {
  .hero-track { height: auto !important; min-height: 0 !important; }
  .hero-track .hero { height: auto !important; min-height: 0 !important; position: static !important; }
  .brand-stage, .motion-copy, .motion-steps, .hero-bottom { display: none !important; }
  .hero-track .hero-copy { opacity: 1 !important; transform: none !important; width: 100% !important; }
  .business-card, .contact-card, .partner-panel { break-inside: avoid; }
}
