/* HeadStart homepage v3 — immersive layer on top of site.css
   Concept: the page shows one prospect's journey instead of describing the system.
   Portrait carries the hero; the scroll timeline is the product demo; the calculator is the close. */

/* ---------- reveal on scroll (only when JS is running) ---------- */
.js .rv{opacity:.55;transform:translateY(14px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}

/* ---------- hero ---------- */
.h3x{position:relative;overflow:hidden;padding-block:clamp(24px,3vw,40px) 0}
.h3x::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 78% 30%,rgba(201,162,75,.10),transparent 62%);pointer-events:none}
.h3x-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,72px);align-items:end;min-height:min(calc(100vh - 130px),800px)}
.h3x-grid>*{min-width:0}
.h3x-copy{display:flex;flex-direction:column;gap:24px;padding-bottom:clamp(48px,7vw,96px);align-self:center}
.h3x-copy h1{font-size:clamp(3rem,7.4vw,6.4rem)}
.h3x-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mist)}
.h3x-eyebrow::before{content:"";width:28px;height:1px;background:var(--champ-l)}
.h3x-eyebrow span{white-space:nowrap}
.h3x-eyebrow i{font-style:normal;color:var(--champ-l);opacity:.6}
.h3x-lead{font-family:var(--f-serif);font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.4;color:var(--cream);max-width:30ch}
.h3x-lead em{color:var(--champ-l)}
.h3x-sub{color:var(--mist);max-width:42ch}
.h3x-photo{position:relative;align-self:stretch;display:flex;align-items:flex-end}
.h3x-photo .vid{width:100%;aspect-ratio:4/5;max-height:min(calc(100vh - 140px),780px);margin-left:auto;background:transparent}
.h3x-photo .vid,.h3x-photo .vid .media,.h3x-photo .media::after{background:transparent!important}
.h3x-photo .vid img{mix-blend-mode:lighten;filter:grayscale(1) contrast(1.18) brightness(.86)!important}
.h3x-photo .vid .media{background:transparent}
.h3x-photo .vid::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(to top,var(--ink) 0,rgba(11,19,36,.55) 18%,transparent 42%),linear-gradient(to right,var(--ink) 0,transparent 22%),linear-gradient(to left,var(--ink) 0,transparent 14%),linear-gradient(to bottom,var(--ink) 0,transparent 14%)}
.h3x-photo .vid .play{left:auto;right:28px;top:auto;bottom:96px;transform:none;width:64px;height:64px}
.h3x-photo .vid:hover .play{transform:scale(1.05)}
.h3x-photo .vid .cap{display:none!important}
.h3x-name{position:absolute;z-index:3;left:clamp(16px,3vw,28px);bottom:28px;display:flex;flex-direction:column;gap:2px;color:var(--cream)}
.h3x-name b{font-family:var(--f-serif);font-weight:400;font-size:1.15rem}
.h3x-name span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist)}
.h3x-name small{font-size:.72rem;color:var(--champ-l);letter-spacing:.06em;margin-top:6px}
@media (max-width:900px){
  .h3x-grid{grid-template-columns:1fr;min-height:0}
  .h3x-copy{padding-bottom:8px}
  .h3x-photo{margin-inline:calc(var(--gut) * -1)}
  .h3x{padding-top:0}
  .h3x-photo{order:-1;margin-bottom:-110px}
  .h3x-copy{position:relative;z-index:3}
  .h3x-photo .vid{max-height:none;aspect-ratio:1/1.02}
  .h3x-photo .vid img{object-position:50% 8%}
  .h3x-name{display:none}
  .h3x-photo .vid::after{background:linear-gradient(to top,var(--ink) 0,var(--ink) 10%,rgba(11,19,36,.6) 32%,transparent 58%),linear-gradient(to bottom,var(--ink) 0,transparent 12%),linear-gradient(to left,var(--ink) 0,transparent 18%),linear-gradient(to right,var(--ink) 0,transparent 18%)}
  .h3x-photo .vid .play{bottom:auto;top:24px;right:20px;width:56px;height:56px}
}

/* ---------- proof ---------- */
.p3x{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,80px);align-items:end}
.p3x>*{min-width:0}
.p3x .numeral{font-variant-numeric:tabular-nums lining-nums}
.p3x-net{margin-top:clamp(36px,5vw,56px);padding-top:22px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px 28px;align-items:baseline;justify-content:space-between}
.p3x-net p{font-size:.92rem;color:var(--mute);max-width:80ch}
.p3x-net p b{font-family:var(--f-serif);font-weight:400;color:var(--fg);font-size:1rem}
@media (max-width:800px){.p3x{grid-template-columns:1fr}}

/* ---------- watch it work (scroll timeline) ---------- */
.w3x{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px)}
.w3x>*{min-width:0}
.w3x-phone-wrap{position:sticky;top:110px;align-self:start;display:flex;justify-content:center}
.phone{width:min(320px,100%);aspect-ratio:9/18.5;border-radius:42px;padding:12px;background:#05080F;border:1px solid rgba(201,162,75,.35);box-shadow:0 40px 80px -30px rgba(0,0,0,.7),inset 0 0 0 1px rgba(239,232,218,.05)}
.phone-screen{height:100%;border-radius:32px;background:linear-gradient(180deg,#0F182B,#0B1324);overflow:hidden;display:flex;flex-direction:column}
.phone-top{padding:18px 18px 12px;border-bottom:1px solid rgba(239,232,218,.08);display:flex;align-items:center;gap:10px}
.phone-top i{width:30px;height:30px;border-radius:50%;background:rgba(201,162,75,.18);display:grid;place-items:center;font:600 .7rem var(--f-sans);color:var(--champ-l);font-style:normal}
.phone-top b{font-weight:600;font-size:.82rem;color:var(--cream);display:block}
.phone-top small{font-size:.66rem;color:var(--mist)}
.thread{flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:9px;justify-content:flex-end;overflow:hidden}
.msg{max-width:84%;padding:9px 12px;border-radius:16px;font-size:.78rem;line-height:1.4;color:var(--cream)}
.msg small{display:block;font-size:.6rem;opacity:.55;margin-top:3px}
.msg.in{align-self:flex-start;background:rgba(239,232,218,.09);border-bottom-left-radius:5px}
.msg.out{align-self:flex-end;background:rgba(201,162,75,.22);border-bottom-right-radius:5px}
.msg.sys{align-self:stretch;max-width:none;border-radius:12px;background:var(--champ);color:var(--ink);font-weight:600;display:flex;justify-content:space-between;gap:8px}
.msg.sys small{opacity:.7}
.msg.gap{align-self:center;background:none;color:var(--mist);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;padding:2px}
.js .thread .msg{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease;display:none}
.js .thread .msg.on{display:block;opacity:1;transform:none}
.js .thread .msg.sys.on{display:flex}
.w3x-steps{display:flex;flex-direction:column}
.step{min-height:46vh;display:flex;flex-direction:column;justify-content:center;gap:12px;padding-block:24px;border-left:1px solid var(--rule);padding-left:clamp(20px,3vw,40px);position:relative;transition:opacity .4s}
.js .step{opacity:.35}
.js .step.active{opacity:1}
.step::before{content:"";position:absolute;left:-5px;top:50%;width:9px;height:9px;border-radius:50%;background:var(--ink);border:1px solid var(--champ-l);transition:background .3s}
.step.active::before{background:var(--champ-l)}
.step time{font-size:.7rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--champ-l)}
.step h3{font-family:var(--f-display);font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.1}
.step p{color:var(--mist);max-width:40ch}
.step .msg{display:none}
.w3x-close{margin-top:clamp(40px,6vw,72px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
@media (max-width:900px){
  .w3x{grid-template-columns:1fr}
  .w3x-phone-wrap{display:none}
  .step{min-height:0;padding-block:22px}
  .js .step{opacity:1}
  .step::before{top:30px}
  .step .msg{display:block;opacity:1!important;transform:none!important;margin-top:4px}
  .step .msg.sys{display:flex}
}

/* ---------- services tabs ---------- */
.t3x-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--rule);margin-bottom:clamp(32px,5vw,56px)}
.t3x-tabs button{font:500 1rem var(--f-sans);background:none;border:0;border-bottom:2px solid transparent;color:var(--mute);padding:14px 22px 14px 0;margin-right:22px;cursor:pointer;margin-bottom:-1px;white-space:nowrap}
.t3x-tabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--accent)}
.t3x-tabs button:focus-visible{outline:1px solid var(--accent);outline-offset:4px}
.t3x-panel{display:grid;grid-template-columns:5fr 6fr;gap:clamp(32px,6vw,96px);align-items:center}
.t3x-panel>*{min-width:0}
.t3x-panel[hidden]{display:none}
.t3x-panel h3{font-family:var(--f-display);font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.06}
.t3x-panel .stack{gap:20px}
.t3x-panel .stack .tlink{align-self:flex-start}
.t3x-panel ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.t3x-panel li{padding:12px 0;border-bottom:1px solid var(--rule);font-family:var(--f-serif);font-size:1.08rem}
@media (max-width:860px){
  .t3x-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .t3x-tabs::-webkit-scrollbar{display:none}
  .t3x-panel{grid-template-columns:1fr}
}
/* UI cards (illustrative) */
.ui{background:var(--ink);color:var(--cream);border:1px solid rgba(201,162,75,.3);padding:clamp(20px,3vw,32px);box-shadow:0 40px 70px -40px rgba(11,19,36,.55);display:flex;flex-direction:column;gap:14px;position:relative}
.ui-h{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);padding-bottom:12px;border-bottom:1px solid rgba(239,232,218,.1)}
.ui-h b{color:var(--champ-l);font-weight:600}
.ui-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;font-size:.9rem}
.ui-row i{width:34px;height:34px;border-radius:50%;background:rgba(239,232,218,.08);display:grid;place-items:center;font:600 .72rem var(--f-sans);font-style:normal;color:var(--cream)}
.ui-row span small{display:block;color:var(--mist);font-size:.76rem}
.ui-bar{width:72px;height:4px;background:rgba(239,232,218,.1);position:relative}
.ui-bar::after{content:"";position:absolute;inset:0;width:var(--w);background:var(--champ-l)}
.ui-kv{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;padding:6px 0;border-bottom:1px dashed rgba(239,232,218,.1)}
.ui-kv span{color:var(--mist)}
.ui-ok{color:var(--champ-l)}
.ui-pill{align-self:flex-start;font-size:.72rem;font-weight:600;letter-spacing:.06em;padding:6px 12px;border:1px solid rgba(214,182,110,.5);color:var(--champ-l)}
.ui-pill.solid{background:var(--champ);border-color:var(--champ);color:var(--ink)}
.ui-quote{font-family:var(--f-serif);font-style:italic;font-size:1rem;color:var(--cream);opacity:.9}
.ui-prog{height:4px;background:rgba(239,232,218,.1)}
.ui-prog i{display:block;height:100%;width:75%;background:var(--champ-l)}
.ui-note{font-size:.7rem;color:var(--mist);letter-spacing:.04em}

/* ---------- results row ---------- */
.r3x{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border-block:1px solid var(--rule)}
.r3x a{background:var(--bg);padding:clamp(24px,3vw,36px) clamp(18px,2vw,28px);display:flex;flex-direction:column;gap:10px;transition:background .25s}
.r3x a:hover{background:var(--ink-2)}
.r3x .v{font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.r3x .n{font-family:var(--f-display);font-size:clamp(2.6rem,4vw,3.6rem);line-height:1;color:var(--fg)}
.r3x .l{color:var(--fg);opacity:.85}
.r3x .w{font-size:.82rem;color:var(--mute);margin-top:auto;padding-top:14px}
.r3x-foot{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,6vw,96px);align-items:center;margin-top:clamp(48px,6vw,72px)}
.r3x-foot>*{min-width:0}
.r3x-foot blockquote{margin:0;font-family:var(--f-serif);font-style:italic;font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.45}
.r3x-foot cite{display:block;margin-top:14px;font-style:normal;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
@media (max-width:900px){
  .r3x{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1px;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scrollbar-width:none;background:transparent;border:0}
  .r3x::-webkit-scrollbar{display:none}
  .r3x a{flex:0 0 78%;scroll-snap-align:start;border:1px solid var(--rule)}
  .r3x-foot{grid-template-columns:1fr}
  .swipe-hint{display:block!important}
}
.swipe-hint{display:none;font-size:.74rem;color:var(--mute);margin-top:12px;letter-spacing:.06em}

/* ---------- calculator ---------- */
.c3x{display:grid;grid-template-columns:6fr 5fr;gap:clamp(32px,6vw,96px);align-items:center}
.c3x>*{min-width:0}
.c3x-in{display:flex;flex-direction:column;gap:30px}
.seg3{display:flex;flex-wrap:wrap;gap:8px}
.seg3 button{font:500 .88rem var(--f-sans);background:transparent;border:1px solid var(--rule);color:var(--fg);padding:10px 16px;cursor:pointer}
.seg3 button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.rng{display:flex;flex-direction:column;gap:12px}
.rng label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.rng output{font-family:var(--f-display);font-size:1.7rem;letter-spacing:0;text-transform:none;color:var(--fg)}
.rng input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:linear-gradient(to right,var(--champ) var(--p,50%),var(--rule) var(--p,50%));outline:none;margin:10px 0}
.rng input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--ink);border:2px solid var(--champ);cursor:pointer}
.rng input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--ink);border:2px solid var(--champ);cursor:pointer}
.rng input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--champ);outline-offset:3px}
.c3x-out{background:var(--ink);color:var(--cream);padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:16px;border-top:2px solid var(--champ)}
.c3x-out .k{font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--mist)}
.c3x-out .big{font-family:var(--f-display);font-size:clamp(3rem,6vw,4.6rem);line-height:.95;color:var(--cream);font-variant-numeric:tabular-nums lining-nums}
.c3x-out .big small{font-family:var(--f-serif);font-style:italic;font-size:1.1rem;color:var(--champ-l);display:block;margin-top:10px;letter-spacing:0;font-variant-numeric:normal}
.c3x-out .cmp{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(239,232,218,.12)}
.c3x-out .cmp div{padding:14px 12px 0 0;display:flex;flex-direction:column;gap:2px}
.c3x-out .cmp div+div{padding-left:14px;border-left:1px solid rgba(239,232,218,.12)}
.c3x-out .cmp b{font-family:var(--f-display);font-weight:400;font-size:1.6rem}
.c3x-out .cmp span{font-size:.76rem;color:var(--mist)}
.c3x-out .fine{font-size:.72rem;color:var(--mist);line-height:1.5}
.c3x-out .tlink{color:var(--cream)}
@media (max-width:900px){.c3x{grid-template-columns:1fr}}

/* ---------- final ---------- */
.f3x{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
.f3x h2{max-width:16ch}
.f3x .note a{border-bottom:1px solid var(--accent)}

@media (prefers-reduced-motion:reduce){
  .js .rv,.js .step,.js .thread .msg{opacity:1!important;transform:none!important;transition:none!important}
  .js .thread .msg{display:block}
  .js .thread .msg.sys{display:flex}
}
