/* ---------- 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}}

.gate{position:relative;margin-top:42px;border:1px solid var(--l-line);border-radius:22px;overflow:hidden;
 background:#EAE3DD}
.gaterows{padding:26px;filter:blur(3.5px);opacity:1;pointer-events:none;user-select:none}
.gaterow{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid #DCD3CB;
 border-radius:14px;margin-bottom:10px;background:#fff;box-shadow:0 6px 18px -12px rgba(40,28,24,.5)}
.gaterow .av{width:44px;height:44px;border-radius:12px;flex:none;
 background:linear-gradient(150deg,#E0D6CE,#CFC4BA)}
.gaterow .bars{flex:1}
.gaterow .bar{height:11px;border-radius:6px;background:#CFC4BA;margin-bottom:8px}
.gaterow .bar.s{height:9px;background:#DFD6CE;margin-bottom:0}
.gaterow .pillfake{width:88px;height:26px;border-radius:999px;background:#D9CEC4;flex:none}
.gateover{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:28px;
 background:linear-gradient(180deg,rgba(234,227,221,.22) 0%,rgba(234,227,221,.84) 44%,rgba(234,227,221,.96) 100%)}
.gateover .lk{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;margin:0 auto 16px;
 background:#FCE9E8;color:#C62F34;border:1px solid #F6DAD9}
.gateover .lk svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.gateover h4{font-family:'Sora';font-size:clamp(20px,2.4vw,26px);font-weight:700;color:var(--l-ink);
 margin-bottom:10px}
.gateover p{font-size:14.5px;color:var(--l-muted);line-height:1.6;max-width:46ch;margin:0 auto 18px}
.gateover .gl{font-family:'Sora';font-size:13.5px;font-weight:600;color:#C62F34}
.gateover .gl:hover{color:var(--l-ink)}
.gatecap{font-size:12px;color:var(--l-muted);text-align:center;margin-top:14px;font-style:italic}

/* the mid-page second CTA band */
.dirband{margin-top:48px;border:1px solid var(--line2);border-radius:22px;padding:32px 34px;display:flex;
 gap:28px;align-items:center;flex-wrap:wrap;
 background:radial-gradient(700px 320px at 92% 0,rgba(198,70,131,.2),transparent 62%),rgba(255,255,255,.04)}
.dirband .di{width:54px;height:54px;border-radius:16px;flex:none;display:grid;place-items:center;
 background:linear-gradient(150deg,#FF7A5C,#E43A3F);color:#fff}
.dirband .di svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dirband .dt{flex:1 1 360px}
.dirband h4{font-size:23px;font-weight:700;margin-bottom:9px}
.dirband p{font-size:14.5px;color:var(--muted);line-height:1.62;max-width:64ch}
.btn-outline{color:var(--ink);background:transparent;border-color:var(--line2)}
.btn-outline:hover{border-color:#FF8A6B;color:#FF8A6B}

