/* HEIR — wallet popup + motion pack (loads after styles.css) */
.wallet-opt{padding:12px 14px}
.modal-card::before{content:"";position:absolute;inset:-1px;border-radius:24px;padding:1px;background:linear-gradient(140deg,rgba(242,193,78,.7),transparent 40%,transparent 60%,rgba(224,64,58,.6));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.modal-head{display:flex;align-items:center;gap:12px}
.modal-head img{width:36px;filter:drop-shadow(0 0 14px rgba(242,193,78,.6))}
.wicon{width:44px;height:44px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:#0c0a10;border:1px solid var(--line);flex:none}
.wicon img{width:100%;height:100%;object-fit:cover}
.wicon-ph{font:800 18px var(--serif);color:var(--gold)}
.wname{flex:1;margin-left:14px}
.wallet-opt small.ok{color:var(--alive);background:rgba(94,242,160,.1);border:1px solid rgba(94,242,160,.3);padding:4px 9px;border-radius:99px;font-weight:700}
.wallet-opt.dim{opacity:.78}
.wallet-opt.dim:hover{opacity:1}
.wallet-opt:hover .wicon{box-shadow:0 0 22px -4px rgba(242,193,78,.7)}
.wallet-opt.busy{pointer-events:none;opacity:.6}
.wallet-opt.busy small::after{content:" …"}
/* ================= MOTION PACK ================= */
/* Intro loader */
#pre{position:fixed;inset:0;z-index:200;background:#07060a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;animation:preOut .7s 4s forwards}
#pre.done{animation:preOut .7s forwards}
@keyframes preOut{to{opacity:0;visibility:hidden;transform:scale(1.04)}}
.pre-logo{width:120px}
.pre-txt{font:700 13px var(--mono);letter-spacing:.35em;color:var(--gold)}
.pre-txt span{animation:blink 1.2s infinite}.pre-txt span:nth-child(2){animation-delay:.2s}.pre-txt span:nth-child(3){animation-delay:.4s}
@keyframes blink{50%{opacity:0}}
.pre-bar{width:180px;height:2px;background:rgba(237,230,214,.1);border-radius:2px;overflow:hidden}
.pre-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--alive),var(--gold),var(--blood));animation:preBar 1.3s cubic-bezier(.6,0,.2,1) forwards}
@keyframes preBar{from{width:0}to{width:100%}}

/* Animated logo */
.alogo{width:100%;height:auto;display:block;overflow:visible}
.alogo .al-tomb{stroke-dasharray:130;stroke-dashoffset:130;animation:alDraw 1.4s .15s cubic-bezier(.6,0,.2,1) forwards}
.alogo .al-crown{transform-box:fill-box;transform-origin:50% 100%;opacity:0;animation:alCrownIn .6s 1.1s cubic-bezier(.2,1.6,.4,1) forwards,alCrown 3.2s 1.8s ease-in-out infinite}
.alogo .al-ecg{stroke-dasharray:80;stroke-dashoffset:80;animation:alEcg 2.6s 1s linear infinite}
@keyframes alDraw{to{stroke-dashoffset:0}}
@keyframes alCrownIn{from{opacity:0;transform:translateY(-14px) scale(.4)}to{opacity:1;transform:none}}
@keyframes alCrown{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-2.5px) rotate(-5deg)}60%{transform:translateY(-1px) rotate(4deg)}}
@keyframes alEcg{0%{stroke-dashoffset:80}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-80}}
.brand:hover .al-crown{animation:alJump .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes alJump{40%{transform:translateY(-6px) rotate(-10deg) scale(1.15)}}
.brand .alogo{width:34px;filter:drop-shadow(0 0 10px rgba(242,193,78,.45))}
.foot .brand .alogo{width:28px}
.tomb .alogo{width:42%;filter:drop-shadow(0 0 22px rgba(242,193,78,.55))}
.token-logo.alogo,.token-card .alogo{width:90px;filter:drop-shadow(0 0 30px rgba(242,193,78,.6))}
.modal-head .alogo{width:36px}

/* Scroll progress + cursor ring */
#prog{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--alive),var(--gold) 60%,var(--blood));box-shadow:0 0 12px rgba(242,193,78,.8)}
.cring{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:1.5px solid rgba(242,193,78,.6);border-radius:50%;pointer-events:none;z-index:150;transition:width .25s,height .25s,margin .25s,background .25s,border-color .25s;mix-blend-mode:screen;opacity:0}
.cring.on{opacity:1}
.cring.big{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(242,193,78,.08);border-color:var(--gold)}
@media (hover:none){.cring{display:none}}

/* Hide nav on scroll down */
.nav,.ticker{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
body.hide-nav .nav{transform:translateY(-110%)}
body.hide-nav .ticker{transform:translateY(-170%)}

/* Hero extras */
.ring{position:absolute;border-radius:50%;pointer-events:none}
.ring.r1{width:min(460px,95%);aspect-ratio:1;border:1px dashed rgba(242,193,78,.25);animation:spin 40s linear infinite}
.ring.r2{width:min(540px,110%);aspect-ratio:1;background:conic-gradient(from 0deg,transparent 0 70%,rgba(242,193,78,.35) 80%,transparent 90%);-webkit-mask:radial-gradient(circle,transparent 63%,#000 64%,#000 65%,transparent 66%);mask:radial-gradient(circle,transparent 63%,#000 64%,#000 65%,transparent 66%);animation:spin 7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.tomb-wrap{transition:transform .3s ease-out}
.headline{position:relative}
.headline::after{content:"";position:absolute;inset:-10% -5%;background:linear-gradient(100deg,transparent 40%,rgba(255,240,200,.18) 50%,transparent 60%);background-size:250% 100%;mix-blend-mode:overlay;pointer-events:none;animation:sweep 6s 2s ease-in-out infinite}
@keyframes sweep{0%{background-position:150% 0}50%,100%{background-position:-100% 0}}

/* Marquee bands */
.band{position:relative;z-index:2;overflow:hidden;padding:22px 0;border-block:1px solid var(--line);background:linear-gradient(90deg,rgba(242,193,78,.06),rgba(224,64,58,.05));transform:rotate(-1.5deg) scale(1.03);margin:30px 0}
.band.rev{transform:rotate(1.5deg) scale(1.03)}
.band-track{display:flex;gap:36px;width:max-content;align-items:center;font:900 clamp(26px,4vw,52px) var(--serif);letter-spacing:.04em;white-space:nowrap;will-change:transform}
.band-track span{color:transparent;-webkit-text-stroke:1.2px rgba(237,230,214,.55)}
.band-track span.g{color:var(--gold);-webkit-text-stroke:0;text-shadow:0 0 30px rgba(242,193,78,.4)}
.band-track b{color:var(--blood);font-size:.6em;animation:spin 6s linear infinite;display:inline-block}

/* Richer reveals */
.h2.reveal{transform:translateY(46px) skewY(3deg);filter:blur(10px);letter-spacing:.04em;transition:transform 1.1s cubic-bezier(.2,.8,.2,1),filter 1s,letter-spacing 1.2s cubic-bezier(.2,.8,.2,1),opacity .8s}
.h2.reveal.in{transform:none;filter:none;letter-spacing:-.005em}
.why-card.reveal,.step.reveal{transform:perspective(800px) translateY(50px) rotateX(25deg) scale(.94)}
.why-card.reveal.in,.step.reveal.in{transform:none}
.bags-card.reveal,.calc.reveal{transform:translateY(60px) scale(.97)}
.grave-card.reveal{transform:translateY(80px) rotate(-4deg)}
.grave-card.reveal.in{transform:none}
details.reveal{transform:translateX(-30px)}
.sec-head .eyebrow{animation:none}
.why-card .ico{display:inline-block;animation:bob 3.4s ease-in-out infinite;transition:transform .5s cubic-bezier(.2,1.6,.4,1)}
.why-card:nth-child(2) .ico{animation-delay:.4s}.why-card:nth-child(3) .ico{animation-delay:.8s}.why-card:nth-child(4) .ico{animation-delay:1.2s}
.why-card:hover .ico{transform:scale(1.35) rotate(-12deg)}
@keyframes bob{50%{translate:0 -6px}}
.why-card{position:relative;overflow:hidden}
.why-card::before{content:"";position:absolute;inset:0;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(242,193,78,.14),transparent 40%);opacity:0;transition:opacity .3s}
.why-card:hover::before{opacity:1}

/* Buttons: shine + ripple */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%);transform:translateX(-130%)}
.btn:hover::after{transform:translateX(130%);transition:transform .8s ease}
.btn-gold::after{animation:btnShine 4.5s 2s infinite}
@keyframes btnShine{0%,80%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
.btn-gold{z-index:0}
.ripple{position:absolute;border-radius:50%;transform:scale(0);background:rgba(255,255,255,.45);animation:rip .6s ease-out forwards;pointer-events:none}
@keyframes rip{to{transform:scale(4);opacity:0}}
.btn-gold:active{transform:scale(.97)}

/* Deathwatch scanline + dead row flicker */
.dw{position:relative}
.dw::after{content:"";position:absolute;left:0;right:0;height:80px;top:-80px;background:linear-gradient(180deg,transparent,rgba(224,64,58,.07),transparent);animation:scan 4.5s linear infinite;pointer-events:none}
@keyframes scan{to{top:100%}}
.st-dead .chip{animation:flick 2.4s infinite}
@keyframes flick{0%,92%,100%{opacity:1}94%{opacity:.3}96%{opacity:1}97%{opacity:.4}}

/* Section heading eyebrow line draw */
.eyebrow::before{content:"";width:0;height:1px;background:var(--gold);transition:width 1s .3s}
.reveal.in .eyebrow::before,.sec-head .eyebrow::before{width:22px}

/* Token logo orbit */
.token-card{position:relative;overflow:hidden}
.token-card::before{content:"";position:absolute;width:700px;height:700px;left:50%;top:-350px;margin-left:-350px;background:conic-gradient(from 0deg,transparent,rgba(242,193,78,.12),transparent 30%);animation:spin 12s linear infinite;pointer-events:none}

@media (prefers-reduced-motion:reduce){#pre{display:none}.band-track{transform:none!important}}
