:root{--bg:#faf8f4;--surf:#fff;--surf2:#f3efe7;--t:#1a1814;--m:#57524a;--line:#e6e0d4;--a:#0d5c4c;--a-h:#094438;--a-soft:#e5f1ec;--w:#9a3f12;--w-soft:#fdf2e9;--w-line:#f0c9a8;--gold:#f6d48a;--shadow:0 1px 2px rgba(26,24,20,.05),0 4px 16px rgba(26,24,20,.06);--r:14px;--mw:72ch;--wide:1120px;--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}
@media(prefers-color-scheme:dark){:root{--bg:#13120f;--surf:#1c1b17;--surf2:#25231e;--t:#eeeae2;--m:#b8b1a5;--line:#36332c;--a:#6ed3b7;--a-h:#9be6d0;--a-soft:#16302a;--w:#f2a874;--w-soft:#2a1d14;--w-line:#5a3a22;--shadow:none}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;font:17.5px/1.65 var(--font);color:var(--t);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}
@media(max-width:600px){body{font-size:17px}}
a{color:var(--a);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--a-h);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--a);outline-offset:2px;border-radius:4px}
img{max-width:100%;height:auto}
h1,h2,h3{line-height:1.2;letter-spacing:-.015em;color:var(--t)}
h2{font-size:clamp(1.45rem,3vw,1.9rem);margin:0 0 .8rem;font-family:var(--serif);font-weight:700}
h3{font-size:1.2rem;margin:1.6rem 0 .5rem}h4{font-size:1.05rem;margin:1.2rem 0 .4rem}
p,ul,ol{margin:0 0 1rem}li{margin:.3rem 0}code{background:var(--surf2);padding:.1em .35em;border-radius:5px;font-size:.9em}
blockquote{margin:1rem 0;padding:.8rem 1.1rem;border-left:4px solid var(--a);background:var(--a-soft);border-radius:0 10px 10px 0}
blockquote p:last-child{margin:0}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--surf);color:var(--t);padding:.6rem 1rem;z-index:99;border-radius:8px}
/* header */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top .in{max-width:var(--wide);margin:auto;padding:.7rem 1.25rem;display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:center;justify-content:space-between}
.brand{font-weight:800;text-decoration:none;color:var(--t);font-size:1.05rem;letter-spacing:-.01em}.brand:hover{color:var(--a)}
.top nav{display:flex;flex-wrap:wrap;gap:.1rem .3rem;font-size:.92rem}
.top nav a{text-decoration:none;color:var(--m);padding:.3rem .6rem;border-radius:8px;font-weight:500}.top nav a:hover{color:var(--t);background:var(--surf2)}
@media(max-width:700px){.top{position:static}.top nav{gap:0;margin:0 -.6rem;font-size:.88rem}}
/* hero */
.hero{position:relative;background:radial-gradient(1200px 400px at 85% -10%,#1f7a64 0,transparent 60%),linear-gradient(160deg,#0b4a3e 0%,#0a3a31 60%,#13302a 100%);color:#fff;padding:clamp(2.8rem,7vw,5rem) max(1.25rem,calc((100% - var(--wide))/2 + 1.25rem)) clamp(2.4rem,6vw,4rem);overflow:hidden}

.hero h1{margin:0 auto .8rem;font-family:var(--serif);font-size:clamp(2rem,5.2vw,3.4rem);line-height:1.08;letter-spacing:-.025em;max-width:22ch;color:#fff;margin-left:0}
.hero p{max-width:62ch;color:#e3efe9;font-size:1.12rem}
.hero a{color:#fff}
.hero .eyebrow{display:block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.hero .ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem;align-items:center}
.hero .ctas .btn{font-size:1rem;padding:.8rem 1.3rem}
.btn-primary{background:var(--gold)!important;color:#1a1814!important}.btn-primary:hover{background:#fbe2a9!important}
.btn-ghost{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}.btn-ghost:hover{background:rgba(255,255,255,.1)!important}
.hero .sub-link{color:#e3efe9;font-size:.95rem}
.hero .flag{font-size:3rem;line-height:1;display:block;margin-bottom:.6rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);border-radius:var(--r);overflow:hidden;margin-top:1.8rem}
.stats div{background:rgba(6,40,33,.55);padding:.9rem 1.1rem}.stats dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--gold);font-weight:700;margin-bottom:.2rem}.stats dd{margin:0;color:#fff;font-size:.95rem;line-height:1.45}
.stats .yes{color:#b7f0d8;font-weight:700}.stats .no{color:#ffd0b0;font-weight:700}
/* layout */
main{max-width:var(--wide);margin:auto;padding:1rem 1.25rem 3rem}
.crumbs{font-size:.85rem;color:var(--m);margin:.4rem 0 1rem}.crumbs a{color:var(--m)}.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}.crumbs li{margin:0}.crumbs li+li:before{content:"›";margin-right:.35rem;color:var(--m)}
.card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.25rem,3vw,2.2rem);margin:1.5rem 0;box-shadow:var(--shadow)}
.card>p,.card>ul,.card>ol,.card>h3,.card>h4,.card>blockquote,article.card>*:not(.tbl):not(table){max-width:var(--mw)}
article.card h2{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--line)}article.card h2:first-child{margin-top:0;padding-top:0;border:0}
/* tables */
.tbl{overflow-x:auto;margin:1.2rem 0;border:1px solid var(--line);border-radius:12px;-webkit-overflow-scrolling:touch;background:var(--surf)}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:.93rem;line-height:1.5}
th,td{padding:.75rem .9rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:var(--t);background:var(--surf)}
tbody tr:last-child>*{border-bottom:0}
thead th{background:var(--surf2);color:var(--t);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;border-bottom:2px solid var(--line)}
tbody tr:nth-child(even)>*{background:color-mix(in srgb,var(--surf2) 45%,var(--surf))}
tbody th[scope=row]{font-weight:700;background:var(--surf)}
#compare table,.ren table{min-width:820px}#compare td:nth-child(3),#compare td:nth-child(4){min-width:11rem}
#compare th[scope=row],.ren th[scope=row],#compare thead th:first-child,.ren thead th:first-child{position:sticky;left:0;z-index:1;min-width:9.5rem;box-shadow:1px 0 0 var(--line)}
#compare th[scope=row] a,.ren th[scope=row] a{text-decoration:none;color:var(--a);font-weight:700}#compare th[scope=row] a:hover{text-decoration:underline}
#compare td:last-child{font-weight:600;color:var(--a)}
.ren{border-color:var(--w-line)}.ren thead th{background:var(--w-soft);color:var(--t)}.ren td:last-child{color:var(--w);font-weight:600}
/* callouts */
.warn,.note,.cta,.aff{border-radius:12px;margin:1.2rem 0;padding:1rem 1.2rem;position:relative;max-width:none}
.warn{background:var(--w-soft);border:1px solid var(--w-line);border-left:4px solid var(--w);color:var(--t)}
.warn strong:first-child{color:var(--w)}
.note{background:var(--a-soft);border:1px solid color-mix(in srgb,var(--a) 25%,transparent);border-left:4px solid var(--a);font-size:.97rem}.note p{margin:0}
.cta{background:var(--surf);border:1px solid var(--line);box-shadow:var(--shadow);padding:1.3rem 1.4rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;justify-content:space-between}
.cta>strong{font-size:1.08rem;display:block;width:100%}
.cta .btn{margin-left:auto}
.story{border-top:4px solid #c9873a}
.btn,form.sub button{display:inline-block;background:var(--a);color:var(--surf);border:0;border-radius:10px;padding:.65rem 1.15rem;text-decoration:none;font-weight:650;cursor:pointer;font-size:.97rem;line-height:1.3;transition:background .15s,transform .15s}
.btn:hover,form.sub button:hover{background:var(--a-h);color:var(--surf);transform:translateY(-1px)}
@media(prefers-color-scheme:dark){.btn,form.sub button,.btn:hover,form.sub button:hover{color:#0c1714}}
.aff{font-size:.88rem;color:var(--m);background:var(--surf2);border:1px dashed var(--line);padding:.7rem 1rem}
.disc{font-size:.83rem;color:var(--m);text-align:center;margin:.8rem auto}
.src{font-size:.88rem;color:var(--m)}ul.src{columns:2 300px;column-gap:2rem;padding-left:1.1rem}ul.src li{break-inside:avoid;margin:.25rem 0;overflow-wrap:anywhere}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.legend{font-size:.87rem;color:var(--m);background:var(--surf);border:1px solid var(--line);border-radius:10px;padding:.6rem .9rem}
/* signup */
#signup{background:linear-gradient(160deg,var(--a-soft),var(--surf));}
#signup p{margin-left:auto;margin-right:auto}
form.sub{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:1.2rem auto .4rem;max-width:520px}
form.sub input{flex:1 1 240px;padding:.7rem .9rem;border-radius:10px;border:1.5px solid var(--line);font-size:1rem;background:var(--surf);color:var(--t);min-width:0}
form.sub input:focus{outline:3px solid var(--a);outline-offset:1px}
/* cards grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1.5rem}
.cc{border:1px solid var(--line);border-radius:12px;padding:1.2rem;background:var(--surf);display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s}
.cc:hover{border-color:var(--a);box-shadow:var(--shadow);transform:translateY(-2px)}
.cc h3{margin:0 0 .5rem;font-size:1.15rem}.cc h3 a{color:var(--t);text-decoration:none}.cc h3 a:hover{color:var(--a)}
.cc p{margin:.3rem 0;font-size:.93rem;color:var(--m)}.cc p strong{color:var(--t)}.cc p:last-child{margin-top:auto;padding-top:.6rem;font-weight:600}
.cc .cflag{font-size:2rem;line-height:1;display:block;margin-bottom:.5rem}
.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:99px;background:var(--a-soft);color:var(--a);border:1px solid color-mix(in srgb,var(--a) 30%,transparent);margin:.2rem 0 .4rem;align-self:flex-start}
.badge.no{background:var(--w-soft);color:var(--w);border-color:var(--w-line)}
#renunciation{background:var(--surf2);box-shadow:none;border-style:dashed}#renunciation h2:before{content:"⚠ ";color:var(--w)}#renunciation .cc{background:var(--surf)}#renunciation .cc:hover{border-color:var(--w)}
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem}.tools div{border:1px solid var(--line);border-radius:12px;padding:1rem;display:flex;flex-direction:column}.tools h3{margin:0 0 .3rem;font-size:1.05rem}.tools p{font-size:.92rem;color:var(--m)}.tools .btn{margin-top:auto;align-self:flex-start;background:var(--surf);color:var(--a);box-shadow:inset 0 0 0 1.5px var(--a)}.tools .btn:hover{background:var(--a-soft);color:var(--a-h)}
/* toc */
nav.card[aria-label="On this page"]{background:var(--surf2);box-shadow:none}nav.card[aria-label="On this page"] h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font);color:var(--m)}
.toc{columns:2 260px;column-gap:2rem;font-size:.95rem;margin:0;padding-left:1.3rem}.toc li{break-inside:avoid;margin:.2rem 0}.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}
#faq h3{font-size:1.08rem;margin-top:1.4rem}
footer{border-top:1px solid var(--line);background:var(--surf2);padding:2.5rem 1.25rem;color:var(--m);font-size:.88rem}footer .in{max-width:var(--wide);margin:auto}
footer nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.4rem 1.5rem;margin:0 0 1.5rem}footer a{color:var(--m)}footer a:hover{color:var(--a)}
ul.stories{max-width:none!important;list-style:none;padding:0;margin:1rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.9rem}.story-item{display:flex;gap:.8rem;border:1px solid var(--line);border-radius:12px;padding:1rem;margin:0;background:var(--surf)}.sflag{font-size:1.6rem;line-height:1}.story-item h3{font-size:1rem;margin:.1rem 0 .3rem;line-height:1.35}.story-item p{margin:0;font-size:.9rem;color:var(--m)}.story-item .smeta{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.vnote{font-style:italic}
.journey{border-top:4px solid var(--a)}.jintro{color:var(--m);font-size:.98rem}
.jline{list-style:none;margin:1.6rem 0 0;padding:0 0 0 0;position:relative;max-width:var(--mw)!important;--p:1}
.jline:before{content:"";position:absolute;left:1.35rem;top:.6rem;bottom:.6rem;width:3px;background:var(--line);border-radius:3px}
.jline:after{content:"";position:absolute;left:1.35rem;top:.6rem;width:3px;height:calc((100% - 1.2rem)*var(--p));background:var(--a);border-radius:3px;transition:height .2s linear}
.jstep{position:relative;display:flex;gap:1rem;margin:0 0 1.6rem;z-index:1}
.jicon{flex:0 0 2.9rem;height:2.9rem;border-radius:50%;background:var(--surf);border:3px solid var(--a);display:grid;place-items:center;font-size:1.3rem;box-shadow:0 0 0 5px var(--surf)}
.jbody{flex:1;min-width:0}.jbody h3{margin:.1rem 0 .35rem;font-size:1.15rem}.jbody p{margin:0 0 .5rem}
.jwhen{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--a);margin:.55rem 0 0!important}
.jfoot{display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center;font-size:.85rem}
.chip{display:inline-block;background:var(--surf2);border:1px solid var(--line);color:var(--t);border-radius:99px;padding:.15rem .65rem;font-size:.8rem}
.jdet{font-weight:650;text-decoration:none}.jdet:hover{text-decoration:underline}
.jfinal .jbody{background:linear-gradient(150deg,#0b4a3e,#13302a);color:#fff;border-radius:14px;padding:1.1rem 1.3rem;box-shadow:var(--shadow)}
.jfinal .jbody h3{color:#fff;font-family:var(--serif);font-size:1.4rem}.jfinal .jwhen{color:var(--gold)!important;margin-top:0!important}.jfinal .jbody p{color:#e3efe9}
.jfinal .chip{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff}.jfinal .jdet{color:var(--gold)}
.jfinal .jicon{background:var(--gold);border-color:var(--gold)}
.js-anim .jstep{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.js-anim .jstep.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js-anim .jstep{opacity:1;transform:none;transition:none}.jline:after{transition:none}}
.cc .teaser{margin-top:.4rem;font-size:.9rem}.cc .teaser a{font-weight:650}
.hp{display:none}.quizform fieldset{border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem 1rem;margin:0 0 1rem}.quizform legend{font-weight:700;padding:0 .3rem}.quizform label{display:block;padding:.45rem .6rem;border-radius:8px;cursor:pointer}.quizform label:hover{background:var(--surf2)}.quizform input{margin-right:.5rem;accent-color:var(--a)}#results:empty{display:none}#results{margin-top:1.5rem}.match{border:2px solid var(--a);border-radius:12px;padding:1rem 1.2rem;margin:.8rem 0;background:var(--a-soft)}.match h3{margin:0 0 .3rem}.match p{margin:.2rem 0;font-size:.95rem}.match .why{color:var(--m)}.qsub{flex-direction:column;align-items:stretch}form.sub.qsub input[type=email]{flex:none}.qsub .chk{font-size:.93rem;text-align:left}.qsub .consent{font-size:.82rem;color:var(--m);text-align:left;margin:0}
.hero-small{font-size:.95rem!important;color:#c9ddd5!important}
.steps4{list-style:none;padding:0;margin:1.2rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;max-width:none!important;counter-reset:st}
.steps4 li{margin:0;padding:1.1rem;border-radius:12px;background:var(--a-soft);position:relative;counter-increment:st}.steps4 li>span{font-size:1.7rem;display:block}.steps4 strong{display:block;margin:.4rem 0 .3rem;font-size:1.05rem}.steps4 p{margin:0;font-size:.93rem;color:var(--m)}
.steps4 li:before{content:counter(st);position:absolute;top:.8rem;right:1rem;font:800 .85rem var(--font);color:var(--a)}
#qualify table{min-width:1060px}#qualify .hc{min-width:15rem;font-size:.88rem}#qualify th[scope=row],#qualify thead th:first-child{position:sticky;left:0;z-index:1;min-width:8.5rem;box-shadow:1px 0 0 var(--line)}#qualify th[scope=row] a{text-decoration:none;font-weight:700}.quizlink{margin-top:1rem;font-size:.98rem;color:#e3efe9}.quizlink a{color:var(--gold)}#qualify .muted{color:var(--m)}
.worry details{border:1px solid var(--line);border-radius:10px;margin:.6rem 0;background:var(--surf);max-width:var(--mw)}.worry summary{cursor:pointer;padding:.8rem 1rem;font-weight:650;list-style-position:inside}.worry details p{padding:0 1rem .9rem;margin:0}
.firststep{background:var(--a-soft);border:2px solid var(--a);border-radius:var(--r);padding:clamp(1.1rem,3vw,1.8rem);margin:1rem 0 1.5rem}.firststep h2{margin-bottom:.8rem}
.firststep dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin:0 0 1rem}.firststep dl div{background:var(--surf);border-radius:10px;padding:.8rem 1rem}.firststep dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--a)}.firststep dd{margin:.2rem 0 0;font-size:.95rem}.firststep>p{margin:0;font-weight:500}
.jdivider{margin:0 0 1.6rem 3.9rem;border-top:2px dashed var(--line);position:relative}.jdivider span{position:relative;top:-.8rem;background:var(--surf);padding:0 .5rem;font-size:.8rem;font-weight:700;color:var(--m);text-transform:uppercase;letter-spacing:.06em}
.refh{margin-top:2.5rem}.refp{color:var(--m)}
details.ref>summary{cursor:pointer;font-weight:700;font-size:1.05rem;color:var(--a);list-style-position:inside}details.ref[open]>summary{margin-bottom:1rem}
details.ref article h2{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--line)}details.ref article>*{max-width:var(--mw)}details.ref article>.tbl{max-width:none}
@media(max-width:600px){.jdivider{margin-left:3.3rem}.jicon{flex-basis:2.5rem;height:2.5rem;font-size:1.1rem}.jline:before,.jline:after{left:1.15rem}main{padding:.75rem .9rem 2rem}.card{margin:1rem 0}th,td{padding:.6rem .7rem}.warn,.note{padding-left:2.7rem}.cta .btn{margin-left:0}#compare th[scope=row],.ren th[scope=row],#compare thead th:first-child,.ren thead th:first-child{min-width:7.5rem}}
