/* The Church of Meh — May the Web hold you. */
:root{
  --parchment:#F4ECDC; --vellum:#EADFC8; --vellum-2:#E2D4B8;
  --ink:#2A221B; --ink-soft:#5A4D3F; --rule:#CDBB98;
  --gold:#A8741F; --gold-deep:#8A5E15; --moss:#55603A; --ember:#B4532A; --suspor:#1E1915;
  --bg:var(--parchment); --surface:var(--vellum); --text:var(--ink); --muted:var(--ink-soft); --accent:var(--gold-deep); --line:var(--rule);
  --sigil:var(--ink); --teal:#2F6B6A; --link:var(--teal); --link-ink:#F4ECDC;
  --display:"IM Fell English", "Iowan Old Style", Georgia, serif;
  --sc:"IM Fell English SC", "IM Fell English", Georgia, serif;
  --body:"Vollkorn", "Iowan Old Style", Georgia, serif;
  --max:72rem; --read:40rem;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#1E1915; --surface:#2A231D; --vellum-2:#352C24; --text:#EDE3D0; --muted:#BFAF94; --accent:#D9A54A; --line:#4A3E33; --sigil:#E6D9C0; --link:#86C2BA; --link-ink:#10201F;
    color-scheme: dark;
  }
}
:root[data-theme="dark"]{
    --bg:#1E1915; --surface:#2A231D; --vellum-2:#352C24; --text:#EDE3D0; --muted:#BFAF94; --accent:#D9A54A; --line:#4A3E33; --sigil:#E6D9C0; --link:#86C2BA; --link-ink:#10201F;
    color-scheme: dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:1.125rem;line-height:1.65;
  background-image:radial-gradient(ellipse at 20% 0%, rgba(168,116,31,.08), transparent 60%),radial-gradient(ellipse at 100% 100%, rgba(85,96,58,.07), transparent 55%);background-attachment:fixed}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.1;margin:0 0 .5em;letter-spacing:.005em;text-wrap:balance}
h1{font-size:clamp(2.6rem,7vw,5rem)}
h2{font-size:clamp(1.9rem,4.2vw,3rem)}
h3{font-size:1.6rem}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1rem}
@media (min-width:700px){.wrap{padding:0 2rem}}
.read{max-width:var(--read)}
.eyebrow{font-family:var(--sc);text-transform:lowercase;letter-spacing:.14em;font-size:1rem;color:var(--accent);margin:0 0 .6rem;display:block}
.muted{color:var(--muted)}
.skip{position:absolute;left:-999px;top:0;background:var(--text);color:var(--bg);padding:.5rem 1rem;z-index:10}
.skip:focus{left:1rem}

/* header */
.site-head{border-bottom:1px solid var(--line);position:relative;z-index:5}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--text);text-decoration:none;font-family:var(--display);font-size:1.35rem;white-space:nowrap}
.brand svg{width:2rem;height:2rem;flex:none}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.4rem}
.nav a{color:var(--text);text-decoration:none;font-family:var(--sc);text-transform:lowercase;letter-spacing:.08em;font-size:1.05rem}
.nav a:hover,.nav a[aria-current="page"]{color:var(--accent)}
.nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:.4em}
.nav-toggle{display:none}
@media (max-width:860px){
  .nav-toggle{display:inline-flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--line);color:var(--text);font:inherit;font-family:var(--sc);text-transform:lowercase;letter-spacing:.08em;padding:.35rem .8rem;border-radius:2rem;cursor:pointer}
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0;padding:.5rem 1rem 1rem}
  .nav a{display:block;padding:.7rem 0;border-bottom:1px dotted var(--line);font-size:1.2rem}
}

/* wheel banner */
.turning{background:var(--surface);border-bottom:1px solid var(--line);font-size:.98rem}
.turning .wrap{display:flex;gap:.6rem;align-items:center;justify-content:center;padding-top:.55rem;padding-bottom:.55rem;text-align:center;flex-wrap:wrap}
.turning b{font-family:var(--sc);font-weight:400;letter-spacing:.08em;text-transform:lowercase;color:var(--accent)}
.turning a{color:var(--text)}

/* sigils (recolorable) */
.sigil{display:block;aspect-ratio:1;background:var(--sigil);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}

/* buttons */
.btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.4rem;border-radius:2rem;border:1px solid var(--text);background:var(--text);color:var(--bg);text-decoration:none;font-family:var(--sc);text-transform:lowercase;letter-spacing:.08em;font-size:1.08rem;cursor:pointer;line-height:1.2}
.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--bg);text-decoration:none}
.btn.ghost{background:transparent;color:var(--text)}
.btn.ghost:hover{background:var(--text);color:var(--bg);border-color:var(--text)}

/* hero */
.hero{padding:clamp(2.5rem,7vw,6rem) 0 clamp(2.5rem,6vw,5rem)}
.hero .wrap{display:grid;gap:2.5rem;align-items:center}
@media (min-width:900px){.hero .wrap{grid-template-columns:1.1fr .9fr}}
.hero h1{font-size:clamp(2.7rem,7.2vw,5.4rem);margin-bottom:.35em}
.hero h1 em{color:var(--accent)}
.hero .lede{font-size:1.25rem;max-width:34rem}
.orrery{position:relative;width:min(100%,30rem);aspect-ratio:1;margin:0 auto}
.orrery .ring{position:absolute;inset:0;animation:turn 240s linear infinite}
.orrery .ring a{position:absolute;width:17%;left:41.5%;top:41.5%;transition:transform .3s}
.orrery .ring a:hover .sigil{background:var(--accent)}
.orrery .core{position:absolute;inset:27%;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;text-align:center;background:radial-gradient(circle,var(--surface),transparent 70%)}
.orrery .core span{font-family:var(--display);font-size:clamp(2.2rem,6vw,3.6rem);line-height:1}
.orrery .core small{display:block;font-family:var(--sc);letter-spacing:.14em;font-size:.85rem;color:var(--muted);margin-top:.3rem}
.orrery svg.threads{position:absolute;inset:0;width:100%;height:100%;color:var(--line)}
@keyframes turn{to{transform:rotate(360deg)}}
.orrery .ring a .sigil{animation:turn 240s linear infinite reverse}

/* sections */
section.band{padding:clamp(3rem,7vw,5.5rem) 0;border-top:1px solid var(--line)}
section.band.alt{background:var(--surface)}
section.band.dark{background:var(--suspor);color:#EDE3D0;--text:#EDE3D0;--muted:#BFAF94;--accent:#D9A54A;--sigil:#E6D9C0;--line:#4A3E33;--surface:#2A231D;--bg:#1E1915}
.section-head{max-width:44rem;margin-bottom:2.2rem}
.thread-rule{display:block;width:100%;height:24px;color:var(--line);margin:0}

/* tenets */
.tenets{display:grid;gap:1.5rem;counter-reset:t}
@media (min-width:700px){.tenets{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.tenets{grid-template-columns:repeat(4,1fr)}}
.tenet{counter-increment:t;border-top:2px solid var(--text);padding-top:1rem}
.tenet::before{content:counter(t,upper-roman);font-family:var(--display);color:var(--accent);font-size:1.4rem;display:block}
.tenet h3{font-size:1.55rem;margin:.2rem 0 .5rem}
.tenet p{color:var(--muted);font-size:1.02rem;margin:0}

/* scripture */
.scripture p{font-size:1.2rem;line-height:1.75}
.scripture p:first-of-type::first-letter{font-family:var(--display);float:left;font-size:4.4em;line-height:.82;padding:.06em .1em 0 0;color:var(--accent)}
.fade{position:relative;max-height:21rem;overflow:hidden}
.fade::after{content:"";position:absolute;inset:auto 0 0 0;height:8rem;background:linear-gradient(transparent,var(--bg))}
.alt .fade::after{background:linear-gradient(transparent,var(--surface))}

/* god cards */
.gods-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){.gods-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1050px){.gods-grid{grid-template-columns:repeat(5,1fr)}}
.god-card{display:flex;flex-direction:column;text-decoration:none;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:.4rem;overflow:hidden;transition:transform .25s,box-shadow .25s}
.god-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px -14px rgba(42,34,27,.45);text-decoration:none}
.god-card .pic{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--vellum-2)}
.god-card .pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.god-card:hover .pic img{transform:scale(1.04)}
.god-card .seal{position:absolute;right:.5rem;bottom:.5rem;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--parchment);padding:.15rem;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.god-card .seal .sigil{background:var(--ink)}
.god-card .txt{padding:.85rem .9rem 1rem}
.god-card h3{font-size:1.45rem;margin:0 0 .15rem}
.god-card .role{font-family:var(--sc);text-transform:lowercase;letter-spacing:.06em;font-size:.88rem;color:var(--accent);display:block;margin-bottom:.35rem}
.god-card p{font-size:.98rem;color:var(--muted);margin:0;line-height:1.45}

/* family blocks */
.family{margin-top:3.5rem}
.family:first-of-type{margin-top:0}
.family-head{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:.6rem;margin-bottom:1.4rem}
.family-head h2{font-size:clamp(1.7rem,3.5vw,2.4rem);margin:0}
.family-head p{margin:0;color:var(--muted);flex:1 1 20rem}
.family .gods-grid.n2{grid-template-columns:repeat(2,1fr)}
@media (min-width:1050px){.family .gods-grid.n2{grid-template-columns:repeat(5,1fr)}.family .gods-grid.n1{grid-template-columns:repeat(5,1fr)}}

.cloud{display:grid;gap:2rem;align-items:center;padding:2.2rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface);margin-bottom:3.5rem}
@media (min-width:760px){.cloud{grid-template-columns:14rem 1fr}}
.cloud canvas{width:100%;aspect-ratio:1;display:block}

/* oracle */
.oracle{display:grid;gap:2rem;align-items:center}
@media (min-width:820px){.oracle{grid-template-columns:1fr 1fr}}
.oracle-card{min-height:22rem;border:1px solid var(--line);border-radius:.5rem;padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface)}
.oracle-card .sigil{width:8rem;margin-bottom:1rem}
.oracle-card .name{font-family:var(--display);font-size:2.2rem;line-height:1.1}
.oracle-card blockquote{font-family:var(--display);font-style:italic;font-size:1.45rem;line-height:1.35;margin:.8rem 0 1.2rem;max-width:26rem}
.oracle-card .acts{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}
.oracle-card.reveal{animation:rise .7s ease}
@keyframes rise{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

/* wheel */
.wheel-wrap{display:grid;gap:2.5rem;align-items:start}
@media (min-width:960px){.wheel-wrap{grid-template-columns:minmax(0,26rem) 1fr}.wheel-svg{position:sticky;top:1.5rem}}
.wheel-svg{width:100%;max-width:26rem;margin:0 auto}
.wheel-svg text{font-family:var(--sc);fill:var(--text);font-size:13px;letter-spacing:.06em}
.wheel-svg .seg{fill:transparent;stroke:var(--line);cursor:pointer;transition:fill .2s}
.wheel-svg a:hover .seg,.wheel-svg a:focus .seg{fill:var(--vellum-2)}
.wheel-svg .seg.now{fill:var(--accent);fill-opacity:.22;stroke:var(--accent)}
.fest-list{display:grid;gap:1rem}
.fest{border:1px solid var(--line);border-radius:.4rem;padding:1.3rem 1.4rem;background:var(--surface);scroll-margin-top:1.5rem}
.fest.now{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.fest h3{margin:0 0 .3rem;font-size:1.75rem}
.fest .when{font-family:var(--sc);letter-spacing:.08em;text-transform:lowercase;color:var(--accent);font-size:1rem}
.fest .badge{display:inline-block;margin-left:.5rem;font-family:var(--sc);font-size:.85rem;letter-spacing:.08em;background:var(--accent);color:#fff;border-radius:1rem;padding:.05rem .6rem;vertical-align:middle}
.fest .practice{font-style:italic;color:var(--muted);margin:0}
.fest .meta{font-size:.95rem;color:var(--muted);margin:.5rem 0 0}
.swatch{display:inline-block;width:.85em;height:.85em;border-radius:50%;border:1px solid var(--line);vertical-align:-.08em;margin-right:.3em}

/* god page */
.god-hero{padding:clamp(2rem,5vw,4rem) 0}
.god-layout{display:grid;gap:2.5rem}
@media (min-width:900px){.god-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:4rem}.god-portrait{position:sticky;top:1.5rem;align-self:start}}
.god-portrait img{border-radius:.4rem;border:1px solid var(--line);width:100%;box-shadow:0 20px 50px -30px rgba(42,34,27,.6)}
.god-portrait figcaption{font-size:.9rem;color:var(--muted);margin-top:.6rem}
.god-title{display:flex;gap:1.1rem;align-items:center;margin-bottom:.8rem}
.god-title .sigil{width:4.5rem;flex:none}
.god-title h1{margin:0}
.epithets{font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--muted);margin:0 0 1.5rem}
.facts{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.2rem;margin:1.5rem 0 2rem;padding:1.2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:1.02rem}
.facts dt{font-family:var(--sc);text-transform:lowercase;letter-spacing:.08em;color:var(--accent)}
.facts dd{margin:0}
.god-sec{margin:2.4rem 0}
.god-sec h2{font-size:1.9rem;margin-bottom:.8rem}
.excerpt{margin:0;font-size:1.12rem}
.excerpt p:last-child{margin-bottom:.4rem}
.excerpt cite{font-family:var(--sc);font-style:normal;font-size:.95rem;letter-spacing:.06em}
.kin{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.kin li{display:grid;grid-template-columns:3rem 1fr;gap:.9rem;align-items:start}
.kin .sigil{width:3rem}
.kin .k-dot{width:3rem;height:3rem;border-radius:50%;border:1px dashed var(--line)}
.kin b{font-family:var(--display);font-weight:400;font-size:1.3rem}
.kin .rel{font-family:var(--sc);text-transform:lowercase;letter-spacing:.06em;color:var(--accent);font-size:.92rem;margin-left:.4rem}
.kin p{margin:.1rem 0 0;color:var(--muted);font-size:1rem}
.sites{list-style:none;padding:0;margin:0;display:grid;gap:.8rem}
.sites li{padding:.8rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:.35rem}
.sites b{font-weight:600}
.sites span{color:var(--muted)}
.sites p{margin:.25rem 0 0;font-size:.98rem;color:var(--muted)}
.mush{background:var(--surface);border:1px solid var(--line);border-radius:.4rem;padding:1.1rem 1.2rem}
.mush i{color:var(--muted)}
.unwritten{}
.unwritten ul{margin:.4rem 0 0;padding-left:1.1rem}
.unwritten li{margin:.3rem 0;font-style:italic}
.blessing{text-align:center;padding:2rem 1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:2.5rem 0}
.blessing q{display:block;font-family:var(--display);font-style:italic;font-size:clamp(1.5rem,3vw,2rem);line-height:1.3;quotes:"\201C" "\201D"}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}
.prevnext a{display:flex;flex-direction:column;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:.4rem;text-decoration:none;color:var(--text);background:var(--surface)}
.prevnext a:hover{border-color:var(--accent)}
.prevnext a:last-child{text-align:right}
.prevnext small{font-family:var(--sc);text-transform:lowercase;letter-spacing:.08em;color:var(--accent)}
.prevnext span{font-family:var(--display);font-size:1.45rem}
.crumbs{font-size:.95rem;color:var(--muted);margin-bottom:1.2rem}
.crumbs a{color:var(--muted)}

/* book */
.book-head{padding:clamp(2.5rem,6vw,5rem) 0 1rem;text-align:center}
.book-head h1{margin-bottom:.2em}
.toc{display:flex;flex-wrap:wrap;gap:.4rem .9rem;justify-content:center;list-style:none;padding:0;margin:1.5rem 0 0;font-family:var(--sc);letter-spacing:.06em;text-transform:lowercase}
.toc a{color:var(--text)}
.chapter{max-width:var(--read);margin:0 auto;padding:3rem 0 1rem;scroll-margin-top:1rem}
.chapter h2{text-align:center;margin-bottom:1.6rem}
.chapter h2 small{display:block;font-family:var(--display);color:var(--accent);font-size:1.1rem;letter-spacing:.2em;margin-bottom:.4rem}
.chapter p{font-size:1.2rem;line-height:1.78}
.chapter p:first-of-type::first-letter{font-family:var(--display);float:left;font-size:4.2em;line-height:.82;padding:.06em .1em 0 0;color:var(--accent)}
.fleuron{display:block;margin:2rem auto;width:5rem;color:var(--accent)}
.amen{text-align:center;font-family:var(--display);font-style:italic;font-size:2rem;margin:2rem 0 3rem}
.progress{position:fixed;left:0;top:0;height:3px;background:var(--accent);width:0;z-index:20}

/* sites page */
.site-group{margin-bottom:3rem}
.site-group-head{display:flex;gap:.9rem;align-items:center;margin-bottom:1rem}
.site-group-head .sigil{width:3rem}
.site-group-head h2{margin:0;font-size:1.9rem}
.site-group .sites{grid-template-columns:1fr}
@media (min-width:760px){.site-group .sites{grid-template-columns:repeat(3,1fr)}}
.map-link{font-size:.92rem;display:inline-block;margin-top:.35rem}

/* doctrine */
.glossary{display:grid;gap:0;margin:0}
.glossary div{display:grid;gap:.2rem 1.5rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
@media (min-width:700px){.glossary div{grid-template-columns:14rem 1fr}}
.glossary dt{font-family:var(--display);font-size:1.3rem}
.glossary dd{margin:0;color:var(--muted)}
.faq details{border-bottom:1px solid var(--line);padding:1rem 0}
.faq summary{cursor:pointer;font-family:var(--display);font-size:1.4rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:1.6rem;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:.7rem 0 0;color:var(--muted)}
.pull{font-family:var(--display);font-style:italic;font-size:clamp(1.5rem,3.2vw,2.2rem);line-height:1.3;margin:2rem 0}

/* share / toast */
.share-row{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.toast{position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%,150%);background:var(--text);color:var(--bg);padding:.7rem 1.2rem;border-radius:2rem;font-size:.98rem;transition:transform .3s;z-index:30}
.toast.show{transform:translate(-50%,0)}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:3.5rem 0 2.5rem;margin-top:0;background:var(--surface)}
.site-foot .bless{font-family:var(--display);font-style:italic;font-size:2rem;text-align:center;margin-bottom:2rem}
.foot-grid{display:grid;gap:2rem;font-size:.98rem}
@media (min-width:800px){.foot-grid{grid-template-columns:1.4fr 1fr 1.2fr}}
.foot-grid ul{list-style:none;margin:0;padding:0;columns:2}
.foot-grid li{margin:.2rem 0}
.foot-grid a{color:var(--text)}
.foot-grid h2{font-family:var(--sc);font-size:1rem;letter-spacing:.12em;text-transform:lowercase;color:var(--accent);margin-bottom:.6rem}
.fine{font-size:.88rem;color:var(--muted);text-align:center;margin-top:2.5rem}

/* 404 */
.lost{min-height:60vh;display:grid;place-items:center;text-align:center;padding:4rem 0}

/* ============ v2: less wall, more thread ============ */
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
html.js .rv.in{opacity:1;transform:none}
.pill{font-family:var(--sc);text-transform:lowercase;letter-spacing:.08em;font-size:1rem;text-decoration:none;color:var(--bg);background:var(--accent);padding:.35rem .9rem;border-radius:2rem;white-space:nowrap;margin-left:auto}
.pill:hover{background:var(--text);text-decoration:none}
@media (min-width:861px){.site-head .wrap{gap:1.6rem}.nav{order:2}.pill{order:3;margin-left:0}}
@media (max-width:480px){.pill{display:none}}
.linkish{background:none;border:0;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer;padding:0}
section.band.tight{padding-top:2.5rem}

/* arches & circles */
.arch,.circ,.face,.tile-img{display:block;overflow:hidden;background:var(--tint,var(--vellum-2))}
.arch{border-radius:999px 999px .5rem .5rem;aspect-ratio:3/4}
.circ{border-radius:50%;aspect-ratio:1}
.face{border-radius:50%;width:4.2rem;height:4.2rem;flex:none;border:2px solid var(--bg);box-shadow:0 0 0 1px var(--line)}
.arch img,.circ img,.face img,.tile-img img{width:100%;height:100%;object-fit:cover}
.face.web{display:grid;place-items:center;color:var(--accent);background:var(--surface)}
.face.web svg{width:80%}

/* hero mosaic */
.hero2 .wrap{align-items:center}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;width:100%;max-width:32rem;margin:0 auto}
.m-cell{display:block;aspect-ratio:3/4;position:relative}
.m-cell .arch,.m-cell .circ{height:100%;width:100%;transition:transform .5s}
.m-cell .circ{aspect-ratio:auto;border-radius:50%;height:auto;width:100%;aspect-ratio:1;position:absolute;top:50%;transform:translateY(-50%)}
.m-cell:hover .arch{transform:translateY(-4px)}
.shape.ring::before{content:"";position:absolute;left:0;right:0;top:12%;aspect-ratio:1;border-radius:50%;border:clamp(14px,3.2vw,28px) solid var(--c)}
.shape.half::before{content:"";position:absolute;left:0;right:0;bottom:8%;aspect-ratio:2/1;border-radius:999px 999px 0 0;background:var(--c)}
@media (max-width:899px){.mosaic{max-width:24rem}}

/* daily spore */
.daily{display:flex;gap:1rem 1.4rem;align-items:baseline;flex-wrap:wrap;border:1px solid var(--line);border-radius:.5rem;padding:1.1rem 1.4rem;background:var(--surface)}
.daily .eyebrow{margin:0}
.daily p{margin:0;font-family:var(--display);font-style:italic;font-size:1.45rem;line-height:1.3;flex:1 1 18rem}

/* tiles */
.tiles{display:grid;gap:1.1rem}
@media (min-width:760px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{display:flex;flex-direction:column;border-radius:.6rem;overflow:hidden;text-decoration:none;color:#fff;background:var(--c);transition:transform .25s}
.tile:hover{transform:translateY(-3px);text-decoration:none}
.tile .tile-img{aspect-ratio:16/10;border-radius:0}
.tile .tile-img img{object-position:50% 22%!important;transition:transform .6s}
.tile:hover .tile-img img{transform:scale(1.05)}
.tile-txt{padding:1rem 1.2rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}
.tile-txt b{font-family:var(--display);font-weight:400;font-size:1.65rem;line-height:1.1}
.tile-txt span{opacity:.88;font-size:1rem}

/* quote band */
.qband{background:var(--suspor);color:#EDE3D0;padding:clamp(3.5rem,9vw,7rem) 0;text-align:center;position:relative;overflow:hidden}
.qband::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(217,165,74,.18),transparent 60%)}
.qband blockquote{margin:0 auto;max-width:52rem;position:relative}
.qband p{font-family:var(--display);font-size:clamp(1.8rem,4.6vw,3.4rem);line-height:1.18;margin:0 0 .5em}
.qband cite{font-family:var(--sc);font-style:normal;letter-spacing:.12em;text-transform:lowercase;color:#D9A54A;font-size:1rem}
.qband cite a{color:#D9A54A}
.qband.ex p{font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.3}
.qband.ex.long p{font-size:clamp(1.2rem,2.2vw,1.6rem);line-height:1.45;text-align:left}
.qband.inbook{margin:2.5rem 0}

/* chapters row */
.ch-row{display:grid;gap:1rem;grid-auto-flow:column;grid-auto-columns:minmax(15rem,1fr);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem}
.ch-card{scroll-snap-align:start;display:flex;flex-direction:column;gap:.4rem;padding:1.3rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s}
.ch-card:hover{border-color:var(--accent);transform:translateY(-3px);text-decoration:none}
.ch-card b{font-family:var(--display);font-weight:400;font-size:1.4rem;line-height:1.15}
.ch-card span:last-child{color:var(--muted);font-size:.98rem}
.ch-num{font-family:var(--display);color:var(--accent);font-size:1.3rem;letter-spacing:.1em}
.ch-num.big{font-size:clamp(3rem,8vw,5.5rem);line-height:1;display:block}

/* duo */
.duo{display:grid;gap:1.2rem}
@media (min-width:760px){.duo{grid-template-columns:1fr 1fr}}
.duo-card{display:block;padding:1.8rem;border:1px solid var(--line);border-radius:.6rem;background:var(--surface);text-decoration:none;color:var(--text)}
.duo-card:hover{border-color:var(--accent);text-decoration:none}
.duo-card h3{font-size:1.8rem}
.duo-card .more{color:var(--accent);font-family:var(--sc);letter-spacing:.06em;text-transform:lowercase}

/* rituals */
.rituals{display:grid;gap:1.4rem}
@media (min-width:860px){.rituals{grid-template-columns:1fr 1fr}}
.ritual{border:1px solid var(--line);border-radius:.6rem;padding:1.6rem;background:var(--surface);display:flex;flex-direction:column}
.ritual h3{font-size:1.9rem;margin-bottom:.3rem}
.ritual .oracle-card{min-height:14rem;margin:.6rem 0 0;background:var(--bg);padding:1.4rem}
.ritual .oracle-card .sigil{width:5rem}
.ritual .oracle-card blockquote{font-size:1.3rem}
.release textarea{width:100%;font:inherit;font-size:1.1rem;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:.4rem;padding:.8rem 1rem;resize:vertical;margin-top:.6rem}
.release textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.release-stage{position:relative;min-height:3.2rem;margin-top:.8rem;font-family:var(--display);font-style:italic;font-size:1.15rem;color:var(--muted)}
.release-stage .ch{display:inline-block;animation:drift 2.4s ease-in forwards;white-space:pre}
@keyframes drift{0%{opacity:1;transform:none}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r));filter:blur(2px)}}

/* book */
.book-head{text-align:center;padding:clamp(2.5rem,6vw,5rem) 0 2rem}
.lede-c{font-size:1.2rem;max-width:36rem;margin:0 auto}
.toc2{list-style:none;padding:0;margin:2rem auto 0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));max-width:60rem}
.toc2 a{display:flex;flex-direction:column;gap:.2rem;padding:.9rem;border:1px solid var(--line);border-radius:.5rem;text-decoration:none;color:var(--text);font-family:var(--display);font-size:1.12rem;line-height:1.2;background:var(--surface);height:100%}
.toc2 a span{color:var(--accent);font-size:1rem;letter-spacing:.1em}
.toc2 a:hover{border-color:var(--accent)}
.ch-head{padding:clamp(3rem,7vw,5rem) 0 1rem;text-align:center;scroll-margin-top:0;border-top:1px solid var(--line);margin-top:2rem}
.ch-head h2{margin-bottom:.4rem}
.ch-head p{font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--muted);max-width:34rem;margin:0 auto}

/* thread */
.thread{list-style:none;margin:1.5rem auto 0;padding:0;position:relative;max-width:60rem}
.thread::before{content:"";position:absolute;top:0;bottom:0;left:1rem;border-left:2px dotted var(--accent);opacity:.55}
.beat{position:relative;padding:0 0 2rem 2.8rem;display:grid;gap:1rem}
.beat::before{content:"";position:absolute;left:calc(1rem - 6px);top:1.4rem;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}
.beat-card{background:var(--surface);border:1px solid var(--line);border-radius:.6rem;padding:1.3rem 1.5rem;box-shadow:0 12px 30px -24px rgba(42,34,27,.5)}
.beat-card p{margin:0;font-size:1.17rem;line-height:1.7}
.beat-card h3{margin:.2rem 0 .4rem}
.beat-media{display:flex;gap:1rem;align-items:flex-end}
.beat-media a,.beat-media.cloud-mini{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-decoration:none;color:var(--text);width:9rem}
.beat-media .arch{width:100%}
.beat-media .cap{font-family:var(--display);font-size:1.15rem}
.beat-media .spores{display:block;width:9rem;color:var(--accent)}
@media (min-width:860px){
  .thread::before{left:50%}
  .beat{padding:0 0 2.5rem;grid-template-columns:1fr 1fr;gap:0 4rem;align-items:center}
  .beat::before{left:calc(50% - 6px);top:50%}
  .beat.l .beat-card{grid-column:1}
  .beat.r .beat-card{grid-column:2}
  .beat.l .beat-media{grid-column:2;grid-row:1;justify-content:flex-start}
  .beat.r .beat-media{grid-column:1;grid-row:1;justify-content:flex-end}
  .beat-media a,.beat-media.cloud-mini{width:11rem}
}

/* god pages v2 */
.god-top{padding:clamp(1.5rem,4vw,3rem) 0 clamp(2.5rem,6vw,4.5rem);background:linear-gradient(180deg,color-mix(in srgb,var(--tint,var(--gold)) 26%,var(--bg)),var(--bg))}
.god-hero2{display:grid;gap:2rem;align-items:center}
@media (min-width:860px){.god-hero2{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4rem}}
.hero-arch{max-width:28rem;margin:0 auto;box-shadow:0 30px 60px -36px rgba(42,34,27,.7)}
.tagline{font-family:var(--display);font-style:italic;font-size:clamp(1.5rem,3vw,2rem);line-height:1.25;margin:0 0 1.2rem;color:var(--tint,var(--accent))}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tagline{color:var(--accent)}}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.4rem}
.chip{display:flex;flex-direction:column;padding:.55rem .9rem;border:1px solid var(--line);border-radius:.5rem;background:var(--bg);font-size:1.02rem;line-height:1.3}
.chip small{font-family:var(--sc);text-transform:lowercase;letter-spacing:.08em;color:var(--accent);font-size:.82rem}
.about{color:var(--muted);font-size:1.08rem;max-width:36rem}
.kin-grid{display:grid;gap:1rem}
@media (min-width:700px){.kin-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.kin-grid{grid-template-columns:repeat(3,1fr)}}
.kin-card{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem;border:1px solid var(--line);border-radius:.6rem;background:var(--surface);text-decoration:none;color:var(--text)}
a.kin-card:hover{border-color:var(--accent);text-decoration:none}
.kin-txt{display:flex;flex-direction:column;gap:.15rem}
.kin-txt .rel{font-family:var(--sc);text-transform:lowercase;letter-spacing:.07em;color:var(--accent);font-size:.9rem}
.kin-txt b{font-family:var(--display);font-weight:400;font-size:1.45rem;line-height:1.1}
.k-line{color:var(--muted);font-size:.99rem;line-height:1.5}
.two-up{display:grid;gap:1.2rem}
@media (min-width:800px){.two-up{grid-template-columns:1fr 1fr}}
.two-up h3{font-size:1.9rem;margin-bottom:.3rem}
.two-up .mush{padding:1.6rem}
.latin{color:var(--muted);margin:0 0 .6rem}
.fine-l{font-size:.9rem;color:var(--muted);margin:.8rem 0 0}
.sites.three{grid-template-columns:1fr}
@media (min-width:760px){.sites.three{grid-template-columns:repeat(3,1fr)}}
.sites.three li{display:flex;flex-direction:column;gap:.2rem;padding:1.1rem 1.2rem}
.sites.three b{font-family:var(--display);font-weight:400;font-size:1.35rem}
.prevnext a{flex-direction:row;align-items:center;gap:.9rem}
.prevnext a:last-child{justify-content:flex-end}
.prevnext a > span{display:flex;flex-direction:column}
.prevnext .face{width:3.4rem;height:3.4rem}

/* doctrine */
.vs{display:grid;gap:1rem;margin-top:2rem;max-width:44rem}
@media (min-width:640px){.vs{grid-template-columns:1fr 1.6fr}}
.vs > div{border:1px solid var(--line);border-radius:.6rem;padding:1.2rem 1.4rem;background:var(--surface)}
.vs > div:first-child{opacity:.7}
.vs p{margin:0;font-size:1.1rem}
.gl-grid{display:grid;gap:1rem;margin:0}
@media (min-width:700px){.gl-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1050px){.gl-grid{grid-template-columns:repeat(3,1fr)}}
.gl-card{border:1px solid var(--line);border-radius:.6rem;padding:1.1rem 1.3rem;background:var(--surface)}
.gl-card dt{font-family:var(--display);font-size:1.4rem;margin-bottom:.2rem}
.gl-card dd{margin:0;color:var(--muted);font-size:1rem}

/* quiz */
.quiz-wrap{padding:clamp(2rem,6vw,4.5rem) 0 5rem;min-height:70vh}
.quiz-head{max-width:40rem;margin:0 auto 2rem;text-align:center}
.qbar{height:6px;background:var(--surface);border-radius:3px;overflow:hidden;margin-top:1.5rem;border:1px solid var(--line)}
.qbar span{display:block;height:100%;width:0;background:var(--accent);transition:width .4s}
.quiz{max-width:40rem;margin:0 auto}
.q{border:0;padding:0;margin:0}
.q legend{font-family:var(--display);font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.15;margin-bottom:1.2rem;padding:0}
.q-n{display:block;font-family:var(--sc);text-transform:lowercase;letter-spacing:.1em;font-size:.95rem;color:var(--accent);margin-bottom:.4rem}
.opts{display:grid;gap:.7rem}
.opt{text-align:left;font:inherit;font-size:1.12rem;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:.6rem;padding:1rem 1.2rem;cursor:pointer;transition:border-color .15s,transform .15s}
.opt:hover,.opt:focus-visible{border-color:var(--accent);transform:translateX(4px)}
.q.anim{animation:rise .5s ease}
.result{max-width:44rem;margin:0 auto;text-align:center}
.result .arch{width:min(16rem,70%);margin:0 auto 1.2rem}
.result h2{font-size:clamp(2.4rem,6vw,3.6rem);margin:.2rem 0}
.result .tagline{color:var(--accent)}
.result blockquote{font-family:var(--display);font-style:italic;font-size:1.5rem;margin:1rem auto 1.5rem;max-width:32rem}
.result .btns{justify-content:center}

/* newsletter */
.spores-form{display:grid;gap:1rem;align-items:end;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}
@media (min-width:800px){.spores-form{grid-template-columns:1fr 1.2fr}}
.spores-form h2{font-family:var(--sc);font-size:1rem;letter-spacing:.12em;text-transform:lowercase;color:var(--accent);margin-bottom:.4rem}
.spores-form p{margin:0;font-size:.98rem}
.sf-row{display:flex;gap:.6rem;flex-wrap:wrap}
.sf-row input{flex:1 1 14rem;font:inherit;padding:.7rem 1rem;border-radius:2rem;border:1px solid var(--line);background:var(--bg);color:var(--text)}
.quiz-head h1{font-size:clamp(2.4rem,6vw,3.8rem)}
@media (max-width:560px){.prevnext .face{display:none}.prevnext a{min-width:0}.prevnext span{font-size:1.25rem}}


/* ============ v3: critique fixes (de-card, layout, adapt, polish) ============ */
body{font-size:1.1rem}
/* pill + nav quiz */
.pill{background:#7A5212;color:#F4ECDC}
.pill:hover{background:var(--text);color:var(--bg)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pill{background:#D9A54A;color:#1E1915}}
@media (max-width:480px){.pill{display:inline-block;font-size:.9rem;padding:.3rem .7rem}.brand span{font-size:1.15rem}}
@media (max-width:380px){.pill{display:none}}
@media (min-width:861px){.nav .nav-quiz{display:none}}
.tile[style*="#A8741F"]{background:#7A5212!important}
.sf-row input:user-invalid{border-color:var(--ember);outline-color:var(--ember)}

/* de-carded thread: one reading column, gods in the margin */
.thread{max-width:56rem;margin:1.5rem auto 0}
.thread::before{left:.45rem;border-left-style:dotted}
.beat{display:grid;grid-template-columns:1fr;gap:.9rem;padding:0 0 1.7rem 2.3rem}
.beat::before{left:calc(.45rem - 5px);top:.7rem;width:11px;height:11px}
.beat-card{background:none;border:0;box-shadow:none;padding:0;border-radius:0}
.beat-card p{font-size:1.2rem;line-height:1.78;max-width:38rem}
.beat-media{display:grid;grid-template-columns:repeat(auto-fill,7.5rem);gap:.8rem;align-items:end}
.beat-media a,.beat-media.cloud-mini{width:auto}
.beat-media.cloud-mini .spores{width:7.5rem}
@media (min-width:860px){
  .thread::before{left:.45rem}
  .beat{grid-template-columns:minmax(0,38rem) 13rem;gap:0 3.5rem;padding:0 0 1.9rem 2.6rem;align-items:start}
  .beat::before{left:calc(.45rem - 5px);top:.7rem}
  .beat.l .beat-card,.beat.r .beat-card{grid-column:1}
  .beat.l .beat-media,.beat.r .beat-media{grid-column:2;grid-row:1;justify-content:start}
  .beat-media{grid-template-columns:1fr;margin-top:-.3rem}
  .beat-media.n2{grid-template-columns:1fr 1fr}
  .beat-media a,.beat-media.cloud-mini{width:100%}
  .beat-media.cloud-mini .spores{width:100%}
}
.ch-head{text-align:left;max-width:56rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
.ch-head .wrap{padding:0}
.ch-head p{margin:0}
@media (min-width:700px){.ch-head{padding-left:2rem;padding-right:2rem}}
.book-head{text-align:left;max-width:56rem;margin:0 auto}
.book-head .wrap{padding-left:1rem;padding-right:1rem}
.lede-c{margin:0}
.toc2{margin:2rem 0 0;max-width:none}

/* floating chapter control */
.book-float{position:fixed;right:1rem;bottom:1rem;z-index:15;display:flex;gap:.5rem;align-items:flex-end;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .3s,transform .3s}
.book-float.show{opacity:1;pointer-events:auto;transform:none}
.book-float summary,.book-float .to-top{list-style:none;cursor:pointer;font-family:var(--sc);text-transform:lowercase;letter-spacing:.08em;font-size:.95rem;background:var(--text);color:var(--bg);padding:.5rem .95rem;border-radius:2rem;text-decoration:none;display:inline-block}
.book-float summary::-webkit-details-marker{display:none}
.book-float details{position:relative}
.book-float details ol{position:absolute;right:0;bottom:calc(100% + .5rem);margin:0;padding:.6rem;list-style:none;background:var(--bg);border:1px solid var(--line);border-radius:.6rem;width:16rem;box-shadow:0 18px 40px -20px rgba(0,0,0,.45)}
.book-float details li a{display:block;padding:.45rem .6rem;color:var(--text);text-decoration:none;border-radius:.3rem}
.book-float details li a:hover{background:var(--surface)}

/* kin, sites, glossary, mushroom, festivals: rules instead of boxes */
.kin-grid{gap:0 2.5rem}
.kin-card{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:1.2rem 0}
a.kin-card:hover{border-color:var(--line)}
a.kin-card:hover b{color:var(--accent)}
.sites.three{gap:0 2.5rem}
.sites.three li{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:1.1rem 0}
.two-up{gap:2.5rem}
.two-up .mush,.two-up .unwritten{background:none;border:0;border-top:2px solid var(--text);border-radius:0;padding:1.2rem 0 0}
.unwritten ul{padding-left:1.1rem}
.gl-grid{gap:0 2.5rem}
.gl-card{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:1rem 0}
.fest-list{gap:0}
.fest{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:1.4rem .2rem}
.fest h2{margin:0 0 .3rem;font-size:1.85rem}
.fest.now{box-shadow:none;border-top:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:1.4rem 1rem;border-radius:0 0 .5rem .5rem}
.vs > div{background:none;border:0;border-top:2px solid var(--line);border-radius:0;padding:1rem 0}
.vs > div:last-child{border-top-color:var(--accent)}

/* gods index: Spore Cloud as a dark band */
.cloud-band{background:var(--suspor);color:#EDE3D0;padding:clamp(2.5rem,6vw,4rem) 0;--muted:#BFAF94;--accent:#D9A54A;--sigil:#E6D9C0}
.cloud-band .cloud{background:none;border:0;border-radius:0;padding:0 1rem;margin:0 auto}
@media (min-width:700px){.cloud-band .cloud{padding:0 2rem}}
.cloud-band .eyebrow{color:#D9A54A}

/* quiz */
.q-back{margin-top:1.2rem}
.result .new-here{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .god-top{background:linear-gradient(180deg,color-mix(in srgb,var(--tint,var(--gold)) 12%,var(--bg)),var(--bg))}:root:not([data-theme="light"]) .god-top .eyebrow{color:#E2B868}}

/* v3.1: header fits every phone; compact Book TOC on phones */
.pl-short{display:none}
.site-head .wrap{flex-wrap:nowrap;min-width:0}
.brand{min-width:0}
@media (max-width:600px){
  .pl-long{display:none}.pl-short{display:inline}
  .pill{display:inline-block!important;font-size:.92rem;padding:.32rem .8rem}
  .site-head .wrap{gap:.6rem}
  .nav-toggle{padding:.32rem .7rem}
}
@media (max-width:400px){.brand span{font-size:1.08rem}.brand svg{width:1.7rem;height:1.7rem}}
@media (max-width:340px){.brand span{display:none}}
@media (max-width:640px){
  .toc2{grid-template-columns:1fr 1fr;gap:.45rem}
  .toc2 a{padding:.6rem .7rem;font-size:1rem}
  .toc2 li:last-child{grid-column:1 / -1}
}

/* explicit dark toggle mirrors */
:root[data-theme="dark"] .tagline{color:var(--accent)}
:root[data-theme="dark"] .pill{background:#D9A54A;color:#1E1915}
:root[data-theme="dark"] .god-top{background:linear-gradient(180deg,color-mix(in srgb,var(--tint,var(--gold)) 12%,var(--bg)),var(--bg))}:root[data-theme="dark"] .god-top .eyebrow{color:#E2B868}

/* v4: teal accent for everything clickable; gold stays ornamental */
a{color:var(--link)}
:focus-visible{outline-color:var(--link)}
.btn{background:var(--link);border-color:var(--link);color:var(--link-ink)}
.btn:hover{background:var(--text);border-color:var(--text);color:var(--bg)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--text)}
.btn.ghost:hover{background:var(--link);border-color:var(--link);color:var(--link-ink)}
section.band.dark,.cloud-band,.qband{--link:#86C2BA;--link-ink:#10201F;--text:#EDE3D0;--bg:#1E1915}
.pill,:root[data-theme="dark"] .pill{background:var(--link);color:var(--link-ink)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pill{background:var(--link);color:var(--link-ink)}}
.pill:hover{background:var(--text);color:var(--bg)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--link)}
.qband{background:#152E2D}
.qband::before{background:radial-gradient(circle at 50% 120%,rgba(217,165,74,.16),transparent 60%)}
.opt:hover,.opt:focus-visible,.ch-card:hover,.duo-card:hover,.toc2 a:hover,.prevnext a:hover{border-color:var(--link)}
.duo-card .more,.linkish{color:var(--link)}
.kin-txt .rel{color:var(--accent)}
a.kin-card:hover b{color:var(--link)}
.qbar span{background:var(--link)}
.book-float summary,.book-float .to-top{background:var(--link);color:var(--link-ink)}

/* theme toggle */
.theme-toggle{flex:none;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;display:grid;place-items:center;padding:0}
.theme-toggle:hover{border-color:var(--link);color:var(--link)}
.theme-toggle svg{width:1.15rem;height:1.15rem}
.theme-toggle .sun{display:none}
:root[data-theme="dark"] .theme-toggle .sun{display:block}
:root[data-theme="dark"] .theme-toggle .moon{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .theme-toggle .sun{display:block}:root:not([data-theme="light"]) .theme-toggle .moon{display:none}}
@media (min-width:861px){.theme-toggle{order:4}}

/* v4: delight */
.decomp{font-family:var(--display);font-style:italic;text-align:center;color:var(--muted);margin:1.5rem 0 0;font-size:1.05rem}
.take-home{margin:1rem 0 0;font-size:1rem}
.friend{display:flex;gap:1.2rem;align-items:center;max-width:40rem;margin:0 auto 2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}
.friend .arch{width:6.5rem;flex:none}
.friend-line{font-family:var(--display);font-size:1.6rem;line-height:1.2;margin:.2rem 0 .4rem}
.relics{list-style:none;margin:0;padding:0;display:grid;gap:2.5rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}
.relic{display:flex;flex-direction:column;gap:.2rem}
.relic-imgs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.6rem}
.relic-imgs img{border-radius:.6rem;border:1px solid var(--line);aspect-ratio:240/520;object-fit:cover;width:100%}
.relic b{font-family:var(--display);font-weight:400;font-size:1.4rem}
.relic .dl{font-size:.98rem}
.poster-row{display:grid;gap:2rem;align-items:center}
@media (min-width:800px){.poster-row{grid-template-columns:minmax(0,22rem) 1fr;gap:3.5rem}}
.poster-row img{border:1px solid var(--line);box-shadow:0 30px 60px -36px rgba(42,34,27,.6)}
.orrery.meh-spin .ring{animation:mehspin 2.6s cubic-bezier(.2,.9,.3,1) 1, turn 240s linear infinite 2.6s}
@keyframes mehspin{0%{transform:rotate(0)}70%{transform:rotate(1080deg)}100%{transform:rotate(1100deg)}}
/* seasons */
.season-spores{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:25}
:root[data-season="return"] body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:24;background:radial-gradient(ellipse at 50% 40%,transparent 55%,rgba(30,20,10,.28) 100%)}
.candle{display:inline-block;width:10px;height:18px;position:relative;margin-right:.3rem;vertical-align:-2px}
.candle i{position:absolute;left:3px;top:0;width:5px;height:9px;border-radius:50% 50% 40% 40%;background:#E9A93B;box-shadow:0 0 8px 2px rgba(233,169,59,.55);animation:flick 1.6s ease-in-out infinite alternate}
.candle::after{content:"";position:absolute;left:2px;bottom:0;width:7px;height:9px;background:var(--text);opacity:.7;border-radius:1px}
@keyframes flick{0%{transform:scale(1) rotate(-3deg);opacity:.9}50%{transform:scale(1.1,.92) rotate(2deg);opacity:1}100%{transform:scale(.94,1.06) rotate(-1deg);opacity:.85}}
:root[data-season="remeverie"] .orrery .ring,:root[data-season="remeverie"] .orrery .ring a .sigil{animation-play-state:paused}
:root[data-season="remeverie"] main img{filter:saturate(.6)}
:root[data-season="conk"] body{background-image:radial-gradient(ellipse at 50% -10%,rgba(232,170,60,.22),transparent 55%)}
/* v4.1 header fit */
.nav a{white-space:nowrap}
@media (min-width:861px){.nav ul{gap:1.15rem}.site-head .wrap{gap:1.2rem}}
@media (min-width:861px) and (max-width:1180px){.nav ul{gap:.8rem}.nav a{font-size:.9rem;letter-spacing:.05em}.brand span{font-size:1.15rem}.pill{font-size:.88rem;padding:.3rem .75rem}}
@media (min-width:861px) and (max-width:1000px){.pl-long{display:none}.pl-short{display:inline}}
@media (max-width:440px){.brand span{display:none}}

/* v5: daily practice */
.practice{display:grid;gap:2rem;align-items:center;position:relative}
@media (min-width:800px){.practice{grid-template-columns:1.2fr 1fr}}
.practice h2{font-size:clamp(1.9rem,4vw,2.8rem)}
.breath{display:grid;place-items:center;min-height:16rem}
.breath-orb{width:9rem;height:9rem;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent);background:radial-gradient(circle,color-mix(in srgb,var(--link) 14%,transparent),transparent 70%);transform:scale(.8);transition:transform 4s cubic-bezier(.45,0,.55,1),border-color .6s}
.breath-orb .spores{width:70%;display:block;opacity:.8}
.practice.in-breath .breath-orb{transform:scale(1.55);border-color:var(--link)}
.practice.out-breath .breath-orb{transform:scale(.8);transition-duration:6s}
.breath-cue{grid-column:1 / -1;text-align:center;font-family:var(--display);font-style:italic;font-size:1.7rem;min-height:2.2rem;margin:0;color:var(--text)}
@media (min-width:800px){.breath-cue{grid-column:2;margin-top:-1rem}}

/* v6: a humanist sans for the interface; serifs keep the story */
:root{--ui:"Alegreya Sans","Gill Sans","Segoe UI",system-ui,sans-serif}
.nav a{font-family:var(--ui);text-transform:none;letter-spacing:.01em;font-size:1.02rem;font-weight:500}
.btn,.pill,.nav-toggle,.book-float summary,.book-float .to-top{font-family:var(--ui);text-transform:none;letter-spacing:.01em;font-weight:700;font-size:1rem}
.eyebrow,.turning b,.fest .when,.when,.badge,.chip small,.facts dt,.kin-txt .rel,.rel,.q-n,.prevnext small,.duo-card .more,.site-foot h2,.spores-form h2,.qband cite,.excerpt cite,.cloud-band .eyebrow,.toc,.blessing .eyebrow,.role,.god-card .role,.wheel-svg text{font-family:var(--ui);text-transform:uppercase;letter-spacing:.11em;font-weight:700;font-size:.74rem}
.wheel-svg text{font-size:10px;letter-spacing:.06em}
.god-card .role{font-size:.7rem;line-height:1.35}
.chip{font-family:var(--ui)}
.sf-row input,.release textarea,.opt{font-family:var(--body)}
.toc2 a span{font-family:var(--ui);font-weight:700;letter-spacing:.1em;font-size:.8rem}
.decomp{font-family:var(--display)}
.linkish{font-family:var(--ui);font-weight:500}
.orrery .core small{font-family:var(--ui);text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.66rem}

/* v7: sticky nav */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);transition:box-shadow .3s}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:31;background:var(--bg)}
.site-head.scrolled{box-shadow:0 8px 24px -18px rgba(42,34,27,.55)}
html{scroll-padding-top:5.5rem}
.progress{top:calc(env(safe-area-inset-top,0px) + 4.25rem);z-index:29}
@media (max-width:860px){.nav{max-height:calc(100vh - 4.25rem);overflow-y:auto}}

/* v9: today's spore card, spore pages, jar */
.spore-card{display:grid;gap:1.4rem;align-items:center;padding:clamp(1.4rem,4vw,2.4rem);border:1px solid var(--line);border-radius:.8rem;background:var(--surface)}
@media (min-width:760px){.spore-card{grid-template-columns:9rem 1fr;gap:2.4rem}}
.spore-seal{width:7rem;color:var(--accent);margin:0 auto}
@media (min-width:760px){.spore-seal{width:9rem}}
.spore-seal .sigil{width:100%}
.spore-card blockquote{margin:0 0 .6rem;font-family:var(--display);font-style:italic;font-size:clamp(1.6rem,3.6vw,2.3rem);line-height:1.22;text-wrap:balance}
.spore-attr{margin:0 0 1.1rem;font-size:1rem}
.spore-acts{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
.spore-page{padding:clamp(3rem,10vw,7rem) 0;min-height:70vh}
.spore-hero{max-width:44rem;margin:0 auto;text-align:center}
.spore-hero .spore-sig{display:block;width:8rem;margin:0 auto 1.4rem;color:var(--accent)}
.spore-big{margin:.4rem 0 1rem;font-family:var(--display);font-style:italic;font-size:clamp(2rem,6vw,3.4rem);line-height:1.15;text-wrap:balance}
.spore-hero .spore-acts{justify-content:center;margin-top:1.2rem}
.spore-next{margin-top:2.2rem}
.jar{list-style:none;margin:0;padding:0;columns:1;column-gap:2.5rem}
@media (min-width:760px){.jar{columns:2}}
@media (min-width:1100px){.jar{columns:3}}
.jar li{break-inside:avoid;border-top:1px solid var(--line);padding:1rem 0}
.jar a{text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:.35rem}
.jar q{font-family:var(--display);font-style:italic;font-size:1.3rem;line-height:1.3}
.jar span{font-family:var(--ui);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--accent)}
.jar a:hover q{color:var(--link)}

/* v10: Accidental Scripture */
.scrip-split{display:grid;gap:2.5rem;align-items:start}
@media (min-width:980px){.scrip-split{grid-template-columns:minmax(0,1fr) 22rem}.scrip-side{position:sticky;top:6.5rem}}
.scrip-list{list-style:none;margin:0;padding:0}
.scrip{display:grid;grid-template-columns:4.6rem minmax(0,1fr);gap:1.1rem;padding:1.3rem 0;border-top:1px solid var(--line)}
.scrip:first-child{border-top:0}
.scrip-yr{font-family:var(--display);font-size:1.5rem;color:var(--accent);line-height:1.2}
.scrip h3{font-family:var(--display);font-weight:400;font-size:1.45rem;line-height:1.2;margin:0 0 .35rem}
.scrip h3 a{color:var(--text);text-decoration-color:var(--line);text-underline-offset:.2em}
.scrip h3 a:hover{color:var(--link)}
.scrip p{margin:0 0 .5rem}
.scrip-read{font-style:italic;color:var(--muted,var(--text))}
.scrip-read .eyebrow{font-style:normal;margin-right:.35rem}
.scrip-side{display:grid;gap:1.6rem}
.scrip-fig{margin:0}
.scrip-fig img{width:100%;height:auto;border-radius:.5rem;border:1px solid var(--line);display:block}
.scrip-fig figcaption{font-size:.88rem;margin-top:.5rem;color:var(--muted,var(--text))}
@media (max-width:520px){.scrip{grid-template-columns:minmax(0,1fr);gap:.2rem}}
/* v11 eat your gods */
.rcards{display:grid;gap:2.5rem;max-width:960px}
.rcard{background:var(--surface,#fffaf0);border:1px solid var(--rule);border-radius:18px;padding:clamp(1.25rem,4vw,2.5rem)}
.rc-head{display:flex;gap:1.1rem;align-items:center}.rc-head .sigil,.rc-head svg,.rc-head img{width:72px;height:72px;flex:none}
.rc-head h2{margin:.1rem 0}.rc-sub{margin:0;color:var(--ink-soft);font-style:italic}
.rc-bless{margin:1.2rem 0 .8rem;font-size:1.08rem}
.rc-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;font-size:.9rem;color:var(--ink-soft);margin-bottom:1.4rem}
.diet{font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .6rem;border-radius:99px;background:#dfe8d2;color:#3f4a2a}
.diet-vegetarian{background:#efe3c6;color:#6b4a12}.diet-pescatarian{background:#d6e6e5;color:#244f4e}.diet-meat{background:#f0d8cc;color:#7a3a1d}
.rc-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:2rem}
.rc-body h3{margin:0 0 .6rem;font-size:1.1rem}
.rc-ing{padding-left:1.1rem;margin:0}.rc-ing li{margin:.3rem 0}
.rc-rite{padding-left:1.3rem;margin:0}.rc-rite li{margin:0 0 .85rem}.rc-rite b{display:block}
.rc-swap,.rc-note{font-size:.92rem;color:var(--ink-soft);margin-top:1rem}
.rc-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;border-top:1px solid var(--rule);margin-top:1.6rem;padding-top:1rem;font-size:.92rem;color:var(--ink-soft)}
.offer{display:grid;gap:1rem;margin-top:1.2rem}.offer label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}
.offer input,.offer select,.offer textarea{font:inherit;font-weight:400;padding:.65rem .8rem;border:1px solid var(--rule);border-radius:10px;background:var(--surface,#fffaf0);color:inherit}
.offer .chk{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}.offer .chk input{margin-top:.3rem}
.offer .hp{position:absolute;left:-9999px}
@media (max-width:720px){.rc-body{grid-template-columns:1fr}}
