
:root{
  --bg:#0b1220; --panel:#111827; --panel2:#172337; --text:#f3f7fb; --muted:#aeb9c9;
  --line:#2a3a52; --accent:#67cfc0; --accent2:#a7efe5; --blue:#90a9ff; --danger:#ff8c8c;
  --max:1160px; --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:linear-gradient(180deg,#08101b 0%,#0b1220 42%,#0d1524 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.62}
a{color:inherit;text-decoration:none} a:hover{color:var(--accent2)}
.container{width:min(var(--max),calc(100% - 36px));margin:auto}
.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:16px;top:12px;background:#fff;color:#000;padding:10px 14px;z-index:999;border-radius:8px}
header{position:sticky;top:0;z-index:50;background:rgba(8,16,27,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:18px}.brand{font-family:Georgia,serif;font-size:1.45rem;font-weight:800;letter-spacing:-.02em}.brand span{color:var(--accent)}
.nav{position:relative}.navlinks{display:none;position:absolute;right:0;top:62px;width:min(320px,calc(100vw - 36px));background:#0e162a;border:1px solid var(--line);border-radius:14px;padding:14px;flex-direction:column;align-items:stretch;gap:4px;box-shadow:0 18px 50px rgba(0,0,0,.32)}.navlinks.open{display:flex}.navlinks a{font-size:.95rem;color:var(--muted);padding:9px 10px;border-radius:9px}.navlinks a.active,.navlinks a:hover{color:#fff;background:rgba(255,255,255,.055)}
.menu-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--line);color:#fff;border-radius:10px;padding:8px 11px;font:inherit;font-weight:700;cursor:pointer}.menu-btn:hover,.menu-btn[aria-expanded="true"]{border-color:var(--accent);background:rgba(103,207,192,.08)}
.hero{padding:96px 0 70px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;left:-120px;bottom:-140px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(103,207,192,.12),transparent 70%);pointer-events:none}
.hero:after{content:"";position:absolute;right:-160px;top:10px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(144,169,255,.16),transparent 68%);pointer-events:none}
.eyebrow{color:var(--accent2);font-size:.79rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h1,.page-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,6.8rem);line-height:.94;letter-spacing:-.055em;margin:.18em 0 .28em;max-width:920px}.hero p.lead,.page-hero p.lead{font-size:clamp(1.08rem,2vw,1.35rem);max-width:780px;color:var(--muted)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;border:1px solid var(--line);font-weight:750;cursor:pointer;transition:.2s;background:transparent;color:#fff}.btn:hover{transform:translateY(-1px);border-color:var(--accent)}.btn.primary{background:var(--accent);color:#07131a;border-color:var(--accent)}.btn.primary:hover{background:var(--accent2);color:#07131a}.btn.disabled{opacity:.58;cursor:not-allowed}
section{padding:74px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.section-head h2{font-family:Georgia,serif;font-size:clamp(2.1rem,4.5vw,4rem);line-height:1;margin:0}.section-head p{max-width:590px;color:var(--muted);margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}
.card{background:linear-gradient(180deg,rgba(23,35,55,.95),rgba(17,24,39,.98));border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 20px 50px rgba(0,0,0,.14)}.card .num{font-family:Georgia,serif;color:var(--accent);font-size:2rem}.card h3{font-size:1.2rem;margin:.35rem 0 .5rem}.card p{color:var(--muted);margin:0}.card .link{display:inline-block;color:var(--accent2);font-weight:700;margin-top:18px}
.quote{border-left:3px solid var(--accent);padding:8px 0 8px 24px;font-family:Georgia,serif;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.35;max-width:870px}.subtle{color:var(--muted)}
.band{background:linear-gradient(180deg,#dbe7f0 0%,#e9f0f7 100%);color:#152230}.band .eyebrow{color:#2e6671}.band p{color:#465769}.band .card{background:#f9fbfd;border-color:#c6d6e2;color:#152230}.band .card p{color:#5a6673}.band a{color:#0f4250}.band a:hover{color:#286778}
.page-hero{padding:78px 0 54px;border-bottom:1px solid rgba(255,255,255,.08)}.page-hero h1{font-size:clamp(2.7rem,6vw,5.2rem)}
.prose{max-width:800px}.prose h2,.prose h3{font-family:Georgia,serif;line-height:1.14}.prose h2{font-size:2.15rem;margin-top:2.2em}.prose p,.prose li{color:#d8dce7}.prose strong{color:#fff}.prose ul{padding-left:1.25rem}
.topic-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.topic{border:1px solid var(--line);border-radius:16px;padding:22px;background:rgba(17,24,39,.72)}.topic h3{margin:0 0 8px}.topic p{margin:0;color:var(--muted)}
.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.product{position:relative;overflow:hidden}.product:before{content:"";position:absolute;right:-70px;top:-70px;width:180px;height:180px;background:radial-gradient(circle,rgba(103,207,192,.18),transparent 70%)}.price{font-family:Georgia,serif;font-size:3rem;line-height:1;color:var(--accent2);margin:20px 0 4px}.small{font-size:.88rem;color:var(--muted)}.feature-list{list-style:none;padding:0;margin:22px 0}.feature-list li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#d9deeb}.feature-list li:before{content:"✓";color:var(--accent);margin-right:9px;font-weight:900}
.notice{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:rgba(144,169,255,.08);color:#dfe8ff}.notice.error{border-color:#724848;background:rgba(255,120,120,.08);color:#ffd7d7}.notice.success{border-color:#41664c;background:rgba(100,210,130,.08);color:#daf4df}
form{display:grid;gap:14px;max-width:700px}.field{display:grid;gap:7px}.field label{font-weight:700}.field input,.field textarea{width:100%;background:#0e162a;color:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font:inherit}.field textarea{min-height:180px;resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid rgba(103,207,192,.35);border-color:var(--accent)}
.downloads{display:grid;gap:12px;margin-top:24px}.download{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid var(--line);padding:16px;border-radius:14px;background:var(--panel)}
footer{border-top:1px solid rgba(255,255,255,.1);padding:48px 0 28px;margin-top:30px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px}.footer-grid h4{margin:0 0 10px}.footer-grid a{display:block;color:var(--muted);margin:5px 0}.fine{font-size:.8rem;color:#9099ae;margin-top:30px}
hr{border:0;border-top:1px solid var(--line);margin:30px 0}.pill{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:.8rem;color:var(--muted);margin:2px 5px 2px 0}
@media(max-width:900px){.grid,.grid.four{grid-template-columns:1fr 1fr}.shop-grid,.topic-list,.footer-grid{grid-template-columns:1fr}.navlinks{left:0;right:0;top:68px;width:auto}.hero{padding-top:72px}.section-head{display:block}.section-head p{margin-top:12px}}
@media(max-width:620px){.container{width:min(100% - 24px,var(--max))}.grid,.grid.two,.grid.four{grid-template-columns:1fr}.hero h1,.page-hero h1{letter-spacing:-.04em}.hero{padding:58px 0 44px}section{padding:52px 0}.download{align-items:flex-start;flex-direction:column}}

.bundle-wrap{margin-top:28px}
.bundle-card{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.7fr);gap:34px;align-items:center;border-color:rgba(103,207,192,.55);background:linear-gradient(135deg,rgba(22,39,55,.98),rgba(15,28,43,.98))}
.bundle-buy{border-left:1px solid var(--line);padding-left:30px}
.bundle-buy .btn{width:100%;margin-top:18px}
@media(max-width:760px){.bundle-card{grid-template-columns:1fr}.bundle-buy{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:22px}}

/* Readability fixes for light sections */
.band .prose p,.band .prose li{color:#394b5d}
.band .prose strong{color:#132330}
.band .prose h2,.band .prose h3{color:#152230}
.band .btn:not(.primary){color:#143848;border-color:#7792a4}
.band .btn:not(.primary):hover{color:#0d2d39;border-color:#2e6671}

/* Support / Ko-fi */
.support-nav{border:1px solid rgba(103,207,192,.45);border-radius:999px;padding:7px 11px!important;color:var(--accent2)!important}
.support-nav:hover{border-color:var(--accent);background:rgba(103,207,192,.08)}
.support-band{padding:58px 0;background:linear-gradient(135deg,rgba(20,45,55,.72),rgba(16,28,45,.88));border-top:1px solid rgba(103,207,192,.22);border-bottom:1px solid rgba(103,207,192,.22)}
.support-inner{display:flex;align-items:center;justify-content:space-between;gap:34px}
.support-inner h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:.15em 0 .25em}
.support-inner p{max-width:700px;color:var(--muted);margin:0}
.btn.coffee{background:var(--accent);border-color:var(--accent);color:#07131a;white-space:nowrap}
.btn.coffee:hover{background:var(--accent2);color:#07131a}
@media(max-width:760px){.support-inner{align-items:flex-start;flex-direction:column}.support-inner .btn{width:100%}.support-nav{border:0;padding:0!important}}

/* Readability pass */
.band .prose,.band .prose p,.band .prose li,.band .prose strong{color:#213244}
.band .prose a:not(.btn){color:#0d5560;text-decoration:underline;text-underline-offset:2px}
.story-prose p{font-size:1.04rem;line-height:1.82}
.story-prose .quote{margin:34px 0}
.support-nav{border:1px solid rgba(103,207,192,.55);padding:7px 11px;border-radius:999px;color:var(--accent2)!important}

/* Cloudflare Turnstile */
.turnstile-wrap{min-height:65px;margin:2px 0 4px}.turnstile-help{margin:-4px 0 2px}


/* v21 content hub additions */
.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.content-card{display:flex;flex-direction:column;min-height:100%}
.content-card .meta{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.content-card h3{font-family:Georgia,serif;font-size:1.55rem;line-height:1.12;margin:.55rem 0 .7rem}
.content-card p{flex:1}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.video-card{position:relative;overflow:hidden}
.video-card:after{content:"▶";position:absolute;right:20px;top:18px;font-size:1.25rem;color:var(--accent);opacity:.9}
.merch-hero{border:1px solid rgba(103,207,192,.45);background:linear-gradient(135deg,rgba(103,207,192,.09),rgba(144,169,255,.08))}
.article-list{display:grid;gap:16px}
.article-row{display:grid;grid-template-columns:140px 1fr;gap:22px;align-items:start}
.article-kicker{font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--accent2)}
.prose .callout{margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:16px;background:rgba(103,207,192,.06)}
@media(max-width:900px){.content-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.content-grid{grid-template-columns:1fr}.article-row{grid-template-columns:1fr;gap:8px}}

.shop-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media(max-width:700px){.shop-choice-grid{grid-template-columns:1fr}}
