:root{
  --paper:#f3e9d6; --paper-hi:#faf3e4; --paper-lo:#e7d8bd;
  --ink:#241629; --ink-2:#4b3546; --plum:#3d1f3a; --lapis:#1f2f6b; --lapis-2:#16224f;
  --jade:#2f7d6d; --lotus:#de7f98; --rose:#c76b84; --lav:#9c86c9; --coral:#e2725b;
  --gold-1:#7a5a1e; --gold-2:#b98b2e; --gold-3:#e9c76c; --gold-4:#fff1b8;
  --leaf: linear-gradient(115deg,#7a5a1e 0%,#c99a3b 18%,#f6dc8a 30%,#b98b2e 42%,#fff1b8 52%,#c39232 64%,#8a6420 78%,#e9c76c 92%,#9b7426 100%);
  --champ: linear-gradient(115deg,#a9874f 0%,#dcc290 16%,#f3e4c2 28%,#c7a76f 42%,#f6ead0 52%,#c3a169 66%,#e8d3a4 80%,#b08f58 100%);
  --display:"Fraunces", "IM Fell English", serif;
  --fell:"IM Fell English", Georgia, serif;
  --sc:"IM Fell English SC", Georgia, serif;
  --script:"Pinyon Script", cursive;
  --type:"Courier Prime", ui-monospace, monospace;
  --body:"EB Garamond", Georgia, serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
/* paper: grain + fibres + soft foxing */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;mix-blend-mode:multiply;opacity:.55;
  background:
   url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .32  0 0 0 0 .2  0 0 0 .2 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
   url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='900'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 .55  0 0 0 0 .4  0 0 0 0 .2  0 0 0 -1.6 .55'/></filter><rect width='100%' height='100%' filter='url(%23f)'/></svg>");}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.leaf{background:var(--champ);filter:drop-shadow(0 1px 0 rgba(96,68,22,.55)) drop-shadow(0 0 1px rgba(96,68,22,.35));background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:leaf 9s ease-in-out infinite alternate}
@keyframes leaf{to{background-position:100% 0}}
.type{font-family:var(--type);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.s4{display:inline-block;width:.8em;height:.8em;vertical-align:-.05em}

/* ───────── masthead ───────── */
.mast{position:relative;z-index:40;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 4vw 18px;border-bottom:1px solid rgba(36,22,41,.25)}
.mast::after{content:"";position:absolute;left:4vw;right:4vw;bottom:-5px;border-bottom:1px solid rgba(36,22,41,.25)}
.mast .l{color:var(--ink-2)}
.mono{font-family:var(--sc);font-size:1.25rem;letter-spacing:.14em;text-align:center;display:flex;align-items:center;gap:.6rem}
.mono svg{width:14px;height:14px}
.mast nav{display:flex;gap:1.7rem;justify-content:flex-end}
.mast nav a{position:relative}
.mast nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--gold-2);transform:scaleX(0);transition:transform .4s}
.mast nav a:hover::after{transform:scaleX(1)}
@media(max-width:860px){.mast{grid-template-columns:1fr;justify-items:center;gap:8px}.mast .l{display:none}.mast nav{gap:1rem;font-size:.62rem}}

/* ───────── hero / altarpiece ───────── */
.hero{position:relative;padding:4.5vw 3vw 2vw;text-align:center}
.kicker{color:#9e4562;margin-bottom:1.2rem}
h1{font-family:var(--display);font-weight:300;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;font-size:clamp(3.6rem,10.5vw,11rem);line-height:.86;letter-spacing:-.02em;position:relative;z-index:30}
h1 .of{font-family:var(--script);font-weight:400;font-size:.55em;color:var(--rose);display:inline-block;transform:translateY(-.12em) rotate(-6deg);margin:0 .06em;letter-spacing:0}
h1 .dev{font-style:italic;font-weight:400}
.sub{max-width:640px;margin:1.6rem auto 0;font-family:var(--fell);font-style:italic;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.35;color:var(--ink-2)}

.altar{position:relative;width:min(1240px,96vw);aspect-ratio:1240/860;margin:3.2vw auto 0}
.panel{position:absolute;border-radius:999px 999px 6px 6px;overflow:hidden;background:var(--lapis)}
.panel img{width:100%;height:100%;object-fit:cover}
.gild{position:absolute;pointer-events:none;border-radius:999px 999px 8px 8px;padding:clamp(6px,1vw,13px);background:var(--leaf);background-size:200% 200%;animation:leaf 12s ease-in-out infinite alternate;
  -webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  filter:drop-shadow(0 18px 30px rgba(61,31,58,.28))}
.gild::after{content:"";position:absolute;inset:clamp(3px,.45vw,6px);border-radius:inherit;border:1px solid rgba(255,241,184,.9)}
.p-c{left:31%;top:2%;width:38%;height:90%}
.p-l{left:7.5%;top:20%;width:22%;height:66%}
.p-r{right:7.5%;top:20%;width:22%;height:66%}
.g-c{left:calc(31% - 1.1%);top:calc(2% - 1.4%);width:40.2%;height:92.6%}
.g-l{left:calc(7.5% - 1.1%);top:calc(20% - 1.4%);width:24.2%;height:68.6%}
.g-r{right:calc(7.5% - 1.1%);top:calc(20% - 1.4%);width:24.2%;height:68.6%}
.plinth{position:absolute;left:3%;right:3%;bottom:0;height:7%;border-top:2px solid var(--gold-2);border-bottom:1px solid var(--gold-2);display:flex;align-items:center;justify-content:center;gap:2vw;color:var(--ink-2)}
.plinth::before{content:"";position:absolute;inset:4px 0;border-top:1px solid rgba(185,139,46,.5);border-bottom:1px solid rgba(185,139,46,.5)}
.piece{position:absolute;z-index:20;transform:rotate(var(--r,0deg));filter:drop-shadow(0 10px 14px rgba(36,22,41,.28))}
.piece.float{animation:bob 7s ease-in-out infinite}
@keyframes bob{50%{translate:0 -10px}}
.halo{position:absolute;left:36%;top:6%;width:28%;z-index:5;opacity:.95;mix-blend-mode:screen}
@keyframes breathe{50%{transform:scale(1.04)}}
.spark{position:absolute;z-index:25;width:var(--s,18px);height:var(--s,18px);animation:tw 3.4s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes tw{0%,100%{opacity:.6}50%{opacity:1}}

.medal{position:absolute;z-index:19;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px var(--paper-hi),0 0 0 4px var(--gold-2),0 12px 20px -8px rgba(36,22,41,.4);}
.medal img{width:100%;height:100%;object-fit:cover}
.cres{position:absolute;z-index:24;width:var(--s,22px);height:var(--s,22px);fill:url(#goldg);transform:rotate(var(--r,0deg));filter:drop-shadow(0 4px 4px rgba(36,22,41,.25))}
.piece.sm{filter:drop-shadow(0 6px 8px rgba(36,22,41,.25))}
/* ribbon */
.ribbon{position:relative;z-index:35;margin:2.4vw -2vw 0;transform:rotate(-1.6deg);background:var(--plum);color:var(--gold-3);padding:14px 0;overflow:hidden;white-space:nowrap;box-shadow:0 10px 30px -12px rgba(61,31,58,.6)}
.ribbon::before,.ribbon::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--gold-2);opacity:.7}
.ribbon::before{top:5px}.ribbon::after{bottom:5px}
.ribbon .track{display:inline-block;animation:run 55s linear infinite;font-family:var(--fell);font-style:italic;font-size:clamp(1.4rem,2.6vw,2.2rem)}
.ribbon span{margin:0 1.1rem}
.ribbon svg{width:.55em;height:.55em;vertical-align:.12em;fill:var(--gold-3)}
@keyframes run{to{transform:translateX(-50%)}}

/* sections */
section{position:relative;padding:9vw 5vw}
.folio{display:flex;align-items:center;gap:1rem;color:#9e4562;margin-bottom:1.4rem}
.folio::after{content:"";flex:1;max-width:120px;height:1px;background:currentColor;opacity:.5}
h2{font-family:var(--display);font-weight:300;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;font-size:clamp(2.8rem,6.6vw,6.6rem);line-height:.92;letter-spacing:-.02em}
h2 i{font-style:italic;font-weight:400}
h2 .scr{font-family:var(--script);font-style:normal;font-weight:400;color:var(--rose);font-size:.78em}
.center{text-align:center}.center .folio{justify-content:center}.center .folio::before{content:"";flex:1;max-width:120px;height:1px;background:currentColor;opacity:.5}
.lede{font-family:var(--fell);font-style:italic;font-size:clamp(1.2rem,1.8vw,1.5rem);color:var(--ink-2);max-width:640px;line-height:1.4}
.center .lede{margin:1.4rem auto 0}

/* torn edges */
.torn-top,.torn-bot{position:absolute;left:0;right:0;top:-1px;height:34px;transform:translateY(-100%);background:inherit;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'><path d='M0 34 L0 22 L18 18 L31 24 L52 15 L70 21 L88 12 L110 19 L131 10 L150 18 L172 14 L195 23 L214 13 L238 19 L260 9 L283 17 L301 12 L326 22 L348 11 L371 18 L392 8 L414 16 L437 13 L460 22 L482 12 L505 19 L527 10 L548 18 L572 15 L596 24 L617 13 L640 20 L662 9 L686 16 L707 12 L731 21 L753 11 L776 18 L797 7 L820 15 L842 12 L866 22 L889 13 L911 19 L934 10 L956 17 L979 14 L1002 23 L1024 12 L1047 19 L1069 9 L1092 17 L1114 13 L1137 21 L1160 11 L1181 18 L1200 14 L1200 34Z'/></svg>") 0 0/100% 100%;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 34' preserveAspectRatio='none'><path d='M0 34 L0 22 L18 18 L31 24 L52 15 L70 21 L88 12 L110 19 L131 10 L150 18 L172 14 L195 23 L214 13 L238 19 L260 9 L283 17 L301 12 L326 22 L348 11 L371 18 L392 8 L414 16 L437 13 L460 22 L482 12 L505 19 L527 10 L548 18 L572 15 L596 24 L617 13 L640 20 L662 9 L686 16 L707 12 L731 21 L753 11 L776 18 L797 7 L820 15 L842 12 L866 22 L889 13 L911 19 L934 10 L956 17 L979 14 L1002 23 L1024 12 L1047 19 L1069 9 L1092 17 L1114 13 L1137 21 L1160 11 L1181 18 L1200 14 L1200 34Z'/></svg>") 0 0/100% 100%}
.torn-bot{top:auto;bottom:-1px;transform:translateY(100%) scaleY(-1);z-index:2}

/* ───────── i. calling: illuminated page ───────── */
.illum{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:6vw;align-items:center;max-width:1240px;margin:0 auto}
.page{position:relative;padding:3.4vw 3.6vw;background:var(--paper-hi);border:1px solid rgba(185,139,46,.55);box-shadow:0 0 0 6px var(--paper-hi),0 0 0 7px rgba(185,139,46,.55),0 30px 60px -30px rgba(61,31,58,.35)}
.page p{font-family:var(--fell);font-size:clamp(1.55rem,2.5vw,2.25rem);line-height:1.3}
.page p em{color:var(--rose)}
.initial{float:left;width:clamp(96px,10vw,140px);aspect-ratio:1;margin:.25rem 1.1rem .2rem 0;position:relative}
.initial .box{position:absolute;inset:0;background:var(--lapis);border:3px solid transparent;background-clip:padding-box;box-shadow:inset 0 0 0 2px var(--gold-3)}
.initial .box::before{content:"";position:absolute;inset:-6px;background:var(--leaf);z-index:-1}
.initial svg.vine{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px)}
.initial b{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;font-style:italic;font-weight:500;font-size:clamp(4.2rem,7vw,6.2rem);line-height:1;padding-top:.05em}
.page .sig{margin-top:1.6rem;display:flex;align-items:center;gap:1rem;color:var(--ink-2)}
.margin{position:relative;aspect-ratio:4/5}
.margin .frame{position:absolute;inset:6% 8% 0 10%;border-radius:999px 999px 0 0;overflow:hidden;box-shadow:0 30px 50px -25px rgba(61,31,58,.5)}
.margin .frame img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.illum{grid-template-columns:1fr}.margin{max-width:440px;margin:0 auto;width:100%}}

/* ───────── ii. iconostasis ───────── */
#goddesses{background:var(--lapis-2);color:var(--paper);overflow:hidden}
#goddesses::before{content:"";position:absolute;inset:0;background:
  radial-gradient(1px 1px at 12% 18%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 72% 8%,#fff8 50%,transparent 51%),radial-gradient(1.5px 1.5px at 40% 60%,#ffe9a8 50%,transparent 51%),radial-gradient(1px 1px at 88% 70%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 22% 88%,#fff8 50%,transparent 51%),radial-gradient(1.5px 1.5px at 58% 32%,#fff 50%,transparent 51%);background-size:420px 420px;opacity:.7}
#goddesses .folio{color:var(--gold-3)}
#goddesses h2 .scr{color:var(--lotus)}
#goddesses .lede{color:rgba(243,233,214,.8)}
.icons{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:3.2vw 2.4vw;max-width:1280px;margin:5vw auto 0}
.icon{position:relative;text-align:center}
.icon:nth-child(4n+2),.icon:nth-child(4n+3){margin-top:4vw}
.ic-frame{position:relative;aspect-ratio:3/4.2;border-radius:999px 999px 6px 6px;padding:clamp(5px,.7vw,9px);background:var(--leaf);background-size:200% 200%;animation:leaf 14s ease-in-out infinite alternate;box-shadow:0 30px 50px -20px #000a;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ic-in{position:relative;width:100%;height:100%;border-radius:999px 999px 3px 3px;overflow:hidden;background:var(--g,#2a1f5c)}
.ic-in::after{content:"";position:absolute;inset:4px;border-radius:inherit;border:1px solid rgba(255,241,184,.55);pointer-events:none}
.ic-in > img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.ic-in > img.cut{object-fit:contain;object-position:50% 100%;padding:12% 8% 0}
.ic-in .over{position:absolute;pointer-events:none}
.icon:hover .ic-frame{transform:translateY(-10px)}
.icon:hover .ic-in > img{transform:scale(1.06)}
.icon .num{font-family:var(--sc);color:var(--gold-3);font-size:.95rem;letter-spacing:.2em;margin-top:1.2rem}
.icon h3{font-family:var(--display);font-weight:300;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;font-size:clamp(1.8rem,2.6vw,2.6rem);line-height:1;margin:.25rem 0 .3rem}
.icon .ep{font-family:var(--script);font-size:clamp(1.4rem,1.9vw,1.8rem);color:var(--lotus);line-height:1.1}
.icon p{font-family:var(--fell);font-style:italic;font-size:1.02rem;color:rgba(243,233,214,.75);max-width:24ch;margin:.5rem auto 0;line-height:1.35}
@media(max-width:980px){.icons{grid-template-columns:repeat(2,1fr)}.icon:nth-child(n){margin-top:0}.icon:nth-child(even){margin-top:8vw}}
@media(max-width:520px){.icons{gap:9vw 4vw}}

/* ───────── iii. pacha mama ───────── */
#earth{padding-top:11vw;padding-bottom:11vw}
.earth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:5vw;align-items:center;max-width:1280px;margin:0 auto}
.earth .txt p{font-size:1.15rem;color:var(--ink-2);max-width:46ch;margin-top:1.2rem}
.earth blockquote{font-family:var(--fell);font-style:italic;font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.2;margin-top:2rem;padding-left:1.2rem;border-left:2px solid var(--gold-2);color:var(--plum)}
.scene{position:relative;aspect-ratio:1/1}
.scene .land{position:absolute;left:4%;right:2%;top:34%;height:46%;overflow:hidden;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M0 6 L4 3 L9 7 L14 2 L19 6 L25 1 L31 5 L37 2 L43 6 L49 1 L55 5 L61 2 L67 6 L73 1 L79 5 L85 2 L91 6 L96 2 L100 5 L100 95 L95 98 L90 94 L84 99 L78 95 L72 98 L66 94 L60 99 L54 95 L48 98 L42 94 L36 99 L30 95 L24 98 L18 94 L12 99 L6 95 L0 98Z'/></svg>") 0 0/100% 100%;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M0 6 L4 3 L9 7 L14 2 L19 6 L25 1 L31 5 L37 2 L43 6 L49 1 L55 5 L61 2 L67 6 L73 1 L79 5 L85 2 L91 6 L96 2 L100 5 L100 95 L95 98 L90 94 L84 99 L78 95 L72 98 L66 94 L60 99 L54 95 L48 98 L42 94 L36 99 L30 95 L24 98 L18 94 L12 99 L6 95 L0 98Z'/></svg>") 0 0/100% 100%;
  filter:drop-shadow(0 20px 26px rgba(61,31,58,.3))}
.scene .land img{width:100%;height:100%;object-fit:cover}
.scene .sun{position:absolute;left:26%;top:0;width:48%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 8px var(--paper-hi),0 0 0 9px var(--gold-2),0 24px 40px -18px rgba(61,31,58,.45)}
.scene .sun img{width:100%;height:100%;object-fit:cover}
@keyframes spin{to{transform:rotate(360deg)}}
.scene .drum{position:absolute;right:-2%;bottom:2%;width:36%;z-index:22;transform:rotate(-12deg);filter:drop-shadow(0 16px 18px rgba(36,22,41,.35))}
@media(max-width:900px){.earth{grid-template-columns:1fr}}

/* ───────── living temple ───────── */
#temple{background:var(--paper-lo);padding:8vw 5vw 9vw}
.temple{max-width:1200px;margin:0 auto;text-align:center}
.tcol{position:relative;width:min(900px,100%);aspect-ratio:16/9;margin:0 auto 4vw}
.ttxt h2{font-size:clamp(3.4rem,9vw,8.4rem)}
.ttxt p{font-family:var(--fell);font-style:italic;font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.4;color:var(--ink-2);max-width:40ch;margin:1.6rem auto 0}
/* ───────── iv. worship: holy cards ───────── */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw 3vw;max-width:1180px;margin:5.5vw auto 0}
.holy{--r:6px;position:relative;padding:var(--r);background:var(--paper-hi);
  -webkit-mask:linear-gradient(#000 0 0) content-box,radial-gradient(var(--r),#000 97%,#0000) 0 0/calc(2*var(--r)) calc(2*var(--r)) round;
  mask:linear-gradient(#000 0 0) content-box,radial-gradient(var(--r),#000 97%,#0000) 0 0/calc(2*var(--r)) calc(2*var(--r)) round;
  transform:rotate(var(--t,0deg));transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.holy-wrap{filter:drop-shadow(0 18px 22px rgba(61,31,58,.22))}
.holy-wrap:hover .holy{transform:rotate(0) translateY(-8px)}
.holy .lace{padding:16px 16px 22px;background:
   radial-gradient(circle at 50% 50%,var(--paper-lo) 1.6px,transparent 2px) 0 0/11px 11px,var(--paper-hi);}
.holy .inner{background:var(--paper-hi);padding:14px 14px 20px;border:1px solid rgba(185,139,46,.6);text-align:center}
.holy .img{aspect-ratio:4/5;overflow:hidden;border-radius:999px 999px 0 0;position:relative}
.holy .img img{width:100%;height:100%;object-fit:cover}
.holy .k{font-family:var(--sc);color:#9e4562;letter-spacing:.2em;font-size:.85rem;margin-top:1rem}
.holy h3{font-family:var(--display);font-weight:400;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 72;font-size:clamp(1.55rem,2.1vw,2rem);line-height:1.05;margin:.15rem 0 .45rem}
.holy p{font-family:var(--fell);font-style:italic;font-size:1.04rem;color:var(--ink-2);line-height:1.35}
.cards .holy-wrap:nth-child(3n+2){margin-top:5vw}
@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.cards .holy-wrap:nth-child(n){margin-top:0}.cards .holy-wrap:nth-child(even){margin-top:7vw}}
@media(max-width:540px){.cards{grid-template-columns:1fr;max-width:380px}.cards .holy-wrap:nth-child(even){margin-top:0}}

/* ───────── v. gather ───────── */
#gather{background:var(--paper-lo)}
.moons{display:flex;justify-content:space-between;gap:1vw;max-width:1100px;margin:4.5vw auto 1.2rem}
.moons svg{width:clamp(34px,8vw,104px);height:auto;filter:drop-shadow(0 8px 10px rgba(36,22,41,.25))}
@keyframes tw2{50%{transform:translateY(-6px)}}
.moonlabels{display:flex;justify-content:space-between;max-width:1100px;margin:0 auto;color:var(--ink-2)}
.moonlabels span{width:clamp(34px,8vw,104px);text-align:center;font-size:.58rem}
.seasons{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:5vw auto 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.seasons > div{padding:2.4vw 2.2vw 2.8vw;border-right:1px solid rgba(36,22,41,.3)}
.seasons > div:last-child{border:none}
.seasons h3{font-family:var(--display);font-weight:400;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 72;font-size:clamp(1.7rem,2.4vw,2.3rem);line-height:1.05;margin:.6rem 0 .5rem}
.seasons p{color:var(--ink-2)}
.seasons .type{color:#245f53}
.now{max-width:1180px;margin:2.6vw auto 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:baseline}
.now .m{font-family:var(--fell);font-size:clamp(1.5rem,2.4vw,2.1rem)}
.now .m i{color:var(--rose)}
.now .n{font-family:var(--fell);font-style:italic;color:var(--plum);font-size:1.15rem}
@media(max-width:820px){.seasons{grid-template-columns:1fr}.seasons>div{border-right:none;border-bottom:1px solid rgba(36,22,41,.3)}}

/* ───────── vi. rites ───────── */
.rites{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:6vw;max-width:1240px;margin:0 auto;align-items:center}
.rlist{list-style:none;margin-top:3vw;border-top:1px solid var(--ink)}
.rlist li{display:grid;grid-template-columns:3.2rem 1fr auto;gap:1rem;align-items:baseline;padding:1.3rem 0;border-bottom:1px solid rgba(36,22,41,.25);transition:padding .5s}
.rlist li:hover{padding-left:.8rem}
.rlist .rn{font-family:var(--sc);color:#9e4562}
.rlist h3{font-family:var(--display);font-weight:300;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;font-size:clamp(1.9rem,3.2vw,3rem);line-height:1}
.rlist li:hover h3{font-style:italic}
.rlist p{font-family:var(--fell);font-style:italic;color:var(--ink-2);text-align:right;max-width:24ch;font-size:1.02rem;line-height:1.3}
.rites .note{margin-top:1.6rem;font-family:var(--fell);font-style:italic;font-size:1.25rem;color:var(--plum)}
.window{position:relative;aspect-ratio:3/4.4}
.window .arch{position:absolute;inset:0;border-radius:999px 999px 0 0;overflow:hidden;box-shadow:0 0 0 10px var(--paper-hi),0 0 0 11px var(--gold-2),0 40px 60px -30px rgba(61,31,58,.5)}
.window .arch img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.rites{grid-template-columns:1fr}.window{max-width:400px;margin:0 auto;width:100%}.rlist li{grid-template-columns:2.4rem 1fr}.rlist p{grid-column:2;text-align:left}}

/* ───────── vii. priestess ───────── */
.priest{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6vw;max-width:1240px;margin:0 auto;align-items:center}
.portrait{position:relative;aspect-ratio:3/4}
.portrait .g{position:absolute;inset:0;border-radius:999px 999px 6px 6px;padding:12px;background:var(--leaf);background-size:200% 200%;animation:leaf 12s ease-in-out infinite alternate;box-shadow:0 40px 60px -30px rgba(61,31,58,.55)}
.portrait .g > div{width:100%;height:100%;border-radius:999px 999px 3px 3px;overflow:hidden;background:var(--plum)}
.portrait .g img{width:100%;height:100%;object-fit:cover}
.name{font-family:var(--display);font-weight:300;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;font-size:clamp(5rem,12vw,11.5rem);line-height:.82;letter-spacing:-.03em;margin:.4rem 0 2rem}
.name i{font-family:var(--script);font-style:normal;color:var(--rose);font-size:.42em;display:block;letter-spacing:0;margin-top:.15em}
.priest p{font-size:1.15rem;color:var(--ink-2);max-width:50ch;margin-bottom:1rem}
.priest blockquote{margin-top:2.2rem;font-family:var(--fell);font-style:italic;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.2;color:var(--plum);max-width:24ch;position:relative;padding-top:2.4rem}
.priest blockquote::before{content:"";position:absolute;top:0;left:0;width:90px;height:1px;background:var(--gold-2)}
@media(max-width:900px){.priest{grid-template-columns:1fr}.portrait{max-width:420px;margin:0 auto;width:100%}}

/* ───────── welcome ───────── */
#welcome{background:var(--plum);color:var(--paper);text-align:center;padding:12vw 5vw;overflow:hidden}
#welcome .folio{color:var(--gold-3)}
#welcome h2{position:relative;z-index:3}
#welcome h2 .scr{color:var(--lotus)}
#welcome p{position:relative;z-index:3;max-width:48ch;margin:2rem auto 0;font-family:var(--fell);font-style:italic;font-size:1.35rem;color:rgba(243,233,214,.85)}
#welcome .soon{position:relative;z-index:3;display:inline-block;margin-top:2.6rem;padding:1rem 2rem;border:1px solid var(--gold-3);color:var(--gold-3)}
#welcome .bigmoon{position:absolute;width:min(560px,80vw);left:50%;top:50%;transform:translate(-50%,-50%);opacity:.22;mix-blend-mode:screen}

footer{padding:5vw 5vw 3.4vw;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}
footer .big{font-family:var(--display);font-weight:300;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;font-size:clamp(3rem,9vw,8.5rem);line-height:.84;letter-spacing:-.03em}
footer .big .of{font-family:var(--script);color:var(--rose);font-size:.55em}
footer .meta{text-align:right;color:var(--ink-2);line-height:1.9}
@media(max-width:700px){footer{grid-template-columns:1fr}footer .meta{text-align:left}}

/* cursor sparkles */
.trail{position:fixed;pointer-events:none;z-index:100;width:14px;height:14px;animation:fade 1s ease-out forwards}
@keyframes fade{to{opacity:0;transform:translateY(18px) scale(.2) rotate(90deg)}}

.rv{opacity:0;transform:translateY(34px);transition:opacity 1.3s cubic-bezier(.2,.7,.2,1),transform 1.3s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* ───────── navigation ───────── */
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--plum);color:var(--paper);padding:10px 16px}
.skip:focus{left:12px}
.mast{position:sticky;top:0;background:rgba(243,233,214,.94);backdrop-filter:blur(8px)}
.menu-btn{display:none;background:none;border:1px solid rgba(36,22,41,.35);color:var(--ink);padding:9px 14px;cursor:pointer}
.mast nav a[aria-current]{border-bottom:1px solid var(--gold-2)}
@media(max-width:860px){
  .mast{grid-template-columns:1fr auto;justify-items:stretch}
  .mast .mono{justify-self:start;font-size:1.05rem}
  .menu-btn{display:inline-flex;align-items:center;gap:.5rem}
  .mast nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--paper-hi);border-bottom:1px solid rgba(36,22,41,.25);font-size:.8rem}
  .mast nav a{padding:16px 6vw;border-top:1px solid rgba(36,22,41,.12)}
  .mast.open nav{display:flex}
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-1);outline-offset:3px}
/* ───────── offerings ───────── */
#offerings{padding-top:7vw}
.offer{display:grid;grid-template-columns:repeat(3,1fr);gap:3.4vw;max-width:1180px;margin:5vw auto 0}
.offer article{text-align:center}
.offer .frame{position:relative;aspect-ratio:3/4;border-radius:999px 999px 6px 6px;padding:clamp(6px,.8vw,10px);background:var(--leaf);background-size:200% 200%;box-shadow:0 30px 50px -28px rgba(61,31,58,.55)}
.offer .frame > div{width:100%;height:100%;border-radius:999px 999px 3px 3px;overflow:hidden}
.offer .frame img{width:100%;height:100%;object-fit:cover}
.offer .num{font-family:var(--sc);color:#9e4562;letter-spacing:.2em;margin-top:1.4rem}
.offer h3{font-family:var(--display);font-weight:300;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144;font-size:clamp(2rem,3vw,2.8rem);line-height:1;margin:.3rem 0 .6rem}
.offer p{font-family:var(--fell);font-style:italic;font-size:1.12rem;color:var(--ink-2);max-width:30ch;margin:0 auto;line-height:1.4}
.offer-cta{text-align:center;margin-top:4vw}
.btn{display:inline-block;font-family:var(--type);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;padding:1rem 2rem;border:1px solid var(--ink);transition:background .3s,color .3s}
.btn:hover{background:var(--ink);color:var(--paper)}
#welcome .btn{border-color:var(--gold-3);color:var(--gold-3);position:relative;z-index:3}
#welcome .btn:hover{background:var(--gold-3);color:var(--plum)}
@media(max-width:860px){.offer{grid-template-columns:1fr;max-width:420px}}
/* ───────── footer ───────── */
footer .fnav{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:flex-end;margin-bottom:1.2rem}
footer .fnav a{border-bottom:1px solid transparent}
footer .fnav a:hover{border-color:var(--gold-2)}
@media(max-width:700px){footer .fnav{justify-content:flex-start}}
/* ───────── inner pages ───────── */
.inner{max-width:760px;margin:0 auto;padding:7vw 6vw 9vw}
.inner h1{font-size:clamp(3rem,8vw,6rem);text-align:left;margin-bottom:1.6rem}
.inner h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:2.6rem 0 .8rem;line-height:1.1}
.inner p,.inner li{color:var(--ink-2);margin-bottom:1rem}
.inner ul{padding-left:1.2rem}
.inner a{border-bottom:1px solid var(--gold-2)}
.form label{display:block;font-family:var(--type);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin:1.4rem 0 .4rem;color:var(--ink)}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:1.05rem;padding:.8rem 1rem;background:var(--paper-hi);border:1px solid rgba(36,22,41,.35);color:var(--ink);border-radius:2px}
.form textarea{min-height:170px;resize:vertical}
.form button{margin-top:1.8rem;cursor:pointer;background:var(--plum);color:var(--paper);border-color:var(--plum)}
.form .hp{position:absolute;left:-9999px}
.note{font-family:var(--fell);font-style:italic;color:var(--ink-2)}

/* mailing list */
.join{position:relative;z-index:3;max-width:520px;margin:2.4rem auto 0;text-align:center}
.join label{display:block;color:var(--gold-3);margin-bottom:.9rem}
.join .row{display:flex;gap:.6rem}
.join input{flex:1;font:inherit;font-size:1.05rem;padding:.85rem 1rem;background:rgba(243,233,214,.08);border:1px solid var(--gold-3);color:var(--paper);border-radius:2px}
.join input::placeholder{color:rgba(243,233,214,.6)}
.join .hp{position:absolute;left:-9999px}
@media(max-width:520px){.join .row{flex-direction:column}}

/* sacred geometry + mirrored pieces (Cosmic Collage direction) */
.geo{position:absolute;pointer-events:none;color:var(--gold-2);opacity:.38;z-index:0}
.geo-hero{left:50%;top:44%;width:96%;transform:translate(-50%,-50%);opacity:.32}
.geo-temple{left:50%;top:46%;width:72%;transform:translate(-50%,-50%)}
.geo-earth{left:50%;top:40%;width:110%;transform:translate(-50%,-50%);opacity:.28}
.piece.flip{transform:scaleX(-1) rotate(calc(-1*var(--r,0deg)))}
.piece{filter:drop-shadow(0 8px 10px rgba(36,22,41,.22))}
/* join button */
.join button.btn{background:var(--gold-3);color:var(--plum);border-color:var(--gold-3);cursor:pointer;font-weight:700}
.join button.btn:hover{background:var(--paper);border-color:var(--paper)}
