@font-face{font-family:Fraunces;src:url(fonts/Fraunces-400-700.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/InstrumentSans-400-700.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"DM Mono";src:url(fonts/DMMono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Mono";src:url(fonts/DMMono-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--ink:#3a2368;--ink-2:#56399a;--text:#2f2740;--muted:#655d78;--paper:#fbf9fe;--sand:#f2ecfb;--line:#e2d9f1;--white:#ffffff;--accent:#7b4fd0;--accent-d:#6a3fbd;--lilac:#e9dffa;--good:#1d7a57;--mid:#a06a06;--bad:#b23a26;--unk:#6d7671;--display:Fraunces,Georgia,serif;--sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"DM Mono",ui-monospace,Consolas,monospace;--r:20px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--text);font:400 18px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}.narrow{max-width:780px}
a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1.5px}a:hover{color:var(--accent-d)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--display);color:var(--ink);font-weight:600;line-height:1.14;letter-spacing:-.015em;font-optical-sizing:auto;text-wrap:balance}
.skip{position:absolute;left:-999px;top:8px;background:var(--white);padding:8px 14px;z-index:30}.skip:focus{left:12px}
.kicker{font:500 13px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-d);margin:0 0 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:999px;border:0;font:600 17px/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-1px)}
.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-d);color:#fff}.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:var(--ink-2);color:#fff}
.btn-ghost{background:rgba(255,255,255,.55);color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(58,35,104,.3)}.btn-ghost:hover{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn-sm{padding:9px 16px;font-size:15px}
/* Header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(251,249,254,.94);backdrop-filter:blur(10px);color:var(--ink);border-bottom:1px solid var(--line)}.site-head .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:20px}
.logo{display:inline-flex;align-items:center;gap:10px;font:600 20px/1 var(--display);color:inherit;text-decoration:none}.logo:hover{color:inherit}.mark{width:32px;height:32px;color:var(--accent);--mark-ink:#fff;flex:none}
#nav{display:flex;align-items:center;gap:26px}#nav a:not(.btn){color:var(--ink);text-decoration:none;font-size:16px;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}#nav a:not(.btn):hover,#nav a[aria-current]{border-color:var(--accent)}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:11px;cursor:pointer}.nav-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0;transition:transform .2s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* Hero */
.hero{background:radial-gradient(900px 520px at 88% 0,#fbe3ec 0,transparent 62%),radial-gradient(760px 480px at 0 100%,#f4eefd 0,transparent 60%),#e9dffa;padding:72px 0 92px;position:relative}.hero h1{color:var(--ink);font-size:clamp(44px,6.6vw,84px);line-height:1.02;margin:0 0 22px;font-weight:500}.hero h1 em{color:var(--accent);font-weight:500}
.hero .lede{font-size:clamp(19px,2vw,22px);max-width:34em;color:var(--text);margin:0 0 30px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:64px;align-items:center}.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
/* Receipt */
.receipt{background:var(--white);color:var(--text);font-family:var(--mono);font-size:14px;line-height:1.45;padding:22px 22px 30px;position:relative;box-shadow:0 18px 40px -22px rgba(58,35,104,.4);--z:9px;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/calc(2*var(--z)) 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/calc(2*var(--z)) 100%}
.receipt-head{font:600 22px/1.15 var(--display);color:var(--ink);margin:0 0 12px;padding-bottom:12px;border-bottom:1.5px dashed var(--line)}.receipt-head span{display:block;font:400 12px/1.5 var(--mono);color:var(--muted);margin-top:5px;text-transform:uppercase;letter-spacing:.05em}
.receipt dl{margin:0}.receipt dl div{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-bottom:1px dotted var(--line)}.receipt dt{color:var(--muted);flex:0 0 auto;max-width:48%}.receipt dd{margin:0;text-align:right;font-weight:500;color:var(--ink)}
.receipt-src{margin:14px 0 0;font-size:12.5px;color:var(--muted)}.hero-receipt{transform:rotate(1.2deg)}
.prose .receipt{margin:0 0 30px}
/* Bands */
.band{padding:76px 0}.band h2{font-size:clamp(30px,3.6vw,44px);margin:0}.band-sand{background:var(--sand)}.band-ink{background:var(--lilac)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px;flex-wrap:wrap}.more{font-weight:600;white-space:nowrap}
.band-note{font-size:15px;color:var(--muted);margin:22px 0 0}
.picks{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.pick{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:24px 24px 44px;text-decoration:none;color:var(--text);transition:transform .15s,border-color .15s}.pick:hover{transform:translateY(-3px);border-color:var(--ink);color:var(--text)}
.pick-k{font:500 12.5px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-d)}.pick h3{font-size:27px;margin:10px 0}.pick p{font-size:16px;margin:0 0 12px;line-height:1.5}
.rel-tag{font-size:13px;color:var(--muted);line-height:1.4}.card-go{position:absolute;right:20px;bottom:14px;font-size:20px;color:var(--accent-d)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;counter-reset:s}.steps li{counter-increment:s;border-top:2px solid var(--ink);padding-top:18px}.steps li::before{content:"0" counter(s);font:500 14px var(--mono);color:var(--accent-d)}.steps h3{font-size:25px;margin:8px 0}.steps p{margin:0 0 10px;font-size:17px}.steps a{font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.card{position:relative;display:block;background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:24px 24px 44px;text-decoration:none;color:var(--text);transition:transform .15s,border-color .15s}.card:hover{transform:translateY(-3px);border-color:var(--ink);color:var(--text)}.card h3{font-size:23px;margin:0 0 8px}.card p{font-size:16px;line-height:1.5;margin:0;color:var(--muted)}.card .kicker{display:block;margin-bottom:8px;font-size:12px}
.cards-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.cards-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.cards-3{grid-template-columns:1fr}}
/* Article */
.page-head{background:radial-gradient(900px 520px at 88% 0,#fbe3ec 0,transparent 62%),radial-gradient(760px 480px at 0 100%,#f4eefd 0,transparent 60%),#e9dffa;padding:38px 0 50px}.page-head h1{color:var(--ink);font-size:clamp(36px,5vw,60px);max-width:17em;margin:0 0 16px;font-weight:500}.page-head .lede{font-size:clamp(19px,2vw,22px);max-width:38em;margin:0;color:var(--text)}.page-head a{color:var(--ink)}.meta{font:400 13.5px var(--mono);color:var(--muted);margin:18px 0 0}
.page-404{padding:90px 0 110px}.page-404 .hero-cta{margin-top:28px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;margin-bottom:24px;color:var(--muted)}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.article-grid{display:grid;grid-template-columns:230px minmax(0,740px);gap:64px;padding:52px 0 72px;justify-content:center}.article-grid.no-toc{grid-template-columns:minmax(0,820px)}
.toc nav{position:sticky;top:96px;font-size:15px;line-height:1.35}.toc p{font:500 12.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 10px}.toc a{display:block;padding:7px 0 7px 12px;border-left:2px solid var(--line);text-decoration:none;color:var(--muted)}.toc a:hover,.toc a.on{color:var(--ink);border-color:var(--accent)}
.prose>:first-child{margin-top:0}.prose h2{font-size:clamp(28px,3vw,36px);margin:46px 0 14px}.prose h3{font-size:23px;margin:30px 0 8px}.prose p{margin:0 0 18px}.prose ul,.prose ol{padding-left:24px;margin:0 0 20px}.prose li{margin-bottom:8px}.prose li::marker{color:var(--accent-d)}.prose code{font:14px var(--mono);background:var(--sand);padding:2px 5px;border-radius:4px}
.disclose{font-size:15px;line-height:1.5;background:var(--sand);border-radius:10px;padding:12px 16px;margin:0 0 26px;color:var(--text)}
.callout{border-left:4px solid var(--ink);background:var(--white);padding:16px 20px;margin:26px 0;border-radius:0 10px 10px 0}.callout strong{display:block;font:500 12.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.callout p{margin:0}.c-warn{border-color:var(--accent)}.c-warn strong{color:var(--accent-d)}.c-tip{border-color:var(--good)}.c-tip strong{color:var(--good)}.c-key strong{color:var(--ink)}
.scores{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;background:var(--sand);border-radius:14px;padding:16px 20px;margin:0 0 18px;font-size:16px;line-height:1.45}.scores p{margin:0}.scores strong{display:block;font:500 12.5px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.scores b{font:600 21px var(--display);color:var(--ink)}.scores-note{grid-column:1/-1;font-size:14px;color:var(--muted)}.tp-cell b{font:600 18px var(--display);color:var(--ink)}.tp-cell small{display:block;font-size:13px;color:var(--muted)}.home-prose{max-width:none}.home-prose>p,.home-prose>ol,.home-prose>.callout{max-width:820px}.home-prose>h2:first-child{margin-top:0}.where-more h2:not(:first-child){margin-top:44px}
.themes{margin:0 0 30px}.themes h2{margin-top:0}.themes-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:12px}.themes-grid>div{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:16px;line-height:1.45}.themes-grid h3{font-size:19px;margin:0 0 8px}.themes-grid ul{margin:0;padding-left:20px}.themes-grid li{margin-bottom:6px}.themes .scores-note{font-size:14px;color:var(--muted)}@media (max-width:640px){.themes-grid{grid-template-columns:1fr}}
.ratings{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0 0 30px}.ratings div{background:var(--white);padding:12px 10px}.ratings dt{font-size:13.5px;color:var(--muted);line-height:1.25;min-height:2.5em}.ratings dd{margin:4px 0 0;font:500 14px var(--mono)}.r-strong{color:var(--good)}.r-mixed{color:var(--mid)}.r-weak{color:var(--bad)}.r-unknown{color:var(--unk)}
.visit{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:26px 0}.prose .visit a.btn{color:var(--paper)}
/* Tables */
.table-wrap{overflow-x:auto;margin:24px 0;border:1px solid var(--line);border-radius:12px;background:var(--white)}table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.4}th,td{padding:13px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}tbody tr:last-child>*{border-bottom:0}thead th{font:500 12.5px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--sand);white-space:nowrap}
.compare{min-width:1060px}.compare.vs{min-width:560px}.compare tbody th{font-weight:600;min-width:150px;font-family:var(--sans)}.compare tbody th small{display:block;font-weight:400;font-size:13px;color:var(--muted)}.compare thead th:first-child,.compare tbody th{position:sticky;left:0;background:var(--white);box-shadow:1px 0 0 var(--line)}.compare thead th:first-child{background:var(--sand)}.compare thead a{color:var(--ink);font-size:15px;text-transform:none;letter-spacing:0;font-family:var(--sans);font-weight:600}
.src{font-size:13.5px}.src-own{color:var(--good)}.src-mixed{color:var(--mid)}.src-third{color:var(--unk)}.table-note{font-size:14.5px;color:var(--muted)}
/* FAQ */
.faq{border-bottom:1px solid var(--line);padding:4px 0}.faq summary{cursor:pointer;font:600 20px/1.3 var(--display);color:var(--ink);padding:14px 30px 14px 0;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:4px;top:10px;font:400 26px var(--sans);color:var(--accent-d)}.faq[open] summary::after{content:"–"}.faq p{margin:0 0 16px}.band .faq:first-of-type{margin-top:18px}
/* Hub & related */
.hub{padding:52px 0 76px}.hub section{margin-bottom:52px}.hub h2{font-size:clamp(28px,3vw,36px);margin:0 0 8px}.hub-sub{margin:0 0 22px;color:var(--muted)}.hub section .cards{margin-top:22px}.hub-body{margin-bottom:56px}
.related{background:var(--sand);padding:54px 0 62px}.related h2{font-size:30px;margin:0 0 22px}
/* Tools */
.tool{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:26px;margin:24px 0}.tool fieldset{border:0;padding:0;margin:0 0 24px}.tool legend{font:600 20px/1.3 var(--display);color:var(--ink);padding:0;margin-bottom:10px}.tool fieldset label{display:flex;gap:11px;align-items:flex-start;padding:9px 12px;border-radius:9px;cursor:pointer;font-size:16.5px;line-height:1.4}.tool fieldset label:hover{background:var(--sand)}.tool input[type=radio],.tool input[type=checkbox]{accent-color:var(--ink);width:19px;height:19px;margin:2px 0 0;flex:none}
input[type=range]{width:100%;accent-color:var(--accent);height:30px;margin:8px 0 0}
.calc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:start}.calc-fields{display:grid;gap:22px}.calc-field label{display:block;font-weight:600;margin-bottom:8px}.calc-num{display:flex;align-items:center;gap:8px;background:var(--sand);border:1.5px solid var(--line);border-radius:12px;padding:0 14px;max-width:210px}.calc-num:focus-within{border-color:var(--accent)}.calc-num span{font:500 18px var(--mono);color:var(--muted)}.calc-num input{flex:1;min-width:0;width:100%;border:0;background:none;padding:11px 0;font:500 21px var(--mono);color:var(--ink);outline:0}
.prose .calc-receipt{margin:0}.calc-keep{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:16px 0 0!important;font:600 18px var(--display);color:var(--ink)}.calc-keep strong{font:600 34px/1.1 var(--display);color:var(--accent-d)}
@media (max-width:700px){.calc{grid-template-columns:1fr}.calc-num{max-width:none}}
.tool-note{font-size:14.5px;color:var(--muted);line-height:1.5;margin:18px 0 0}
.finder-result{margin-top:24px;padding:22px;background:var(--ink);color:var(--paper);border-radius:12px}.finder-result h3{color:var(--paper);font-size:29px;margin:4px 0 8px}.finder-result a{color:#d9c6ff}.finder-result p{margin:0 0 10px}.finder-result .kicker{color:#d9c6ff;margin:0}
.scam-out{padding:16px 18px;border-radius:10px;background:var(--sand);font-size:17px}.scam-out strong{display:block;font-family:var(--display);font-size:21px;color:var(--ink)}.scam-out.lvl-2{background:#f8e6c9}.scam-out.lvl-3{background:#f6d2c6}
.check-progress{display:flex;align-items:center;gap:14px;font:500 15px var(--mono);margin:0 0 22px}.check-bar{flex:1;height:9px;background:var(--sand);border-radius:9px;overflow:hidden}.check-bar i{display:block;height:100%;width:0;background:var(--good);transition:width .2s}
.checklist input:checked+*,.checklist label:has(input:checked){color:var(--muted);text-decoration:line-through}
/* Footer */
.site-foot{background:#2a1a4a;color:#d9d2e8;padding:58px 0 26px;font-size:15.5px}.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.foot-grid h2{font:500 12.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#a99cc6;margin:4px 0 12px}.foot-grid a:not(.logo){display:block;color:#f1edf8;text-decoration:none;padding:4px 0}.foot-grid a:not(.logo):hover{color:#d9c6ff}.foot-grid .logo{color:var(--paper)}.foot-grid p{line-height:1.5;margin:14px 0 0}
.foot-legal{border-top:1px solid #463170;margin-top:38px;padding-top:18px;font-size:14px;line-height:1.5;color:#b7adcf}.foot-legal p{margin:0 0 6px}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:44px}.hero-receipt{max-width:440px;transform:none}.picks{grid-template-columns:repeat(2,1fr)}.article-grid{grid-template-columns:minmax(0,1fr);gap:0;padding-top:34px}.toc{display:none}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>:first-child{grid-column:1/-1}}
@media (max-width:760px){body{font-size:17px}.wrap{width:calc(100% - 32px)}.nav-toggle{display:block}#nav{display:none;position:absolute;left:0;right:0;top:68px;background:var(--paper);flex-direction:column;align-items:stretch;gap:0;padding:6px 16px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#nav.open{display:flex}#nav a:not(.btn){padding:13px 0;border-bottom:1px solid var(--line);font-size:17px}#nav .btn{margin-top:14px}.hero{padding:44px 0 60px}.band{padding:52px 0}.picks,.steps{grid-template-columns:1fr}.steps{gap:26px}.ratings{grid-template-columns:repeat(2,1fr)}.ratings dt{min-height:0}.scores{grid-template-columns:1fr}.tool{padding:20px 16px}.foot-grid{gap:26px}.hero-cta .btn{flex:1 1 100%}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-head,.site-foot,.toc,.related{display:none}}
