/* ==========================================================================
   Move Makers HQ: design tokens
   One accent color, neutral everything else.

   To switch the accent to the logo blue later, either:
     a) Appearance → Customize → Move Makers HQ → Colors → Accent color, or
     b) replace the six --accent* values below with the "Logo blue" set.
   Every button, label, highlight, focus ring and icon reads these tokens.
   ========================================================================== */
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/big-shoulders-display-800.woff2) format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/big-shoulders-display-900.woff2) format("woff2")}
@font-face{font-family:"Overpass";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/overpass-400.woff2) format("woff2")}
@font-face{font-family:"Overpass";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/overpass-600.woff2) format("woff2")}
@font-face{font-family:"Overpass";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/overpass-700.woff2) format("woff2")}
@font-face{font-family:"Overpass";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/overpass-800.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/montserrat-800.woff2) format("woff2")}

:root{
  /* ---------- Accent (tan / gold) ---------- */
  --accent:#e0ab45;                       /* fills: primary buttons, bars, dots */
  --accent-hover:#cf9a33;                 /* primary button hover */
  --accent-strong:#8a5f10;                /* accent as text or icon on white (5.6:1) */
  --accent-soft:#f3cf72;                  /* accent as text or icon on navy (11:1) */
  --accent-tint:rgba(224,171,69,.14);     /* soft wash behind accent content */
  --accent-glow:rgba(224,171,69,.1);      /* faint glow in dark section backgrounds */
  --on-accent:#081631;                    /* text on an accent fill */
  /* Logo blue set, for later:
     --accent:#2b52ff; --accent-hover:#1d3fe0; --accent-strong:#2342d9;
     --accent-soft:#8ea4ff; --accent-tint:rgba(43,82,255,.12); --accent-glow:rgba(43,82,255,.12); --on-accent:#ffffff; */

  /* ---------- Neutrals: navy ground + cool grays ---------- */
  --ink:#081631;        /* dark surfaces, headings, primary text on light */
  --ink-2:#0b1c3e;      /* raised dark surface */
  --ink-3:#10254f;      /* dark card / image placeholder */
  --ink-deep:#050f24;   /* footer, hero bottom */
  --paper:#ffffff;
  --stone:#eef2f8;      /* light section ground */
  --stone-2:#e2e8f2;
  --line:#dbe2ee;
  --line-2:#c2ccdd;
  --text:#0a1733;
  --text-2:#3a4663;     /* body copy on light (9.4:1) */
  --text-3:#5b6682;     /* captions on light (5.3:1) */
  --d-text:#f5f7fb;
  --d-text-2:#bac4d9;   /* body copy on navy (10:1) */
  --d-text-3:#8e9ab4;   /* captions on navy (6.3:1) */
  --d-line:rgba(255,255,255,.1);
  --d-line-2:rgba(255,255,255,.2);
  --ok:#1c7c45;
  --err:#c93b3b;

  /* ---------- Type ---------- */
  --f-sans:"Overpass",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --f-display:"Big Shoulders Display","Overpass",Impact,"Arial Narrow",sans-serif;
  --f-form:"Montserrat","Overpass",ui-sans-serif,system-ui,sans-serif;   /* form and card titles */
  --fs-label:.75rem;                                   /* 12  eyebrows, badges */
  --fs-xs:.8125rem;                                    /* 13  footnotes */
  --fs-sm:.875rem;                                     /* 14  meta, small controls */
  --fs-card:.9375rem;                                  /* 15  card copy */
  --fs-body:1rem;                                      /* 16  body */
  --fs-lede:clamp(1.0625rem,1rem + .25vw,1.1875rem);   /* 17–19 intro copy */
  --fs-title:clamp(1.125rem,1.07rem + .2vw,1.25rem);   /* 18–20 small titles */
  --fs-h4:1.125rem;                                    /* 18 */
  --fs-h3:clamp(1.25rem,1.12rem + .45vw,1.5rem);       /* 20–24 */
  --fs-h2:clamp(1.875rem,1.45rem + 1.45vw,2.625rem);   /* 30–42 section headings (display caps) */
  --fs-h1:clamp(2.5rem,1.75rem + 2.9vw,4rem);          /* 40–64 page heroes (display caps) */
  --fs-num:clamp(2rem,1.7rem + 1vw,2.5rem);            /* 32–40 prices, stats */

  /* ---------- Layout ---------- */
  --container:1240px;
  --gutter:clamp(20px,4vw,40px);
  --gap:clamp(16px,1.6vw,24px);
  --section:clamp(64px,7vw,104px);
  --head-gap:clamp(28px,3.5vw,44px);
  --header-h:72px;

  /* ---------- Shape, elevation, motion ---------- */
  --r-xs:3px;
  --r-sm:6px;
  --r:8px;
  --r-lg:12px;
  --shadow-card:0 1px 2px rgba(8,22,49,.06),0 12px 32px -18px rgba(8,22,49,.28);
  --shadow-float:0 40px 80px -40px rgba(3,10,26,.7);
  --ease:cubic-bezier(.2,.7,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}
@media (max-width:640px){
  :root{--header-h:64px;--section:60px;--head-gap:24px}
}

/* ==========================================================================
   Base: reset, type, layout, buttons, header, menu, footer, page heroes
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 8px)}
body{margin:0;font-family:var(--f-sans);font-size:1rem;line-height:1.6;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
fieldset{margin:0;padding:0;border:0;min-width:0}
[hidden]{display:none!important}
::selection{background:var(--accent);color:var(--on-accent)}
:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}
.is-dark :focus-visible,.site-header :focus-visible,.drawer :focus-visible,.site-footer :focus-visible{outline-color:var(--accent-soft)}
.icon{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.icon--fill{fill:currentColor;stroke:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;padding:12px 16px;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-weight:700;transition:top .2s var(--ease)}
.skip-link:focus{top:16px}
body.is-locked{overflow:hidden}

/* ---------- Layout ---------- */
.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}
.container--text{max-width:calc(760px + var(--gutter) * 2)}
.section{padding-block:var(--section)}
.section--stone{background:var(--stone)}
.is-dark{background:var(--ink);color:var(--d-text)}

/* ---------- Type ---------- */
.display,.h2{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.006em;font-variant-numeric:lining-nums;text-wrap:balance}
.display{font-size:var(--fs-h1);line-height:.94}
.h2{font-size:var(--fs-h2);line-height:.98}
.h3,.h4{font-weight:800;letter-spacing:-.018em;text-wrap:balance}
.h3{font-size:var(--fs-h3);line-height:1.2}
.h4{font-size:var(--fs-h4);line-height:1.3}
.is-dark .h2,.is-dark .h3,.is-dark .h4{color:#fff}
.ln{display:block}
.hl{color:var(--accent-soft)}
@supports (-webkit-background-clip:text) or (background-clip:text){
  .hl{background:linear-gradient(180deg,#f7dc8f 0%,#e9b955 60%,#d6a03a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
}
.lede{font-size:var(--fs-lede);line-height:1.6;color:var(--text-2);max-width:52ch;text-wrap:pretty}
.is-dark .lede{color:var(--d-text-2)}
.label{font-weight:700;font-size:var(--fs-label);line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}
.is-dark .label{color:var(--accent-soft)}
.label + .display,.label + .h2{margin-top:14px}
.label + .h3{margin-top:10px}
.h2 + .lede,.display + .lede{margin-top:16px}
.num{font-variant-numeric:tabular-nums lining-nums}
.mono{font-weight:700;font-size:var(--fs-label);line-height:1.3;letter-spacing:.1em;text-transform:uppercase}
.sec-head{display:grid;gap:0;max-width:720px;margin-bottom:var(--head-gap)}
.sec-head--row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;max-width:none}
.checks{display:grid;gap:10px}
.checks li{display:flex;align-items:center;gap:12px;font-weight:600;font-size:var(--fs-card)}
.checks .icon{font-size:1rem;color:var(--accent-strong);stroke-width:2.5}
.is-dark .checks .icon{color:var(--accent-soft)}

/* ---------- Buttons ---------- */
.btn{
  --bg:var(--ink);--fg:#fff;--bd:var(--ink);--div:rgba(255,255,255,.16);
  position:relative;display:inline-flex;align-items:stretch;justify-content:space-between;
  min-height:52px;border-radius:var(--r-sm);overflow:hidden;background:var(--bg);color:var(--fg);border:1px solid var(--bd);
  font-family:var(--f-display);font-weight:800;font-size:1.125rem;line-height:1.2;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;
  transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.btn__label{display:flex;align-items:center;padding:.08em 1.3rem 0}
.btn__icon{display:grid;place-items:center;width:52px;border-left:1px solid var(--div);font-size:1.05rem}
.btn__icon .icon{transition:transform .35s var(--ease-out)}
.btn:hover .btn__icon .icon{transform:translateX(3px)}
.btn--primary{--bg:var(--accent);--fg:var(--on-accent);--bd:transparent;--div:rgba(8,22,49,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
.btn--primary:hover{--bg:var(--accent-hover)}
.btn--dark:hover{--bg:var(--ink-3);--bd:var(--ink-3)}
.btn--white{--bg:#fff;--fg:var(--ink);--bd:#fff;--div:rgba(8,22,49,.12)}
.btn--white:hover{--bg:var(--accent);--fg:var(--on-accent);--bd:var(--accent)}
.btn--ghost{--bg:rgba(255,255,255,.04);--fg:#fff;--bd:rgba(255,255,255,.3);--div:rgba(255,255,255,.2)}
.btn--ghost:hover{--bg:#fff;--fg:var(--ink);--bd:#fff;--div:rgba(8,22,49,.12)}
.btn--outline{--bg:transparent;--fg:var(--ink);--bd:var(--line-2);--div:var(--line)}
.btn--outline:hover{--bg:var(--ink);--fg:#fff;--bd:var(--ink);--div:rgba(255,255,255,.16)}
.btn--block{display:flex;width:100%}
.btn--block .btn__label{flex:1}
.btn--sm{min-height:44px;font-size:1rem}
.btn--sm .btn__label{padding-inline:1rem}
.btn--sm .btn__icon{width:44px}
.btn--lg{min-height:60px;font-size:1.3125rem}
.btn--lg .btn__icon{width:60px}
.btn--cta{justify-content:center;gap:.55em;padding-inline:1.5rem}
.btn--cta .btn__label{padding-inline:0;flex:0 1 auto}
.btn--cta .btn__icon{width:auto;border:0;font-size:1em}
.btn--cta .btn__icon .icon{stroke-width:2.4}
.btn.is-busy{cursor:progress;opacity:.8}
.btn:disabled{cursor:default}
.link-arrow{display:inline-flex;align-items:center;gap:.55rem;padding-bottom:.3rem;border-bottom:1px solid currentColor;font-weight:700;font-size:var(--fs-card);color:var(--text);transition:color .2s var(--ease)}
.link-arrow .icon{font-size:1rem;color:var(--accent-strong);transition:transform .3s var(--ease-out)}
.link-arrow:hover{color:var(--accent-strong)}
.link-arrow:hover .icon{transform:translateX(3px)}
.is-dark .link-arrow,.cta-band .link-arrow{color:#fff}
.is-dark .link-arrow .icon,.cta-band .link-arrow .icon{color:var(--accent-soft)}
.is-dark .link-arrow:hover,.cta-band .link-arrow:hover{color:var(--accent-soft)}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;height:var(--header-h);background:rgba(8,22,49,.96);border-bottom:1px solid var(--d-line);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);color:#fff}
.site-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-header__actions{display:flex;align-items:center;gap:8px}
.logo{display:inline-flex;align-items:center;gap:.7rem;min-height:44px}
.logo__mark{display:inline-flex;font-family:var(--f-display);font-weight:900;font-size:2.15rem;line-height:1;transform:skewX(-12deg);padding-right:2px;letter-spacing:-.01em;text-transform:uppercase}
.logo__mark span:first-child{color:#4f6dff}     /* logo colors stay the logo's own */
.logo__mark span:last-child{color:#fff;margin-left:-.2em}
.logo__word{display:flex;flex-direction:column;gap:4px;line-height:1}
.logo__name{font-family:var(--f-display);font-weight:800;text-transform:uppercase;white-space:nowrap;font-size:1.2rem;line-height:.9;letter-spacing:.04em;color:#fff}
.logo__tag{align-self:flex-start;background:#2b52ff;color:#fff;font-size:.5625rem;font-weight:800;letter-spacing:.24em;line-height:1.2;padding:2px 3px 1px 5px}
.site-nav{display:flex;align-items:center;gap:2px;margin-right:auto;margin-left:clamp(12px,2.5vw,40px)}
.site-nav a{position:relative;display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 12px;font-weight:700;font-size:var(--fs-sm);color:var(--d-text-2);transition:color .2s var(--ease)}
.site-nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.site-nav a:hover,.site-nav a.is-current{color:#fff}
.site-nav a:hover::after,.site-nav a.is-current::after{transform:scaleX(1)}
.site-nav__count{display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 5px;border-radius:var(--r-xs);background:var(--accent);color:var(--on-accent);font-size:.75rem;font-weight:800}
.menu-btn{display:inline-flex;align-items:center;gap:.7rem;height:44px;padding:0 .9rem 0 1rem;border:1px solid var(--d-line-2);border-radius:var(--r-sm);font-weight:700;font-size:var(--fs-sm);color:#fff;transition:border-color .2s var(--ease)}
.menu-btn:hover{border-color:#fff}
.menu-btn__bars{position:relative;width:18px;height:10px}
.menu-btn__bars::before,.menu-btn__bars::after{content:"";position:absolute;left:0;right:0;height:1.75px;background:currentColor;transition:left .3s var(--ease-out)}
.menu-btn__bars::before{top:0}
.menu-btn__bars::after{bottom:0;left:6px}
.menu-btn:hover .menu-btn__bars::after{left:0}

/* ---------- Full-screen menu ---------- */
.drawer{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;overflow-y:auto;background:var(--ink);color:var(--d-text);transform:translateY(-100%);visibility:hidden;transition:transform .6s var(--ease-out),visibility 0s linear .6s}
.drawer.is-open{transform:none;visibility:visible;transition:transform .6s var(--ease-out),visibility 0s}
.drawer__head{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);border-bottom:1px solid var(--d-line);flex:none}
.drawer__close{display:inline-flex;align-items:center;gap:.7rem;height:44px;padding:0 1rem;border:1px solid var(--d-line-2);border-radius:var(--r-sm);font-weight:700;font-size:var(--fs-sm);transition:background-color .2s,color .2s,border-color .2s}
.drawer__close:hover{background:#fff;color:var(--ink);border-color:#fff}
.drawer__close .icon{font-size:1.1rem}
.drawer__body{flex:1;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--gutter);padding-block:clamp(32px,6vh,72px)}
.drawer__intro{display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.drawer__kicker{color:var(--accent-soft)}
.drawer__motto{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:var(--fs-h2);line-height:.95}
.drawer__motto span{color:var(--accent-soft)}
.drawer__nav ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,auto);grid-auto-flow:column;column-gap:var(--gutter);counter-reset:nav}
.drawer__nav li{border-top:1px solid var(--d-line)}
.drawer__nav a{display:grid;grid-template-columns:2.5rem 1fr auto;align-items:baseline;gap:.5rem;padding:1rem 0;font-family:var(--f-display);text-transform:uppercase;font-weight:800;letter-spacing:.01em;font-size:clamp(1.5rem,1.3rem + .8vw,2rem);line-height:1;transition:color .2s var(--ease)}
.drawer__nav a::before{counter-increment:nav;content:counter(nav,decimal-leading-zero);font-family:var(--f-sans);font-weight:700;font-size:var(--fs-label);letter-spacing:.06em;color:var(--d-text-3)}
.drawer__nav a .icon{font-size:1.1rem;color:var(--accent-soft);opacity:0;transform:translateX(-8px);transition:opacity .25s var(--ease),transform .35s var(--ease-out)}
.drawer__nav a:hover,.drawer__nav a.is-current{color:var(--accent-soft)}
.drawer__nav a:hover .icon,.drawer__nav a.is-current .icon{opacity:1;transform:none}
.drawer.is-open .drawer__nav li{animation:navIn .6s var(--ease-out) both;animation-delay:calc(var(--i,0) * 30ms + 150ms)}
@keyframes navIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.drawer__foot{display:flex;justify-content:space-between;gap:16px;padding-block:20px;border-top:1px solid var(--d-line);color:var(--d-text-3);flex:none}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink-deep);color:var(--d-text);border-top:1px solid var(--d-line)}
.footer-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(0,3fr);gap:40px var(--gap);padding-block:56px}
.footer-brand p{margin:16px 0 20px;max-width:34ch;font-size:var(--fs-card);color:var(--d-text-2)}
.footer-grid h2{font-weight:700;font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-soft)}
.footer-grid ul{display:grid;gap:10px;margin-top:16px}
.footer-grid li a{font-size:var(--fs-card);color:var(--d-text-2);transition:color .2s var(--ease)}
.footer-grid li a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:22px;border-top:1px solid var(--d-line);font-size:var(--fs-sm);color:var(--d-text-3)}
.footer-bottom p span{margin-left:10px;color:var(--d-text-2)}
.footer-bottom nav{display:flex;gap:24px;flex-wrap:wrap}
.footer-bottom a:hover{color:#fff}
.to-top{display:inline-flex;align-items:center;gap:8px}
.to-top .icon{color:var(--accent-soft);transition:transform .3s var(--ease-out)}
.to-top:hover .icon{transform:translateY(-3px)}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{position:relative;overflow:hidden;isolation:isolate;background:
  radial-gradient(760px 420px at 100% 0%,var(--accent-glow),transparent 62%),
  linear-gradient(180deg,var(--ink) 0%,var(--ink-deep) 100%)}
.page-hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(32px,5vw,72px);padding-block:clamp(48px,6vw,84px)}
.page-hero__grid--solo{grid-template-columns:minmax(0,1fr)}
.page-hero__copy{max-width:640px}
.page-hero__title{margin-top:16px;color:#fff}
.page-hero__lede{margin-top:18px;max-width:50ch;font-size:var(--fs-lede);line-height:1.6;color:var(--d-text-2);text-wrap:pretty}
.page-hero__ctas{margin-top:28px}
.page-hero__photo{position:relative;justify-self:end;width:100%;max-width:480px;aspect-ratio:4 / 3.4;overflow:hidden;border-radius:var(--r-lg);background:var(--ink-3)}
.page-hero__photo img{width:100%;height:100%;object-fit:cover}
.page-hero__photo figcaption{position:absolute;left:0;bottom:0;display:grid;gap:2px;padding:12px 16px 14px;border-top-right-radius:var(--r);background:rgba(5,15,36,.88);color:#fff}
.page-hero__photo figcaption strong{font-weight:800;font-size:var(--fs-card)}
.page-hero__photo figcaption span{font-size:var(--fs-xs);color:var(--d-text-2)}
.page-hero__plain{padding-block:clamp(44px,5vw,72px)}
.page-hero__plain .page-hero__title{margin-top:0}
.page-hero__plain .label + .page-hero__title{margin-top:14px}
.page-hero__facts{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:28px;padding-top:20px;border-top:1px solid var(--d-line);font-size:var(--fs-sm);color:var(--d-text-3)}
.page-hero__facts b{display:block;font-family:var(--f-display);font-weight:800;font-size:1.75rem;line-height:1;color:#fff}

/* ---------- CTA band (closes inner pages) ---------- */
.cta-band{padding-block:clamp(48px,5.5vw,80px);background:var(--ink)}
.cta-band__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px clamp(32px,5vw,80px)}
.cta-band .h2{color:#fff}
.cta-band p{margin-top:12px;max-width:48ch;font-size:var(--fs-lede);color:var(--d-text-2)}
.cta-band .ctas{justify-content:flex-end}

/* ---------- Reveal ---------- */
.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease-out),transform .8s var(--ease-out);transition-delay:calc(var(--d,0) * 70ms)}
.js [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js [data-reveal]{opacity:1;transform:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1240px){.site-nav a:nth-child(n+6){display:none}}
@media (max-width:1100px){.site-nav{display:none}}
@media (max-width:980px){
  .page-hero__grid{grid-template-columns:minmax(0,1fr)}
  .page-hero__photo{justify-self:start;max-width:520px;aspect-ratio:16 / 10}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid > :first-child{grid-column:1 / -1}
  .drawer__body{grid-template-columns:minmax(0,1fr)}
  .drawer__intro{flex-direction:row;align-items:flex-end;justify-content:space-between}
  .cta-band__inner{grid-template-columns:minmax(0,1fr)}
  .cta-band .ctas{justify-content:flex-start}
}
@media (max-width:640px){
  .logo__mark{font-size:1.8rem}
  .logo__name{font-size:1.02rem}
  .logo{gap:.55rem}
  .site-header .btn--sm .btn__icon{display:none}
  .site-header .btn--sm .btn__label{padding:0 .8rem;font-size:.9375rem}
  .site-header__actions{gap:6px}
  .menu-btn{width:44px;padding:0;justify-content:center}
  .menu-btn__text{display:none}
  .btn--lg{min-height:56px;font-size:1.1875rem}
  .ctas .btn{width:100%}
  .ctas .btn__label{flex:1}
  .page-hero__grid{padding-block:36px 44px;row-gap:32px}
  .page-hero__photo{max-width:none;aspect-ratio:4 / 3.2}
  .page-hero__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;font-size:var(--fs-xs);line-height:1.35}
  .page-hero__facts b{font-size:1.5rem;margin-bottom:4px}
  .footer-grid{padding-block:40px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .footer-bottom p span{display:block;margin:4px 0 0}
  .drawer__nav ol{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row}
  .drawer__nav a{padding:.8rem 0;font-size:1.5rem}
  .drawer__intro{flex-direction:column;align-items:flex-start;gap:16px}
  .drawer__foot{flex-direction:column;gap:6px}
}
@media (max-width:374px){
  .btn{white-space:normal}
  .btn__label{padding-block:.5rem;line-height:1.2}
  .logo__word{display:none}
  .site-header .btn--sm .btn__label{padding:0 .7rem}
}

/* ==========================================================================
   Components shared by several pages
   ========================================================================== */

/* ---------- Forms ---------- */
.form{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.form fieldset{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.form__row--3{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr) minmax(0,1fr)}
.field{display:grid;gap:7px;min-width:0}
.field label{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.field label span{font-weight:500;color:var(--text-3)}
.field input,.field select,.field textarea{width:100%;min-width:0;height:50px;padding:0 14px;border:1px solid #c6d0e2;border-radius:var(--r-sm);background:#fff;font-size:1rem;color:var(--text);transition:border-color .2s var(--ease),box-shadow .2s var(--ease);-webkit-appearance:none;appearance:none}
.field input::placeholder,.field textarea::placeholder{color:#8a93a8}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#9fb0cc}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent-strong);box-shadow:0 0 0 3px var(--accent-tint)}
.field .is-touched:invalid{border-color:var(--err);box-shadow:0 0 0 3px rgba(201,59,59,.1)}
.field select{padding-right:44px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a4663' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9.5 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.field select:invalid{color:#6f7891}
.field select option{color:var(--text)}
.field textarea{height:auto;min-height:104px;padding:12px 14px;line-height:1.5;resize:vertical}
.field input[type="date"]{-webkit-appearance:none;appearance:none}
.field input[readonly]{cursor:default}
.field--checks{display:grid;gap:10px}
.field--checks legend{padding:0;margin-bottom:10px;font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid #c6d0e2;border-radius:var(--r-sm);background:#fff;font-weight:600;font-size:var(--fs-sm);color:var(--text-2);transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.chip .icon{width:0;font-size:.95rem;stroke-width:2.4;opacity:0;transition:width .25s var(--ease-out),opacity .2s}
.chip:hover span{border-color:var(--line-2);color:var(--ink)}
.chip input:checked + span{background:var(--ink);border-color:var(--ink);color:#fff}
.chip input:checked + span .icon{width:1em;opacity:1}
.chip input:focus-visible + span{outline:2px solid var(--accent-strong);outline-offset:2px}
.consent{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;font-size:var(--fs-xs);line-height:1.5;color:var(--text-3);cursor:pointer}
.consent input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;border:1px solid #9fb0cc;border-radius:var(--r-xs);background:#fff;cursor:pointer;transition:background-color .2s,border-color .2s}
.consent input:checked{background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;border-color:var(--ink)}
.consent input:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}
.form__legend{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-weight:700;font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.form__legend span{font-weight:500;font-size:var(--fs-xs);letter-spacing:0;text-transform:none;color:var(--text-3)}
.form__legend:not(:first-child){margin-top:10px}
.form__error{padding:12px 14px;border-left:3px solid var(--err);border-radius:0 var(--r-xs) var(--r-xs) 0;background:rgba(201,59,59,.07);font-size:var(--fs-sm);font-weight:600;color:#a52a2a}
.form__divider{height:1px;background:var(--line);margin:4px 0}
.form__note{font-size:var(--fs-xs);color:var(--text-3)}
.form .btn{margin-top:6px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-success{display:grid;gap:14px;padding:28px 0 8px}
.form-success[hidden]{display:none}
.form-success__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:1.4rem}
.form-success__icon .icon{stroke-width:2.5}
.form-success p{font-weight:700;font-size:var(--fs-title);line-height:1.3;letter-spacing:-.01em}

/* ---------- Lead dialog: side panel ---------- */
.lead-dialog,.truck-dialog{padding:0;border:0;max-width:none;max-height:none;background:transparent;color:var(--text);overflow:visible}
.lead-dialog::backdrop,.truck-dialog::backdrop,.video-dialog::backdrop{background:rgba(3,10,26,.82);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.lead-dialog{width:min(600px,100vw);height:100dvh;margin:0 0 0 auto}
.lead-dialog[open]{animation:panelIn .5s var(--ease-out)}
@keyframes panelIn{from{opacity:0;transform:translateX(48px)}to{opacity:1;transform:none}}
.lead{height:100%;overflow-y:auto;overscroll-behavior:contain;background:#fff}
.lead__head{position:relative;padding:22px clamp(22px,3.4vw,40px) 30px;background:var(--ink);color:#fff}
.lead__head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent)}
.lead__head-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.lead__kicker{color:var(--accent-soft)}
.lead__close{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--d-line-2);border-radius:var(--r-sm);color:#fff;font-size:1.1rem;transition:background-color .2s,color .2s}
.lead__close:hover{background:#fff;color:var(--ink)}
.lead__head .h3{max-width:18ch;font-family:var(--f-form);font-size:1.5rem;color:#fff}
.lead__sub{margin-top:.8rem;max-width:48ch;font-size:var(--fs-card);line-height:1.55;color:var(--d-text-2)}
.lead__sub:empty{display:none}
.lead__form{padding:28px clamp(22px,3.4vw,40px) calc(36px + env(safe-area-inset-bottom))}
.lead__truck{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--stone)}
.lead__truck img{width:96px;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-xs)}
.lead__truck .field textarea{height:auto;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;resize:none;overflow:hidden;font-weight:700;font-size:var(--fs-sm);line-height:1.4;color:var(--ink)}
.lead__success{display:grid;gap:14px;align-content:start;padding:36px clamp(22px,3.4vw,40px) 40px}
.lead__success:focus{outline:none}
.lead__success .h3{font-family:var(--f-form)}
.lead__done-msg{max-width:46ch;font-size:var(--fs-card);color:var(--text-2)}
.lead__done-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}

/* ---------- Video dialog ---------- */
.video-dialog{width:min(1040px,calc(100vw - 32px));max-width:none;padding:0;border:0;background:#000;color:#fff;overflow:visible}
.video-dialog[open]{animation:dialogIn .45s var(--ease-out)}
@keyframes dialogIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.video-dialog__frame{position:relative;aspect-ratio:16 / 9}
.video-dialog__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-dialog__close{position:absolute;right:0;bottom:calc(100% + 12px);display:inline-flex;align-items:center;gap:.6rem;height:44px;padding:0 1rem;border:1px solid rgba(255,255,255,.3);border-radius:var(--r-sm);font-weight:700;font-size:var(--fs-sm);color:#fff;transition:background-color .2s,color .2s}
.video-dialog__close:hover{background:#fff;color:var(--ink)}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;z-index:80;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:14px 18px 14px 14px;border:1px solid var(--d-line-2);border-radius:var(--r);background:var(--ink);color:#fff;font-size:var(--fs-card);font-weight:600;transform:translate(-50%,24px);opacity:0;pointer-events:none;transition:opacity .3s var(--ease),transform .45s var(--ease-out)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
.toast__icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--accent);color:var(--on-accent)}
.toast__icon .icon{stroke-width:2.5}

/* ---------- Truck cards + inventory controls ---------- */
.inv-bar{position:sticky;top:var(--header-h);z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:24px;padding:12px 0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.inv-tabs{display:flex;gap:4px;flex-wrap:wrap}
.inv-tab{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:var(--r-sm);font-weight:700;font-size:var(--fs-sm);color:var(--text-2);transition:background-color .2s var(--ease),color .2s var(--ease)}
.inv-tab .num{font-size:var(--fs-xs);color:var(--text-3)}
.inv-tab:hover{color:var(--ink);background:var(--stone)}
.inv-tab[aria-pressed="true"]{background:var(--ink);color:#fff}
.inv-tab[aria-pressed="true"] .num{color:rgba(255,255,255,.65)}
.inv-bar__end{display:flex;align-items:center;gap:16px}
.inv-bar__count{font-size:var(--fs-sm);color:var(--text-3);white-space:nowrap}
.inv-bar__count strong{color:var(--ink)}
.sort{position:relative;display:inline-flex;align-items:center;height:40px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;transition:border-color .2s var(--ease)}
.sort:hover{border-color:var(--ink)}
.sort:focus-within{outline:2px solid var(--accent-strong);outline-offset:2px}
.sort select{appearance:none;-webkit-appearance:none;height:100%;padding:0 38px 0 14px;border:0;background:transparent;font-weight:700;font-size:var(--fs-sm);color:var(--ink);cursor:pointer}
.sort select:focus{outline:none}
.sort .icon{position:absolute;right:12px;top:50%;margin-top:-.45em;font-size:.9rem;pointer-events:none;color:var(--text-2)}
.inv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,2.4vw,36px) clamp(14px,1.4vw,20px)}
.inv-grid[hidden]{display:none}
.inv-grid .tcard.is-extra{display:none}
.inv-grid.is-expanded .tcard.is-extra{display:flex}
.inv-noscript{padding:24px;border-radius:var(--r);background:var(--stone)}
.tcard{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;animation:cardIn .6s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes cardIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.tcard__media{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--r);background:var(--stone-2);cursor:pointer}
.tcard__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .25s var(--ease),transform .8s var(--ease-out)}
.tcard:hover .tcard__media > img:first-child{transform:scale(1.025)}
.tcard__media img[data-scrub]{opacity:0}
.tcard__media img[data-scrub].is-on{opacity:1}
.tcard__segs{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;display:flex;gap:4px;opacity:0;transition:opacity .25s var(--ease)}
.tcard__segs i{flex:1;height:3px;background:rgba(255,255,255,.5)}
.tcard__segs i.is-on{background:#fff}
.tcard:hover .tcard__segs{opacity:1}
.tcard__zones{position:absolute;inset:0;z-index:2;display:flex}
.tcard__zones span{flex:1}
.tcard__badges{position:absolute;left:10px;top:10px;z-index:3;display:flex;flex-wrap:wrap;gap:4px}
.tbadge{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:var(--r-xs);background:var(--ink);color:#fff;font-weight:700;font-size:var(--fs-label);letter-spacing:.04em}
.tbadge--blue{background:var(--accent);color:var(--on-accent)}
.tbadge--light{background:#fff;color:var(--ink)}
.tcard__shots{position:absolute;right:10px;top:10px;z-index:3;display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:var(--r-xs);background:rgba(5,15,36,.72);color:#fff;font-weight:700;font-size:var(--fs-label);transition:opacity .2s}
.tcard__shots .icon{font-size:.875rem}
.tcard:hover .tcard__shots{opacity:0}
.tcard__body{flex:1;display:flex;flex-direction:column;padding:14px 2px 0}
.tcard__make{display:flex;justify-content:space-between;gap:8px;font-weight:700;font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.tcard__title{margin-top:6px;font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.5rem;line-height:1;color:var(--ink)}
.tcard__title a{transition:color .2s var(--ease)}
.tcard__title a::after{content:"";position:absolute;inset:0;z-index:1}
.tcard:hover .tcard__title a{color:var(--accent-strong)}
.tcard__specs{display:flex;flex-wrap:wrap;gap:4px 0;margin-top:8px;font-size:var(--fs-sm);color:var(--text-2)}
.tcard__specs span + span::before{content:"·";margin:0 8px;color:var(--text-3)}
.tcard__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.tcard__price{font-family:var(--f-display);font-weight:800;font-size:1.375rem;line-height:1;letter-spacing:.01em;color:var(--ink);white-space:nowrap}
.tcard__price.is-tbd{font-family:var(--f-sans);font-size:var(--fs-sm);font-weight:700}
.tcard__btn{position:relative;z-index:2;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font-weight:700;font-size:var(--fs-xs);white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s}
.tcard__btn .icon{font-size:.875rem;color:var(--accent-strong);transition:transform .3s var(--ease-out),color .2s}
.tcard:hover .tcard__btn,.tcard__btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.tcard:hover .tcard__btn .icon,.tcard__btn:hover .icon{color:var(--accent-soft);transform:translateX(2px)}
.inv-more{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:clamp(28px,3.5vw,44px)}
.inv-more__note{font-size:var(--fs-sm);color:var(--text-3)}
[aria-expanded="true"] > .btn__icon .icon{transform:rotate(180deg)}
.inv-footnote{margin-top:16px;font-size:var(--fs-xs);color:var(--text-3)}

/* ---------- Truck details dialog ---------- */
.truck-dialog{width:min(1240px,calc(100vw - 48px));height:min(780px,calc(100dvh - 48px))}
.truck-dialog[open]{animation:dialogIn .45s var(--ease-out)}
.td{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,1fr);height:100%;border-radius:var(--r-lg);overflow:hidden;background:#fff}
.td__gallery{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;background:var(--ink-deep)}
.td__track{display:flex;min-height:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.td__track::-webkit-scrollbar{display:none}
.td__track:focus-visible{outline:2px solid var(--accent-soft);outline-offset:-3px}
.td__slide{flex:0 0 100%;min-width:0;display:grid;place-items:center;scroll-snap-align:center;scroll-snap-stop:always}
.td__slide img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.td__nav{position:absolute;top:calc(50% - 60px);z-index:2;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-sm);background:rgba(5,15,36,.72);color:#fff;font-size:1.2rem;transition:background-color .2s,border-color .2s,opacity .2s,color .2s}
.td__nav:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.td__nav:disabled{opacity:.3;cursor:default}
.td__nav--prev{left:16px}
.td__nav--next{right:16px}
.td__count{position:absolute;left:16px;top:16px;z-index:2;padding:7px 9px;border-radius:var(--r-xs);background:rgba(5,15,36,.72);color:rgba(255,255,255,.8)}
.td__count b{color:#fff}
.td__thumbs{display:flex;gap:8px;padding:12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;background:var(--ink);border-top:1px solid var(--d-line)}
.td__thumb{position:relative;flex:0 0 92px;aspect-ratio:4 / 3;border-radius:var(--r-xs);overflow:hidden;opacity:.5;transition:opacity .2s}
.td__thumb img{width:100%;height:100%;object-fit:cover}
.td__thumb::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .2s}
.td__thumb:hover{opacity:.85}
.td__thumb[aria-current="true"]{opacity:1}
.td__thumb[aria-current="true"]::after{box-shadow:inset 0 0 0 2px var(--accent-soft)}
.td__info{display:flex;flex-direction:column;min-height:0;padding:24px clamp(24px,2.6vw,36px) 28px;overflow-y:auto;overscroll-behavior:contain}
.td__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.td__tag{display:inline-flex;align-items:center;gap:8px;color:var(--text-2)}
.key{display:inline-block;width:8px;height:8px;flex:none;background:var(--accent)}
.key--box{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}
.td__bar-actions{display:flex;gap:8px}
.td__icon-btn,.td__close{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:44px;border:1px solid var(--line-2);border-radius:var(--r-sm);font-weight:700;font-size:var(--fs-sm);color:var(--ink);transition:background-color .2s,color .2s,border-color .2s}
.td__icon-btn{width:44px;font-size:1.05rem}
.td__close{padding:0 14px}
.td__icon-btn:hover,.td__close:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.td__title{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.75rem,1.5rem + .8vw,2.25rem);line-height:.95}
.td__desc{margin-top:.8rem;font-size:var(--fs-card);line-height:1.6;color:var(--text-2)}
.td__price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:20px;padding:16px 18px;border-left:3px solid var(--accent);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--stone)}
.td__price .mono{color:var(--text-3)}
.td__price strong{font-family:var(--f-display);font-weight:800;font-size:1.75rem;line-height:1;letter-spacing:.01em}
.td__asis{margin-top:8px;font-weight:700;font-size:var(--fs-sm);color:var(--text-2)}
.td__ctas{display:grid;gap:10px;margin-top:20px}
.td__call{align-self:flex-start;margin-top:20px;font-size:var(--fs-sm)}
.td__specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px;border-top:1px solid var(--line)}
.td__specs div{padding:12px 0;border-bottom:1px solid var(--line);min-width:0}
.td__specs div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
.td__specs dt{font-weight:700;font-size:var(--fs-label);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}
.td__specs dd{margin-top:.3rem;font-weight:700;font-size:var(--fs-card);font-variant-numeric:tabular-nums;overflow-wrap:break-word}
.td__note{margin-top:auto;padding-top:22px;font-size:var(--fs-xs);color:var(--text-3)}

/* ---------- Testimonials: featured player + reel strip ---------- */
.reviews__stage{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:center}
.reviews__player{position:relative;display:block;width:100%;aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--r);background:var(--ink-3);text-align:left}
.reviews__player img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out),opacity .35s var(--ease)}
.reviews__player img.is-swap{opacity:0}
.reviews__player:hover img{transform:scale(1.03)}
.reviews__player::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.55) 100%)}
.reviews__play{position:absolute;left:50%;top:50%;z-index:2;display:grid;place-items:center;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:1.4rem;transition:transform .35s var(--ease-out)}
.reviews__play .icon{margin-left:4px}
.reviews__player:hover .reviews__play{transform:scale(1.07)}
.reviews__time{position:absolute;left:14px;bottom:14px;z-index:2;padding:5px 8px;border-radius:var(--r-xs);background:rgba(0,0,0,.72);color:#fff;font-weight:700;font-size:var(--fs-label)}
.reviews__player.is-novideo{cursor:default}
.reviews__player.is-novideo .reviews__play,.reviews__player.is-novideo .reviews__time{display:none}
.reviews__player.is-novideo:hover img{transform:none}
.reviews__info{display:flex;flex-direction:column;min-width:0;padding-top:8px}
.reviews__role{font-weight:700;font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-soft)}
.reviews__name{margin-top:12px;font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(2rem,1.7rem + 1.4vw,2.75rem);line-height:.9;color:#fff}
.reviews__quote{margin-top:16px;max-width:36ch;font-weight:600;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.5;color:var(--d-text);text-wrap:pretty}
.reviews__actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px}
.reviews__actions .btn__icon .icon{font-size:.8rem}
.reviews__nav{display:flex;align-items:center;gap:8px}
.reviews__count{margin-right:8px;font-weight:700;font-size:var(--fs-sm);color:var(--d-text-3)}
.reviews__count b{color:#fff}
.slider-btn{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--d-line-2);border-radius:var(--r-sm);color:#fff;font-size:1.1rem;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),opacity .2s}
.slider-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.slider-btn:disabled{opacity:.35;cursor:not-allowed}
.reviews__strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:32px}
.reel{position:relative;display:block;width:100%;aspect-ratio:3 / 4;overflow:hidden;border-radius:var(--r);background:var(--ink-3);text-align:left;opacity:.55;transition:opacity .25s var(--ease)}
.reel img{width:100%;height:100%;object-fit:cover}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.75));box-shadow:inset 0 0 0 0 var(--accent-soft);transition:box-shadow .25s var(--ease)}
.reel:hover{opacity:.85}
.reel[aria-current="true"]{opacity:1}
.reel[aria-current="true"]::after{box-shadow:inset 0 0 0 2px var(--accent-soft)}
.reel__name{position:absolute;left:10px;right:8px;bottom:22px;z-index:2;font-weight:800;font-size:.875rem;color:#fff}
.reel__time{position:absolute;left:10px;bottom:8px;z-index:2;font-size:var(--fs-label);color:rgba(255,255,255,.75)}
.reel:not([data-video-url^="http"]) .reel__time{display:none}
.reel:not([data-video-url^="http"]) .reel__name{bottom:12px}
.reviews__disclaimer{margin-top:32px;font-size:var(--fs-xs);color:var(--d-text-3)}

/* ---------- Standard pages (privacy, terms, posts) ---------- */
.page-content{padding-block:clamp(40px,5vw,72px) clamp(64px,7vw,104px);font-size:1.0625rem;line-height:1.75;color:var(--text-2)}
.page-content > * + *{margin-top:1.1em}
.page-content h2,.page-content h3,.page-content h4{margin-top:1.8em;font-weight:800;line-height:1.25;letter-spacing:-.015em;color:var(--ink)}
.page-content h2{font-size:1.625rem}
.page-content h3{font-size:1.3125rem}
.page-content h4{font-size:1.125rem}
.page-content a{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}
.page-content ul,.page-content ol{padding-left:1.4em}
.page-content ul{list-style:disc}
.page-content ol{list-style:decimal}
.page-content li + li{margin-top:.4em}
.page-content strong{color:var(--ink)}
.page-content blockquote{padding-left:20px;border-left:3px solid var(--accent);font-weight:600;color:var(--ink)}
.page-content img{border-radius:var(--r)}
.page-content .alignleft{float:left;margin:.3em 1.5em 1em 0}
.page-content .alignright{float:right;margin:.3em 0 1em 1.5em}
.page-content .aligncenter{margin-inline:auto}
.page-content figcaption,.wp-caption-text{margin-top:8px;font-size:var(--fs-sm);color:var(--text-3)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.post-list{padding:0!important;list-style:none!important}
.post-list li{padding-block:24px;border-top:1px solid var(--line)}
.post-list li:first-child{padding-top:0;border-top:0}
.post-list .h3 a{color:var(--ink);text-decoration:none}
.post-list .h3 a:hover{color:var(--accent-strong)}
.post-meta{font-weight:700;font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.nav-links{display:flex;gap:12px;margin-top:32px}
.nav-links .page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r-sm);font-weight:700;text-decoration:none;color:var(--ink)}
.nav-links .page-numbers.current{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------- Responsive ---------- */
@media (max-width:1240px){.inv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1180px){.td{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr)}}
@media (max-width:980px){
  .inv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reviews__stage{grid-template-columns:minmax(0,1fr)}
  .reviews__feature{max-width:440px}
}
@media (max-width:860px){
  .truck-dialog{width:100vw;height:100dvh;margin:0}
  .truck-dialog[open]{animation:sheetIn .45s var(--ease-out)}
  @keyframes sheetIn{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
  .td{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);border-radius:0}
  .td__gallery{grid-template-rows:auto}
  .td__track{aspect-ratio:4 / 3;max-height:56dvh}
  .td__thumbs{display:none}
  .td__count{top:auto;bottom:12px}
  .td__bar-actions{position:absolute;top:12px;right:12px;z-index:3}
  .td__icon-btn,.td__close{background:rgba(5,15,36,.74);border-color:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  .td__icon-btn:hover,.td__close:hover{background:#fff;border-color:#fff;color:var(--ink)}
  .td__bar{min-height:0;padding-bottom:14px;margin-bottom:18px}
  .td__info{padding:20px var(--gutter) 0}
  .td__specs{margin-top:22px}
  .td__ctas{position:sticky;bottom:0;z-index:2;grid-template-columns:repeat(2,minmax(0,1fr));margin:20px calc(var(--gutter) * -1) 0;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
  .td__ctas .btn{min-height:52px}
  .td__ctas .btn__icon,.td__ctas .u-hide-sm{display:none}
  .td__ctas .btn__label{flex:1;justify-content:center;padding:0 .75rem;text-align:center}
  .td__note{padding-bottom:28px}
}
@media (max-width:640px){
  .form__row,.form__row--3{grid-template-columns:minmax(0,1fr)}
  .form__row--pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .lead-dialog{width:100vw}
  .lead__head{padding-top:16px}
  .lead__head-top{margin-bottom:16px}
  .lead__done-ctas .btn{width:100%}
  .lead__done-ctas .btn__label{flex:1}
  .td__nav{display:none}
  .toast{bottom:16px;width:calc(100vw - 32px)}
  .inv-bar{margin-inline:calc(var(--gutter) * -1);padding:10px var(--gutter);border-top:0}
  .inv-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .inv-tab{justify-content:center;gap:6px;padding:0 6px;font-size:var(--fs-xs)}
  .inv-bar__end{width:100%;justify-content:space-between}
  .inv-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .tcard{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
  .tcard:first-child{padding-top:0}
  .inv-grid.is-expanded .tcard.is-extra{display:grid}
  .tcard__media{aspect-ratio:4 / 3.2;height:auto;align-self:start}
  .tcard__segs,.tcard__zones,.tcard__shots{display:none}
  .tcard__badges{left:6px;top:6px}
  .tbadge{height:20px;padding:0 6px}
  .tbadge:not(:first-child){display:none}
  .tcard__body{padding:0}
  .tcard__make span:last-child{display:none}
  .tcard__title{margin-top:4px;font-size:1.25rem}
  .tcard__specs{margin-top:4px;font-size:var(--fs-xs)}
  .tcard__foot{margin-top:10px;padding-top:10px;justify-content:flex-start;gap:12px}
  .tcard__price{font-size:1.125rem}
  .tcard__price.is-tbd{display:none}
  .tcard__btn{height:32px;padding:0 10px;font-size:var(--fs-label)}
  .reviews__play{width:64px;height:64px;margin:-32px 0 0 -32px}
  .reviews__feature{max-width:none}
  .reviews__player{aspect-ratio:4 / 4.4}
  .reviews__strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-top:24px;scrollbar-width:none}
  .reviews__strip::-webkit-scrollbar{display:none}
  .reviews__strip li{flex:0 0 24%;scroll-snap-align:start}
  .reviews__actions{flex-wrap:nowrap}
  .reviews__actions .btn{flex:1;min-width:0}
  .reviews__actions .btn__label{flex:1}
  .reviews__count{display:none}
}
@media (max-width:374px){
  .inv-bar__end{gap:10px}
  .inv-bar__count{font-size:var(--fs-xs)}
  .sort{flex:1;min-width:0}
  .sort select{width:100%;min-width:0}
  .tcard{grid-template-columns:108px minmax(0,1fr);gap:12px}
  .tcard__title{font-size:1.125rem}
  .tcard__foot{flex-wrap:wrap;gap:8px}
  .td__ctas{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8px}
  .td__ctas .btn__label{padding:0 .5rem;font-size:var(--fs-xs)}
}
@media (prefers-reduced-motion:reduce){.tcard{animation:none}}
@media (max-width:640px){.u-hide-sm{display:none}}

/* ==========================================================================
   Page sections
   Home → Trucks → About → Credit & funding → Mentorship → Freight →
   Careers → Referral → Book a call
   ========================================================================== */

/* Shared: ring icons, numbered steps, pull quote */
.ibs-ring,.ins-band__list .icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1.5px solid var(--accent);border-radius:50%;color:var(--accent-strong);font-size:1.15rem}
.is-dark .ibs-ring{color:var(--accent-soft)}
.steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:18px 0;border-top:1px solid var(--line)}
.steps li:first-child{border-top:0;padding-top:0}
.steps__no{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:800;font-size:var(--fs-sm)}
.steps strong{display:block;font-weight:800;font-size:var(--fs-title)}
.steps p{margin-top:4px;max-width:44ch;font-size:var(--fs-card);line-height:1.55;color:var(--text-2)}
.pull{margin-top:clamp(36px,4vw,56px);padding-left:20px;border-left:3px solid var(--accent)}
.pull p{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.5rem,1.25rem + .9vw,2rem);line-height:1;color:var(--ink)}
.pull cite{display:block;margin-top:10px;font-style:normal;font-weight:600;font-size:var(--fs-sm);color:var(--text-3)}

/* ==========================================================================
   Home
   ========================================================================== */
.hero{position:relative;overflow:hidden;isolation:isolate;background:
  radial-gradient(900px 560px at 88% 0%,var(--accent-glow),transparent 60%),
  linear-gradient(180deg,var(--ink) 0%,var(--ink-deep) 100%)}
.hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,96px);align-items:center;padding-block:clamp(48px,6vw,88px)}
.hero__title{margin-top:16px;color:#fff}
.hero__lede{margin-top:22px;max-width:30ch;font-weight:700;font-size:clamp(1.25rem,1.1rem + .55vw,1.5rem);line-height:1.35;letter-spacing:-.012em;color:#fff;text-wrap:balance}
.hero__text{margin-top:12px;max-width:46ch;font-size:var(--fs-card);line-height:1.65;color:var(--d-text-2)}
.hero__ctas{margin-top:30px}
.hero__facts{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:30px;padding-top:20px;border-top:1px solid var(--d-line);font-size:var(--fs-sm);color:var(--d-text-3)}
.hero__facts span{display:inline-flex;align-items:baseline;gap:8px}
.hero__facts b{font-family:var(--f-display);font-weight:800;font-size:1.625rem;line-height:1;color:#fff}
.hero__visual{width:100%;max-width:480px;justify-self:end}
.hero__photo{position:relative;aspect-ratio:4 / 4.4;overflow:hidden;border-radius:var(--r-lg);background:var(--ink-3)}
.hero__photo picture,.hero__photo img{display:block;width:100%;height:100%}
.hero__photo img{object-fit:cover;object-position:42% 30%}
.hero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,15,36,0) 42%,rgba(5,15,36,.6) 64%,rgba(5,15,36,.95) 100%)}
.hero__quote{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 26px 24px}
.hero__quote p{font-weight:600;font-size:1.0625rem;line-height:1.5;color:#fff;text-wrap:pretty}
.hero__sig{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:12px}
.hero__sig strong{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.125rem;color:#fff}
.hero__sig span{font-size:var(--fs-sm);color:rgba(255,255,255,.7)}

.featured{padding-block:var(--section)}
.inv-grid--featured .tcard{animation:none}
.featured__foot{display:flex;align-items:center;justify-content:space-between;gap:20px 40px;flex-wrap:wrap;margin-top:clamp(28px,3.5vw,44px);padding-top:24px;border-top:1px solid var(--line)}
.featured__foot p{max-width:58ch;font-size:var(--fs-card);color:var(--text-2)}

.lanes{padding-block:var(--section)}
.lanes__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,64px)}
.lanes__list li{border-top:1px solid var(--line-2)}
.lanes__list li:nth-last-child(-n+2){border-bottom:1px solid var(--line-2)}
.lanes__list a{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:18px 0;transition:color .2s var(--ease)}
.lanes__no{font-weight:700;font-size:var(--fs-xs);color:var(--accent-strong)}
.lanes__body{display:grid;gap:2px;min-width:0}
.lanes__body strong{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.375rem;line-height:1;color:var(--ink);transition:color .2s var(--ease)}
.lanes__body span{font-size:var(--fs-card);color:var(--text-2)}
.lanes__list a > .icon{font-size:1.1rem;color:var(--text-3);transition:transform .3s var(--ease-out),color .2s}
.lanes__list a:hover .lanes__body strong{color:var(--accent-strong)}
.lanes__list a:hover > .icon{color:var(--accent-strong);transform:translateX(4px)}

.founder{padding-block:var(--section)}
.founder__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,6vw,96px);align-items:center}
.founder__photo{position:relative;aspect-ratio:4 / 4.6;max-width:480px;overflow:hidden;border-radius:var(--r-lg);background:var(--stone-2)}
.founder__photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.founder__photo figcaption{position:absolute;left:0;bottom:0;display:grid;gap:2px;padding:12px 16px 14px;border-top-right-radius:var(--r);background:var(--ink);color:#fff}
.founder__photo figcaption strong{font-weight:800;font-size:var(--fs-card)}
.founder__photo figcaption span{font-size:var(--fs-xs);color:rgba(255,255,255,.72)}
.founder__copy{max-width:560px}
.founder__copy > p:not(.label):not(.lede){margin-top:14px;max-width:52ch;font-size:var(--fs-card);line-height:1.65;color:var(--text-2)}
.founder__copy .ctas{margin-top:28px}

.reviews{padding-block:var(--section)}
.reviews .sec-head{margin-bottom:var(--head-gap)}

.ins-band{padding-block:clamp(56px,6vw,88px)}
.ins-band__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px clamp(40px,6vw,96px);align-items:center}
.ins-band__side{display:grid;gap:24px;justify-items:start}
.ins-band__list{display:grid;gap:10px}
.ins-band__list li{display:flex;align-items:center;gap:12px;font-weight:700;font-size:var(--fs-card)}
.ins-band__list .icon{width:40px;height:40px;padding:10px;stroke-width:1.75}

.book-sec{position:relative;padding-block:var(--section);overflow:hidden;isolation:isolate;background:
  radial-gradient(800px 520px at 0% 100%,var(--accent-glow),transparent 60%),var(--ink)}
.book-sec__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px clamp(40px,6vw,96px);align-items:start}
.book-sec__copy{position:sticky;top:calc(var(--header-h) + 40px)}
.book-sec .h2,.book-sec .display{color:#fff}
.book-sec .h2:focus,.book-sec .display:focus{outline:none}
.book-sec__note{display:flex;align-items:center;gap:10px;margin-top:22px;font-weight:700;font-size:var(--fs-sm);color:#fff}
.book-sec__note .icon{color:var(--accent-soft);stroke-width:2.5}
.book-sec__alt{margin-top:28px;font-size:var(--fs-sm);color:var(--d-text-2)}
.book-sec__alt .link-arrow{margin-left:6px;font-size:var(--fs-sm)}
.book-sec--page{padding-block:clamp(48px,6vw,84px) var(--section)}
.book{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:#fff;color:var(--text);box-shadow:var(--shadow-float)}
.book__cal{position:relative;min-width:0}
.book__frame{display:block;width:100%;height:700px;border:0;background:#fff;transition:opacity .4s var(--ease)}
.book:not(.is-loaded) .book__frame{opacity:0}
.book__loading{position:absolute;left:0;right:0;top:0;height:700px;display:grid;place-content:center;justify-items:center;gap:14px;font-weight:700;font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);pointer-events:none;transition:opacity .3s var(--ease)}
.book__loading span{width:28px;height:28px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}
.book.is-loaded .book__loading{opacity:0}
@keyframes spin{to{transform:rotate(360deg)}}
.book__noscript{padding:24px}
.book__noscript a{font-weight:700;color:var(--accent-strong)}
.book__fallback{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;padding:12px 18px;border-top:1px solid var(--line);font-size:var(--fs-xs);font-weight:700;color:var(--text-3);transition:color .2s var(--ease)}
.book__fallback .icon{color:var(--accent-strong)}
.book__fallback:hover{color:var(--accent-strong)}

/* ==========================================================================
   Trucks
   ========================================================================== */
.inventory{padding-block:clamp(28px,3vw,40px) var(--section)}
.sourcing{padding-block:clamp(56px,6vw,88px)}
.sourcing__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:28px clamp(40px,6vw,96px);align-items:center}
.sourcing__ctas{display:grid;gap:12px;justify-items:start}

/* ==========================================================================
   About
   ========================================================================== */
.journey{padding-block:var(--section)}
.journey__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px clamp(24px,4vw,56px);padding-top:28px;border-top:2px solid var(--accent)}
.journey__no{display:block;font-family:var(--f-display);font-weight:800;font-size:2rem;line-height:.9;color:var(--accent-strong)}
.journey__steps .h3{margin-top:14px}
.journey__steps p{margin-top:8px;max-width:40ch;font-size:var(--fs-card);line-height:1.65;color:var(--text-2)}
.why{padding-block:var(--section)}
.why__intro{max-width:40ch;font-size:var(--fs-body);color:var(--d-text-2)}
.why__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--d-line-2)}
.why__stats div{padding:24px 24px 0 0}
.why__stats div + div{padding-left:24px;border-left:1px solid var(--d-line)}
.why__stats dt{font-family:var(--f-display);font-weight:800;font-size:clamp(2.25rem,1.9rem + 1.3vw,3rem);line-height:.85;color:var(--accent-soft)}
.why__stats dd{margin-top:10px;max-width:24ch;font-size:var(--fs-sm);line-height:1.45;color:var(--d-text-2)}
.why__reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px clamp(32px,5vw,80px);margin-top:clamp(40px,5vw,64px);counter-reset:why}
.why__reasons li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;counter-increment:why}
.why__reasons li::before{content:counter(why,decimal-leading-zero);grid-row:span 2;padding-top:3px;font-weight:700;font-size:var(--fs-xs);color:var(--accent-soft)}
.why__reasons p{margin-top:6px;max-width:46ch;font-size:var(--fs-card);line-height:1.6;color:var(--d-text-2)}
.family{margin-top:clamp(40px,5vw,64px);padding-top:24px;border-top:1px solid var(--d-line)}
.family__label{font-weight:700;font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--d-text-3)}
.family__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:18px}
.family__list li > *{display:grid;gap:2px}
.family__list strong{font-weight:800;font-size:1.0625rem;color:#fff;transition:color .2s}
.family__list small{font-size:var(--fs-sm);color:var(--d-text-3)}
.family__list a:hover strong{color:var(--accent-soft)}

/* ==========================================================================
   Credit & funding
   ========================================================================== */
.paths{padding-block:var(--section)}
.path{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,80px);align-items:center}
.path + .path{margin-top:clamp(56px,7vw,104px);padding-top:clamp(56px,7vw,104px);border-top:1px solid var(--line)}
.path--flip .path__art{order:2}
.path__art{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--r-lg);background:var(--ink)}
.path__art--photo img{width:100%;height:100%;object-fit:cover}
.path__art--gauge{display:grid;place-items:center;background:radial-gradient(520px 360px at 60% 30%,var(--accent-glow),transparent 70%),var(--ink)}
.gauge{width:min(72%,380px);overflow:visible}
.g-track{fill:none;stroke:rgba(255,255,255,.1);stroke-width:16}
.g-arc{fill:none;stroke:var(--accent);stroke-width:16;stroke-dasharray:520;stroke-dashoffset:520;transition:stroke-dashoffset 1.4s var(--ease-out) .2s}
.g-labels text{fill:rgba(255,255,255,.6);font:700 13px var(--f-sans);letter-spacing:.12em;text-anchor:middle;text-transform:uppercase}
.g-needle{stroke:#fff;stroke-width:4;stroke-linecap:round;transform-origin:200px 220px;transform:rotate(-120deg);transition:transform 1.4s var(--ease-out) .2s}
.g-hub{fill:#fff}
.path.is-in .g-arc{stroke-dashoffset:0}
.path.is-in .g-needle{transform:none}
.path__body .lede{margin-top:16px}
.path__body .btn,.path__body .ctas{margin-top:26px}
.next{padding-block:var(--section)}
.next__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.next__card{display:grid;gap:8px;align-content:start;padding:clamp(24px,3vw,36px);border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;transition:border-color .2s var(--ease),transform .3s var(--ease-out)}
.next__card:hover{border-color:var(--accent);transform:translateY(-2px)}
.next__card strong{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.625rem;line-height:1;color:var(--ink)}
.next__card > span:not(.label):not(.next__go){font-size:var(--fs-card);color:var(--text-2)}
.next__go{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:700;font-size:var(--fs-sm);color:var(--accent-strong)}
.next__go .icon{transition:transform .3s var(--ease-out)}
.next__card:hover .next__go .icon{transform:translateX(3px)}

/* ==========================================================================
   Mentorship
   ========================================================================== */
.covers{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px}
.covers li{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:var(--fs-sm);color:#fff}
.covers .icon{font-size:.95rem;color:var(--accent-soft);stroke-width:2.5}
.plans-sec{padding-block:var(--section)}
.plans-sec__note{font-size:var(--fs-sm);font-weight:600;color:var(--text-2)}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:stretch;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.plan{position:relative;display:flex;flex-direction:column;padding:clamp(24px,3vw,36px)}
.plan + .plan{border-left:1px solid var(--line)}
.plan:first-child{border-radius:var(--r-lg) 0 0 var(--r-lg)}
.plan:last-child{border-radius:0 var(--r-lg) var(--r-lg) 0}
.plan__chip{font-weight:700;font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}
.plan__term{display:flex;align-items:baseline;gap:8px;margin-top:14px;font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:1.25rem;line-height:1;color:var(--text-2)}
.plan__term .num{font-size:3rem;line-height:.8;color:var(--ink)}
.plan__price{margin-top:16px;font-family:var(--f-display);font-weight:800;font-size:var(--fs-num);line-height:.9;color:var(--ink)}
.plan__price small{font-size:.5em;vertical-align:top;margin-left:2px}
.plan__desc{margin-top:12px;min-height:3.3em;font-size:var(--fs-card);color:var(--text-2)}
.plan__list{display:grid;gap:10px;margin:20px 0 26px;padding-top:20px;border-top:1px solid var(--line)}
.plan__list li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;font-size:var(--fs-card);font-weight:600;line-height:1.45}
.plan__list .icon{margin-top:3px;font-size:1rem;color:var(--accent-strong);stroke-width:2.5}
.plan .btn{margin-top:auto}
.plan--featured{background:var(--ink);color:#fff;border-left:0!important}
.plan--featured + .plan{border-left:0}
.plan--featured .plan__term,.plan--featured .plan__desc{color:var(--d-text-2)}
.plan--featured .plan__term .num,.plan--featured .plan__price{color:#fff}
.plan--featured .plan__chip,.plan--featured .plan__list .icon{color:var(--accent-soft)}
.plan--featured .plan__list{border-top-color:var(--d-line)}
.plan__ribbon{position:absolute;right:clamp(20px,2.4vw,32px);top:0;transform:translateY(-50%);padding:5px 9px;border-radius:var(--r-xs);background:var(--accent);color:var(--on-accent);font-weight:700;font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase}
.exclusive{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px clamp(32px,5vw,80px);margin-top:var(--gap);padding:clamp(24px,3vw,36px);border-radius:var(--r-lg);background:var(--ink);color:#fff}
.exclusive .label{color:var(--accent-soft)}
.exclusive .h3{margin-top:8px;color:#fff}
.exclusive p:not(.label){margin-top:8px;max-width:52ch;font-size:var(--fs-card);color:var(--d-text-2)}
.consult{padding-block:var(--section)}
.consult__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px clamp(40px,6vw,96px);align-items:center}
.consult__slots{border-top:1px solid var(--line)}
.slot{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px clamp(18px,2.4vw,32px);padding:26px 0;border-bottom:1px solid var(--line)}
.slot__dial{position:relative;display:grid;place-items:center;width:84px;aspect-ratio:1}
.slot__dial svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--line);stroke-width:4}
.slot__dial .slot__arc{stroke:var(--accent)}
.slot__dial .num{position:relative;font-family:var(--f-display);font-weight:800;font-size:2rem;line-height:.8;color:var(--ink)}
.slot__body p{margin-top:4px;font-size:var(--fs-card);color:var(--text-2)}
.slot__end{display:grid;justify-items:end;gap:10px}
.slot__price{font-family:var(--f-display);font-weight:800;font-size:var(--fs-num);line-height:.85;color:var(--ink)}
.consult__key{margin-top:18px;font-size:var(--fs-sm);color:var(--text-3)}
.consult__key a{font-weight:700;color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}

/* ==========================================================================
   Freight
   ========================================================================== */
.freight-body{padding-block:var(--section)}
.freight-body__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px clamp(40px,6vw,96px);align-items:center}
.freight-body .checks{margin-top:24px}
.board{padding:clamp(24px,2.8vw,32px);border-radius:var(--r-lg);background:var(--stone)}
.board__title{font-weight:800;font-size:var(--fs-h4);color:var(--ink)}
.board ul{margin-top:12px}
.board li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line-2)}
.board li strong{font-weight:600;font-size:var(--fs-card)}
.status{display:inline-flex;align-items:center;gap:7px;flex:none;font-weight:700;font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:var(--ok)}
.status .key{background:var(--ok);border-radius:50%}

/* ==========================================================================
   Careers + referral
   ========================================================================== */
.roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.roles li{padding:8px 12px;border:1px solid var(--d-line-2);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;color:#fff}
.work,.refer{padding-block:var(--section)}
.work__grid,.refer__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px clamp(40px,6vw,96px);align-items:start}
.values{display:grid;gap:12px;margin-top:24px}
.values li{font-size:var(--fs-body);color:var(--text-2)}
.values strong{color:var(--ink);font-weight:800}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1180px){
  .hero__facts{gap:8px 20px}
  .why__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why__stats div:nth-child(3){padding-left:0;border-left:0}
  .why__stats div:nth-child(n+3){margin-top:24px;padding-top:24px;border-top:1px solid var(--d-line)}
  .family__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .hero__grid{grid-template-columns:minmax(0,1fr);row-gap:44px}
  .hero__visual{justify-self:start;max-width:500px}
  .founder__grid,.ins-band__grid,.book-sec__grid,.sourcing__grid,.path,.consult__grid,.freight-body__grid,.work__grid,.refer__grid{grid-template-columns:minmax(0,1fr)}
  .path--flip .path__art{order:0}
  .path__art{max-width:560px}
  .founder__photo{max-width:440px}
  .journey__steps{grid-template-columns:minmax(0,1fr);gap:28px}
  .lanes__list{grid-template-columns:minmax(0,1fr)}
  .lanes__list li:nth-last-child(-n+2){border-bottom:0}
  .lanes__list li:last-child{border-bottom:1px solid var(--line-2)}
  .plans{grid-template-columns:minmax(0,1fr);max-width:560px;margin-inline:auto;border:0;background:transparent;gap:16px}
  .plan,.plan:first-child,.plan:last-child{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
  .plans .plan--featured{border:0;background:var(--ink)}
  .plan__desc{min-height:0}
  .exclusive{grid-template-columns:minmax(0,1fr);max-width:560px;margin-inline:auto}
  .book-sec__copy{position:static}
  .next__grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .hero__grid{padding-block:36px 44px;row-gap:32px}
  .hero__lede{margin-top:18px}
  .hero__ctas{margin-top:26px}
  .hero__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;font-size:var(--fs-xs);line-height:1.35}
  .hero__facts span{display:grid;gap:4px}
  .hero__facts b{font-size:1.5rem}
  .hero__visual{max-width:none}
  .hero__photo{display:grid;grid-template-columns:60px minmax(0,1fr);gap:14px;align-items:start;aspect-ratio:auto;padding:16px;border:1px solid var(--d-line-2);border-radius:var(--r);background:rgba(255,255,255,.05);overflow:visible}
  .hero__photo::after{display:none}
  .hero__photo picture{width:60px;height:60px;border-radius:50%;overflow:hidden}
  .hero__photo img{object-position:48% 24%;transform:scale(2.3);transform-origin:48% 22%}
  .hero__quote{position:static;padding:0}
  .hero__quote p{font-size:var(--fs-card);line-height:1.5}
  .hero__sig{margin-top:10px}
  .hero__sig strong{font-size:1rem}
  .hero__sig span{font-size:var(--fs-xs)}
  .featured__foot .btn{width:100%}
  .featured__foot .btn__label{flex:1}
  .lanes__list a{grid-template-columns:36px minmax(0,1fr) 20px;padding:16px 0}
  .lanes__body strong{font-size:1.25rem}
  .founder__photo{max-width:none;aspect-ratio:4 / 4.2}
  .ins-band__side .btn{width:100%}
  .ins-band__side .btn__label{flex:1}
  .book{margin-inline:calc(var(--gutter) * -1);border-radius:0}
  .book__frame,.book__loading{height:760px}
  .book__fallback{justify-content:center}
  .sourcing__ctas,.sourcing__ctas .btn{width:100%}
  .sourcing__ctas .btn__label{flex:1}
  .journey__steps{padding-top:24px}
  .why__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why__stats div,.why__stats div + div{padding:20px 12px 0 0;border-left:0}
  .why__stats div:nth-child(n+3){margin-top:20px;padding-top:20px}
  .why__reasons{grid-template-columns:minmax(0,1fr);gap:20px}
  .family__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .path + .path{margin-top:56px;padding-top:56px}
  .path__art{margin-inline:calc(var(--gutter) * -1);border-radius:0;max-width:none}
  .path__body .btn{width:100%}
  .path__body .btn__label{flex:1}
  .covers{gap:8px 16px}
  .exclusive .btn{width:100%}
  .exclusive .btn__label{flex:1}
  .slot{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"dial body" "end end";gap:14px 16px;padding:22px 0}
  .slot__dial{grid-area:dial;width:64px}
  .slot__dial .num{font-size:1.5rem}
  .slot__body{grid-area:body}
  .slot__end{grid-area:end;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:stretch;gap:16px}
  .slot__end .btn{justify-self:end}
  .board{margin-inline:calc(var(--gutter) * -1);border-radius:0;padding:24px var(--gutter)}
  .cta-band .ctas .btn{width:100%}
}

/* ==========================================================================
   Insured By Schulz quote page
   ========================================================================== */
/* ---------- Step card (home and quote page) ---------- */
.ibs-card{position:relative;background:#fff;color:var(--text);border-radius:var(--r-lg);padding:clamp(24px,3vw,40px);box-shadow:var(--shadow-float)}
.ibs-card--wide{max-width:960px;margin-inline:auto}
.ibs-card__head{margin-bottom:6px}
.ibs-step{font-weight:700;font-size:.75rem;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}
.ibs-step span{margin:0 .35em}
.ibs-card__title{margin-top:10px;font-family:var(--f-form);font-weight:800;font-size:clamp(1.75rem,1.45rem + 1vw,2.375rem);line-height:1.1;letter-spacing:-.025em;color:var(--ink)}
.ibs-card__sub{margin-top:8px;font-size:var(--fs-body);color:var(--text-2)}
.ibs-form .field label{font-size:var(--fs-sm);font-weight:700;color:var(--ink)}
.ibs-form .field label span{font-weight:500;color:var(--text-3)}
.ibs-card__fine,.ibs-quote__fine{margin-top:-2px;text-align:center;font-size:var(--fs-xs);color:var(--text-3)}
.ibs-card__links{display:flex;justify-content:center;gap:10px;font-size:var(--fs-xs);font-weight:600}
.ibs-card__links a{color:var(--accent-strong)}
.ibs-card__links a:hover{text-decoration:underline}
.ibs-card__links span{color:var(--text-3)}

/* ---------- Quote page: hero ---------- */
.ibs-hero{position:relative;overflow:hidden;isolation:isolate;background:
  radial-gradient(900px 560px at 90% 0%,var(--accent-glow),rgba(43,82,255,0) 62%),
  linear-gradient(180deg,var(--ink) 0%,var(--ink-deep) 100%)}
.ibs-hero__grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;min-height:clamp(560px,44vw,680px);padding-block:clamp(56px,6vw,96px)}
.ibs-hero__copy{position:relative;z-index:2;max-width:600px}
.ibs-hero__title{margin-top:18px;color:#fff}
.ibs-hero__lede{margin-top:24px;max-width:34ch;font-size:clamp(1.125rem,1.05rem + .4vw,1.375rem);line-height:1.5;color:var(--d-text);text-wrap:pretty}
.ibs-hero__ctas{margin-top:32px}
/* Photo bleeds off the right edge and fades into the navy, as in the approved comp */
.ibs-hero__photo{position:absolute;top:0;right:0;bottom:0;z-index:0;width:min(62%,960px);margin:0;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.04) 6%,rgba(0,0,0,.14) 13%,rgba(0,0,0,.32) 21%,rgba(0,0,0,.56) 29%,rgba(0,0,0,.8) 37%,rgba(0,0,0,.94) 44%,#000 52%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.04) 6%,rgba(0,0,0,.14) 13%,rgba(0,0,0,.32) 21%,rgba(0,0,0,.56) 29%,rgba(0,0,0,.8) 37%,rgba(0,0,0,.94) 44%,#000 52%)}
.ibs-hero__photo picture,.ibs-hero__photo img{display:block;width:100%;height:100%}
.ibs-hero__photo img{object-fit:cover;object-position:46% 32%}
.ibs-hero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,15,36,.25) 0%,rgba(5,15,36,0) 22%,rgba(5,15,36,0) 66%,rgba(5,15,36,.82) 100%);pointer-events:none}
.ibs-hero__photo figcaption{position:absolute;left:62%;bottom:28px;z-index:2;transform:translateX(-50%);max-width:calc(100% - 32px);padding:8px 14px;border-radius:var(--r-sm);background:rgba(5,15,36,.84);border:1px solid var(--d-line-2);font-weight:600;font-size:var(--fs-sm);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibs-hero__photo figcaption span{margin:0 .35em;color:var(--d-text-2)}

/* ---------- Quote page: story ---------- */
.ibs-story{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(64px,7vw,104px);background:var(--ink-deep);border-top:1px solid var(--d-line)}
.ibs-story__bg{position:absolute;inset:0 0 0 38%;z-index:-1;opacity:.28;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%)}
.ibs-story__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.7)}
.ibs-story__copy{max-width:920px}
.ibs-story__text,.ibs-story__close{max-width:680px}
.ibs-story__title{font-size:clamp(2rem,1.5rem + 1.8vw,3.25rem)}
@media (min-width:981px){.ibs-story__title .ln{display:inline}}
.ibs-story__text{margin-top:24px}
.ibs-story__text p{max-width:60ch;font-size:clamp(1.0625rem,1rem + .2vw,1.1875rem);line-height:1.7;color:var(--d-text)}
.ibs-story__text p + p{margin-top:14px}
.ibs-story__text strong{color:#fff;font-weight:800}
.ibs-story__close{margin-top:22px;max-width:40ch;font-weight:800;font-size:clamp(1.1875rem,1.1rem + .4vw,1.375rem);line-height:1.4;color:#fff;text-wrap:balance}

/* ---------- Quote page: brand + step 1 ---------- */
.ibs-start{padding-block:clamp(56px,6vw,88px) clamp(64px,7vw,104px);background:linear-gradient(180deg,var(--ink-deep) 0%,var(--ink) 100%)}
.ibs-brand{margin-bottom:clamp(28px,3vw,40px);text-align:center}
.ibs-brand__name{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.6vw,36px);font-family:var(--f-display);font-weight:900;font-size:clamp(2.5rem,1.9rem + 2.4vw,4rem);line-height:.9;letter-spacing:.01em;text-transform:uppercase;color:var(--accent-soft)}
.ibs-brand__name::before,.ibs-brand__name::after{content:"";flex:1 1 0;max-width:240px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent))}
.ibs-brand__name::after{background:linear-gradient(90deg,var(--accent),transparent)}
@supports (-webkit-background-clip:text) or (background-clip:text){
  .ibs-brand__name span{background:linear-gradient(180deg,#f7dc8f 0%,#e9b955 60%,#d6a03a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
}
.ibs-brand__tag{margin-top:10px;font-weight:700;font-size:clamp(1rem,.95rem + .25vw,1.1875rem);color:#fff}

/* ---------- Step 2: header ---------- */
.ibs-dhead{padding-block:clamp(40px,5vw,64px) clamp(32px,4vw,44px);background:
  radial-gradient(800px 420px at 100% 0%,var(--accent-glow),transparent 62%),var(--ink)}
.ibs-dhead__title{margin-top:12px;font-family:var(--f-form);font-weight:900;font-size:clamp(1.75rem,1.1rem + 2.5vw,3.25rem);line-height:1.02;letter-spacing:-.015em;color:#fff}
.ibs-dhead__title:focus{outline:none}
.ibs-dhead__lede{margin-top:14px;max-width:60ch;font-size:var(--fs-lede);color:var(--d-text)}
.ibs-dhead__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:28px}
.ibs-progress{display:flex;align-items:center;gap:14px;font-weight:700;font-size:var(--fs-card);color:#fff}
.ibs-progress li{display:inline-flex;align-items:center;gap:12px}
.ibs-progress li + li::before{content:"";width:clamp(32px,8vw,120px);height:2px;margin-right:2px;border-radius:2px;background:var(--accent)}
.ibs-progress__dot{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;font-weight:800;font-size:1rem}
.ibs-progress .is-done .ibs-progress__dot{background:var(--accent);color:var(--ink);font-size:1.05rem}
.ibs-progress .is-done .icon{stroke-width:3}
.ibs-progress .is-current .ibs-progress__dot{background:#fff;color:var(--ink)}

/* ---------- Step 2: form + sidebar ---------- */
.ibs-dbody{padding-block:clamp(28px,3.5vw,48px) clamp(48px,5vw,72px);background:var(--stone)}
.ibs-dbody__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:clamp(20px,2.4vw,32px);align-items:start}
.ibs-panel{min-width:0;padding:clamp(22px,3vw,40px);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}
.ibs-quote{gap:20px}
.ibs-quote__title{font-family:var(--f-form);font-weight:800;font-size:clamp(1.5rem,1.3rem + .7vw,2rem);line-height:1.15;letter-spacing:-.025em;color:var(--ink)}

.ibs-contact{border:1px solid var(--line);border-radius:var(--r);background:#f5f8fd}
.ibs-contact summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 16px;cursor:pointer;list-style:none;border-radius:var(--r)}
.ibs-contact summary::-webkit-details-marker{display:none}
.ibs-contact summary:focus-visible{outline-offset:2px}
.ibs-contact__check{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:.8rem}
.ibs-contact__check .icon{stroke-width:3}
.ibs-contact__label{flex:1;min-width:0;font-weight:800;font-size:var(--fs-card);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibs-contact__who{margin-left:6px;font-weight:500;color:var(--text-3)}
.ibs-contact__edit{display:inline-flex;align-items:center;gap:6px;flex:none;font-weight:600;font-size:var(--fs-sm);color:var(--text-2)}
.ibs-contact__edit .icon{transition:transform .3s var(--ease-out)}
.ibs-contact[open] .ibs-contact__edit .icon{transform:rotate(180deg)}
.ibs-contact__short{display:none}
.ibs-contact__body{display:grid;gap:14px;padding:6px 16px 18px}
.ibs-contact.is-invalid{border-color:var(--err)}

.ibs-docs{display:grid;gap:10px}
.ibs-docs legend{padding:0;margin-bottom:10px;font-weight:800;font-size:var(--fs-h4);color:var(--ink)}
.ibs-docs legend span{font-weight:500;font-size:var(--fs-card);color:var(--text-3)}
.ibs-drop{display:flex;align-items:center;gap:18px;padding:20px clamp(16px,2vw,24px);border:1.5px dashed #9fb6dd;border-radius:var(--r);background:#fbfcff;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease)}
.ibs-drop:hover,.ibs-drop.is-over{background:#f0f5ff;border-color:var(--accent-strong)}
.ibs-drop__icon{flex:none;font-size:2.5rem;color:var(--accent-strong)}
.ibs-drop__icon .icon{stroke-width:1.5}
.ibs-drop__text{display:grid;gap:2px;min-width:0}
.ibs-drop__text strong{font-weight:800;font-size:var(--fs-card);color:var(--ink)}
.ibs-drop__text span{font-size:var(--fs-sm);color:var(--text-2)}
.ibs-drop__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ibs-drop__input:focus-visible + .ibs-docs__hint,.ibs-docs:focus-within .ibs-drop{border-color:var(--accent-strong)}
.ibs-docs:has(.ibs-drop__input:focus-visible) .ibs-drop{outline:2px solid var(--accent-strong);outline-offset:3px}
.ibs-docs__hint{font-size:var(--fs-xs);color:var(--text-3)}
.ibs-files{display:grid;gap:8px}
.ibs-files:empty{display:none}
.ibs-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font-size:var(--fs-sm)}
.ibs-file .icon{font-size:1.15rem;color:var(--text-3)}
.ibs-file__name{min-width:0;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibs-file__name small{margin-left:8px;font-weight:500;color:var(--text-3)}
.ibs-file__state{font-weight:700;font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap}
.ibs-file.is-done .ibs-file__state{color:#1a7a43}
.ibs-file.is-error .ibs-file__state{color:var(--err)}
.ibs-file__remove{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-xs);color:var(--text-2);transition:background-color .2s,color .2s}
.ibs-file__remove:hover{background:var(--stone);color:var(--ink)}

.ibs-done{display:grid;justify-items:start;gap:14px;padding-block:12px}
.ibs-done:focus{outline:none}
.ibs-done__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--ink);font-size:1.5rem}
.ibs-done__icon .icon{stroke-width:2.6}
.ibs-done p{max-width:52ch;font-size:var(--fs-lede);color:var(--text-2)}

.ibs-side{position:sticky;top:calc(var(--header-h) + 24px);display:grid;gap:0;padding:clamp(20px,2vw,28px);background:var(--ink);color:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-card)}
.ibs-side__photo{margin-bottom:18px;aspect-ratio:4 / 4.6;overflow:hidden;border-radius:var(--r);background:var(--ink-3)}
.ibs-side__photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.ibs-side__name{font-weight:800;font-size:1.375rem;line-height:1.2;letter-spacing:-.015em}
.ibs-side__meta{margin-top:2px;padding-bottom:18px;border-bottom:1px solid var(--accent);font-size:var(--fs-card);color:var(--d-text-2)}
.ibs-side__title{margin-top:20px;font-family:var(--f-form);font-weight:900;font-size:clamp(1.5rem,1.3rem + .5vw,1.875rem);line-height:1.04;letter-spacing:-.01em;text-transform:uppercase;color:var(--accent-soft)}
.ibs-side__text{margin-top:12px;font-size:var(--fs-card);line-height:1.55;color:var(--d-text-2)}
.ibs-side__list{margin-top:18px}
.ibs-side__list li{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--d-line);font-weight:700;font-size:var(--fs-card)}
.ibs-side__list li:last-child{padding-bottom:0}

/* ---------- Step 2: what happens next ---------- */
.ibs-next{padding-block:clamp(48px,5vw,72px);background:var(--ink)}
.ibs-next__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 0;margin-top:28px}
.ibs-next__steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding-right:clamp(16px,2.5vw,36px)}
.ibs-next__steps li + li{padding-left:clamp(16px,2.5vw,36px);border-left:1px solid var(--d-line-2)}
.ibs-next__no{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:800}
.ibs-next .h2{font-family:var(--f-form);font-weight:900;font-size:clamp(1.625rem,1.3rem + 1.2vw,2.375rem);line-height:1.05;letter-spacing:-.015em}
.ibs-next__steps .h4{color:#fff;font-size:var(--fs-title)}
.ibs-next__steps p{margin-top:6px;max-width:34ch;font-size:var(--fs-card);line-height:1.55;color:var(--d-text-2)}


/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .ibs-dbody__grid{grid-template-columns:minmax(0,1fr) 300px}
}
@media (max-width:980px){
  .ibs-hero__grid{grid-template-columns:minmax(0,1fr)}
  .ibs-hero__grid{min-height:0;padding-bottom:28px}
  .ibs-hero__photo{position:relative;inset:auto;width:auto;margin:0 var(--gutter) clamp(44px,6vw,64px);max-width:600px;aspect-ratio:16 / 11;border-radius:var(--r-lg);overflow:hidden;-webkit-mask-image:none;mask-image:none}
  .ibs-hero__photo figcaption{left:50%}
  .ibs-dbody__grid{grid-template-columns:minmax(0,1fr)}
  .ibs-side{position:static;grid-template-columns:200px minmax(0,1fr);column-gap:24px}
  .ibs-side__photo{grid-row:span 6;margin-bottom:0}
  .ibs-story__bg{inset:0;opacity:.18;-webkit-mask-image:none;mask-image:none}
}
@media (max-width:760px){
  .ibs-next__steps{grid-template-columns:minmax(0,1fr);gap:0}
  .ibs-next__steps li,.ibs-next__steps li + li{padding:18px 0;border-left:0;border-top:1px solid var(--d-line)}
  .ibs-next__steps li:first-child{padding-top:0;border-top:0}
}
@media (max-width:640px){
  .ibs-start .ibs-card{margin-inline:calc(var(--gutter) * -1);border-radius:0}
  .ibs-start{padding-bottom:0}
  .ibs-hero__grid{padding-block:36px 24px}
  .ibs-hero__ctas .btn{width:100%}
  .ibs-hero__ctas .btn__label{flex:1}
  .ibs-hero__photo{max-width:none;margin-bottom:44px;aspect-ratio:4 / 3.4}
  .ibs-brand__name::before,.ibs-brand__name::after{max-width:48px}
  .ibs-dhead__bar{flex-direction:column;align-items:flex-start}
  .ibs-progress{font-size:var(--fs-sm);gap:10px}
  .ibs-progress li{gap:8px}
  .ibs-progress__dot{width:30px;height:30px;font-size:.875rem}
  .ibs-dbody{padding-top:0}
  .ibs-panel{margin-inline:calc(var(--gutter) * -1);border-radius:0;border-inline:0;box-shadow:none}
  .ibs-contact__long{display:none}
  .ibs-contact__short{display:inline}
  .ibs-contact__who{display:none}
  .ibs-drop{gap:14px}
  .ibs-drop__icon{font-size:2rem}
  .ibs-file{grid-template-columns:auto minmax(0,1fr) auto;row-gap:2px}
  .ibs-file__state{grid-column:2;grid-row:2}
  .ibs-file__remove{grid-column:3;grid-row:1 / span 2}
  .ibs-side{grid-template-columns:minmax(0,1fr);margin-inline:calc(var(--gutter) * -1);border-radius:0}
  .ibs-side__photo{grid-row:auto;margin-bottom:18px;aspect-ratio:4 / 3.6}
}
@media (max-width:374px){
  .ibs-progress li + li::before{width:24px}
}

/* ---------- Step 2 brand row ---------- */
.ibs-dbrand{display:flex;align-items:center;gap:clamp(14px,2vw,28px);padding-bottom:clamp(18px,2vw,24px);margin-bottom:clamp(22px,2.4vw,30px);border-bottom:1px solid var(--d-line-2)}
.ibs-dbrand__name{font-family:var(--f-form);font-weight:900;font-size:clamp(1.25rem,1rem + 1.2vw,2.25rem);line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:var(--accent-soft);white-space:nowrap}
@supports (-webkit-background-clip:text) or (background-clip:text){
  .ibs-dbrand__name{background:linear-gradient(180deg,#f7dc8f 0%,#e9b955 60%,#d6a03a 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
}
.ibs-dbrand__who{display:grid;gap:2px;padding-left:clamp(14px,2vw,28px);border-left:1px solid var(--d-line-2);line-height:1.2;min-width:0}
.ibs-dbrand__who strong{font-family:var(--f-form);font-weight:800;font-size:clamp(.9375rem,.85rem + .35vw,1.1875rem);text-transform:uppercase;letter-spacing:.01em;color:#fff}
.ibs-dbrand__who span{font-size:var(--fs-sm);color:var(--d-text-2)}

/* ---------- Gold CTA with the arrow beside the words ---------- */
.btn--cta{justify-content:center;gap:.55em;padding-inline:1.5rem}
.btn--cta .btn__label{padding:0}
.btn--cta .btn__icon{width:auto;border:0;font-size:1em}
.btn--cta .btn__icon .icon{stroke-width:2.4}
.btn--cta:hover .btn__icon .icon{transform:translateX(3px)}
.btn--cta[href="#quote"]:hover .btn__icon .icon{transform:translateY(3px)}
@media (max-width:640px){
  .ibs-dbrand{flex-wrap:wrap;row-gap:10px}
  .ibs-dbrand__who{padding-left:0;border-left:0}
  .ibs-hero__ctas .btn--cta .btn__label{flex:0 1 auto}
}
