/* GENESIS inner pages: designed heroes, bands and moments (elevate_pages.py). Homepage tokens only. */
main.pgx{padding:0}
.pgx .wrap{position:relative}

/* hero */
.ph{position:relative;overflow:hidden;padding:calc(var(--hdr) + clamp(36px,6vw,88px)) 0 clamp(56px,8vw,112px);background:radial-gradient(110% 90% at 75% 35%,var(--nebula) 0%,var(--void-2) 48%,var(--void) 78%);isolation:isolate}
.ph .stars{z-index:-1}
.ph-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.ph-in>*,.ph-copy{container-type:inline-size}
.ph h1{overflow-wrap:normal;font-size:min(clamp(46px,7.4vw,96px),calc(142cqw / var(--fit,7)));line-height:.98;color:var(--gold);margin:0 0 20px;text-shadow:0 0 42px rgba(var(--gold-rgb),.28)}
.ph h1 .ph-sub{display:block;margin-top:14px;font-size:.36em;line-height:1.15;letter-spacing:.06em;color:var(--parch);text-shadow:none}
.ph .lede{font-size:clamp(19px,2vw,24px);color:var(--parch);max-width:30em;margin:0 0 26px}
.ph-q{font:400 clamp(20px,2vw,25px)/1.5 var(--f-body);color:var(--parch);max-width:24em;margin:0 0 26px}
.ph-acts{display:flex;flex-wrap:wrap;gap:12px}
.ph-acts .btn{white-space:normal;text-align:center}
.ph-c{text-align:center}
.ph-c .ph-in{grid-template-columns:minmax(0,1fr)}
.ph-c .lede,.ph-c .ph-q{margin-left:auto;margin-right:auto}
.ph-c .ph-acts{justify-content:center}
.ph-bg{position:absolute;inset:0 0 0 42%;z-index:-2}
.ph-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;opacity:.8;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 12%,#000 34%),radial-gradient(70% 80% at 60% 45%,#000 40%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 12%,#000 34%),radial-gradient(70% 80% at 60% 45%,#000 40%,transparent 100%);mask-composite:intersect}
.ph-tall{min-height:min(88svh,820px);display:flex;align-items:center}
.ph-tall>.wrap{width:100%}
.ph-copy{max-width:36em}

/* soft "coming" state */
.soon{display:inline-flex;flex-direction:column;justify-content:center;min-height:48px;padding:8px 22px;border-radius:999px;border:1px dashed rgba(var(--gold-rgb),.45);color:var(--muted);font:600 15px/1.2 var(--f-body);letter-spacing:.04em}
.soon small{display:block;font-weight:400;opacity:.8;letter-spacing:.02em}
.tag{display:inline-block;padding:5px 12px;border-radius:999px;border:1px solid rgba(var(--gold-rgb),.45);color:var(--gold);font:600 12px/1.2 var(--f-body);letter-spacing:.18em;text-transform:uppercase}

/* card fan */
.fan{position:relative;width:min(100%,560px);aspect-ratio:1.25;margin:0 auto}
.fan a,.fan span.fc{position:absolute;left:50%;bottom:4%;width:40%;aspect-ratio:3/4;margin-left:-20%;border-radius:12px;overflow:hidden;box-shadow:0 24px 50px rgba(var(--shade-rgb),.7),0 0 0 1px rgba(var(--line-rgb),.25);transform-origin:50% 120%;transform:rotate(var(--r)) translateY(var(--y,0));transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.fan img{width:100%;height:100%;object-fit:cover}
.fan>:nth-child(1){--r:-24deg;--y:4%}
.fan>:nth-child(2){--r:-12deg;--y:1%}
.fan>:nth-child(3){--r:0deg;--y:-3%;z-index:3;box-shadow:0 30px 70px rgba(var(--shade-rgb),.75),0 0 60px rgba(var(--gold-rgb),.28),0 0 0 1px rgba(var(--gold-rgb),.6)}
.fan>:nth-child(4){--r:12deg;--y:1%;z-index:2}
.fan>:nth-child(5){--r:24deg;--y:4%;z-index:1}
.fan>:nth-child(2){z-index:2}
.fan:hover>:nth-child(1){--r:-30deg}
.fan:hover>:nth-child(2){--r:-15deg}
.fan:hover>:nth-child(4){--r:15deg}
.fan:hover>:nth-child(5){--r:30deg}
.fan a:hover,.fan a:focus-visible{--y:-9%;z-index:5}
.fan-glow::before{content:"";position:absolute;left:10%;right:10%;top:18%;bottom:0;border-radius:50%;background:radial-gradient(closest-side,rgba(var(--gold-rgb),.22),transparent);filter:blur(10px)}

/* bands */
.band{padding:clamp(64px,9vw,128px) 0}
.band-ink{background:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band h2{color:var(--gold);margin:0 0 18px}
.band-h{max-width:52em;margin:0 0 clamp(28px,4vw,48px)}
.band-h p{color:var(--muted)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.lead-p{font:500 clamp(21px,2.3vw,28px)/1.45 var(--f-body);color:var(--parch);margin:0}
.prose{max-width:40em}
.prose p{font-size:clamp(17px,1.5vw,19px);margin:0 0 1.1em}
.prose p:last-child{margin-bottom:0}

/* full width typographic moment */
.verse{position:relative;padding:clamp(72px,11vw,150px) 0;text-align:center;overflow:hidden;background:radial-gradient(60% 80% at 50% 50%,rgba(var(--gold-rgb),.08),transparent 70%)}
.verse::before,.verse::after{content:"";display:block;width:min(260px,40vw);height:1px;margin:0 auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.verse::before{margin-bottom:clamp(36px,5vw,56px)}
.verse::after{margin-top:clamp(36px,5vw,56px)}
.verse blockquote{margin:0 auto;max-width:22em;font:600 clamp(28px,4.6vw,60px)/1.18 var(--f-display);color:var(--parch);text-wrap:balance}
.verse blockquote span{display:block}
.verse blockquote span+span{color:var(--gold)}
.verse p{margin:22px auto 0;max-width:34em;font:400 clamp(17px,1.6vw,20px)/1.6 var(--f-body);color:var(--muted)}
.verse-sm blockquote{font-size:clamp(24px,3.4vw,44px);max-width:26em}

/* numbers */
.statband{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.statband li{padding:clamp(26px,4vw,44px) 12px;text-align:center;border-left:1px solid var(--line)}
.statband li:first-child{border-left:0}
.statband b{display:block;font:600 clamp(40px,5.4vw,72px)/1 var(--f-display);color:var(--gold)}
.statband span{display:block;margin-top:10px;font:600 12px/1.3 var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}

/* elements */
.els{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.els li{padding:8px 18px;border-radius:999px;border:1px solid var(--line);font:600 14px/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--parch)}

/* image tiles */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(300px,34vw,420px);padding:clamp(22px,3vw,34px);border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--ink);text-decoration:none;isolation:isolate;transition:border-color .35s,transform .35s}
.tile:hover,.tile:focus-visible{border-color:rgba(var(--gold-rgb),.6);transform:translateY(-4px)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--void-rgb),0) 30%,rgba(var(--void-rgb),.94) 88%)}
.tile-art{position:absolute;inset:0;z-index:-2;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.tile:hover .tile-art{transform:scale(1.05)}
.tile-art>img{width:100%;height:100%;object-fit:cover}
.tile-k{font:600 12px/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.tile-h{font:600 clamp(26px,2.8vw,38px)/1.08 var(--f-display);color:var(--text)}
.tile-p{color:var(--muted);margin-top:8px}
.tile-go{position:absolute;top:clamp(20px,3vw,30px);right:clamp(20px,3vw,30px);width:48px;height:48px;border-radius:50%;border:1px solid rgba(var(--gold-rgb),.55);background:rgba(var(--void-rgb),.55);transition:background .3s}
.tile-go::after{content:"";position:absolute;left:17px;top:19px;width:10px;height:10px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:rotate(45deg)}
.tile:hover .tile-go{background:rgba(var(--gold-rgb),.18)}
.collage{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px;transform:rotate(-8deg) scale(1.3) translateY(-6%)}
.collage img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px}
.facering{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;padding:clamp(22px,3vw,34px);padding-right:calc(clamp(20px,3vw,30px) + 62px);align-content:start}
.facering img{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(var(--gold-rgb),.5)}
.deckart{display:flex;flex-direction:column;gap:18px;padding:clamp(22px,3vw,34px);padding-right:calc(clamp(20px,3vw,30px) + 62px)}
.meter{display:grid;grid-template-columns:repeat(11,1fr);gap:6px}
.meter i{aspect-ratio:3/4;border-radius:4px;border:1px solid rgba(var(--gold-rgb),.35)}
.meter i:nth-child(-n+12){background:linear-gradient(160deg,rgba(var(--gold-rgb),.85),rgba(var(--gold-rgb),.35));border-color:transparent}
.deck-row{display:flex;align-items:center;justify-content:space-between}
.tile-heart{width:52px;height:52px}
.meter-n{font:600 clamp(40px,5vw,64px)/1 var(--f-display);color:var(--gold)}
.meter-n small{font:600 13px/1 var(--f-body);letter-spacing:.18em;color:var(--muted)}
.pt0{padding-top:0}

/* gold Open Play moment */
.gold{background:linear-gradient(135deg,var(--gold-lo),var(--gold) 45%,var(--gold-dk));color:var(--on-gold)}
.gold .eyebrow{color:var(--umber)}
.gold h2{color:var(--on-gold)}
.gold p{color:var(--on-gold-2)}
.gold-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.gold-big{font:600 clamp(26px,3.2vw,40px)/1.15 var(--f-display);color:var(--on-gold)!important;margin:18px 0 26px}
.gold .ph-acts .btn{min-width:0}

/* numbered steps */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:st}
.steps li{position:relative;padding:clamp(24px,3vw,36px);border-radius:20px;border:1px solid var(--line);background:rgba(var(--ink-rgb),.6);counter-increment:st}
.steps li::before{content:counter(st);display:block;font:600 clamp(44px,5vw,64px)/1 var(--f-display);color:var(--gold);margin-bottom:16px}
.steps h3{font-size:clamp(21px,2vw,26px);color:var(--text);margin:0 0 10px}
.steps p{color:var(--muted);margin:0}
.steps a{color:var(--gold)}

/* seal */
.seal{position:relative;width:min(78vw,360px);aspect-ratio:1;margin:0 auto}
.seal svg{position:absolute;inset:0;width:100%;height:100%}
.seal-ring{transform-origin:50% 50%}
.motion .seal-ring{animation:spin 80s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.seal-c{position:absolute;inset:22%;display:grid;place-content:center;text-align:center;border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--ink-2),var(--void));box-shadow:inset 0 0 0 1px rgba(var(--gold-rgb),.55),0 0 80px rgba(var(--gold-rgb),.18)}
.seal-c b{display:block;font:600 clamp(26px,4vw,38px)/1 var(--f-display);color:var(--gold)}
.seal-c span{display:block;margin-top:8px;font:600 11px/1.3 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--parch)}
@media (prefers-reduced-motion:reduce){.motion .seal-ring{animation:none}}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pillar{position:relative;padding:clamp(26px,3vw,40px);border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(var(--ink-rgb),.9),rgba(var(--ink-rgb),.4));overflow:hidden}
.pillar::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.pillar h3{font-size:clamp(30px,3.2vw,44px);color:var(--gold);margin:0 0 16px}
.pillar p{color:var(--text);margin:0}

/* portrait frame */
.frame{position:relative;max-width:420px;margin:0 auto;border-radius:24px;overflow:hidden;box-shadow:0 40px 90px rgba(var(--shade-rgb),.7),0 0 0 1px rgba(var(--gold-rgb),.5),0 0 90px rgba(var(--gold-rgb),.16)}
.frame img{width:100%}

/* portals (arched) */
.portals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.portal{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(380px,40vw,520px);padding:clamp(22px,3vw,32px);border-radius:999px 999px 22px 22px;overflow:hidden;border:1px solid var(--line);text-decoration:none;isolation:isolate;text-align:center;transition:border-color .35s,transform .35s}
a.portal:hover,a.portal:focus-visible{border-color:rgba(var(--gold-rgb),.65);transform:translateY(-6px)}
.portal>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.portal>img.pc{transform:scale(1.45);transform-origin:50% 42%}
.portal::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--void-rgb),.1) 20%,rgba(var(--void-rgb),.95) 85%)}
.portal-dim>img{filter:grayscale(.55) brightness(.6)}
.portal .tile-h{margin:10px 0 6px}
.portal .tile-p{margin:0 0 14px}
.portal .tag{align-self:center}

/* floating relic */
.relic{position:relative;width:min(64vw,300px);margin:clamp(30px,5vw,50px) auto 0}
.relic img{border-radius:14px;box-shadow:0 30px 80px rgba(var(--shade-rgb),.8),0 0 0 1px rgba(var(--gold-rgb),.55),0 0 120px rgba(var(--gold-rgb),.28)}
.motion .relic img{animation:float 7s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-12px)}}
@media (prefers-reduced-motion:reduce){.motion .relic img{animation:none}}

/* video feature */
.feat{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(22px,3.4vw,48px);align-items:center}
.feat h3{font-size:clamp(22px,2.4vw,32px);color:var(--parch);margin:0 0 12px}
.feat p{color:var(--muted)}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.duo h3{font-size:clamp(19px,1.8vw,23px);color:var(--parch);margin:14px 0 0}

/* crew teaser */
.crew{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(26px,4vw,48px);border-radius:26px;border:1px solid var(--line);background:radial-gradient(90% 120% at 0% 0%,rgba(var(--gold-rgb),.08),transparent 60%),var(--ink)}
.crew .frame{max-width:none;border-radius:18px}

/* shop */
.stack{position:relative;width:min(100%,520px);aspect-ratio:1.15;margin:0 auto}
.stack img{position:absolute;width:56%;border-radius:16px;box-shadow:0 30px 60px rgba(var(--shade-rgb),.7),0 0 0 1px rgba(var(--line-rgb),.3)}
.stack img:nth-child(1){left:0;top:12%;transform:rotate(-9deg)}
.stack img:nth-child(2){right:0;top:4%;transform:rotate(8deg)}
.stack img:nth-child(3){left:22%;top:30%;z-index:2;box-shadow:0 40px 80px rgba(var(--shade-rgb),.8),0 0 0 1px rgba(var(--gold-rgb),.6)}
.trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.trust li{padding:clamp(22px,3vw,32px);border-radius:20px;border:1px solid var(--line);background:rgba(var(--ink-rgb),.55)}
.trust b{display:block;font:600 clamp(19px,1.8vw,23px)/1.2 var(--f-display);color:var(--gold);margin-bottom:10px}
.trust p{color:var(--muted);margin:0}
.trust a{color:var(--gold)}
.pgx .decks,.pgx .sets{margin-top:0}
.pgx .sets{margin-top:16px}

/* contact */
.cx{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.cx .cf{max-width:none;margin:0}
.side{position:sticky;top:calc(var(--hdr) + 20px);display:grid;gap:14px}
.side-c{padding:clamp(22px,3vw,30px);border-radius:20px;border:1px solid var(--line);background:rgba(var(--ink-rgb),.6)}
.side-c h2{font-size:clamp(20px,2vw,24px);color:var(--gold);margin:0 0 10px}
.side-c p{color:var(--muted);margin:0 0 .7em}
.side-c p:last-child{margin:0}
.side-c a{color:var(--gold)}
.faces{display:flex;margin:0 0 16px}
.faces img{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--ink),0 0 0 3px rgba(var(--gold-rgb),.55);margin-left:-10px}
.faces img:first-child{margin-left:0}

/* account */
.acct{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.acct:has(.pl-top){grid-template-columns:minmax(0,1fr)}
.acct:has(.pl-top) .acct-art{display:none}

/* privacy */
.legal{max-width:46em;padding:clamp(26px,4vw,48px);border-radius:24px;border:1px solid var(--line);background:rgba(var(--ink-rgb),.55)}
.legal h2{font-size:clamp(22px,2.4vw,30px);color:var(--gold);margin:1.6em 0 .5em}
.legal h2:first-child{margin-top:0}
.legal a{color:var(--gold)}

@media (max-width:980px){
  .statband{grid-template-columns:repeat(2,minmax(0,1fr))}
  .statband li:nth-child(3){border-left:0}
  .statband li:nth-child(n+3){border-top:1px solid var(--line)}
  .pillars,.portals,.steps,.trust{grid-template-columns:minmax(0,1fr)}
  .portal{min-height:340px;border-radius:220px 220px 22px 22px}
}
@media (max-width:860px){
  .ph-in,.split,.gold-in,.feat,.crew,.cx,.acct{grid-template-columns:minmax(0,1fr)}
  .ph-art{order:-1}
  .ph-tall{min-height:0}
  .ph-bg{left:0}
  .ph-bg img{opacity:.45}
  .side{position:static}
  .acct-art{width:100%;max-width:400px;margin:8px auto 0}
  .stack{width:88%}
}
@media (max-width:640px){
  .tiles,.duo{grid-template-columns:minmax(0,1fr)}
  .fan{width:min(100%,400px)}
  .tile{min-height:300px}
  .meter{gap:4px}
}
.tile-dim{cursor:default}.tile-dim:hover{transform:none;border-color:var(--line)}.tile-dim .tile-art img{filter:grayscale(.5) brightness(.6)}

/* Timestamps doorway on Transmissions */
.ts-door{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.ts-door h2{font:600 clamp(30px,3.8vw,48px)/1.08 var(--f-display);color:var(--gold);margin:0 0 14px}
.ts-door .fan{width:min(100%,440px)}
@media (max-width:760px){.ts-door{grid-template-columns:minmax(0,1fr)}.ts-door .fan{margin-bottom:36px}}

/* the Forgotten, Immortal No. 14: sealed card, sand, twilight (no art exists yet) */
.fgx{--twi:var(--nebula);background:radial-gradient(90% 80% at 70% 40%,rgba(var(--muted-rgb),.16) 0%,var(--void-2) 52%,var(--void) 100%)}
.fg-seal{position:relative;width:min(64vw,300px);aspect-ratio:3/4;margin:0 auto;display:grid;place-content:center;justify-items:center;gap:10px;border-radius:18px;border:1px dashed rgba(var(--gold-rgb),.6);background:radial-gradient(60% 50% at 50% 42%,rgba(var(--gold-rgb),.14),transparent 70%),repeating-radial-gradient(circle at 30% 70%,rgba(var(--gold-rgb),.05) 0 1px,transparent 1px 4px),linear-gradient(160deg,var(--twi),var(--void) 78%);box-shadow:0 30px 80px rgba(var(--shade-rgb),.8),0 0 120px rgba(var(--gold-rgb),.18);overflow:hidden}
.fg-seal::after{content:"";position:absolute;inset:-40% -60%;background:linear-gradient(105deg,transparent 42%,rgba(var(--gold-rgb),.16) 50%,transparent 58%);transform:translateX(-60%)}
.motion .fg-seal::after{animation:fgsheen 9s ease-in-out infinite}
@keyframes fgsheen{0%,30%{transform:translateX(-60%)}70%,100%{transform:translateX(60%)}}
.fg-n{font:700 clamp(64px,9vw,104px)/1 var(--f-display);color:var(--gold);text-shadow:0 0 40px rgba(var(--gold-rgb),.45)}
.fg-k{font:600 13px/1.2 var(--f-display);letter-spacing:.24em;text-transform:uppercase;color:var(--parch)}
.fg-w{font:400 12px/1.2 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.fg-coll{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:center}
.fg-coll .big{font:500 clamp(20px,2vw,25px)/1.45 var(--f-display);color:var(--parch)}
.fg-slots{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}
.fg-slot{aspect-ratio:3/4;border-radius:4px;border:1px dashed rgba(var(--gold-rgb),.32);background:linear-gradient(160deg,rgba(var(--gold-rgb),.07),transparent)}
.motion .fg-slot{animation:fgslot 6s ease-in-out infinite}
.fg-slot:nth-child(3n){animation-delay:-2s}.fg-slot:nth-child(5n){animation-delay:-4s}.fg-slot:nth-child(7n){animation-delay:-1s}
@keyframes fgslot{50%{border-color:rgba(var(--gold-rgb),.62);background:linear-gradient(160deg,rgba(var(--gold-rgb),.16),transparent)}}
.fg-acts{justify-content:center}
@media (prefers-reduced-motion:reduce){.motion .fg-seal::after,.motion .fg-slot{animation:none}}
@media (max-width:860px){.fg-coll{grid-template-columns:minmax(0,1fr)}.fg-slots{grid-template-columns:repeat(10,minmax(0,1fr))}}
@media (max-width:480px){.fg-slots{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}}
.fg-big{margin:10px 0 6px}.fg-meta{color:var(--muted);max-width:62ch;margin:0}
.fg-g{margin:clamp(36px,5vw,56px) 0 16px;font:600 clamp(20px,2vw,24px)/1.2 var(--f-display);color:var(--gold);letter-spacing:.04em}
.fg-g span{font:500 12px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-left:8px}
.fg-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}
.fg-c{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:5/7;padding:34px 12px;border-radius:10px;border:1.5px dashed rgba(var(--gold-rgb),.5);background:radial-gradient(circle at 50% 42%,rgba(var(--gold-rgb),.10),transparent 70%),linear-gradient(160deg,var(--twi),var(--void) 80%);text-align:center;overflow:hidden}
.fg-c::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(var(--gold-rgb),.12) 50%,transparent 70%);background-size:250% 100%;pointer-events:none}
.motion .fg-c::after{animation:fgshim 4.2s linear infinite}.fg-c:nth-child(3n)::after{animation-delay:-1.4s}.fg-c:nth-child(4n+1)::after{animation-delay:-2.8s}
@keyframes fgshim{from{background-position:120% 0}to{background-position:-120% 0}}
.fg-no{position:absolute;top:10px;left:0;right:0;font:600 11px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.fg-s{position:absolute;display:flex;align-items:baseline;gap:3px;font:700 17px/1 var(--f-display)}
.fg-s i{font:600 9px/1 var(--f-body);font-style:normal;letter-spacing:.08em;opacity:.8}
.fg-earth{top:28px;left:10px;color:#5fd068}.fg-air{top:28px;right:10px;color:#f2d23a}.fg-water{bottom:10px;left:10px;color:#4fa8ff}.fg-fire{bottom:10px;right:10px;color:#ff6a4d}
.fg-nm{font:700 clamp(17px,1.6vw,20px)/1.15 var(--f-display);color:var(--gold);letter-spacing:.03em;max-width:100%}
.fg-nm.fg-long{font-size:clamp(14px,1.25vw,16px);letter-spacing:0}
.fg-tg{font:500 12px/1.2 var(--f-body);color:var(--parch);letter-spacing:.06em}
.fg-ty{font:600 10px/1 var(--f-body);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border:1px solid rgba(var(--gold-rgb),.3);border-radius:999px;padding:4px 9px}
.fg-tx{font:400 12px/1.4 var(--f-body);color:var(--muted);text-wrap:balance}
@media (prefers-reduced-motion:reduce){.motion .fg-c::after{animation:none}}
@media (max-width:480px){.fg-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fg-c{padding:32px 8px}.fg-tx{font-size:11px}}

/* Sandman crew: 13 roles from Damian's build list, each with its poem line; Prodigy is a reveal */
.cm-grid{list-style:none;margin:clamp(28px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.cm-grid .cm{padding:16px 14px 18px;display:flex;flex-direction:column;align-items:flex-start}
.cm-grid .cm-w{margin-top:auto}
.cm-grid .cm-l{margin-bottom:12px}
.cm-grid .cm h3,.cm-grid .cm-secret summary{font-size:clamp(15px,1.12vw,17px);letter-spacing:.02em}
@media (max-width:1180px){.cm-grid .cm h3{font-size:clamp(18px,2vw,22px)}}
.cm-grid .cm-l{font-size:15px}
.cm{position:relative;padding:20px 20px 22px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(var(--gold-rgb),.07),transparent 60%),var(--ink);transition:border-color .25s,transform .25s}
.cm:hover{border-color:rgba(var(--gold-rgb),.55);transform:translateY(-2px)}
.cm-n{font:600 11px/1 var(--f-body);letter-spacing:.2em;color:var(--dim)}
.cm h3,.cm-secret summary{margin:10px 0 0;font:600 clamp(22px,2vw,27px)/1.1 var(--f-display);color:var(--gold)}
.cm-l{margin:10px 0 0;font-style:italic;color:var(--parch);line-height:1.5}
.cm-secret summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-height:44px}
.cm-secret summary::-webkit-details-marker{display:none}
.cm-secret,.cm-secret[open]{border:0;padding:0;margin:0;background:none}
.cm-secret summary::after,.cm-secret summary::before{content:none;display:none}
.cm-secret summary span{font:600 11px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px dashed rgba(var(--gold-rgb),.5);padding-bottom:3px}
.cm-secret[open] summary span{display:none}
.cm-secret summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:6px}
.cm-w{display:inline-flex;flex-direction:column;align-items:flex-start;margin-top:12px;min-height:44px;justify-content:center;padding:6px 14px;border-radius:999px;border:1px solid rgba(var(--gold-rgb),.45);color:var(--gold);font:600 13px/1.15 var(--f-body);letter-spacing:.06em;text-decoration:none;transition:background .25s}
.cm-w small{font:400 11px/1.2 var(--f-body);color:var(--muted);letter-spacing:.04em}
.cm-w:hover,.cm-w:focus-visible{background:rgba(var(--gold-rgb),.12)}
.cw{scroll-margin-top:calc(var(--hdr) + 24px);margin-top:clamp(32px,4vw,48px)}
.cw-h{margin:0 0 14px;font:600 clamp(22px,2.2vw,28px)/1.1 var(--f-display);color:var(--gold)}
.cw-h span{font:500 12px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-left:10px}
.fg-vids{margin-top:8px}
.cm-two{margin:4px 0 0;font:500 18px/1.3 var(--f-display);color:var(--text)}
.cm-two i{font-style:normal;color:var(--gold)}
.poem{columns:2 22em;column-gap:clamp(28px,5vw,72px);max-width:62em}
.poem p{break-inside:avoid;margin:0 0 1.6em;font:italic 400 clamp(18px,1.6vw,21px)/1.65 var(--f-body);color:var(--parch)}
.poem .poem-end{color:var(--gold)}
.poem .poem-go{font:600 13px/1.4 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
@media (max-width:1180px){.cm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:760px){.cm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.cm-grid{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.cm{transition:none}.cm:hover{transform:none}}

/* Damian 10/28: the Citizen path column is gone, the tiers take the full width */
.hs-grid{grid-template-columns:minmax(0,1fr)}

/* HyperSchool 14 levels, 7 and 7 (Damian 10/23); 13 is a Join button, never named */
.lv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,5vw,72px);margin:0 0 clamp(40px,6vw,72px)}
.lv-col{list-style:none;margin:0;padding:0;position:relative}
.lv-col::before{content:"";position:absolute;left:21px;top:22px;bottom:22px;width:1px;background:linear-gradient(180deg,rgba(var(--gold-rgb),.15),rgba(var(--gold-rgb),.6))}
.lv-col li{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:2px 18px;padding:12px 0}
.lv-n{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(var(--gold-rgb),.55);background:var(--ink);font:600 15px/1 var(--f-display);color:var(--gold)}
.lv-h{font:600 clamp(20px,1.9vw,25px)/1.15 var(--f-display);color:var(--text)}
.lv-w{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
a.lv-h{text-decoration:none;display:inline-flex;align-items:center;gap:10px;min-height:44px}
a.lv-h:hover,a.lv-h:focus-visible{color:var(--gold)}
.lv-p{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid rgba(var(--gold-rgb),.6);position:relative}
.lv-p::after{content:"";position:absolute;left:8px;top:6px;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent var(--gold)}
.lvw{margin:0 0 clamp(40px,6vw,72px)}.lvw li{scroll-margin-top:calc(var(--hdr) + 24px)}
.lv-join .lv-n{background:var(--gold);color:var(--on-gold);box-shadow:0 0 28px rgba(var(--gold-rgb),.45)}
.lv-join .btn{justify-self:start;min-height:44px}
@media (max-width:760px){.lv{grid-template-columns:minmax(0,1fr)}.lv-col+.lv-col li:first-child{padding-top:12px}}

/* starter deck meta (Damian's build list) on the Shop page; the deck list itself is lifted from the homepage */
.pgx .decks .dp{padding-bottom:6px}
/* Damian 10/28: this section read "noticeably different and harder to read"; plain body type, no tiny caps */
.pgx .decks .dn{font:600 18px/1.3 var(--f-body);letter-spacing:0}
.dk{padding:4px 16px 0;font:500 15px/1.4 var(--f-body);color:var(--parch)}
.dk span{white-space:nowrap;color:var(--muted)}
.dx{display:flex;flex-direction:column;gap:4px;padding:6px 16px 16px;margin-top:auto;font-size:16px;line-height:1.4;color:var(--text)}
.dx>span{white-space:nowrap}
.dx b{margin-right:6px;font:500 15px/1.4 var(--f-body);color:var(--muted)}
.univ{margin:clamp(28px,4vw,44px) 0 clamp(28px,4vw,44px);padding:clamp(20px,3vw,30px);border:1px dashed rgba(var(--gold-rgb),.4);border-radius:18px}
.univ .eyebrow{margin:0 0 14px}
.univ ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 20px}
.univ li{display:flex;flex-direction:column;gap:4px}
.univ .dx{padding:4px 0 0;margin:0}
.un-n{font:600 clamp(20px,1.8vw,24px)/1.1 var(--f-display);color:var(--gold)}
.un-l{color:var(--muted);font-size:15px}
@media (max-width:860px){.univ ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.univ ul{grid-template-columns:minmax(0,1fr)}}

/* Continuum (11/3): featured Serendipity, two videos, and a locked door holding the Enoch Calendar */
.vx-feat.cx-feat{grid-template-columns:minmax(0,1fr);max-width:860px;margin:0 auto 28px}
.cx-feat .vx-ft{text-align:center}
.vx-grid.cx-vids{max-width:860px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:620px){.vx-grid.cx-vids{grid-template-columns:minmax(0,1fr)}}
/* Temple of HOW (11/6): its 3 videos as one centered row, wider than the 4 column default */
.vx-grid.toh-vids{max-width:1100px;margin:0 auto;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.vx-grid.toh-vids{grid-template-columns:minmax(0,1fr);max-width:560px}}
.cx-door{max-width:860px;margin:44px auto 0}
.cx-door summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:340px;margin:0 auto;padding:22px 18px;border:1px dashed rgba(var(--gold-rgb),.55);border-radius:10px;background:radial-gradient(ellipse at 50% 40%,rgba(var(--gold-rgb),.16),rgba(var(--shade-rgb),.6) 70%);text-align:center}
.cx-door summary::-webkit-details-marker{display:none}
.cx-door summary::after,.cx-door summary::before{content:none;display:none}
.cx-door summary:hover,.cx-door summary:focus-visible{border-style:solid;outline:none}
.cx-door summary:focus-visible{box-shadow:0 0 0 2px var(--gold)}
.cx-s{font:600 clamp(20px,2vw,26px)/1.1 var(--f-display);color:var(--gold)}
.cx-t{font:600 11px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cx-door[open] .cx-t{display:none}
.cx-lock{width:22px;height:16px;border:2px solid var(--gold);border-radius:3px;position:relative;margin-top:12px}
.cx-lock::before{content:"";position:absolute;left:3px;top:-12px;width:12px;height:12px;border:2px solid var(--gold);border-bottom:0;border-radius:8px 8px 0 0}
.cx-door[open] .cx-lock::before{left:9px}
.cx-in{margin-top:28px;padding:clamp(18px,3vw,32px);border:1px solid rgba(var(--gold-rgb),.28);border-radius:12px;background:rgba(var(--void-rgb),.72)}
.cx-in .vx-grid.cx-vids{grid-template-columns:minmax(0,1fr)}
