/* Scoreline Partners · site styles
   Light white / red / navy. Archivo (display), Source Sans 3 (body), IBM Plex Mono (labels).
   Motion only on transform/opacity; everything readable with motion off and with JS off. */

/* Width-matched fallbacks, so swapping in the web fonts doesn't re-wrap headlines (no layout shift). */
@font-face{font-family:"Archivo Fallback";src:local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:122%;ascent-override:72%;descent-override:17%;line-gap-override:0%}
@font-face{font-family:"Source Sans Fallback";src:local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:91%;ascent-override:113%;descent-override:31%;line-gap-override:0%}
:root{
  --paper:#FFFFFF; --sheet:#F1F4F8; --sheet-2:#E8EDF4; --ink:#13233D; --ink-2:#4B586C; --line:#D6DCE5; --line-2:#C3CCD9;
  --red:#C42F2A; --red-d:#A9271F; --red-t:#FBEDEC; --blue:#1E4F8F; --green:#1D7A4C; --green-t:#E7F4EC; --amber:#9A5B00; --amber-t:#FFF3DC;
  --navy:#13233D; --navy-2:#0D192D; --d-ink:#E8EDF5; --d-ink-2:#A9B5C7; --d-line:#2A3850; --d-red:#EE5A51;
  --display:"Archivo","Archivo Fallback",Arial,sans-serif; --body:"Source Sans 3","Source Sans Fallback","Segoe UI",Roboto,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1280px; --gut:clamp(16px,4vw,48px); --hdr:68px; --ease:cubic-bezier(.2,.7,.1,1); --ease-io:cubic-bezier(.65,0,.35,1);
  --shadow:0 1px 2px rgba(19,35,61,.06),0 12px 28px -12px rgba(19,35,61,.22),0 40px 80px -40px rgba(19,35,61,.35);
  --grid-1:rgba(19,35,61,.045); --grid-2:rgba(19,35,61,.08);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 12px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink-2);font:400 18px/1.6 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
picture{display:contents}
a{color:var(--blue);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{margin:0;color:var(--ink);font-family:var(--display);font-weight:800;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0}
ul[role=list],ol[role=list]{list-style:none}
figure{margin:0}
button{font:inherit}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-80px;z-index:200;background:var(--ink);color:#fff;padding:12px 16px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gut));margin-inline:auto;padding-inline:var(--gut)}
em.r,.r{color:var(--red);font-style:normal}

/* ---------- type ---------- */
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;font:600 12.5px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.eyebrow::before{content:"";flex:none;width:28px;height:2px;background:var(--red)}
.eyebrow--light{color:#fff}.eyebrow--light::before{background:#fff}
.eyebrow--dark{color:var(--d-ink)}.eyebrow--dark::before{background:var(--d-red)}
.display{font-size:clamp(2.6rem,7.2vw,6.4rem);line-height:.96;font-stretch:118%;font-weight:850;letter-spacing:-.012em}
.h1{font-size:clamp(2.4rem,5.8vw,4.9rem);line-height:.99;font-stretch:116%;font-weight:840;letter-spacing:-.01em}
.h2{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.02;font-stretch:112%;font-weight:820;letter-spacing:-.008em}
.h2--sm{font-size:clamp(1.7rem,3.2vw,2.6rem)}
.h3{font-size:1.32rem;line-height:1.2;font-stretch:106%;font-weight:760}
.lede{font-size:clamp(1.12rem,1.7vw,1.34rem);line-height:1.55;color:var(--ink-2);max-width:40em}
.mono{font-family:var(--mono)}
.small{font-size:.92rem}
.note{font:500 12px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.prose p+p{margin-top:1em}
.prose p{max-width:38em}

/* ---------- buttons ---------- */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 22px;border:1.5px solid transparent;border-radius:2px;font:700 1rem/1.15 var(--body);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease)}
.btn:hover{text-decoration:none}
.btn span[aria-hidden]{transition:transform .25s var(--ease)}
.btn:hover span[aria-hidden]{transform:translateX(3px)}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-d)}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}.btn-line:hover{background:var(--ink);color:#fff}
.btn-white{background:#fff;color:var(--red-d)}.btn-white:hover{background:var(--ink);color:#fff}
.btn-line-light{border-color:rgba(255,255,255,.75);color:#fff}.btn-line-light:hover{background:#fff;color:var(--red-d)}
.btn-sm{min-height:44px;padding:10px 16px;font-size:.95rem}
.ext{font-size:.9em}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:28px;height:var(--hdr)}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;flex:none;min-height:44px}
.mark{width:34px;height:34px;flex:none}
.wm{display:flex;flex-direction:column;line-height:1}
.wm-1{font:850 17px/1 var(--display);font-stretch:125%;letter-spacing:.06em;color:var(--ink)}
.wm-2{font:500 9.5px/1 var(--mono);letter-spacing:.42em;color:var(--ink-2);margin-top:5px}
.brand--light .mark rect{fill:#E8EDF5}.brand--light .mark .mark-line{stroke:#EE5A51}.brand--light .mark circle{fill:#0D192D}
.brand--light .wm-1{color:#fff}.brand--light .wm-2{color:var(--d-ink-2)}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav>a,.dd>summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;color:var(--ink);font-weight:600;font-size:.98rem;text-decoration:none;border-radius:2px;cursor:pointer;list-style:none}
.dd>summary::-webkit-details-marker{display:none}
.nav>a:hover,.dd>summary:hover{background:var(--sheet)}
.nav>a[aria-current]{box-shadow:inset 0 -2px 0 var(--red)}
.dd{position:relative}
.dd>summary i{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.dd[open]>summary i{transform:translateY(1px) rotate(225deg)}
.dd-panel{position:absolute;left:50%;top:calc(100% + 12px);width:min(760px,90vw);transform:translateX(-36%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:18px;border-top:3px solid var(--red)}
.dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.dd-grid a{display:block;padding:12px 14px;text-decoration:none;border-radius:2px}
.dd-grid a:hover,.dd-grid a[aria-current]{background:var(--sheet)}
.dd-grid b{display:block;color:var(--ink);font:760 1rem/1.25 var(--display);font-stretch:106%}
.dd-grid span{display:block;color:var(--ink-2);font-size:.92rem;line-height:1.35;margin-top:3px}
.dd-all{display:inline-block;margin:10px 14px 2px;font-weight:600}
.hdr-cta{flex:none}
.mnav{display:none;margin-left:auto}
.mnav>summary{display:flex;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:8px 10px;cursor:pointer;list-style:none;font:600 15px var(--body);color:var(--ink)}
.mnav>summary::-webkit-details-marker{display:none}
.burger{display:grid;gap:6px;width:22px}.burger i{display:block;height:2px;background:var(--ink);transition:transform .25s var(--ease)}
.mnav[open] .burger i:first-child{transform:translateY(4px) rotate(45deg)}.mnav[open] .burger i:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav-panel{position:fixed;left:0;right:0;top:var(--hdr);bottom:0;overflow:auto;background:#fff;padding:20px var(--gut) 40px;border-top:3px solid var(--red)}
.mnav-h{font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px}
.mnav-panel ul a{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);font:760 1.15rem/1.2 var(--display);font-stretch:108%;text-decoration:none}
.mnav-co{margin:22px 0}
.mnav-panel .btn{width:100%}
.mnav-direct{margin-top:18px;font:500 15px/2 var(--mono)}
@media (max-width:1060px){.nav,.hdr-cta{display:none}.mnav{display:block}}

/* ---------- sections ---------- */
.sec{padding-block:clamp(72px,9vw,128px);position:relative}
.sec--sheet{background:var(--sheet)}
.sec--tight{padding-block:clamp(48px,6vw,80px)}
.sec-head{max-width:880px;margin-bottom:clamp(36px,5vw,64px)}
.sec-head .lede{margin-top:20px}
.grid-bg{background-image:linear-gradient(var(--grid-2) 1px,transparent 1px),linear-gradient(90deg,var(--grid-2) 1px,transparent 1px),linear-gradient(var(--grid-1) 1px,transparent 1px),linear-gradient(90deg,var(--grid-1) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:center -1px}
.dark{background:var(--navy);color:var(--d-ink-2)}
.dark h2,.dark h3{color:#fff}
.dark .r{color:var(--d-red)}
.dark a{color:#9EC2F5}

/* ---------- reveal ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
  .js .rv.in{opacity:1;transform:none}
}

/* ---------- device frames ---------- */
.browser{margin:0;background:#fff;border:1px solid var(--line-2);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.browser-bar{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;background:var(--sheet);border-bottom:1px solid var(--line)}
.browser-bar i{width:9px;height:9px;border-radius:50%;background:var(--line-2)}
.browser-bar i:first-child{background:#E3746F}
.browser-bar span{margin-left:10px;padding:2px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font:500 11px/1.6 var(--mono);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}
.browser img{width:100%}
.phone{margin:0;width:100%;max-width:300px;background:#0B1424;border-radius:15%/7%;padding:10% 3.6% 9%;box-shadow:var(--shadow),inset 0 0 0 1.5px #2A3850;position:relative}
.phone::before{content:"";position:absolute;left:50%;top:3.4%;width:22%;height:1.6%;transform:translateX(-50%);background:#1E2A3E;border-radius:999px}
.phone::after{content:"";position:absolute;left:50%;bottom:3.4%;width:30%;height:.7%;transform:translateX(-50%);background:#2A3850;border-radius:999px}
.phone-in{width:100%;aspect-ratio:390/844;border-radius:4%/2%;overflow:hidden;background:#fff;position:relative}
.phone-in img{width:100%;height:100%;object-fit:cover;object-position:top}

/* ---------- hero (home) ---------- */
.hero{position:relative;padding:clamp(36px,6vw,84px) 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center}
.hero-copy{container-type:inline-size;min-width:0}
.hero h1{font-size:clamp(2.3rem,5vw,4.6rem);font-size:clamp(2.2rem,10.4cqi,5.4rem)}
.hero h1 .ln{display:block;white-space:nowrap}
.hero .lede{margin-top:26px;max-width:34em}
.proof{display:flex;align-items:center;gap:10px;margin-top:28px;font:500 13px/1.45 var(--mono);color:var(--ink);letter-spacing:.02em}
.live{flex:none;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(196,47,42,.5)}
@media (prefers-reduced-motion:no-preference){.live{animation:pulse 2.2s infinite}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(196,47,42,.45)}70%{box-shadow:0 0 0 10px rgba(196,47,42,0)}100%{box-shadow:0 0 0 0 rgba(196,47,42,0)}}
.stage{position:relative;padding:0 0 18% 9%}
.stage .browser{transform-origin:70% 60%}
.stage .phone{position:absolute;left:0;bottom:0;width:31%;max-width:none}
.toasts{position:absolute;right:-2%;bottom:6%;width:min(300px,56%);display:grid;gap:8px;pointer-events:none}
.toast{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);box-shadow:var(--shadow);font:500 12.5px/1.35 var(--mono);color:var(--ink)}
.toast b{display:block;font:700 13.5px/1.3 var(--body);color:var(--ink)}
.toast .tk{flex:none;width:20px;height:20px;border-radius:50%;background:var(--green);position:relative}
.toast .tk::after{content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.toast.t-red{border-left-color:var(--red)}.toast.t-red .tk{background:var(--red)}
.toast.t-blue{border-left-color:var(--blue)}.toast.t-blue .tk{background:var(--blue)}
html:not(.js) .toasts .toast:nth-child(n+3){display:none}
.js .toasts .toast{opacity:0;transform:translateY(12px) scale(.98)}
.js .toasts .toast.on{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .toasts .toast.off{opacity:0;transform:translateY(-10px);transition:opacity .5s,transform .5s}
@media (prefers-reduced-motion:reduce){.js .toasts .toast{opacity:1;transform:none}}
/* the stepped score line across the hero */
.scoreline{position:relative;margin-top:clamp(26px,4vw,52px);padding-bottom:clamp(30px,4vw,56px)}
.scoreline svg{width:100%;height:auto;overflow:visible}
.scoreline .sl-path{fill:none;stroke:var(--red);stroke-width:6;stroke-linecap:square;stroke-linejoin:miter}
.scoreline .sl-dot{fill:#fff;stroke:var(--ink);stroke-width:5}
.scoreline .sl-base{stroke:var(--line);stroke-width:1.5;stroke-dasharray:4 6}
.sl-labels{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px}
.sl-labels li{position:relative;padding:10px 16px 0 0;border-top:1px solid var(--line);font:600 12px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.sl-labels li::before{content:"";position:absolute;left:0;top:-1px;width:28px;height:3px;background:var(--red)}
.scoreline .sl-dot{r:11px}
@media (max-width:640px){.scoreline .sl-path{stroke-width:12}.scoreline .sl-dot{stroke-width:9;r:22px}}
.sl-labels li span{display:block;color:var(--ink-2);font-weight:500;letter-spacing:.02em;text-transform:none;font-size:12.5px;margin-top:4px}
@media (prefers-reduced-motion:no-preference){
  .js .scoreline .sl-path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.2s .35s var(--ease-io) forwards}
  .js .scoreline .sl-dot{opacity:0;transform-box:fill-box;transform-origin:center;animation:pop .5s 2.4s var(--ease) forwards}
  .js .sl-labels li{opacity:0;animation:fadeup .7s var(--ease) forwards}
  .js .sl-labels li:nth-child(1){animation-delay:.7s}.js .sl-labels li:nth-child(2){animation-delay:1.35s}.js .sl-labels li:nth-child(3){animation-delay:2s}
  .js .mark-line{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.1s .2s var(--ease-io) forwards}
  .js .mark-dot{opacity:0;animation:fade .4s 1.15s forwards}
}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}
@keyframes fade{to{opacity:1}}
@keyframes fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .stage{max-width:720px;margin-inline:auto;width:100%}
}
@media (max-width:640px){
  .sl-labels li{font-size:10.5px;letter-spacing:.08em}.sl-labels li span{display:none}
  .toasts{right:0;width:62%}.toast{padding:8px 10px;font-size:11px}.toast b{font-size:12px}
}

/* ---------- facts strip ---------- */
.facts{border-block:1px solid var(--line);background:#fff}
.facts ul{display:grid;grid-template-columns:repeat(4,1fr)}
.facts li{padding:22px 20px;border-left:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}
.facts li:first-child{border-left:0;padding-left:0}
.facts svg{flex:none;width:28px;height:28px;color:var(--red)}
.facts b{display:block;color:var(--ink);font:760 1.02rem/1.2 var(--display);font-stretch:106%}
.facts span{display:block;font-size:.95rem;line-height:1.4;margin-top:3px}
@media (max-width:900px){.facts ul{grid-template-columns:1fr 1fr}.facts li:nth-child(3){border-left:0;padding-left:0}.facts li{border-top:1px solid var(--line)}.facts li:nth-child(-n+2){border-top:0}}
@media (max-width:520px){.facts ul{grid-template-columns:1fr}.facts li{border-left:0;padding-left:0;border-top:1px solid var(--line)}.facts li:first-child{border-top:0}}

/* ---------- problem ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.misses{counter-reset:m;display:grid;gap:0;border-top:2px solid var(--ink)}
.misses li{counter-increment:m;display:grid;grid-template-columns:52px 1fr;gap:10px;padding:20px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:1.08rem;line-height:1.45}
.misses li::before{content:"0" counter(m);font:600 13px/1.9 var(--mono);color:var(--red);letter-spacing:.08em}
.misses li b{display:block;font:760 1.12rem/1.3 var(--display);font-stretch:106%}
.misses li span{display:block;color:var(--ink-2);font-size:1rem;margin-top:2px}

/* ---------- the cycle ---------- */
.cycle{position:relative}
.cycle-ring{display:none}
.stages{list-style:none;display:grid;gap:18px}
.st{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(22px,3vw,36px);background:#fff;border:1px solid var(--line)}
.st-n{font:600 13px var(--mono);letter-spacing:.14em;color:var(--red);text-transform:uppercase}
.st h3{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.04;font-stretch:114%;font-weight:830;margin:10px 0 6px}
.st-p{font:700 1rem/1.3 var(--body);color:var(--ink);margin-bottom:12px}
.st-l{max-width:30em}
.st-kpis{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.st-kpis li{font:500 11.5px/1 var(--mono);letter-spacing:.04em;padding:7px 9px;border:1px solid var(--line);color:var(--ink);background:var(--sheet)}
.st-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px}
.st-links a{font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--red);padding:6px 0 2px}
.st-links a:hover{color:var(--red)}
.st-fig{position:relative;display:flex;justify-content:center}
.st-fig .phone{width:min(260px,62%)}
@media (max-width:820px){.st{grid-template-columns:1fr}.st-fig{order:-1}}
/* pinned version (JS + wide screens + motion allowed) */
.cycle.is-pinned{height:calc(var(--n) * 48vh + 100vh)}
.cycle.is-pinned .cycle-sticky{position:sticky;top:var(--hdr);height:calc(100vh - var(--hdr));display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.6fr);gap:clamp(24px,4vw,64px);align-items:center}
.cycle.is-pinned .cycle-ring{display:block;position:relative;aspect-ratio:1;width:100%;max-width:440px;justify-self:center}
.cycle.is-pinned .stages{position:relative;height:min(600px,calc(100vh - var(--hdr) - 60px))}
.cycle.is-pinned .st{position:absolute;inset:0;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);border:0;background:transparent;padding:0;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility 0s .45s}
.cycle.is-pinned .st.on{opacity:1;visibility:visible;transition:opacity .55s var(--ease),visibility 0s}
.cycle.is-pinned .st .st-copy>*{transform:translateY(16px);transition:transform .7s var(--ease)}
.cycle.is-pinned .st.on .st-copy>*{transform:none}
.cycle.is-pinned .st .st-fig{transform:translateY(24px) scale(.98);transition:transform .8s var(--ease)}
.cycle.is-pinned .st.on .st-fig{transform:none}
.ring svg{width:100%;height:100%;overflow:visible}
.ring .r-base{fill:none;stroke:var(--line);stroke-width:2}
.ring .r-prog{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:butt;transform:rotate(-90deg);transform-origin:50% 50%}
.ring .r-tick{stroke:var(--line-2)}
.ring-node{position:absolute;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;border:2px solid var(--line-2);background:#fff;color:var(--ink);font:600 14px var(--mono);cursor:pointer;transition:background .3s,border-color .3s,color .3s,transform .3s var(--ease)}
.ring-node:hover{border-color:var(--ink)}
.ring-node.done{border-color:var(--red);color:var(--red)}
.ring-node.on{background:var(--red);border-color:var(--red);color:#fff;transform:scale(1.12)}
.ring-label{position:absolute;inset:26%;display:grid;place-content:center;text-align:center;pointer-events:none}
.ring-label small{display:block;font:600 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.ring-label b{display:block;margin-top:8px;font:830 clamp(1.3rem,2.2vw,1.9rem)/1.02 var(--display);font-stretch:114%;color:var(--ink)}
.ring-label span{display:block;margin-top:10px;font:500 12px var(--mono);color:var(--red)}

/* ---------- owner side (dark) ---------- */
.owner{overflow:hidden}
.owner .grid-bg{position:absolute;inset:0;opacity:.6;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.owner .wrap{position:relative}
.quote-big{font:620 clamp(1.25rem,2vw,1.6rem)/1.4 var(--display);font-stretch:100%;color:#fff;padding-left:22px;border-left:3px solid var(--d-red);max-width:28em;margin-top:28px;text-wrap:pretty}
.vocab{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.vocab li{font:500 12.5px/1 var(--mono);letter-spacing:.05em;padding:9px 12px;border:1px solid var(--d-line);color:var(--d-ink)}
.xlate{display:grid;grid-template-columns:1fr 64px 1fr;align-items:stretch;margin-top:clamp(40px,6vw,72px)}
.xl-card{background:#0F1C31;border:1px solid var(--d-line);padding:22px}
.xl-card h3{font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--d-ink-2);margin-bottom:14px}
.xl-rows{display:grid;gap:8px}
.xl-rows li{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;background:rgba(255,255,255,.03);border:1px solid var(--d-line);font-size:.98rem;color:var(--d-ink)}
.xl-rows li b{font:600 12.5px/1.6 var(--mono);color:#fff;white-space:nowrap}
.xl-rows--owner li b{color:var(--d-red)}
.xl-mid{position:relative}
.xl-mid svg{position:absolute;inset:0;width:100%;height:100%}
.xl-mid path{fill:none;stroke:var(--d-red);stroke-width:2;stroke-dasharray:4 5}
@media (prefers-reduced-motion:no-preference){.xl-mid path{animation:dash 1.4s linear infinite}}
@keyframes dash{to{stroke-dashoffset:-18}}
.xl-foot{margin-top:14px;font:500 11.5px/1.5 var(--mono);color:var(--d-ink-2);letter-spacing:.04em}
@media (max-width:820px){.xlate{grid-template-columns:1fr}.xl-mid{height:44px}.xl-mid svg{display:none}.xl-mid::after{content:"";position:absolute;left:50%;top:10px;width:14px;height:14px;border-right:2px solid var(--d-red);border-bottom:2px solid var(--d-red);transform:translateX(-50%) rotate(45deg)}}
.js .xl-rows li{opacity:.25;transition:opacity .5s,border-color .5s}
.js .xl-rows li.lit{opacity:1;border-color:#3D5174}
@media (prefers-reduced-motion:reduce){.js .xl-rows li{opacity:1}}

/* ---------- steps (how we work) ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;position:relative}
.steps li{counter-increment:s;padding:30px 24px 0 0;position:relative}
.steps li::before{content:"0" counter(s);display:block;font:600 13px var(--mono);letter-spacing:.12em;color:var(--red);margin-bottom:14px}
.steps li::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--line)}
.steps li:first-child::after{background:var(--red)}
.steps h3{font-size:1.3rem;line-height:1.2;font-stretch:108%;margin-bottom:8px}
.steps p{font-size:1rem;line-height:1.55}
.js .steps.in li::after{background:linear-gradient(90deg,var(--red) 50%,var(--line) 50%);background-size:200% 100%;background-position:100% 0;animation:fill 1s var(--ease) forwards;animation-delay:calc(var(--i) * .35s)}
@keyframes fill{to{background-position:0 0}}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;row-gap:28px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.price-line{margin-top:40px;padding:18px 22px;border-left:3px solid var(--red);background:#fff;color:var(--ink);font-weight:600;max-width:52em}
.sec--sheet .price-line{background:#fff}

/* ---------- demos strip ---------- */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,380px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gut) 26px;margin-inline:calc(var(--gut) * -1);scrollbar-width:thin;overscroll-behavior-x:contain}
.rail>li{scroll-snap-align:start}
.dcard{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s}
.dcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-2);text-decoration:none}
.dcard-img{aspect-ratio:16/10;overflow:hidden;background:var(--sheet);border-bottom:1px solid var(--line)}
.dcard-img img{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .8s var(--ease)}
.dcard:hover .dcard-img img{transform:scale(1.03)}
.dcard-b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.dcard-k{font:600 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.dcard h3{font-size:1.2rem;line-height:1.2;font-stretch:106%}
.dcard p{font-size:.98rem;line-height:1.45}
.dcard-go{margin-top:auto;padding-top:10px;font-weight:700;color:var(--ink)}
.rail-ctl{display:flex;gap:8px}
.rail-ctl button{width:48px;height:48px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;font-size:1.2rem}
.rail-ctl button:hover{background:var(--ink);color:#fff}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.head-row .sec-head{margin-bottom:0}

/* ---------- industries tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.tile{display:flex;flex-direction:column;gap:10px;min-height:210px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;color:inherit;background:#fff;position:relative;overflow:hidden;transition:background .3s}
.tile::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.tile:hover{background:var(--sheet);text-decoration:none}.tile:hover::after{transform:none}
.tile svg{width:44px;height:44px;color:var(--ink)}
.tile h3{font-size:1.15rem;line-height:1.2;font-stretch:106%}
.tile p{font-size:.95rem;line-height:1.45}
.tile--cta{background:var(--ink);color:var(--d-ink-2)}.tile--cta h3{color:#fff}.tile--cta:hover{background:var(--navy-2)}
@media (max-width:1000px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.tiles{grid-template-columns:1fr}.tile{min-height:0}}

/* ---------- trio ---------- */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.trio>li{padding:28px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--ink)}
.trio>li:nth-child(2){border-top-color:var(--red)}
.trio h3{font-size:1.3rem;line-height:1.2;font-stretch:108%;margin:16px 0 8px}
.trio p{font-size:1rem;line-height:1.55}
.trio svg{width:40px;height:40px;color:var(--red)}
@media (max-width:900px){.trio{grid-template-columns:1fr}}

/* ---------- CTA band ---------- */
.cta{position:relative;background:var(--red);color:#fff;overflow:hidden;padding-block:clamp(64px,8vw,112px) clamp(80px,10vw,140px)}
.cta-in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(30px,6vw,80px);align-items:end;position:relative;z-index:1}
.cta h2{color:#fff;font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.02;font-stretch:112%;font-weight:830}
.cta p{color:#fff;margin-top:18px;max-width:36em;font-size:1.1rem}
.cta .btns{margin-top:28px}
.cta-where{font:500 13px/1.5 var(--mono)!important;opacity:.92;margin-top:14px!important}
.cta-line{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(60px,9vw,120px)}
.cta-line path{fill:none;stroke:rgba(255,255,255,.28);stroke-width:3;vector-effect:non-scaling-stroke}
@media (max-width:860px){.cta-in{grid-template-columns:1fr}}
.direct{display:grid;gap:10px}
.direct li{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);background:#fff}
.direct-k{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.direct-v{font:600 1.05rem/1.3 var(--mono);color:var(--ink);text-decoration:none;user-select:all;-webkit-user-select:all;word-break:break-all;min-height:24px}
.direct-v:hover{text-decoration:underline}
.copy{min-height:36px;min-width:58px;padding:6px 12px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font:600 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.copy:hover{background:var(--ink);color:#fff}
.copy.ok{background:var(--green);border-color:var(--green);color:#fff}
.direct--dark li{border-color:rgba(255,255,255,.3);background:rgba(0,0,0,.12)}
.direct--dark .direct-k{color:rgba(255,255,255,.8)}
.direct--dark .direct-v{color:#fff}
.direct--dark .copy{border-color:#fff;background:transparent;color:#fff}.direct--dark .copy:hover{background:#fff;color:var(--ink)}
.ftr .direct--dark li{background:transparent;border-color:var(--d-line)}

/* ---------- footer ---------- */
.ftr{background:var(--navy-2);color:var(--d-ink-2);padding:clamp(56px,7vw,88px) 0 28px;font-size:.98rem}
.ftr a{color:var(--d-ink);text-decoration:none}.ftr a:hover{text-decoration:underline}
.ftr-top{display:grid;grid-template-columns:1.35fr .95fr .7fr 1.5fr;gap:clamp(24px,4vw,56px)}
.ftr-cred{margin-top:20px;max-width:30em;line-height:1.55}
.ftr-proof{display:flex;gap:10px;align-items:center;margin-top:16px;font:500 12.5px/1.45 var(--mono);color:var(--d-ink)}
.ftr-h{font:600 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.ftr-col li a{display:inline-block;padding:5px 0}
.ftr-where{margin-top:14px;line-height:1.5}
.ftr-facts{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:48px;padding-block:20px;border-block:1px solid var(--d-line);font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--d-ink)}
.ftr-facts span::before{content:"";display:inline-block;width:10px;height:2px;background:var(--d-red);margin-right:10px;vertical-align:middle}
.ftr-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px;font-size:.92rem}
.ftr-bot a{margin-left:20px}
.ftr .direct li{grid-template-columns:1fr auto}.ftr .direct-k{display:none}.ftr .direct-v{font-size:.92rem;word-break:normal}
@media (max-width:480px){.direct li{grid-template-columns:1fr auto;padding:10px 12px}.direct-k{display:none}.direct-v{font-size:.95rem;word-break:normal}}
@media (max-width:1000px){.ftr-top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ftr-top{grid-template-columns:1fr}.ftr-bot a{margin:0 20px 0 0}}

/* ---------- product page hero ---------- */
.phero{padding:clamp(32px,5vw,72px) 0 clamp(56px,7vw,96px);position:relative;overflow:hidden}
.phero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(28px,5vw,72px);align-items:center}
.phero-grid>div:first-child{container-type:inline-size;min-width:0}
.phero-grid .h1{font-size:clamp(2.2rem,8.8cqi,4.7rem)}
.phero .lede{margin-top:24px}
.crumbs{display:flex;gap:8px;font:500 12.5px var(--mono);color:var(--ink-2);margin-bottom:26px;flex-wrap:wrap}
.crumbs a{color:var(--ink-2)}
.crumbs span[aria-hidden]{color:var(--line-2)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.chips li{font:500 12.5px/1 var(--mono);padding:8px 10px;background:var(--sheet);border:1px solid var(--line);color:var(--ink)}
.duo{position:relative;padding:0 0 10% 0}
.duo .browser{width:90%}
.duo .phone{position:absolute;right:0;bottom:0;width:27%}
.duo--left .phone{right:auto;left:-2%}
.duo--left .browser{margin-left:8%}
.phones{display:flex;justify-content:center;gap:4%;align-items:flex-end}
.phones .phone{width:44%}
.phones .phone:nth-child(2){transform:translateY(-8%)}
@media (max-width:980px){.phero-grid{grid-template-columns:1fr}}

/* fixes: three problems */
.fixes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px)}
.fix{padding:28px 26px 30px;background:#fff;border:1px solid var(--line);position:relative}
.fix-was{font:600 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red);display:flex;gap:8px;align-items:center}
.fix-was::before{content:"";width:14px;height:2px;background:var(--red)}
.fix h3{font-size:1.28rem;line-height:1.2;font-stretch:106%;margin:12px 0 10px}
.fix p{font-size:1rem;line-height:1.55}
.fix-now{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line-2);font-size:.98rem;color:var(--ink)}
.fix-now b{font:600 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--green);display:block;margin-bottom:4px}
@media (max-width:900px){.fixes{grid-template-columns:1fr}}

/* how it works: sticky phone + steps */
.how{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}
.how-steps{display:grid;gap:0}
.how-step{padding:clamp(28px,6vh,64px) 0;border-top:1px solid var(--line);min-height:auto}
.how-step:first-child{border-top:0;padding-top:0}
.how-step .st-n{display:block;margin-bottom:10px}
.how-step h3{font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.12;font-stretch:110%;margin-bottom:10px}
.how-step p{max-width:30em}
.how-step .how-mfig{display:none}
.how-fig{position:sticky;top:calc(var(--hdr) + 40px);align-self:start;display:flex;justify-content:center}
.how-fig .phone{width:min(320px,80%)}
.how-fig .phone-in picture img,.how-fig .phone-in>img{position:absolute;inset:0}
.how-fig .browser{width:100%}
.swap{position:relative}
.swap>*{transition:opacity .5s var(--ease)}
.js .swap>*:not(:first-child){position:absolute;inset:0;opacity:0}
.js .swap>*.on{opacity:1}
.js .swap>*.off{opacity:0}
.how-fig .phone-in.swap>figure,.how-fig .phone-in.swap>div{position:absolute;inset:0}
.how-fig .phone-in .layer{position:absolute;inset:0}
.how-fig .phone-in .layer img{width:100%;height:100%;object-fit:cover;object-position:top}
.js .how-fig .layer{opacity:0;transition:opacity .55s var(--ease)}
.js .how-fig .layer.on{opacity:1}
.how-fig .layer:first-child{opacity:1}
.js .how-fig .layer:first-child:not(.on){opacity:0}
.how-fig .bframe{position:relative;width:100%;aspect-ratio:16/10}
.how-fig .bframe .layer{position:absolute;inset:0}
.how-fig .bframe .layer img{width:100%;height:100%;object-fit:cover;object-position:top left}
@media (max-width:900px){
  .how{grid-template-columns:1fr}.how-fig{display:none}
  .how-step .how-mfig{display:flex;justify-content:center;margin-top:20px}
  .how-step .how-mfig .phone{width:min(240px,64%)}
}

/* features list */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink)}
.feats li{padding:22px 22px 24px 0;border-bottom:1px solid var(--line)}
.feats li:not(:nth-child(3n+1)){padding-left:22px;border-left:1px solid var(--line)}
.feats b{display:block;color:var(--ink);font:760 1.08rem/1.25 var(--display);font-stretch:106%;margin-bottom:6px}
.feats span{display:block;font-size:.98rem;line-height:1.5}
@media (max-width:900px){.feats{grid-template-columns:1fr 1fr}.feats li:not(:nth-child(3n+1)){padding-left:0;border-left:0}.feats li:nth-child(2n){padding-left:22px;border-left:1px solid var(--line)}}
@media (max-width:560px){.feats{grid-template-columns:1fr}.feats li:nth-child(2n){padding-left:0;border-left:0}}

/* gallery of screens */
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:start}
.gallery .g-wide{grid-column:span 7}.gallery .g-mid{grid-column:span 5}.gallery .g-full{grid-column:1/-1}
.gallery figcaption{margin-top:12px;font-size:.95rem;line-height:1.45}
.gallery figcaption b{color:var(--ink)}
@media (max-width:860px){.gallery .g-wide,.gallery .g-mid{grid-column:1/-1}}

/* FAQ */
.faq{border-top:2px solid var(--ink);max-width:900px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;list-style:none;color:var(--ink);font:760 clamp(1.08rem,1.6vw,1.26rem)/1.3 var(--display);font-stretch:106%;min-height:44px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{flex:none;width:28px;height:28px;border:1.5px solid var(--ink);position:relative;transition:background .2s,transform .3s var(--ease)}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--ink);transform:translate(-50%,-50%)}
.faq-item summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s var(--ease)}
.faq-item[open] summary i{background:var(--ink)}.faq-item[open] summary i::before{background:#fff}
.faq-item[open] summary i::after{transform:translate(-50%,-50%) rotate(0);background:#fff}
.faq-item summary:hover{color:var(--red)}
.faq-a{padding:0 50px 24px 0}
.faq-a p{max-width:44em}
.faq-wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,72px)}
@media (max-width:900px){.faq-wrap{grid-template-columns:1fr}}

/* related */
.rels{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
.rel{display:flex;flex-direction:column;gap:6px;height:100%;padding:20px;background:#fff;border:1px solid var(--line);text-decoration:none;position:relative;transition:border-color .25s,transform .3s var(--ease)}
.rel:hover{border-color:var(--ink);transform:translateY(-3px);text-decoration:none}
.rel-n{color:var(--ink);font:760 1.06rem/1.25 var(--display);font-stretch:106%;padding-right:22px}
.rel-l{color:var(--ink-2);font-size:.94rem;line-height:1.4}
.rel-a{position:absolute;right:16px;top:18px;color:var(--red);font-weight:700}
@media (max-width:1000px){.rels{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.rels{grid-template-columns:1fr}}

/* ---------- illustrations: shared card ---------- */
.ill{background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow);position:relative;overflow:hidden}
.ill-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--sheet)}
.ill-top b{font:600 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.ill-top span{font:500 11px var(--mono);color:var(--ink-2)}
.ill-b{padding:18px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;font:600 10.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;white-space:nowrap}
.pill--ok{background:var(--green-t);color:var(--green)}
.pill--warn{background:var(--amber-t);color:var(--amber)}
.pill--bad{background:var(--red-t);color:var(--red-d)}
.pill--info{background:#E7EEF8;color:var(--blue)}
.pill--mute{background:var(--sheet-2);color:var(--ink-2)}

/* money board (field to paid) */
.money{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:start}
.mstages{display:grid;gap:4px}
.mrow{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;min-height:46px;padding:4px 10px;background:var(--sheet);border-left:3px solid var(--line-2)}
.mrow:last-child{border-left-color:var(--green);background:var(--green-t)}
.mrow-l{font:600 11px/1.25 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.mrow-l small{display:block;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-2);font-size:10.5px;margin-top:2px}
.mrow-c{display:flex;flex-wrap:wrap;gap:6px;min-height:36px;align-items:center}
.inv{display:inline-flex;flex-direction:column;padding:5px 9px;background:#fff;border:1px solid var(--line-2);font:600 11.5px/1.25 var(--mono);color:var(--ink);min-width:96px;will-change:transform}
.inv small{font-weight:500;color:var(--ink-2);font-size:10.5px}
.inv.stuck{border-color:var(--red);box-shadow:0 0 0 2px var(--red-t)}
.inv.stuck small{color:var(--red-d)}
.inv.paid{border-color:var(--green)}
.chase li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.chase li b{font:600 12px var(--mono);color:var(--ink)}
.chase li span:not(.pill){grid-column:1/-1;color:var(--ink-2);font-size:.88rem}
.burn{margin-top:18px}
.burn-bar{position:relative;height:16px;background:var(--sheet-2);margin-top:8px;overflow:hidden}
.burn-fill{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(var(--p,.76))}
.burn-mark{position:absolute;top:-4px;bottom:-4px;left:75%;width:2px;background:var(--red)}
.burn-row{display:flex;justify-content:space-between;font:500 11.5px var(--mono);color:var(--ink-2);margin-top:6px}
.burn-warn{margin-top:10px;padding:10px 12px;background:var(--amber-t);color:var(--amber);font:600 12px/1.4 var(--mono)}
@media (prefers-reduced-motion:no-preference){.js .burn-warn{opacity:0;transition:opacity .5s}.js .burn.hot .burn-warn{opacity:1}}
.js .burn-fill{transition:transform 2.4s var(--ease-io)}
@media (max-width:900px){.money{grid-template-columns:1fr}}
@media (max-width:520px){.mrow{grid-template-columns:1fr;gap:4px;padding:8px 10px}.inv{min-width:84px}}

/* lifecycle bar */
.life{display:flex;flex-wrap:wrap;gap:4px;counter-reset:l}
.life li{counter-increment:l;flex:1 1 120px;padding:12px 12px 12px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--line-2);font:600 12px/1.3 var(--mono);color:var(--ink);transition:border-color .4s,background .4s}
.life li::before{content:counter(l,decimal-leading-zero);display:block;color:var(--ink-2);font-weight:500;margin-bottom:6px}
.life li.lit{border-top-color:var(--red)}
.life li:last-child.lit{border-top-color:var(--green);background:var(--green-t)}

/* signing phone (safety) */
.sign-demo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.sphone{width:min(300px,78vw);aspect-ratio:390/760;background:#0B1424;border-radius:42px;padding:10px;box-shadow:var(--shadow);position:relative}
.sphone-in{position:absolute;inset:10px;border-radius:33px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.sp-top{background:#16181c;color:#fff;padding:34px 18px 14px;border-bottom:3px solid var(--red)}
.sp-top small{display:block;font:600 10px var(--mono);letter-spacing:.14em;color:#c9ced6}
.sp-top b{display:block;font:800 19px/1.15 var(--display);font-stretch:108%;margin-top:4px}
.sp-body{padding:14px 16px;display:grid;gap:9px;font-size:13px;flex:1;align-content:start}
.sp-kv{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.sp-kv div{background:var(--sheet);padding:7px 9px;font:600 12px/1.25 var(--mono);color:var(--ink)}
.sp-kv div small{display:block;font:500 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.sp-sig{position:relative;height:96px;border:1.5px dashed var(--line-2);background:#fff}
.sp-sig svg{position:absolute;inset:0;width:100%;height:100%}
.sp-sig path{fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.sp-sig small{position:absolute;left:8px;bottom:5px;font:500 10px var(--mono);color:var(--ink-2)}
.sp-btn{display:block;text-align:center;padding:12px;background:var(--red);color:#fff;font:800 15px var(--display);font-stretch:106%;transition:transform .2s,background .3s}
.sp-btn.pressed{transform:scale(.97);background:var(--red-d)}
.sp-stamp{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%) rotate(-8deg);padding:10px 16px;border:3px solid var(--green);color:var(--green);background:rgba(255,255,255,.92);font:800 20px/1 var(--display);font-stretch:112%;letter-spacing:.04em;text-transform:uppercase;text-align:center}
.sp-stamp small{display:block;font:600 10px var(--mono);letter-spacing:.06em;margin-top:6px;text-transform:none}
.sp-net{display:flex;align-items:center;gap:8px;font:600 10.5px var(--mono);color:var(--ink-2);padding:8px 16px;border-top:1px solid var(--line)}
.sp-net .bars{display:flex;gap:2px;align-items:flex-end;height:12px}
.sp-net .bars i{width:3px;background:var(--line-2)}
.sp-net .bars i:nth-child(1){height:4px}.sp-net .bars i:nth-child(2){height:7px}.sp-net .bars i:nth-child(3){height:10px}.sp-net .bars i:nth-child(4){height:12px}
.sp-net.online .bars i{background:var(--green)}
.fp{font:500 12px/1.6 var(--mono);color:var(--ink);word-break:break-all;padding:12px 14px;background:var(--sheet);border-left:3px solid var(--green);margin-top:18px}
.fp b{color:var(--green)}
.sign-steps{display:grid;gap:12px;margin-top:22px}
.sign-steps li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;color:var(--ink);opacity:.4;transition:opacity .5s}
.sign-steps li.lit{opacity:1}
.sign-steps li i{width:28px;height:28px;border-radius:50%;border:2px solid var(--line-2);display:grid;place-items:center;font:600 12px var(--mono);font-style:normal}
.sign-steps li.lit i{border-color:var(--red);background:var(--red);color:#fff}
@media (prefers-reduced-motion:reduce){.sign-steps li{opacity:1}}
html:not(.js) .sign-steps li{opacity:1}
@media (max-width:820px){.sign-demo{grid-template-columns:1fr;justify-items:center}}

/* WM board */
.wmb{display:grid;grid-template-columns:200px repeat(5,minmax(0,1fr));gap:4px;font-size:12px}
.wmb-h{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);padding:6px 4px}
.wmb-crew{background:var(--sheet);padding:10px;font:700 12.5px/1.3 var(--body);color:var(--ink)}
.wmb-crew small{display:block;font:500 10.5px var(--mono);color:var(--ink-2)}
.wmb-cell{min-height:64px;background:#fff;border:1px dashed var(--line);position:relative;padding:4px}
.wo{padding:6px 8px;background:#fff;border:1px solid var(--line-2);border-left:3px solid var(--blue);font:600 11px/1.3 var(--mono);color:var(--ink);box-shadow:0 2px 6px -3px rgba(19,35,61,.25)}
.wo small{display:block;font:500 10.5px/1.3 var(--body);color:var(--ink-2)}
.wo--pm{border-left-color:var(--green)}.wo--em{border-left-color:var(--red)}
.js .wmb .wo{opacity:0;transform:translate(-40px,-10px) scale(.96)}
.js .wmb.in .wo{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i) * .16s + .2s)}
@media (prefers-reduced-motion:reduce){.js .wmb .wo{opacity:1;transform:none}}
.wm-side{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px}
.gate li{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--ink)}
.gate .tick{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-2);position:relative;transition:background .3s,border-color .3s}
.gate li.ok .tick{background:var(--green);border-color:var(--green)}
.gate li.ok .tick::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
html:not(.js) .gate li .tick{background:var(--green);border-color:var(--green)}
.frozen{margin-top:14px;padding:10px 12px;border:2px solid var(--ink);font:700 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-align:center}
@media (prefers-reduced-motion:no-preference){.js .frozen{opacity:0;transform:scale(1.1);transition:opacity .4s,transform .5s var(--ease)}.js .frozen.on{opacity:1;transform:none}}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}
.kpi{padding:16px;background:#fff;border:1px solid var(--line)}
.kpi small{display:block;font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.kpi b{display:block;font:800 1.6rem/1.1 var(--display);font-stretch:110%;color:var(--ink);margin-top:6px}
.kpi span{display:block;font-size:.88rem;line-height:1.35;margin-top:4px}
@media (max-width:1000px){.wm-side{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.wmb{grid-template-columns:110px repeat(5,minmax(70px,1fr));min-width:560px}.wmb-scroll{overflow-x:auto;margin-inline:-18px;padding-inline:18px}}

/* yard gate */
.yard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.ycard .ill-b{padding:0}
.yhead{padding:16px 18px;border-bottom:1px solid var(--line);transition:background .4s}
.yhead b{display:block;font:850 1.5rem/1 var(--display);font-stretch:116%;color:var(--ink);letter-spacing:.02em;text-transform:uppercase}
.yhead span{display:block;font-size:.92rem;margin-top:6px}
.yhead.stop{background:var(--red-t)}.yhead.stop b{color:var(--red-d)}
.yhead.go{background:var(--green-t)}.yhead.go b{color:var(--green)}
.yitems li{display:grid;grid-template-columns:76px 1fr auto;gap:10px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);border-left:4px solid transparent;font-size:.95rem;color:var(--ink);position:relative;transition:background .35s,border-color .35s}
.yitems li:last-child{border-bottom:0}
.yitems code{font:600 12px var(--mono);color:var(--ink)}
.yitems small{display:block;color:var(--ink-2);font-size:.84rem;line-height:1.35}
.yitems li.ok{border-left-color:var(--green)}.yitems li.warn{border-left-color:#D89614}.yitems li.bad{border-left-color:var(--red);background:var(--red-t)}
.js .yitems .pill{opacity:0;transition:opacity .3s}
.js .yitems li.seen .pill{opacity:1}
.yscan{position:absolute;left:0;right:0;height:3px;background:var(--red);box-shadow:0 0 12px 2px rgba(196,47,42,.45);top:0;opacity:0;pointer-events:none}
@media (max-width:900px){.yard{grid-template-columns:1fr}}

/* quick quote ticker */
.qq table{width:100%;border-collapse:collapse;font-size:.92rem}
.qq th{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);text-align:left;padding:8px 6px;border-bottom:2px solid var(--ink)}
.qq td{padding:10px 6px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:top}
.qq td.n,.qq th.n{text-align:right;font-family:var(--mono);font-size:.86rem;white-space:nowrap}
.qq td small{display:block;color:var(--ink-2);font-size:.8rem}
.qq-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:14px;padding:14px 16px;background:var(--ink);color:#fff}
.qq-total span{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d-ink-2)}
.qq-total b{font:850 clamp(1.5rem,3vw,2.1rem)/1 var(--display);font-stretch:112%;font-variant-numeric:tabular-nums}
.js .qq tbody tr{opacity:0;transform:translateY(8px)}
.js .qq.in tbody tr{opacity:1;transform:none;transition:opacity .45s var(--ease),transform .45s var(--ease);transition-delay:calc(var(--i) * .5s)}
@media (prefers-reduced-motion:reduce){.js .qq tbody tr{opacity:1;transform:none}}
.loop{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.loop li{padding:8px 10px;border:1px solid var(--line);background:#fff;font:600 11.5px var(--mono);color:var(--ink)}
.loop li.arrow{border:0;background:none;color:var(--red);padding:0 2px}
@media (max-width:560px){.qq .hide-s{display:none}}

/* compliance matrix (bid desk) */
.matrix table{width:100%;border-collapse:collapse;font-size:.95rem}
.matrix th{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);text-align:left;padding:9px 8px;border-bottom:2px solid var(--ink)}
.matrix td{padding:12px 8px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:top}
.matrix td:first-child{font:600 12px var(--mono);width:46px}
.matrix td small{display:block;color:var(--ink-2);font-size:.86rem;margin-top:2px}
.matrix tr.gap td{background:var(--red-t)}
.js .matrix tbody .pill{opacity:0;transform:scale(.8);transition:opacity .35s,transform .35s var(--ease)}
.js .matrix.in tbody .pill{opacity:1;transform:none;transition-delay:calc(var(--i) * .45s + .3s)}
@media (prefers-reduced-motion:reduce){.js .matrix tbody .pill{opacity:1;transform:none}}
.matrix-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:var(--sheet);font:600 12px var(--mono);color:var(--ink)}
.matrix-foot .r{color:var(--red-d)}
.titleblock{display:grid;grid-template-columns:repeat(4,auto);border-top:1px solid var(--line);font:500 11px var(--mono);color:var(--ink-2)}
.titleblock div{padding:8px 12px;border-right:1px solid var(--line)}
.titleblock b{display:block;color:var(--ink);font-weight:600;font-size:12px}
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.svc>li{padding:clamp(22px,3vw,34px);background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.svc h3{font-size:1.45rem;line-height:1.15;font-stretch:110%;margin-bottom:10px}
.svc p{font-size:1.02rem}
.svc .got{margin-top:auto;padding-top:18px}
.svc .got b{display:block;font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.svc .got ul{display:flex;flex-wrap:wrap;gap:6px}
.svc .got li{font:500 12px/1 var(--mono);padding:8px 10px;background:var(--sheet);color:var(--ink)}
@media (max-width:860px){.svc{grid-template-columns:1fr}}

/* portal mock */
.portal{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:420px}
.portal-nav{background:var(--ink);color:var(--d-ink-2);padding:14px 0}
.portal-nav p{padding:4px 16px 14px;font:800 14px var(--display);font-stretch:110%;color:#fff;letter-spacing:.04em}
.portal-nav p small{display:block;font:500 10px var(--mono);color:var(--d-ink-2);letter-spacing:.06em;margin-top:3px}
.portal-nav li{padding:10px 16px;font:600 13px var(--body);color:var(--d-ink);display:flex;justify-content:space-between;border-left:3px solid transparent;transition:background .3s,border-color .3s}
.portal-nav li.on{background:rgba(255,255,255,.07);border-left-color:var(--d-red)}
.portal-nav li i{font:600 10.5px var(--mono);font-style:normal;background:var(--d-red);color:#fff;padding:2px 6px;border-radius:9px}
.portal-main{padding:18px;position:relative}
.ppane{display:grid;gap:8px}
.js .ppane{position:absolute;inset:18px;opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s .5s}
.js .ppane.on{opacity:1;visibility:visible;transition:opacity .5s}
.ppane h4{font:760 1.1rem/1.2 var(--display);font-stretch:108%;color:var(--ink);margin-bottom:4px}
.prow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 12px;border:1px solid var(--line);background:#fff;font-size:.92rem;color:var(--ink)}
.prow small{grid-column:1;color:var(--ink-2);font-size:.82rem}
.prow .pill{grid-row:1/3;grid-column:2}
.ftrack{display:flex;gap:4px;margin-top:4px}
.ftrack span{flex:1;padding:6px 4px;text-align:center;font:600 10px var(--mono);letter-spacing:.04em;text-transform:uppercase;background:var(--sheet);color:var(--ink-2);transition:background .4s,color .4s}
.ftrack span.lit{background:var(--ink);color:#fff}
.ftrack span.lit:last-child{background:var(--green)}
@media (max-width:700px){.portal{grid-template-columns:1fr}.portal-nav ul{display:flex;overflow-x:auto}.portal-nav li{white-space:nowrap;border-left:0;border-bottom:3px solid transparent}.portal-nav li.on{border-bottom-color:var(--d-red)}.portal-main{min-height:400px}}

/* 3D quote tool */
.q3{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);border:1px solid var(--line-2);box-shadow:var(--shadow);background:#fff}
.q3-view{position:relative;background:radial-gradient(circle at 50% 45%,#fff 0,#EEF2F7 70%);min-height:420px;touch-action:pan-y;cursor:grab;overflow:hidden}
.q3-view.dragging{cursor:grabbing}
.q3-view canvas{position:absolute;inset:0;width:100%;height:100%}
.q3-hint{position:absolute;left:14px;top:12px;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);pointer-events:none}
.q3-dot{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:2px solid #fff;background:var(--red);box-shadow:0 2px 10px rgba(19,35,61,.35);cursor:pointer;padding:0;transition:transform .2s var(--ease),opacity .2s}
.q3-dot::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--red);opacity:.45}
@media (prefers-reduced-motion:no-preference){.q3-dot::after{animation:ring 1.8s infinite}}
@keyframes ring{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.4);opacity:0}}
.q3-dot.back{opacity:.35;transform:scale(.8)}
.q3-dot.on{background:var(--ink);transform:scale(1.15)}
.q3-side{padding:22px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.q3-parts{display:flex;flex-wrap:wrap;gap:6px}
.q3-parts button{min-height:40px;padding:8px 12px;border:1.5px solid var(--line-2);background:#fff;color:var(--ink);font:600 13px var(--body);cursor:pointer}
.q3-parts button:hover{border-color:var(--ink)}
.q3-parts button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.q3-req{border:1px solid var(--line);background:var(--sheet);padding:14px 16px;font-size:.95rem}
.q3-req dt{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-top:8px}
.q3-req dt:first-child{margin-top:0}
.q3-req dd{margin:2px 0 0;color:var(--ink);font-weight:600}
.q3-req .empty{color:var(--ink-2);font-weight:400;font-style:italic}
@media (max-width:900px){.q3{grid-template-columns:1fr}.q3-side{border-left:0;border-top:1px solid var(--line)}.q3-view{min-height:340px}}

/* site preview mock (websites) */
.sitemock{border:1px solid var(--line-2);box-shadow:var(--shadow);background:#fff;overflow:hidden}
.sitemock .sm-hero{padding:26px 24px;background:var(--ink);color:#fff;position:relative}
.sitemock .sm-hero small{font:600 10px var(--mono);letter-spacing:.14em;color:var(--d-ink-2)}
.sitemock .sm-hero b{display:block;font:850 1.6rem/1.05 var(--display);font-stretch:116%;margin-top:8px;max-width:14em}
.sitemock .sm-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.sitemock .sm-row div{background:#fff;padding:14px;font-size:.85rem;line-height:1.35;color:var(--ink-2)}
.sitemock .sm-row div b{display:block;font:700 .92rem/1.25 var(--body);color:var(--ink);margin-bottom:3px}
.sitemock .sm-check{display:flex;flex-wrap:wrap;gap:6px;padding:14px}

/* industries page */
.ind{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);padding-block:clamp(48px,6vw,80px);border-top:1px solid var(--line)}
.ind:first-of-type{border-top:0}
.ind-k{display:flex;gap:16px;align-items:center}
.ind-k svg{width:56px;height:56px;color:var(--ink);flex:none}
.ind h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.06;font-stretch:112%}
.ind p{margin-top:14px;max-width:34em}
.ind ul.fit{display:grid;gap:8px;margin-top:4px}
.ind ul.fit li{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:12px 14px;background:#fff;border:1px solid var(--line)}
.ind ul.fit li a{font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
.ind ul.fit li a:hover{color:var(--red)}
.ind ul.fit li span{font-size:.96rem;line-height:1.45}
.ind .btns{margin-top:18px}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.jump a{padding:9px 12px;border:1px solid var(--line);background:#fff;color:var(--ink);font:600 13px var(--body);text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.jump a:hover{border-color:var(--ink)}
@media (max-width:900px){.ind{grid-template-columns:1fr}.ind ul.fit li{grid-template-columns:1fr}}

/* demos page */
.dgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.dgrid .dcard h3{font-size:1.4rem}
.dgrid .dcard ul{display:grid;gap:4px;margin:8px 0 0 1.1em;list-style:square;font-size:.96rem;line-height:1.45}
.dgrid .dcard ul li::marker{color:var(--red)}
.dgrid .dcard--feature{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr}
.dgrid .dcard--feature .dcard-img{border-bottom:0;border-right:1px solid var(--line);aspect-ratio:auto}
@media (max-width:860px){.dgrid{grid-template-columns:1fr}.dgrid .dcard--feature{grid-template-columns:1fr}.dgrid .dcard--feature .dcard-img{border-right:0;border-bottom:1px solid var(--line);aspect-ratio:16/10}}
.banner{display:flex;gap:12px;align-items:center;padding:14px 18px;background:var(--amber-t);color:#6E4100;font-weight:600;margin-bottom:28px;border-left:3px solid #D89614}

/* about */
.timeline{display:grid;gap:0;border-left:2px solid var(--line);margin-left:6px}
.timeline li{position:relative;padding:0 0 28px 28px}
.timeline li::before{content:"";position:absolute;left:-8px;top:4px;width:14px;height:14px;background:#fff;border:3px solid var(--red)}
.timeline b{display:block;color:var(--ink);font:760 1.15rem/1.25 var(--display);font-stretch:108%}
.timeline span{display:block;margin-top:4px;font-size:1rem}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:start}
.form{display:grid;gap:18px;padding:clamp(22px,3vw,36px);background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:var(--shadow)}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field label{display:block;font:600 .95rem/1.3 var(--body);color:var(--ink);margin-bottom:6px}
.field label small{font-weight:400;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--line-2);border-radius:2px;background:#fff;color:var(--ink);font:400 1rem/1.4 var(--body)}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(196,47,42,.25)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:.92rem}
.form-ok{padding:28px;background:var(--green-t);border:1px solid #A9D7BD;color:#0F4D2E}
.form-ok h2{color:#0F4D2E;font-size:1.6rem}
.form-err{padding:12px 14px;background:var(--red-t);color:var(--red-d);font-weight:600}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.form .row2{grid-template-columns:1fr}}
.expect li{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
.expect li i{font:600 13px var(--mono);color:var(--red);font-style:normal}
.expect b{color:var(--ink);display:block}

/* legal */
.legal{padding-block:clamp(40px,6vw,80px)}
.legal-in{max-width:calc(46rem + 2*var(--gut))}
.legal h1{font-size:clamp(2rem,4.5vw,3rem);line-height:1.05;font-stretch:112%}
.legal h2{font-size:1.35rem;margin:2em 0 .5em;font-stretch:106%}
.legal .meta{margin:10px 0 28px;font:500 13px var(--mono);color:var(--ink-2)}
.legal p,.legal li{font-size:1.04rem}
.legal p+p{margin-top:1em}
.legal ul,.legal ol{padding-left:1.3em;margin:.6em 0 1em}
.legal li{margin:.35em 0}
.legal .box{background:var(--sheet);border:1px solid var(--line);border-left:3px solid var(--red);padding:16px 18px;margin:1.6em 0}

/* 404 */
.nf{min-height:60vh;display:grid;align-content:center}
.nf-code{font:600 13px var(--mono);letter-spacing:.14em;color:var(--red);text-transform:uppercase}

@media print{.hdr,.ftr,.cta,.skip{display:none}}

/* ======================================================================
   v3 · the thread, the simulator, the diagnostic, prices, trust pages
   Built on the tokens in site.css. Light white / red / navy.
   ====================================================================== */

/* ---------- header additions ---------- */
.hdr-call{display:none;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1.5px solid var(--ink);border-radius:2px;color:var(--ink);font:700 .95rem/1 var(--body);text-decoration:none;margin-left:auto}
.hdr-call svg{width:16px;height:16px}
@media (max-width:1060px){.hdr-call{display:inline-flex}.mnav{margin-left:6px}}
@media (max-width:380px){.hdr-call span{display:none}.hdr-call{padding:8px 12px}}
.nav>a.nav-price{color:var(--red-d)}

/* ---------- hero with the simulator ---------- */
.hx{position:relative;padding:clamp(28px,4.5vw,64px) 0 clamp(40px,5vw,72px);overflow:hidden}
.hx-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.38fr);gap:clamp(28px,3.6vw,56px);align-items:start}
.hx-copy{padding-top:clamp(4px,2vw,28px);min-width:0}
.hx h1{font-size:clamp(2.2rem,3.5vw,3.55rem);line-height:.98;font-stretch:116%;font-weight:850;letter-spacing:-.012em}
.hx h1 .ln{display:block}
.hx .lede{margin-top:22px;font-size:clamp(1.08rem,1.45vw,1.24rem);max-width:30em}
.hx-try{display:flex;align-items:center;gap:10px;margin-top:22px;font:600 13px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.hx-try i{width:34px;height:2px;background:var(--red);position:relative}
.hx-try i::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:7px solid var(--red);border-right:0}
.hx-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:26px;font:500 12.5px/1.5 var(--mono);color:var(--ink-2)}
.hx-meta span{display:inline-flex;align-items:center;gap:8px}
.hx-meta span::before{content:"";width:6px;height:6px;background:var(--red)}
@media (max-width:1100px){.hx-grid{grid-template-columns:1fr}.hx .lede{max-width:40em}.hx-try{display:none}}

/* ---------- the simulator ---------- */
.sim{position:relative;background:#fff;border:1px solid var(--line-2);border-radius:8px;box-shadow:var(--shadow);overflow:hidden;--simw:320px}
.sim-top{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line);background:#fff}
.sim-steps{display:flex;gap:4px;flex-wrap:wrap}
.sim-steps li{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:999px;font:600 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);transition:background .3s,color .3s}
.sim-steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-2);font-size:11px;color:var(--ink-2);background:#fff;transition:all .3s}
.sim-steps li.on{background:var(--red-t);color:var(--red-d)}
.sim-steps li.on b{background:var(--red);border-color:var(--red);color:#fff}
.sim-steps li.done b{background:var(--ink);border-color:var(--ink);color:#fff}
.sim-tools{display:flex;align-items:center;gap:10px}
.sim-tag{font:500 11.5px/1.3 var(--mono);color:var(--ink-2);letter-spacing:.02em}
.sim-sound{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:600 12px var(--mono);cursor:pointer}
.sim-sound svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.sim-sound svg path:first-child{fill:currentColor;stroke:none}
.sim-sound .w{display:none}.sim-sound[aria-pressed=true] .w{display:block}.sim-sound[aria-pressed=true] .x{display:none}
.sim-stage{position:relative;display:grid;grid-template-columns:var(--simw) minmax(0,1fr);gap:28px;padding:24px;background:var(--sheet);
  background-image:linear-gradient(var(--grid-1) 1px,transparent 1px),linear-gradient(90deg,var(--grid-1) 1px,transparent 1px);background-size:24px 24px}
.sim-wire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:3}
.sim-wire path{fill:none;stroke:var(--red);stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.sim-wire.on path{opacity:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--ease-io)}
.sim-wire.fade path{opacity:0;transition:opacity .6s}
.sim-cap{margin-top:10px;font:600 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);text-align:center}

/* the phone */
.sim-field{min-width:0}
.sim-phone{position:relative;width:100%;background:#0B1424;border-radius:34px;padding:12px;box-shadow:0 30px 60px -30px rgba(19,35,61,.55),inset 0 0 0 1.5px #2A3850}
.sim-phone>*{position:relative}
.sp-status{display:flex;align-items:center;gap:8px;padding:6px 14px 8px;background:#fff;border-radius:24px 24px 0 0;font:600 12px var(--mono);color:var(--ink)}
.sp-clock{margin-right:auto}
.sp-sig{display:inline-flex;align-items:flex-end;gap:2px;height:12px}
.sp-sig i{width:3px;background:var(--line-2)}.sp-sig i:nth-child(1){height:4px}.sp-sig i:nth-child(2){height:6px}.sp-sig i:nth-child(3){height:9px}.sp-sig i:nth-child(4){height:12px}
.sp-off{font-size:10.5px;color:var(--ink-2);font-weight:500}
.sp-app{background:var(--navy);color:#fff;padding:12px 16px}
.sp-app small{display:block;font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--d-ink-2)}
.sp-app b{display:block;font:760 1.08rem/1.25 var(--display);font-stretch:106%;margin-top:3px}
.sp-screen{display:none;background:#fff;border-radius:0 0 24px 24px;padding:14px 14px 18px;min-height:440px;color:var(--ink);font-size:15px;line-height:1.4}
.sim[data-step="1"] .sp-flra{display:block}
.sim:not([data-step="1"]) .sp-lem{display:block}
.sp-job b{display:block;font:700 1rem/1.3 var(--body)}
.sp-job span{display:block;font:500 12px/1.5 var(--mono);color:var(--ink-2)}
.sp-ready{margin:12px 0 4px}
.sp-bar{height:8px;background:var(--sheet-2);border-radius:999px;overflow:hidden}
.sp-bar i{display:block;height:100%;width:100%;background:var(--green);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .6s var(--ease),background .3s}
.sp-ready-t{display:block;margin-top:6px;font:600 12.5px var(--mono);color:var(--green)}
.sp-ready.no .sp-bar i{background:var(--amber)}.sp-ready.no .sp-ready-t{color:var(--amber)}
.sp-h{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 8px;font:600 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.sp-hint{color:var(--red);letter-spacing:.04em;text-transform:none;font-weight:600}
.sp-haz,.sp-crew{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;width:100%;min-height:56px;margin-bottom:8px;padding:12px;border:1.5px solid var(--line-2);border-radius:12px;background:#fff;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .25s,background .25s,transform .15s}
.sp-haz:active,.sp-crew:active{transform:scale(.985)}
.sp-haz b,.sp-crew-t{display:block;font:700 15px/1.3 var(--body)}
.sp-haz small,.sp-crew-t small{display:block;margin-top:3px;font:400 13px/1.35 var(--body);color:var(--ink-2)}
.sp-chk{width:28px;height:28px;border-radius:50%;border:2px solid var(--line-2);position:relative;transition:all .25s}
.sp-chk::after{content:"";position:absolute;left:8px;top:4px;width:7px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .25s var(--ease)}
.sp-haz.is-ok{border-color:var(--green);background:var(--green-t)}
.sp-haz.is-ok .sp-chk{background:var(--green);border-color:var(--green)}
.sp-haz.is-ok .sp-chk::after{transform:rotate(45deg) scale(1)}
.sp-haz:hover:not(.is-ok){border-color:var(--ink)}
.sp-crew{grid-template-columns:1fr}
.sp-crew .t-on{display:none}.sp-crew.is-ok .t-on{display:block}.sp-crew.is-ok .t-off{display:none}
.sp-crew .t-off,.sp-crew .t-on{font:700 15px/1.3 var(--body)}
.sp-crew[aria-disabled=true]{opacity:.55;cursor:not-allowed;border-style:dashed}
.sp-crew.is-ok{border-color:var(--green);background:var(--green-t)}
.sp-people{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.sp-people i{display:block;font:500 11px/1.2 var(--mono);font-style:normal;color:var(--ink-2);text-align:center}
.sp-people svg{display:block;width:100%;height:24px;margin-bottom:2px;border-bottom:1px solid var(--line)}
.sp-people path{fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120;stroke-dashoffset:0}
.sp-crew:not(.is-ok) .sp-people path{stroke-dashoffset:120}
.sp-crew.is-ok .sp-people i:nth-child(1) path{transition:stroke-dashoffset .7s .05s}
.sp-crew.is-ok .sp-people i:nth-child(2) path{transition:stroke-dashoffset .7s .35s}
.sp-crew.is-ok .sp-people i:nth-child(3) path{transition:stroke-dashoffset .7s .65s}
.sp-guard{margin-top:10px;padding:10px 12px;border-left:3px solid var(--red);background:var(--red-t);font:500 12.5px/1.45 var(--body);color:var(--ink)}
.sp-skip{display:flex;gap:10px;align-items:baseline;padding:10px 12px;background:var(--sheet);border-radius:8px;font-size:13.5px;line-height:1.35;color:var(--ink)}
.sp-skip b{font:600 13px var(--mono);color:var(--red)}
.sp-tbl{width:100%;margin-top:10px;border-collapse:collapse;font-size:14px}
.sp-tbl th,.sp-tbl td{padding:6px 2px;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.sp-tbl thead th{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.sp-tbl td:nth-child(n+2),.sp-tbl thead th:nth-child(n+2){text-align:right;font-family:var(--mono);font-size:13px;width:44px}
.sp-tbl td small{color:var(--ink-2);font-size:12px;margin-left:4px}
.sp-eq th{color:var(--ink)}.sp-eq td{text-align:right!important;font-family:var(--mono);font-size:13px}
.sp-from{margin-top:8px;font:500 11.5px/1.45 var(--mono);color:var(--ink-2)}
.sp-sign{position:relative;margin-top:12px;border:1.5px dashed var(--line-2);border-radius:10px;background:#FBFCFE;height:110px;touch-action:none}
.sp-sign::after{content:"";position:absolute;left:14px;right:14px;bottom:28px;height:1px;background:var(--line-2);pointer-events:none}
.sp-pad{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;border-radius:10px}
.sp-sig-static{position:absolute;left:10%;top:6px;width:80%;height:70px;pointer-events:none}
.sp-sig-static path{fill:none;stroke:var(--navy);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.js .sp-sig-static{display:none}
html:not(.js) .sp-pad{display:none}
.sp-sign-l{position:absolute;left:14px;bottom:8px;font:500 11px var(--mono);color:var(--ink-2);pointer-events:none}
.sp-sign.empty .sp-sign-l::before{content:"Sign here \2014  ";color:var(--red);font-weight:600}
.sp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.sp-btn{min-height:48px;padding:10px 12px;border:0;border-radius:10px;background:var(--red);color:#fff;font:700 15px/1.2 var(--body);cursor:pointer;transition:background .2s,opacity .2s}
.sp-btn:hover{background:var(--red-d)}
.sp-btn[disabled]{opacity:.45;cursor:not-allowed;background:var(--red)}
.sp-btn-sec{background:#fff;color:var(--ink);border:1.5px solid var(--line-2);font-size:13.5px}
.sp-btn-sec:hover{background:var(--sheet)}
html:not(.js) .sp-actions{display:none}
.sp-locked{display:none;margin-top:12px;padding:12px;border-radius:10px;background:var(--green-t);border:1.5px solid var(--green);color:var(--ink)}
.sp-locked b{display:block;font:700 15px var(--body);color:var(--green)}
.sp-fp{display:block;margin-top:4px;font:500 12px var(--mono)}
.sp-fp code{font:inherit;color:var(--ink);background:#fff;padding:1px 5px;border-radius:3px}
.sp-locked small{display:block;margin-top:6px;font-size:12.5px;line-height:1.4;color:var(--ink-2)}
.sim[data-step="3"] .sp-locked,.sim[data-step="4"] .sp-locked{display:block}
.sim[data-step="3"] .sp-actions,.sim[data-step="4"] .sp-actions{display:none}
.sim[data-step="3"] .sp-from,.sim[data-step="4"] .sp-from{display:none}
@media (prefers-reduced-motion:no-preference){.sim[data-step="3"] .sp-locked{animation:lockin .5s var(--ease)}}
@keyframes lockin{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

/* the office */
.sim-office{min-width:0;display:flex;flex-direction:column}
.so-win{flex:1;background:#fff;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;box-shadow:0 18px 40px -26px rgba(19,35,61,.45);container-type:inline-size}
.so-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--sheet);font:600 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.so-bar em{font-style:normal;color:var(--ink-2);letter-spacing:.02em;text-transform:none;font-weight:500}
.so-wait{display:none;margin:16px;padding:22px 18px;border:1.5px dashed var(--line-2);border-radius:8px;text-align:center}
.so-wait b{display:block;color:var(--ink);font:700 1rem var(--body)}
.so-wait span{display:block;margin-top:4px;font:500 12.5px var(--mono);color:var(--ink-2)}
.sim[data-step="1"] .so-wait,.sim[data-step="2"] .so-wait{display:block}
.so-inv,.so-route{display:none}
.js .sim[data-step="1"] .so-inv,.js .sim[data-step="2"] .so-inv,.js .sim[data-step="1"] .so-route,.js .sim[data-step="2"] .so-route{display:block;opacity:.4;filter:grayscale(1);pointer-events:none}
.js .sim[data-step="1"] .so-refs dd,.js .sim[data-step="2"] .so-refs dd,.js .sim[data-step="1"] .so-inv-h b,.js .sim[data-step="2"] .so-inv-h b{color:transparent;background:var(--sheet-2);border-radius:2px}
.js .sim[data-step="1"] .so-lines,.js .sim[data-step="2"] .so-lines,.js .sim[data-step="1"] .so-backup,.js .sim[data-step="2"] .so-backup{display:none}
.js .sim[data-step="1"] .so-inv::after,.js .sim[data-step="2"] .so-inv::after{content:"";display:block;height:118px;margin-top:12px;background:repeating-linear-gradient(var(--sheet-2) 0 14px,transparent 14px 30px)}
.js .sim[data-step="1"] .rt-now,.js .sim[data-step="2"] .rt-now,.js .sim[data-step="1"] .rt-dot,.js .sim[data-step="2"] .rt-dot{visibility:hidden}
.sim[data-step="3"] .so-inv,.sim[data-step="4"] .so-inv{display:block}
.sim[data-step="4"] .so-route{display:block}
.so-inv{padding:16px 16px 12px}
.so-inv-h{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;align-items:start;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.so-inv-h small{display:block;font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.so-inv-h b{display:block;font:820 1.5rem/1.1 var(--display);font-stretch:112%;color:var(--ink)}
.so-refs{display:grid;gap:3px;margin:0;justify-self:end;text-align:right}
.so-refs div{display:flex;gap:8px;justify-content:flex-end;font:500 12px/1.35 var(--mono)}
.so-refs dt{color:var(--ink-2)}.so-refs dd{margin:0;color:var(--ink);font-weight:600}
.so-lines{width:100%;border-collapse:collapse;margin-top:8px;font-size:13.5px}
.so-lines th,.so-lines td{padding:6px 4px;border-bottom:1px solid var(--line);text-align:right;font-family:var(--mono);font-size:12.5px;color:var(--ink);white-space:nowrap}
.so-lines th:first-child,.so-lines td:first-child{text-align:left;font-family:var(--body);font-size:13.5px;white-space:normal}
.so-lines thead th{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.so-lines tfoot td{border-bottom:0;padding-top:5px;padding-bottom:3px;color:var(--ink-2)}
.so-lines tfoot td:first-child{text-align:right;font-family:var(--mono);font-size:12px}
.so-lines .so-tot td{color:var(--ink);font-weight:700;font-size:14px;border-top:2px solid var(--ink);padding-top:8px}
.so-lines .so-tot td:last-child{color:var(--red);font-size:16px}
.so-backup{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:10px}
.so-backup span{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:4px;font:500 11.5px var(--mono);color:var(--ink);background:var(--sheet)}
.so-backup span::before{content:"";width:9px;height:11px;border:1.5px solid var(--red);border-radius:1px}
.so-backup em{flex-basis:100%;font:500 11.5px/1.4 var(--mono);font-style:normal;color:var(--ink-2)}
@container (max-width:380px){.so-inv-h{grid-template-columns:1fr}.so-refs{justify-self:start;text-align:left}.so-refs div{justify-content:flex-start}.so-lines th,.so-lines td{font-size:11.5px;padding-inline:2px}.so-lines td:first-child{font-size:12.5px}}
.js .so-lines tbody tr{opacity:0;transform:translateX(-6px)}
.js .so-lines tbody tr.in,.js .sim[data-step="4"] .so-lines tbody tr{opacity:1;transform:none;transition:opacity .35s,transform .35s var(--ease)}
.js .so-lines tfoot,.js .so-backup{opacity:0}
.js .so-inv.done .so-lines tfoot,.js .so-inv.done .so-backup{opacity:1;transition:opacity .5s}
@media (max-width:760px){.js .sim[data-step="4"] .so-lines thead,.js .sim[data-step="4"] .so-lines tbody,.js .sim[data-step="4"] .so-lines tfoot tr:not(.so-tot),.js .sim[data-step="4"] .so-backup{display:none}.js .sim[data-step="4"] .so-inv{padding-bottom:4px}}
/* the route to paid */
.so-route{position:relative;padding:14px 16px 16px;border-top:1px solid var(--line)}
.rt-svg{display:block;width:100%;height:84px;overflow:visible}
.rt-base{fill:none;stroke:var(--line-2);stroke-width:2;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.rt-path{fill:none;stroke:var(--red);stroke-width:5;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--rp,1))}
.rt-dot{position:absolute;left:calc(16px + (100% - 32px) * var(--rx,1));top:calc(14px + 84px * var(--ry,.2));width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;border:4px solid var(--ink);box-shadow:0 0 0 4px rgba(196,47,42,.18);z-index:2}
.rt-stages{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:8px}
.rt-stages li{padding-top:7px;border-top:2px solid var(--line);font:600 11.5px/1.2 var(--body);color:var(--ink-2);min-width:0}
.rt-stages b{display:block;font-weight:700;color:var(--ink-2);hyphens:none}
.rt-stages small{display:block;font:500 9.5px/1.25 var(--mono);margin-top:3px;opacity:.9}
.rt-stages li.done{border-top-color:var(--red)}
.rt-stages li.done b{color:var(--ink)}
.rt-stages li.here{border-top-color:var(--ink)}
.rt-stages li.here b{color:var(--red)}
.rt-now{margin-top:12px;font-size:14px;line-height:1.45;color:var(--ink)}
.rt-now b{color:var(--red)}
@container (max-width:470px){.rt-stages small{display:none}.rt-stages li{font-size:10.5px}}
@container (max-width:340px){.rt-stages li{font-size:9.5px;letter-spacing:-.01em}}
.sim-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);background:#fff;min-height:58px}
.sim-say{font:600 14px/1.4 var(--body);color:var(--ink)}
.sim-say::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;background:var(--red);vertical-align:1px}
.sim-replay{min-height:40px;padding:8px 14px;border:1.5px solid var(--ink);border-radius:2px;background:#fff;color:var(--ink);font:700 14px var(--body);cursor:pointer;flex:none}
.sim-replay:hover{background:var(--ink);color:#fff}
html:not(.js) .sim-foot{display:none}
@media (max-width:1300px) and (min-width:1101px){.sim{--simw:300px}}
@media (max-width:760px){
  .sim-stage{grid-template-columns:1fr;padding:14px;gap:18px}
  .sim-field{max-width:390px;margin-inline:auto;width:100%}
  .sim-tag{display:none}
  .sim-steps span{display:none}.sim-steps li.on span{display:inline}
  .sim[data-step="1"] .so-wait,.sim[data-step="2"] .so-wait{margin:10px;padding:12px}
  .sim-cap--office{display:none}
  .sim-wire{display:none}
}
@media (max-width:400px){.sim-phone{padding:8px;border-radius:28px}.sp-status{border-radius:20px 20px 0 0}.sp-screen{border-radius:0 0 20px 20px;padding:12px 10px 14px}}

/* ---------- UI kit for built visuals (scales with its frame) ---------- */
.uiph{container-type:inline-size;width:min(300px,74%);margin:auto;background:#0B1424;border-radius:36px;padding:10px;box-shadow:0 30px 60px -28px rgba(0,0,0,.55),inset 0 0 0 1.5px #2A3850}
.uiph-s{background:#fff;border-radius:27px;overflow:hidden;font-size:4.5cqi;line-height:1.35;color:var(--ink)}
.ui-st{display:flex;justify-content:space-between;padding:2.4cqi 6cqi 2cqi;font:600 3.7cqi var(--mono)}
.ui-nos{color:var(--ink-2);font-weight:500}
.ui-hd{background:var(--navy);color:#fff;padding:3.6cqi 5.4cqi}
.ui-hd small{display:block;font:500 3.2cqi var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--d-ink-2)}
.ui-hd b{display:block;font:760 5cqi/1.2 var(--display);font-stretch:106%;margin-top:.8cqi}
.ui-pad{padding:4.4cqi 4.4cqi 6cqi;display:grid;gap:2.6cqi}
.ui-prog{height:2.4cqi;border-radius:9px;background:var(--sheet-2);overflow:hidden}.ui-prog i{display:block;height:100%;width:calc(var(--p)*100%);background:var(--amber)}
.ui-meta{font:500 3.5cqi/1.45 var(--mono);color:var(--ink-2)}
.ui-it{display:grid;grid-template-columns:7cqi 1fr;gap:3cqi;align-items:start;padding:3.2cqi;border:.5cqi solid var(--line);border-radius:3.4cqi}
.ui-it b{display:block;font-weight:700;font-size:4.3cqi}.ui-it small{display:block;color:var(--ink-2);font-size:3.6cqi;margin-top:.6cqi}
.ui-ck{width:7cqi;height:7cqi;border-radius:50%;border:.6cqi solid var(--line-2);position:relative}
.ui-it.ok{border-color:var(--green);background:var(--green-t)}.ui-it.ok .ui-ck{background:var(--green);border-color:var(--green)}
.ui-it.ok .ui-ck::after{content:"";position:absolute;left:2.1cqi;top:1cqi;width:1.8cqi;height:3.2cqi;border:solid #fff;border-width:0 .7cqi .7cqi 0;transform:rotate(45deg)}
.ui-it.bad{border-color:var(--red);background:var(--red-t)}.ui-it.bad .ui-ck{background:var(--red);border-color:var(--red)}
.ui-it.bad .ui-ck::after{content:"";position:absolute;left:1.6cqi;right:1.6cqi;top:2.7cqi;height:.8cqi;background:#fff}
.ui-it.warn{border-color:#E2B866;background:var(--amber-t)}.ui-it.warn .ui-ck{border-color:var(--amber)}
.ui-btn{display:grid;place-items:center;min-height:11cqi;border-radius:3.4cqi;background:var(--red);color:#fff;font-weight:700;font-size:4.2cqi;text-align:center;padding:2cqi}
.ui-btn--line{background:#fff;color:var(--ink);border:.5cqi solid var(--line-2);font-size:3.6cqi}
.ui-ban{padding:3cqi 3.6cqi;border-radius:3cqi;background:var(--sheet);border-left:1.2cqi solid var(--ink)}
.ui-ban b{display:block;font-size:4.3cqi}.ui-ban small{display:block;font-size:3.5cqi;color:var(--ink-2)}
.ui-ban.bad{background:var(--red-t);border-left-color:var(--red)}.ui-ban.bad b{color:var(--red-d)}
.ui-kv{display:grid;grid-template-columns:1fr auto;gap:1.6cqi 3cqi;padding:3cqi;border:.5cqi solid var(--line);border-radius:3cqi;font-size:3.9cqi}
.ui-kv span{color:var(--ink-2)}.ui-kv b{font:600 3.8cqi var(--mono);text-align:right}
.ui-sig{position:relative;height:24cqi;border:.5cqi dashed var(--line-2);border-radius:3cqi;background:#FBFCFE}
.ui-sig svg{position:absolute;left:8%;top:1cqi;width:84%;height:17cqi}
.ui-sig path{fill:none;stroke:var(--navy);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ui-sig small{position:absolute;left:3.6cqi;bottom:1.6cqi;font:500 3.1cqi var(--mono);color:var(--ink-2)}
.ui-sig--sm{height:20cqi}
.ui-lock{padding:3cqi 3.6cqi;border-radius:3cqi;background:var(--green-t);border:.5cqi solid var(--green)}
.ui-lock b{display:block;color:var(--green);font-size:4.2cqi}.ui-lock small{display:block;font:500 3.4cqi var(--mono);color:var(--ink-2)}
.ui-code{display:grid;grid-template-columns:repeat(6,1fr);gap:2cqi}
.ui-code i{display:grid;place-items:center;height:13cqi;border:.5cqi solid var(--line-2);border-radius:2.4cqi;font:600 6cqi var(--mono);font-style:normal;color:var(--ink)}
.ui-pill{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--sheet);border:1px solid var(--line);font:600 11px/1.2 var(--mono);color:var(--ink);white-space:nowrap}
.ui-pill.ok{background:var(--green-t);border-color:#9FCDB1;color:var(--green)}
.ui-pill.warn{background:var(--amber-t);border-color:#E9C988;color:var(--amber)}
/* desk windows */
.uiw{container-type:inline-size;width:min(640px,92%);margin:auto;background:#fff;border:1px solid var(--line-2);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}
.uiw-bar{display:flex;justify-content:space-between;gap:10px;padding:2cqi 3cqi;background:var(--sheet);border-bottom:1px solid var(--line);font:600 max(10px,2cqi) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.uiw-bar em{font-style:normal;color:var(--ink-2);text-transform:none;letter-spacing:0;font-weight:500}
.uiw-b{padding:3cqi}
.ui-money{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:1.4cqi;padding-bottom:9cqi}
.um-col p{font:600 max(9px,1.75cqi)/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);min-height:4.4cqi;padding-bottom:1.2cqi;border-bottom:2px solid var(--line);margin-bottom:1.6cqi}
.um-c{display:block;padding:1.6cqi;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:3px;font:500 max(9px,1.8cqi)/1.3 var(--mono);color:var(--ink-2);background:#fff}
.um-c b{display:block;color:var(--ink);font-size:max(10px,2.2cqi);font-weight:600}
.um-c small{display:block;font-size:max(8.5px,1.6cqi)}
.um-c--bad{border-left-color:var(--red);background:var(--red-t)}.um-c--bad small{color:var(--red-d);font-weight:600}
.um-c--ok{border-left-color:var(--green)}
.um-line{position:absolute;left:3cqi;right:3cqi;bottom:2cqi;width:calc(100% - 6cqi);height:6cqi}
.um-line path,.us-line path{fill:none;stroke:var(--red);stroke-width:3;vector-effect:non-scaling-stroke}
.ui-sched{position:relative;display:grid;grid-template-columns:16cqi repeat(5,1fr);row-gap:1.6cqi;font-size:max(9.5px,1.9cqi)}
.us-h{font:600 max(9px,1.8cqi) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding-bottom:1cqi;border-bottom:1px solid var(--line)}
.us-r{font:600 max(9.5px,1.9cqi)/1.2 var(--body);color:var(--ink);align-self:center}
.us-row{grid-column:2/7;position:relative;height:6.4cqi;background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),var(--line) calc(20% - 1px) 20%)}
.us-row i{position:absolute;top:.6cqi;bottom:.6cqi;left:calc(var(--a)*20% + 2px);width:calc((var(--b) - var(--a))*20% - 4px);display:flex;align-items:center;padding:0 1.2cqi;border-radius:3px;background:#DDE6F2;border-left:3px solid var(--blue);font:600 max(8.5px,1.7cqi)/1 var(--mono);font-style:normal;color:var(--ink);white-space:nowrap;overflow:hidden}
.us-row i.pm{background:var(--green-t);border-left-color:var(--green)}
.us-row i.em{background:var(--red-t);border-left-color:var(--red)}
.us-line{position:absolute;left:16cqi;right:0;top:6cqi;bottom:0;width:calc(100% - 16cqi);height:calc(100% - 6cqi);pointer-events:none;opacity:.85}
.ui-portal{display:grid;gap:1.6cqi}
.up-tabs{display:flex;flex-wrap:wrap;gap:1cqi 2.6cqi;padding-bottom:1.6cqi;border-bottom:1px solid var(--line);font:600 max(10px,2cqi) var(--body);color:var(--ink-2)}
.up-tabs b{color:var(--ink);box-shadow:inset 0 -2px 0 var(--red)}
.up-tabs i{font-style:normal;display:inline-grid;place-items:center;min-width:2.8cqi;height:2.8cqi;padding:0 .6cqi;margin-left:.6cqi;border-radius:999px;background:var(--red);color:#fff;font-size:max(9px,1.6cqi)}
.up-r{display:flex;justify-content:space-between;align-items:center;gap:2cqi;padding:1.8cqi 2cqi;border:1px solid var(--line);border-radius:4px}
.up-r b{display:block;font:600 max(10px,2.1cqi) var(--mono);color:var(--ink)}
.up-r small{display:block;font-size:max(10px,2cqi);color:var(--ink-2)}
.up-r .ui-pill{font-size:max(9px,1.7cqi)}
/* scenes */
.sc-gear{position:relative;display:grid;grid-template-columns:1fr auto;gap:5%;align-items:center;width:min(560px,90%);margin:auto;container-type:inline-size}
.sg-tag{background:#fff;border:1px solid var(--line-2);border-top:5px solid var(--red);padding:5cqi;box-shadow:var(--shadow);transform:rotate(-2deg)}
.sg-k{font:600 2.6cqi var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.sg-tag>b{display:block;margin-top:1.6cqi;font:800 4.6cqi/1.1 var(--display);font-stretch:110%;color:var(--ink)}
.sg-tag>span{display:block;font:500 2.8cqi var(--mono);color:var(--ink-2);margin-top:1cqi}
.sg-tag dl{display:grid;gap:1cqi;margin:3cqi 0}
.sg-tag dl div{display:flex;justify-content:space-between;gap:3cqi;font:500 2.8cqi var(--mono);border-bottom:1px dashed var(--line);padding-bottom:.8cqi}
.sg-tag dt{color:var(--ink-2)}.sg-tag dd{margin:0;color:var(--ink);font-weight:600}
.sg-pill{display:inline-block;padding:1cqi 2.4cqi;border-radius:999px;background:var(--green-t);color:var(--green);font:600 2.8cqi var(--mono)}
.sg-qr{width:30cqi;height:30cqi;padding:2.4cqi;background:#fff;border:1px solid var(--line-2);fill:var(--navy);box-shadow:var(--shadow)}
.sg-beam{position:absolute;right:0;top:0;width:34cqi;height:100%;overflow:visible;pointer-events:none}
.sg-beam path{stroke:var(--red);stroke-width:2;vector-effect:non-scaling-stroke;opacity:.85}
@media (prefers-reduced-motion:no-preference){.sg-beam{animation:scan 2.8s var(--ease-io) infinite alternate}}
@keyframes scan{from{transform:translateY(-22%)}to{transform:translateY(22%)}}
.sc-stack{width:min(600px,96%);margin:auto}
.sc-stack svg{width:100%;height:auto;overflow:visible}
.ss-paper rect{fill:#fff;stroke:var(--line-2);stroke-width:1.5}
.ss-paper path{stroke:var(--line);stroke-width:7;stroke-linecap:round}
.ss-paper text{font:600 13px var(--mono);letter-spacing:.12em;fill:var(--red-d)}
.ss-line{fill:none;stroke:var(--red);stroke-width:8;stroke-linecap:square}
.ss-dot{fill:#fff;stroke:var(--ink);stroke-width:5}
.sc-cable{position:absolute;inset:0}
.sc-cable svg{width:100%;height:100%}
.scc-grid path{stroke:rgba(255,255,255,.05);stroke-width:1}
.scc-pole path{fill:none;stroke:#3A4C6B;stroke-width:6;stroke-linecap:square}
.scc-wire path{fill:none;stroke:#5B6E8F;stroke-width:1.6}
.scc-hot{fill:none;stroke:var(--d-red);stroke-width:3}
.scc-pulse{fill:none;stroke:#FFD2CC;stroke-width:4;stroke-dasharray:.06 .94;stroke-linecap:round;filter:drop-shadow(0 0 6px #EE5A51)}
@media (prefers-reduced-motion:no-preference){.scc-pulse{animation:pulseline 4.5s linear infinite}}
@keyframes pulseline{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.scc-ground{fill:#0B1424}

/* ---------- photo slots ---------- */
.slot{margin:0;position:relative}
.slot-f{position:relative;aspect-ratio:var(--ar,4/5);overflow:hidden;border-radius:6px;background:var(--sheet);display:grid;place-items:center;isolation:isolate}
.slot-f--navy{background:var(--navy)}
.slot-f--navy::before,.slot-f--sheet::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--grid-2) 1px,transparent 1px),linear-gradient(90deg,var(--grid-2) 1px,transparent 1px);background-size:32px 32px}
.slot-f--navy::before{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}
.slot-f::after{content:"";position:absolute;left:0;bottom:0;width:38%;height:5px;background:var(--red);z-index:2}
.slot-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot-f>.uiph,.slot-f>.uiw,.slot-f>.sc-gear,.slot-f>.sc-stack{position:relative;z-index:1}
.slot[data-ar="4/5"] .uiph,.slot[data-ar="1/1"] .uiph{width:min(320px,66%)}
.slot[data-ar="4/5"] .slot-f:has(.uiph){place-items:start center}.slot[data-ar="4/5"] .uiph{margin-top:9%}
.slot[data-ar="16/9"] .slot-f:has(.uiph),.slot[data-ar="3/2"] .slot-f:has(.uiph){place-items:start center}
.slot[data-ar="16/9"] .uiph,.slot[data-ar="3/2"] .uiph{width:min(260px,44%);margin-top:7%}
.slot figcaption{display:flex;gap:12px;margin-top:12px;font:500 13px/1.45 var(--mono);color:var(--ink-2)}
.slot figcaption::before{content:"";flex:none;width:18px;height:2px;margin-top:9px;background:var(--red)}
.dark .slot figcaption{color:var(--d-ink-2)}

/* ---------- the thread: section dividers drawn from the mark's line ---------- */
.thread{position:relative;height:clamp(84px,9vw,132px);overflow:hidden}
.thread svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.thread .t-red{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.thread .t-ink{fill:none;stroke:var(--line-2);stroke-width:1.5;vector-effect:non-scaling-stroke}
.thread .t-bar{fill:#DDE6F2}
.thread .t-node{fill:#fff;stroke:var(--ink);stroke-width:3;vector-effect:non-scaling-stroke}
.thread .t-lbl{position:absolute;font:600 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);transform:translateX(-50%);white-space:nowrap}
.thread--sheet{background:var(--sheet)}
.thread--fromsheet{background:linear-gradient(var(--sheet) 50%,#fff 50%)}
@media (prefers-reduced-motion:no-preference){
  .js .thread .t-red{stroke-dasharray:1;stroke-dashoffset:1}
  .js .thread.in .t-red{stroke-dashoffset:0;transition:stroke-dashoffset 1.8s var(--ease-io)}
  .js .thread .t-node,.js .thread .t-lbl{opacity:0}
  .js .thread.in .t-node,.js .thread.in .t-lbl{opacity:1;transition:opacity .5s 1.2s}
}
@media (max-width:640px){.thread .t-lbl{font-size:9px;letter-spacing:.06em}.thread .t-lbl.opt{display:none}}

/* ---------- scenario ---------- */
.scn-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.scn-copy .lede{margin-top:20px}
.scn-quote{margin-top:26px;padding:4px 0 4px 22px;border-left:4px solid var(--red);font:760 clamp(1.25rem,2vw,1.6rem)/1.3 var(--display);font-stretch:104%;color:var(--ink);text-wrap:balance}
.morph{position:relative;aspect-ratio:5/4;border-radius:6px;background:var(--sheet);overflow:hidden}
.morph::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid-2) 1px,transparent 1px),linear-gradient(90deg,var(--grid-2) 1px,transparent 1px);background-size:40px 40px;opacity:.7}
.morph svg{position:absolute;inset:0;width:100%;height:100%}
.mo-tangle{fill:none;stroke:#8A97AB;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.mo-line{fill:none;stroke:var(--red);stroke-width:7;stroke-linecap:square;stroke-linejoin:miter}
.mo-dot{fill:#fff;stroke:var(--ink);stroke-width:5}
.mo-lbls{position:absolute;inset:0;margin:0;list-style:none;padding:0}
.mo-lbls li{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);padding:6px 9px;background:#fff;border:1px solid var(--line-2);border-radius:3px;font:600 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);white-space:nowrap;box-shadow:0 6px 14px -8px rgba(19,35,61,.4)}
.mo-lbls li.lost{color:var(--ink-2);border-style:dashed}
.mo-cap{position:absolute;left:16px;bottom:14px;right:16px;display:flex;justify-content:space-between;font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.mo-cap b{color:var(--red)}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(40px,5vw,64px);border-top:2px solid var(--ink)}
.pillars li{padding:22px 22px 6px 0;margin-right:22px}
.pillars li+li{padding-left:22px;margin-right:0;border-left:1px solid var(--line)}
.pillars .pk{font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.pillars h3{margin-top:8px;font:800 1.4rem/1.1 var(--display);font-stretch:112%}
.pillars p{margin-top:10px;font-size:1rem;line-height:1.5}
@media (max-width:980px){.scn-grid{grid-template-columns:1fr}.pillars{grid-template-columns:1fr 1fr}.pillars li:nth-child(3){border-left:0;padding-left:0}.pillars li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.pillars{grid-template-columns:1fr}.pillars li,.pillars li+li{border-left:0;padding-left:0;border-top:1px solid var(--line)}.pillars li:first-child{border-top:0}}

/* ---------- the diagnostic ---------- */
.dxs{background:var(--navy);color:var(--d-ink-2);overflow:hidden}
.dxs h2{color:#fff}.dxs .lede{color:var(--d-ink-2)}
.dx{margin-top:clamp(28px,4vw,48px)}
.dx-route{position:relative;height:90px;margin-bottom:18px}
.dx-route svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.dx-base{fill:none;stroke:#3A4C6B;stroke-width:2;stroke-dasharray:5 6;vector-effect:non-scaling-stroke}
.dx-ok{fill:none;stroke:var(--d-red);stroke-width:5;stroke-linecap:square;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--dxp,1));transition:stroke-dashoffset .8s var(--ease-io)}
.dx-break{position:absolute;left:calc(var(--dxp,1) * 100%);top:calc(var(--dxy,.2) * 100%);width:30px;height:30px;margin:-15px 0 0 -15px;display:none}
.dx-break::before,.dx-break::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:4px;margin:-2px 0 0 -13px;background:#fff;border-radius:2px;transform:rotate(45deg)}
.dx-break::after{transform:rotate(-45deg)}
.js .dx-break{display:block;transition:left .8s var(--ease-io),top .8s var(--ease-io)}
.dx-pick{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:0;padding:0;border:0;min-width:0}
.dx-legend{grid-column:1/-1;float:left;width:100%;margin-bottom:12px;padding:0;font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--d-ink)}
.dx-opt{position:relative;display:block;cursor:pointer;min-width:0}
.dx-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.dx-opt span{display:block;height:100%;min-height:72px;padding:12px;border:1.5px solid var(--d-line);border-radius:3px;background:rgba(255,255,255,.03);color:var(--d-ink);font:700 .98rem/1.25 var(--body);transition:background .2s,border-color .2s,color .2s}
.dx-opt i{display:block;margin-bottom:6px;font:600 11px var(--mono);font-style:normal;color:var(--d-red);letter-spacing:.1em}
.dx-opt:hover span{border-color:var(--d-ink-2)}
.dx-opt input:checked+span{background:#fff;border-color:#fff;color:var(--ink)}
.dx-opt input:checked+span i{color:var(--red)}
.dx-opt input:focus-visible+span{outline:3px solid var(--d-red);outline-offset:3px}
.dx-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(20px,3vw,40px);margin-top:28px}
.dx-calc{padding:clamp(20px,2.4vw,30px);border:1px solid var(--d-line);border-radius:3px;background:rgba(255,255,255,.03)}
.dx-k{font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--d-red)}
.dx-ins{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin-top:16px}
.dx-in>span:first-child{display:block;font:600 12px/1.3 var(--mono);color:var(--d-ink-2);margin-bottom:6px}
.dx-f{display:flex;align-items:center;gap:6px;min-height:48px;padding:0 12px;border:1.5px solid var(--d-line);border-radius:2px;background:#0B1424}
.dx-f:focus-within{border-color:var(--d-red)}
.dx-f em{font-style:normal;font:600 15px var(--mono);color:var(--d-ink-2)}
.dx-f input{width:100%;min-width:0;border:0;background:transparent;color:#fff;font:600 17px var(--mono);padding:10px 0;outline:0;-moz-appearance:textfield}
.dx-f input::-webkit-outer-spin-button,.dx-f input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.dx-cost{margin-top:22px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.dx-cost output{font:850 clamp(2.6rem,5vw,4rem)/1 var(--display);font-stretch:116%;color:#fff;letter-spacing:-.01em}
.dx-cost small{font:600 13px var(--mono);color:var(--d-ink-2);letter-spacing:.06em;text-transform:uppercase}
.dx-formula{margin-top:10px;font:500 13.5px/1.5 var(--mono);color:var(--d-ink)}
.dx-fine{margin-top:10px;font-size:.94rem;line-height:1.5;color:var(--d-ink-2)}
html:not(.js) .dx-ins,html:not(.js) .dx-cost{display:none}
.dx-cards{position:relative}
.dx-card{display:none;padding:clamp(20px,2.4vw,30px);background:#fff;border-radius:3px;color:var(--ink-2);border-top:5px solid var(--red)}
.dx:has(input[value=po]:checked) .dx-card[data-k=po],.dx:has(input[value=unsigned]:checked) .dx-card[data-k=unsigned],
.dx:has(input[value=rates]:checked) .dx-card[data-k=rates],.dx:has(input[value=disputed]:checked) .dx-card[data-k=disputed],
.dx:has(input[value=ranout]:checked) .dx-card[data-k=ranout],.dx:has(input[value=portal]:checked) .dx-card[data-k=portal],
.dx:has(input[value=chasing]:checked) .dx-card[data-k=chasing],.dx-card.on{display:block}
@supports not selector(:has(*)){html:not(.js) .dx-card{display:block;margin-bottom:12px}}
.dx-card .dx-k{color:var(--red)}
.dx-card h3{margin-top:8px;font:820 clamp(1.4rem,2.2vw,1.9rem)/1.08 var(--display);font-stretch:112%;color:var(--ink)}
.dx-card>p:not(.dx-k){margin-top:12px;font-size:1.02rem;line-height:1.55}
.dx-fix b,.dx-guard b{display:block;margin-bottom:4px;font:600 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.dx-fix{padding-top:14px;border-top:1px solid var(--line)}
.dx-guard{padding:12px 14px;background:var(--red-t);border-left:3px solid var(--red);color:var(--ink)}
.dx-guard b{color:var(--red-d)}
.dx-go{display:inline-flex;align-items:center;gap:8px;margin-top:16px;min-height:44px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--red)}
.dx-honest{margin-top:22px;font:500 13.5px/1.5 var(--mono);color:var(--d-ink-2);max-width:62em}
@media (prefers-reduced-motion:no-preference){.js .dx-card.on{animation:fadeup .45s var(--ease)}}
@media (max-width:1060px){.dx-pick{grid-template-columns:repeat(4,1fr)}.dx-body{grid-template-columns:1fr}}
@media (max-width:640px){.dx-route{display:none}.dx-pick{grid-template-columns:1fr 1fr}.dx-opt span{min-height:60px;padding:10px;font-size:.95rem}.dx-ins{grid-template-columns:1fr 1fr}.dx-ins .dx-in:first-child{grid-column:1/-1}}

/* ---------- the suite as one line ---------- */
.line-suite{position:relative;display:grid;gap:0;margin-top:clamp(28px,4vw,48px)}
.ls-row{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,1.05fr) 200px;gap:clamp(16px,2.6vw,36px);align-items:center;padding:clamp(20px,2.4vw,30px) 0;border-top:1px solid var(--line)}
.ls-row:last-child{border-bottom:1px solid var(--line)}
.ls-n{align-self:start;font:600 13px var(--mono);letter-spacing:.12em;color:var(--red);padding-top:6px}
.ls-row h3{font:830 clamp(1.4rem,2.3vw,2rem)/1.05 var(--display);font-stretch:114%}
.ls-row h3 a{color:inherit;text-decoration:none}
.ls-row h3 a:hover{color:var(--red)}
.ls-who{margin-top:6px;font:600 12px var(--mono);letter-spacing:.06em;color:var(--ink-2);text-transform:uppercase}
.ls-p{font-size:1.02rem;line-height:1.55}
.ls-p b{color:var(--ink)}
.ls-price{justify-self:end;text-align:right}
.ls-price b{display:block;font:800 1.25rem/1.1 var(--display);font-stretch:108%;color:var(--ink)}
.ls-price span{display:block;font:500 12px/1.5 var(--mono);color:var(--ink-2)}
.ls-price a{display:inline-flex;align-items:center;gap:6px;margin-top:6px;min-height:36px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--red)}
.ls-add{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ls-add a{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:4px 10px;border:1px solid var(--line-2);border-radius:999px;font:600 12px var(--mono);color:var(--ink);text-decoration:none;background:#fff}
.ls-add a::before{content:"+";color:var(--red);font-weight:700}
.ls-add a:hover{border-color:var(--ink)}
.ls-also{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;margin-top:22px;font-size:1rem}
.ls-also b{font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.ls-also a{font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--red);padding:6px 0 2px}
@media (max-width:1060px){.ls-row{grid-template-columns:52px minmax(0,1fr) 170px}.ls-p{grid-column:2/4}}
@media (max-width:640px){.ls-row{grid-template-columns:1fr;gap:10px}.ls-p{grid-column:auto}.ls-price{justify-self:start;text-align:left}.ls-n{padding-top:0}}

/* ---------- process: how it works ---------- */
.proc{display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:pc;margin-top:clamp(28px,4vw,48px)}
.proc li{position:relative;padding:28px 28px 8px 0;border-top:2px solid var(--line-2)}
.proc li+li{padding-left:28px}
.proc li::before{content:"";position:absolute;left:0;top:-2px;height:2px;width:var(--w,0%);background:var(--red);transition:width 1.2s var(--ease-io)}
.proc li+li::before{left:28px}
.proc.in li::before,html:not(.js) .proc li::before{width:72px}
@media (prefers-reduced-motion:reduce){.proc li::before{width:72px}}
.proc .pk{font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.proc h3{margin-top:10px;font:820 clamp(1.4rem,2.2vw,1.85rem)/1.08 var(--display);font-stretch:112%}
.proc p{margin-top:10px;font-size:1.02rem}
.proc li.proc-key{background:var(--navy);color:var(--d-ink-2);padding:28px;border-top-color:var(--navy)}
.proc li.proc-key h3{color:#fff}.proc li.proc-key .pk{color:var(--d-red)}
.proc li.proc-key::before{left:28px;background:var(--d-red)}
.proc-scale{margin-top:24px;padding:16px 18px;border:1px solid var(--line);border-left:4px solid var(--ink);background:#fff;font-size:1rem;max-width:58em}
.proc-scale b{color:var(--ink)}
@media (max-width:900px){.proc{grid-template-columns:1fr}.proc li,.proc li+li{padding:24px 0 8px}.proc li+li::before{left:0}.proc li.proc-key{padding:24px}}

/* ---------- small contractor band ---------- */
.start{background:var(--red);color:#fff;position:relative;overflow:hidden}
.start-in{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:24px 48px;align-items:center;padding-block:clamp(36px,4.5vw,56px)}
.start h2{color:#fff;font:840 clamp(1.7rem,3.3vw,2.7rem)/1.04 var(--display);font-stretch:114%}
.start p{margin-top:12px;font-size:1.08rem;color:#FFE9E7;max-width:40em}
.start .btns{margin-top:0}
.start svg.start-line{position:absolute;right:-20px;top:0;width:340px;height:100%;opacity:.25;pointer-events:none}
.start svg.start-line path{fill:none;stroke:#fff;stroke-width:3}
@media (max-width:860px){.start-in{grid-template-columns:1fr}}

/* ---------- trust grid ---------- */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:clamp(28px,4vw,48px)}
.trust>*{background:#fff;padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink-2);min-height:200px;transition:background .2s}
.trust a:hover{background:var(--sheet)}
.trust .tk{font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.trust h3{font:800 1.3rem/1.15 var(--display);font-stretch:110%;color:var(--ink)}
.trust p{font-size:1rem;line-height:1.5}
.trust .tgo{margin-top:auto;font-weight:700;color:var(--ink)}
.trust .tgo span{display:inline-block;transition:transform .25s var(--ease)}
.trust a:hover .tgo span{transform:translateX(4px)}
.trust .t-who{background:var(--navy);color:var(--d-ink-2)}
.trust .t-who h3{color:#fff}.trust .t-who .tk{color:var(--d-red)}
@media (max-width:900px){.trust{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.trust{grid-template-columns:1fr}.trust>*{min-height:0}}

/* ---------- price chip on product pages ---------- */
.pchip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:22px;padding:14px 16px;border:1px solid var(--line-2);border-left:4px solid var(--red);background:#fff;max-width:36em}
.pchip b{font:800 1.12rem/1.2 var(--display);font-stretch:108%;color:var(--ink)}
.pchip span{font:500 12.5px/1.45 var(--mono);color:var(--ink-2)}
.pchip a{font-weight:700;font-size:.95rem;margin-left:auto}
.pchip-parts{flex-basis:100%;display:flex;flex-wrap:wrap;gap:4px 18px;font:500 12.5px var(--mono);color:var(--ink)}

/* ---------- pricing page ---------- */
.ptable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:clamp(24px,3vw,40px);border:1px solid var(--line-2);background:#fff}
.ptable{width:100%;border-collapse:collapse;min-width:720px}
.ptable th,.ptable td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ptable thead th{background:var(--navy);color:#fff;font:600 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;vertical-align:bottom}
.ptable thead th small{display:block;color:var(--d-ink-2);letter-spacing:.04em;text-transform:none;font-weight:500;margin-top:4px}
.ptable tbody th{font-weight:400}
.ptable tbody th a{font:780 1.08rem/1.2 var(--display);font-stretch:106%;color:var(--ink);text-decoration:none}
.ptable tbody th a:hover{color:var(--red)}
.ptable tbody th span{display:block;margin-top:4px;font-size:.92rem;color:var(--ink-2)}
.ptable tbody th em{display:inline-block;margin-left:8px;padding:2px 7px;border:1px solid var(--line-2);border-radius:999px;font:600 10.5px var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);vertical-align:2px}
.ptable td{font:600 15px/1.4 var(--mono);color:var(--ink);white-space:nowrap}
.ptable td small{display:block;font:500 12px var(--mono);color:var(--ink-2);white-space:normal}
.ptable tr.pt-part th{padding-left:36px}
.ptable tr.pt-part th a{font-size:.98rem;font-weight:700}
.ptable tr.pt-part td{font-size:13.5px;color:var(--ink-2)}
.ptable tr.pt-main td:nth-child(2),.ptable tr.pt-main td:nth-child(3){color:var(--ink)}
.ptable td.pt-q{font:500 14px/1.45 var(--body);color:var(--ink-2);white-space:normal}
.ptable .pt-col-small{background:#FCFDFE}
.bands{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(24px,3vw,36px)}
.band{padding:22px;border:1px solid var(--line-2);background:#fff}
.band.on{border-color:var(--ink);box-shadow:inset 0 4px 0 var(--red)}
.band b{display:block;font:820 1.5rem/1.1 var(--display);font-stretch:112%;color:var(--ink)}
.band span{display:block;margin-top:4px;font:600 13px var(--mono);color:var(--red)}
.band p{margin-top:10px;font-size:.98rem}
@media (max-width:760px){.bands{grid-template-columns:1fr}}
.plines{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.plines li{display:flex;gap:12px;font:600 1rem/1.4 var(--body);color:var(--ink)}
.plines li::before{content:"";flex:none;width:18px;height:2px;margin-top:11px;background:var(--red)}
@media (max-width:760px){.plines{grid-template-columns:1fr}}
.pnote{margin-top:16px;font:500 13px/1.6 var(--mono);color:var(--ink-2);max-width:70em}

/* ---------- time back calculator ---------- */
.tb{margin-top:clamp(24px,3vw,40px);--hmax:10}
.tb-k{font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.tb-week{padding:clamp(20px,2.6vw,32px);background:#fff;border:1px solid var(--line-2)}
.tbw{display:grid;gap:0;margin-top:14px}
.tbw li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,.9fr);gap:8px 24px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.tbw-l b{display:block;color:var(--ink);font:760 1.05rem/1.25 var(--display);font-stretch:104%}
.tbw-l small{display:block;margin-top:3px;font-size:.92rem;color:var(--ink-2)}
.tbw-b{display:flex;align-items:center;gap:10px}
.tbw-b i{display:block;height:22px;width:calc(var(--h) / var(--hmax) * 100%);min-width:3px;max-width:calc(100% - 64px);background:repeating-linear-gradient(90deg,var(--red) 0 calc(100% / var(--h,1) - 2px),transparent 0 calc(100% / var(--h,1)));transition:width .5s var(--ease)}
.tbw-b output{font:600 15px var(--mono);color:var(--ink);white-space:nowrap}
.tbw-fix{display:flex;gap:8px;font:600 .95rem/1.35 var(--body);color:var(--green)}
.tbw-fix::before{content:"";flex:none;width:12px;height:7px;margin-top:5px;border:solid var(--green);border-width:0 0 2.5px 2.5px;transform:rotate(-45deg)}
.tb-note{margin-top:12px;font:500 12.5px var(--mono);color:var(--ink-2)}
@media (max-width:860px){.tbw li{grid-template-columns:1fr}.tbw-b i{max-width:calc(100% - 70px)}}
.tb-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);border:1px solid var(--line-2);border-top:0;background:#fff}
.tb-ins{padding:clamp(20px,2.6vw,32px);display:grid;gap:22px;align-content:start}
.tb-set{border:0;margin:0;padding:0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.tb-set legend{grid-column:1/-1;float:left;width:100%;margin-bottom:10px;font:600 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.tb-in{display:flex;flex-direction:column;justify-content:flex-end;gap:6px}
.tb-in span{font:600 .95rem/1.3 var(--body);color:var(--ink)}
.tb-in small{display:block;margin-top:2px;font:400 .85rem/1.4 var(--body);color:var(--ink-2)}
.tb-in input{min-height:48px;padding:10px 12px;border:1.5px solid var(--line-2);border-radius:2px;background:#fff;color:var(--ink);font:600 16px var(--mono);width:100%}
.tb-in input:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(196,47,42,.25)}
.tb-more summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:700;color:var(--ink)}
.tb-more[open] summary{margin-bottom:12px}
.tb-out{padding:clamp(22px,2.8vw,36px);background:var(--navy);color:var(--d-ink-2);display:flex;flex-direction:column}
.tb-total{display:flex;align-items:baseline;gap:12px;margin-top:6px}
.tb-total output{font:850 clamp(3.2rem,6.4vw,5.4rem)/1 var(--display);font-stretch:118%;color:#fff;letter-spacing:-.02em}
.tb-total span{font:700 1.2rem var(--body);color:var(--d-ink)}
.tb-trans{display:grid;gap:10px;margin-top:18px}
.tb-trans li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;padding-top:10px;border-top:1px solid var(--d-line)}
.tb-trans output{font:820 1.9rem/1 var(--display);font-stretch:112%;color:var(--d-red);min-width:2.6ch}
.tb-trans span{color:#fff;font-weight:600;line-height:1.35}
.tb-trans small{display:block;font:500 12px var(--mono);color:var(--d-ink-2);font-weight:500}
.tb-rows{display:grid;gap:8px;margin:20px 0 0}
.tb-rows div{display:grid;grid-template-columns:1fr auto;gap:0 12px;padding-top:8px;border-top:1px solid var(--d-line)}
.tb-rows dt{color:var(--d-ink);font-weight:600}.tb-rows dd{margin:0}
.tb-rows output{font:600 15px var(--mono);color:#fff}
.tb-out .f{grid-column:1/-1;font:500 11.5px/1.5 var(--mono);color:var(--d-ink-2)}
.tb-money{margin-top:18px;padding:12px 14px;border:1px solid var(--d-line)}
.tb-money p:first-child{display:flex;justify-content:space-between;gap:10px;color:var(--d-ink);font-weight:600}
.tb-money output{font:700 1.15rem var(--mono);color:#fff}
.tb-fine{margin-top:14px;font-size:.88rem;line-height:1.5}
@media (max-width:900px){.tb-grid{grid-template-columns:1fr}}
@media (max-width:520px){.tb-set{grid-template-columns:1fr}}
.timeline-quote{font:820 clamp(1.6rem,3.4vw,2.8rem)/1.1 var(--display);font-stretch:112%;color:var(--ink);max-width:22em;text-wrap:balance}
.timeline-quote .r{display:block}

/* ---------- comparables ---------- */
.cmp-ph{margin-top:20px;padding:14px 16px;border:1.5px dashed var(--amber);background:var(--amber-t);color:var(--ink);font-size:.98rem}
.cmp-ph b{color:var(--amber)}
.cmp-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:clamp(24px,3vw,36px)}
.cmp-cat{padding:clamp(18px,2.2vw,26px);background:#fff;border:1px solid var(--line-2);display:flex;flex-direction:column;gap:12px}
.cmp-sub{font-size:.95rem;margin-top:-6px}
.cmp-q{font:500 12.5px/1.5 var(--mono);color:var(--ink-2)}
.cmp-d{grid-column:1/-1;margin-top:6px}
.cmp-d summary{cursor:pointer;min-height:32px;display:flex;align-items:center;font:600 12.5px var(--mono);color:var(--blue)}
.cmp-d[open] summary{margin-bottom:8px}
.cmp-ns{margin-top:10px}
.cmp-cov .ns li{color:var(--ink-2)}
.cmp-themes q{display:block;margin-top:8px;font:italic 500 .98rem/1.4 var(--body);color:var(--ink)}
.cmp-cat h3{font:820 1.35rem/1.1 var(--display);font-stretch:110%}
.cmp-model{font:600 12px var(--mono);letter-spacing:.06em;color:var(--red)}
.cmp-v{display:grid;gap:0;border-top:1px solid var(--line)}
.cmp-v li{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;padding:12px 0;border-bottom:1px solid var(--line)}
.cmp-v b{color:var(--ink);font-weight:700}
.cmp-v .pr{font:600 13px/1.45 var(--mono);color:var(--ink)}
.cmp-v small{grid-column:1/-1;font:500 11.5px/1.4 var(--mono);color:var(--ink-2)}
.cmp-v small a{color:var(--blue)}
.cmp-cov{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.95rem}
.cmp-cov p{font:600 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:6px}
.cmp-cov ul{display:grid;gap:6px}
.cmp-cov li{display:flex;gap:8px;line-height:1.4}
.cmp-cov .y li::before{content:"";flex:none;width:10px;height:6px;margin-top:6px;border:solid var(--green);border-width:0 0 2px 2px;transform:rotate(-45deg)}
.cmp-cov .n li::before{content:"";flex:none;width:10px;height:2px;margin-top:10px;background:var(--ink-2)}
.cmp-none{font:500 13px/1.5 var(--mono);color:var(--ink-2)}
@media (max-width:820px){.cmp-cats{grid-template-columns:1fr}.cmp-cov{grid-template-columns:1fr}}
.cmp-stacks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:24px}
.cmp-stack{padding:22px;background:var(--navy);color:var(--d-ink-2)}
.cmp-stack h3{color:#fff;font:800 1.2rem/1.2 var(--display);font-stretch:108%}
.cmp-stack .for{font:600 12px var(--mono);color:var(--d-red);margin-top:4px}
.cmp-stack ul{margin-top:12px;display:grid;gap:6px;font-size:.95rem}
.cmp-stack li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--d-line);padding-bottom:6px}
.cmp-stack li span:last-child{font:600 13px var(--mono);color:#fff;white-space:nowrap}
.cmp-stack li small{display:block;font:500 11px/1.4 var(--mono);color:var(--d-ink-2);margin-top:2px}
.cmp-stack .tot{display:flex;justify-content:space-between;margin-top:12px;font:700 1rem var(--body);color:#fff}
.cmp-stack .src{margin-top:10px;font:500 11.5px/1.5 var(--mono)}
.cmp-stack a{color:#9EC2F5}
.cmp-themes{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:24px;border-top:2px solid var(--ink)}
.cmp-themes li{padding:18px 22px 18px 0;border-bottom:1px solid var(--line)}
.cmp-themes li:nth-child(even){padding-left:22px;border-left:1px solid var(--line)}
.cmp-themes b{display:block;color:var(--ink);font:760 1.1rem/1.3 var(--display);font-stretch:104%}
.cmp-themes p{margin-top:6px;font-size:.98rem}
.cmp-themes small{display:block;margin-top:8px;font:500 11.5px/1.5 var(--mono)}
@media (max-width:760px){.cmp-themes{grid-template-columns:1fr}.cmp-themes li:nth-child(even){padding-left:0;border-left:0}}
.cmp-foot{margin-top:22px;font:500 12.5px/1.6 var(--mono);color:var(--ink-2);max-width:72em}
.cmp-frame{margin-top:18px;padding:18px 20px;border-left:4px solid var(--red);background:#fff;font:620 clamp(1.08rem,1.6vw,1.3rem)/1.45 var(--display);font-stretch:100%;color:var(--ink);max-width:52em}

/* ---------- info tables (integrations, security) ---------- */
.itable-wrap{overflow-x:auto;border:1px solid var(--line-2);background:#fff;margin-top:clamp(20px,3vw,32px)}
.itable{width:100%;border-collapse:collapse;min-width:640px}
.itable th,.itable td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:1rem;line-height:1.5}
.itable thead th{background:var(--sheet);font:600 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.itable tbody th{color:var(--ink);font:760 1.02rem/1.3 var(--display);font-stretch:104%;width:24%}
.itable .how{display:inline-block;padding:3px 9px;border-radius:999px;font:600 11.5px var(--mono);white-space:nowrap;border:1px solid var(--line-2);color:var(--ink);background:var(--sheet)}
.itable .how--two{background:var(--green-t);border-color:#9FCDB1;color:var(--green)}
.itable .how--file{background:#E8EFF8;border-color:#B7CAE3;color:var(--blue)}
.itable .how--opt{background:var(--amber-t);border-color:#E9C988;color:var(--amber)}
.facts2{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(24px,3vw,36px)}
.facts2 li{padding:22px;background:#fff;border:1px solid var(--line-2);border-top:4px solid var(--ink)}
.facts2 li.hl{border-top-color:var(--red)}
.facts2 b{display:block;font:800 1.15rem/1.2 var(--display);font-stretch:108%;color:var(--ink)}
.facts2 p{margin-top:8px;font-size:.98rem;line-height:1.5}
@media (max-width:900px){.facts2{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.facts2{grid-template-columns:1fr}}
.loc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.loc-fig{position:relative;aspect-ratio:16/10;background:var(--sheet);border-radius:6px;overflow:hidden}
.loc-fig svg{position:absolute;inset:0;width:100%;height:100%}
.loc-road{fill:none;stroke:#C9D2DE;stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
.loc-route{fill:none;stroke:#9AA6B8;stroke-width:2;stroke-dasharray:3 7}
.loc-pin circle{fill:var(--red)}
.loc-pin text{font:600 13px var(--mono);fill:var(--ink)}
.loc-pin rect{fill:#fff;stroke:var(--line-2)}
.loc-gap text{font:600 12px var(--mono);fill:var(--ink-2);letter-spacing:.06em}
@media (max-width:860px){.loc{grid-template-columns:1fr}}
.callout{padding:clamp(20px,2.6vw,30px);background:var(--navy);color:var(--d-ink-2);border-radius:3px}
.callout h3{color:#fff;font:800 1.35rem/1.15 var(--display);font-stretch:110%}
.callout p{margin-top:10px}
.callout a{color:#9EC2F5}

/* ---------- page heroes with a slot ---------- */
.phero-slot{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);align-items:center}
@media (max-width:980px){.phero-slot{grid-template-columns:1fr}}
.phero-slot .slot{max-width:560px;width:100%;justify-self:center}
.duo-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2.4vw,28px)}
@media (max-width:760px){.duo-slots{grid-template-columns:1fr}}
.proofshot{margin-top:clamp(24px,3vw,40px)}
.proofshot figcaption{margin-top:12px;font-size:.98rem;max-width:56em}
.proofshot figcaption b{color:var(--ink)}

/* ---------- crew benefits ---------- */
.crew{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--ink);margin-top:clamp(24px,3vw,40px)}
.crew li{padding:22px 22px 10px 0}
.crew li+li{padding-left:22px;border-left:1px solid var(--line)}
.crew b{display:block;font:800 1.2rem/1.2 var(--display);font-stretch:108%;color:var(--ink)}
.crew p{margin-top:8px;font-size:1rem;line-height:1.5}
@media (max-width:980px){.crew{grid-template-columns:1fr 1fr}.crew li:nth-child(3){border-left:0;padding-left:0}.crew li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.crew{grid-template-columns:1fr}.crew li,.crew li+li{border-left:0;padding-left:0;border-top:1px solid var(--line)}.crew li:first-child{border-top:0}}
.guards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:clamp(24px,3vw,36px)}
.guards li{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:18px;background:#fff;border:1px solid var(--line-2)}
.guards li::before{content:"";width:36px;height:36px;border-radius:50%;background:var(--red-t) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l7 3v6c0 4-3 7-7 9-4-2-7-5-7-9V6z' fill='none' stroke='%23C42F2A' stroke-width='2'/%3E%3C/svg%3E") center/20px no-repeat}
.guards b{display:block;color:var(--ink);font:760 1.05rem/1.3 var(--display);font-stretch:104%}
.guards p{margin-top:4px;font-size:.97rem;line-height:1.5}
@media (max-width:760px){.guards{grid-template-columns:1fr}}
.callnow{display:none!important}
@media (max-width:760px){.callnow{display:inline-flex!important}}
@media (max-width:480px){.mnav-t{display:none}.hdr-in{gap:10px}.mnav>summary{padding:8px 6px}}
.mnav-start{display:block;margin-bottom:18px;padding:14px 16px;background:var(--red-t);border-left:4px solid var(--red);color:var(--ink);text-decoration:none;font-size:1rem}
.mnav-start b{color:var(--red-d)}
@media (max-width:860px){.start svg.start-line{display:none}}
@media (max-width:760px){
  .sim-top{flex-wrap:nowrap;padding:10px 12px}
  .sim-sound span{display:none}.sim-sound{padding:6px 9px}
  .js .sim[data-step="1"] .so-inv,.js .sim[data-step="2"] .so-inv,.js .sim[data-step="1"] .so-route,.js .sim[data-step="2"] .so-route{display:none}
}
.thread .t-lbl.end{left:auto!important;right:8px;transform:none}
.uiph-s{aspect-ratio:9/18.5;display:flex;flex-direction:column}
.slot[data-ar="4/5"] .uiph{margin-top:6%}
.phero-slot .h1,.phero-slot .h2{font-size:clamp(2.1rem,4vw,3.7rem)}
.phero-slot .h2{font-size:clamp(1.9rem,3.4vw,3rem)}
.direct a.copy{align-items:center;justify-content:center;text-decoration:none}
@media (max-width:640px){.how-mfig .browser{display:none}.how-mfig .phone{width:min(330px,86%)}}
.pg-home .sec{padding-block:clamp(56px,7vw,96px)}
@media (max-width:560px){
  .pg-home .trust p{display:none}.pg-home .trust>*{gap:6px;padding:18px}
  .pg-home .pillars p{font-size:.95rem}
  .pg-home .ls-row{padding:18px 0}
}
/* home: compact trust strip and pillars */
.pg-home .trust p{display:none}
.pg-home .trust>*{min-height:0;gap:8px}
.pg-home .trust h3{font-size:1.08rem}
@media (min-width:1100px){.pg-home .trust{grid-template-columns:repeat(6,1fr)}}
@media (max-width:560px){.pg-home .trust{grid-template-columns:1fr 1fr}.pg-home .trust h3{font-size:.98rem}.pg-home .trust .tgo{font-size:.9rem}
  .pg-home .pillars{grid-template-columns:1fr 1fr;gap:0 14px}.pg-home .pillars li,.pg-home .pillars li+li{padding:16px 0 4px;border-left:0}.pg-home .pillars li:nth-child(-n+2){border-top:0}
  .pg-home .pillars p{display:none}.pg-home .pillars h3{font-size:1.1rem}
  .pg-home .proc li:not(.proc-key) p{font-size:.98rem}
  .pg-home .ls-p{font-size:.98rem}
}
.pg-home .ls-row{padding:clamp(16px,1.8vw,24px) 0}
@media (max-width:640px){
  .ftr-top{display:grid!important;grid-template-columns:1fr 1fr!important;gap:28px 18px!important}
  .ftr-brand,.ftr-top>.ftr-col:last-child{grid-column:1/-1}
  .ftr-col ul a{font-size:.95rem}
  .pg-home .ls-who,.pg-home .ls-price a{display:none}
  .pg-home .ls-price b{display:inline;font-size:1.05rem}.pg-home .ls-price span{display:inline;margin-left:6px}
  .dx-fine{display:none}
  .dx-card>p:not(.dx-k):not(.dx-fix):not(.dx-guard){font-size:.97rem}
}
.ptable tbody th a{display:inline-block;padding:3px 0;min-height:26px}
.sp-sign-l{right:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#FBFCFE;padding-right:4px}
.sp-sign.empty .sp-sign-l::before{content:"Sign here \00B7  "}

/* ---------- v3 fixes (Nov 3): office-updated stages, start-here total, services in the nav, phone in the header ---------- */
.rt-who{margin:8px 0 0;padding-top:8px;border-top:1px dashed var(--line);font:500 11.5px/1.45 var(--mono);color:var(--ink-2)}
.js .sim[data-step="1"] .rt-who,.js .sim[data-step="2"] .rt-who{visibility:hidden}
.stot{margin-top:18px;padding:18px 18px 16px;border:1px solid var(--line-2);border-top:4px solid var(--red);background:#fff;max-width:36em}
.stot-k{font:600 11.5px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.stot-l{margin-top:10px;border-top:1px solid var(--line)}
.stot-l li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font:600 .98rem/1.3 var(--body);color:var(--ink)}
.stot-l li small{display:block;font:500 12px/1.4 var(--mono);color:var(--ink-2);margin-top:2px}
.stot-l li>span:last-child{font:500 13px/1.4 var(--mono);text-align:right;white-space:nowrap}
.stot-sum{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font:500 13px var(--mono);color:var(--ink-2)}
.stot-sum b{font:800 1.12rem/1.2 var(--display);font-stretch:108%;color:var(--ink)}
.stot-y1{margin-top:4px;padding-top:10px;border-top:2px solid var(--ink)}
.stot-y1 span{color:var(--ink);font-weight:600}
.stot-y1 small{display:block;font-size:11.5px;color:var(--ink-2);font-weight:500}
.stot-y1 b{font-size:1.5rem;color:var(--red)}
.stot-note{margin-top:10px;font:500 12.5px/1.55 var(--mono);color:var(--ink-2)}
@media (max-width:420px){.stot-l li{flex-direction:column;gap:4px}.stot-l li>span:last-child{text-align:left}}
.dd-h{margin:14px 14px 4px;padding-top:12px;border-top:1px solid var(--line);font:600 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.mnav-h--also{margin-top:22px}
.ftr-h--also{margin-top:22px}
.hdr-tel{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 2px;color:var(--ink);font:600 .95rem/1 var(--mono);text-decoration:none;white-space:nowrap;flex:none}
.hdr-tel svg{width:15px;height:15px;color:var(--red)}
.hdr-tel:hover{color:var(--red)}
@media (max-width:1060px){.hdr-tel{display:none}}
.nav>a,.dd>summary{white-space:nowrap}
@media (min-width:1061px) and (max-width:1260px){.hdr-in{gap:12px}.nav{gap:0}.nav>a,.dd>summary{padding:8px 8px;font-size:.94rem}.hdr-tel{font-size:.9rem}.hdr-cta{padding-inline:14px}}
.hx-start{margin-top:14px;font-weight:600}
.hx-start a{display:inline-block;padding:8px 0;line-height:1.4}
.so-lines tbody td{padding-top:4px;padding-bottom:4px}
@media (min-width:761px){.sim[data-step="4"] .so-backup em{display:none}.sim[data-step="4"] .so-backup{margin-top:6px}}
