/* Publication theme (spec-rss-syndication §3). One stylesheet for every publication; each sets --accent/--ink/--paper.
   Fonts: Fraunces (headings) + Inter (text), Cinzel (display option), all SIL OFL, self-hosted. No JS needed to read anything.
   Publications pick `theme_mode` (light | dark) and an optional display font; .theme-dark below re-skins every component. */
@font-face{font-family:Fraunces;src:url(fonts/Fraunces.woff) format("woff");font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url(fonts/Fraunces-Italic.woff) format("woff");font-style:italic;font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/Inter.woff) format("woff");font-weight:100 900;font-display:swap}
@font-face{font-family:Cinzel;src:url(fonts/Cinzel.woff2) format("woff2");font-weight:400 900;font-display:swap}

:root{
  --ink:#13233d; --ink-2:#3b4a62; --muted:#6f6455; --accent:#e8552a; --accent-ink:#fff; --accent-soft:#fde7dc;
  --paper:#fbf7f0; --card:#fff; --rule:#e7ddcd; --rule-2:#d8ccb8; --focus:#2563eb;
  --serif:Fraunces,Georgia,"Times New Roman",serif; --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1120px; --prose:680px; --r:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans);font-feature-settings:"ss01","cv11"}
a{color:inherit} img{max-width:100%;height:auto;display:block}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;border-radius:8px;z-index:10} .skip:focus{left:8px}

/* ---------- header ---------- */
.site-head{background:var(--paper);border-bottom:1px solid var(--rule)}
.site-head .wrap{display:flex;align-items:center;gap:24px;min-height:76px}
.brand{display:block;flex:none} .brand img{height:38px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{text-decoration:none;font-weight:600;font-size:15px;color:var(--ink-2);padding:8px 12px;border-radius:999px;white-space:nowrap}
@media (max-width:900px){ .nav{gap:0} .nav a{padding:8px 9px} }
.nav a:hover,.nav a[aria-current=page]{color:var(--ink);background:#f1e9dc}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 var(--sans);border:0;border-radius:999px;padding:13px 20px;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-accent{background:var(--accent);color:var(--accent-ink)} .btn-accent:hover{filter:brightness(.94)}
.btn-ink{background:var(--ink);color:#fff}
.nav .btn{margin-left:8px;padding:10px 18px} .nav a.btn-accent,.nav a.btn-accent:hover{color:var(--accent-ink);background:var(--accent)}
@media (max-width:760px){ .nav a:not(.btn){display:none} .brand img{height:32px} }

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:650;letter-spacing:-.015em;line-height:1.12;font-variation-settings:"opsz" 72,"SOFT" 0;margin:0}
.eyebrow{font:700 12.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.kicker{font:700 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.lede{font-size:20px;line-height:1.55;color:var(--ink-2)}
.meta{font-size:14px;color:var(--muted)} .meta a{color:var(--ink-2)}
.dot::before{content:"·";margin:0 .5em;color:var(--rule-2)}

/* ---------- hero ---------- */
.hero{padding:64px 0 56px;border-bottom:1px solid var(--rule)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(40px,5.4vw,64px);margin:14px 0 18px}
.hero h1 em{font-style:italic;font-weight:520;color:var(--accent)}
.hero .lede{max-width:34em;margin:0 0 26px}
@media (max-width:900px){ .hero .wrap{grid-template-columns:1fr;gap:36px} .hero{padding:40px 0} }

/* ---------- signup form ---------- */
.signup{display:grid;gap:10px;max-width:560px}
.signup .row{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr) auto;gap:8px}
/* narrow cards (article sidebar): one field per line, full-width button */
.article-body aside .signup .row,.article-body aside .signup .row:not(:has(input[name=first_name])){grid-template-columns:1fr} .article-body aside .signup .btn{width:100%}
.signup .row:not(:has(input[name=first_name])){grid-template-columns:minmax(0,1fr) auto}
.signup input[type=email],.signup input[type=text]{font:inherit;font-size:16px;padding:13px 15px;border:1px solid var(--rule-2);border-radius:12px;background:#fff;color:var(--ink);min-width:0}
.signup input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px rgba(19,35,61,.12)}
.signup .fine{font-size:13px;color:var(--muted);margin:0;line-height:1.5}
.signup .fine a{color:var(--ink-2)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (max-width:620px){ .signup .row,.signup .row:not(:has(input[name=first_name])){grid-template-columns:1fr} .signup .btn{width:100%} }
.signup-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:26px 28px}
.signup-card h2{font-size:26px;margin:6px 0 8px} .signup-card p.blurb{margin:0 0 16px;color:var(--ink-2)}
.signup-band{background:var(--ink);color:#fbf7f0;border-radius:20px;padding:44px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center}
.signup-band h2{font-size:clamp(28px,3.4vw,40px);color:#fbf7f0} .signup-band p{color:#d9d1c3;margin:10px 0 0}
.signup-band .fine{color:#b9b0a1} .signup-band .fine a{color:#fbf7f0}
@media (max-width:900px){ .signup-band{grid-template-columns:1fr;padding:30px;gap:22px} }

/* ---------- newsletter preview card (hero, right) ---------- */
.preview{background:#fff;border:1px solid var(--rule);border-radius:18px;box-shadow:0 18px 40px -22px rgba(19,35,61,.35);overflow:hidden;transform:rotate(-1deg)}
.preview .ph{padding:16px 20px 10px;text-align:center;border-bottom:1px solid var(--rule)} .preview .ph img{height:30px;margin:0 auto}
.preview .pm{display:flex;justify-content:space-between;font:700 10.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:9px 20px;border-bottom:3px double var(--ink)}
.preview .pb{padding:16px 20px 20px;display:grid;gap:12px}
.preview .pi .k{font:700 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.preview .pi h3{font-size:18px;margin:5px 0 3px} .preview .pi p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.5}
.preview .num{display:flex;gap:14px;align-items:center;background:var(--accent-soft);border-radius:12px;padding:12px 14px}
.preview .num b{font:650 30px/1 var(--serif);color:var(--accent)} .preview .num span{font-size:13.5px;line-height:1.4;color:var(--ink-2)}
@media (max-width:900px){ .preview{transform:none} }

/* ---------- sections + cards ---------- */
section.block{padding:64px 0} section.block + section.block{padding-top:8px}
.block-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}
.block-head h2{font-size:clamp(28px,3vw,36px)} .block-head a{font-weight:600;font-size:15px;color:var(--ink-2)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:960px){ .cards{grid-template-columns:repeat(2,minmax(0,1fr))} } @media (max-width:620px){ .cards{grid-template-columns:1fr} }
.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-2px);box-shadow:0 14px 30px -20px rgba(19,35,61,.45)}
.card h3{font-size:23px} .card p{margin:0;color:var(--ink-2);font-size:15.5px;line-height:1.55} .card .meta{margin-top:auto;padding-top:8px}
.card.lead{grid-column:span 2;background:var(--ink);color:#fbf7f0;border-color:var(--ink)} .card.lead h3{font-size:clamp(28px,3vw,36px)} .card.lead p{color:#d9d1c3} .card.lead .meta,.card.lead .kicker{color:#b9b0a1}
@media (max-width:620px){ .card.lead{grid-column:auto} }
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media (max-width:860px){ .features{grid-template-columns:1fr} }
.feature{border-top:3px solid var(--ink);padding-top:16px} .feature h3{font-size:22px;margin:8px 0 6px} .feature p{margin:0;color:var(--ink-2)}
.promises{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 34px;list-style:none;padding:0;margin:0}
@media (max-width:760px){ .promises{grid-template-columns:1fr} }
.promises li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--rule)}
.promises li::before{content:"";width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23e8552a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.promises b{display:block}

/* ---------- article ---------- */
.article-head{padding:52px 0 26px;border-bottom:1px solid var(--rule)}
.article-head .inner{max-width:820px}
.article-head h1{font-size:clamp(34px,4.6vw,54px);margin:14px 0 14px}
.article-head .lede{margin:0 0 20px}
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;font-size:14.5px;color:var(--muted)} .byline a{color:var(--ink);font-weight:600;text-decoration:none}
.article-body{display:grid;grid-template-columns:minmax(0,var(--prose)) minmax(0,1fr);gap:56px;padding-top:36px;padding-bottom:64px}
.article-body aside{position:sticky;top:20px;align-self:start}
@media (max-width:1000px){ .article-body{grid-template-columns:minmax(0,1fr)} .article-body aside{position:static} }
.prose{font-size:18.5px;line-height:1.72}
.prose > *{margin:0 0 1.05em}
.prose h2{font-size:29px;margin:1.6em 0 .55em} .prose h3{font-size:22px;margin:1.4em 0 .5em}
.prose a{color:var(--ink);text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.25em} .prose li{margin:.35em 0}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:4px solid var(--accent);font-family:var(--serif);font-size:22px;line-height:1.45;color:var(--ink)}
.prose table{width:100%;border-collapse:collapse;font-size:16px} .prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule)} .prose th{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.prose .callout{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--ink);border-radius:10px;padding:16px 20px;font-size:16.5px}
.prose .callout p{margin:0 0 .6em} .prose .callout p:last-child{margin:0}
.inline-signup{margin:2em 0;background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:22px 24px;font-size:16px}
.inline-signup h3{font-size:22px;margin:4px 0 6px} .inline-signup p.blurb{margin:0 0 14px;color:var(--ink-2)}
.sources{border-top:1px solid var(--rule);padding-top:18px;font-size:15px;color:var(--ink-2)}
.sources h2{font-size:20px;margin:0 0 10px} .sources ol{margin:0;padding-left:1.2em} .sources li{margin:.3em 0;overflow-wrap:anywhere}
.disclaimer{font-size:14.5px;color:var(--muted);background:#f4ede1;border-radius:10px;padding:12px 16px}

/* ---------- plain pages ---------- */
.page{padding:52px 0 72px} .page .inner{max-width:var(--prose)} .page h1{font-size:clamp(34px,4.4vw,50px);margin:12px 0 18px}
.center{text-align:center} .center .inner{margin:0 auto}
.big-check{width:72px;height:72px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;margin:0 auto 16px}

/* ---------- archive ---------- */
.archive-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.archive-list li{padding:18px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:130px 1fr;gap:18px}
.archive-list h3{font-size:22px} .archive-list a{text-decoration:none} .archive-list p{margin:4px 0 0;color:var(--ink-2);font-size:15.5px}
@media (max-width:620px){ .archive-list li{grid-template-columns:1fr;gap:6px} }

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:#d9d1c3;margin-top:24px}
.site-foot .wrap{padding-top:44px;padding-bottom:36px;display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.7fr));gap:34px}
@media (max-width:1000px){ .site-foot .wrap{grid-template-columns:repeat(3,minmax(0,1fr))} .site-foot .wrap > div:first-child{grid-column:1/-1} }
.site-foot img{height:34px;width:auto} .site-foot p{font-size:14.5px;line-height:1.6;margin:14px 0 0;max-width:34em}
.site-foot h4{font:700 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#b9b0a1;margin:6px 0 12px}
.site-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:8px} .site-foot a{color:#fbf7f0;text-decoration:none;font-size:15px} .site-foot a:hover{text-decoration:underline}
.site-foot .legal{grid-column:1/-1;border-top:1px solid #2b3c58;padding-top:18px;font-size:13px;color:#a79e8f;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
@media (max-width:620px){ .site-foot .wrap{grid-template-columns:1fr 1fr} }

/* ---------- reader utility bar (manage subscription, republish, RSS) ---------- */
.util{background:var(--ink);color:#d9d1c3;font-size:13.5px}
.util .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px}
.util-tag{font-family:var(--serif);font-style:italic;color:#b9b0a1}
.util nav{display:flex;gap:4px}
.util a{color:#fbf7f0;text-decoration:none;font-weight:600;padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:7px}
.util a:hover,.util a[aria-current=page]{background:#22344f}
.util-manage svg{color:var(--accent)}
@media (max-width:760px){ .util-tag,.util .util-x{display:none} .util .wrap{justify-content:center} }

/* ---------- labels: sponsored, premium ---------- */
.tag-sp,.tag-pro{display:inline-block;font:700 10.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:4px 7px;border-radius:5px;margin-right:9px;vertical-align:1px}
.tag-sp{background:#ece7fb;color:#4a3a9a} .tag-pro{background:var(--ink);color:#fbf7f0}
.card.lead .tag-pro{background:var(--accent)}
.sp-disclosure{font-size:14.5px;color:var(--ink-2);background:#f3f0fb;border:1px solid #e1dbf5;border-radius:10px;padding:12px 16px;margin:0 0 26px}

/* ---------- sponsor placement: looks like an ad, labelled as one ---------- */
.sponsor{margin-top:22px;border:1px solid #e1dbf5;border-radius:var(--r);background:linear-gradient(160deg,#f7f5ff 0%,#fff 55%,#eefaf9 100%);overflow:hidden}
.sp-label{display:flex;justify-content:space-between;gap:10px;padding:8px 14px;border-bottom:1px solid #e9e4f8;font:700 10.5px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#7a73a0}
.sp-note{letter-spacing:.04em;text-transform:none;font-weight:600}
.sp-body{display:grid;gap:12px;padding:18px 20px 20px;text-decoration:none;color:#18152f}
.sp-brand{display:flex;align-items:center;gap:9px} .sp-brand img{height:22px;width:auto} .sp-brand b{font:800 18px/1 var(--sans);letter-spacing:-.03em;color:#5a48a8}
.sp-copy{display:grid;gap:6px} .sp-copy strong{font:800 21px/1.18 var(--sans);letter-spacing:-.02em} .sp-copy span{font-size:15px;line-height:1.5;color:#55527a}
.sp-cta{justify-self:start;background:linear-gradient(135deg,#8367d6,#5a48a8);color:#fff;font:700 14.5px/1 var(--sans);padding:11px 17px;border-radius:999px}
.sp-body:hover .sp-cta{filter:brightness(1.08)}
.sponsor.wide .sp-body{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px;padding:24px 28px}
.sponsor.wide .sp-brand img{height:30px} .sponsor.wide .sp-brand b{font-size:22px} .sponsor.wide .sp-copy strong{font-size:25px}
@media (max-width:860px){ .sponsor.wide .sp-body{grid-template-columns:1fr;gap:12px;padding:18px 20px 20px} }

/* ---------- in-place signup results, language + channel choices ---------- */
.signup .result{margin:0;font-weight:600;color:#1f6b3a;background:#e5f4e9;border-radius:10px;padding:11px 14px;font-size:15px}
.signup .result.err{color:#9b2c16;background:#fde7dc}
.signup.done .row,.signup.done .prefs,.signup.done .fine{display:none}
.prefs{display:grid;gap:10px;padding:12px 14px;background:#f6f0e6;border-radius:12px;font-size:15px}
.pref-lang{display:flex;align-items:center;gap:10px;flex-wrap:wrap} .pref-lang span{font-weight:600}
.pref-lang select{font:inherit;font-size:15px;padding:8px 10px;border:1px solid var(--rule-2);border-radius:10px;background:#fff;color:var(--ink);flex:1;min-width:12em}
.pref-chan{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.pref-chan legend{float:left;font-weight:600;margin-right:12px} .pref-chan label{display:inline-flex;gap:7px;align-items:center;cursor:pointer}
.pref-chan input{width:17px;height:17px;accent-color:var(--accent)}
.hero-alt{font-size:14.5px;color:var(--ink-2);margin:14px 0 0} .hero-alt a{font-weight:600;color:var(--ink)}

/* ---------- the reader wall ---------- */
.walled .gate-after{max-height:15em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 10%,transparent 92%);mask-image:linear-gradient(#000 10%,transparent 92%);pointer-events:none;user-select:none}
.walled .inline-signup,.walled .article-body .sources,.walled .disclaimer,.walled .republish{display:none}
.wall{position:fixed;inset:auto 0 0 0;z-index:40;display:flex;justify-content:center;padding:0 12px;pointer-events:none}
.wall::before{content:"";position:fixed;inset:0;background:linear-gradient(to bottom,transparent 25%,rgba(19,35,61,.38));opacity:0;transition:opacity .5s;pointer-events:none}
.wall-in{position:relative;pointer-events:auto;width:min(760px,100%);background:var(--paper);border-radius:24px 24px 0 0;border-top:5px solid var(--accent);
  box-shadow:0 -24px 60px -20px rgba(19,35,61,.55);padding:26px 32px 22px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 20px;
  transform:translateY(105%);transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.wall.in::before{opacity:1} .wall.in .wall-in{transform:none}
.wall-mark{width:52px;height:52px;border-radius:14px;grid-row:span 1}
.wall-copy h2{font-size:clamp(26px,3.2vw,34px);margin:6px 0 6px} .wall-copy p{margin:0 0 14px;color:var(--ink-2);font-size:16px;line-height:1.5}
.wall .signup,.wall-perks,.wall-alt{grid-column:1/-1}
.wall .signup{max-width:none} .wall .signup .fine{display:none}
.wall .signup input[type=email]{font-size:17px;padding:15px 16px} .wall .signup .btn{padding:15px 24px;font-size:16px}
.wall-perks{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;padding:0;margin:12px 0 0;font-size:14px;color:var(--ink-2)}
.wall-perks li::before{content:"✓";color:var(--accent);font-weight:800;margin-right:6px}
.wall-alt{margin:10px 0 0;font-size:13.5px;color:var(--muted)} .wall-alt a{color:var(--ink-2)}
@media (max-width:620px){ .wall{padding:0} .wall-in{padding:20px 18px 16px;border-radius:20px 20px 0 0;grid-template-columns:1fr} .wall-mark{display:none} }
@media (prefers-reduced-motion:reduce){ .wall-in,.wall::before{transition:none} }

/* ---------- premium: paywall card, home band, plan page ---------- */
.paywall{margin:1.6em 0;background:var(--ink);color:#fbf7f0;border-radius:18px;padding:28px 30px;font-size:16px;position:relative}
.paywall::before{content:"";position:absolute;left:0;right:0;top:-90px;height:90px;background:linear-gradient(to bottom,rgba(251,247,240,0),var(--paper));pointer-events:none}
.paywall h3{font-size:26px;color:#fbf7f0;margin:8px 0 8px} .paywall p{color:#d9d1c3;margin:0 0 14px} .paywall .fine{font-size:13.5px;margin:12px 0 0} .paywall .fine a{color:#fbf7f0}
.pro-perks{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px}
.pro-perks li{display:flex;gap:10px;align-items:flex-start} .pro-perks li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.pro-band{background:var(--card);border:1px solid var(--rule);border-radius:20px;padding:40px 44px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;position:relative;overflow:hidden}
.pro-band::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:var(--accent-soft);z-index:0}
.pro-band > *{position:relative;z-index:1}
.pro-band h2{font-size:clamp(28px,3.4vw,40px);margin:8px 0 10px} .pro-band p{color:var(--ink-2);margin:0}
@media (max-width:900px){ .pro-band{grid-template-columns:1fr;padding:30px;gap:22px} }
.pro-page{margin:8px 0 34px}
.pro-plan{background:var(--card);border:1px solid var(--rule);border-top:5px solid var(--accent);border-radius:18px;padding:28px 30px;max-width:520px}
.pro-price{display:flex;align-items:baseline;gap:6px;margin:10px 0 2px} .pro-price b{font:650 54px/1 var(--serif)} .pro-price span{color:var(--muted);font-weight:600}
.pro-alt{margin:0 0 18px;color:var(--ink-2);font-size:15px}
.pro-soon{font-size:15px;color:var(--ink-2);background:#f6f0e6;border-radius:10px;padding:12px 14px}

/* ---------- manage your subscription ---------- */
.page.wide .inner{max-width:980px}
.manage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:10px 0 40px}
.m-card{background:var(--card);border:1px solid var(--rule);border-radius:18px;padding:26px 28px;display:flex;flex-direction:column;gap:10px}
.m-card h2{font-size:27px} .m-card > p{margin:0 0 6px;color:var(--ink-2);font-size:16px}
.m-card .signup .row{grid-template-columns:minmax(0,1fr) auto}
.m-card .signup .row:has(input[name=first_name]){grid-template-columns:minmax(0,.8fr) minmax(0,1fr)} .m-card .signup .row:has(input[name=first_name]) .btn{grid-column:1/-1}
.m-step{font:700 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.m-wide{grid-column:1/-1}
.m-chan{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:center;background:var(--ink);border-color:var(--ink);color:#fbf7f0}
.m-chan h2{color:#fbf7f0} .m-chan p{color:#d9d1c3} .m-chan .fine{font-size:13.5px;color:#b9b0a1;margin:4px 0 0}
.chan-list{display:grid;gap:10px}
.chan{display:flex;align-items:center;gap:12px;background:#fff;color:var(--ink);border-radius:14px;padding:13px 16px;text-decoration:none;font-size:16px}
.chan img{width:28px;height:28px} .chan.soon{background:#22344f;color:#fbf7f0}
a.chan:hover{filter:brightness(.97)}
@media (max-width:860px){ .manage,.m-chan{grid-template-columns:1fr} }
.page-form{margin:22px 0 30px} .center .page-form{display:flex;justify-content:center}
.continue{margin:6px 0 26px}

/* ---------- republish ---------- */
.republish{margin-top:28px;border:1px solid var(--rule);border-radius:var(--r);background:var(--card);padding:0 20px;font-size:15.5px}
.republish summary{cursor:pointer;font-weight:700;padding:16px 0;display:flex;align-items:center;gap:10px;list-style:none} .republish summary::-webkit-details-marker{display:none}
.republish summary::after{content:"+";margin-left:auto;font-size:22px;color:var(--muted)} .republish[open] summary::after{content:"−"}
.republish p{margin:0 0 12px;color:var(--ink-2)}
.republish textarea{width:100%;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid var(--rule-2);border-radius:10px;padding:10px;background:#fbf9f5;color:var(--ink);resize:vertical}
.republish .btn{margin:10px 0 18px}

/* ---------- footer credit ---------- */
.built-with{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:10px;background:#1c2e4a;border:1px solid #2b3c58;border-radius:999px;padding:8px 16px 8px 12px;font-size:14px;color:#d9d1c3!important}
.built-with img{height:15px;width:auto} .built-with b{color:#fbf7f0} .built-with:hover{text-decoration:none!important;background:#22344f}
@media (max-width:620px){ .m-card .signup .row,.m-card .signup .row:has(input[name=first_name]){grid-template-columns:1fr} }

/* ================= dark theme (publication setting theme_mode = "dark"; e.g. BadAss Class: black + gold) ================= */
.theme-dark{--card:#141416;--rule:#2a2620;--rule-2:#3d362b;--muted:#a1988a;--ink-2:#d2c9b8;--accent-soft:#2a2213;--accent-ink:#0c0b09;--focus:#f5d77a;color-scheme:dark}
.theme-dark h1,.theme-dark h2,.theme-dark h3{font-variation-settings:normal;letter-spacing:.01em}
.theme-dark .hero h1 em,.theme-dark .eyebrow{background:linear-gradient(100deg,#b8892b,#f7e08a 45%,#c99a35 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
.theme-dark .hero h1 em{font-weight:inherit}
.theme-dark .util,.theme-dark .site-foot{background:#070708}
.theme-dark .util a:hover,.theme-dark .util a[aria-current=page]{background:#1a1813}
.theme-dark .site-head{background:rgba(11,11,12,.92);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}
.theme-dark .nav a:hover,.theme-dark .nav a[aria-current=page]{background:#1d1a14;color:var(--ink)}
.theme-dark .btn-accent{background:linear-gradient(180deg,#f2d27a,#c9992f);color:#0c0b09;box-shadow:0 6px 20px -10px rgba(214,170,64,.7)}
.theme-dark .btn-accent:hover{filter:brightness(1.07)}
.theme-dark .btn-ink{background:#24211b;color:var(--ink)}
.theme-dark .signup input[type=email],.theme-dark .signup input[type=text],.theme-dark .pref-lang select{background:#0f0f11;border-color:var(--rule-2);color:var(--ink)}
.theme-dark .signup input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(212,175,55,.18)}
.theme-dark .preview{background:var(--card);border-color:var(--rule-2)} .theme-dark .preview .pm{border-bottom-color:var(--accent)}
.theme-dark .card{border-color:var(--rule)} .theme-dark .card:hover{box-shadow:0 14px 34px -18px rgba(0,0,0,.9);border-color:var(--rule-2)}
.theme-dark .card.lead{background:linear-gradient(160deg,#1c1810,#111012);border-color:#5a4720;color:var(--ink)}
.theme-dark .card.lead p{color:var(--ink-2)} .theme-dark .card.lead .meta,.theme-dark .card.lead .kicker{color:var(--muted)}
.theme-dark .feature{border-top-color:var(--accent)}
.theme-dark .signup-band,.theme-dark .paywall,.theme-dark .m-chan{background:linear-gradient(160deg,#1c1810,#0f0f11);border:1px solid #4a3b1c;color:var(--ink)}
.theme-dark .signup-band h2,.theme-dark .paywall h3,.theme-dark .m-chan h2{color:var(--ink)} .theme-dark .signup-band p,.theme-dark .paywall p,.theme-dark .m-chan p{color:var(--ink-2)}
.theme-dark .paywall::before{background:linear-gradient(to bottom,rgba(11,11,12,0),var(--paper))}
.theme-dark .promises li::before{background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23e3bf55' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.theme-dark .pro-perks li::before{background-color:#c9992f}
.theme-dark .disclaimer,.theme-dark .prefs,.theme-dark .pro-soon{background:#1a1813;color:var(--ink-2)}
.theme-dark .sp-disclosure{background:#17140e;border-color:#3d3220;color:var(--ink-2)}
.theme-dark .tag-sp{background:#3a2e12;color:#f2d27a}
.theme-dark .prose blockquote{border-left-color:var(--accent);color:var(--ink)}
.theme-dark .prose .callout{background:#17140e;border-color:#3d3220;border-left-color:var(--accent)}
.theme-dark .prose table th{color:var(--muted)}
.theme-dark .republish textarea{background:#0f0f11;color:var(--ink);border-color:var(--rule-2)}
.theme-dark .signup .result{background:#14261a;color:#9be3b0} .theme-dark .signup .result.err{background:#2a1512;color:#ffb4a6}
.theme-dark .sponsor{background:linear-gradient(160deg,#1d1810 0%,#111013 60%);border-color:#4a3b1c}
.theme-dark .sp-label{border-bottom-color:#2e2718;color:#b3a78f} .theme-dark .sp-body{color:var(--ink)}
.theme-dark .sp-brand b{color:#f2d27a;letter-spacing:.04em} .theme-dark .sp-copy span{color:var(--ink-2)}
.theme-dark .sp-cta{background:linear-gradient(180deg,#f2d27a,#c9992f);color:#0c0b09}
.theme-dark .wall-in{border-top-color:var(--accent);box-shadow:0 -24px 60px -16px rgba(0,0,0,.85)}
.theme-dark .wall::before{background:linear-gradient(to bottom,transparent 25%,rgba(0,0,0,.6))}
.theme-dark .big-check{background:var(--accent-soft)}
.theme-dark .built-with{background:#141310;border-color:#2b261c}
.theme-dark .site-foot .legal{border-top-color:#221f19}
.theme-dark .brand img{height:30px} @media (max-width:760px){ .theme-dark .brand img{height:22px} }
.theme-dark .preview .ph img{height:22px}
.theme-dark .site-head .wrap{min-height:84px}

/* offer slots (pub.offers): reader.js shows one pick per reader; hidden slots and cards about an offer the reader can't get stay out of the way */
.offer-slot[hidden],[data-about-offer][hidden]{display:none!important}
.offer-slot>template{display:none}

/* search */
.nav a.nav-search{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:50%;color:var(--ink-2)}
@media (max-width:760px){ .nav a.nav-search{display:inline-flex} }
.nav a.nav-search:hover,.nav a.nav-search[aria-current]{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.search-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;max-width:640px;margin:0 0 10px}
.search-box input{font:inherit;font-size:17px;padding:14px 16px;border:1px solid var(--rule-2);border-radius:12px;background:#fff;color:var(--ink);min-width:0}
.search-box input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px rgba(19,35,61,.12)}
.search-status{color:var(--muted);font-size:14.5px;min-height:1.4em;margin:0 0 6px}
#search-results mark{background:color-mix(in srgb,var(--accent) 30%,transparent);color:inherit;border-radius:3px;padding:0 1px}
.theme-dark .search-box input{background:#0f0f11;border-color:var(--rule-2);color:var(--ink)}
.theme-dark .search-box input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(212,175,55,.18)}
@media (max-width:620px){ .search-box{grid-template-columns:1fr} }

/* home sections: hero variant 'centered' */
.hero-centered .wrap{grid-template-columns:1fr;max-width:820px;text-align:center}
.hero-centered .lede{margin-left:auto;margin-right:auto}
.hero-centered .signup{margin:0 auto}

/* quizzes (pubsite/quiz.html, sections/quiz.html) */
.quiz-wrap{padding:48px 0 72px}
.quiz{max-width:720px;margin:0 auto}
.qz-step{display:none} .qz-step.on{display:block;animation:qzin .25s ease}
@keyframes qzin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.quiz h1{font-size:clamp(34px,5vw,54px);margin:10px 0 14px}
.quiz h2{font-size:clamp(24px,3.2vw,34px);margin:6px 0 10px}
.qz-intro{font-size:18px}
.qz-start{margin-top:18px;padding:16px 28px;font-size:17px}
.qz-meta{margin-top:12px}
.qz-progress{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-size:14px;color:var(--muted);font-weight:600}
.qz-bar{flex:1;height:8px;border-radius:999px;background:var(--rule);overflow:hidden} .qz-bar i{display:block;height:100%;width:0;background:var(--accent);border-radius:999px;transition:width .3s}
.qz-help{color:var(--ink-2);margin:0 0 14px}
.qz-answers{display:grid;gap:10px;margin:18px 0 8px}
.qz-a{font:inherit;font-size:17px;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--rule-2);background:var(--card,#fff);color:var(--ink);cursor:pointer;transition:border-color .15s,transform .1s}
.qz-a:hover{border-color:var(--accent)} .qz-a:active{transform:scale(.99)} .qz-a.on{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.qz-back,.qz-again{font:inherit;font-size:14.5px;background:none;border:0;padding:6px 0;color:var(--muted);cursor:pointer;text-decoration:none}
.qz-busy{font-size:20px;color:var(--ink-2);padding:40px 0;text-align:center}
.qz-score{display:flex;align-items:baseline;gap:4px;margin:8px 0 0} .qz-score b{font-size:64px;line-height:1;color:var(--accent);font-family:var(--serif)} .qz-score span{font-size:20px;color:var(--muted)}
.qz-body{font-size:18px;margin:6px 0 18px}
.qz-offer{margin:20px 0 10px}
.qz-form{max-width:none;margin-top:16px}
.quiz-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:34px 38px;border-radius:20px;text-decoration:none;color:inherit;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,var(--paper)),var(--paper));border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent)}
.quiz-band h2{font-size:clamp(28px,3.6vw,42px);margin:6px 0 6px} .quiz-band p{margin:0;color:var(--ink-2);font-size:17px}
.quiz-band .btn{padding:16px 26px;font-size:16px;white-space:nowrap}
.nav a.nav-hl{color:var(--accent)}
@media (max-width:700px){ .quiz-band{grid-template-columns:1fr;padding:26px 22px} .qz-score b{font-size:52px} }
.theme-dark .qz-a{background:#121214;border-color:var(--rule-2)} .theme-dark .quiz-band{background:linear-gradient(135deg,#221c0f,#0f0f11);border-color:#4a3b1c}
