:root{--night:#0b0918;--ink:#efe6d6;--muted:#b7aac6;--gold:#ffd27a;--ember:#ff7a3d;--serif:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;--sans:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--ink);font:clamp(16px,.9vw + 11px,19px)/1.75 var(--serif)}
a{color:var(--gold)}svg{display:block;max-width:100%}.defs{position:absolute}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:10px}.skip:focus{left:8px;z-index:9}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.wrap{width:min(1120px,86vw);margin:auto}.narrow{width:min(720px,86vw);margin:auto}
section{padding:clamp(80px,12vw,150px) 0;position:relative}
.eyebrow{font:600 .7rem/1.3 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
h1,h2{font-weight:400;letter-spacing:-.01em;line-height:1.1}
h1{font-size:clamp(3rem,8vw,6.6rem);margin:0 0 22px}h1 em{color:var(--gold)}
h2{font-size:clamp(2.1rem,4.6vw,3.6rem);margin:0 0 10px}
.dev{display:block;font-size:.5em;color:var(--gold);opacity:.85;margin-top:6px}
.lede{font-size:clamp(1.15rem,1.7vw,1.4rem);color:var(--muted);max-width:36ch}
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,90px);align-items:center}
.split>*,.chakra-grid>*{min-width:0}

/* Spine: the reader's ascent */
.spine{position:fixed;left:clamp(10px,2.4vw,34px);top:12vh;bottom:12vh;width:2px;background:#ffffff14;z-index:4}
.spine-glow{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(to top,#ff5a36,var(--gold),#fff);box-shadow:0 0 12px #ffb347}
.spine-dots{list-style:none;margin:0;padding:0;position:absolute;inset:0;display:flex;flex-direction:column-reverse;justify-content:space-between}
.spine-dots li{width:10px;height:10px;margin-left:-4px;border-radius:50%;background:#2a2340;border:1px solid #ffffff30;transition:background .5s,box-shadow .5s}
.spine-dots li.lit{background:var(--gold);box-shadow:0 0 12px var(--gold)}

/* Hero */
.hero{min-height:100svh;display:grid;align-items:center;background:radial-gradient(ellipse at 70% 80%,#3a1426 0%,#170f2b 45%,var(--night) 80%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:center;position:relative;z-index:1}
.stars{position:absolute;inset:0;background:url(stars.svg);opacity:.7}
.invocation{margin-top:36px;padding-left:18px;border-left:2px solid var(--ember);font-style:italic;color:#e8d9c4;max-width:40ch}
.invocation span,.verse span{display:block;font:normal .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.coil{max-width:380px;margin:auto}
.coil-front,.neck{filter:drop-shadow(0 0 6px #ff7a3d)}.coil-front path,.neck{animation:shimmer 4s ease-in-out infinite}
.breathe{animation:breathe 6s ease-in-out infinite;transform-origin:150px 190px}
.head{animation:breathe 6s ease-in-out infinite}
.begin{position:absolute;bottom:26px;left:50%;translate:-50%;font:.72rem var(--sans);letter-spacing:.25em;text-transform:uppercase;color:var(--muted);text-decoration:none}

.verse{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.6;font-style:italic;color:#f4e9d8;border-left:2px solid var(--gold);padding-left:22px;margin:26px 0}
.intro{background:linear-gradient(var(--night),#120c22)}
.channels{background:#120c22}
.nadis{max-width:300px;margin:auto}.nadi-label text{font:12px var(--sans);fill:#b7aac6}
.ida,.pingala{stroke-dasharray:900;stroke-dashoffset:900}.in .ida,.in .pingala{animation:draw 3.5s ease forwards}.in .pingala{animation-delay:.4s}

/* Chakras: the page warms as she rises */
.chakra{border-top:1px solid #ffffff0d}
#muladhara{background:radial-gradient(ellipse at 25% 50%,#3b0b16 0%,#140b1e 60%)}
#svadhisthana{background:radial-gradient(ellipse at 25% 50%,#401a14 0%,#160d22 60%)}
#manipura{background:radial-gradient(ellipse at 25% 50%,#1d2848 0%,#191129 60%)}
#anahata{background:radial-gradient(ellipse at 25% 50%,#3d1420 0%,#1d1430 60%)}
#vishuddha{background:radial-gradient(ellipse at 25% 50%,#2e2244 0%,#221839 60%)}
#ajna{background:radial-gradient(ellipse at 25% 50%,#3d3756 0%,#2a2145 65%)}
.chakra-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,6vw,80px);align-items:center}
.chakra:nth-of-type(odd) .lotus-wrap{order:2}
.lotus{width:min(420px,100%);margin:auto;overflow:visible}

.petal-letter{font:600 15px 'Noto Sans Devanagari','Nirmala UI','Kohinoor Devanagari',sans-serif;text-anchor:middle;dominant-baseline:central}
.bija{font:600 40px 'Noto Sans Devanagari','Nirmala UI','Kohinoor Devanagari',sans-serif;text-anchor:middle;dominant-baseline:central}
.in .lotus{animation:bloom 1.6s cubic-bezier(.2,.7,.2,1) both}
.lotus-wrap .lotus{filter:drop-shadow(0 0 30px #ffb34733)}
.place{font:.85rem var(--sans);letter-spacing:.06em;color:var(--muted);margin:0 0 18px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:26px 0;font-family:var(--sans);font-size:.88rem}
.facts dt{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.facts dd{margin:2px 0 0;color:#ddd1e6}
blockquote{margin:0;font-style:italic;font-size:1.15rem;color:#fff3dc}
blockquote:before{content:'“'}blockquote:after{content:'”'}

/* Crown: dawn */
.crown-section{background:radial-gradient(ellipse at 50% 30%,#fff8e8 0%,#f3e3c3 45%,#c9b4d8 100%);color:#2b2140;text-align:center}
.crown-section .eyebrow{color:#9b5a1a}.crown-section .dev{color:#9b5a1a}.crown-section .place{color:#6a5b7c}
.crown-section .verse{color:#3a2c52;border:0;padding:0;text-align:center}.crown-section .verse span{color:#6a5b7c}
.crown{width:min(460px,100%);margin:0 auto 30px}
.in .crown{animation:bloom 2.4s cubic-bezier(.2,.7,.2,1) both,glowpulse 6s 2.4s ease-in-out infinite}
.center{text-align:center}

.garland{background:#f3e3c3;color:#2b2140}.garland .eyebrow{color:#9b5a1a}
.garland-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.garland-list li{display:flex;align-items:center;gap:18px;padding:10px 18px;border-radius:40px;background:#fffaf0;border:1px solid #e4cfa9}
.garland-list .g-n{font-size:1.6rem;color:#9b5a1a;min-width:2.2ch;text-align:right}
.garland-list .total{background:#2b2140;color:#fff3dc;border:0}.garland-list .total .g-n{color:var(--gold)}
.return{background:linear-gradient(#f3e3c3,#2b2140 30%,var(--night))}
.return .narrow{padding-top:6vw}
.closing{text-align:center;background:var(--night)}
.quote{font-size:clamp(1.8rem,4vw,3rem);line-height:1.3;color:var(--gold);font-style:italic;margin:0}
footer{background:#06050d;color:#8f84a0;font:.82rem/1.7 var(--sans);padding:50px 0}
footer b{color:#d8cde4}

.reveal{opacity:0;transform:translateY(30px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.reveal.in,.no-js .reveal{opacity:1;transform:none}
.no-js .ida,.no-js .pingala{stroke-dashoffset:0}

@keyframes shimmer{50%{opacity:.75}}
@keyframes breathe{50%{opacity:.6;transform:scale(1.04)}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes bloom{from{opacity:0;transform:scale(.6) rotate(-25deg)}to{opacity:1;transform:none}}
@keyframes glowpulse{50%{filter:drop-shadow(0 0 50px #ffd27a)}}

@media(max-width:860px){.hero-grid,.split,.chakra-grid{grid-template-columns:1fr}.chakra:nth-of-type(odd) .lotus-wrap{order:0}.lotus{width:min(320px,100%)}.facts{grid-template-columns:1fr}.begin{display:none}.hero{padding:90px 0 60px}.wrap,.narrow{width:min(1120px,84vw)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.ida,.pingala{stroke-dashoffset:0}}
.dev{font-family:'Noto Sans Devanagari','Nirmala UI','Kohinoor Devanagari','Devanagari Sangam MN',var(--serif)}
.coil-front path,.neck{stroke-width:6.5}
.petal-letter.big{font-size:22px}
.emblem{max-width:470px;margin:auto;overflow:visible}
.emblem .naga{animation:lustre 5s ease-in-out infinite}.emblem .kandarpa{animation:breathe 4s ease-in-out infinite;transform-origin:0 20px}
.emblem .trikona{animation:lustre 7s ease-in-out infinite}
@keyframes lustre{50%{opacity:.82}}
.verse.small{font-size:1.02rem;margin:18px 0}
.facts div:nth-last-child(1){grid-column:1/-1}
details.fruit{margin-top:22px;border-top:1px solid #ffffff1c;padding-top:14px;font-family:var(--sans)}
details.fruit summary{cursor:pointer;color:var(--gold);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}
details.fruit p{font-family:var(--serif);font-style:italic;color:#efe3cf;margin:12px 0 0}details.fruit p span{display:block;font:normal .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.awakening{background:radial-gradient(ellipse at 50% 100%,#4a1020 0%,#140b1e 60%)}
.awakening em{color:#ffcf8a}.aside{font:.88rem/1.6 var(--sans);color:var(--muted)}
.knots{background:linear-gradient(#2a2145,#3a2c58)}
.center-head{text-align:center}.lede.wide{max-width:60ch;margin:0 auto}
.knot-list{list-style:none;padding:0;margin:50px 0 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.knot-list li{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:20px;padding:26px 22px;position:relative}
.knot-list h3{font-weight:400;font-size:1.35rem;margin:8px 0 2px}.k-n{font-size:2rem;color:var(--gold)}
.k-where{font:.78rem var(--sans);letter-spacing:.06em;color:var(--muted);margin:0 0 12px}
.knot-list p{margin:0}.knot-list b{color:#ffe1a3;font-weight:400}
.crown-knot{background:linear-gradient(160deg,#fff4dc22,#ffffff0d)}
@media(max-width:860px){.knot-list{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.knot-list{grid-template-columns:1fr}}
.moves{background:linear-gradient(var(--night),#1a1230)}
.mv-points{padding-left:22px}.mv-points li{margin:8px 0}.mv-points b{color:#ffe1a3;font-weight:400}
.mover-wrap{margin:0;position:relative;text-align:center}
.mover{max-width:330px;margin:auto;overflow:visible}
.mv-name{font:12px var(--sans);fill:#b7aac6}
.mv-caps{position:relative;height:3.2em;max-width:340px;margin:10px auto 0;font-style:italic;color:#f4e9d8;font-size:.98rem}
.mv-toggle{margin-top:10px;background:none;border:1px solid #ffffff40;color:var(--ink);border-radius:30px;padding:7px 18px;font:.8rem var(--sans);cursor:pointer}
.mv-toggle:hover{border-color:var(--gold)}
.anatomy-sec{background:linear-gradient(#1a1230,#120c22)}
.an-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(24px,4vw,60px);align-items:start;margin-top:44px}.an-grid>*{min-width:0}
.anatomy{max-width:360px;margin:auto}.an-num{font:700 12px var(--sans);text-anchor:middle;dominant-baseline:central}
.an-legend{font:.78rem/1.8 var(--sans);color:var(--muted);text-align:center}.sw{display:inline-block;width:14px;height:3px;vertical-align:middle;margin:0 6px 0 10px}.sw-s{background:#f5b041}.sw-i{background:#d6e4ff}.sw-p{background:#ff8a3d}
.an-table{width:100%;border-collapse:collapse;font:.88rem/1.5 var(--sans)}
.an-table th{text-align:left;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);padding:8px 10px;border-bottom:1px solid #ffffff30}
.an-table td{padding:12px 10px;border-bottom:1px solid #ffffff14;vertical-align:top;color:#e6dcef}
.an-table td:first-child{font-family:var(--serif);font-size:1rem;white-space:nowrap;color:#fff3dc}
.an-note{color:var(--muted)!important;font-size:.8rem}
.an-badge{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ffffff1a;font:700 .7rem var(--sans);margin-right:8px;color:var(--gold)}
.an-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:50px}
.an-cards>div{background:#ffffff0a;border:1px solid #ffffff1c;border-radius:20px;padding:28px}
.an-cards h3{font-weight:400;font-size:1.4rem;margin:0 0 10px;color:#fff3dc}
@media(max-width:960px){.an-grid,.an-cards{grid-template-columns:1fr}.an-table th:nth-child(4),.an-table td:nth-child(4){display:none}}
@media(max-width:520px){.an-table th:nth-child(2),.an-table td:nth-child(2){display:none}.an-table td:first-child{white-space:normal}}
