:root{
  --ink:#12202B;
  --steel:#4A5F70;
  --mist:#E9EEF2;
  --paper:#F6F8FA;
  --line:#CBD5DD;
  --cobalt:#1F4FD8;
  --cobalt-dark:#173CA8;
  --amber:#E7A800;
  --sage:#2F7D5B;
  --slate-tag:#6B7B88;
  --sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Source Serif 4",Georgia,serif;
  --gutter:clamp(16px,5vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.6}
a{color:inherit}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--gutter)}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
h1,h2,h3{font-family:var(--sans);margin:0;line-height:1.08;letter-spacing:-.02em}
p{margin:0 0 1em}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;z-index:100;font-family:var(--sans)}
.skip:focus{left:8px}

.btn{display:inline-block;font-family:var(--sans);font-weight:700;font-size:16px;text-decoration:none;padding:14px 22px;background:var(--cobalt);color:#fff;border:2px solid var(--cobalt);border-radius:3px;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--cobalt-dark);border-color:var(--cobalt-dark)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}

/* header */
header.site{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px 20px;min-height:64px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.brand{font-family:var(--sans);font-weight:900;font-stretch:90%;font-size:20px;letter-spacing:-.02em;text-decoration:none}
.brand span{color:var(--cobalt)}
nav ul{list-style:none;display:flex;gap:clamp(14px,3vw,28px);margin:0;padding:0;font-family:var(--sans);font-weight:600;font-size:15px}
nav a{text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current="page"]{border-color:var(--cobalt)}

/* hero */
.hero{padding:clamp(40px,7vw,88px) 0 clamp(48px,7vw,96px)}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}}
.hero h1{font-weight:900;font-stretch:80%;font-size:clamp(44px,7vw,88px)}
.hero .lede{font-size:clamp(18px,2vw,21px);color:var(--steel);max-width:34em;margin:24px 0 32px}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px}

.ladder{background:var(--ink);color:#fff;padding:28px clamp(20px,3vw,36px);border-radius:4px}
.ladder h2{font-size:18px;font-weight:700;letter-spacing:0;margin-bottom:4px}
.ladder .sub{font-size:15px;color:#9FB2C2;margin-bottom:20px}
.ladder ul{list-style:none;margin:0;padding:0}
.ladder li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 0;border-top:1px solid #2A3C4B}
.ladder .what{font-family:var(--sans);font-weight:700;font-size:17px}
.ladder .what a{text-decoration:none}
.ladder .what a:hover{text-decoration:underline}
.ladder .note{grid-column:1/-1;font-size:15px;line-height:1.45;color:#B7C6D2}
.ladder .fine{font-size:13px;color:#8FA3B3;margin:18px 0 0}
.tag{font-family:var(--sans);font-weight:700;font-size:13px;padding:3px 10px;border-radius:99px;white-space:nowrap;align-self:start;display:inline-block}
.t-strong{background:var(--sage);color:#fff}
.t-mod{background:var(--amber);color:var(--ink)}
.t-weak{background:var(--slate-tag);color:#fff}
.t-guide{background:var(--cobalt);color:#fff}

/* sections */
section{padding:clamp(48px,7vw,96px) 0}
section.tint{background:var(--mist)}
.sec-head{max-width:40em;margin-bottom:40px}
.sec-head h2{font-weight:800;font-stretch:85%;font-size:clamp(32px,4.5vw,52px)}
.sec-head p{color:var(--steel);margin-top:14px}
.more{font-family:var(--sans);font-weight:700;font-size:16px;margin-top:28px;display:inline-block}

/* inner page hero */
.page-hero{padding:clamp(40px,6vw,72px) 0 clamp(24px,3vw,40px);border-bottom:1px solid var(--line)}
.page-hero h1{font-weight:900;font-stretch:82%;font-size:clamp(36px,6vw,64px);max-width:16em}
.page-hero p{color:var(--steel);max-width:40em;margin:18px 0 0;font-size:clamp(18px,2vw,20px)}
.page-body{padding:clamp(32px,5vw,64px) 0 clamp(48px,7vw,96px)}

/* guides */
.guides{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,4vw,56px)}
@media(max-width:900px){.guides{grid-template-columns:1fr}}
.featured{border-top:4px solid var(--cobalt);padding-top:24px}
.featured h3{font-weight:800;font-stretch:85%;font-size:clamp(28px,3.4vw,40px);margin-bottom:12px}
.featured .price{font-family:var(--sans);font-weight:800;font-size:28px;margin:20px 0}
.featured ul{padding-left:1.1em;margin:0 0 24px}
.featured li{margin-bottom:6px}
.others>div{padding:22px 0;border-top:1px solid var(--line)}
.others>div:first-child{border-top:4px solid var(--ink)}
.others h3{font-weight:800;font-size:22px;font-stretch:90%;margin-bottom:6px}
.others p{color:var(--steel);font-size:16px;margin-bottom:10px}
.status{font-family:var(--sans);font-weight:700;font-size:13px;background:var(--mist);border:1px solid var(--line);padding:2px 10px;border-radius:99px;color:var(--steel);display:inline-block}
section.tint .status{background:#fff}
.guide-list>article{display:grid;grid-template-columns:1fr auto;gap:8px 24px;padding:26px 0;border-top:1px solid var(--line)}
.guide-list>article:first-child{border-top:4px solid var(--cobalt)}
.guide-list h2{font-weight:800;font-stretch:88%;font-size:clamp(24px,3vw,32px)}
.guide-list h2 a{text-decoration:none}
.guide-list h2 a:hover{text-decoration:underline}
.guide-list p{color:var(--steel);margin:6px 0 0;font-size:17px}
@media(max-width:640px){.guide-list>article{grid-template-columns:1fr}}

/* sales page */
.sales{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
@media(max-width:900px){.sales{grid-template-columns:1fr}}
.buybox{border:2px solid var(--ink);background:#fff;padding:28px;border-radius:4px;position:sticky;top:88px}
@media(max-width:900px){.buybox{position:static}}
.buybox .price{font-family:var(--sans);font-weight:900;font-size:44px;line-height:1}
.buybox ul{padding-left:1.1em;font-size:16px;color:var(--steel);margin:16px 0 20px}
.buybox .btn{width:100%;text-align:center}
.buybox .small{font-size:14px;color:var(--steel);margin:14px 0 0}
.faq details{border-top:1px solid var(--line);padding:16px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-family:var(--sans);font-weight:700;font-size:18px;cursor:pointer}
.faq p{margin:10px 0 0;color:var(--steel);font-size:17px}

/* research table */
.lib{width:100%;border-collapse:collapse}
.lib th{font-family:var(--sans);font-size:14px;text-align:left;font-weight:700;color:var(--steel);padding:0 12px 10px 0;border-bottom:2px solid var(--ink)}
.lib td{padding:18px 12px 18px 0;border-bottom:1px solid var(--line);vertical-align:top}
.lib td:first-child a{font-family:var(--sans);font-weight:700;font-size:19px;text-decoration:none}
.lib td:first-child a:hover{color:var(--cobalt);text-decoration:underline}
.lib td.sm{font-size:16px;color:var(--steel)}
@media(max-width:700px){.lib thead{display:none}.lib tr{display:block;padding:16px 0;border-bottom:1px solid var(--line)}.lib td{display:block;border:0;padding:2px 0}}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 32px;margin:0 0 40px}
@media(max-width:800px){.tiers{grid-template-columns:1fr}}
.tiers p{font-size:16px;color:var(--steel);margin:8px 0 0}

/* picks */
.disclosure{border-left:4px solid var(--amber);background:#fff;padding:14px 18px;font-size:16px;margin-bottom:32px;max-width:46em}
.picks{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,4vw,48px)}
@media(max-width:900px){.picks{grid-template-columns:1fr}}
.pick{padding:22px 0;border-top:1px solid var(--line)}
.pick h3{font-weight:800;font-stretch:90%;font-size:21px;margin-bottom:6px}
.pick p{font-size:16px;color:var(--steel);margin-bottom:10px}
.pick a,.pick .soon{font-family:var(--sans);font-weight:700;font-size:15px}
.pick .soon{color:var(--steel)}
.picks.full{grid-template-columns:repeat(2,1fr)}
@media(max-width:800px){.picks.full{grid-template-columns:1fr}}

/* article / prose */
.prose{max-width:42rem}
.prose h2{font-weight:800;font-stretch:88%;font-size:clamp(26px,3.4vw,34px);margin:2em 0 .6em}
.prose h3{font-weight:700;font-size:21px;margin:1.6em 0 .4em}
.prose p,.prose li{font-size:19px;line-height:1.7}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin-bottom:.4em}
.prose a{color:var(--cobalt)}
.prose table{width:100%;border-collapse:collapse;font-size:16px;margin:0 0 1.4em}
.prose th,.prose td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-family:var(--sans);font-size:14px;color:var(--steel);border-bottom:2px solid var(--ink)}
.bottom-line{border-left:5px solid var(--cobalt);background:#fff;padding:18px 22px;margin:0 0 2em}
.bottom-line strong{font-family:var(--sans)}
.bottom-line p{margin:.4em 0 0}
.meta{font-family:var(--sans);font-size:14px;color:var(--steel);margin-top:20px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.sources{border-top:2px solid var(--ink);margin-top:3em;padding-top:1em}
.sources h2{margin-top:.6em}
.sources li,.sources p{font-size:16px;line-height:1.55}
.callout{background:var(--mist);padding:18px 22px;border-radius:4px;margin:2em 0;font-size:17px}
.callout p{font-size:17px;margin:0}
.related{margin-top:3em;border-top:1px solid var(--line);padding-top:1.2em}
.related h2{font-size:20px;margin:0 0 .6em}
.related ul{list-style:none;padding:0}
.related a{font-family:var(--sans);font-weight:700;font-size:17px}

/* waitlist / forms */
.community .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);align-items:center}
@media(max-width:800px){.community .wrap{grid-template-columns:1fr}}
form.join{display:flex;flex-wrap:wrap;gap:10px}
form.join input[type=email]{flex:1 1 240px;font:inherit;font-size:17px;padding:13px 14px;border:2px solid var(--ink);border-radius:3px;background:#fff;color:var(--ink)}
form.join .msg{flex-basis:100%;font-size:14px;color:var(--steel);margin:4px 0 0;line-height:1.5}
form.join .msg a{color:inherit}
.hp{position:absolute;left:-9999px}
form.contact{display:grid;gap:16px;max-width:36rem}
form.contact label{font-family:var(--sans);font-weight:700;font-size:15px;display:block;margin-bottom:6px}
form.contact input,form.contact textarea{width:100%;font:inherit;font-size:17px;padding:12px 14px;border:2px solid var(--ink);border-radius:3px;background:#fff;color:var(--ink)}
form.contact textarea{min-height:160px;resize:vertical}

/* footer */
footer{background:var(--ink);color:#B7C6D2;padding:48px 0 56px;font-size:15px}
footer .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}
@media(max-width:800px){footer .wrap{grid-template-columns:1fr}}
footer strong{color:#fff;font-family:var(--sans)}
footer ul{list-style:none;padding:0;margin:0;display:flex;gap:10px 20px;flex-wrap:wrap}
footer a{color:#fff}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
