:root{
  --navy:#0B192C;--slate:#1E293B;--slate2:#16243A;--line:#2A3A50;--line2:#36485F;
  --ink:#E6EDF5;--ink2:#AFC0D3;--ink3:#7E90A6;--mark:#8A9BB0;
  --green:#10B981;--green-deep:#0B8F63;--green-ink:#07251B;--caution:#F5B342;--danger:#F08A8A;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1120px;--r:6px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--navy);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;font-feature-settings:"tnum" 1,"kern" 1}
a{color:var(--ink);text-decoration-color:var(--line2);text-underline-offset:3px}
a:hover{text-decoration-color:var(--green)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.measure{max-width:70ch}
b,strong{font-weight:600}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}
[hidden]{display:none!important}

/* masthead */
.masthead{position:sticky;top:0;z-index:30;background:rgba(11,25,44,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.masthead-row{display:flex;align-items:center;gap:24px;height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.brand em{font-style:normal;color:var(--ink2);font-weight:500}
.toc{display:flex;gap:22px;margin-left:auto;font-size:14px}
.toc a{color:var(--ink2);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.toc a:hover{color:var(--ink);border-bottom-color:var(--green)}
@media (max-width:820px){.toc{display:none}.masthead-row{justify-content:space-between}}
@media (max-width:480px){.brand span{font-size:15px}.brand svg{width:24px;height:24px}.masthead .btn-sm{padding:8px 10px;font-size:13px}}

/* buttons */
.btn{display:inline-block;font-family:var(--sans);font-weight:600;font-size:15px;line-height:1;padding:12px 18px;border-radius:var(--r);border:1px solid var(--line2);color:var(--ink);text-decoration:none;cursor:pointer;background:transparent;transition:background .15s,border-color .15s,transform .15s}
.btn:hover{border-color:var(--ink3);background:rgba(255,255,255,.03)}
.btn-sm{padding:9px 14px;font-size:14px;white-space:nowrap}
.btn-primary{background:var(--green);border-color:var(--green);color:var(--green-ink)}
.btn-primary:hover{background:#1fcf92;border-color:#1fcf92}
.btn-primary:active{transform:translateY(1px)}
.btn-primary[disabled]{opacity:.6;cursor:progress}
.btn-lg{padding:16px 24px;font-size:17px;width:100%;text-align:center}
.linklike{background:none;border:0;padding:0;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit;font-size:inherit}
.linklike:hover{color:var(--ink)}

/* hero */
.hero{padding:56px 0 40px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,400px);gap:48px;align-items:start}
.report-line{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:18px}
h1{font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:700;letter-spacing:-.02em}
.lede{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--ink2);margin:22px 0 26px;max-width:38ch;line-height:1.5}
.hero-facts{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;color:var(--ink2)}
.hero-facts li{position:relative;padding-left:14px}
.hero-facts li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--green)}

.register-box{background:var(--slate);border:1px solid var(--line2);border-radius:10px;padding:26px 26px 20px;box-shadow:0 18px 50px -20px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.25)}
.register-box h2{font-size:1.35rem}
.reg-sub{color:var(--ink2);font-size:14px;margin:6px 0 20px}
.reg-form label{display:block;font-size:13px;font-weight:500;color:var(--ink2);margin-bottom:14px}
.reg-form input{display:block;width:100%;margin-top:6px;background:var(--navy);border:1px solid var(--line2);border-radius:var(--r);color:var(--ink);font:inherit;font-size:16px;padding:11px 12px;transition:border-color .15s}
.reg-form input::placeholder{color:var(--ink3)}
.reg-form input:focus{border-color:var(--green);outline:none}
.reg-form input[aria-invalid="true"]{border-color:var(--danger)}
.reg-form .btn-primary{width:100%;padding:14px;font-size:16px;margin-top:4px}
.field-error{color:var(--danger);font-size:13px;margin:-6px 0 12px}
.reg-fine{font-size:12.5px;color:var(--ink3);margin:12px 0 0;text-align:center;line-height:1.45}

@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:32px}.register-box{max-width:520px}}

/* chart */
.chart{margin:44px 0 0;background:var(--slate2);border:1px solid var(--line);border-radius:10px;padding:18px 20px 16px}
.chart-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;margin-bottom:8px}
.chart-title{font-weight:600}
.chart-unit{color:var(--ink3)}
.chart-body{position:relative}
#mcap-svg{display:block;width:100%;height:clamp(180px,30vw,320px);overflow:visible}
#mcap-svg .grid{stroke:var(--line);stroke-width:1}
#mcap-svg .axis{fill:var(--ink3);font-size:12px;font-family:var(--sans)}
#mcap-svg .line{fill:none;stroke:var(--green);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
#mcap-svg .area{fill:url(#mcap-fill)}
#mcap-svg .dot{fill:var(--green);stroke:var(--slate2);stroke-width:2}
#mcap-svg .xhair{stroke:var(--ink3);stroke-width:1;stroke-dasharray:3 3}
#mcap-svg .endlabel{fill:var(--ink);font-size:13px;font-weight:600;font-family:var(--sans)}
.chart-tip{position:absolute;pointer-events:none;background:var(--navy);border:1px solid var(--line2);border-radius:var(--r);padding:6px 10px;font-size:13px;white-space:nowrap;transform:translate(-50%,-110%);box-shadow:0 6px 18px -6px rgba(0,0,0,.6)}
.chart-tip b{display:block;font-size:14px}
.chart-note{font-size:12.5px;color:var(--ink3);margin:10px 0 0}
#mcap-table{margin-top:12px;max-width:360px}

/* sections */
.sec{padding:72px 0}
.sec-alt{background:var(--slate2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:28px}
.sec-no{font-family:var(--serif);font-size:1rem;color:var(--green);font-weight:600;min-width:2.6em}
.sec-head h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.sec-intro{color:var(--ink2);max-width:66ch;margin-bottom:28px;font-size:1.05rem}
.sub-head{font-size:1.25rem;margin:40px 0 16px;padding-top:8px}
.sub-head:first-of-type{margin-top:0}
h3{font-size:1.2rem;margin-bottom:10px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:36px}
.two-col p{max-width:60ch;color:var(--ink2)}
.two-col p:first-of-type{color:var(--ink)}
.two-col-wide{grid-template-columns:1.1fr 1fr;align-items:start;margin-top:28px}
@media (max-width:760px){.two-col{grid-template-columns:1fr;gap:28px}}

/* tables */
.data-table{width:100%;border-collapse:collapse;font-size:15px;background:var(--slate);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.data-table caption{text-align:left;font-size:13px;color:var(--ink3);padding:0 0 6px}
.data-table th,.data-table td{text-align:left;padding:11px 14px;border-top:1px solid var(--line);vertical-align:top}
.data-table thead th{border-top:0;background:var(--slate2);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);font-weight:600}
.data-table tbody th{font-weight:600;color:var(--ink);width:26%}
.data-table td{color:var(--ink2)}
.compare td:last-child{color:var(--ink)}
@media (max-width:640px){
  .data-table{font-size:14px}
  .compare thead{display:none}
  .compare tbody tr{display:block;border-top:1px solid var(--line);padding:10px 14px}
  .compare tbody tr:first-child{border-top:0}
  .compare tbody th,.compare tbody td{display:block;width:auto;border:0;padding:0}
  .compare tbody th{margin-bottom:6px}
  .compare tbody td{padding:3px 0 3px 0;display:grid;grid-template-columns:7.5em 1fr;gap:10px}
  .compare tbody td::before{content:attr(data-h);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);padding-top:3px}
  #mcap-table{display:block;overflow-x:auto}
}

/* steps */
.steps{list-style:none;counter-reset:step;padding:0;margin:0;display:grid;gap:22px}
.steps>li{counter-increment:step;display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start;background:var(--slate);border:1px solid var(--line);border-radius:10px;padding:22px 24px 18px}
.steps>li::before{content:counter(step);font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--green);line-height:1;padding-top:2px}
.steps p{color:var(--ink2);max-width:66ch}
.warn{display:grid;grid-template-columns:20px 1fr;gap:14px;background:rgba(245,179,66,.07);border:1px solid rgba(245,179,66,.45);color:var(--caution);border-radius:var(--r);padding:14px 16px;margin:4px 0 14px}
.warn p{color:var(--ink);margin-bottom:.5em}.warn p:last-child{margin:0}
.warn strong{color:var(--caution)}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:var(--ink2)}
.checks li{position:relative;padding-left:26px}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg)}
@media (max-width:560px){.steps>li{grid-template-columns:1fr;gap:6px;padding:18px}}

/* definitions */
.defs{margin:0;display:grid;gap:0;border:1px solid var(--line);border-radius:var(--r);background:var(--slate);overflow:hidden}
.defs>div{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:16px 18px;border-top:1px solid var(--line)}
.defs>div:first-child{border-top:0}
.defs dt{font-weight:600}
.defs dd{margin:0;color:var(--ink2);max-width:70ch}
@media (max-width:640px){.defs>div{grid-template-columns:1fr;gap:4px}}

/* calculator */
.calc{background:var(--slate);border:1px solid var(--line2);border-radius:10px;padding:20px 22px}
.calc h4{font-family:var(--sans);font-size:15px;font-weight:600;margin-bottom:14px}
.calc-sub{display:block;font-weight:400;color:var(--ink3);font-size:13px;margin-top:2px}
.calc-row{display:block;font-size:13px;color:var(--ink2);font-weight:500;margin-bottom:14px}
.calc select{display:block;width:100%;margin-top:6px;background:var(--navy);color:var(--ink);border:1px solid var(--line2);border-radius:var(--r);font:inherit;font-size:15px;padding:9px 10px}
.calc input[type=range]{display:block;width:100%;margin:10px 0 4px;accent-color:var(--green)}
.calc output{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;font-size:15px}
.calc-out{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 10px}
.calc-out div{background:var(--navy);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}
.calc-out dt{font-size:12px;color:var(--ink3);text-transform:uppercase;letter-spacing:.04em}
.calc-out dd{margin:2px 0 0;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:1.35rem;font-weight:600;color:var(--green);font-variant-numeric:tabular-nums}
.calc-note{font-size:12.5px;color:var(--ink3);margin:0}

/* overwhelm grid */
.grid-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:var(--ink3);margin-bottom:14px}
.grid-meta b{color:var(--ink);font-weight:600}
.logo-grid{list-style:none;padding:0;margin:0 0 36px;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px}
.logo-grid li{background:var(--slate);border:1px solid var(--line);border-radius:4px;padding:14px 8px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--mark);transition:border-color .15s,color .15s}
.logo-grid li:hover{border-color:var(--line2);color:var(--ink2)}
.logo-grid svg{width:30px;height:30px;display:block}
.logo-grid .ln{font-size:11.5px;font-weight:600;color:var(--ink2);line-height:1.2}
.logo-grid .lc{font-size:10px;color:var(--ink3);line-height:1.2;letter-spacing:.02em}
@media (max-width:560px){.logo-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:4px}.logo-grid li{padding:10px 4px 8px}.logo-grid svg{width:24px;height:24px}.logo-grid .lc{display:none}}
.pivot{margin:0;max-width:80ch;border:1px solid var(--line2);background:var(--slate);border-radius:10px;padding:24px 28px;font-family:var(--serif);font-size:1.15rem;line-height:1.55}
.pivot p{margin:0;color:var(--ink)}

/* resources */
.resources{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:12px}
.resources li{background:var(--slate);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.resources p{color:var(--ink2);margin:6px 0 0;max-width:72ch}
.res-name{font-weight:600;font-size:1.05rem}
.res-url{font-weight:400;color:var(--ink3);font-size:14px;margin-left:6px}
.res-feature{border-color:var(--line2)}
.res-feature .checks{margin-top:14px}

/* offer */
.sec-cta{padding:80px 0 96px}
.offer{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;background:var(--slate);border:1px solid var(--line2);border-radius:14px;padding:40px 44px;box-shadow:0 30px 80px -40px rgba(0,0,0,.8)}
.offer h2{font-size:clamp(1.5rem,2.8vw,2.1rem)}
.price{display:flex;align-items:baseline;gap:12px;margin:16px 0 26px}
.price-num{font-family:var(--serif);font-size:2.6rem;font-weight:700;letter-spacing:-.02em}
.price-unit{color:var(--ink2);font-size:14px}
.offer h3{font-family:var(--sans);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:12px}
.learn li{color:var(--ink)}
.offer-meta{margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;font-size:14px}
.offer-meta dt{color:var(--ink3);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.offer-meta dd{margin:2px 0 0;color:var(--ink2)}
.offer-action{text-align:center}
.offer-action .reg-fine{margin-top:14px}
@media (max-width:860px){.offer{grid-template-columns:1fr;padding:28px 22px}.offer-meta{grid-template-columns:1fr}}

/* footer */
.foot{border-top:1px solid var(--line);padding:32px 0 48px;font-size:13px;color:var(--ink3)}
.foot p{max-width:90ch}
.foot-line{margin-top:12px}

/* checkout page */
.co{min-height:calc(100vh - 60px);padding:48px 0 80px}
.co-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:40px;align-items:start}
.co-summary{background:var(--slate);border:1px solid var(--line);border-radius:10px;padding:26px 28px}
.co-summary h1{font-size:1.6rem}
.co-line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.co-line:first-of-type{border-top:0;margin-top:14px}
.co-line b{font-variant-numeric:tabular-nums}
.co-total{font-size:1.1rem}
.co-pay{background:var(--slate);border:1px solid var(--line2);border-radius:10px;padding:26px 26px 20px;box-shadow:0 18px 50px -20px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.25)}
.co-pay h2{font-size:1.2rem;margin-bottom:6px}
.co-pay .reg-sub{margin-bottom:16px}
.co-pay stripe-buy-button{display:block;min-height:48px}
.co-placeholder{border:1px dashed var(--line2);border-radius:var(--r);padding:14px;font-size:13px;color:var(--ink3);margin:10px 0 14px}
.co-pay .btn-primary{width:100%}
.co-back{display:inline-block;margin-bottom:22px;color:var(--ink2);font-size:14px}
@media (max-width:860px){.co-grid{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
