/* ============================================================
   Auto 9 Showroom
   Tokens, then the five static-hero gates, then everything else.
   ============================================================ */

:root{
  --canvas:#17100E;
  --panel:#211614;
  --accent:#FF4A44;
  --accent-hover:#ff0d00;
  --accent-muted:#7A1110;
  --text-secondary:#D8C6BD;
  --text-primary:#F4EDE8;
  --font-display:"Archivo Black", system-ui, sans-serif;
  --font-body:"Manrope", system-ui, sans-serif;
  --font-mono:"IBM Plex Mono", ui-monospace, monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
  --text-shadow:0 2px 34px rgba(23,16,14,.92), 0 1px 3px rgba(23,16,14,.85);
}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
body{
  margin:0;
  background:var(--canvas);
  color:var(--text-primary);
  font:400 1rem/1.65 var(--font-body);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:var(--text-primary)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip{
  position:fixed;top:-100px;left:12px;z-index:100;
  background:var(--accent);color:#F4EDE8;
  padding:12px 18px;font:700 1rem/1 var(--font-body);
  border-radius:4px;transition:top .2s var(--ease);
}
.skip:focus{top:12px}

.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(18px,4vw,32px)}

/* ============ Buttons ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:.85em 1.6em;
  background:var(--accent);color:#F4EDE8;
  font:700 1.2rem/1.1 var(--font-body);
  text-decoration:none;border:0;border-radius:6px;
  cursor:pointer;transition:background .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
  box-shadow:0 8px 26px rgba(255,74,68,.3), 0 0 0 1px rgba(255,74,68,.28);
}
.btn:hover{background:var(--accent-hover);box-shadow:0 12px 34px rgba(255,74,68,.48), 0 0 0 1px rgba(255,110,103,.45);transform:translateY(-2px)}
.btn:active{transform:translateY(1px)}

/* ============ Header ============ */
.site-head{
  position:fixed;inset:0 0 auto 0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:10px clamp(14px,3vw,28px);
  background:rgba(23,16,14,.9);
  border-bottom:1px solid rgba(255,74,68,.35);
  box-shadow:0 14px 40px rgba(0,0,0,.4);
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{border-radius:6px}
.brand-name{font:400 1.15rem/1 var(--font-display);letter-spacing:.02em}
.site-nav{display:flex;align-items:center;gap:clamp(10px,2vw,24px)}
.site-nav a{font:500 .95rem/1 var(--font-body);text-decoration:none;color:var(--text-secondary)}
.site-nav a:not(.btn-nav):hover{color:var(--accent-hover)}
.btn-nav{min-height:44px;padding:.55em 1.05em;color:#F4EDE8}
@media (max-width:640px){
  .site-nav a:not(.btn-nav){display:none}
}

/* ============ Hero (scrub mode is the default) ============ */
.hero{position:relative;height:560vh}
.stage{
  position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;
  background:var(--canvas);
}
.poster,#hero-video,.ring,.scrim-global,.bands,.cue,.static-hero{position:absolute;inset:0}
.poster{background:center/cover no-repeat;z-index:0}
#hero-video{width:100%;height:100%;object-fit:cover;opacity:0;z-index:1;transition:opacity .5s var(--ease)}
.stage.ready #hero-video{opacity:1}
.stage.vid-fail #hero-video{display:none}
.ring{
  display:none;z-index:4;pointer-events:none;
  flex-direction:column;align-items:center;justify-content:center;gap:14px;
}
.stage.loading .ring{display:flex}
.ring svg{width:74px;height:74px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke:var(--accent);stroke-width:3;stroke-dasharray:113.1;stroke-dashoffset:113.1}
.stage.loading .ring circle{animation:ring-spin 1.1s linear infinite}
@keyframes ring-spin{to{transform:rotate(360deg)}}
.ring circle{transform-origin:center}
.ring-pct{font:500 .85rem/1 var(--font-mono);color:var(--text-secondary)}
.scrim-global{
  z-index:2;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(23,16,14,.6) 0%, rgba(23,16,14,0) 26%, rgba(23,16,14,0) 62%, rgba(23,16,14,.72) 100%),
    linear-gradient(90deg, rgba(23,16,14,.42) 0%, rgba(23,16,14,0) 22%, rgba(23,16,14,0) 78%, rgba(23,16,14,.42) 100%);
}

/* --- bands --- */
.bands{z-index:3;pointer-events:none}
.band{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(14px,2.5vh,26px);
  padding:96px clamp(20px,6vw,64px) 72px;
  text-align:center;opacity:0;--k:0;
  will-change:opacity;
}
.band::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(58% 52% at 50% 50%, rgba(23,16,14,.85) 0%, rgba(23,16,14,.48) 55%, rgba(23,16,14,0) 100%);
  opacity:calc(.25 + .75 * var(--k));
}
.band > *{position:relative}
.chip{
  margin:0;font:500 .78rem/1 var(--font-mono);
  letter-spacing:.22em;color:var(--accent);
  background:rgba(23,16,14,.78);
  border:1px solid rgba(255,74,68,.5);
  padding:.55em 1em;border-radius:4px;
  text-shadow:0 0 14px rgba(255,74,68,.45);
}
.bc{
  margin:0;max-width:16ch;
  font:400 clamp(2.4rem,7vw,5.1rem)/1.04 var(--font-display);
  color:var(--text-primary);text-shadow:var(--text-shadow);
}
.b4 .bc{max-width:22ch;font-size:clamp(1.7rem,4.4vw,3.3rem)}
.bc .w,.bc .half{display:inline-block;will-change:transform,opacity}
.bc .soft{
  position:absolute;left:0;right:0;top:0;
  filter:blur(13px);opacity:.9;color:var(--text-primary);
}
.bc.blurbox{position:relative}

/* band entrances driven by --k */
.b1 .w{transform:scale(calc(.76 + .24 * var(--k)));opacity:calc(.25 + .75 * var(--k))}
.b1 .chip{opacity:calc(.15 + .85 * var(--k));transform:translateY(calc((1 - var(--k)) * 14px))}
.b2 .half{
  transform:translateX(calc(var(--jx) * (1 - var(--k))));
  opacity:calc(.2 + .8 * clamp(0, var(--k) * 1.6, 1));
}
.b3 .bc .w{opacity:clamp(0, var(--k) * 1.7, 1)}
.b3 .soft{opacity:clamp(0, 1 - var(--k) * 1.7, 1)}
.b4 .w,.b4 .btn{
  opacity:clamp(0, (var(--k) - var(--th,0)) * 4, 1);
  transform:translateY(calc((1 - clamp(0, (var(--k) - var(--th,0)) * 4, 1)) * 1.05em));
}
.b4 .btn{
  transform:translateY(calc((1 - clamp(0, (var(--k) - var(--th,0)) * 4, 1)) * 20px));
  pointer-events:auto;
}
.b4 .bc{max-width:24ch}

.cue{
  inset:auto 0 26px 0;height:auto;z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  font:500 .78rem/1 var(--font-mono);letter-spacing:.2em;
  color:var(--text-secondary);pointer-events:none;
  transition:opacity .4s var(--ease);
}
.cue svg{width:26px;height:26px;fill:none;stroke:var(--accent);stroke-width:2;animation:cue-bob 2.2s var(--ease) infinite}
@keyframes cue-bob{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(7px);opacity:1}}
.cue.off{opacity:0}
@media (max-height:560px){.cue{display:none}}

/* --- static hero (hidden until a gate matches) --- */
.static-hero{display:none;z-index:6}
.static-hero .sh-inner{
  display:flex;flex-direction:column;align-items:flex-start;gap:22px;
  max-width:640px;margin:auto auto 0;
  padding:110px clamp(20px,6vw,64px) clamp(56px,10vh,96px);
  width:100%;
}
.sh-head{
  margin:0;font:400 clamp(2.1rem,5.4vw,3.6rem)/1.12 var(--font-display);
  text-shadow:var(--text-shadow);
}
.sh-sub{margin:0;font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--text-primary);max-width:44ch;text-shadow:var(--text-shadow)}
.static-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(23,16,14,.6) 0%, rgba(23,16,14,.15) 38%, rgba(23,16,14,.88) 100%);
}

/* ============ STATIC-HERO GATES (identical strings in main.js) ============ */
@media (orientation:landscape) and (max-height:560px){
  .hero{height:100vh;height:100svh}
  .stage{position:relative;height:100vh;height:100svh}
  .poster,#hero-video,.ring,.scrim-global,.bands,.cue{display:none}
  .static-hero{display:flex;background:url("assets/hero-end.jpg") center/cover no-repeat}
}
/* phones/tablets: hero scrubbing is off. One fixed frame, no video fetch. */
@media (max-width:820px), (pointer:coarse){
  .hero{height:100vh;height:100svh}
  .stage{position:relative;height:100vh;height:100svh}
  .poster,#hero-video,.ring,.scrim-global,.bands,.cue{display:none}
  .static-hero{display:flex;background:url("assets/hero-end.jpg") center/cover no-repeat}
}
@media (prefers-reduced-motion:reduce){
  .hero{height:100vh;height:100svh}
  .stage{position:relative;height:100vh;height:100svh}
  .poster,#hero-video,.ring,.scrim-global,.bands,.cue{display:none}
  .static-hero{display:flex;background:url("assets/hero-end.jpg") center/cover no-repeat}
}

/* ============ Sections shared ============ */
.sec{position:relative;padding:clamp(84px,12vh,140px) 0;isolation:isolate}
.part{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.sec.in .part{opacity:1;transform:none}
.sec.in.done .part{transition-delay:0s !important}
.wrap > .part:nth-child(2){transition-delay:.08s}
.wrap > .part:nth-child(3){transition-delay:.16s}
.wrap > .part:nth-child(4){transition-delay:.24s}
.wrap > .part:nth-child(5){transition-delay:.32s}

.kicker{margin:0 0 14px;position:relative;padding-bottom:12px;width:max-content;max-width:100%}
.kicker-text{
  font:500 .8rem/1.4 var(--font-mono);letter-spacing:.24em;
  color:var(--accent);text-transform:uppercase;
  text-shadow:0 0 16px rgba(255,74,68,.5);
}
.kicker::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .9s var(--ease) .15s;
}
.sec.in .kicker::after{transform:scaleX(1)}
.title{
  margin:0 0 18px;max-width:22ch;
  font:400 clamp(1.9rem,4.4vw,3.15rem)/1.12 var(--font-display);
  text-shadow:0 0 46px rgba(255,74,68,.2);
}
.lede{margin:0 0 14px;color:var(--text-secondary);max-width:52ch;font-size:1.08rem}

/* one living element per section: slow glow, negative delay */
.living{position:relative}
.sec.in .living::after{
  content:"";position:absolute;inset:-2px;pointer-events:none;border-radius:inherit;
  box-shadow:0 0 0 1px rgba(255,74,68,.65), 0 0 44px rgba(255,74,68,.45);
  animation:living-glow 5.2s ease-in-out infinite;animation-delay:-1.6s;
}
@keyframes living-glow{
  0%,100%{opacity:.3}
  50%{opacity:1}
}
body.paused .living::after,
body.paused .cue svg,
body.paused .dust i{animation-play-state:paused !important}

/* dust motes, one fixed environment layer */
.dust{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.dust i{
  position:absolute;display:block;border-radius:50%;
  background:rgba(255,74,68,.55);box-shadow:0 0 10px rgba(255,74,68,.6);
  opacity:.55;
  animation:dust-drift 70s linear infinite;
}
.dust i:nth-child(1){left:8%;width:5px;height:5px;animation-delay:-6s}
.dust i:nth-child(2){left:22%;width:3px;height:3px;animation-delay:-19s}
.dust i:nth-child(3){left:37%;width:6px;height:6px;animation-delay:-33s}
.dust i:nth-child(4){left:54%;width:4px;height:4px;animation-delay:-41s}
.dust i:nth-child(5){left:68%;width:5px;height:5px;animation-delay:-52s}
.dust i:nth-child(6){left:81%;width:3px;height:3px;animation-delay:-61s}
.dust i:nth-child(7){left:93%;width:6px;height:6px;animation-delay:-12s}
@keyframes dust-drift{
  0%{transform:translate3d(0,110vh,0)}
  100%{transform:translate3d(6vw,-10vh,0)}
}
main,.site-foot{position:relative;z-index:1}

/* threshold line divider: two halves part like the doors */
.divider{
  position:relative;height:110px;max-width:1120px;
  margin:0 auto;padding:0 clamp(18px,4vw,32px);
}
.dv-line{
  position:absolute;top:50%;height:56px;width:2px;
  background:var(--accent);left:50%;
  transform:translateX(calc(-50% + var(--p,0) * -30vw));
  opacity:1;
  box-shadow:0 0 14px rgba(255,74,68,.8);
}
.dv-r{transform:translateX(calc(-50% + var(--p,0) * 30vw))}
.divider::after{
  content:"";position:absolute;left:clamp(18px,4vw,32px);right:clamp(18px,4vw,32px);
  top:50%;height:1px;background:rgba(255,74,68,.5);
  transform:scaleX(var(--p,0));transform-origin:center;
}

/* ============ Section A: promise ============ */
.sec-a{background:
  radial-gradient(72% 52% at 50% 0%, rgba(255,74,68,.1), transparent 72%),
  linear-gradient(180deg, var(--canvas) 0%, var(--panel) 55%, var(--canvas) 100%)}
.cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  margin-top:34px;
}
.card{
  background:linear-gradient(160deg, rgba(255,74,68,.07), rgba(33,22,20,0) 48%), var(--panel);
  border:1px solid rgba(122,17,16,.7);
  border-radius:10px;padding:26px 22px;
  transition:opacity .7s var(--ease),transform .7s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease);
}
.card.lit{
  border-color:var(--accent);
  box-shadow:0 0 0 1px rgba(255,74,68,.4), 0 0 36px rgba(255,74,68,.2);
}
.card-t{margin:0 0 10px;font:400 1.32rem/1.25 var(--font-display)}
.card-b{margin:0;color:var(--text-secondary);font-size:.99rem}
.cards .part:nth-child(1){transition-delay:.2s}
.cards .part:nth-child(2){transition-delay:.3s}
.cards .part:nth-child(3){transition-delay:.4s}
@media (max-width:720px){
  .cards{grid-template-columns:1fr;gap:14px;margin-top:26px}
  .card{padding:22px 20px}
  .hold{margin-top:34px}
}

.hold{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:44px}
.seal{
  position:relative;width:96px;height:96px;border-radius:50%;
  background:var(--panel);border:2px solid var(--accent-muted);
  cursor:pointer;color:var(--text-primary);
  display:grid;place-items:center;padding:0;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
  touch-action:none;user-select:none;-webkit-user-select:none;
}
.seal:hover{border-color:var(--accent);box-shadow:0 0 22px rgba(255,74,68,.4)}
.seal.holding{border-color:var(--accent);box-shadow:0 0 26px rgba(255,74,68,.4)}
.seal.done{border-color:var(--accent);background:rgba(255,74,68,.14);cursor:default}
.seal-ring{position:absolute;inset:4px}
.seal-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.seal-track{fill:none;stroke:rgba(122,17,16,.8);stroke-width:4}
.seal-fill{
  fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;
  stroke-dasharray:251.33;stroke-dashoffset:calc(251.33 * (1 - var(--hp,0)));
}
.seal-label{font:500 .8rem/1 var(--font-mono);letter-spacing:.18em;text-transform:uppercase}
.hold-hint{margin:0;color:var(--text-secondary);font-size:.94rem;max-width:40ch;text-align:center}
.hold-hint.done{color:var(--text-primary)}

/* ============ Section B: gallery ============ */
.sec-b{background:var(--canvas)}
.gallery{
  display:grid;grid-template-columns:1.35fr .9fr;gap:clamp(16px,3vw,30px);
  margin-top:46px;align-items:start;
}
.gallery figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,74,68,.35)}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.g-wide{aspect-ratio:16/10}
.g-close{aspect-ratio:1/1;margin-top:clamp(20px,5vw,64px)!important}
.gallery .part:nth-child(1){transition-delay:.18s}
.gallery .part:nth-child(2){transition-delay:.34s}
.sec.in .g-wide img{animation:slow-breathe 9s ease-in-out infinite;animation-delay:-3s}
@keyframes slow-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
body.paused .g-wide img{animation-play-state:paused}

/* ============ Section B2: available now ============ */
.sec-inv{background:var(--panel)}
.cars{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  margin-top:34px;
}
.car{
  padding:0;overflow:hidden;
  display:flex;flex-direction:column;
}
.car-photo{
  aspect-ratio:16/10;overflow:hidden;
  background:var(--canvas);
  border-bottom:1px solid rgba(122,17,16,.7);
}
.car-photo img{width:100%;height:100%;object-fit:cover;display:block}
.car-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.car-brand{
  margin:0 0 8px;font:500 .74rem/1.4 var(--font-mono);
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent);
}
.car .card-t{margin:0 0 6px}
.car .card-b{margin:0}
.car-bio{margin:10px 0 0;flex:1;color:var(--text-secondary);font-size:.95rem}
.car-price{
  margin:16px 0 0;padding-top:14px;
  border-top:1px solid rgba(122,17,16,.7);
  font:400 1.32rem/1.2 var(--font-display);
}
.car-note{margin-top:26px}
.cars .part:nth-child(1){transition-delay:.2s}
.cars .part:nth-child(2){transition-delay:.3s}
.cars .part:nth-child(3){transition-delay:.4s}
@media (max-width:640px){
  .cars{grid-template-columns:1fr}
}

/* ============ Section C: the rule ============ */
.sec-c{padding:0;min-height:74vh;display:flex;align-items:center}
.c-bg{
  position:absolute;inset:0;z-index:-1;
  background:url("assets/hero-end.jpg") center/cover no-repeat;
}
.sec-c::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(0deg, rgba(122,17,16,.22), rgba(122,17,16,.22)),
    linear-gradient(90deg, rgba(23,16,14,.9) 0%, rgba(23,16,14,.8) 42%, rgba(23,16,14,.28) 100%);
}
.c-wrap{position:relative;z-index:1;width:100%}
.c-col{position:relative;max-width:560px;padding:clamp(84px,12vh,140px) 0}
.c-glow{
  position:absolute;left:-18px;top:clamp(84px,12vh,140px);bottom:clamp(84px,12vh,140px);
  width:3px;background:var(--accent);border-radius:2px;
  box-shadow:0 0 16px rgba(255,74,68,.8);
}
.c-col .title{max-width:18ch}

/* ============ Section D: FAQ ============ */
.sec-d{background:var(--panel)}
.faq{margin-top:34px;border-top:1px solid rgba(255,74,68,.32)}
.faq-item{
  border-bottom:1px solid rgba(255,74,68,.32);
  transition-delay:.1s;
}
.faq-item:nth-child(2){transition-delay:.18s}
.faq-item:nth-child(3){transition-delay:.26s}
.faq-item:nth-child(4){transition-delay:.34s}
.faq-item summary{
  cursor:pointer;list-style:none;
  padding:22px 44px 22px 0;position:relative;
  font:700 1.12rem/1.4 var(--font-body);
  min-height:44px;display:flex;align-items:center;
  transition:color .25s var(--ease);
}
.faq-item summary:hover{color:var(--accent-hover)}
.faq-item[open] summary{color:var(--accent-hover)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"";position:absolute;right:6px;top:50%;
  width:14px;height:14px;margin-top:-7px;
  border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);
  transform:rotate(45deg);transition:transform .3s var(--ease);
}
.faq-item[open] summary::after{transform:rotate(225deg)}
.faq-item p{
  margin:0 0 22px;color:var(--text-secondary);max-width:60ch;
  padding-right:44px;
}
.faq-item.living::after{inset:0;box-shadow:inset 0 0 0 1px rgba(255,74,68,.25), 0 0 30px rgba(255,74,68,.22)}

/* ============ Section E: visit ============ */
.sec-e{background:linear-gradient(180deg, var(--canvas) 0%, var(--panel) 100%)}
.e-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,5vw,64px);
  align-items:start;
}
.e-still{margin:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,74,68,.35);aspect-ratio:4/3;transition-delay:.3s}
.e-still img{width:100%;height:100%;object-fit:cover}
.visit-form{display:flex;flex-direction:column;gap:18px;margin-top:26px;max-width:46ch}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font:500 .86rem/1 var(--font-mono);letter-spacing:.14em;color:var(--text-secondary);text-transform:uppercase}
.field input{
  min-height:52px;padding:14px 16px;
  background:var(--canvas);color:var(--text-primary);
  border:1px solid rgba(255,74,68,.4);border-radius:6px;
  font:400 1.02rem/1.4 var(--font-body);
}
.field input::placeholder{color:var(--text-secondary);opacity:.8}
.field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(255,74,68,.35)}
.btn-submit{width:100%;margin-top:6px}
.form-note{margin:0;color:var(--text-secondary);font-size:.86rem;max-width:44ch}
.success{margin-top:26px;max-width:46ch;background:rgba(255,74,68,.1);border:1px solid var(--accent);border-radius:10px;padding:24px}
.success-t{margin:0 0 8px;font:400 1.3rem/1.3 var(--font-display)}
.success-b{margin:0;color:var(--text-secondary);font-size:.96rem}
.success-b a{color:var(--text-primary)}

/* ============ Footer ============ */
.site-foot{
  background:var(--canvas);border-top:1px solid rgba(255,74,68,.3);
  padding:clamp(44px,7vh,72px) 0 34px;
}
.foot-grid{display:grid;gap:26px}
.foot-brand{display:flex;align-items:center;gap:14px}
.foot-brand img{border-radius:8px}
.foot-name{margin:0;font:400 1.1rem/1.3 var(--font-display)}
.foot-hours{margin:3px 0 0;color:var(--text-secondary);font-size:.95rem}
.foot-nav,.foot-social{display:flex;flex-wrap:wrap;gap:8px 22px}
.foot-nav a,.foot-social a{
  color:var(--text-secondary);text-decoration:none;font-size:.96rem;
  min-height:44px;display:inline-flex;align-items:center;
}
.foot-nav a:hover,.foot-social a:hover{color:var(--accent-hover)}
.foot-social a{border-bottom:1px solid rgba(255,74,68,.55);padding-bottom:2px;align-self:center;min-height:0;padding-top:8px}
.foot-copy{margin:6px 0 0;color:var(--text-secondary);font-size:.86rem}

/* ============ Quality floor ============ */
@media (pointer:coarse){
  .site-nav a,.foot-nav a,.faq-item summary{min-height:44px}
}

/* ============ Reduced motion, both directions ============ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001s!important;animation-iteration-count:1!important;
    transition-duration:.001s!important;
  }
  .part{opacity:1!important;transform:none!important}
  .kicker::after{transform:scaleX(1)!important}
  .dust{display:none}
  .living::after{opacity:.5!important;animation:none!important}
  .g-wide img{animation:none!important}
  .card{border-color:var(--accent)}
  .dv-line{transform:translateX(calc(-50% + var(--dp,1) * -30vw))!important}
  .dv-r{transform:translateX(calc(-50% + var(--dp,1) * 30vw))!important}
  .divider::after{transform:scaleX(1)!important}
}
