/* Layout: the hero truck sits on a two-post lift; scrolling raises it, x-rays the body and walks system by system, with a tach as the progress gauge. */
:root{
  --bg:#E8ECF0; --bg2:#DCE2E9; --card:#F7F9FB; --ink:#121C27; --ink2:#4A5563; --line:#C3CBD5;
  --jade:#22609E; --jade-ink:#1C5590; --jade-soft:#D5E3F1; --brand:#2F72B4; --amber:#E9A400; --amber-soft:#FBEBC2; --amber-ink:#6A4A00;
  --red:#C3311F; --ok:#1C7A4B; --warn:#8F6200; --bad:#B42318;
  --paint:#1E3B5C; --paint2:#2B5079; --paint-sedan:#A3262A; --paint-sedan2:#BC3A3B; --paint-suv:#2E5A3B; --paint-suv2:#3E7150; --glass:#A9BED3; --tire:#1A1F25; --rim:#9AA4AE; --steel:#5A6572; --floor:#CDD4DC;
  --todo-bg:#FFF2A8; --todo-ink:#4A3B00;
  --f-display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --f-body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Martian Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --gut:clamp(16px,4vw,48px); --max:1240px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0E131A; --bg2:#141B24; --card:#19222D; --ink:#E4EAF1; --ink2:#9DA9B7; --line:#2B3645;
  --jade:#6FA8DC; --jade-ink:#8DBCE6; --jade-soft:#1B2E43; --brand:#7DB4E6; --amber:#F2B630; --amber-soft:#3A2F12; --amber-ink:#F2C14E;
  --red:#FF6B57; --ok:#5CC98A; --warn:#E8B84A; --bad:#FF7A6B;
  --paint:#284B72; --paint2:#35608D; --paint-sedan:#B3383A; --paint-sedan2:#C94C4B; --paint-suv:#3A6D49; --paint-suv2:#4C835B; --glass:#4C6178; --tire:#07090C; --rim:#7C8794; --steel:#465260; --floor:#1A2330;
  --todo-bg:#4A3F0A; --todo-ink:#FFE88A; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E131A; --bg2:#141B24; --card:#19222D; --ink:#E4EAF1; --ink2:#9DA9B7; --line:#2B3645;
  --jade:#6FA8DC; --jade-ink:#8DBCE6; --jade-soft:#1B2E43; --brand:#7DB4E6; --amber:#F2B630; --amber-soft:#3A2F12; --amber-ink:#F2C14E;
  --red:#FF6B57; --ok:#5CC98A; --warn:#E8B84A; --bad:#FF7A6B;
  --paint:#284B72; --paint2:#35608D; --paint-sedan:#B3383A; --paint-sedan2:#C94C4B; --paint-suv:#3A6D49; --paint-suv2:#4C835B; --glass:#4C6178; --tire:#07090C; --rim:#7C8794; --steel:#465260; --floor:#1A2330;
  --todo-bg:#4A3F0A; --todo-ink:#FFE88A; color-scheme:dark}

*{box-sizing:border-box}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;margin:0;overflow-x:clip}
a{color:var(--jade-ink)}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--f-display);font-weight:800;line-height:.95;letter-spacing:.005em;text-wrap:balance;margin:0;text-transform:uppercase}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.eyebrow{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.btn{display:inline-flex;align-items:center;gap:.5em;font:600 .95rem/1 var(--f-body);padding:.85em 1.25em;border-radius:6px;border:2px solid var(--jade);background:var(--jade);color:var(--bg);text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--jade-ink)}
.todo{display:inline-block;background:var(--todo-bg);color:var(--todo-ink);font:500 .72rem/1.4 var(--f-mono);padding:.25em .55em;border-radius:3px;margin:.25em 0}
.hide-todo .todo{display:none!important}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;height:64px}
.brand .logo{height:52px;width:auto;display:block;fill:var(--brand)}
.brand.foot .logo{height:86px}
.brand .logo .tg{fill:var(--ink)}
.rig .xr-fade{opacity:calc(1 - var(--xr,0))}
.rig .decal{fill:var(--bg);opacity:calc(.55 - var(--xr,0) * .55)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}



.nav{display:flex;gap:22px;margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem}
.nav a:hover{color:var(--jade-ink)}
.tel{font:500 .8rem var(--f-mono);color:var(--ink);white-space:nowrap}
.theme-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none}
.theme-btn:hover{border-color:var(--jade)}
.theme-btn .sun{display:none}
.is-dark .theme-btn .sun{display:block}.is-dark .theme-btn .moon{display:none}
.menu-btn{display:none;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.drop{position:absolute;right:var(--gut);top:64px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;min-width:220px;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.drop[hidden]{display:none}
.drop a{padding:12px 14px;color:var(--ink);text-decoration:none;font-weight:600;border-radius:6px}
.drop a:hover{background:var(--bg2)}
@media (max-width:1020px){.nav{display:none}.menu-btn{display:inline-flex}.tel{margin-left:auto}}
@media (max-width:620px){.tel{display:none}.top .btn{margin-left:auto;padding:.7em 1em}.brand .logo{height:40px}}
@media (max-width:460px){.top .wrap{gap:10px}.brand .logo{height:34px}.top .btn{font-size:.85rem;padding:.65em .8em}.top .btn .long{display:none}}
.stage{overflow-x:clip;overflow-clip-margin:24px}

/* ---------- tour ---------- */
.tour{height:calc(100svh + 600vh);position:relative;overflow:clip}
.pin{position:sticky;top:calc(64px + env(safe-area-inset-top,0px));height:calc(100svh - 64px - env(safe-area-inset-top,0px));display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(16px,3vw,48px);align-items:center;max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.copy{position:relative;min-height:340px;display:grid;align-items:center}
.copy>*{grid-area:1/1}
.hero-copy{transition:opacity .35s,transform .35s}
.hero-copy h1{margin-top:12px;font-size:clamp(3.2rem,7.4vw,6.6rem);font-weight:900}
.hero-copy h1 em{font-style:normal;color:var(--jade-ink)}
.hero-copy .lede{font-size:1.08rem;max-width:34ch;color:var(--ink2);margin-top:18px}
.hero-copy .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-copy .scrollhint{margin-top:26px;display:flex;align-items:center;gap:10px}
.hero-copy .scrollhint i{width:1px;height:28px;background:var(--ink2);display:block;animation:hint 1.8s ease-in-out infinite;transform-origin:top}
@keyframes hint{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}
.station{opacity:0;transform:translateY(14px);transition:opacity .35s,transform .35s;pointer-events:none}
.station.on{opacity:1;transform:none;pointer-events:auto}
.station .eyebrow{color:var(--amber-ink)}
.station h2{font-size:clamp(2.4rem,5vw,4.4rem);margin:10px 0 14px}
.station p{max-width:40ch;color:var(--ink2);font-size:1.05rem}
.station ul{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.station li{font:500 .72rem var(--f-mono);border:1px solid var(--line);border-radius:999px;padding:.35em .8em;color:var(--ink)}
.station .more{display:inline-block;margin-top:18px;font-weight:600}
.tour.past-hero .hero-copy{opacity:0;transform:translateY(-14px);pointer-events:none}

.stage{position:relative;min-width:0}
.stage svg.rig{width:100%;height:auto;display:block;overflow:visible}
.rig .post{fill:var(--steel)}
.rig .stripe{fill:var(--amber)}
.rig .veh[data-v="sedan"] .body-solid{fill:var(--paint-sedan)}
.rig .veh[data-v="sedan"] .trim{fill:var(--paint-sedan2)}
.rig .veh[data-v="suv"] .body-solid{fill:var(--paint-suv)}
.rig .veh[data-v="suv"] .trim{fill:var(--paint-suv2)}
/* easter eggs: hold the tach centre and the vehicle transforms (pickup: robot, sedan: supercar, SUV: dragon) */
.rig .form{display:none;pointer-events:none}
.rig[data-veh="pickup"] .form-robot,.rig[data-veh="sedan"] .form-super,.rig[data-veh="suv"] .form-dragon{display:inline}
.rig.morph .form{pointer-events:auto;cursor:pointer}
.rig .rb{opacity:0;transform-box:fill-box;transform-origin:center;transition:transform .8s cubic-bezier(.55,0,.2,1),opacity .35s}
.rig .rb-leg.l{transform:translate(-222px,-55px) rotate(90deg) scale(0.6)}
.rig .rb-leg.r{transform:translate(-198px,-55px) rotate(-90deg) scale(0.6)}
.rig .rb-knee.l{transform:translate(-202px,22px) rotate(0deg) scale(2.2)}
.rig .rb-knee.r{transform:translate(192px,22px) rotate(0deg) scale(2.2)}
.rig .rb-foot.l{transform:translate(-291px,-80px) rotate(0deg) scale(0.7)}
.rig .rb-foot.r{transform:translate(301px,-80px) rotate(0deg) scale(0.7)}
.rig .rb-pelvis{transform:translate(0px,58px) rotate(0deg) scale(1.4)}
.rig .rb-torso{transform:translate(270px,63px) rotate(0deg) scale(0.8)}
.rig .rb-grille{transform:translate(358px,50px) rotate(90deg) scale(0.4)}
.rig .rb-emblem{transform:translate(-14px,98px) rotate(0deg) scale(1)}
.rig .rb-lamp.l{transform:translate(419px,107px) rotate(0deg) scale(1)}
.rig .rb-lamp.r{transform:translate(293px,107px) rotate(0deg) scale(1)}
.rig .rb-arm.l{transform:translate(-157px,40px) rotate(90deg) scale(1.2)}
.rig .rb-arm.r{transform:translate(-233px,40px) rotate(-90deg) scale(1.2)}
.rig .rb-fist.l{transform:translate(-237px,33px) rotate(0deg) scale(0.6)}
.rig .rb-fist.r{transform:translate(247px,30px) rotate(0deg) scale(0.6)}
.rig .rb-shoulder.l{transform:translate(-109px,99px) rotate(0deg) scale(1.6)}
.rig .rb-shoulder.r{transform:translate(-191px,99px) rotate(0deg) scale(1.6)}
.rig .rb-neck{transform:translate(30px,90px) rotate(0deg) scale(0.5)}
.rig .rb-horn.l{transform:translate(60px,110px) rotate(45deg) scale(0.3)}
.rig .rb-horn.r{transform:translate(40px,110px) rotate(-45deg) scale(0.3)}
.rig .rb-head{transform:translate(20px,89px) rotate(0deg) scale(0.7)}
.rig .rb-visor{transform:translate(90px,93px) rotate(0deg) scale(1.6)}
.rig.morph .rb{opacity:1;transform:none}
.rig.morph .rb-pelvis{transition-delay:0ms}
.rig.morph .rb-leg.l{transition-delay:45ms}
.rig.morph .rb-leg.r{transition-delay:90ms}
.rig.morph .rb-knee.l{transition-delay:135ms}
.rig.morph .rb-knee.r{transition-delay:180ms}
.rig.morph .rb-foot.l{transition-delay:225ms}
.rig.morph .rb-foot.r{transition-delay:270ms}
.rig.morph .rb-torso{transition-delay:315ms}
.rig.morph .rb-grille{transition-delay:360ms}
.rig.morph .rb-emblem{transition-delay:405ms}
.rig.morph .rb-lamp.l{transition-delay:450ms}
.rig.morph .rb-lamp.r{transition-delay:495ms}
.rig.morph .rb-arm.l{transition-delay:540ms}
.rig.morph .rb-arm.r{transition-delay:585ms}
.rig.morph .rb-fist.l{transition-delay:630ms}
.rig.morph .rb-fist.r{transition-delay:675ms}
.rig.morph .rb-shoulder.l{transition-delay:720ms}
.rig.morph .rb-shoulder.r{transition-delay:765ms}
.rig.morph .rb-neck{transition-delay:810ms}
.rig.morph .rb-head{transition-delay:855ms}
.rig.morph .rb-horn.l{transition-delay:900ms}
.rig.morph .rb-horn.r{transition-delay:945ms}
.rig.morph .rb-visor{transition-delay:990ms}
.rig .rb-leg,.rig .rb-shoulder,.rig .rb-head,.rig .rb-horn{fill:var(--paint2)}
.rig .rb-torso,.rig .rb-arm{fill:var(--paint)}
.rig .rb-foot,.rig .rb-pelvis,.rig .rb-fist,.rig .rb-neck{fill:var(--steel)}
.rig .rb-grille rect{fill:var(--steel)}
.rig .rb-grille path{stroke:var(--bg);stroke-opacity:.35;stroke-width:3}
.rig .rb-emblem,.rig .rb-lamp,.rig .rb-visor{fill:var(--amber)}
.rig.morph .rb-visor{animation:visor 1.4s ease-in-out .9s infinite alternate}
@keyframes visor{from{opacity:.55}to{opacity:1}}
.rig.morph .robot-bob{animation:bob 2.6s ease-in-out 1.2s infinite}
@keyframes bob{0%,100%{transform:none}50%{transform:translateY(-4px)}}
.rig.morph .vehicles{opacity:0;transform:scale(.94);pointer-events:none;transition-duration:.5s}
.rig.morph .sys,.rig.morph .ping{display:none}
.rig .wheel{transform-box:fill-box;transform-origin:center;transition:transform .7s cubic-bezier(.55,0,.2,1),opacity .4s}
/*FORMS_CSS*/
.rig.morph .form .rb{opacity:1;transform:none}
.rig .robot-grow{transform-origin:510px 498px;transition:transform .9s cubic-bezier(.55,0,.2,1)}
.rig.morph .robot-grow{transform:scale(1.22);transition-delay:.25s}
.rig.morph[data-veh="pickup"] .wheel,.rig.morph[data-veh="suv"] .wheel{opacity:0}
.rig.morph[data-veh="pickup"] .wl{transform:translate(193.6px,-39.6px) scale(0.549)}
.rig.morph[data-veh="pickup"] .wr{transform:translate(-183.6px,-39.6px) scale(0.549)}
.rig.morph[data-veh="suv"] .wl{transform:translate(82px,-68px) scale(.52)}
.rig.morph[data-veh="suv"] .wr{transform:translate(-126px,-68px) scale(.52)}
.rig .wheel .rim{transform-box:fill-box;transform-origin:center;transition:transform .7s cubic-bezier(.3,1.5,.5,1)}
.rig.morph[data-veh="sedan"] .wheel .rim{transform:scale(1.32);transition-delay:.5s}
.rig.morph[data-veh="sedan"] .wheel .hub{fill:var(--amber)}
/* supercar colours */
.rig .sc-body{fill:var(--paint-sedan)}
.rig .sc-glass{fill:var(--glass)}
.rig .sc-intake,.rig .sc-wing,.rig .sc-split,.rig .sc-skirt{fill:var(--tire)}
.rig .sc-strut{fill:var(--steel)}
.rig .sc-head{fill:var(--amber)}
.rig .sc-tail{fill:var(--red)}
.rig .sc-decal{fill:var(--bg);opacity:0}
.rig.morph .form .sc-decal{opacity:.55}
.rig .sc-stripe{fill:none;stroke:var(--amber);stroke-width:5;stroke-linecap:round}
/* dragon colours */
.rig .dg-torso,.rig .dg-neck,.rig .dg-tail,.rig .dg-head,.rig .dg-thigh,.rig .dg-fup{fill:var(--paint-suv)}
.rig .dg-shin,.rig .dg-flo,.rig .dg-jaw{fill:var(--paint-suv2)}
.rig .dg-spikes,.rig .dg-spade,.rig .dg-horn,.rig .dg-foot{fill:var(--steel)}
.rig .dg-memb{fill:var(--glass)}
.rig .dg-bone{fill:none;stroke:var(--steel);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.rig .dg-ribs,.rig .dg-collar{fill:none;stroke:var(--bg);stroke-opacity:.35;stroke-width:3}
.rig .dg-decal{fill:var(--bg);opacity:0}.rig.morph .form .dg-decal{opacity:.55}
.rig .dg-eye{fill:var(--amber)}
.rig .dg-fire .fo{fill:var(--red)}.rig .dg-fire .fi{fill:var(--amber)}
.rig .dg-fire{opacity:0;transform-box:fill-box;transform-origin:0% 50%}
.rig .dg-wing{transform-origin:500px 290px}
.rig .dg-jawg{transform-origin:800px 214px}
.rig.morph .dg-bob{animation:bob 3s ease-in-out 1.6s infinite}
.rig.morph .dg-wing{animation:flap 3s ease-in-out 1.6s infinite}
.rig.morph .dg-jawg{animation:jaw 4.5s ease-in-out 2s infinite}
.rig.morph .dg-fire{animation:fire 4.5s ease-in-out 2s infinite}
.rig.morph .dg-eye{animation:visor 1.2s ease-in-out 1.4s infinite alternate}
@keyframes flap{0%,100%{transform:none}50%{transform:rotate(-7deg)}}
@keyframes jaw{0%,55%,92%,100%{transform:none}62%,84%{transform:rotate(14deg)}}
@keyframes fire{0%,58%,94%,100%{opacity:0;transform:scale(0)}66%{opacity:1;transform:scale(1.1)}74%{opacity:.85;transform:scale(.9)}82%{opacity:1;transform:scale(1.05)}}
.rig .sc-body{transform:translate(-6.0px,-21.0px) scale(0.958,1.144)}
.rig.morph .sc-body{transition-delay:0ms}
.rig .sc-glass{transform:translate(-26.0px,-25.0px) scale(1.056,1.150)}
.rig.morph .sc-glass{transition-delay:55ms}
.rig .sc-decal{transform:translate(-22.0px,-17.1px) scale(1.192,1.217)}
.rig.morph .sc-decal{transition-delay:110ms}
.rig .sc-head{transform:translate(24.0px,-31.5px) scale(0.250,0.522)}
.rig.morph .sc-head{transition-delay:165ms}
.rig .sc-tail{transform:translate(-4.5px,-18.0px) scale(0.194,1.286)}
.rig.morph .sc-tail{transition-delay:220ms}
.rig .sc-skirt{transform:scale(1,0)}
.rig.morph .sc-skirt{transition-delay:275ms}
.rig .sc-intake{transform:scale(.08,1)}
.rig.morph .sc-intake{transition-delay:330ms}
.rig .sc-stripe{transform:scale(.02,1)}
.rig.morph .sc-stripe{transition-delay:385ms}
.rig .sc-split{transform:translate(-40px,0) scale(.2,1)}
.rig.morph .sc-split{transition-delay:440ms}
.rig .sc-strut.l{transform:translate(0,24px) scale(1,0)}
.rig.morph .sc-strut.l{transition-delay:495ms}
.rig .sc-strut.r{transform:translate(0,24px) scale(1,0)}
.rig.morph .sc-strut.r{transition-delay:550ms}
.rig .sc-wing{transform:translate(19.0px,19.1px) scale(0.769,0.247)}
.rig.morph .sc-wing{transition-delay:605ms}
.rig .dg-torso{transform:translate(-2.0px,20.0px) scale(1.099,1.140)}
.rig.morph .dg-torso{transition-delay:0ms}
.rig .dg-thigh{transform:translate(-109.0px,-45.0px) scale(1.429,0.875)}
.rig.morph .dg-thigh{transition-delay:40ms}
.rig .dg-shin{transform:translate(-102.0px,-52.0px) scale(1.471,0.556)}
.rig.morph .dg-shin{transition-delay:80ms}
.rig .dg-foot.b{transform:translate(-205.0px,-81.0px) scale(0.605,0.444)}
.rig.morph .dg-foot.b{transition-delay:120ms}
.rig .dg-joint.b{transform:translate(-82.0px,68.0px) scale(1.933,1.933)}
.rig.morph .dg-joint.b{transition-delay:160ms}
.rig .dg-fup{transform:translate(131.0px,-44.0px) scale(2.115,0.946)}
.rig.morph .dg-fup{transition-delay:200ms}
.rig .dg-flo{transform:translate(130.0px,-53.0px) scale(2.500,0.682)}
.rig.morph .dg-flo{transition-delay:240ms}
.rig .dg-foot.f{transform:translate(225.0px,-84.0px) scale(0.553,0.556)}
.rig.morph .dg-foot.f{transition-delay:280ms}
.rig .dg-joint.f{transform:translate(126.0px,68.0px) scale(1.933,1.933)}
.rig.morph .dg-joint.f{transition-delay:320ms}
.rig .dg-tail{transform:translate(-57.0px,0.9px) rotate(90deg) scale(1.011,0.576)}
.rig.morph .dg-tail{transition-delay:360ms}
.rig .dg-spade{transform:translate(20.5px,-51.0px) scale(0.152,1.333)}
.rig.morph .dg-spade{transition-delay:400ms}
.rig .dg-spikes{transform:translate(-81.0px,-56.5px) scale(1.707,0.256)}
.rig.morph .dg-spikes{transition-delay:440ms}
.rig .dg-ribs{transform:translate(-95.0px,-24.0px) scale(1.067,5.167)}
.rig.morph .dg-ribs{transition-delay:480ms}
.rig .dg-decal{transform:translate(-118.0px,16.9px) scale(1.192,1.217)}
.rig.morph .dg-decal{transition-delay:520ms}
.rig .dg-neck{transform:translate(73.0px,91.0px) scale(1.439,0.667)}
.rig.morph .dg-neck{transition-delay:560ms}
.rig .dg-collar{transform:translate(74.0px,40.0px) scale(1.346,0.082)}
.rig.morph .dg-collar{transition-delay:600ms}
.rig .dg-head{transform:translate(28.0px,168.0px) scale(0.636,1.250)}
.rig.morph .dg-head{transition-delay:640ms}
.rig .dg-jaw{transform:translate(40.0px,192.0px) scale(0.551,1.364)}
.rig.morph .dg-jaw{transition-delay:680ms}
.rig .dg-eye{transform:translate(52.0px,147.0px) scale(0.667,1.200)}
.rig.morph .dg-eye{transition-delay:720ms}
.rig .dg-horn.a{transform:translate(-87.0px,135.0px) scale(0.318,0.357)}
.rig.morph .dg-horn.a{transition-delay:760ms}
.rig .dg-horn.b{transform:translate(-137.0px,153.0px) scale(0.350,0.250)}
.rig.morph .dg-horn.b{transition-delay:800ms}
.rig .dg-memb.c{transform:translate(138.0px,73.0px) scale(0.960,0.337)}
.rig.morph .dg-memb.c{transition-delay:840ms}
.rig .dg-memb.b{transform:translate(-33.0px,100.0px) scale(0.871,0.471)}
.rig.morph .dg-memb.b{transition-delay:880ms}
.rig .dg-memb.a{transform:translate(-184.0px,138.0px) scale(0.684,1.067)}
.rig.morph .dg-memb.a{transition-delay:920ms}
.rig .dg-bone{transform:translate(-21.0px,19.0px) scale(1.980,0.042)}
.rig.morph .dg-bone{transition-delay:960ms}
/*END_FORMS_CSS*/
.tach{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.tach .egg-hit{fill:transparent;touch-action:none}
.tach .hold-ring{fill:none;stroke:var(--amber);stroke-width:4;stroke-linecap:round;stroke-dasharray:339.3;stroke-dashoffset:339.3;transform:rotate(-90deg);transform-origin:60px 60px;opacity:.9}
.tach.rev .hold-ring{stroke-dashoffset:0;transition:stroke-dashoffset 3s linear}
.tach.rev .needle{transform:rotate(118deg);transition:transform 3s cubic-bezier(.2,.7,.3,1)}
.tach.settle .needle{transition:transform .4s ease-out}
.egg-note{font:500 .7rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--amber-ink);flex-basis:100%;margin:0}
@media (prefers-reduced-motion:reduce){.rig .rb,.rig.morph .vehicles,.rig .wheel,.rig .robot-grow{transition:none}.rig.morph .robot-bob,.rig.morph .rb-visor,.rig.morph .dg-bob,.rig.morph .dg-wing,.rig.morph .dg-jawg,.rig.morph .dg-fire,.rig.morph .dg-eye,.rig.morph .sc-stripe{animation:none}}
.rig .veh{display:none}
.rig[data-veh="pickup"] .veh[data-v="pickup"],.rig[data-veh="sedan"] .veh[data-v="sedan"],.rig[data-veh="suv"] .veh[data-v="suv"]{display:inline}
.rig .vehicles{cursor:pointer;transition:opacity .22s,transform .22s}
.rig.swapping .vehicles{opacity:0;transform:translateX(24px)}
.swap{display:inline-flex;align-items:center;gap:8px;font:500 .7rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:.55em .8em;border-radius:5px;border:1px dashed var(--line);background:transparent;color:var(--ink2);cursor:pointer;flex:none}
.swap b{color:var(--ink);font-weight:600}
.swap i{font-style:normal;font-size:.95rem;color:var(--jade-ink)}
.swap:hover{border-color:var(--jade);color:var(--ink)}
.rig .post-far{opacity:.55}
.rig .runway{fill:var(--steel)}
.rig .runway-far{fill:var(--steel);opacity:.6}
.rig .tread{fill:none;stroke:var(--bg);stroke-opacity:.28;stroke-width:3}
.rig .xbeam{fill:var(--amber)}
.rig .xbeam-back{fill:var(--amber);opacity:.55}
.rig .ladder{fill:var(--bg);opacity:.35}
.rig .lock{fill:var(--ink);opacity:.5}
.rig .ramp{fill:var(--steel);transform:rotate(calc(-12deg + var(--lift,0) * 72deg))}
.rig .floor{fill:var(--floor)}
.rig .floorline{stroke:var(--line);stroke-width:2}
.rig .lifted{transform:translateY(calc(var(--lift,0) * -118px));}
.rig .body-solid{fill:var(--paint);opacity:calc(1 - var(--xr,0) * .86)}
.rig .body-line{fill:none;stroke:var(--jade);stroke-width:2;stroke-dasharray:6 5;opacity:var(--xr,0)}
.rig .trim{fill:var(--paint2);opacity:calc(1 - var(--xr,0) * .86)}
.rig .glass{fill:var(--glass);opacity:calc(1 - var(--xr,0) * .75)}
.rig .detail{fill:none;stroke:var(--bg);stroke-opacity:.35;stroke-width:2;opacity:calc(1 - var(--xr,0))}
.rig .tire{fill:var(--tire)}
.rig .rim{fill:var(--rim)}
.rig .hub{fill:var(--steel)}
.rig .sys{fill:none;stroke:var(--jade);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;opacity:calc(var(--xr,0) * .45);transition:stroke .3s,stroke-width .3s,opacity .3s}
.rig .sys .solid{fill:var(--jade);fill-opacity:.18}
.tour[data-st="diag"] #sys-diag,.tour[data-st="brakes"] #sys-brakes,.tour[data-st="susp"] #sys-susp,.tour[data-st="elec"] #sys-elec,.tour[data-st="ac"] #sys-ac,.tour[data-st="maint"] #sys-maint{opacity:1;stroke:var(--amber);stroke-width:4}
.tour[data-st="diag"] #sys-diag .solid,.tour[data-st="brakes"] #sys-brakes .solid,.tour[data-st="susp"] #sys-susp .solid,.tour[data-st="elec"] #sys-elec .solid,.tour[data-st="ac"] #sys-ac .solid,.tour[data-st="maint"] #sys-maint .solid{fill:var(--amber);fill-opacity:.3}
.rig .ping{fill:none;stroke:var(--amber);stroke-width:3;opacity:0}
.tour[data-st] .rig .ping{opacity:1}
.rig .ping circle{transform-box:fill-box;transform-origin:center;animation:ping 1.6s ease-out infinite}
@keyframes ping{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.6);opacity:0}}
.rig .ping{transition:transform .45s cubic-bezier(.3,.7,.2,1)}
.rig .tag{font:500 13px var(--f-mono);fill:var(--ink2);letter-spacing:.08em}

.hud{display:flex;align-items:center;gap:18px;margin-top:8px;flex-wrap:wrap}
.tach{width:120px;height:120px;flex:none}
.tach .face{fill:var(--card);stroke:var(--line);stroke-width:2}
.tach .tick{stroke:var(--ink2);stroke-width:2}
.tach .tick.maj{stroke:var(--ink);stroke-width:3}
.tach .num{font:500 9px var(--f-mono);fill:var(--ink2);text-anchor:middle;dominant-baseline:middle}
.tach .red{fill:none;stroke:var(--red);stroke-width:6}
.tach .needle{stroke:var(--amber);stroke-width:3.5;stroke-linecap:round;transform-origin:60px 60px;transform:rotate(calc(-135deg + var(--p,0) * 255deg))}
.tach .cap{fill:var(--ink)}
.tach .lbl{font:500 7px var(--f-mono);fill:var(--ink2);text-anchor:middle;letter-spacing:.1em}
.tabs{display:flex;flex-wrap:wrap;gap:6px;min-width:0;flex:1}
.tabs button{font:500 .7rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:.55em .8em;border-radius:5px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.tabs button[aria-current="true"]{background:var(--amber);border-color:var(--amber);color:#2A1E00}

@media (max-width:860px){
  .pin{grid-template-columns:1fr;align-content:center;gap:4px}
  .copy{min-height:auto;order:2}
  .stage{order:1}
  .hero-copy h1{font-size:clamp(2.6rem,12vw,4rem)}
  .hero-copy .lede{font-size:.98rem;margin-top:10px}
  .hero-copy .cta{margin-top:16px}
  .hero-copy .scrollhint{display:none}
  .station h2{font-size:clamp(2rem,9vw,3rem);margin:6px 0 8px}
  .station p{font-size:.95rem}
  .station ul{margin-top:10px}
  .tach{width:84px;height:84px}
  .hud{gap:10px}
}
@media (max-width:860px) and (max-height:760px){.station ul,.hud .tabs{display:none}}

/* reduced motion: no pinning, everything listed */
.static .tour{height:auto}
.static .pin{position:relative;top:0;height:auto;padding-block:40px}
.static .copy{display:block}
.static .station{opacity:1;transform:none;pointer-events:auto;padding-top:28px;border-top:1px solid var(--line);margin-top:28px}
.static .hero-copy .scrollhint{display:none}

/* ---------- sections ---------- */
section.band{padding-block:clamp(64px,10vw,120px)}
.sec-head{display:grid;gap:14px;max-width:760px;margin-bottom:clamp(28px,4vw,48px)}
.sec-head h2{font-size:clamp(2.4rem,5.4vw,4.4rem)}
.sec-head p{color:var(--ink2);font-size:1.06rem;max-width:58ch}

/* dash lights */
.lights{background:var(--bg2)}
.dash{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(16px,3vw,40px);align-items:start}
.cluster{background:#0E1311;border-radius:22px;padding:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;box-shadow:inset 0 0 0 2px #26302B,inset 0 18px 40px rgba(0,0,0,.6)}
.lamp{min-width:0;appearance:none;border:0;background:#161D1A;border-radius:12px;aspect-ratio:1;display:grid;place-items:center;cursor:pointer;color:#3A4540;padding:10px;transition:color .25s,background .25s,box-shadow .25s}
.lamp svg{width:100%;max-width:58px;height:auto}
.lamp:hover{color:#5D6A64}
.lamp[aria-pressed="true"].r{color:#FF5A43;background:#24130F;box-shadow:0 0 0 1px #5A2016,0 0 28px rgba(255,90,67,.35)}
.lamp[aria-pressed="true"].a{color:#FFB627;background:#241C0B;box-shadow:0 0 0 1px #5A4310,0 0 28px rgba(255,182,39,.35)}
.lamp.r{} .lamp.a{}
.cluster .legend{grid-column:1/-1;display:flex;justify-content:space-between;font:500 .62rem var(--f-mono);letter-spacing:.12em;color:#7D8A84;text-transform:uppercase;padding-top:4px}
.readout{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,3vw,32px);min-height:100%}
.readout h3{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:8px 0 12px}
.verdict{display:inline-flex;align-items:center;gap:8px;font:600 .78rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:.45em .8em;border-radius:5px}
.verdict.stop{background:var(--bad);color:#fff}
.verdict.soon{background:var(--amber);color:#2A1E00}
.readout p{color:var(--ink2);margin-top:10px;max-width:56ch}
.readout .do{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line);color:var(--ink)}
.obd{margin-top:16px;background:#0E1311;color:#9EE8C6;font:400 .76rem/1.8 var(--f-mono);border-radius:8px;padding:12px 14px;overflow-x:auto;white-space:pre}
.obd span{color:#FFB627}
.readout .readout-cta{margin-top:16px}
.fine{font-size:.82rem;color:var(--ink2);margin-top:18px}
@media (max-width:860px){.dash{grid-template-columns:minmax(0,1fr)}.cluster{padding:14px;gap:8px}.lamp{padding:6px}}

/* makes */
.makes{padding-block:clamp(40px,7vw,90px);overflow:clip;border-block:1px solid var(--line)}
.makes .row{display:flex;gap:.4em;white-space:nowrap;font:900 clamp(3.4rem,10vw,9rem)/.9 var(--f-display);text-transform:uppercase;will-change:transform;transform:translateX(var(--mx,0))}
.makes .row span:nth-child(even){color:transparent;-webkit-text-stroke:2px var(--ink2)}
.makes .row b{color:var(--amber)}
.makes .row.r2{transform:translateX(calc(-30% - var(--mx,0)));margin-top:.1em}
.makes .row.r2 span:nth-child(odd){color:transparent;-webkit-text-stroke:2px var(--ink2)}
.makes .row.r2 span:nth-child(even){color:var(--ink);-webkit-text-stroke:0}

/* inspection */
.insp{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,4vw,60px);align-items:start}
.insp .sec-head{position:sticky;top:110px}
.report{background:var(--card);border:1px solid var(--line);border-radius:6px;position:relative;overflow:hidden;font-variant-numeric:tabular-nums}
.report header{padding:18px 22px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:end}
.report header b{font:800 1.5rem/1 var(--f-display);text-transform:uppercase}
.report .meta{font:400 .7rem var(--f-mono);color:var(--ink2)}
.tally{display:flex;gap:8px;flex-wrap:wrap;padding:12px 22px;border-bottom:1px solid var(--line)}
.chip{font:600 .7rem var(--f-mono);letter-spacing:.04em;text-transform:uppercase;padding:.35em .7em;border-radius:4px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.chip.good{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}
.chip.watch{color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent)}
.chip.fix{color:var(--bad);background:color-mix(in srgb,var(--bad) 13%,transparent)}
.report ol{list-style:none;margin:0;padding:0}
.report li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 22px;border-bottom:1px solid var(--line);position:relative;transition:background .3s}
.report li:last-child{border-bottom:0}
.report li .v{font:400 .78rem var(--f-mono);color:var(--ink2);text-align:right}
.report li.lit{background:color-mix(in srgb,var(--amber) 9%,transparent)}
.report .scan{position:absolute;left:0;right:0;height:3px;background:var(--amber);top:var(--scan,0%);box-shadow:0 0 18px var(--amber);pointer-events:none;opacity:.85}
.report footer{padding:12px 22px;font:400 .68rem var(--f-mono);color:var(--ink2);border-top:2px solid var(--ink)}
@media (max-width:860px){.insp{grid-template-columns:1fr}.insp .sec-head{position:static}.report li{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.report li .v{grid-column:1;text-align:left}.report li .chip{grid-row:1/3;grid-column:2}}

/* reviews */
#reviews{scroll-margin-top:64px}
.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,28px);margin-top:clamp(36px,5vw,56px)}
.reviews .rating{grid-column:1/-1;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px}
.reviews .rating b{font:900 3.2rem/1 var(--f-display)}
.reviews .stars{color:var(--amber);font-size:1.3rem;letter-spacing:.08em}
.reviews .rating span:last-of-type{font:500 .74rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.reviews .rating a{margin-left:auto;font-weight:600}
.reviews figure{margin:0;display:flex;flex-direction:column;gap:14px}
.reviews blockquote{margin:0;font-size:1.04rem;line-height:1.55;color:var(--ink)}
.reviews figcaption{font:500 .74rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);margin-top:auto}
.reviews figcaption::before{content:"— "}
@media (max-width:860px){.reviews{grid-template-columns:1fr}.reviews .rating a{margin-left:0}}
/* promise */
.promise{background:var(--bg2)}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink)}
.pgrid div{padding:22px 22px 6px 0;border-right:1px solid var(--line);padding-left:22px}
.pgrid div:first-child{padding-left:0}
.pgrid div:last-child{border-right:0}
.pgrid b{display:block;font:800 1.6rem/1 var(--f-display);text-transform:uppercase;margin-bottom:10px}
.pgrid p{color:var(--ink2);font-size:.95rem}
@media (max-width:900px){.pgrid{grid-template-columns:1fr 1fr}.pgrid div{padding-left:0!important;border-right:0;border-bottom:1px solid var(--line);padding-bottom:20px}}
@media (max-width:520px){.pgrid{grid-template-columns:1fr}}

/* visit + contact */
.visit .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(20px,4vw,56px);align-items:start}
.addr{font:800 clamp(2.2rem,4.6vw,3.6rem)/.95 var(--f-display);text-transform:uppercase;margin:14px 0 18px}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 18px;align-items:baseline;border-top:1px solid var(--line);padding-top:18px}
.kv dt{font:500 .7rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.copybtn{font:500 .66rem var(--f-mono);text-transform:uppercase;letter-spacing:.08em;margin-left:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:4px;padding:.3em .6em;cursor:pointer;vertical-align:middle}
.visit .links{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.sent{font:500 .8rem var(--f-mono);color:var(--jade-ink)}
.reach{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:clamp(20px,3vw,32px);display:grid;gap:14px;align-content:start}
.reach h3{font-size:2rem}
.reach-lede{color:var(--ink2)}
.reach-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:14px}
.reach-row .k{font:500 .7rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.reach-row a{font:800 clamp(1.4rem,3vw,2rem)/1.1 var(--f-display);color:var(--jade-ink);text-decoration:none;overflow-wrap:anywhere}
.reach-row a:hover{text-decoration:underline}
.reach-row .copybtn{margin-left:0}
.reach-hours{border-top:1px solid var(--line);padding-top:14px;font-weight:600}
@media (max-width:860px){.visit .grid{grid-template-columns:1fr}}
@media (max-width:420px){.reach-row{grid-template-columns:minmax(0,1fr) auto}.reach-row .k{grid-column:1/-1}}
footer.site{border-top:1px solid var(--line);padding-block:36px 90px}
footer.site .wrap{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;color:var(--ink2);font-size:.88rem}
footer.site nav{display:flex;gap:18px;flex-wrap:wrap}
footer.site nav a{color:var(--ink2)}

.notes-toggle{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;font:500 .7rem var(--f-mono);background:var(--todo-bg);color:var(--todo-ink);border:0;border-radius:999px;padding:.7em 1em;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.18)}

[hidden]{display:none!important}
img{max-width:100%}

/* sub pages */
.page{padding-block:clamp(48px,8vw,96px)}
.page .wrap{max-width:820px}
.page h1{font-size:clamp(2.6rem,6vw,4.4rem);margin:10px 0 22px}
.page h2{font-size:1.7rem;margin:34px 0 10px}
.page p,.page li{color:var(--ink2);max-width:68ch}
.page p+p{margin-top:12px}
.page ul{padding-left:1.2em}
.page .links{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
