:root{--ivory:#faf7f2;--paper:#fffdf9;--ink:#1c1b1a;--char:#3b3835;--muted:#6f6a63;--line:#e4ddd1;--gold:#a8895a;--gold2:#8a6f45;--deep:#23272b;
--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L","P052",Georgia,"Times New Roman",serif;
--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.65 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:99}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
/* ad label */
.adtag{display:inline-block;font:600 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--ink);padding:.42em .6em .36em;border-radius:2px;vertical-align:middle}
.adtag.sm{font-size:.6rem}.adtag.lg{font-size:.78rem;position:relative;top:-.35em;margin-right:.2em}
.adbar{background:var(--deep);color:#e9e4da;font-size:.82rem;line-height:1.45;padding:9px 22px;display:flex;gap:10px;justify-content:center;align-items:center;text-align:left}
.adbar .adtag{background:var(--gold);color:#fff}.adbar a{color:#fff}
/* header */
header.site{background:var(--ivory);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:64px}
.wordmark{font:500 1.35rem/1 var(--serif);letter-spacing:.02em;text-decoration:none;color:var(--ink);white-space:nowrap;text-align:center}
.wm-the{font-style:italic;color:var(--gold2)}.wordmark.small{font-size:1.15rem}
.menubtn{justify-self:start;display:flex;align-items:center;gap:10px;background:none;border:0;padding:10px 0;font:500 .78rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);cursor:pointer;min-height:44px}
.burger,.burger:before,.burger:after{display:block;width:20px;height:1.5px;background:var(--ink);position:relative;content:""}
.burger:before{position:absolute;top:-6px}.burger:after{position:absolute;top:6px}
.allg{justify-self:end;font:500 .78rem var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:10px 0}
.topnav{display:none;justify-content:center;gap:34px;padding:0 22px 14px;font:500 .76rem var(--sans);letter-spacing:.16em;text-transform:uppercase}
.topnav a{text-decoration:none;color:var(--char);padding:4px 0;border-bottom:1px solid transparent}.topnav a:hover{border-color:var(--gold)}
@media(max-width:560px){.mlabel,.allg{display:none}.bar{grid-template-columns:44px 1fr 44px}.wordmark{font-size:1.2rem}}
@media(min-width:900px){.topnav{display:flex}}
/* menu overlay */
.menu{position:fixed;inset:0;background:var(--ivory);z-index:50;overflow-y:auto}
.menu[hidden]{display:none}.menuin{padding-top:14px;padding-bottom:40px}
.mtop{display:flex;justify-content:space-between;align-items:center;height:50px;border-bottom:1px solid var(--line);margin-bottom:22px}
.close{background:none;border:1px solid var(--ink);padding:9px 16px;font:500 .74rem var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;min-height:44px;color:var(--ink)}
.mgrid{display:grid;gap:26px}@media(min-width:760px){.mgrid{grid-template-columns:repeat(4,1fr)}}
.mhead{font:500 .72rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);margin:0 0 10px}
.mcol ul{list-style:none;margin:0;padding:0}.mcol li a{display:block;padding:7px 0;font:1.18rem/1.3 var(--serif);text-decoration:none;border-bottom:1px solid var(--line)}
.mfoot{margin-top:28px;font-size:.88rem;color:var(--muted)}
body.noscroll{overflow:hidden}
/* type */
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.005em;color:var(--ink)}
.kicker{font:500 .74rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);margin:0 0 14px}
.lede{font:1.16rem/1.6 var(--serif);color:var(--char);max-width:40em}
.sh{font-size:clamp(1.6rem,3.2vw,2.2rem);margin:0 0 6px}.sh.center{text-align:center}
/* hero */
.hero{border-bottom:1px solid var(--line);background:radial-gradient(1200px 400px at 50% 0,#fff 0,var(--ivory) 70%)}
.heroin{text-align:center;padding:64px 22px 70px;max-width:860px}
.htitle{font-size:clamp(2.7rem,9vw,5.6rem);line-height:.98;margin:0 0 22px;font-weight:400}.htitle em{color:var(--gold2)}
.hero .lede{margin:0 auto 26px}
.hcta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.btn{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;font:500 .78rem var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:16px 26px;border:1px solid var(--ink);min-height:48px}
.btn.ghost{background:transparent;color:var(--ink)}.btn:hover{background:var(--char)}.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.hnote{font-size:.82rem;color:var(--muted);margin-top:22px}
/* featured */
.feats{padding:64px 22px 10px}
.featgrid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:26px}@media(min-width:760px){.featgrid{grid-template-columns:repeat(3,1fr)}}
.feat{background:var(--paper);padding:30px 28px 32px;text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:background .2s}
.feat:hover{background:#fff}.fnum{font:italic 2.4rem/1 var(--serif);color:var(--gold)}
.ft{font:1.6rem/1.2 var(--serif)}.fd{color:var(--muted);font-size:.95rem}.flink{margin-top:auto;padding-top:10px;font:500 .74rem var(--sans);letter-spacing:.16em;text-transform:uppercase}
/* sections + tiles */
.hsec{padding:60px 22px 0}.shead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px;border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:22px}
.shead p{margin:0;color:var(--muted);font-size:.95rem}
.gtiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:760px){.gtiles{grid-template-columns:repeat(4,1fr);gap:16px}}
.gtile{display:flex;flex-direction:column;gap:6px;min-height:150px;background:var(--paper);border:1px solid var(--line);padding:18px 16px;text-decoration:none;transition:border-color .2s,transform .2s;position:relative}
.gtile:after{content:"";position:absolute;left:16px;right:16px;bottom:14px;height:1px;background:var(--line)}
.gtile:hover{border-color:var(--gold);transform:translateY(-2px)}
.gk{font:500 .64rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold2)}
.gt{font:1.28rem/1.2 var(--serif)}.gc{margin-top:auto;padding-bottom:10px;font-size:.8rem;color:var(--muted)}
.promise{display:grid;gap:20px;padding:70px 22px 20px}@media(min-width:760px){.promise{grid-template-columns:1fr 2fr}}
.promise ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}.promise li{border-top:1px solid var(--line);padding-top:14px;color:var(--char)}
.promise strong{font-family:var(--serif);font-weight:600}
/* guide page */
.ghead{padding:40px 22px 26px;max-width:900px}
.crumbs{font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.crumbs a{color:var(--muted)}
.ghead h1{font-size:clamp(2.1rem,6vw,3.6rem);line-height:1.05;margin:0 0 18px;font-weight:400}
.gmeta{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:22px}
.plist{display:grid;gap:0;border-top:1px solid var(--ink);margin-bottom:10px}@media(min-width:860px){.plist{grid-template-columns:1fr 1fr;column-gap:48px}}
.pcard{display:grid;grid-template-columns:56px 1fr;gap:14px;padding:26px 0;border-bottom:1px solid var(--line)}
.pnum{font:italic 2rem/1 var(--serif);color:var(--gold)}
.pmeta{margin:0 0 6px;display:flex;align-items:center;gap:10px;font:500 .66rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pcard h3{font-size:1.32rem;line-height:1.25;margin:0 0 6px}.pwhy{margin:0 0 14px;color:var(--char)}
.pbtn{display:inline-block;text-decoration:none;font:500 .74rem var(--sans);letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding:8px 0 4px;min-height:44px}
.pbtn:hover{color:var(--gold2);border-color:var(--gold2)}
.noths{background:var(--paper);border:1px solid var(--line);padding:30px 28px;margin:40px 0 0;text-align:center}.noths h2{font-size:1.8rem;margin:.2em 0}.noths p{color:var(--char)}
.related{padding:56px 22px 10px}.related .sh{border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:22px}
.prose{max-width:760px;padding:44px 22px 20px}.prose h1{font-size:clamp(2rem,5vw,3rem);font-weight:400;margin:0 0 20px}.prose h2{font-size:1.5rem;margin-top:1.6em}
/* footer */
footer.site{margin-top:80px;background:var(--deep);color:#cfc9be;padding:50px 0 40px;font-size:.88rem}
footer.site a{color:#fff}.fword{font:1.6rem var(--serif);color:#fff;margin:0 0 14px}.fnote{max-width:60em;color:#b9b3a8}
.flinks{display:flex;flex-wrap:wrap;gap:8px 22px;margin:22px 0}.flinks a{text-decoration:none;font:500 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase}
.fcopy{color:#8f897f;font-size:.8rem}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* faq + signup */
.faq{padding:50px 22px 0;max-width:900px}.faq .sh{border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:6px}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq summary{cursor:pointer;font:1.12rem/1.4 var(--serif);list-style-position:outside}
.faq details p{margin:10px 0 0;color:var(--char)}
.signup{padding:70px 22px 0}.suin{background:var(--paper);border:1px solid var(--line);padding:40px 26px;text-align:center;max-width:760px;margin:0 auto}
.sutext{color:var(--char);margin:0 0 20px}.suform{max-width:520px;margin:0 auto}
.surow{display:flex;gap:10px;flex-wrap:wrap}.surow input{flex:1 1 220px;min-width:0;min-height:48px;border:1px solid var(--ink);background:#fff;padding:0 14px;font:1rem var(--sans);color:var(--ink);border-radius:0}
.surow .btn{flex:0 0 auto;cursor:pointer}
.consent{display:flex;gap:10px;align-items:flex-start;text-align:left;font-size:.86rem;color:var(--char);margin-top:14px;line-height:1.45}.consent input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--ink)}
.hp{display:none}
@media(max-width:560px){.surow .btn{flex:1 1 100%}}
/* v3: sections */
body.hasnav header.site{position:relative}
.secnav{position:sticky;top:0;z-index:15;background:rgba(250,247,242,.97);border-bottom:1px solid var(--line);border-top:1px solid var(--line);backdrop-filter:saturate(1.2) blur(6px)}
.secin{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:10px;padding-bottom:10px;-webkit-overflow-scrolling:touch}.secin::-webkit-scrollbar{display:none}
.secin a{flex:0 0 auto;text-decoration:none;font:500 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--char);padding:9px 14px;border:1px solid var(--line);background:var(--paper);white-space:nowrap}
.secin a:hover,.secin a.on{border-color:var(--ink);color:var(--ink)}
.gsec{padding:44px 22px 0;scroll-margin-top:64px}
.gsec .plist{border-top:0}
.more{font-size:.86rem;color:var(--muted);margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.more a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);padding:6px 0}.mlab{font-weight:600;color:var(--char)}
.clist{list-style:none;margin:0;padding:0;display:grid;gap:10px}@media(min-width:760px){.clist{grid-template-columns:repeat(3,1fr)}}
.clist a{display:grid;gap:2px;padding:16px;background:var(--paper);border:1px solid var(--line);text-decoration:none}.clist a:hover{border-color:var(--gold)}
.cg{font:500 .64rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold2)}.cs{font:1.2rem/1.25 var(--serif)}.cn{font-size:.8rem;color:var(--muted)}
/* v4: imagery */
.hero.hashero .heroin{max-width:1160px;text-align:left;display:grid;gap:34px;align-items:center;padding-top:44px;padding-bottom:54px}
.hero.hashero .lede{margin-left:0}.hero.hashero .hcta{justify-content:flex-start}
.hfig{margin:0;position:relative}.hfig:before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--gold);z-index:0}
.himg{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
@media(min-width:900px){.hero.hashero .heroin{grid-template-columns:1.05fr 1fr;gap:56px;padding-top:70px;padding-bottom:80px}.hero.hashero .htitle{font-size:clamp(3rem,6vw,5.2rem)}}
@media(max-width:899px){.hero.hashero .heroin{text-align:center}.hero.hashero .lede{margin:0 auto 26px}.hero.hashero .hcta{justify-content:center}.hfig:before{inset:10px -8px -10px 8px}}
.gband{margin:0 auto;padding-top:0;padding-bottom:6px}.gimgw{display:block;width:100%;height:auto;aspect-ratio:5/2;object-fit:cover}
@media(max-width:640px){.gimgw{aspect-ratio:16/10}}
.sband{margin:0 0 22px}.simg{display:block;width:100%;height:auto;aspect-ratio:4/1;object-fit:cover;filter:saturate(.92)}
@media(max-width:640px){.simg{aspect-ratio:5/2}}
.gtile.hasimg{padding-top:0;min-height:0;overflow:hidden}.gtile.hasimg .gimg{display:block;max-width:none;width:calc(100% + 32px);margin:0 -16px 12px;height:auto;aspect-ratio:8/5;object-fit:cover;transition:transform .4s}
.gtile.hasimg:hover .gimg{transform:scale(1.03)}
.feat .fimg{display:block;max-width:none;width:calc(100% + 56px);margin:-30px -28px 18px;height:auto;aspect-ratio:8/5;object-fit:cover}
.credits{columns:2;column-gap:30px;font-size:.88rem}@media(max-width:640px){.credits{columns:1}}.credits li{margin-bottom:6px;break-inside:avoid}

/* v5: guide section tabs */
.secanchor{height:0;overflow:hidden;scroll-margin-top:0}
.secnav.sectabs .secin{gap:8px;padding-top:12px;padding-bottom:12px;align-items:center}
.secnav.sectabs .stab{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;text-decoration:none;font:500 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--char);padding:8px 16px;border:1px solid var(--line);background:var(--paper);white-space:nowrap;border-radius:999px;cursor:pointer}
.secnav.sectabs .stab:hover{border-color:var(--ink);color:var(--ink)}
.secnav.sectabs .stab.on,.secnav.sectabs .stab[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.secnav.sectabs .stab.showall{border-color:var(--gold);color:var(--gold2)}
.secnav.sectabs .stab.showall:hover{border-color:var(--ink);color:var(--ink)}
.secnav.sectabs .stab.showall.on,.secnav.sectabs .stab.showall[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
html.js:not(.tabs-ready) .gsecs .gsec:not(:first-child){display:none}
.gsecs{overflow-anchor:none}
html.js.tabs-ready .gsecs .gsec.is-hidden{display:none}
