
/* Layout concept: "the merchant file". A cinematic dark hero shows declined transactions being rerouted through the RiskVantage shield; the rest of the page reads like a case file moving from Declined to Live. */
:root{
  --bg:#F3F4F5; --surface:#FFFFFF; --ink:#0F1115; --fg:#1C2027; --muted:#5B6370; --line:#DADDE2;
  --red:#C62D2A; --red-deep:#8F1D1C; --red-ink:#FFFFFF; --red-soft:#FAE7E6;
  --ok:#1E7A4C; --ok-soft:#E2F2E9; --warn:#9A6200; --warn-soft:#FBF0DA;
  --band:#0C0E12; --band-2:#13161C; --band-fg:#EEF0F3; --band-muted:#9CA4B0; --band-line:#252A33;
  --ok-on-band:#4FD08F; --red-on-band:#FF5A52;
  --ph:#7A4FD0; --ph-soft:#F1EBFC;
  --f-display:"Archivo","Arial Narrow",Arial,sans-serif;
  --f-body:"IBM Plex Sans",-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --s-1:.8125rem; --s1:1.125rem; --s3:clamp(1.7rem,1.2rem + 1.8vw,2.5rem); --s4:clamp(2.4rem,1.3rem + 4.2vw,4.6rem);
  --r:6px; --wrap:1220px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0A0C10; --surface:#12151B; --ink:#F2F4F7; --fg:#D8DDE4; --muted:#98A1AE; --line:#242933;
  --red:#F0453D; --red-deep:#B32A25; --red-ink:#FFFFFF; --red-soft:#35130F;
  --ok:#4FD08F; --ok-soft:#0F2A1D; --warn:#F0B44C; --warn-soft:#2E2210;
  --ph:#B89AF5; --ph-soft:#24193A; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0A0C10; --surface:#12151B; --ink:#F2F4F7; --fg:#D8DDE4; --muted:#98A1AE; --line:#242933;
  --red:#F0453D; --red-deep:#B32A25; --red-ink:#FFFFFF; --red-soft:#35130F;
  --ok:#4FD08F; --ok-soft:#0F2A1D; --warn:#F0B44C; --warn-soft:#2E2210;
  --ph:#B89AF5; --ph-soft:#24193A; color-scheme:dark}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--band)}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--ink);line-height:1.04;margin:0;text-wrap:balance;font-stretch:86%}
p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.eyebrow{font-family:var(--f-mono);font-size:var(--s-1);letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-weight:500}
.lede{color:var(--muted);font-size:var(--s1);max-width:62ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font:600 .95rem/1 var(--f-body);padding:1rem 1.35rem;border-radius:var(--r);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease}
.btn-red{background:linear-gradient(180deg,var(--red),var(--red-deep));color:var(--red-ink);box-shadow:0 10px 30px -12px var(--red)}
.btn-red:hover{transform:translateY(-1px);box-shadow:0 14px 34px -12px var(--red)}
.btn-line{border-color:currentColor;color:var(--ink);background:transparent}
.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.04);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:#fff}
.ph{display:inline-block;font-family:var(--f-mono);font-size:.78em;font-weight:500;color:var(--ph);background:var(--ph-soft);border:1px dashed var(--ph);padding:.05em .45em;border-radius:3px;line-height:1.5}
section.blk{padding-block:clamp(4rem,8vw,7rem)}
.blk-head{display:grid;gap:1rem;margin-bottom:clamp(2rem,4vw,3.25rem);max-width:780px}
.blk-head h2{font-size:var(--s3);font-weight:800}
.band{background:var(--band);color:var(--band-fg)}
.band h2,.band h3,.band h4{color:var(--band-fg)}
.band .lede{color:var(--band-muted)}

.ribbon{background:var(--ph-soft);color:var(--ph);font:500 var(--s-1)/1.4 var(--f-mono);text-align:center;padding-block:.5rem;border-bottom:1px dashed var(--ph)}

/* ---------- Header ---------- */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(10,11,14,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07);color:var(--band-fg)}
header.site .wrap{display:flex;align-items:center;gap:1.75rem;padding-block:.85rem}
.logo{display:block;flex:none;line-height:0}
.logo img{height:46px;width:auto}
nav.main{display:flex;gap:1.5rem;margin-left:auto}
nav.main a{text-decoration:none;font-weight:500;font-size:.93rem;color:var(--band-muted);transition:color .15s}
nav.main a:hover{color:#fff}
.nav-login{display:inline-flex;align-items:center;gap:.4rem;padding-left:1.1rem;border-left:1px solid rgba(255,255,255,.14)}
.open-dot{width:.5rem;height:.5rem;border-radius:50%;background:#4FD08F;box-shadow:0 0 0 0 rgba(79,208,143,.7);animation:odot 1.8s infinite}
@keyframes odot{70%{box-shadow:0 0 0 7px rgba(79,208,143,0)}100%{box-shadow:0 0 0 0 rgba(79,208,143,0)}}
.progress{background:linear-gradient(90deg,#FF5A52,#F0B44C 50%,#4FD08F) 0 0/100vw 100% no-repeat!important}
.hdr-login{color:var(--band-fg);font-weight:600;font-size:.93rem;text-decoration:none;white-space:nowrap}.hdr-login:hover{color:#fff}
.hdr-phone{display:inline-flex;align-items:center;gap:.45rem;font:700 .95rem var(--f-body);color:#fff;white-space:nowrap;text-decoration:none;padding:.62rem .95rem;border:1.5px solid rgba(255,255,255,.28);border-radius:var(--r);transition:border-color .15s}.hdr-phone:hover{border-color:#fff}.hdr-phone svg{color:var(--red-on-band)}
header.site .btn{padding:.78rem 1.1rem}
.progress{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--red-on-band)}
header.site .ph{background:rgba(184,154,245,.16);color:#D4C2FF;border-color:#B89AF5}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--band-line);border-radius:var(--r);padding:.55rem .8rem;color:#fff;font:600 .9rem var(--f-body)}
@media (max-width:1180px){nav.main{gap:1.1rem}}@media (max-width:1060px){.hdr-phone{display:none}}
@media (max-width:900px){nav.main,header.site .btn,.hdr-login{display:none}.menu-btn{display:block}.logo img{height:38px}
  header.site.open nav.main{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--band);border-bottom:1px solid var(--band-line);padding:1.2rem max(16px,env(safe-area-inset-left,0px));gap:1.1rem}
  header.site.open nav.main a{color:#fff;font-size:1.05rem}}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--band);color:var(--band-fg);overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;background:none center/cover no-repeat;opacity:.55;z-index:-2;transform:scale(1.04)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(80% 70% at 78% 45%,rgba(198,45,42,.18),transparent 60%),
  linear-gradient(90deg,rgba(12,14,18,.97) 0%,rgba(12,14,18,.86) 38%,rgba(12,14,18,.45) 70%,rgba(12,14,18,.7) 100%),
  linear-gradient(0deg,var(--band) 0%,transparent 30%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;padding-block:clamp(3.5rem,7vw,6.5rem) clamp(3rem,6vw,5rem)}
.hero h1{font-size:var(--s4);font-weight:800;font-stretch:78%;letter-spacing:-.018em;color:#fff;margin-block:1.1rem 1.4rem}
.hero h1 em{font-style:normal;background:linear-gradient(180deg,#FF6A5F,var(--red-on-band) 60%,#D6372F);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lede{color:#C3C9D2}
.hero .eyebrow{color:var(--red-on-band)}
.hero .ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.1rem}
.assure{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.8rem;font-size:var(--s-1);color:#AEB5C0}
.assure span{display:inline-flex;align-items:center;gap:.45rem}
.assure svg{color:var(--ok-on-band);flex:none}
.flow{position:relative;aspect-ratio:1/1;max-width:100%;min-width:0}
.flow canvas{position:absolute;inset:0;width:100%;height:100%}
.flow .lbl{position:absolute;font:500 .7rem/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:.45rem}
.flow .lbl i{width:.5rem;height:.5rem;border-radius:50%;display:inline-block}
.flow .l-in{left:0;top:6%;color:var(--red-on-band)} .flow .l-in i{background:var(--red-on-band)}
.flow .l-out{right:0;bottom:6%;color:var(--ok-on-band)} .flow .l-out i{background:var(--ok-on-band)}
.flow .cap{position:absolute;left:50%;bottom:-0.25rem;transform:translateX(-50%);font:500 .7rem var(--f-mono);letter-spacing:.08em;color:#8E96A3;text-transform:uppercase;white-space:nowrap}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}.flow{max-width:440px;margin:0 auto;width:100%}}

.alert{background:linear-gradient(90deg,var(--red-deep),var(--red));color:#fff}
.alert .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1.4rem;padding-block:.85rem;text-align:center}
.alert b{font:700 1.05rem var(--f-display);font-stretch:90%}
.alert a{font-weight:600;text-underline-offset:3px}

/* marquee */
.methods{background:var(--band-2);border-bottom:1px solid var(--band-line);overflow:hidden;color:var(--band-fg)}
.methods .row{display:flex;align-items:center;gap:1.4rem;padding-block:1.05rem}
.methods p{flex:none;font:500 var(--s-1) var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--band-muted);padding-left:max(16px,env(safe-area-inset-left,0px))}
.marquee{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:2.6rem;width:max-content;animation:scroll 32s linear infinite;font:700 1.05rem var(--f-display);font-stretch:85%;letter-spacing:.02em;white-space:nowrap}
.track span{display:inline-flex;align-items:center;gap:2.6rem}
.track span::after{content:"";width:5px;height:5px;background:var(--red-on-band);border-radius:1px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* problems */
.problems{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.problem{background:var(--surface);padding:1.7rem 1.45rem;display:grid;gap:.75rem;align-content:start;min-width:0}
.problem .ic{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:var(--red-soft);color:var(--red)}
.problem .q{font:700 1.2rem/1.2 var(--f-display);color:var(--ink);font-stretch:88%}
.problem .a{font-size:.94rem;color:var(--muted)}
.problem .a b{color:var(--fg);font-weight:600}
@media (max-width:960px){.problems{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.problems{grid-template-columns:1fr}}

/* merchant file journey */
.journey{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.file{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 30px 60px -36px rgba(12,14,18,.45);overflow:hidden;min-width:0}
.file-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.3rem;border-bottom:1px solid var(--line)}
.file-head .k{font:500 .7rem/1.2 var(--f-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.file-head .v{font:700 1.08rem/1.25 var(--f-display);color:var(--ink);margin-top:.3rem;font-stretch:90%}
.tag{font:500 .66rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:.38rem .5rem;border-radius:3px;white-space:nowrap;background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.log{list-style:none;margin:0;padding:.5rem 0}
.log li{display:grid;grid-template-columns:1.6rem 1fr auto;gap:.85rem;align-items:start;padding:.8rem 1.3rem;position:relative}
.log li::before{content:"";position:absolute;left:calc(1.3rem + .8rem - 1px);top:2.05rem;bottom:-.8rem;width:2px;background:var(--line)}
.log li:last-child::before{display:none}
.dot{width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);background:var(--surface);position:relative;z-index:1}
.dot svg{width:.8rem;height:.8rem}
.log .t{font-weight:600;color:var(--ink);font-size:.95rem;line-height:1.3}
.log .d{font-size:var(--s-1);color:var(--muted);line-height:1.4;margin-top:.15rem}
.chip{font:500 .68rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:.38rem .5rem;border-radius:3px;margin-top:.1rem}
.c-red{background:var(--red-soft);color:var(--red)} .c-warn{background:var(--warn-soft);color:var(--warn)} .c-ok{background:var(--ok-soft);color:var(--ok)}
.d-red{border-color:var(--red);color:var(--red)} .d-warn{border-color:var(--warn);color:var(--warn)} .d-ok{border-color:var(--ok);color:var(--ok);background:var(--ok-soft)}
.live{display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:var(--ok);margin-right:.35rem;vertical-align:middle;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.3}}
.file-foot{border-top:1px solid var(--line);padding:1rem 1.3rem;display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;align-items:center;font-size:var(--s-1);color:var(--muted)}
.file-foot b{font:500 .85rem var(--f-mono);color:var(--ink);justify-self:end}
.meter{grid-column:1/-1;height:6px;border-radius:3px;background:var(--line);position:relative;overflow:hidden}
.meter i{position:absolute;inset:0 auto 0 0;width:28%;background:var(--ok);border-radius:3px}
.journey h2{font-size:var(--s3);font-weight:800;margin-block:1rem}
.journey .pts{display:grid;gap:1.1rem;margin-top:1.8rem}
.journey .pt{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start}
.journey .pt b{display:block;color:var(--ink);font-weight:600}
.journey .pt span{color:var(--muted);font-size:.95rem}
.journey .pt svg{color:var(--red);margin-top:.2rem}
@media (max-width:900px){.journey{grid-template-columns:1fr}}

/* industry explorer */
.explorer{display:grid;grid-template-columns:300px 1fr;gap:clamp(1rem,3vw,2rem);align-items:start}
.ind-tabs{display:grid;gap:4px}
.ind-tab{all:unset;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.85rem 1rem;border-radius:8px;border:1px solid transparent;color:var(--band-muted);font:600 .98rem/1.25 var(--f-body);transition:background-color .15s,color .15s}
.ind-tab:hover{color:#fff;background:var(--band-2)}
.ind-tab[aria-selected="true"]{color:#fff;background:var(--band-2);border-color:var(--band-line);box-shadow:inset 3px 0 0 var(--red-on-band)}
.ind-tab .star{font:500 .62rem var(--f-mono);letter-spacing:.08em;color:var(--red-on-band);text-transform:uppercase}
.ind-tab:focus-visible{outline:2px solid var(--red-on-band)}
.ind-panel{background:var(--band-2);border:1px solid var(--band-line);border-radius:12px;padding:clamp(1.4rem,3vw,2.4rem);min-width:0}
.ind-panel h3{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);font-weight:800}
.ind-panel .intro{color:var(--band-muted);margin-top:.8rem;max-width:62ch;font-size:1.05rem}
.ind-cols{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--band-line);border:1px solid var(--band-line);border-radius:10px;overflow:hidden;margin-top:1.8rem}
.ind-cols>div{background:var(--band);padding:1.2rem 1.25rem;display:grid;gap:.6rem;align-content:start;min-width:0}
.ind-cols h4{font:500 .72rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--band-muted)}
.ind-cols ul{margin:0;padding:0;list-style:none;display:grid;gap:.45rem;font-size:.93rem;color:var(--band-fg)}
.ind-cols li{padding-left:1rem;position:relative}
.ind-cols li::before{content:"";position:absolute;left:0;top:.6rem;width:.4rem;height:2px;background:var(--red-on-band)}
.ind-cols .help li::before{background:var(--ok-on-band)}
.ind-panel .row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:1.6rem}
.ind-panel .note{font-size:var(--s-1);color:var(--band-muted)}
@media (max-width:900px){.explorer{grid-template-columns:1fr}.ind-tabs{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:.4rem}.ind-tab{white-space:nowrap}}
@media (max-width:600px){.ind-cols{grid-template-columns:1fr}}

/* process */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,2rem);list-style:none;margin:0;padding:0}
.process li{display:grid;gap:.65rem;align-content:start;border-top:3px solid var(--ink);padding-top:1.25rem;min-width:0}
.process li.ongoing{border-top-color:var(--red)}
.process .n{font:500 var(--s-1) var(--f-mono);color:var(--muted);letter-spacing:.08em}
.process li.ongoing .n{color:var(--red)}
.process h3{font-size:1.45rem;font-weight:800}
.process p{font-size:.95rem;color:var(--muted)}
.split{margin-top:3rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:clamp(1.3rem,3vw,2rem);display:grid;gap:1.2rem}
.split-bar{display:grid;grid-template-columns:7fr 3fr;height:54px;border-radius:8px;overflow:hidden;font:800 1.3rem/54px var(--f-display);font-stretch:78%;color:#fff}
.split-bar div{padding-left:1rem;white-space:nowrap;overflow:hidden}
.split-bar .a{background:var(--ink);color:var(--bg)} .split-bar .b{background:var(--red)}
.split-legend{display:grid;grid-template-columns:7fr 3fr;gap:1.5rem;font-size:.93rem;color:var(--muted)}
.split-legend b{color:var(--ink);display:block;margin-bottom:.2rem}
@media (max-width:860px){.process{grid-template-columns:1fr 1fr;row-gap:2rem}}
@media (max-width:560px){.process{grid-template-columns:1fr}.split-legend{grid-template-columns:1fr}}

/* tools */
.tools{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2.5vw,1.75rem)}
.tool{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:clamp(1.3rem,3vw,2rem);display:grid;gap:1.2rem;align-content:start;min-width:0}
.tool h3{font-size:1.5rem;font-weight:800}
.tool .sub{color:var(--muted);font-size:.94rem;margin-top:-.6rem}
.inputs{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.fld{display:grid;gap:.35rem;min-width:0}
.fld label,.fld legend{font-size:.82rem;font-weight:600;color:var(--ink)}
.fld input,.fld select{font:inherit;font-size:.96rem;padding:.75rem .8rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--fg);width:100%}
.fld input:focus,.fld select:focus{outline:2px solid var(--red);outline-offset:0;border-color:transparent}
.fld input[type=range]{padding:0;border:0;background:none;accent-color:var(--red)}
.fld .val{font:500 .85rem var(--f-mono);color:var(--ink)}
.result{border-radius:10px;padding:1.2rem 1.3rem;background:var(--bg);display:grid;gap:.35rem;font-variant-numeric:tabular-nums}
.result .big{font:800 2.5rem/1 var(--f-display);font-stretch:76%;color:var(--ink)}
.result .big small{font-size:.45em;font-weight:600;color:var(--muted);font-stretch:100%;margin-left:.3rem}
.result p{font-size:.88rem;color:var(--muted)}
.gauge{position:relative;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--ok) 0 43%,var(--warn) 43% 66%,var(--red) 66% 100%);margin-top:.6rem}
.gauge .pin{position:absolute;top:-6px;width:4px;height:24px;border-radius:2px;background:var(--ink);transform:translateX(-50%);transition:left .3s ease}
.gauge-ticks{display:flex;justify-content:space-between;font:500 .7rem var(--f-mono);color:var(--muted);margin-top:.35rem}
.zone{font:600 .95rem var(--f-body)}
.zone.ok{color:var(--ok)}.zone.warn{color:var(--warn)}.zone.bad{color:var(--red)}
.fine{font-size:.78rem;color:var(--muted)}
@media (max-width:860px){.tools{grid-template-columns:1fr}}
@media (max-width:440px){.inputs{grid-template-columns:1fr}}

/* services */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.svc article{background:var(--surface);padding:clamp(1.4rem,3vw,2.3rem);display:grid;gap:.85rem;align-content:start;min-width:0}
.svc .n{font:500 var(--s-1) var(--f-mono);color:var(--red);letter-spacing:.08em}
.svc h3{font-size:1.55rem;font-weight:800}
.svc p{color:var(--muted)}
.svc ul{margin:.2rem 0 0;padding:0;list-style:none;display:grid;gap:.55rem;font-size:.94rem}
.svc li{padding-left:1.1rem;position:relative}
.svc li b{color:var(--ink);font-weight:600}
.svc li::before{content:"";position:absolute;left:0;top:.65rem;width:.45rem;height:2px;background:var(--red)}
@media (max-width:760px){.svc{grid-template-columns:1fr}}

/* solutions */
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sol{border:1px solid var(--band-line);border-radius:10px;padding:1.4rem;background:var(--band-2);display:grid;gap:.55rem;align-content:start;min-width:0}
.sol h3{font-size:1.2rem;font-weight:700}
.sol p{font-size:.92rem;color:var(--band-muted)}
.sol .k{font:500 .68rem var(--f-mono);letter-spacing:.1em;color:var(--red-on-band);text-transform:uppercase}
.integrations{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;padding:1.1rem 1.3rem;border:1px dashed var(--band-line);border-radius:10px;color:var(--band-muted);font-size:.93rem}
.integrations b{color:var(--band-fg)}
.integrations span.pill{font:600 .85rem var(--f-body);color:var(--band-fg);padding:.35rem .7rem;border:1px solid var(--band-line);border-radius:999px}
@media (max-width:900px){.sol-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sol-grid{grid-template-columns:1fr}}

/* difference */
.diff{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,1.6rem);margin-bottom:2.8rem}
.diff div{display:grid;gap:.55rem;align-content:start;min-width:0}
.diff svg{color:var(--red)}
.diff h3{font-size:1.2rem;font-weight:700}
.diff p{font-size:.93rem;color:var(--muted)}
@media (max-width:900px){.diff{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.diff{grid-template-columns:1fr}}
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
table.cmp{width:100%;border-collapse:collapse;min-width:620px;font-size:.95rem}
.cmp th,.cmp td{text-align:left;padding:1rem 1.25rem;border-bottom:1px solid var(--line);vertical-align:top}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.cmp thead th{font:500 var(--s-1) var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cmp thead th.us{color:var(--red)}
.cmp tbody th{font-weight:600;color:var(--ink);width:24%}
.cmp td{color:var(--muted)}
.cmp td.us{color:var(--fg);background:color-mix(in srgb,var(--red-soft) 50%,transparent);font-weight:500}

/* proof + advisor */
.proof{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.stat{background:var(--surface);padding:1.4rem;display:grid;gap:.4rem;min-width:0}
.stat .num{font:800 2.1rem/1 var(--f-display);font-stretch:78%;color:var(--ink)}
.stat .lbl{font-size:.85rem;color:var(--muted)}
.quotes{display:grid;gap:1rem}
blockquote{margin:0;padding:1.5rem 1.6rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:grid;gap:1rem}
blockquote p{font-size:1.08rem;color:var(--ink);line-height:1.55}
blockquote footer{font-size:.85rem;color:var(--muted);display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
@media (max-width:860px){.proof{grid-template-columns:1fr}}
.advisor{display:grid;grid-template-columns:300px 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.portrait{aspect-ratio:4/5;max-width:100%;border-radius:12px;border:1.5px dashed var(--ph);background:var(--ph-soft);display:grid;place-items:center;text-align:center;padding:1rem;color:var(--ph);font:500 .8rem/1.5 var(--f-mono)}
.advisor h2{font-size:var(--s3);font-weight:800;margin-block:.9rem 1rem}
.advisor .lede+.lede{margin-top:1rem}
.advisor .btn{margin-top:1.6rem}
@media (max-width:700px){.advisor{grid-template-columns:1fr}.portrait{max-width:260px}}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:1.25rem 2.5rem 1.25rem 0;font:700 1.12rem/1.3 var(--f-display);font-stretch:90%;color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:1.05rem;font:400 1.6rem/1 var(--f-body);color:var(--red);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 0 1.4rem;color:var(--muted);max-width:68ch}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr}}

/* apply */
.final{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.final h2{font-size:var(--s4);font-weight:800;font-stretch:78%;margin-block:1rem 1.2rem}
.final .contact{margin-top:2rem;display:grid;gap:.6rem;font-size:.95rem;color:var(--band-muted)}
.final .contact b{color:var(--band-fg);font-weight:500;font-family:var(--f-mono)}
form.pq{background:var(--surface);color:var(--fg);border-radius:14px;padding:clamp(1.3rem,3vw,2.1rem);display:grid;gap:1.2rem;min-width:0;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.pq-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.pq-top h3{font-size:1.45rem;font-weight:800;color:var(--ink)}
.pq-top span{font:500 .78rem var(--f-mono);color:var(--muted);letter-spacing:.06em}
.bar{height:4px;background:var(--line);border-radius:2px;overflow:hidden}
.bar i{display:block;height:100%;width:33.3%;background:var(--red);transition:width .3s ease}
.step{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.step .full{grid-column:1/-1}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cards label{position:relative;display:grid;gap:.2rem;padding:.85rem .95rem;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:.92rem;color:var(--fg);transition:border-color .15s,background-color .15s}
.cards label b{color:var(--ink);font-weight:600}
.cards input{position:absolute;opacity:0;pointer-events:none}
.cards label:has(input:checked){border-color:var(--red);background:var(--red-soft)}
.cards label:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}
fieldset.fld{border:0;padding:0;margin:0}
.pq-nav{display:flex;gap:.7rem;justify-content:space-between}
.pq-nav .btn{flex:1}
.err{color:var(--red);font-size:.85rem;min-height:1.2em}
.done{display:grid;gap:.8rem;text-align:left}
.done h3{font-size:1.6rem;font-weight:800;color:var(--ink)}
.done .ph-note{padding:.9rem 1rem;border-radius:var(--r);background:var(--ph-soft);color:var(--ph);font:500 .82rem/1.5 var(--f-mono);border:1px dashed var(--ph)}
@media (max-width:900px){.final{grid-template-columns:1fr}}
@media (max-width:520px){.step,.cards{grid-template-columns:1fr}}

footer.site{background:var(--band);color:var(--band-muted);border-top:1px solid var(--band-line);font-size:.9rem}
footer.site .wrap{padding-block:3.5rem 2rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
footer.site h4{margin:0 0 .9rem;font:500 var(--s-1) var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--band-fg)}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
footer.site a{text-decoration:none}
footer.site a:hover{color:var(--band-fg)}
footer.site .brand img{height:52px;width:auto;margin-bottom:1.1rem}
.social{display:flex;gap:.6rem;margin-top:1.2rem}
.social a{width:38px;height:38px;border:1px solid var(--band-line);border-radius:8px;display:grid;place-items:center;color:var(--band-fg)}
.social a:hover{border-color:var(--red-on-band)}
.legal{grid-column:1/-1;border-top:1px solid var(--band-line);padding-top:1.4rem;font-size:.78rem;display:grid;gap:.6rem}
@media (max-width:760px){footer.site .wrap{grid-template-columns:1fr 1fr}footer.site .brand{grid-column:1/-1}}

/* founders / new firm / founding */
.founders{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem)}
.founder{display:grid;grid-template-columns:200px 1fr;gap:1.4rem;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.2rem;min-width:0}
.founder h3{font-size:1.4rem;font-weight:800}
.founder .role{font:500 .74rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin:.5rem 0 .8rem}
.founder p{color:var(--muted)}
@media (max-width:960px){.founders{grid-template-columns:1fr}}
@media (max-width:520px){.founder{grid-template-columns:1fr}.founder .portrait{max-width:220px}}
.newfirm{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.newfirm h2{font-size:var(--s3);font-weight:800;margin-block:1rem}
.wins{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.wins li{background:var(--surface);padding:1.15rem 1.3rem;display:grid;gap:.25rem}
.wins b{color:var(--ink);font:700 1.1rem var(--f-display);font-stretch:90%}
.wins span{color:var(--muted);font-size:.94rem}
@media (max-width:860px){.newfirm{grid-template-columns:1fr}}
.founding{background:var(--band);color:var(--band-fg);padding-block:clamp(3rem,6vw,5rem)}
.fc{display:grid;grid-template-columns:1.3fr .7fr;gap:2rem;align-items:center;border:1px solid var(--band-line);border-radius:16px;padding:clamp(1.5rem,4vw,3rem);background:radial-gradient(70% 120% at 100% 0%,rgba(198,45,42,.28),transparent 60%),var(--band-2)}
.fc h2{color:#fff;font-size:var(--s3);font-weight:800;margin-block:1rem}
.fc p{color:#C3C9D2;max-width:56ch}
.fc-side{display:grid;gap:1rem}
.fc-meter{display:grid;gap:.5rem;font-size:.85rem;color:var(--band-muted)}
.fc-meter b{color:#fff}
.fc-meter .meter{height:8px;border-radius:4px;background:var(--band-line);overflow:hidden}
.fc-meter .meter i{display:block;height:100%;background:var(--red-on-band)}
@media (max-width:820px){.fc{grid-template-columns:1fr}}

/* intro */
.rv-intro{position:fixed;inset:0;z-index:100;background:radial-gradient(60% 60% at 50% 50%,#1a0d0e,#07080a 70%);display:grid;place-items:center;overflow:hidden}
.rv-intro.go{animation:inOut .7s cubic-bezier(.7,0,.3,1) 4.9s forwards}
.in-stage{position:relative;width:min(520px,86vw);height:min(420px,70vh);display:grid;place-items:center}
.in-stamp{position:absolute;font:900 clamp(2.6rem,9vw,5rem)/1 var(--f-display);font-stretch:72%;letter-spacing:.06em;text-transform:uppercase;padding:.15em .35em;border:.09em solid currentColor;border-radius:.12em;opacity:0}
.in-declined{color:#FF4A42;transform:rotate(-9deg) scale(2.4)}
.in-approved{color:#4FD08F;transform:rotate(-6deg) scale(2.2);bottom:6%}
.in-mark{width:min(150px,30vw);height:auto;opacity:0;transform:scale(.6);filter:drop-shadow(0 0 40px rgba(255,74,66,.55))}
.in-line{position:absolute;bottom:-16%;left:-20%;right:-20%;text-align:center;color:#C3C9D2;font:700 clamp(1.4rem,3.6vw,2.2rem)/1.2 var(--f-display);font-stretch:85%;opacity:0}
.in-line b{color:#fff}
.go .in-declined{animation:slam .45s cubic-bezier(.2,1.4,.4,1) .15s forwards,outUp .35s ease 1.15s forwards}
.go .in-stage{animation:shake .32s ease .48s}
.go .in-mark{animation:markIn .6s cubic-bezier(.2,1.3,.4,1) 1.35s forwards}
.go .in-approved{animation:slam2 .45s cubic-bezier(.2,1.4,.4,1) 2.0s forwards}
.go .in-line{animation:fadeUp .6s ease 2.45s forwards}
.in-skip{position:absolute;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);color:#C3C9D2;font:500 .8rem var(--f-mono);letter-spacing:.06em;padding:.6rem .9rem;border-radius:6px;cursor:pointer}
.in-skip:hover{color:#fff;border-color:#fff}
@keyframes slam{0%{opacity:0;transform:rotate(-9deg) scale(2.4)}100%{opacity:1;transform:rotate(-9deg) scale(1)}}
@keyframes slam2{0%{opacity:0;transform:rotate(-6deg) scale(2.2)}100%{opacity:1;transform:rotate(-6deg) scale(.62)}}
@keyframes outUp{to{opacity:0;transform:rotate(-9deg) scale(.9) translateY(-30px);filter:blur(4px)}}
@keyframes markIn{to{opacity:1;transform:scale(1) translateY(-18%)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes shake{20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-4px)}60%{transform:translate(-3px,2px)}80%{transform:translate(2px,-1px)}}
@keyframes inOut{to{transform:translateY(-100%);opacity:.6}}

.gd{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gd a{display:grid;gap:.5rem;align-content:start;padding:1.3rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;transition:border-color .15s,transform .15s}.gd a:hover{border-color:var(--red);transform:translateY(-2px)}.gd span{font:500 .7rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.gd b{font:700 1.15rem/1.25 var(--f-display);font-stretch:90%;color:var(--ink)}@media (max-width:900px){.gd{grid-template-columns:1fr 1fr}}@media (max-width:560px){.gd{grid-template-columns:1fr}}
.mcta{display:none}
@media (max-width:700px){
  .mcta{display:flex;gap:.5rem;position:fixed;left:0;right:0;bottom:0;z-index:55;padding:.6rem max(12px,env(safe-area-inset-right,0px)) calc(.6rem + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:rgba(12,14,18,.94);backdrop-filter:blur(10px);border-top:1px solid var(--band-line)}
  .mcta .btn{flex:1;padding-block:.85rem}
  footer.site{padding-bottom:70px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ===== v3 additions ===== */
html,body{margin:0}
body{padding-top:env(safe-area-inset-top,0px)}
.btn-white{background:#fff;color:#0C0E12}
.btn-white:hover{transform:translateY(-1px)}
nav.main a[aria-current="page"]{color:#fff;position:relative}
nav.main a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-.55rem;height:2px;background:var(--red-on-band);border-radius:2px}
/* page banner */
.pb{position:relative;background:var(--band);color:var(--band-fg);overflow:hidden;isolation:isolate}
.pb-img{position:absolute;inset:0;background-size:cover;background-position:center right;z-index:-2;animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.09) translateX(-1%)}}
.pb::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,11,14,.96) 0%,rgba(10,11,14,.86) 34%,rgba(10,11,14,.35) 62%,rgba(10,11,14,.15) 100%),linear-gradient(0deg,rgba(10,11,14,.9) 0%,transparent 28%)}
.pb .wrap{padding-block:clamp(4rem,9vw,8rem) clamp(3.5rem,7vw,6rem);min-height:min(78vh,640px);display:flex;flex-direction:column;justify-content:center}
.pb.tall .wrap{min-height:min(92vh,760px)}
.pb h1{font-size:clamp(2.4rem,1.3rem + 4.2vw,4.6rem);font-weight:800;font-stretch:76%;letter-spacing:-.018em;color:#fff;margin-block:1rem 1.3rem;max-width:15ch}
.pb h1 em{font-style:normal;background:linear-gradient(180deg,#FF6A5F,var(--red-on-band) 60%,#D6372F);-webkit-background-clip:text;background-clip:text;color:transparent}
.pb .lede{color:#C9CFD8;max-width:46ch}
.pb .eyebrow{color:var(--red-on-band)}
.pb .ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}
.crumbs{display:flex;flex-wrap:wrap;gap:.45rem;font:500 .78rem var(--f-mono);color:#8E96A3}
.crumbs a{text-decoration:none}.crumbs a:hover{color:#fff}.crumbs b{color:#C3C9D2;font-weight:500}
.pb .assure{margin-top:1.8rem}
.scroll-cue{position:absolute;left:50%;bottom:1.2rem;transform:translateX(-50%);font:500 .7rem var(--f-mono);letter-spacing:.14em;color:#8E96A3;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.scroll-cue i{width:1px;height:28px;background:linear-gradient(#FF5A52,transparent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:760px){.pb::before{background:linear-gradient(180deg,rgba(10,11,14,.55),rgba(10,11,14,.92) 55%)}.pb-img{background-position:70% center}.scroll-cue{display:none}}
/* icons */
.ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--red-soft);color:var(--red);flex:none}
.ico svg{width:22px;height:22px}
.band .ico{background:rgba(255,90,82,.12);color:var(--red-on-band)}
.ico.ok{background:var(--ok-soft);color:var(--ok)}
/* cards */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,2vw,1.2rem)}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.8rem,2vw,1.2rem)}
.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.8rem,2vw,1.2rem)}
.c{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(1.2rem,2.6vw,1.7rem);display:grid;gap:.75rem;align-content:start;min-width:0;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.c:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--red) 40%,var(--line));box-shadow:0 22px 40px -30px rgba(0,0,0,.5)}
.c h3{font-size:1.25rem;font-weight:800}
.c p{color:var(--muted);font-size:.95rem}
.band .c{background:var(--band-2);border-color:var(--band-line)}
.band .c p{color:var(--band-muted)}
.c a.more{font:600 .88rem var(--f-body);color:var(--red);text-decoration:none;margin-top:.2rem}
.band .c a.more{color:var(--red-on-band)}
@media (max-width:960px){.cards4{grid-template-columns:1fr 1fr}.cards3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cards4,.cards3,.cards2{grid-template-columns:1fr}}
/* photo cards */
.pc{position:relative;border-radius:16px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;color:#fff;text-decoration:none;isolation:isolate}
.pc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s ease}
.pc::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(8,9,12,.92) 0%,rgba(8,9,12,.35) 55%,rgba(8,9,12,.05) 100%)}
.pc:hover img{transform:scale(1.05)}
.pc div{padding:1.4rem;display:grid;gap:.35rem}
.pc span{font:500 .7rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#FF8A82}
.pc b{font:800 1.45rem/1.1 var(--f-display);font-stretch:84%}
.pc p{color:#D3D8DF;font-size:.92rem}
/* split media */
.media{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.media img{width:100%;max-width:100%;border-radius:18px;display:block;box-shadow:0 40px 70px -45px rgba(0,0,0,.7)}
.media h2{font-size:var(--s3);font-weight:800;margin-block:1rem}
.media ul.checks{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.7rem}
.media ul.checks li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start}
.media ul.checks svg{color:var(--ok);margin-top:.2rem}
.band .media ul.checks svg{color:var(--ok-on-band)}
.media .btns{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.8rem}
@media (max-width:860px){.media{grid-template-columns:1fr}.media.rev>:first-child{order:2}}
/* flow band */
.flowband .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.flowband h2{font-size:var(--s3);font-weight:800;margin-block:1rem}
.flowband .legend{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.4rem;font:500 .78rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase}
.flowband .legend span{display:inline-flex;align-items:center;gap:.45rem}
.flowband .legend i{width:.55rem;height:.55rem;border-radius:50%}
@media (max-width:860px){.flowband .wrap{grid-template-columns:1fr}.flow{max-width:420px;margin:0 auto;width:100%}}
/* leaders */
.leaders{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem)}
.leader{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-width:0}
.leader .ph{display:none}
.leader .photo{position:relative;aspect-ratio:4/3.4;background:var(--band);overflow:hidden}
.leader .photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.leader .photo .mono{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:.8rem;background:radial-gradient(70% 70% at 50% 40%,#2a1214,#0C0E12 75%);color:#fff;text-align:center}
.leader .photo .mono b{font:800 4.5rem/1 var(--f-display);font-stretch:78%;letter-spacing:.02em}
.leader .photo .mono small{font:500 .72rem var(--f-mono);letter-spacing:.12em;color:#9CA4B0;text-transform:uppercase}
.leader .body{padding:clamp(1.3rem,3vw,2rem);display:grid;gap:.9rem;align-content:start}
.leader .top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.leader h3{font-size:1.8rem;font-weight:800}
.leader .role{font:500 .74rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-top:.35rem}
.leader .li{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#0A66C2;color:#fff;flex:none;transition:transform .15s}
.leader .li:hover{transform:translateY(-2px)}
.leader p{color:var(--muted);font-size:.97rem}
.leader blockquote{margin:.2rem 0 0;padding:.9rem 1.1rem;border-left:3px solid var(--red);background:var(--bg);border-radius:0 10px 10px 0;font:600 1.02rem/1.45 var(--f-body);color:var(--ink)}
@media (max-width:860px){.leaders{grid-template-columns:1fr}}
/* contact */
.contact-sec .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.contact-sec h2{font-size:var(--s4);font-weight:800;font-stretch:78%;margin-block:1rem 1.2rem;color:#fff}
.ctas3{display:grid;gap:.7rem;margin-top:1.8rem}
.ctas3 button{all:unset;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid var(--band-line);border-radius:12px;background:var(--band-2);color:#fff;transition:border-color .15s,transform .15s}
.ctas3 button:hover,.ctas3 button[aria-pressed="true"]{border-color:var(--red-on-band);transform:translateX(3px)}
.ctas3 button:focus-visible{outline:2px solid var(--red-on-band)}
.ctas3 b{display:block;font-size:1.02rem}.ctas3 small{color:var(--band-muted);font-size:.86rem}
.ctas3 .arr{color:var(--red-on-band)}
.mailline{margin-top:1.6rem;display:flex;align-items:center;gap:.6rem;color:var(--band-muted);font-size:.95rem}
.mailline a{color:#fff;font-weight:600}
form.cf{background:var(--surface);color:var(--fg);border-radius:16px;padding:clamp(1.3rem,3vw,2.1rem);display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-width:0;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
form.cf .full{grid-column:1/-1}
form.cf h3{font-size:1.45rem;font-weight:800;color:var(--ink)}
form.cf textarea{font:inherit;font-size:.96rem;padding:.75rem .8rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--fg);width:100%;min-height:110px;resize:vertical}
form.cf textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:transparent}
.seg3{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.seg3 label{position:relative;text-align:center;padding:.7rem .5rem;border:1px solid var(--line);border-radius:9px;cursor:pointer;font-weight:600;font-size:.9rem;color:var(--fg)}
.seg3 input{position:absolute;opacity:0;pointer-events:none;left:0;top:0;width:1px;height:1px;margin:0}
.seg3 label:has(input:checked){border-color:var(--red);background:var(--red-soft);color:var(--ink)}
.seg3 label:has(input:focus-visible){outline:2px solid var(--red);outline-offset:2px}
.cf .sent{grid-column:1/-1;padding:1rem;border-radius:10px;background:var(--ok-soft);color:var(--ok);font-weight:600}
@media (max-width:900px){.contact-sec .wrap{grid-template-columns:1fr}}
@media (max-width:520px){form.cf{grid-template-columns:1fr}.seg3{grid-template-columns:1fr}}
/* stats/values strip */
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.strip div{background:var(--surface);padding:1.3rem;display:grid;gap:.35rem}
.strip b{font:800 1.5rem/1.1 var(--f-display);font-stretch:82%;color:var(--ink)}
.strip span{color:var(--muted);font-size:.9rem}
@media (max-width:860px){.strip{grid-template-columns:1fr 1fr}}
/* steps */
.steps{display:grid;gap:1rem;counter-reset:st}
.step-row{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1rem,3vw,2rem);align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:clamp(1.2rem,3vw,1.8rem)}
.step-row .num{font:900 clamp(2.6rem,5vw,4rem)/.9 var(--f-display);font-stretch:70%;color:transparent;-webkit-text-stroke:1.5px var(--red);min-width:2ch}
.step-row h3{font-size:1.45rem;font-weight:800;margin-bottom:.3rem}
.step-row p{color:var(--muted)}
.step-row .when{font:500 .74rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--red);white-space:nowrap}
.step-row.ongoing{border-color:var(--red);background:linear-gradient(120deg,var(--red-soft),var(--surface) 60%)}
@media (max-width:700px){.step-row{grid-template-columns:auto 1fr}.step-row .when{grid-column:2}}
/* faq groups */
.faq-cats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.faq-cats a{padding:.55rem .9rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem;background:var(--surface)}
.faq-cats a:hover{border-color:var(--red);color:var(--red)}
.faq-group{margin-bottom:2.6rem;scroll-margin-top:100px}
.faq-group h3{font-size:1.3rem;font-weight:800;display:flex;align-items:center;gap:.7rem;margin-bottom:.6rem}
/* reveal */
.rv{transition:opacity .7s ease,transform .7s ease}
.rv.pre{opacity:0;transform:translateY(22px)}
@media (prefers-reduced-motion:reduce){.pb-img{animation:none}.rv.pre{opacity:1;transform:none}}
/* footer v3 */
footer.site .wrap{grid-template-columns:1.6fr 1fr 1fr 1fr}
footer.site .mail{margin-top:1rem;display:inline-flex;gap:.5rem;align-items:center;color:var(--band-fg);font-weight:600;text-decoration:none}
@media (max-width:760px){footer.site .wrap{grid-template-columns:1fr 1fr}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ind-group{margin:.9rem 0 .3rem;padding:0 .4rem;font:500 .7rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red-on-band)}
.ind-group:first-child{margin-top:0}
.ind-panel .kind{font:500 .7rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red-on-band);display:block;margin-bottom:.5rem}
@media (max-width:900px){.ind-group{display:none}}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}
.chips span{font-size:.85rem;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg)}
.band .chips span{border-color:var(--band-line);background:var(--band-2);color:var(--band-fg)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem)}
@media (max-width:860px){.two-col{grid-template-columns:1fr}}
.pb.short .wrap{min-height:0;padding-block:clamp(3.5rem,7vw,5.5rem) clamp(2.5rem,5vw,3.5rem)}
/* typography: no widows in body copy, balanced headings */
p,li,blockquote,summary,.ans,td,th,small{text-wrap:pretty}
h2,h3,h4,.c h3{text-wrap:balance}
/* phones: buttons run flush edge to edge */
@media (max-width:640px){
  main .ctas,main .btns,main .row,.contact-sec .ctas{display:grid!important;grid-template-columns:1fr;gap:.7rem;width:100%}
  main .btn,.contact-sec .btn{display:flex;width:100%;justify-content:center;text-align:center}
}

/* ================= V2 POLISH ================= */
/* image bands */
.imgband{position:relative;isolation:isolate;overflow:hidden;background:#07080a;color:#fff}
.imgband .ib-img{position:absolute;inset:-8% 0;background-size:cover;background-position:center;z-index:-2;will-change:translate}
.imgband::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,8,10,.95) 0%,rgba(7,8,10,.78) 38%,rgba(7,8,10,.2) 75%,rgba(7,8,10,.1) 100%),linear-gradient(0deg,rgba(7,8,10,.85),transparent 35%),linear-gradient(180deg,rgba(7,8,10,.7),transparent 30%)}
.imgband.right::before{background:linear-gradient(270deg,rgba(7,8,10,.95) 0%,rgba(7,8,10,.8) 40%,rgba(7,8,10,.2) 78%,rgba(7,8,10,.1) 100%),linear-gradient(0deg,rgba(7,8,10,.85),transparent 35%)}
.imgband .wrap{min-height:min(80vh,620px);display:flex;flex-direction:column;justify-content:center;padding-block:clamp(4rem,9vw,7rem)}
.imgband.right .wrap{align-items:flex-end;text-align:right}
.imgband.right .wrap>*{max-width:34rem}
.imgband h2{font-size:clamp(2rem,1.2rem + 3vw,3.6rem);font-weight:800;font-stretch:78%;letter-spacing:-.015em;line-height:1.02;margin-block:.9rem 1.1rem;max-width:16ch}
.imgband h2 em,.pb h1 em{font-style:normal;background:linear-gradient(100deg,#FF6A5F 0%,#ff9b8f 18%,var(--red-on-band) 36%,#D6372F 60%,#FF6A5F 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shineText 6s ease-in-out infinite}
@keyframes shineText{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
.imgband .lede{color:#C9CFD8;max-width:44ch}
.imgband .eyebrow{color:var(--red-on-band)}
.imgband .ctas{margin-top:1.8rem;display:flex;gap:.8rem;flex-wrap:wrap}
.ib-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem}
.ib-pills span{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border-radius:999px;font:500 .85rem var(--f-body);color:#E8ECF1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ib-pills svg{color:#4FD08F}
@media (max-width:700px){.imgband::before,.imgband.right::before{background:linear-gradient(0deg,rgba(7,8,10,.96) 20%,rgba(7,8,10,.55) 70%,rgba(7,8,10,.35))}.imgband.right .wrap{align-items:flex-start;text-align:left}.imgband .wrap{justify-content:flex-end}}

/* FAQ shield callout */
.shieldcall{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;align-items:stretch;border-radius:18px;overflow:hidden;background:#0a0b0e;color:#fff;margin-block:2.4rem 1rem;box-shadow:0 40px 80px -50px rgba(0,0,0,.8)}
.shieldcall img{width:100%;height:100%;object-fit:cover;display:block;min-height:240px}
.shieldcall>div{padding:clamp(1.5rem,4vw,2.6rem);display:grid;gap:.8rem;align-content:center}
.shieldcall h3{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);font-weight:800;font-stretch:80%;line-height:1.05}
.shieldcall p{color:#C9CFD8}
.shieldcall .eyebrow{color:var(--red-on-band)}
.shieldcall .btn{justify-self:start;margin-top:.4rem}
@media (max-width:700px){.shieldcall{grid-template-columns:1fr}.shieldcall img{min-height:200px;max-height:240px}.shieldcall .btn{justify-self:stretch}}

/* banner sparks canvas sits between photo and text */
.fx-sparks{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;mix-blend-mode:screen}
.pb .wrap,.imgband .wrap,.flowband .wrap{position:relative;z-index:1}
.pb .pb-img{inset:-7% 0}

/* floating glass chips (home hero) */
.fx-chips{position:absolute;right:clamp(1rem,5vw,5rem);top:50%;translate:0 -50%;display:grid;gap:1rem;z-index:1;pointer-events:none}
.fx-chip{display:flex;align-items:center;gap:.7rem;padding:.8rem 1.1rem .8rem .8rem;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);color:#fff;font:600 .92rem var(--f-body);box-shadow:0 20px 40px -20px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.18);animation:floaty 6s ease-in-out infinite}
.fx-chip:nth-child(2){margin-left:3.2rem;animation-delay:-2s}
.fx-chip:nth-child(3){margin-left:1.2rem;animation-delay:-4s}
.fx-chip i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-style:normal;background:rgba(79,208,143,.18);color:#4FD08F;box-shadow:0 0 18px rgba(79,208,143,.45)}
.fx-chip.red i{background:rgba(255,90,82,.18);color:#FF5A52;box-shadow:0 0 18px rgba(255,90,82,.45)}
.fx-chip small{display:block;font:500 .7rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#9CA4B0}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media (max-width:1180px){.fx-chips{display:none}}

/* shiny sweep on red buttons */
.btn-red{position:relative;overflow:hidden;isolation:isolate}
.btn-red::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);animation:sweep 4.5s ease-in-out infinite}
@keyframes sweep{0%,62%{left:-60%}88%,100%{left:130%}}
.btn-red:hover{box-shadow:0 14px 40px -10px var(--red),0 0 0 1px rgba(255,255,255,.08) inset}

/* sparkle burst canvas */
#fx-burst{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:90}

/* card spotlight + tilt */
.c,.leader{position:relative}
.c::before,.leader::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(255,90,82,.13),transparent 60%);z-index:2}
.c:hover::before,.leader:hover::before{opacity:1}
.fx-tilt{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px))!important;transition:transform .25s ease,border-color .2s,box-shadow .2s!important}
.c.fx-tilt:hover{--ty:-4px}

/* glowing animated border on the contact form */
@property --fxa{syntax:'<angle>';inherits:false;initial-value:0deg}
form.cf{border:1.5px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,conic-gradient(from var(--fxa),rgba(255,90,82,.9),rgba(255,90,82,0) 25%,rgba(79,208,143,.9) 50%,rgba(79,208,143,0) 75%,rgba(255,90,82,.9)) border-box;animation:spinBorder 7s linear infinite;box-shadow:0 40px 80px -40px rgba(0,0,0,.8),0 0 60px -20px rgba(255,90,82,.35)}
@keyframes spinBorder{to{--fxa:360deg}}

/* payment rail light lines on dark sections */
.band,.contact-sec,.imgband,footer.site{position:relative}
.fx-rail{position:absolute;left:0;right:0;top:0;height:1px;overflow:hidden;pointer-events:none;background:rgba(255,255,255,.06);z-index:3}
.fx-rail::after{content:"";position:absolute;top:0;bottom:0;width:30%;left:-30%;background:linear-gradient(90deg,transparent,#FF5A52,#4FD08F,transparent);box-shadow:0 0 12px #4FD08F;animation:rail 5s cubic-bezier(.6,0,.4,1) infinite}
@keyframes rail{to{left:110%}}

/* staggered heading words */
.fx-w{display:inline-block;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1),filter .6s;transition-delay:calc(var(--i)*45ms)}
.rv.pre .fx-w{opacity:0;transform:translateY(.45em);filter:blur(4px)}

/* icon glow */
.ico{transition:box-shadow .3s,transform .3s}
.c:hover .ico{box-shadow:0 0 0 6px color-mix(in srgb,var(--red) 12%,transparent),0 0 24px color-mix(in srgb,var(--red) 40%,transparent);transform:scale(1.06)}

/* photo sheen */
.pc::before,.media img{transition:transform .6s ease}
.media{perspective:1000px}

@media (prefers-reduced-motion:reduce){
  .btn-red::after,.fx-rail::after,.fx-chip,form.cf,.imgband h2 em,.pb h1 em{animation:none!important}
  .fx-sparks{display:none}.fx-tilt{transform:none!important}.rv.pre .fx-w{opacity:1;transform:none;filter:none}
}
.imgband h2,.shieldcall h3,.imgband h2 .fx-w{color:#fff}

/* ================= V2 CINEMATIC INTRO ================= */
.rvx{position:fixed;inset:0;z-index:120;overflow:hidden;color:#fff;cursor:default}
.rvx[hidden]{display:none!important}
.rvx-half{position:absolute;left:0;right:0;height:50.5%;background:#06070a;transition:transform .75s cubic-bezier(.76,0,.24,1)}
.rvx-half.top{top:0;background:linear-gradient(180deg,#06070a,#0b0809)}
.rvx-half.bot{bottom:0;background:linear-gradient(0deg,#06070a,#0b0809)}
.rvx-half.top::after,.rvx-half.bot::before{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#4FD08F,transparent);opacity:0;transition:opacity .2s}
.rvx-half.top::after{bottom:0}.rvx-half.bot::before{top:0}
.rvx.open .rvx-half.top{transform:translateY(-101%)}
.rvx.open .rvx-half.bot{transform:translateY(101%)}
.rvx.open .rvx-half::after,.rvx.open .rvx-half::before{opacity:1}
.rvx-cv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.rvx-scan{position:absolute;left:0;right:0;height:2px;top:-4px;background:linear-gradient(90deg,transparent,rgba(255,90,82,.9),transparent);box-shadow:0 0 24px 4px rgba(255,90,82,.45);opacity:0}
.rvx.go .rvx-scan{animation:rvxScan 1.1s cubic-bezier(.5,0,.5,1) .05s forwards}
@keyframes rvxScan{0%{top:-4px;opacity:1}90%{opacity:1}100%{top:100%;opacity:0}}
.rvx-stage{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .35s,transform .6s cubic-bezier(.6,0,.4,1)}
.rvx-stage>*{grid-area:1/1}
.rvx.open .rvx-stage{opacity:0;transform:scale(1.15)}
.rvx-type{font:500 clamp(.72rem,1.6vw,.9rem) var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:#9CA4B0;opacity:0;translate:0 -150px}
.rvx-type i{display:inline-block;width:.6em;height:1em;background:#FF5A52;vertical-align:-.15em;margin-left:.2em;animation:rvxBlink .5s steps(1) infinite}
@keyframes rvxBlink{50%{opacity:0}}
.rvx.go .rvx-type{animation:rvxTypeIn .3s ease .15s forwards,rvxFade .3s ease 1.55s forwards}
@keyframes rvxTypeIn{to{opacity:1}}
@keyframes rvxFade{to{opacity:0;filter:blur(4px)}}
/* ghosts */
.rvx-ghosts{position:absolute;inset:0;pointer-events:none}
.rvx-ghosts span{position:absolute;font:800 clamp(.8rem,1.6vw,1.1rem)/1 var(--f-mono);letter-spacing:.2em;color:#FF4A42;border:1.5px solid currentColor;padding:.25em .5em;border-radius:4px;opacity:0;text-shadow:0 0 12px rgba(255,74,66,.7);animation:rvxGhost .5s steps(2) var(--d) 2 alternate}
@keyframes rvxGhost{0%{opacity:0}50%{opacity:.85}100%{opacity:.15}}
/* stamps */
.rvx-stamp{font:900 clamp(3rem,13vw,8.5rem)/1 var(--f-display);font-stretch:70%;letter-spacing:.05em;text-transform:uppercase;padding:.08em .3em;border:.07em solid currentColor;border-radius:.12em;opacity:0;position:relative}
.rvx-stamp.no{color:#FF4A42;rotate:-8deg;text-shadow:0 0 40px rgba(255,74,66,.6);box-shadow:0 0 60px -10px rgba(255,74,66,.7),inset 0 0 40px -10px rgba(255,74,66,.5)}
.rvx-stamp.no::before,.rvx-stamp.no::after{content:attr(data-t);position:absolute;inset:.08em .3em;opacity:0;mix-blend-mode:screen}
.rvx-stamp.no::before{color:#00e5ff;translate:-4px 0}
.rvx-stamp.no::after{color:#ff00a8;translate:4px 0}
.rvx.go .rvx-stamp.no{animation:rvxSlam .42s cubic-bezier(.2,1.5,.35,1) 1.55s forwards,rvxShatter .25s ease 2.45s forwards}
.rvx.go .rvx-stamp.no::before,.rvx.go .rvx-stamp.no::after{animation:rvxGlitch .9s steps(6) 1.75s}
@keyframes rvxSlam{0%{opacity:0;scale:3.2;filter:blur(8px)}100%{opacity:1;scale:1;filter:none}}
@keyframes rvxShatter{to{opacity:0;scale:1.15;filter:blur(10px)}}
@keyframes rvxGlitch{0%,100%{opacity:0;clip-path:inset(0 0 0 0)}20%{opacity:.8;clip-path:inset(10% 0 60% 0)}40%{opacity:.6;clip-path:inset(55% 0 20% 0)}60%{opacity:.8;clip-path:inset(30% 0 40% 0)}80%{opacity:.5;clip-path:inset(70% 0 5% 0)}}
.rvx.go .rvx-stage{animation:rvxShake .4s ease 1.9s}
@keyframes rvxShake{15%{transform:translate(-10px,6px) rotate(-.4deg)}30%{transform:translate(9px,-7px) rotate(.4deg)}50%{transform:translate(-6px,4px)}70%{transform:translate(4px,-3px)}85%{transform:translate(-2px,1px)}}
.rvx-stamp.yes{color:#4FD08F;rotate:-5deg;scale:.9;text-shadow:0 0 50px rgba(79,208,143,.7);box-shadow:0 0 80px -10px rgba(79,208,143,.7),inset 0 0 40px -10px rgba(79,208,143,.5);overflow:hidden;translate:0 clamp(100px,12vw,130px)}
.rvx-stamp.yes::after{content:"";position:absolute;top:-20%;bottom:-20%;width:30%;left:-40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-20deg)}
.rvx.go .rvx-stamp.yes{animation:rvxSlam2 .45s cubic-bezier(.2,1.5,.35,1) 3.25s forwards,rvxUp .5s cubic-bezier(.6,0,.3,1) 4.05s forwards}
.rvx.go .rvx-stamp.yes::after{animation:rvxSweep .7s ease 3.6s forwards}
@keyframes rvxSlam2{0%{opacity:0;scale:2.6;filter:blur(8px)}100%{opacity:1;scale:.62;filter:none}}
@keyframes rvxUp{to{scale:.42;translate:0 clamp(-90px,-12vw,-60px);opacity:.0}}
@keyframes rvxSweep{to{left:120%}}
/* mark + rings */
.rvx-markwrap{position:relative;display:grid;place-items:center}
.rvx-mark{width:clamp(110px,18vw,170px);height:auto;opacity:0;scale:.3;filter:drop-shadow(0 0 30px rgba(255,90,82,.8)) drop-shadow(0 0 80px rgba(79,208,143,.4))}
.rvx.go .rvx-mark{animation:rvxMark .7s cubic-bezier(.2,1.6,.4,1) 2.75s forwards,rvxMarkUp .6s cubic-bezier(.6,0,.3,1) 4.05s forwards}
@keyframes rvxMark{0%{opacity:0;scale:.3;rotate:-25deg}100%{opacity:1;scale:1;rotate:0deg}}
@keyframes rvxMarkUp{to{translate:0 clamp(-150px,-17vh,-100px);scale:.7}}
.rvx-ring{position:absolute;width:clamp(110px,18vw,170px);aspect-ratio:1;border-radius:50%;border:2px solid #4FD08F;opacity:0;box-shadow:0 0 30px rgba(79,208,143,.6),inset 0 0 30px rgba(79,208,143,.4)}
.rvx.go .rvx-ring{animation:rvxRing 1s cubic-bezier(.1,.8,.3,1) 2.8s forwards}
.rvx.go .rvx-ring.r2{border-color:#FF5A52;box-shadow:0 0 30px rgba(255,90,82,.6);animation-delay:2.95s}
@keyframes rvxRing{0%{opacity:1;scale:.6}100%{opacity:0;scale:6}}
/* tagline + logo */
.rvx-line{font:800 clamp(1.7rem,5vw,3.4rem)/1.05 var(--f-display);font-stretch:78%;letter-spacing:-.01em;text-align:center;padding-inline:20px;translate:0 clamp(10px,2vh,20px)}
.rvx-line span{display:inline-block;opacity:0}
.rvx-line .a{color:#C3C9D2}
.rvx-line .b{background:linear-gradient(100deg,#4FD08F,#b6ffd9 40%,#4FD08F 60%,#FF5A52);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.rvx.go .rvx-line .a{animation:rvxWord .5s cubic-bezier(.2,.8,.2,1) 4.15s forwards}
.rvx.go .rvx-line .b{animation:rvxWord .5s cubic-bezier(.2,.8,.2,1) 4.5s forwards,shineText 2s ease 4.6s infinite}
@keyframes rvxWord{0%{opacity:0;translate:0 24px;filter:blur(10px)}100%{opacity:1;translate:0 0;filter:none}}
.rvx-logo{width:clamp(150px,22vw,220px);height:auto;opacity:0;translate:0 clamp(90px,13vh,130px)}
.rvx.go .rvx-logo{animation:rvxTypeIn .6s ease 4.8s forwards}
/* flashes */
.rvx-flash{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,rgba(255,74,66,.55),transparent 65%)}
.rvx.go .rvx-flash{animation:rvxFlashR .5s ease 1.75s,rvxFlashG .7s ease 2.8s}
@keyframes rvxFlashR{0%{opacity:0}15%{opacity:1}100%{opacity:0}}
@keyframes rvxFlashG{0%{opacity:0;background:radial-gradient(circle at 50% 50%,rgba(79,208,143,.6),transparent 60%)}15%{opacity:1;background:radial-gradient(circle at 50% 50%,rgba(79,208,143,.6),transparent 60%)}100%{opacity:0;background:radial-gradient(circle at 50% 50%,rgba(79,208,143,.6),transparent 60%)}}
.rvx .in-skip{z-index:3}
/* the hero lands after the doors open */
body.rvx-landing .pb.tall h1,body.rvx-landing .pb.tall .lede,body.rvx-landing .pb.tall .ctas,body.rvx-landing .pb.tall .eyebrow{animation:rvxLand .9s cubic-bezier(.2,.8,.2,1) both}
body.rvx-landing .pb.tall .lede{animation-delay:.12s}body.rvx-landing .pb.tall .ctas{animation-delay:.22s}
@keyframes rvxLand{from{opacity:0;translate:0 30px;filter:blur(6px)}to{opacity:1;translate:0 0;filter:none}}
.rvx-cv,.rvx-ghosts,.rvx-scan,.rvx-flash{transition:opacity .4s}
.rvx.open .rvx-cv,.rvx.open .rvx-ghosts,.rvx.open .rvx-flash{opacity:0}
.rvx.go .rvx-ghosts{animation:rvxFade .3s ease 2.3s forwards}

/* ---- 2026-11-10 updates ---- */
.hdr-social{display:flex;gap:.45rem;flex:none}
.hdr-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.14);border-radius:8px;display:grid;place-items:center;color:var(--band-muted);transition:color .15s,border-color .15s}
.hdr-social a:hover{color:#fff;border-color:var(--red-on-band)}
@media (max-width:1320px){header.site .wrap{gap:1.2rem}nav.main{gap:1.05rem}nav.main a{font-size:.89rem}}
@media (max-width:1100px){nav.main{gap:.8rem}nav.main a{font-size:.84rem}header.site .btn{padding:.7rem .85rem;font-size:.86rem}}
@media (max-width:900px){.hdr-social{margin-left:auto}.menu-btn{margin-left:0}}
.mailline + .mailline{margin-top:.35rem}
footer.site .mail + .mail{margin-top:.45rem}
footer.site .mail{display:flex;align-items:center;gap:.5rem}
/* blog */
.bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,2vw,1.4rem)}
@media (max-width:960px){.bl-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.bl-grid{grid-template-columns:1fr}}
.bl-card{display:grid;grid-template-rows:auto 1fr;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.bl-card:hover{transform:translateY(-3px);border-color:var(--red);box-shadow:0 18px 40px -24px rgba(0,0,0,.45)}
.bl-card .bl-img{aspect-ratio:16/9;background:var(--band) center/cover no-repeat}
.bl-card .bl-b{padding:1.2rem 1.25rem 1.35rem;display:grid;gap:.55rem;align-content:start}
.bl-card time,.post-meta{font:500 .7rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.bl-card h3{font:800 1.22rem/1.15 var(--f-display);font-stretch:86%;margin:0}
.bl-card p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bl-card .more{margin-top:.2rem}
.post-hero .wrap{min-height:min(62vh,520px)}
.post-hero h1{max-width:22ch}
.post-wrap{max-width:760px;margin:0 auto}
.post-cover{margin:0 0 2rem;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.post-cover img{display:block;width:100%;height:auto}
.post-body{font-size:1.06rem;line-height:1.75}
.post-body > *{margin:0 0 1.1rem}
.post-body h2{font:800 clamp(1.5rem,2.6vw,2rem)/1.15 var(--f-display);font-stretch:86%;margin:2.4rem 0 .9rem}
.post-body h3{font:700 1.25rem/1.25 var(--f-display);font-stretch:90%;margin:1.8rem 0 .6rem}
.post-body h4,.post-body h5{font:700 1.05rem/1.3 var(--f-body);margin:1.4rem 0 .5rem}
.post-body ul,.post-body ol{padding-left:1.3rem}
.post-body li{margin:.35rem 0}
.post-body li p{margin:0}
.post-body a{color:var(--red);text-underline-offset:3px}
.post-body figure{margin:1.8rem 0}
.post-body figure img{display:block;width:100%;height:auto;border-radius:12px}
.post-body blockquote{border-left:3px solid var(--red);padding:.2rem 0 .2rem 1.1rem;color:var(--muted);font-style:italic}
.post-body .tbl{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:1.6rem 0}
.post-body table{border-collapse:collapse;width:100%;min-width:560px;font-size:.93rem;line-height:1.5}
.post-body td,.post-body th{border-bottom:1px solid var(--line);padding:.7rem .85rem;vertical-align:top;text-align:left}
.post-body tr:first-child td{background:var(--band);color:var(--band-fg)}
.post-body td p{margin:0}
.post-cta{margin-top:2.6rem;padding:1.6rem;border-radius:16px;background:var(--band);color:var(--band-fg);display:grid;gap:.8rem}
.post-cta h3{margin:0;font:800 1.4rem/1.15 var(--f-display);font-stretch:86%}
.post-cta p{margin:0;color:var(--band-muted)}
.post-cta .btns{display:flex;gap:.6rem;flex-wrap:wrap}
.post-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;flex-wrap:wrap}
.post-body pre{overflow-x:auto;background:var(--band);color:var(--band-fg);padding:1rem 1.1rem;border-radius:12px;font:500 .74rem/1.45 var(--f-mono);white-space:pre}
.post-body hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
