
:root{
  --ob:#0A0208;--void:#060105;--cr:#8B0000;--crb:#C41E3A;
  --go:#C9A84C;--gl:#E8C97A;--gd:#7A6228;
  --vi:#4A0E5C;--vl:#6B1A8A;--vm:#2D0838;
  --bo:#F0E6D3;--bd:#C4B49A;--te:#00897B;
  --accent:var(--go);--accent-dim:var(--gd);
  /* per-feature accent language — one hand, many personalities */
  --acc-ouija:#C41E3A;    --acc-ouija-dim:#7A1223;
  --acc-tarot:#8B5FBF;    --acc-tarot-dim:#4A0E5C;
  --acc-numerology:#E8C97A;--acc-numerology-dim:#7A6228;
  --acc-astrology:#C9A84C;--acc-astrology-dim:#7A6228;
  --acc-iching:#7AA88C;   --acc-iching-dim:#3D5A47;
  --acc-tealeaf:#D6A8A0;  --acc-tealeaf-dim:#7A4E48;
  --acc-crystal:#6FA8C9;  --acc-crystal-dim:#3A5A6E;
  --acc-palm:#C98F4A;     --acc-palm-dim:#7A5525;
  --acc-runes:#7A9A72;    --acc-runes-dim:#3F4E3A;
  --acc-soulmate:#D68FB0; --acc-soulmate-dim:#7A4A5E;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--ob);color:var(--bo);font-family:'Crimson Text',Georgia,serif;min-height:100vh;overflow-x:hidden;}
#sf{position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at 20% 20%,#1a0a2e,transparent 50%),
  radial-gradient(ellipse at 80% 80%,#0d0518,transparent 50%),var(--void);}
/* shared damask wallpaper — VEIL's signature wall treatment, present at low opacity behind every screen */
#wp{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;mix-blend-mode:overlay;
  background-image:
    repeating-linear-gradient(90deg,rgba(201,168,76,.05) 0 2px,transparent 2px 84px),
    repeating-linear-gradient(0deg,transparent 0 158px,rgba(107,26,138,.07) 158px 160px),
    radial-gradient(ellipse 60px 90px at 42px 40px,rgba(201,168,76,.06) 0%,transparent 70%),
    radial-gradient(ellipse 60px 90px at 42px 120px,rgba(107,26,138,.05) 0%,transparent 70%);
  background-size:84px 160px;}
/* per-screen accent binding — swaps --accent to that feature's color while it's active */
#screen-ouija{--accent:var(--acc-ouija);--accent-dim:var(--acc-ouija-dim);}
#screen-tarot{--accent:var(--acc-tarot);--accent-dim:var(--acc-tarot-dim);}
#screen-numerology{--accent:var(--acc-numerology);--accent-dim:var(--acc-numerology-dim);}
#screen-astrology{--accent:var(--acc-astrology);--accent-dim:var(--acc-astrology-dim);}
#screen-iching{--accent:var(--acc-iching);--accent-dim:var(--acc-iching-dim);}
#screen-tealeaf{--accent:var(--acc-tealeaf);--accent-dim:var(--acc-tealeaf-dim);}
#screen-crystal{--accent:var(--acc-crystal);--accent-dim:var(--acc-crystal-dim);}
#screen-palm{--accent:var(--acc-palm);--accent-dim:var(--acc-palm-dim);}
#screen-runes{--accent:var(--acc-runes);--accent-dim:var(--acc-runes-dim);}
#screen-soulmate{--accent:var(--acc-soulmate);--accent-dim:var(--acc-soulmate-dim);}
/* apply the accent to each screen's header + primary button + result box, without touching layout or JS */
.scr .sh{border-bottom-color:var(--accent-dim);}
.scr .st{color:var(--accent);}
.scr .vbtn{border-color:var(--accent);}
.scr .vbtn:hover{box-shadow:0 0 25px color-mix(in srgb,var(--accent) 45%,transparent);}
.scr .rbox{border-color:var(--accent-dim);}
.scr .rtitle{color:var(--accent);border-bottom-color:var(--accent-dim);}
.star{position:absolute;border-radius:50%;background:#fff;animation:tw var(--d,3s) ease-in-out infinite var(--dl,0s);}
@keyframes tw{0%,100%{opacity:var(--mn,.1);}50%{opacity:var(--mx,.7);}}
#app{position:relative;z-index:1;min-height:100vh;}

nav{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.2rem;
  border-bottom:1px solid var(--gd);background:rgba(10,2,8,.97);
  position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);gap:.5rem;flex-wrap:wrap;}
.logo-nav{display:flex;align-items:center;gap:.6rem;cursor:pointer;}
.logo-text{font-family:'Cinzel Decorative',serif;font-size:1rem;font-weight:900;
  background:linear-gradient(135deg,var(--go),var(--gl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.1em;}
.nav-scroll{display:flex;gap:.2rem;flex-wrap:wrap;overflow-x:auto;}
.nb{background:none;border:1px solid transparent;color:var(--bd);font-family:'Cinzel',serif;font-size:.58rem;
  letter-spacing:.1em;padding:.35rem .55rem;cursor:pointer;text-transform:uppercase;transition:all .25s;white-space:nowrap;}
.nb:hover,.nb.on{color:var(--go);border-color:var(--gd);background:rgba(201,168,76,.08);}
.mbtn{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.08em;padding:.35rem .8rem;
  border:1px solid var(--crb);color:var(--crb);cursor:pointer;background:rgba(139,0,0,.1);white-space:nowrap;transition:all .25s;}
.mbtn:hover{background:rgba(139,0,0,.3);}

.scr{display:none;padding:2rem 1.5rem;max-width:1100px;margin:0 auto;}
.scr.on{display:block;animation:fi .4s ease;}
.shome{display:none;flex-direction:column;align-items:center;justify-content:center;
  min-height:calc(100vh - 58px);padding:2rem 1.5rem;text-align:center;}
.shome.on{display:flex;}
@keyframes fi{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.sh{text-align:center;margin-bottom:1.8rem;padding-bottom:1.2rem;border-bottom:1px solid var(--gd);}
.st{font-family:'Cinzel Decorative',serif;font-size:clamp(1.3rem,4vw,1.9rem);color:var(--go);letter-spacing:.12em;margin-bottom:.3rem;}
.ss{font-family:'Cinzel',serif;color:var(--bd);letter-spacing:.2em;font-size:.7rem;text-transform:uppercase;}

.vi{width:100%;padding:.72rem 1rem;background:rgba(10,2,8,.9);border:1px solid var(--gd);
  color:var(--bo);font-family:'Crimson Text',serif;font-size:.98rem;outline:none;transition:border-color .3s;margin-bottom:.9rem;}
.vi:focus{border-color:var(--go);}
.vi::placeholder{color:var(--bd);font-style:italic;}
.vsel{width:100%;padding:.72rem 1rem;background:rgba(10,2,8,.9);border:1px solid var(--gd);
  color:var(--bo);font-family:'Crimson Text',serif;font-size:.98rem;outline:none;margin-bottom:.9rem;}
.vsel option{background:#1a0a2e;}
.vta{width:100%;padding:.72rem 1rem;background:rgba(10,2,8,.9);border:1px solid var(--gd);
  color:var(--bo);font-family:'Crimson Text',serif;font-size:.98rem;outline:none;margin-bottom:.9rem;resize:vertical;min-height:80px;}
.vlbl{font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.14em;color:var(--gd);text-transform:uppercase;display:block;margin-bottom:.35rem;}
.vbtn{font-family:'Cinzel',serif;font-size:.8rem;letter-spacing:.16em;padding:.85rem 2.2rem;text-transform:uppercase;cursor:pointer;
  border:1px solid var(--go);color:var(--bo);background:linear-gradient(135deg,rgba(139,0,0,.35),rgba(74,14,92,.35));
  transition:all .3s;display:block;margin:.5rem auto 0;}
.vbtn:hover{box-shadow:0 0 25px rgba(201,168,76,.35);}
.vbtn-g{background:linear-gradient(135deg,var(--go),var(--gl));color:var(--ob);border:none;font-weight:700;}
.vbtn-g:hover{box-shadow:0 0 40px rgba(201,168,76,.6);transform:translateY(-2px);}
.fbox{background:linear-gradient(145deg,rgba(74,14,92,.12),rgba(10,2,8,.7));border:1px solid var(--gd);padding:1.8rem;max-width:620px;margin:0 auto;}
.rbox{background:linear-gradient(145deg,rgba(74,14,92,.15),rgba(10,2,8,.75));border:1px solid var(--gd);padding:1.8rem;margin-top:1.5rem;display:none;}
.rbox.on{display:block;animation:fi .5s;}
.rtitle{font-family:'Cinzel',serif;font-size:.85rem;color:var(--go);letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:1rem;text-align:center;border-bottom:1px solid var(--gd);padding-bottom:.7rem;}
.rtext{font-size:1rem;line-height:1.9;font-style:italic;color:var(--bd);white-space:pre-line;}
.spin{text-align:center;color:var(--gd);font-style:italic;animation:pulse 1s ease-in-out infinite;padding:1.5rem 0;}
@keyframes pulse{0%,100%{opacity:.4;}50%{opacity:1;}}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;}
.abox{background:rgba(74,14,92,.2);border:1px solid var(--vm);padding:.9rem;}
.abl{font-family:'Cinzel',serif;font-size:.6rem;color:var(--gd);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.25rem;}
.abv{font-family:'Cinzel Decorative',serif;font-size:1.1rem;color:var(--go);display:block;margin-bottom:.2rem;}
.abd{font-size:.78rem;color:var(--bd);font-style:italic;}
.tabs{display:flex;gap:.4rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap;}
.tb{font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.1em;padding:.5rem 1.1rem;text-transform:uppercase;
  cursor:pointer;border:1px solid var(--gd);color:var(--bd);background:transparent;transition:all .25s;}
.tb.on{background:rgba(201,168,76,.12);color:var(--go);border-color:var(--go);}
.tpanel{display:none;}.tpanel.on{display:block;animation:fi .4s;}

.hcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.9rem;max-width:1100px;width:100%;margin-top:2rem;}
.hcard{background:linear-gradient(145deg,rgba(74,14,92,.25),rgba(10,2,8,.8));border:1px solid var(--gd);
  padding:1.4rem 1rem;cursor:pointer;transition:all .35s;text-align:center;}
.hcard:hover{border-color:var(--go);transform:translateY(-3px);box-shadow:0 15px 40px rgba(0,0,0,.5),0 0 20px rgba(201,168,76,.1);}
.hci{font-size:2rem;margin-bottom:.6rem;display:block;}
.hct{font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.1em;color:var(--go);margin-bottom:.4rem;text-transform:uppercase;}
.hcd{font-size:.78rem;color:var(--bd);font-style:italic;line-height:1.4;}

.portrait-pricing{background:linear-gradient(145deg,rgba(139,0,0,.12),rgba(74,14,92,.1));
  border:1px solid var(--go);padding:1.5rem;max-width:560px;margin:0 auto 1.5rem;text-align:center;}
.pp-title{font-family:'Cinzel',serif;font-size:.78rem;letter-spacing:.15em;color:var(--go);text-transform:uppercase;margin-bottom:.8rem;}
.pp-options{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem;}
.pp-opt{background:rgba(10,2,8,.7);border:1px solid var(--gd);padding:1rem 1.5rem;cursor:pointer;
  transition:all .3s;text-align:center;min-width:160px;}
.pp-opt.sel{border-color:var(--go);background:rgba(201,168,76,.1);box-shadow:0 0 20px rgba(201,168,76,.15);}
.pp-price{font-family:'Cinzel Decorative',serif;font-size:1.6rem;color:var(--go);}
.pp-label{font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.1em;color:var(--bd);text-transform:uppercase;margin-top:.2rem;}
.pp-badge{background:rgba(196,30,58,.2);border:1px solid var(--crb);color:var(--crb);
  font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:.1em;padding:.2rem .6rem;text-transform:uppercase;margin-top:.3rem;display:inline-block;}

.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem;}
.shop-card{background:linear-gradient(145deg,rgba(74,14,92,.15),rgba(10,2,8,.75));
  border:1px solid var(--gd);padding:1.5rem;transition:all .3s;}
.shop-card:hover{border-color:var(--go);box-shadow:0 0 20px rgba(201,168,76,.1);}
.sc-top{display:flex;align-items:flex-start;gap:1rem;margin-bottom:.8rem;}
.sc-icon{font-size:2.2rem;flex-shrink:0;}
.sc-name{font-family:'Cinzel',serif;font-size:.78rem;letter-spacing:.1em;color:var(--go);text-transform:uppercase;margin-bottom:.2rem;}
.sc-cat{font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:.1em;color:var(--crb);text-transform:uppercase;}
.sc-desc{font-size:.88rem;color:var(--bd);line-height:1.6;margin-bottom:.8rem;}
.sc-comm{font-family:'Cinzel',serif;font-size:.65rem;color:var(--te);letter-spacing:.08em;margin-bottom:.8rem;}
.sc-link{display:inline-block;font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.1em;
  padding:.45rem 1.1rem;border:1px solid var(--go);color:var(--go);background:rgba(201,168,76,.08);
  text-decoration:none;transition:all .3s;cursor:pointer;}
.sc-link:hover{background:rgba(201,168,76,.2);}
.sc-placeholder{font-size:.7rem;color:var(--gd);font-style:italic;margin-top:.4rem;font-family:'Cinzel',serif;}
.shop-cats{display:flex;gap:.4rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap;}
.scat{font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.1em;padding:.4rem .9rem;text-transform:uppercase;
  cursor:pointer;border:1px solid var(--gd);color:var(--bd);background:transparent;transition:all .25s;}
.scat.on{background:rgba(201,168,76,.12);color:var(--go);border-color:var(--go);}

.legal-tabs{display:flex;gap:.3rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap;}
.ltab{font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.1em;padding:.45rem .9rem;text-transform:uppercase;
  cursor:pointer;border:1px solid var(--gd);color:var(--bd);background:transparent;transition:all .25s;}
.ltab.on{background:rgba(74,14,92,.3);color:var(--go);border-color:var(--go);}
.legal-doc{background:rgba(10,2,8,.6);border:1px solid var(--gd);padding:2rem;max-width:800px;margin:0 auto;display:none;}
.legal-doc.on{display:block;}
.legal-doc h2{font-family:'Cinzel',serif;font-size:1rem;color:var(--go);letter-spacing:.15em;margin:1.5rem 0 .6rem;text-transform:uppercase;}
.legal-doc h3{font-family:'Cinzel',serif;font-size:.82rem;color:var(--bd);letter-spacing:.1em;margin:1.2rem 0 .4rem;text-transform:uppercase;}
.legal-doc p{font-size:.92rem;color:var(--bd);line-height:1.8;margin-bottom:.8rem;}
.legal-doc ul{margin:.5rem 0 .8rem 1.5rem;}
.legal-doc ul li{font-size:.9rem;color:var(--bd);line-height:1.7;margin-bottom:.3rem;}
.legal-doc .effective{font-family:'Cinzel',serif;font-size:.68rem;color:var(--gd);letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:1px solid var(--gd);}
.disclaimer-banner{background:rgba(139,0,0,.12);border:1px solid rgba(139,0,0,.4);
  padding:1rem 1.5rem;max-width:900px;margin:0 auto 1.5rem;font-size:.82rem;color:var(--bd);line-height:1.6;text-align:center;}

.post-card{background:linear-gradient(145deg,rgba(74,14,92,.15),rgba(10,2,8,.75));
  border:1px solid var(--gd);padding:1.3rem;margin-bottom:1rem;cursor:pointer;transition:all .3s;}
.post-card:hover,.post-card.open{border-color:var(--go);}
.post-author{font-family:'Cinzel',serif;font-size:.68rem;color:var(--go);letter-spacing:.08em;}
.post-time{font-size:.72rem;color:var(--gd);font-style:italic;}
.post-cat{font-family:'Cinzel',serif;font-size:.58rem;letter-spacing:.1em;padding:.18rem .5rem;
  border:1px solid var(--crb);color:var(--crb);text-transform:uppercase;display:inline-block;margin:.3rem 0;}
.post-title{font-family:'Cinzel',serif;font-size:.9rem;color:var(--bo);letter-spacing:.04em;margin:.4rem 0;}
.post-body{font-size:.9rem;color:var(--bd);line-height:1.7;}
.post-foot{display:flex;align-items:center;gap:1rem;margin-top:.8rem;}
.like-btn{background:none;border:1px solid var(--gd);color:var(--bd);font-family:'Cinzel',serif;
  font-size:.62rem;letter-spacing:.08em;padding:.28rem .7rem;cursor:pointer;transition:all .2s;}
.like-btn.liked{border-color:var(--crb);color:var(--crb);}
.reply-count{font-size:.78rem;color:var(--gd);font-style:italic;}
.reply-area{background:rgba(10,2,8,.6);border-top:1px solid var(--vm);padding:1rem;margin-top:.8rem;display:none;}
.reply-area.on{display:block;}
.new-post-form{background:linear-gradient(145deg,rgba(74,14,92,.2),rgba(10,2,8,.8));
  border:1px solid var(--go);padding:1.8rem;margin-bottom:1.5rem;display:none;}
.new-post-form.on{display:block;animation:fi .4s;}

.pcard{background:linear-gradient(145deg,rgba(74,14,92,.3),rgba(10,2,8,.85));
  border:1px solid var(--go);padding:2.5rem;max-width:480px;margin:0 auto;position:relative;overflow:hidden;text-align:center;}
.pbadge{font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.18em;color:var(--crb);
  text-transform:uppercase;border:1px solid var(--cr);padding:.28rem .9rem;display:inline-block;margin-bottom:1rem;}
.pname{font-family:'Cinzel Decorative',serif;font-size:1.4rem;color:var(--go);margin-bottom:.3rem;}
.pamt{font-family:'Cinzel Decorative',serif;font-size:3.2rem;
  background:linear-gradient(135deg,var(--go),var(--gl));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:.6rem 0;}
.pperiod{font-family:'Cinzel',serif;color:var(--bd);font-size:.82rem;}
.pfeat{list-style:none;margin:1.4rem 0;text-align:left;}
.pfeat li{padding:.5rem 0;border-bottom:1px solid rgba(201,168,76,.1);font-size:.88rem;color:var(--bd);display:flex;align-items:center;gap:.55rem;}
.pfeat li span{color:var(--go);}
.stripe-box{background:rgba(10,2,8,.6);border:1px solid var(--gd);padding:1rem;margin-top:1rem;font-size:.82rem;color:var(--bd);line-height:1.6;}

.anna-name{font-family:'Cinzel Decorative',serif;font-size:clamp(1.4rem,4vw,2.1rem);color:var(--go);letter-spacing:.12em;margin-bottom:.3rem;}
.anna-sub{font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.2em;color:var(--crb);text-transform:uppercase;margin-bottom:1.5rem;}
.book-box{background:linear-gradient(145deg,rgba(139,0,0,.12),rgba(10,2,8,.7));border:1px solid var(--go);padding:2rem;max-width:460px;margin:2rem auto;text-align:center;}

.rune-bag{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;margin:1rem auto;max-width:540px;}
.rs{width:46px;height:46px;background:linear-gradient(145deg,#2a1a0a,#1a0e05);
  border:1px solid var(--gd);border-radius:5px;display:flex;align-items:center;justify-content:center;
  font-size:1.25rem;cursor:pointer;transition:all .3s;}
.rs:hover{border-color:var(--go);transform:translateY(-2px);}
.rs.drawn{border-color:var(--go);background:linear-gradient(145deg,#3a2505,#2d1a05);box-shadow:0 0 12px rgba(201,168,76,.25);}
.rune-display{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin:1.5rem 0;}
.rcard{width:95px;background:linear-gradient(145deg,#2a1a0a,#1a0e05);border:2px solid var(--go);
  border-radius:7px;padding:.9rem;text-align:center;box-shadow:0 0 18px rgba(201,168,76,.2);}
.rbig{font-size:2rem;color:var(--gl);text-shadow:0 0 12px rgba(201,168,76,.5);}
.rname{font-family:'Cinzel',serif;font-size:.58rem;color:var(--bd);letter-spacing:.08em;margin-top:.3rem;}
.rmeaning{font-size:.62rem;color:var(--bd);font-style:italic;margin-top:.25rem;line-height:1.3;}

.bar-w{background:rgba(10,2,8,.5);border-radius:2px;height:8px;margin:.5rem 0;overflow:hidden;}
.bar{height:100%;background:linear-gradient(90deg,var(--cr),var(--go),var(--gl));border-radius:2px;transition:width 1.5s ease;}

.nbox{background:rgba(74,14,92,.25);border:1px solid var(--vm);padding:1.1rem;text-align:center;}
.nbv{font-family:'Cinzel Decorative',serif;font-size:2.3rem;color:var(--go);display:block;text-shadow:0 0 20px rgba(201,168,76,.4);}
.nbl{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.12em;color:var(--bd);text-transform:uppercase;display:block;margin-top:.2rem;}

.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:200;display:none;align-items:center;justify-content:center;padding:1rem;}
.modal-ov.on{display:flex;}
.modal{background:linear-gradient(145deg,#150a20,#0a0208);border:1px solid var(--go);padding:2.5rem;max-width:480px;width:100%;text-align:center;position:relative;animation:fi .3s;}
.modal-title{font-family:'Cinzel Decorative',serif;font-size:1.2rem;color:var(--go);margin-bottom:.8rem;}
.modal-body{color:var(--bd);font-size:.92rem;line-height:1.8;margin-bottom:1.5rem;font-style:italic;}
.modal-x{position:absolute;top:.8rem;right:1rem;background:none;border:none;color:var(--bd);font-size:1.2rem;cursor:pointer;}
.modal-x:hover{color:var(--go);}

#toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);
  background:var(--go);color:var(--ob);font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.12em;
  padding:.65rem 1.3rem;z-index:300;transition:transform .3s;white-space:nowrap;}
#toast.on{transform:translateX(-50%) translateY(0);}

footer{border-top:1px solid var(--gd);padding:1.5rem 2rem;text-align:center;background:rgba(10,2,8,.85);margin-top:3rem;}
.foot-links{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:.8rem;}
.foot-link{font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.12em;color:var(--bd);text-transform:uppercase;
  cursor:pointer;transition:color .2s;background:none;border:none;}
.foot-link:hover{color:var(--go);}
.foot-copy{font-size:.78rem;color:var(--gd);font-style:italic;}
.foot-disc{font-size:.72rem;color:var(--gd);max-width:700px;margin:.5rem auto 0;line-height:1.5;}

@media(max-width:650px){
  .g2,.g3{grid-template-columns:1fr;}
  .hcards{grid-template-columns:1fr 1fr;}
  .pcard{padding:1.8rem 1.2rem;}
  .pp-options{flex-direction:column;align-items:center;}
}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@keyframes float0{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@keyframes float1{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
@keyframes float2{0%,100%{transform:translateY(0);}50%{transform:translateY(-7px);}}
