

:root{
 --bg:#14100E;--bg2:#1A1512;--card:#1D1815;--card2:#221C18;
 --ink:#F4EFEB;--muted:#A79E97;--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.14);
 --red:#E43A3F;--red-2:#C62F34;--ok:#4FB286;
 --l-bg:#F5F2F0;--l-card:#FFFFFF;--l-ink:#211B17;--l-muted:#6E635C;--l-line:#E7E2DE;
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;font-size:16px;line-height:1.6}
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:
 radial-gradient(1250px 900px at 50% -20%,rgba(232,62,66,.24),transparent 60%),
 radial-gradient(820px 680px at 88% 4%,rgba(255,132,86,.14),transparent 60%),
 radial-gradient(900px 800px at 2% 96%,rgba(255,96,122,.10),transparent 58%)}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px;position:relative;z-index:2}
h1,h2,h3,h4,.disp{font-family:'Sora';letter-spacing:-.02em;line-height:1.08;color:var(--ink)}
a{color:inherit;text-decoration:none}
.acc{background:linear-gradient(92deg,#FF7A5C,#E43A3F 52%,#FF6FA8);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-family:'Sora';font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.eyebrow.red{color:#FF7A5C}
.sec{padding:112px 0}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* nav */
nav{position:sticky;top:0;z-index:60;background:rgba(20,16,14,.8);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-family:'Sora';font-weight:800;font-size:21px;letter-spacing:-.4px;color:var(--ink)}.logo b{color:var(--red)}
.nlinks{display:flex;gap:28px;font-size:14.5px;font-weight:500;color:var(--muted)}.nlinks a:hover{color:var(--ink)}.nlinks a.on{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:'Sora';font-weight:600;font-size:14.5px;padding:12px 20px;border-radius:11px;cursor:pointer;border:1px solid transparent;transition:.16s}
.btn-red{color:#fff;background:linear-gradient(180deg,#F0484D,#E43A3F);box-shadow:0 12px 30px -10px rgba(232,62,66,.55),inset 0 1px 0 rgba(255,255,255,.22)}
.btn-red:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-ghost{color:var(--ink);background:transparent;border-color:var(--line2)}.btn-ghost:hover{border-color:var(--ink)}
@media(max-width:860px){.nlinks{display:none}}

/* hero */
.hero{text-align:center;padding:96px 0 0}
.hero h1{font-size:clamp(40px,6vw,72px);font-weight:800;max-width:16ch;margin:20px auto 20px}
.hero .sub{font-size:19px;color:#D7CFC8;max-width:48ch;margin:0 auto 30px}
.hero .acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero .assure{font-family:'Sora';font-size:12.5px;color:var(--muted);margin-top:20px;letter-spacing:.02em}
/* The hero has no bottom padding: it leans on whatever its last element happens to be to
   open the gap before the next band. That has now failed twice - the badge row, then the
   AWS pill on the security page - so give the gap to the hero itself, for whatever ends it.
   Heroes that close with a product visual are excluded: that art is meant to run down into
   the band below. */
.hero:not(:has(.hero-visual)):not(:has(.herofig)){padding-bottom:62px}
.hero-visual{margin:52px auto 0;max-width:900px;position:relative;min-height:540px}
.pv-glow{position:absolute;left:14%;bottom:-8%;width:72%;height:74%;z-index:0;pointer-events:none;
 background:radial-gradient(50% 50% at 50% 50%,rgba(232,62,66,.34),transparent 70%);filter:blur(22px);animation:breathe 9s ease-in-out infinite alternate}
@keyframes breathe{0%{opacity:.65;transform:scale(1)}100%{opacity:.95;transform:scale(1.07)}}
/* flow strip (no container box) */
.flow{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-bottom:30px}
.flow b{display:inline-flex;align-items:center;gap:6px;font-family:'Sora';font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#cbc2bb}
.flow b i{width:16px;height:16px;border-radius:5px;background:rgba(232,62,66,.16);color:var(--red);display:grid;place-items:center;font-size:9px;font-style:normal}
.flow .ar{color:var(--line2);font-size:11px}

/* white product screen (live UI, slides in from the right) */
.pscreen{position:relative;z-index:1;width:74%;margin-left:auto;border-radius:15px;overflow:hidden;background:#fff;
 border:1px solid rgba(0,0,0,.06);box-shadow:0 55px 110px -42px rgba(0,0,0,.62);
 transform:perspective(1700px) rotateY(-7deg) rotateX(1.4deg) translateX(90px);transform-origin:left center;opacity:0;
 transition:transform 1.05s cubic-bezier(.19,.75,.2,1),opacity .8s ease}
.hero-visual.in .pscreen{transform:perspective(1700px) rotateY(-7deg) rotateX(1.4deg) translateX(0);opacity:1}
.pscreen::after{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;z-index:6;pointer-events:none;
 background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-16deg);opacity:0}
.hero-visual.in .pscreen::after{animation:sheen 1.1s ease 1.15s 1}
@keyframes sheen{0%{left:-60%;opacity:0}25%{opacity:1}100%{left:130%;opacity:0}}
/* browser bar */
.pbar{display:flex;align-items:center;gap:7px;padding:11px 15px;background:#F4F0EC;border-bottom:1px solid rgba(0,0,0,.05)}
.pbar i{width:9px;height:9px;border-radius:50%;background:#d9d2cb}
.pbar i:nth-child(1){background:#ED6A5E}.pbar i:nth-child(2){background:#E8A33d}.pbar i:nth-child(3){background:#4FB286}
.pbar .url{margin-left:8px;font-family:'Sora';font-size:11px;color:#a49a92;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:6px;padding:4px 12px;flex:1;max-width:250px}
/* card body */
.pbody{padding:20px 22px 18px;color:#1a1512;font-family:'Inter'}
.p-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.p-top h4{font-family:'Sora';font-size:18px;font-weight:700;letter-spacing:-.01em;
 /* the mock sits on white but inherits the hero's cream text, so the run title has to
    set its own colour or it disappears. Caught by vcontrast.js on 14 pages. */
 color:var(--l-ink)}
.p-top .rid{font-size:12px;color:#948b83;margin-top:3px}
.p-pill{font-family:'Sora';font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.p-pill.rev{background:#FCEFD9;color:#B67816}
.p-pill.rev i{width:5px;height:5px;border-radius:50%;background:#E8A33d;animation:pulse 1.6s ease-in-out infinite}
.p-pill.ok{background:#E4F3EA;color:#2E8B57}
.p-pill.wa{background:#FCEFD9;color:#B67816}
.p-pill.qu{background:#F0ECE8;color:#98908a}
.p-dates{display:flex;gap:52px;padding:15px 0;border-bottom:1px solid #efe9e3;margin-top:12px}
.p-dates .k{font-family:'Sora';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#a89f97}
.p-dates .v{font-size:16px;font-weight:600;margin-top:4px}
.p-rows{padding-top:4px}
.p-row{display:flex;align-items:center;gap:12px;padding:11px 8px;margin:0 -8px;border-radius:10px;
 opacity:0;transform:translateY(16px);transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .5s cubic-bezier(.2,.7,.2,1),background .45s ease}
.pscreen.play .p-row{opacity:1;transform:none}
.pscreen.play .p-row:nth-child(1){transition-delay:.1s}
.pscreen.play .p-row:nth-child(2){transition-delay:.25s}
.pscreen.play .p-row:nth-child(3){transition-delay:.4s}
.pscreen.play .p-row:nth-child(4){transition-delay:.55s}
.p-row.flash{background:rgba(232,163,61,.12)}
.p-flip{animation:flip .55s cubic-bezier(.2,.8,.2,1)}
@keyframes flip{0%{transform:scale(.65);opacity:.15}55%{transform:scale(1.14)}100%{transform:scale(1);opacity:1}}
.p-ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none}
.p-ic svg{width:15px;height:15px}
.p-ic.g{background:#E4F3EA;color:#2E8B57}.p-ic.a{background:#FCEFD9;color:#C88A1E}.p-ic.q{background:#F0ECE8;color:#9a928b}
.p-row .nm{font-size:14px}.p-row .nm b{font-weight:600}.p-row .nm span{color:#948b83}
.p-row .mt{font-size:12px;color:#948b83;margin-top:1px}
.p-row .st{margin-left:auto}
.p-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #efe9e3;padding-top:15px;margin-top:6px}
.p-foot .note{font-size:12px;color:#948b83;display:inline-flex;align-items:center;gap:7px}
.p-approve{border:0;cursor:default;font-family:'Sora';font-weight:600;font-size:13px;color:#5a3d05;
 background:linear-gradient(180deg,#F7C05A,#E8A33d);border-radius:999px;padding:9px 18px;display:inline-flex;align-items:center;gap:7px;
 box-shadow:0 12px 26px -10px rgba(232,163,61,.7)}
/* floating stat cards */
.sc-float{position:absolute;z-index:4;background:#fff;border-radius:15px;padding:13px 16px;font-family:'Sora';text-align:center;min-width:132px;
 box-shadow:0 34px 60px -22px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.03);
 opacity:0;transform:translateY(12px) scale(.95);transition:opacity .6s,transform .6s}
.hero-visual.in .sc-float{opacity:1;transform:none;animation:floaty 6s ease-in-out infinite 1.9s}
.hero-visual.in .sc-f1{transition-delay:1.5s}
.hero-visual.in .sc-f2{transition-delay:1.68s}
.sc-float .lbl{font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--red);font-weight:700}
.sc-float .big{font-size:22px;font-weight:800;color:#1a1512;margin-top:3px;letter-spacing:-.01em}
.sc-float .sub{display:inline-flex;align-items:center;gap:5px;font-size:11px;margin-top:4px;color:#6d675f;font-weight:500}
.sc-float .up{color:#2E9E6B}
.sc-f1{left:22px;top:30%}
.sc-f2{left:62px;top:57%}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:820px){
 .hero-visual{min-height:0}
 .pscreen{width:100%;transform:translateX(30px);opacity:0}
 .hero-visual.in .pscreen{transform:translateX(0)}
 .flow{gap:6px;margin-bottom:20px}
 .sc-float{display:none}
}

/* device frame */
.device{position:relative;z-index:1;border-radius:18px;border:1px solid var(--line2);background:#221C18;
 box-shadow:0 50px 100px -45px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.04) inset;overflow:hidden}
.device-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#1A1512;border-bottom:1px solid var(--line)}
.device-bar i{width:10px;height:10px;border-radius:50%;background:#3a322c;display:block}
.device-bar i:nth-child(1){background:#E5564C}.device-bar i:nth-child(2){background:#E8A33d}.device-bar i:nth-child(3){background:#4FB286}
.device-bar .url{margin-left:10px;font-family:'Sora';font-size:11.5px;color:#8b827b;background:#221c18;border:1px solid var(--line);border-radius:6px;padding:4px 12px;flex:1;max-width:280px}
.device img{width:100%;display:block}
.device.light{background:#fff;border-color:var(--l-line);box-shadow:0 44px 90px -40px rgba(40,28,24,.5)}
.device.light .device-bar{background:#F1ECE8;border-color:var(--l-line)}
.device.light .device-bar .url{background:#fff;border-color:var(--l-line);color:#9a9089}

/* light band */
.light{position:relative;z-index:1;color:var(--l-ink)}
.light::before{content:"";position:absolute;inset:0;left:calc(50% - 50vw);width:100vw;background:var(--l-bg);z-index:-1}
.light .eyebrow{color:#B24A2E}.light h2,.light h3{color:var(--l-ink)}
.light .lead{color:var(--l-muted)}
.band-h{max-width:640px;margin:0 auto 12px;text-align:center}
.band-h h2{font-size:clamp(30px,4vw,46px);font-weight:800}
.band-h p{font-size:18px;color:var(--l-muted);margin-top:14px;max-width:52ch;margin-left:auto;margin-right:auto}

/* feature rows - generous whitespace */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:92px;align-items:center;padding:64px 0}
.frow.rev .ftext{order:2}
.ftext .fh{font-size:clamp(26px,3vw,34px);font-weight:700;margin:14px 0 14px}
.ftext .lead{font-size:17px;max-width:42ch;margin-bottom:22px;line-height:1.6}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-family:'Sora';font-weight:600;font-size:12.5px;color:var(--l-ink);background:#fff;border:1px solid var(--l-line);border-radius:999px;padding:8px 14px}
@media(max-width:900px){.frow{grid-template-columns:1fr;gap:40px;padding:44px 0}.frow.rev .ftext{order:0}}

/* mini UI snippets (in device) */
.snip{padding:22px}
.snip .row{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--l-line);border-radius:13px;margin-bottom:10px;background:#fff}
.snip .row:last-child{margin-bottom:0}
.snip .av{width:34px;height:34px;border-radius:9px;background:linear-gradient(150deg,#FF7A5C,#E43A3F);flex:none}
.snip .rt{flex:1}.snip .rt b{font-family:'Sora';font-size:13.5px;color:var(--l-ink);display:block}.snip .rt span{font-size:11.5px;color:var(--l-muted)}
.snip .pill{font-family:'Sora';font-weight:600;font-size:11px;padding:5px 11px;border-radius:999px}
.snip .pill.ok{background:#E7F5EE;color:#1E7A4F}.snip .pill.wait{background:#FBF0DF;color:#9A6A12}.snip .pill.red{background:#FCE9E8;color:#C62F34}
.snip.flow{display:flex;align-items:center;gap:10px;justify-content:center;padding:34px 22px}
.snip.flow .node{text-align:center;flex:1}
.snip.flow .node .ic{width:46px;height:46px;border-radius:13px;margin:0 auto 9px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#F1ECE8;border:1px solid var(--l-line)}
.snip.flow .node b{font-family:'Sora';font-size:13px;color:var(--l-ink);display:block}
.snip.flow .node span{font-size:11px;color:var(--l-muted)}
.snip.flow .arr{color:#E43A3F;font-size:18px;font-weight:700}

/* accordion - progressive disclosure */
.everything{max-width:820px;margin:0 auto}
.everything .lead-line{text-align:center;color:var(--l-muted);margin:14px 0 26px;font-size:17px}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;align-items:start}
.feat{position:relative;background:var(--l-card);border:1px solid var(--l-line);border-radius:16px;padding:22px 20px;min-height:190px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.feat:hover{transform:translateY(-3px);box-shadow:0 24px 48px -30px rgba(40,28,24,.5);border-color:#dfd7d1}
.feat .ico{width:36px;height:36px;border-radius:10px;background:#FCE9E8;color:#C62F34;display:grid;place-items:center;margin-bottom:14px}
.feat .ico svg,.conn .ci svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.feat h5{font-family:'Sora';font-size:15px;font-weight:600;color:var(--l-ink);margin-bottom:8px;line-height:1.3;padding-right:20px}
.feat .tz{font-size:13.5px;line-height:1.55;color:#5f5850}
.feat .more{max-height:0;opacity:0;overflow:hidden;font-size:13px;line-height:1.58;color:var(--l-muted);
 border-top:1px solid transparent;transition:max-height .4s ease,opacity .32s ease,margin-top .4s ease,padding-top .4s ease}
.feat:hover .more{max-height:170px;opacity:1;margin-top:11px;padding-top:11px;border-top-color:var(--l-line)}
/* plus/expand hint, rotates on hover */
.feat .exp{position:absolute;top:20px;right:18px;width:20px;height:20px;color:var(--l-muted);opacity:.5;transition:transform .3s ease,opacity .2s}
.feat:hover .exp{transform:rotate(45deg);opacity:.9;color:var(--red)}
.feat .exp svg{width:100%;height:100%}
@media(hover:none){
 .feat .more{max-height:none;opacity:1;margin-top:11px;padding-top:11px;border-top-color:var(--l-line)}
 .feat .exp{display:none}
}
@media(max-width:900px){.feat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.feat-grid{grid-template-columns:1fr}}
.acc-item{border:1px solid var(--l-line);border-radius:14px;background:#fff;margin-bottom:10px;overflow:hidden}
.acc-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:18px 20px;font-family:'Sora';font-weight:600;font-size:16px;color:var(--l-ink)}
.acc-item summary::-webkit-details-marker{display:none}
.acc-item summary .ico{width:30px;height:30px;border-radius:8px;background:#FCE9E8;color:#C62F34;display:flex;align-items:center;justify-content:center;font-size:15px;flex:none}
.acc-item summary .cv{margin-left:auto;color:var(--l-muted);transition:transform .25s}
.acc-item[open] summary .cv{transform:rotate(180deg)}
.acc-body{padding:0 20px 20px 64px;color:var(--l-muted);font-size:15px;line-height:1.6}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}
.stat{background:rgba(255,255,255,.04);border:1px solid var(--line2);border-radius:18px;padding:34px 20px}
.stat .n{font-family:'Sora';font-weight:800;font-size:clamp(34px,4vw,48px);color:#fff;line-height:1}
.stat .n em{font-style:normal;color:#FF7A5C}
.stat p{color:var(--muted);font-size:14px;margin-top:10px}
@media(max-width:760px){.stats{grid-template-columns:1fr}}

/* faq */
.faq{max-width:760px;margin:0 auto}
.faq details{border:1px solid var(--line2);border-radius:14px;background:rgba(255,255,255,.04);margin-bottom:10px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:18px 20px;font-family:'Sora';font-weight:600;font-size:15.5px;color:var(--ink);display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary .cv{color:var(--muted);transition:transform .25s}.faq details[open] summary .cv{transform:rotate(180deg)}
.faq .a{padding:0 20px 18px;color:var(--muted);font-size:14.5px;line-height:1.6}
/* the FAQ is styled for a dark band. On a light one it inherits near-white text and
   disappears into the paper, so give the light variant its own colours. */
.light .faq details{border-color:var(--l-line);background:#fff}
.light .faq summary{color:var(--l-ink)}
.light .faq summary .cv{color:var(--l-muted)}
.light .faq .a{color:var(--l-muted)}

/* final CTA with shine */
.final{text-align:center;padding:104px 24px;position:relative;overflow:hidden;background:radial-gradient(1100px 520px at 50% -28%,rgba(255,164,132,.5),transparent 60%),linear-gradient(120deg,#E5564C 0%,#D2343C 46%,#C64683 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 22px 60px -30px rgba(0,0,0,.5)}
.final::after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);animation:shine 6s ease-in-out 1.2s infinite}
@keyframes shine{0%{left:-45%}22%{left:130%}100%{left:130%}}
.final h2{font-size:clamp(32px,4.4vw,44px);font-weight:800;color:#fff;margin-bottom:12px;position:relative;z-index:2}
.final p{color:rgba(255,255,255,.92);font-size:17px;margin-bottom:26px;position:relative;z-index:2}
.final .acts{position:relative;z-index:2;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.final .btn-red{background:#fff;color:var(--red)}.final .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}

/* ---- blip ---- */
/* side blip (Chargebee-style) */
.blip{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:55;font-family:'Inter'}
.blip-card{width:256px;border-radius:18px;overflow:hidden;position:relative;
 background:radial-gradient(120% 90% at 100% 0,rgba(228,58,63,.22),transparent 55%),#161110;
 box-shadow:0 30px 64px -20px rgba(0,0,0,.78),0 0 0 1px rgba(255,255,255,.08) inset;transition:transform .3s,opacity .3s}
.blip-card:hover{transform:translateY(-3px)}
.blip.min .blip-card{opacity:0;pointer-events:none;transform:translateX(30px) scale(.92)}
.blip-x{position:absolute;right:10px;top:10px;z-index:8;width:21px;height:21px;border-radius:50%;background:rgba(255,255,255,.14);border:0;color:#fff;cursor:pointer;display:grid;place-items:center;font-size:13px;line-height:1;padding:0}
.blip-x:hover{background:rgba(255,255,255,.3)}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.5)}}
/* vertical roll reel */
.blip-stage{position:relative;height:154px;overflow:hidden}
.blip-reel{position:absolute;inset:0;transition:transform .6s cubic-bezier(.16,.84,.28,1)}
.blip-slide{height:154px;padding:18px 18px 14px;display:flex;flex-direction:column;box-sizing:border-box}
.blip-eic{display:flex;align-items:center;gap:6px;font-family:'Sora';font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#b7ada5}
.blip-eic i{width:6px;height:6px;border-radius:50%;background:var(--red);display:block;animation:pulse 1.7s ease-in-out infinite}
.blip-eic.g i{background:#4FB286}.blip-eic.y i{background:#E8A33d}
.blip-h{font-family:'Sora';font-weight:700;font-size:16.5px;color:#fff;line-height:1.22;margin-top:12px;letter-spacing:-.01em}
.blip-s{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.42}
.blip-count{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-family:'Sora';font-weight:800;font-size:22px;color:#fff}
.blip-count svg{width:15px;height:15px;color:var(--red);flex:none}
.blip-count b{font-variant-numeric:tabular-nums;letter-spacing:.04em}
/* text-style CTA, deliberately lighter than the main button */
.blip-cta{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;color:#FF8A6B;font-family:'Sora';font-weight:600;font-size:12.5px;padding-top:10px}
.blip-cta svg{width:14px;height:14px;transition:transform .25s}
.blip-cta:hover{color:#fff}
.blip-cta:hover svg{transform:translateX(3px)}
/* auto-advance progress + dots */
.blip-foot{display:flex;align-items:center;gap:10px;padding:0 18px 14px}
.blip-prog{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.blip-prog i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#FF7A5C,#E43A3F);transform-origin:left;transform:scaleX(0)}
.blip-prog i.run{animation:blipfill 4.8s linear forwards}
@keyframes blipfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.blip-dots{display:flex;gap:5px}
.blip-dots b{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.24);cursor:pointer;transition:.3s}
.blip-dots b.on{background:var(--red)}
.blip-tab{position:absolute;right:0;top:50%;transform:translate(26px,-50%) scale(.9);opacity:0;pointer-events:none;transition:transform .34s cubic-bezier(.2,.7,.3,1),opacity .3s;
 background:#1A1512;color:#fff;border:0;cursor:pointer;border-radius:12px 0 0 12px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:9px;
 box-shadow:0 14px 30px -12px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.07) inset}
.blip.min .blip-tab{transform:translate(14px,-50%) scale(1);opacity:1;pointer-events:auto}
.blip-tab .vt{writing-mode:vertical-rl;font-family:'Sora';font-size:9.5px;letter-spacing:.16em;text-transform:uppercase}
.blip-tab .dot{width:6px;height:6px;border-radius:50%;background:var(--red);animation:pulse 1.9s ease-in-out infinite}
@media(max-width:1180px){.blip{display:none}}
.blip-slide{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat}
.blip-slide > *{position:relative;z-index:1}
.blip-slide[class*="blip-ph-"] .blip-s{color:#EDE7E3;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.blip-slide[class*="blip-ph-"] .blip-eic{color:#E0D8D2;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.blip-slide[class*="blip-ph-"] .blip-h{text-shadow:0 1px 4px rgba(0,0,0,.55)}
.blip-slide[class*="blip-ph-"] .blip-cta{color:#FFA88E;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.blip-ph-look{background-image:url(data:image/webp;base64,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)}
.blip-ph-offer{background-image:url(data:image/webp;base64,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)}
.blip-ph-webinar{background-image:url(data:image/webp;base64,UklGRsgJAABXRUJQVlA4ILwJAABwbgCdASoAAjQBPul0sVQpLLmxItF52zAdCWktsMgPKAPJSZlWgHevv/sT9eMVGkl2czw+e5i4KpGRHDqwnHiTCpy5TPdiQbThNZuq9R9kBukuJMWW2E/0pv/vWUWOw+bM4ONxGGEkLEjstvHfnY9VOvfnuSbR96J/ERVdmFe5Cm9baFSPCzZ5i9vgmP1wzW8plJbbWfJrePFJqV5I9mwDOpvBHpAlFDoh7rXR52KoUAL2+SQBrd+mdQ1Q8oj/6r+NJH3u6NYnb8zq8DvLvOkvycwmekBaFNagbkSOdSGyx0r9SSzq5VfCBeHuZYjkkMWX/foqICE8ObYhAXQaJydETzLPDEg8lc+tO+PwxF2exKdWsXmNMnzaUM/om9q9pwVWRcjjYJwhLX0cobUqS52PcX4kaoR2BgXVYSuLClYLlc4G0JAuor9jwJ8h9vMVYR+1gv4E5kyFvw2EgrO5Zby4Wg+cwqNSgAdBtOkAnKTG9NfN09/+1T/1oZnhV6WrRv4IVtNUrohakNe3JkCCDs/WKB5y1PVQwnLKD3w5tIpin+CAEgLqthlf1Q/QY27MaTnq00TsMnaBEqGoBi8pm3630HPXkoYdKk6XPaGOyFVGChy97q292m1r/UhE903UiiFkk84sdnkUPY47q5W1uq9J7NwSllyLOzji6fv6TuxEeaNO3FV0UzyEsJrO6D6DywVPq4zBbI/V/fwBSsgU0b0hiesKFOhENcefILpxyAoMU0hthr/IzMUAH4g+JVL1XWHoGbVILQrM0bNHPfedbE95fQVtiZ6BoAoKv8ZJEPtf+X3QaidcsY9UEE7RXzHFSAEJkbcEqGG0sMdB+UBnZ1oSx1wJXaA19Bnr3Iyh88hVlvCNwfOsZKAHhDTylWD9IlNtTGBhNAs257firEeNfFWWa+Qp75lbfuGjKM2qb/83wWVMOWupLq1hMJfddZaC3tuN9HWRqhM/V9QS07QikqGb4o+aLwZewPpTrumMN9Q45FmmvWTCVXHXy3u7RkqpW2KyHSfOJKcghL5cC/oPkZtANKvWSmwZiLK+zYK2qwW0BDXHlWD+qTJ0VHa/Xt1M9DQtUNLwQxfrJuekx5Ri29tjniYiNshO8ludtzw11sZgotXw2gc+f2mqJjSqfDtQ/3OZR7JQFCqM/AYOAul1gO4eyoe4jDqVHTDXIvSAAP7vc/Tr/1YUf2xEj+XVF86svsGQmvKcENOzajYawOENloz1QJ9LH4mUb/tIV/d/rwlPYAkfzNfqTZKCzkxfNn6WHl+87dvZJy3ALWemFibvxOcPLDGjhicmnl26pe1Phgk7o85TlnrVUn2V0MevL8XCb5anNQ1GObNEAli2t5ev9FZfosI+FFK5+y9aOAFNpHq5z0dq7FqgDMi4mIa70BBqjsStpFUngQu8rPvDWsN2EhvIw2xs2XW7SpUuoGe6Ap4CV44jKwonMfG+5ykTGPx7fEjEvWdscbGeeu7llUMjvFwEuswBYsr1x+OMRenipire8b8HQbglPOk/aPa8sMRE9FoBxxYH/NWveYJlbSZWKw4/oO/Gz2Lwte+cuOrosxHebpHZEgHYwRO3WuLc3UetM+02a13PsmHBgy4KZU66Ug6M8M5xFBha3oQ11N8XaLWzAce1TPdZxgwVidBgG46d5jZRPgXHEaLzNR1DaAyO6EDH87EfkEvXm3qXVN39xUXVW8TQejisHLk3EgfXLymCAKa2vQvj4+77urKc+lrdu80pTaWN1gRkbqdsI1VJ3/vERoynkumq3l+Gt89pU9sah7VrXhOgxQSwsiciLxf0dzZK55PdPArrCf4Q0rsPHDQjpPw12uCCTApxXx7BaUowGzPne0pclZ03zdIx/x+47nuEaHZFpGgBdyp1zQl2uGI/euV8VJlsdY58tuYpj9PEPya0HlOel9XiII9IRemjDeo3Akfc8TLZPRkx6/0eRVuXWICZmT/mMup63US2NoSRe3C6ykG+GphzZe67KS2e6Jiv/lHkyFbQ9ce6UouSXnp7tXrXBUpVKa+7Xhe7BOLqbBnNBb9Q5sqhYhnb/D/KwQA1TmDgo7XwhPTtDvKQIq6nHxpGpC0ZnCtHgibrMzEdanMEJcOtuJZ4NNR69Gn8TO1Bq/55K6bL/lCabut/8kf36ydTwvhitYrE8nfPws0bT6sJnfqzOne000ianmv/WJwuDh3/T6jlRReol+UrgBQdrKJjS78XAGxr3YN+CB6Co3mgAIVJ/XRnPUdoT9P3wLlpJ3SINoAU6FhDxJzFeBnQ4iiL4HBbuUsj1rZMHO52YfeRxxhmb0fvBruLfxlktxbK9m8DDTHueUCkmd2kWk8SuJ6kh440VdIyQfuq+iK2nE3bgfMF75e+u3iRo1zd06E3RiOxWEL1xWYy6MOq4/gpHhtodkkZ2TK+RksQVyyJB91fYCmZIDYKz2dTilvlpKXl7OlxpkyPsc+wlhyE4gh7vk+yTq5Sr3tfKJOVYOjKLyfyPXHBadJ+IKSiUdrUqdlhdbYB5YUQl/ugDdGYAVxdXhvCBndkJAIuj2Q96AZemTGbxUqk6xZr/7XdjF133vQYDRbdtVA9AIZyHusY7HD4R7nTo1iZF5zuOo9AtoqyCxLzj78NzXIPL+TGKPLmNckagZBwbiwcg4BCmupl9GWAaSYn9x+FmxButeGbU1vw2vPXvBHFZeQ/h2+X2N6RGRgxecsy+0eTrte+CWu6DHgwMDTyQxR8lczJVW0abfShpDUhyf9W1E/5KYHr2sTi7X9koe37A7vy1Yc0BHvztE1oaFXUHrkkR+61gUJ+qMgXKP4w+QksWyBWTpsGzRjnMS/f2KfUvNi22ESJDlu3JA3Og3I8P0aem1hrQbMsgKVEUbolIWygd5m9kWF6WMWjIZ+4XaRi3/tcPElVlQp92w+yVFE/Iepgcu4+YMrRPMui0PWFivu2Oc5/7LPNH6FHeDA2SnsGXWtp2LQQcGDf5sr+Y1Lmw9AX+p7jwtkmxlt9OQ4RBRwyo7hKmveF59MgKc0MtHSlebgBgmv/UFKT6CR/Q++kLD9ryT9l1zOawV2PetDWe5gvyWFmLU2VCchWgr1AItwZxVT+9NtnmAHjmNEympTR44dGgIip0IgdF/P1EQbSknzAc9XulnnaHjoQWKaqrRyj0JlG21MtFrTqzRKT5X1TVucJL6iQR0ZFWtbRTrJvlBEbRE0wwlyXnoSNYGO7maDPPFMUmXMB9VBahPgL4ey63LtjvV3b0SCN6hrbQ+DtHM4fErb4AGWfPzhyMAvPk4Wk8ctiPV5nxEoEUKnyQEp3qFAKJ92GUcAAAA==)}
/* ---- end blip ---- */

/* ---- footer ---- */
footer{border-top:1px solid var(--line);padding:64px 0 34px;color:var(--muted);font-size:14px;position:relative;z-index:2}
/* The live column template is the seven-column one in common.EXTRA_CSS, which overrides
   this. This rule only carries the padding and rule-off. */
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.fcol h5{font-family:'Sora';font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#C7BFB8;margin-bottom:16px}
.fcol a{display:block;color:var(--muted);margin-bottom:10px;transition:.15s}
.fcol a:hover{color:var(--ink)}
.fbrand img{height:32px;margin-bottom:16px}
.fbrand p{font-size:13.5px;line-height:1.6;max-width:30ch;margin-bottom:18px}
/* footer market selector: a real <details> dropdown, no JS */
.fsel{position:relative;display:inline-block}
.fsel > summary{display:inline-flex;align-items:center;gap:8px;font-family:'Sora';font-weight:600;
 font-size:13px;color:var(--ink);border:1px solid var(--line2);border-radius:9px;padding:8px 13px;
 cursor:pointer;list-style:none;user-select:none;white-space:nowrap}
.fsel > summary::-webkit-details-marker{display:none}
.fsel > summary::after{content:"\25BE";color:var(--muted);font-size:11px}
.fsel > summary:hover{border-color:rgba(255,255,255,.28)}
.fsel[open] > summary::after{transform:rotate(180deg);display:inline-block}
.fseld{position:absolute;bottom:calc(100% + 8px);left:0;z-index:40;min-width:186px;padding:7px;
 border-radius:13px;border:1px solid var(--line2);background:linear-gradient(180deg,#1E1815,#191310);
 box-shadow:0 26px 60px -24px rgba(0,0,0,.9)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .fseld{background:linear-gradient(180deg,rgba(32,26,23,.965),rgba(23,18,16,.95));
  -webkit-backdrop-filter:blur(40px) saturate(170%);backdrop-filter:blur(22px) saturate(180%)}
}
.fseld a{display:block;padding:8px 11px;border-radius:8px;font-size:13px;color:var(--muted)}
.fseld a:hover{background:rgba(255,255,255,.08);color:var(--ink)}
/* the market you are already reading, so the list says where you are as well as where
   you can go */
.fseld a.on{color:var(--ink);font-weight:600}
.fseld a.on::after{content:"\2713";float:right;color:var(--red);font-weight:700}
.appbadges{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
/* flex:none matters. In the narrow brand column these were shrinking below their own
   content and wrapping "App Store" onto three lines. They now keep their natural width
   and stack instead. */
/* .fcol a{display:block} is more specific than a bare .appbadge, so the badges had been
   laying out as blocks all along: the store glyph sat above the wording and "App Store"
   broke onto its own line. Matching the wrapper too wins the cascade back.
   flex:none keeps each badge at its natural width in the narrow brand column, so they
   stack rather than shrink below their own content. */
.appbadges .appbadge{display:inline-flex;flex:none;align-items:center;gap:9px;margin-bottom:0;border:1px solid var(--line2);border-radius:10px;padding:8px 13px;font-family:'Sora';color:var(--ink)}
.appbadge svg{width:20px;height:20px}
/* The Apple glyph sits inside its 24-box with margin; the Play mark fills its 40-box to
   the edge, so at the same box size it reads a size larger. Pull it back optically. */
.appbadge svg.playmark{width:18px;height:18px}
.appbadge small{display:block;font-size:9.5px;color:var(--muted);font-weight:500}
.appbadge b{font-size:13px;font-weight:600;white-space:nowrap}
.appbadge small{white-space:nowrap}
.fbot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center;padding-top:26px}
.fsoc{display:flex;gap:12px}
.fsoc a{width:34px;height:34px;border-radius:8px;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.fsoc a:hover{color:var(--ink);border-color:var(--ink)}
svg.i{width:1em;height:1em;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr;gap:28px}.fbrand{grid-column:1/-1}}
/* ---- end footer ---- */
/* problem / reframe narrative */
.nar{max-width:780px;margin:0 auto;text-align:center}
.nar .big{font-family:'Sora';font-size:clamp(23px,2.8vw,32px);font-weight:600;line-height:1.4;letter-spacing:-.01em}
.nar .re{margin:26px auto 0;max-width:660px;font-size:16px;line-height:1.7}
.sfade .w{color:rgba(244,239,235,.24);transition:color .45s ease}
.sfade .w.lit{color:var(--ink)}
@media(prefers-reduced-motion:reduce){.sfade .w{color:var(--ink);transition:none}}
/* connected-to-platform grid */
.conn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:46px}
.conn{background:var(--l-card);border:1px solid var(--l-line);border-radius:16px;padding:22px 20px;box-shadow:0 20px 44px -34px rgba(40,28,24,.4)}
.conn .ci{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#FCE9E8;color:#C62F34;border:1px solid #F6DAD9;margin-bottom:15px}
.conn .ci svg{width:21px;height:21px}
.conn h5{font-family:'Sora';font-size:15px;font-weight:600;color:var(--l-ink);margin-bottom:8px}
.conn p{font-size:13.5px;line-height:1.58;color:var(--l-muted)}
@media(max-width:900px){.conn-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.conn-grid{grid-template-columns:1fr}}


/* ---------- brand mark: one copy of the bitmap, reused ---------- */
.hx-mark{display:block;background:url(data:image/png;base64,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) left center/contain no-repeat}
.hx-logo .hx-mark{width:118px;height:26px}
.hx-dtop .hx-mark{width:118px;height:26px}
.fbrand .hx-mark{width:145px;height:32px;margin-bottom:16px}
/* ---------- mega-menu header ---------- */
.nav-in{gap:22px}
.hx-logo{display:flex;align-items:center;flex:none}
.hx-logo img{height:26px;display:block}
.hx-menu{display:flex;align-items:center;gap:4px;flex:1}
.hx-item{position:relative}
.hx-trig{display:inline-flex;align-items:center;gap:5px;font-family:'Sora';font-size:14.5px;font-weight:500;
 color:var(--muted);padding:9px 12px;border-radius:9px;cursor:pointer;background:none;border:0;transition:.16s;white-space:nowrap}
.hx-trig:hover,.hx-item:hover .hx-trig,.hx-item.open .hx-trig{color:var(--ink);background:rgba(255,255,255,.06)}
.hx-trig.on{color:var(--ink)}
.hx-trig .hx-cv{width:9px;height:9px;opacity:.7;transition:transform .22s}
.hx-item:hover .hx-trig .cv,.hx-item.open .hx-trig .hx-cv{transform:rotate(180deg)}
.hx-panel{position:absolute;top:calc(100% + 12px);left:-8px;z-index:70;max-width:calc(100vw - 40px);opacity:0;visibility:hidden;
 transform:translateY(-8px);transition:opacity .2s ease,transform .24s cubic-bezier(.2,.7,.3,1),visibility .2s;
 /* Translucent, iOS style: the page shows through the panel rather than being blocked out.
    backdrop-filter needs a background that is actually see-through, so the fill is rgba with
    saturate() to keep the brand red underneath from going grey. The opaque gradient stays as
    the @supports fallback for browsers without backdrop-filter. */
 background:linear-gradient(180deg,#1E1815,#191310);border:1px solid var(--line2);border-radius:18px;padding:12px;
 box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.03) inset}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 /* Opacity matters more than it looks. At .70 the page behind bled through and competed with
    the menu labels; iOS panels are far more opaque than they appear, and the frosted read
    comes from the blur, not from letting content show. .93 keeps the effect and the text. */
 /* Two things are doing the work here and they have to be tuned independently.
    The blur is what gives the frosted, iOS read. The alpha is the safety net: some engines
    (including headless Chromium, which is what the verifiers render in) accept the property
    but never composite it, and then the only thing standing between the menu labels and the
    enormous hero type behind them is the fill. So the alpha is set so the panel is still
    legible with NO blur at all, and the blur is generous on top for the browsers that do
    honour it. Dropping the alpha for a more obvious see-through effect looks good in a
    design tool and unreadable on whatever renders it flat. */
 .hx-panel{background:linear-gradient(180deg,rgba(32,26,23,.965),rgba(23,18,16,.95));
  -webkit-backdrop-filter:blur(48px) saturate(170%);backdrop-filter:blur(48px) saturate(170%);
  border-color:rgba(255,255,255,.12);
  box-shadow:0 40px 90px -34px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.06) inset}
 .hx-card:hover{background:rgba(255,255,255,.1)}
}
/* group heading inside a panel, so cards grouped by a different logic read as a set */
.hx-hd{grid-column:1/-1;font-family:'Sora';font-size:10px;font-weight:700;letter-spacing:.15em;
 text-transform:uppercase;color:#8A7F78;padding:10px 12px 4px}
.hx-hd + .hx-card{margin-top:0}
.hx-grid .hx-hd:not(:first-child){margin-top:6px;border-top:1px solid var(--line);padding-top:12px}
.hx-item:hover .hx-panel,.hx-item.open .hx-panel,.hx-item:focus-within .hx-panel{opacity:1;visibility:visible;transform:none}
.hx-panel::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.hx-grid{display:grid;gap:2px;min-width:322px}
.hx-grid.two{grid-template-columns:repeat(2,minmax(232px,1fr));gap:2px 6px}
.hx-card{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;border-radius:12px;transition:background .15s}
.hx-card:hover{background:rgba(255,255,255,.06)}
.hx-card .hx-i{width:32px;height:32px;border-radius:9px;flex:none;display:grid;place-items:center;
 background:rgba(228,58,63,.14);color:#FF8A6B;border:1px solid rgba(228,58,63,.18)}
.hx-card .hx-i svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hx-card b{display:block;font-family:'Sora';font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.3}
.hx-card span{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.4}
.hx-foot{margin-top:8px;padding:12px 13px 4px;border-top:1px solid var(--line);display:flex;
 align-items:flex-start;justify-content:space-between;gap:18px}
.hx-foot .hx-t{font-size:11.5px;color:var(--muted);line-height:1.5;flex:1 1 auto;min-width:0;text-wrap:pretty}
.hx-foot a.hx-l{font-family:'Sora';font-size:12.5px;font-weight:600;color:#FF8A6B;white-space:nowrap;
 flex:0 0 auto;align-self:center}
.hx-foot a.hx-l:hover{color:var(--ink)}
.hx-cta{display:flex;gap:10px;align-items:center;flex:none}
.hx-cta .hx-lg{font-family:'Sora';font-size:14.5px;font-weight:600;color:var(--muted)}
.hx-cta .hx-lg:hover{color:var(--ink)}
.hx-burger{display:none;background:none;border:1px solid var(--line2);border-radius:9px;padding:8px 10px;cursor:pointer;color:var(--ink)}
.hx-burger svg{width:18px;height:18px;display:block;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round}
/* mobile drawer */
.hx-drawer{position:fixed;inset:0;z-index:90;background:#14100E;overflow-y:auto;padding:22px 22px 60px;
 opacity:0;visibility:hidden;transform:translateY(-10px);transition:.26s}
.hx-drawer.open{opacity:1;visibility:visible;transform:none}
.hx-dtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.hx-dtop img{height:26px}
.hx-drawer h6{font-family:'Sora';font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8A7F78;
 margin:22px 0 8px;font-weight:600}
.hx-drawer a.hx-dl{display:block;padding:11px 0;font-family:'Sora';font-size:15.5px;font-weight:500;
 color:var(--ink);border-bottom:1px solid var(--line)}
.hx-drawer a.hx-dl span{display:block;font-family:'Inter';font-size:12px;font-weight:400;color:var(--muted);margin-top:2px}
.hx-drawer .hx-dcta{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1340px){.hx-item:nth-child(4) .hx-panel{left:auto;right:-8px}}
@media(max-width:1080px){
 .hx-menu{display:none}
 .hx-burger{display:block}
 .hx-cta .hx-lg{display:none}
}
@media(min-width:1081px){.hx-drawer{display:none}}

.btn-lg{font-size:15.5px;padding:15px 30px;border-radius:13px}
/* footer carries six columns since 'Who it's for' was added */
/* Brand column floored so the two store badges always fit at their natural width; the six
   link columns take minmax(0,...) so they give way rather than squeezing it. */
.fgrid{grid-template-columns:minmax(190px,1.15fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.78fr);gap:26px}
@media(max-width:1240px){.fgrid{grid-template-columns:repeat(4,1fr);gap:28px}}
@media(max-width:1100px){.fgrid{grid-template-columns:1fr 1fr 1fr;gap:28px}}
@media(max-width:700px){.fgrid{grid-template-columns:1fr 1fr;gap:26px}}

/* ---------- persona-page sections ---------- */
.plate{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:44px}
.pcard2{background:rgba(255,255,255,.038);border:1px solid var(--line2);border-radius:18px;padding:26px 26px 24px;
 position:relative;overflow:hidden;transition:border-color .22s,transform .22s,background .22s}
.pcard2:hover{border-color:rgba(255,255,255,.24);transform:translateY(-3px);background:rgba(255,255,255,.055)}
.pcard2::after{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,#FF7A5C,#E43A3F);transition:width .5s ease}
.pcard2:hover::after{width:100%}
.pcard2 .tag{font-family:'Sora';font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#FF8A6B}
.pcard2 h4{font-size:20px;font-weight:700;margin:11px 0 10px;line-height:1.25}
.pcard2 p{font-size:14.5px;color:var(--muted);line-height:1.62}
@media(max-width:860px){.plate{grid-template-columns:1fr;gap:14px}}

.outs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.out{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
 border:1px solid var(--line2);border-radius:18px;padding:26px 24px}
.out .oi{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;margin-bottom:16px;
 background:linear-gradient(150deg,#FF7A5C,#E43A3F);color:#fff}
.out .oi svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.out h4{font-size:17px;font-weight:700;margin-bottom:9px;line-height:1.3}
.out p{font-size:14px;color:var(--muted);line-height:1.6}
@media(max-width:860px){.outs{grid-template-columns:1fr}}

/* module tag row used on persona capability rows */
.mods{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.mods a{font-family:'Sora';font-size:11.5px;font-weight:600;color:#B24A2E;background:#FCE9E8;
 border:1px solid #F6DAD9;border-radius:999px;padding:5px 11px;transition:.15s}
.mods a:hover{background:#F6DAD9;color:#8f3a22}

/* module link grid (persona pages) */
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.mcard{display:block;background:var(--l-card);border:1px solid var(--l-line);border-radius:16px;padding:22px 20px;
 transition:transform .2s,box-shadow .2s,border-color .2s}
.mcard:hover{transform:translateY(-3px);box-shadow:0 24px 48px -30px rgba(40,28,24,.5);border-color:#dfd7d1}
.mcard .ci{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#FCE9E8;color:#C62F34;
 border:1px solid #F6DAD9;margin-bottom:14px}
.mcard .ci svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.mcard h5{font-family:'Sora';font-size:15.5px;font-weight:600;color:var(--l-ink);margin-bottom:7px}
.mcard p{font-size:13.5px;line-height:1.55;color:var(--l-muted)}
.mcard .go{display:inline-flex;align-items:center;gap:5px;font-family:'Sora';font-size:12.5px;font-weight:600;
 color:#C62F34;margin-top:12px}
.mcard:hover .go svg{transform:translateX(3px)}
.mcard .go svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;transition:transform .2s}
@media(max-width:900px){.mgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.mgrid{grid-template-columns:1fr}}

/* market chips (multi-country) */
.mkts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
.mkt{background:var(--l-card);border:1px solid var(--l-line);border-radius:14px;padding:18px 18px}
.mkt b{font-family:'Sora';font-size:14.5px;font-weight:700;color:var(--l-ink);display:flex;align-items:center;gap:9px}
.mkt b i{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.06em;color:#fff;background:#C62F34;
 border-radius:6px;padding:3px 7px}
.mkt p{font-size:13px;color:var(--l-muted);margin-top:9px;line-height:1.5}
@media(max-width:860px){.mkts{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.mkts{grid-template-columns:1fr}}


/* ---------- generic hero without the product screen ---------- */
.hero.lite{padding:92px 0 0}
.hero.lite h1{max-width:20ch}
.badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:42px}
.badges span{font-family:'Sora';font-size:12.5px;font-weight:600;color:#D7CFC8;border:1px solid var(--line2);
 border-radius:999px;padding:8px 15px;background:rgba(255,255,255,.04);display:inline-flex;align-items:center;gap:8px}
.badges span i{width:6px;height:6px;border-radius:50%;background:var(--red);display:block;font-style:normal}
.herofig{margin:52px auto 0;max-width:960px}

/* ---------- big three-up figure band ---------- */
.bigstats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
/* when the stats are the first thing in a band there is no heading for them to clear,
   and the margin just stacks onto the hero's padding and the band's own */
.wrap > .bigstats:first-child{margin-top:0}
.bigstat{border:1px solid var(--line2);border-radius:18px;padding:28px 26px;background:rgba(255,255,255,.04)}
.bigstat b{display:block;font-family:'Sora';font-weight:800;font-size:clamp(28px,3.4vw,40px);color:#fff;line-height:1.05;
 letter-spacing:-.02em}
.bigstat em{display:block;font-style:normal;font-family:'Sora';font-size:12px;letter-spacing:.14em;text-transform:uppercase;
 color:#FF8A6B;font-weight:700;margin-top:10px}
.bigstat p{font-size:13.8px;color:var(--muted);margin-top:10px;line-height:1.6}
@media(max-width:860px){.bigstats{grid-template-columns:1fr}}

/* ---------- numbered steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px;position:relative}
.steps.three{grid-template-columns:repeat(3,1fr)}
.step{background:var(--l-card);border:1px solid var(--l-line);border-radius:16px;padding:24px 22px;position:relative}
.step b{font-family:'Sora';font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#C62F34}
.step h5{font-family:'Sora';font-size:16.5px;font-weight:600;color:var(--l-ink);margin:12px 0 9px;line-height:1.3}
.step p{font-size:13.8px;color:var(--l-muted);line-height:1.6}
.step .sn{position:absolute;right:18px;top:14px;font-family:'Sora';font-weight:800;font-size:40px;
 color:var(--l-ink);opacity:.07;line-height:1}
@media(max-width:1000px){.steps,.steps.three{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.steps,.steps.three{grid-template-columns:1fr}}

/* ---------- comparison matrix ---------- */
.mxwrap{margin-top:38px;overflow-x:auto;border:1px solid var(--l-line);border-radius:16px;background:var(--l-card)}
.mx{width:100%;border-collapse:collapse;min-width:720px;font-size:14px}
.mx th,.mx td{padding:13px 18px;text-align:left;border-bottom:1px solid var(--l-line);vertical-align:middle}
.mx thead th{position:sticky;top:0;background:#EFEAE6;font-family:'Sora';font-size:13px;font-weight:700;
 color:var(--l-ink);white-space:nowrap;z-index:2}
.mx thead th span{display:block;font-family:'Inter';font-size:11.5px;font-weight:400;color:var(--l-muted);margin-top:2px}
.mx tbody th{font-weight:400;color:var(--l-ink);width:44%}
.mx td{text-align:center;width:18.6%;color:var(--l-muted)}
.mx tr.grp th{background:#F7F3F0;font-family:'Sora';font-size:11.5px;font-weight:700;letter-spacing:.13em;
 text-transform:uppercase;color:#8b8079}
.mx tr.grp td{background:#F7F3F0}
.mx .y{color:#2E8B57;font-weight:700}
.mx .n{color:#c9c0b9}
.mx .ad{font-family:'Sora';font-size:11px;font-weight:700;color:#B67816;background:#FCEFD9;border-radius:999px;
 padding:4px 9px;display:inline-block}
.mx tr:last-child td,.mx tr:last-child th{border-bottom:0}
.mx .pr{font-family:'Sora';font-weight:700;color:var(--l-ink);font-size:15px}
.mx .pr span{display:block;font-family:'Inter';font-size:11px;font-weight:400;color:var(--l-muted)}
.mxnote{font-size:12.5px;color:var(--l-muted);margin-top:14px;text-align:center}

/* ---------- price cards ---------- */
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;align-items:start}
.pc{position:relative;background:var(--l-card);border:1px solid var(--l-line);border-radius:20px;padding:28px 26px;
 transition:transform .22s,box-shadow .22s}
.pc:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(40,28,24,.5)}
.pc.hot{border-color:rgba(228,58,63,.4);box-shadow:0 26px 60px -34px rgba(228,58,63,.5)}
.pc .rib{position:absolute;top:-11px;left:26px;font-family:'Sora';font-size:10.5px;font-weight:700;letter-spacing:.12em;
 text-transform:uppercase;color:#fff;background:linear-gradient(180deg,#F0484D,#E43A3F);border-radius:999px;padding:5px 12px}
.pc .tn{font-family:'Sora';font-size:20px;font-weight:700;color:var(--l-ink);display:flex;align-items:center;gap:9px}
.pc .tn i{width:10px;height:10px;border-radius:3px;background:var(--t,#E43A3F);font-style:normal;flex:none}
.pc .fit{font-size:13.5px;color:var(--l-muted);margin-top:8px;min-height:42px;line-height:1.5}
.pc .amt{font-family:'Sora';font-weight:800;font-size:36px;color:var(--l-ink);margin-top:16px;letter-spacing:-.02em;
 display:flex;align-items:baseline;gap:7px}
.pc .amt small{font-family:'Inter';font-size:12.5px;font-weight:500;color:var(--l-muted);letter-spacing:0}
.pc .amt .from{font-size:13px;font-weight:600;color:var(--l-muted);font-family:'Inter'}
.pc ul{list-style:none;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--l-line)}
.pc li{position:relative;padding-left:24px;font-size:13.8px;color:#5f5850;line-height:1.55;margin-bottom:11px}
.pc li::before{content:"";position:absolute;left:0;top:6px;width:13px;height:8px;border-left:2px solid var(--t,#E43A3F);
 border-bottom:2px solid var(--t,#E43A3F);transform:rotate(-45deg)}
.pc .go{margin-top:22px;display:block;text-align:center}
@media(max-width:980px){.pcards{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}}

/* ---------- assurance / control grid ---------- */
.assur{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:38px}
.as{display:flex;gap:16px;background:var(--l-card);border:1px solid var(--l-line);border-radius:16px;padding:22px}
.as .ai{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;background:#FCE9E8;
 color:#C62F34;border:1px solid #F6DAD9}
.as .ai svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.as h5{font-family:'Sora';font-size:15.5px;font-weight:600;color:var(--l-ink);margin-bottom:7px;line-height:1.3}
.as p{font-size:13.6px;color:var(--l-muted);line-height:1.6}
@media(max-width:820px){.assur{grid-template-columns:1fr}}

/* ---------- category grid (integrations) ---------- */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.cat{background:var(--l-card);border:1px solid var(--l-line);border-radius:16px;padding:24px 22px;transition:.2s}
.cat:hover{transform:translateY(-3px);box-shadow:0 24px 48px -32px rgba(40,28,24,.5)}
.cat .ci{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#FCE9E8;color:#C62F34;
 border:1px solid #F6DAD9;margin-bottom:14px}
.cat .ci svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.cat b{display:block;font-family:'Sora';font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
 color:#B24A2E;margin-bottom:8px}
.cat h5{font-family:'Sora';font-size:16px;font-weight:600;color:var(--l-ink);margin-bottom:9px;line-height:1.3}
.cat p{font-size:13.6px;color:var(--l-muted);line-height:1.6}
@media(max-width:900px){.cats{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cats{grid-template-columns:1fr}}

/* ---------- numbered belief blocks (about) ---------- */
.beliefs{max-width:880px;margin:44px auto 0}
.bel{display:grid;grid-template-columns:110px 1fr;gap:28px;padding:32px 0;border-top:1px solid var(--line2)}
.bel:first-child{border-top:0;padding-top:0}
.bel .bn{font-family:'Sora';font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#FF8A6B;
 padding-top:6px}
.bel h4{font-size:clamp(21px,2.5vw,27px);font-weight:700;line-height:1.25;margin-bottom:12px}
.bel p{font-size:16px;color:var(--muted);line-height:1.7}
@media(max-width:760px){.bel{grid-template-columns:1fr;gap:10px}}

/* ---------- tier accent hero ---------- */
.hero.tier .eyebrow.red{color:var(--t,#FF7A5C)}
.hero.tier h1 .acc{background:none;color:var(--t,#E43A3F);-webkit-text-fill-color:var(--t,#E43A3F)}
.tierglow{position:absolute;inset:0;z-index:0;pointer-events:none;
 background:radial-gradient(1100px 620px at 50% -12%,var(--tGlow,rgba(232,62,66,.28)),transparent 62%)}
.tierstrip{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.tierstrip a{font-family:'Sora';font-size:13px;font-weight:600;color:var(--muted);border:1px solid var(--line2);
 border-radius:999px;padding:9px 17px;transition:.16s}
.tierstrip a:hover{color:var(--ink);border-color:var(--ink)}
.tierstrip a.on{color:#fff;background:var(--t,#E43A3F);border-color:transparent}

/* ---------- two-column checklist ---------- */
.boxlist{display:grid;grid-template-columns:1fr 1fr;gap:10px 34px;margin-top:34px}
.boxlist div{position:relative;padding-left:28px;font-size:14.6px;color:#5f5850;line-height:1.6;
 padding-bottom:11px;border-bottom:1px solid var(--l-line)}
.boxlist div::before{content:"";position:absolute;left:2px;top:7px;width:13px;height:8px;
 border-left:2px solid var(--t,#C62F34);border-bottom:2px solid var(--t,#C62F34);transform:rotate(-45deg)}
@media(max-width:820px){.boxlist{grid-template-columns:1fr}}

/* ---------- fit / recommendation columns ---------- */
.fitgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}
.fitc{border:1px solid var(--l-line);border-radius:16px;background:var(--l-card);padding:24px 22px}
.fitc .ft{font-family:'Sora';font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
 color:#fff;background:var(--t,#E43A3F);border-radius:999px;padding:4px 11px;display:inline-block}
.fitc h5{font-family:'Sora';font-size:17px;font-weight:700;color:var(--l-ink);margin:14px 0 10px}
.fitc p{font-size:13.8px;color:var(--l-muted);line-height:1.6;margin-bottom:9px}
.fitc p b{color:var(--l-ink);font-weight:600}
@media(max-width:900px){.fitgrid{grid-template-columns:1fr}}

/* ---------- PSG / promo band ---------- */
.prules{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.prules div{border:1px solid var(--l-line);border-radius:14px;padding:20px 22px;background:#FBF8F6;
 font-size:13.8px;color:#5F5850;line-height:1.65}
.prules b{display:block;font-family:'Sora';font-size:14.5px;color:var(--l-ink);margin-bottom:6px}
@media(max-width:820px){.prules{grid-template-columns:1fr}}

.light .promo{border-color:var(--l-line);background:var(--l-card)}
.light .promo h4{color:var(--l-ink)}
.light .promo p{color:var(--l-muted)}
.light .promo .pflag{background:#F4F0EC;border-color:var(--l-line)}
.promo{border:1px solid var(--line2);border-radius:22px;padding:34px 36px;margin-top:48px;display:flex;
 gap:30px;align-items:center;flex-wrap:wrap;
 background:radial-gradient(700px 300px at 8% 0,rgba(228,58,63,.22),transparent 60%),rgba(255,255,255,.04)}
.promo .pflag{font-size:34px;line-height:1;flex:none}
.promo .ptx{flex:1 1 340px}
.promo h4{font-size:22px;font-weight:700;margin-bottom:9px}
.promo p{font-size:14.5px;color:var(--muted);line-height:1.62;max-width:62ch}
.promolink{font-family:'Sora';font-size:14px;font-weight:600;color:#FF8A6B;white-space:nowrap;flex:none}
.promolink:hover{color:var(--ink)}
/* The promo band is usually the last thing in its section, so the section's own bottom
   padding gave it room. On the compare page the FAQ heading follows it inside the same
   section, and with no bottom margin the two were almost touching. */
.promo + *{margin-top:64px}

/* placeholder for anything commercial we have not confirmed */
.tbc{display:inline-block;font-family:'Sora';font-size:10.5px;font-weight:700;letter-spacing:.1em;
 text-transform:uppercase;color:#8a6a12;background:repeating-linear-gradient(45deg,#FCEFD9,#FCEFD9 6px,#F7E6C8 6px,#F7E6C8 12px);
 border:1px dashed #D6AE5E;border-radius:6px;padding:3px 8px;white-space:nowrap}
.tbc.dark{color:#FFD9A0;background:rgba(232,163,61,.14);border-color:rgba(232,163,61,.5)}
.tbcnote{display:flex;gap:12px;align-items:flex-start;border:1px dashed #D6AE5E;background:#FCEFD9;
 border-radius:14px;padding:16px 18px;margin-top:26px;font-size:13.5px;color:#7a5c12;line-height:1.6}
.tbcnote b{display:block;font-family:'Sora';font-size:14px;color:#5a3d05;margin-bottom:4px}

/* tier ladder */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px;align-items:stretch}
.rung{position:relative;background:var(--l-card);border:1px solid var(--l-line);border-radius:18px;
 padding:24px 22px;display:flex;flex-direction:column;transition:.2s}
.rung:hover{transform:translateY(-3px);box-shadow:0 26px 52px -34px rgba(40,28,24,.5)}
.rung::before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;border-radius:0 0 3px 3px;
 background:var(--t,#E43A3F)}
.rung .rn{font-family:'Sora';font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
 color:var(--t,#C62F34)}
.rung h5{font-family:'Sora';font-size:19px;font-weight:700;color:var(--l-ink);margin:10px 0 8px}
.rung .thr{font-size:13px;color:var(--l-muted);line-height:1.5;margin-bottom:14px}
.rung ul{list-style:none;margin:auto 0 0;padding:16px 0 0;border-top:1px solid var(--l-line)}
.rung li{position:relative;padding-left:22px;font-size:13.2px;color:#5f5850;line-height:1.5;margin-bottom:9px}
.rung li::before{content:"";position:absolute;left:0;top:6px;width:11px;height:7px;
 border-left:2px solid var(--t,#C62F34);border-bottom:2px solid var(--t,#C62F34);transform:rotate(-45deg)}
@media(max-width:1050px){.ladder{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ladder{grid-template-columns:1fr}}

/* what partners get */
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.perk{background:var(--l-card);border:1px solid var(--l-line);border-radius:16px;padding:24px 22px}
.perk .pi{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#FCE9E8;
 color:#C62F34;border:1px solid #F6DAD9;margin-bottom:14px}
.perk .pi svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.perk h5{font-family:'Sora';font-size:16px;font-weight:600;color:var(--l-ink);margin-bottom:9px;line-height:1.3}
.perk p{font-size:13.6px;color:var(--l-muted);line-height:1.6}
@media(max-width:900px){.perks{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.perks{grid-template-columns:1fr}}

/* application form */
.joinwrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;margin-top:44px;align-items:start}
.joinside h3{font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.15;margin-bottom:14px}
.joinside p{font-size:15.5px;color:var(--muted);line-height:1.7;margin-bottom:20px}
.joinside ul{list-style:none}
.joinside li{position:relative;padding-left:26px;font-size:14.2px;color:#D7CFC8;line-height:1.55;margin-bottom:12px}
.joinside li::before{content:"";position:absolute;left:1px;top:6px;width:12px;height:7px;
 border-left:2px solid #FF7A5C;border-bottom:2px solid #FF7A5C;transform:rotate(-45deg)}
.formcard{background:linear-gradient(180deg,#241D19,#1A1512);border:1px solid var(--line2);border-radius:22px;
 padding:30px;box-shadow:0 40px 90px -50px rgba(0,0,0,.9)}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{margin-bottom:16px}
.fld label{display:block;font-family:'Sora';font-size:12.5px;font-weight:600;color:#C7BFB8;margin-bottom:7px}
.fld label i{font-style:normal;color:#FF8A6B}
.fld input,.fld select,.fld textarea{width:100%;font-family:'Inter';font-size:14.5px;color:var(--ink);
 background:rgba(255,255,255,.05);border:1px solid var(--line2);border-radius:11px;padding:12px 14px;
 transition:border-color .16s,background .16s;-webkit-appearance:none;appearance:none}
.fld textarea{min-height:96px;resize:vertical}
.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A79E97' stroke-width='2.4'%3E%3Cpath d='M5 8.5l7 7 7-7'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 13px center;background-size:15px;padding-right:38px}
.fld select option{background:#1A1512;color:var(--ink)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:#FF7A5C;background:rgba(255,255,255,.08)}
.fld input::placeholder,.fld textarea::placeholder{color:#7d736c}
.fld .err{display:none;font-size:12px;color:#FF8A6B;margin-top:6px}
.fld.bad input,.fld.bad select,.fld.bad textarea{border-color:#E5564C;background:rgba(229,86,76,.08)}
.fld.bad .err{display:block}
.consent{display:flex;gap:11px;align-items:flex-start;margin:6px 0 20px}
.consent input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:#E43A3F}
.consent span{font-size:12.5px;color:var(--muted);line-height:1.55}
.consent a{color:#FF8A6B}
.formcard .btn{width:100%;justify-content:center}
.formfoot{font-size:12px;color:#8A7F78;margin-top:14px;text-align:center;line-height:1.5}
.formdone{display:none;text-align:center;padding:26px 6px}
.formdone .tick{width:60px;height:60px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;
 background:rgba(79,178,134,.16);border:1px solid rgba(79,178,134,.45);color:#4FB286}
.formdone .tick svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.formdone h4{font-size:22px;font-weight:700;margin-bottom:10px}
.formdone p{font-size:14.5px;color:var(--muted);line-height:1.65;max-width:40ch;margin:0 auto}
.formcard.sent .formbody{display:none}
.formcard.sent .formdone{display:block}
@media(max-width:980px){.joinwrap{grid-template-columns:1fr;gap:26px}}
@media(max-width:560px){.frow2{grid-template-columns:1fr}}

/* ---------- product top bar (this is not the website any more) ---------- */
.appbar{position:sticky;top:0;z-index:30;background:rgba(18,14,12,.86);
 -webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);
 border-bottom:1px solid var(--line)}
.appbar .in{max-width:1120px;margin:0 auto;padding:0 28px;height:64px;display:flex;align-items:center;gap:16px}
.appbar .hx-mark{width:112px;height:24px;opacity:.95}
.appbar .sep{width:1px;height:20px;background:var(--line2);flex:none}
.appbar .ctx{font-family:'Sora';font-size:12.5px;font-weight:600;color:#C7BFB8;white-space:nowrap}
.appbar .ctx b{color:var(--ink);font-weight:700}
.appbar .sp{flex:1 1 auto}
.appbar .secure{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);white-space:nowrap}
.appbar .secure svg{width:14px;height:14px;fill:none;stroke:#4FB286;stroke-width:2}
.appbar .exit{font-family:'Sora';font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.appbar .exit:hover{color:var(--ink)}
.appbar .prog{position:absolute;left:0;bottom:-1px;height:2px;width:0;border-radius:0 2px 2px 0;
 background:linear-gradient(90deg,#FF7A5C,#E43A3F);transition:width .5s cubic-bezier(.22,.75,.24,1);
 box-shadow:0 0 14px rgba(228,58,63,.7)}
@media(max-width:720px){.appbar .ctx,.appbar .sep,.appbar .secure{display:none}}

/* ---------- flow shell ---------- */
.flow-wrap{max-width:1120px;margin:0 auto;padding:0 28px;position:relative;z-index:2}
.flowhead{text-align:center;padding:52px 0 0;scroll-margin-top:78px}
.flowhead .eyebrow{margin-bottom:14px}
.flowhead h1{font-size:clamp(30px,4.2vw,46px);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.flowhead p{font-size:17px;color:var(--muted);max-width:56ch;margin:14px auto 0;line-height:1.6}

/* stepper */
.stepper{display:flex;align-items:center;justify-content:center;gap:0;margin:34px auto 0;max-width:640px}
.stp{display:flex;align-items:center;gap:10px;flex:none}
.stp .num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;
 font-family:'Sora';font-size:13px;font-weight:700;color:var(--muted);
 background:rgba(255,255,255,.05);border:1px solid var(--line2);transition:.25s}
.stp .lbl{font-family:'Sora';font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap;transition:.25s}
.stp.on .num{background:linear-gradient(180deg,#F0484D,#E43A3F);border-color:transparent;color:#fff;
 box-shadow:0 8px 20px -8px rgba(232,62,66,.7)}
.stp.on .lbl{color:var(--ink)}
.stp.done .num{background:rgba(79,178,134,.16);border-color:rgba(79,178,134,.5);color:#4FB286}
.stp.done .lbl{color:#9c938c}
.stpline{flex:1 1 auto;height:2px;min-width:22px;margin:0 12px;border-radius:2px;background:var(--line2);
 position:relative;overflow:hidden}
.stpline i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);
 background:linear-gradient(90deg,#FF7A5C,#E43A3F);transition:transform .45s ease}
.stpline.fill i{transform:scaleX(1)}
@media(max-width:760px){.stp .lbl{display:none}.stpline{margin:0 8px}}

/* sliding track */
.viewport{overflow:hidden;margin-top:30px;padding:16px 0 90px}
.track{display:flex;align-items:flex-start;transition:transform .55s cubic-bezier(.22,.75,.24,1),
 height .45s cubic-bezier(.22,.75,.24,1)}
.slide{width:100%;flex:0 0 100%;padding:0 3px}
@media(prefers-reduced-motion:reduce){.track{transition:none}}

/* plan chooser */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;background:var(--l-card);
 border:1px solid var(--l-line);border-radius:20px;padding:28px 26px;transition:.22s}
.plan:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(40,28,24,.55)}
.plan.hot{border-color:rgba(228,58,63,.42);box-shadow:0 26px 60px -34px rgba(228,58,63,.5)}
.plan .rib{position:absolute;top:-11px;left:26px;font-family:'Sora';font-size:10.5px;font-weight:700;
 letter-spacing:.12em;text-transform:uppercase;color:#fff;border-radius:999px;padding:5px 12px;
 background:linear-gradient(180deg,#F0484D,#E43A3F)}
.plan h3{font-family:'Sora';font-size:22px;font-weight:700;color:var(--l-ink);display:flex;align-items:center;gap:10px}
.plan h3 i{width:11px;height:11px;border-radius:3px;background:var(--t,#E43A3F);font-style:normal;flex:none}
.plan .who{font-size:13.5px;color:var(--l-muted);margin-top:9px;line-height:1.5}
.plan .fitfor{font-family:'Sora';font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
 color:#B24A2E;margin:22px 0 12px}
.plan ul{list-style:none;margin:0 0 24px}
.plan li{position:relative;padding-left:23px;font-size:14px;color:#5f5850;line-height:1.55;margin-bottom:11px}
.plan li::before{content:"";position:absolute;left:0;top:6px;width:12px;height:7px;
 border-left:2px solid var(--t,#C62F34);border-bottom:2px solid var(--t,#C62F34);transform:rotate(-45deg)}
.plan .pick{width:100%;justify-content:center;margin-top:auto}
.plan .sub2{font-size:12px;color:var(--l-muted);text-align:center;margin-top:10px}
@media(max-width:1000px){.plans{grid-template-columns:1fr;max-width:480px;margin:0 auto}}

/* forms inside the flow — white, because this is a form people have to read */
.stepcard{max-width:720px;margin:0 auto;background:#FFFFFF;
 border:1px solid var(--l-line);border-radius:22px;padding:32px;
 box-shadow:0 44px 100px -46px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.04)}
.stepcard.wide{max-width:860px}
.stepcard h2{font-size:clamp(22px,2.6vw,28px);font-weight:700;margin-bottom:8px;color:var(--l-ink)}
.stepcard .lede{font-size:14.8px;color:var(--l-muted);line-height:1.6;margin-bottom:24px}
.stepcard .lede b{color:var(--l-ink);font-weight:600}
.picked{display:inline-flex;align-items:center;gap:9px;font-family:'Sora';font-size:12px;font-weight:700;
 letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:rgba(255,255,255,.06);
 border:1px solid var(--line2);border-radius:999px;padding:6px 13px;margin-bottom:16px}
.picked i{width:9px;height:9px;border-radius:3px;background:var(--t,#E43A3F);font-style:normal}
.stepcard .picked{color:var(--l-ink);background:#F5F2F0;border-color:var(--l-line)}

/* light-surface overrides for everything living inside the white card */
.stepcard .fld label{color:#4B443E}
.stepcard .fld label i{color:#C62F34}
.stepcard .fld input,.stepcard .fld select,.stepcard .fld textarea{
 background-color:#FBF9F8;border-color:#DED7D2;color:var(--l-ink)}
.stepcard .fld input::placeholder,.stepcard .fld textarea::placeholder{color:#A79E97}
.stepcard .fld input:focus,.stepcard .fld select:focus,.stepcard .fld textarea:focus{
 border-color:#E43A3F;background-color:#fff;box-shadow:0 0 0 3px rgba(228,58,63,.12)}
.stepcard .fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E635C' stroke-width='2.4'%3E%3Cpath d='M5 8.5l7 7 7-7'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 13px center;background-size:15px}
.stepcard .fld select option{background:#fff;color:var(--l-ink)}
.stepcard .fld.bad input,.stepcard .fld.bad select,.stepcard .fld.bad textarea{
 border-color:#E5564C;background-color:#FDF1F0}
.stepcard .fld .err{color:#C62F34}
.stepcard .consent span{color:var(--l-muted)}
.stepcard .consent a{color:#C62F34;font-weight:600}
.stepcard .consenterr{color:#C62F34 !important}
.stepcard .legal{color:#8A817A}
.stepcard .legal a{color:#C62F34}
.stepcard .haveacct{color:var(--l-muted)}
.stepcard .haveacct a{color:#C62F34}
.stepcard .backlink{color:var(--l-muted)}
.stepcard .backlink:hover{color:var(--l-ink)}

/* module picker */
.mods-pick{border:1px solid var(--line2);border-radius:16px;overflow:hidden;margin-top:6px}
.mrow{display:flex;align-items:center;gap:14px;padding:15px 17px;border-bottom:1px solid var(--line);
 cursor:pointer;transition:background .15s}
.mrow:last-child{border-bottom:0}
.mrow:hover{background:rgba(255,255,255,.04)}
.mrow.on{background:rgba(228,58,63,.10)}
.mrow .bx{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line2);flex:none;display:grid;
 place-items:center;font-size:13px;font-weight:700;color:#fff;background:rgba(255,255,255,.05)}
.mrow.on .bx{background:#E43A3F;border-color:#E43A3F}
.mrow .mn{flex:1}
.mrow .mn b{display:block;font-family:'Sora';font-size:14.5px;font-weight:600;color:var(--ink)}
.mrow .mn span{font-size:12px;color:var(--muted)}
.mrow .mp{font-family:'Sora';font-weight:700;font-size:14.5px;color:var(--ink);white-space:nowrap}
.mrow .mp span{font-family:'Inter';font-size:11px;font-weight:400;color:var(--muted)}
.mrow.locked{opacity:.55;cursor:default}
.basenote{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.55}

/* module picker, on white */
.stepcard .mods-pick{border-color:#E3DDD8}
.stepcard .mrow{border-bottom-color:#EDE8E4}
.stepcard .mrow:hover{background:#FAF7F5}
.stepcard .mrow.on{background:rgba(228,58,63,.06)}
.stepcard .mrow.on:hover{background:rgba(228,58,63,.09)}
.stepcard .mrow .bx{border-color:#CFC7C1;background:#fff;color:#fff}
.stepcard .mrow.on .bx{background:#E43A3F;border-color:#E43A3F}
.stepcard .mrow .mn b{color:var(--l-ink)}
.stepcard .mrow .mn span{color:var(--l-muted)}
.stepcard .mrow .mp{color:var(--l-ink)}
.stepcard .mrow .mp span{color:var(--l-muted)}
.stepcard .modhead{color:#8A817A;border-top-color:#EDE8E4}
.stepcard .basenote{color:var(--l-muted)}
.stepcard .totbar{border-color:#E9E1DB;
 background:radial-gradient(600px 220px at 0 0,rgba(228,58,63,.10),transparent 60%),#FBF7F5}
.stepcard .totbar .tl{color:var(--l-muted)}
.stepcard .totbar .tv{color:var(--l-ink)}
.stepcard .totbar .tv span{color:var(--l-muted)}
.stepcard .proc h3{color:var(--l-ink)}
.stepcard .procsub{color:var(--l-muted)}
.stepcard .plist li{color:#B0A69E}
.stepcard .plist li::before{border-color:#D8D0CA}
.stepcard .plist li.hit{color:var(--l-ink)}
.stepcard .plist li.hit::before{border-color:#2F9E68}
.stepcard .procbar{background:#EDE7E3}
.totbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
 margin-top:20px;padding:18px 20px;border-radius:16px;border:1px solid var(--line2);
 background:radial-gradient(600px 220px at 0 0,rgba(228,58,63,.18),transparent 60%),rgba(255,255,255,.04)}
.totbar .tl{font-size:12.5px;color:var(--muted)}
.totbar .tv{font-family:'Sora';font-weight:800;font-size:30px;color:#fff;letter-spacing:-.02em;line-height:1.1}
.totbar .tv span{font-family:'Inter';font-size:12.5px;font-weight:400;color:var(--muted);margin-left:7px}

/* flow buttons */
.flowacts{display:flex;gap:12px;align-items:center;margin-top:26px;flex-wrap:wrap}
.flowacts .btn{flex:0 0 auto}
.backlink{font-family:'Sora';font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;
 background:none;border:0;padding:10px 4px;display:inline-flex;align-items:center;gap:6px}
.backlink:hover{color:var(--ink)}
.backlink svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4}
.legal{font-size:12px;color:#8A7F78;margin-top:14px;line-height:1.55}
.legal a{color:#FF8A6B}
.haveacct{font-size:13px;color:var(--muted);margin-top:18px;text-align:center}
.haveacct a{color:#FF8A6B;font-weight:600}

/* done */
.flowdone{max-width:620px;margin:0 auto;text-align:center;background:linear-gradient(180deg,#241D19,#1A1512);
 border:1px solid var(--line2);border-radius:22px;padding:44px 34px}
.flowdone .tick{width:66px;height:66px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;
 background:rgba(79,178,134,.16);border:1px solid rgba(79,178,134,.45);color:#4FB286}
.flowdone .tick svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.flowdone h2{font-size:clamp(23px,2.8vw,30px);font-weight:800;margin-bottom:12px}
.flowdone p{font-size:15px;color:var(--muted);line-height:1.65;max-width:46ch;margin:0 auto 22px}
.nextlist{text-align:left;max-width:420px;margin:0 auto 24px;list-style:none}
.nextlist li{position:relative;padding-left:28px;font-size:14px;color:#D7CFC8;line-height:1.55;margin-bottom:12px}
.nextlist li b{display:block;font-family:'Sora';font-size:11px;font-weight:700;letter-spacing:.12em;
 text-transform:uppercase;color:#FF8A6B;margin-bottom:3px}
.nextlist li::before{content:"";position:absolute;left:2px;top:7px;width:12px;height:7px;
 border-left:2px solid #FF7A5C;border-bottom:2px solid #FF7A5C;transform:rotate(-45deg)}



/* ---------- speed: ambient streaks behind everything ---------- */
.flowbg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.flowbg .ln{position:absolute;height:2px;border-radius:2px;opacity:0;
 background:linear-gradient(90deg,transparent,rgba(255,122,92,.5),transparent)}
@keyframes zoomline{
 0%{transform:translate3d(-28vw,0,0) scaleX(.35);opacity:0}
 12%{opacity:.9}
 88%{opacity:.9}
 100%{transform:translate3d(128vw,0,0) scaleX(1.7);opacity:0}}

/* burst fired on every step change */
.burst{position:fixed;inset:0;z-index:40;pointer-events:none;opacity:0}
.burst i{position:absolute;height:2px;border-radius:2px;
 background:linear-gradient(90deg,transparent,rgba(255,190,160,.95),transparent)}
.burst.go{opacity:1}
@keyframes whoosh{
 0%{transform:translate3d(-40vw,0,0) scaleX(.3);opacity:0}
 20%{opacity:1}
 100%{transform:translate3d(120vw,0,0) scaleX(2.2);opacity:0}}

/* card-level motion */
.stepcard,.offercard,.flowdone,.plan{will-change:transform}
.plan{animation:riseIn .5s cubic-bezier(.2,.8,.25,1) both}
.plan:nth-child(2){animation-delay:.07s}
.plan:nth-child(3){animation-delay:.14s}
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.plan::after{content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;
 background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%);
 transform:translateX(-120%);opacity:0}
.plan:hover::after{animation:sweep .85s ease}
@keyframes sweep{0%{transform:translateX(-120%);opacity:.55}100%{transform:translateX(120%);opacity:0}}

/* the working / processing state */
.proc{display:none;text-align:center;padding:26px 8px 10px}
.stepcard.working .procbody{display:none}
.stepcard.working .proc{display:block}
.proc .spin{width:64px;height:64px;margin:0 auto 20px;position:relative}
.proc .spin i{position:absolute;inset:0;border-radius:50%;border:2px solid transparent;
 border-top-color:#FF7A5C;animation:spin .85s linear infinite}
.proc .spin i:nth-child(2){inset:9px;border-top-color:#E43A3F;animation-duration:1.15s;animation-direction:reverse}
.proc .spin i:nth-child(3){inset:18px;border-top-color:#FFB199;animation-duration:.65s}
@keyframes spin{to{transform:rotate(360deg)}}
.proc h3{font-family:'Sora';font-size:clamp(20px,2.4vw,26px);font-weight:800;margin-bottom:8px}
.procsub{font-size:14px;color:var(--muted);margin-bottom:22px}
.plist{list-style:none;max-width:340px;margin:0 auto 22px;text-align:left}
.plist li{position:relative;padding-left:28px;font-size:14px;color:#6f665f;line-height:1.5;margin-bottom:11px;
 transition:color .3s,transform .3s;transform:translateX(-4px)}
.plist li::before{content:"";position:absolute;left:2px;top:6px;width:12px;height:7px;
 border-left:2px solid #4a423c;border-bottom:2px solid #4a423c;transform:rotate(-45deg);transition:border-color .3s}
.plist li.hit{color:#D7CFC8;transform:none}
.plist li.hit::before{border-color:#4FB286}
.procbar{height:4px;max-width:340px;margin:0 auto;background:rgba(255,255,255,.09);border-radius:3px;overflow:hidden}
.procbar i{display:block;height:100%;width:0;border-radius:3px;
 background:linear-gradient(90deg,#FF7A5C,#E43A3F);transition:width .25s linear}

/* the total ticks up rather than jumping */
.totbar .tv{transition:color .2s}
.totbar.bump .tv{animation:bump .45s cubic-bezier(.2,.8,.2,1)}
@keyframes bump{0%{transform:scale(.88)}55%{transform:scale(1.08)}100%{transform:scale(1)}}

/* done state */
.flowdone .tick{animation:pop .6s cubic-bezier(.2,.9,.25,1) both}
@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
.flowdone .tick::after{content:"";position:absolute;width:66px;height:66px;border-radius:50%;
 border:1px solid rgba(79,178,134,.5);animation:ring 1.8s ease-out infinite}
@keyframes ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.9);opacity:0}}
.flowdone .tick{position:relative}

@media(prefers-reduced-motion:reduce){
 .flowbg,.burst{display:none}
 .plan,.flowdone .tick{animation:none}
 .proc .spin i{animation:none}
 .flowdone .tick::after{display:none}
}

/* ---------- offer step ---------- */
.modhead{font-family:'Sora';font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
 color:#B7ADA5;margin:28px 0 12px;padding-top:22px;border-top:1px solid var(--line)}
.offercard{max-width:760px;margin:0 auto;text-align:center;border-radius:24px;padding:44px 38px;
 border:1px solid var(--line2);position:relative;overflow:hidden;
 background:radial-gradient(760px 340px at 50% -12%,rgba(52,178,120,.26),transparent 62%),
 linear-gradient(180deg,#1C2420,#141917)}
.offercard .picked{margin-bottom:18px}
.offtag{display:inline-block;font-family:'Sora';font-size:11px;font-weight:700;letter-spacing:.16em;
 text-transform:uppercase;color:#A8ECC7;background:rgba(52,178,120,.16);border:1px solid rgba(52,178,120,.5);
 border-radius:999px;padding:6px 14px;margin-bottom:16px}
.offercard h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;line-height:1.12;letter-spacing:-.02em;
 max-width:20ch;margin:0 auto 14px}
.offlede{font-size:15.5px;color:var(--muted);line-height:1.65;max-width:54ch;margin:0 auto 28px}
.offgrid{display:grid;grid-template-columns:1.35fr .9fr;gap:16px;text-align:left;margin-bottom:24px;
 align-items:stretch}
.offbox{border:1px solid rgba(232,163,61,.4);border-radius:16px;padding:20px 22px;
 background:rgba(232,163,61,.09)}
.offbox.mute{border-color:var(--line2);background:rgba(255,255,255,.03);opacity:.72}
.offbox .ol{font-family:'Sora';font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
 color:#B7ADA5;margin-bottom:9px}
.offbox .ov{font-family:'Sora';font-weight:800;font-size:30px;color:#fff;letter-spacing:-.02em;line-height:1}
.offbox .os{font-size:12.5px;color:var(--muted);margin-top:9px;line-height:1.5}
.offbox .os b{color:var(--ink);font-weight:600}

/* the winning half of the choice — this is the one that should be loud */
.offbox.win{position:relative;overflow:hidden;padding:24px 24px 22px;
 border:1.5px solid rgba(64,196,134,.6);border-radius:18px;
 background:linear-gradient(180deg,rgba(52,178,120,.20),rgba(52,178,120,.07));
 box-shadow:0 0 0 4px rgba(52,178,120,.08),0 34px 70px -40px rgba(30,170,110,.9)}
.offbox.win .ol{color:#8FE3B8}
.offbox.win .ov{font-size:clamp(38px,5vw,52px);color:#B9F5D5;
 text-shadow:0 0 40px rgba(80,220,150,.35)}
.offbox.win .os{color:#CFE9DC;font-size:13.5px}
.offbox.win .os b{color:#fff}
.offbox.win .save{display:inline-flex;align-items:center;gap:7px;margin-top:14px;
 font-family:'Sora';font-size:12.5px;font-weight:700;color:#0F1F18;
 background:linear-gradient(180deg,#7BE2AF,#3FC489);border-radius:999px;padding:7px 14px;
 box-shadow:0 12px 26px -14px rgba(63,196,137,.9)}
.offbox.win .save svg{width:13px;height:13px;fill:none;stroke:#0F1F18;stroke-width:2.6;
 stroke-linecap:round;stroke-linejoin:round}
.offbox.win::after{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.16) 50%,transparent 62%);
 transform:translateX(-120%);animation:winsweep 3.6s ease-in-out 1.2s infinite}
@keyframes winsweep{0%{transform:translateX(-120%)}45%,100%{transform:translateX(120%)}}
@media(prefers-reduced-motion:reduce){.offbox.win::after{animation:none;opacity:0}}
.offlist{list-style:none;text-align:left;max-width:460px;margin:0 auto 26px}
.offlist li{position:relative;padding-left:27px;font-size:13.8px;color:#D7CFC8;line-height:1.55;margin-bottom:10px}
.offlist li::before{content:"";position:absolute;left:2px;top:6px;width:12px;height:7px;
 border-left:2px solid #4FB286;border-bottom:2px solid #4FB286;transform:rotate(-45deg)}
.offercard .flowacts{justify-content:center}
.cardnote{font-size:12px;color:#8A7F78;margin-top:14px;line-height:1.5}
.skiplink{display:block;margin:18px auto 0;background:none;border:0;cursor:pointer;
 font-size:10.5px;color:#6f665f;text-decoration:underline;text-underline-offset:3px;letter-spacing:.01em}
.skiplink:hover{color:var(--muted)}
@media(max-width:700px){.offgrid{grid-template-columns:1fr}}

/* ---------- reading, on the done screen ---------- */
.reading{max-width:1000px;margin:54px auto 0;padding-top:38px;border-top:1px solid var(--line)}
.reading .rh{text-align:center;margin-bottom:26px}
.reading .rh em{font-style:normal;font-family:'Sora';font-size:11px;font-weight:700;letter-spacing:.16em;
 text-transform:uppercase;color:#FF8A6B}
.reading .rh h3{font-size:clamp(20px,2.4vw,26px);font-weight:700;margin:10px 0 8px;letter-spacing:-.01em}
.reading .rh p{font-size:14.5px;color:var(--muted);max-width:56ch;margin:0 auto;line-height:1.6}
.rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rcard{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:16px;overflow:hidden;
 background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));transition:.22s}
.rcard:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.26);
 box-shadow:0 30px 60px -40px rgba(0,0,0,.9)}
.rcard .cov{display:block;width:100%;height:104px;overflow:hidden;border-bottom:1px solid var(--line)}
.rcard .cov svg{display:block;width:100%;height:100%}
.rcard .rb{padding:16px 17px 18px;display:flex;flex-direction:column;flex:1}
.rcard .kk{font-family:'Sora';font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
 color:#B7ADA5;margin-bottom:9px}
.rcard h4{font-family:'Sora';font-size:14.6px;font-weight:600;line-height:1.4;color:var(--ink);margin-bottom:10px}
.rcard .rm{margin-top:auto;font-family:'Sora';font-size:12.5px;font-weight:600;color:#FF8A6B}
@media(max-width:980px){.rgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rgrid{grid-template-columns:1fr}}

/* a comp, not the real thing */
.compnote{max-width:760px;margin:34px auto 0;border:1px dashed #D6AE5E;background:rgba(232,163,61,.12);
 border-radius:14px;padding:15px 18px;font-size:12.8px;color:#E8C88A;line-height:1.6}
.compnote b{color:#FFD9A0}

