:root{
  --bg:#060914;--bg2:#0b1024;--ink:#eef3ff;--muted:#9aa6c8;--glass:rgba(255,255,255,.06);--glass2:rgba(255,255,255,.1);--edge:rgba(255,255,255,.16);
  --c1:#5ef2ff;--c2:#a78bfa;--c3:#ff7ad9;--gold:#ffd27a;--ok:#5cf2b0;
  --iri:linear-gradient(120deg,var(--c1),var(--c2) 35%,var(--c3) 65%,var(--gold));
  --shadow:0 20px 60px rgba(0,0,0,.45);--r:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;overflow-x:hidden;transition:background .5s,color .5s}
h1,h2,h3,h4,.d{font-family:Sora,sans-serif;letter-spacing:-.02em;line-height:1.1}
a{color:inherit;text-decoration:none}
img{display:block}
.wrap{max-width:1220px;margin:0 auto;padding:0 20px}
section{padding:100px 0;position:relative;overflow-x:clip}
.iri{background:var(--iri);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:flow 6s linear infinite}
@keyframes flow{0%{background-position:0% 50%}100%{background-position:300% 50%}}
.tag{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:99px;background:var(--glass);border:1px solid var(--edge);font:600 .74rem Sora;letter-spacing:.14em;text-transform:uppercase;backdrop-filter:blur(10px)}
.tag i{width:8px;height:8px;border-radius:50%;background:var(--c1);box-shadow:0 0 0 0 var(--c1);animation:buzz 1.6s infinite}
@keyframes buzz{0%{box-shadow:0 0 0 0 rgba(94,242,255,.7)}70%{box-shadow:0 0 0 12px rgba(94,242,255,0)}100%{box-shadow:0 0 0 0 rgba(94,242,255,0)}}
.h2{font-size:clamp(2rem,4.6vw,3.4rem);margin:16px 0 14px;font-weight:700}
.lead{color:var(--muted);font-size:1.07rem;max-width:620px}
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;font:600 .95rem Sora;padding:15px 26px;border-radius:16px;color:#0a0d1d;background:var(--iri);background-size:250% 250%;animation:flow 5s linear infinite;box-shadow:0 10px 30px rgba(167,139,250,.35);transition:transform .25s}
.btn:hover{transform:translateY(-3px) scale(1.02)}
.btn:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.7) 50%,transparent 60%);background-size:250% 100%;animation:shine 3s infinite;pointer-events:none}
@keyframes shine{0%{background-position:150% 0}60%,100%{background-position:-60% 0}}
.btn.ghost{background:var(--glass);color:var(--ink);border:1px solid var(--edge);box-shadow:none;backdrop-filter:blur(12px);animation:none}
.btn.ghost:after{display:none}
.glass{background:var(--glass);border:1px solid var(--edge);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-radius:var(--r);box-shadow:var(--shadow)}
.crys{position:relative}
.crys:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a,0deg),var(--c1),var(--c2),var(--c3),var(--gold),var(--c1));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.0;transition:opacity .4s;animation:spin 6s linear infinite;pointer-events:none}
.crys:hover:before{opacity:1}
@property --a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes spin{to{--a:360deg}}

/* background */
#bgfx{position:fixed;inset:0;z-index:-1;pointer-events:none}
.aurora{position:fixed;inset:-20%;z-index:-2;pointer-events:none;filter:blur(80px);opacity:.55}
.aurora span{position:absolute;width:45vw;height:45vw;border-radius:50%;mix-blend-mode:screen}
.aurora span:nth-child(1){background:var(--c2);top:5%;left:10%;animation:drift 18s ease-in-out infinite}
.aurora span:nth-child(2){background:var(--c1);top:40%;right:5%;animation:drift 22s ease-in-out infinite reverse}
.aurora span:nth-child(3){background:var(--c3);bottom:0;left:35%;width:35vw;height:35vw;animation:drift 26s ease-in-out infinite}
@keyframes drift{50%{transform:translate(8vw,-6vh) scale(1.15)}}
.cursor{position:fixed;width:340px;height:340px;border-radius:50%;pointer-events:none;z-index:-1;background:radial-gradient(circle,rgba(94,242,255,.16),transparent 65%);transform:translate(-50%,-50%);transition:opacity .3s}

/* nav */
nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:60;width:min(1180px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px 10px 14px;border-radius:20px}
.logo{display:flex;gap:10px;align-items:center;font:700 .98rem Sora}
.logo img{width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.4),0 0 24px rgba(94,242,255,.5);animation:gem 4s ease-in-out infinite}
@keyframes gem{50%{box-shadow:0 0 0 2px rgba(255,255,255,.5),0 0 34px rgba(255,122,217,.6)}}
.logo small{display:block;font:500 .66rem Inter;letter-spacing:.14em;color:var(--muted)}
.links{display:flex;gap:4px}
.links a{padding:9px 13px;border-radius:12px;font-size:.88rem;font-weight:500;color:var(--muted);transition:.2s}
.links a:hover{background:var(--glass2);color:var(--ink)}
.nav-r{display:flex;gap:8px;align-items:center}
.ib{width:42px;height:42px;border-radius:13px;border:1px solid var(--edge);background:var(--glass);color:var(--ink);cursor:pointer;display:grid;place-items:center;font-size:1rem}
.burger{display:none}
nav .btn{padding:11px 18px}
@media(max-width:1020px){.links{display:none}.burger{display:grid}
 .links.open{display:flex;flex-direction:column;position:absolute;top:70px;left:0;right:0;padding:12px;border-radius:18px;background:var(--bg2);border:1px solid var(--edge)}}
@media(max-width:520px){nav .btn{display:none}.logo small{display:none}}

/* HERO SLIDER */
.hero{height:100vh;min-height:640px;position:relative;overflow:hidden;padding:0}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s}
.slide.on{opacity:1;visibility:visible}
.slide .ph{position:absolute;inset:0;background-size:cover;background-position:center 35%;transform:scale(1.18);transition:transform 7s ease-out}
.slide.on .ph{transform:scale(1.02)}
.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,9,20,.94) 0%,rgba(6,9,20,.72) 42%,rgba(6,9,20,.2) 75%),linear-gradient(0deg,var(--bg) 0%,transparent 30%)}
.shards{position:absolute;inset:0;z-index:2;pointer-events:none}
.shard{position:absolute;opacity:.55;filter:drop-shadow(0 0 18px rgba(167,139,250,.5));animation:float 9s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-26px) rotate(14deg)}}
.hero-in{position:relative;z-index:3;height:100%;display:flex;align-items:center}
.copy{max-width:640px}
.copy>*{opacity:0;transform:translateY(30px);filter:blur(8px);transition:all .8s cubic-bezier(.2,.8,.2,1)}
.slide.on .copy>*{opacity:1;transform:none;filter:none}
.slide.on .copy>*:nth-child(2){transition-delay:.12s}.slide.on .copy>*:nth-child(3){transition-delay:.24s}.slide.on .copy>*:nth-child(4){transition-delay:.36s}
.copy h1{font-size:clamp(2.5rem,6.4vw,5rem);font-weight:800;margin:20px 0 18px}
.copy p{font-size:1.15rem;color:var(--muted);max-width:540px}
.copy .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hud{position:absolute;z-index:5;left:0;right:0;bottom:34px}
.hud .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.bars{display:flex;gap:10px;flex:1;max-width:560px}
.bars button{flex:1;border:0;background:none;cursor:pointer;text-align:left;color:var(--muted);font:600 .72rem Sora;letter-spacing:.08em;text-transform:uppercase;padding-top:12px;position:relative}
.bars button:before,.bars button i{content:"";position:absolute;top:0;left:0;height:3px;border-radius:3px}
.bars button:before{right:0;background:var(--edge)}
.bars button i{width:0;background:var(--iri);box-shadow:0 0 12px var(--c1)}
.bars button.on{color:var(--ink)}
.bars button.on i{animation:fill var(--dur,6s) linear forwards}
.bars button.done i{width:100%}
@keyframes fill{to{width:100%}}
.arrows{display:flex;gap:8px;align-items:center}
.count{font:700 1rem Sora;margin-right:10px;color:var(--muted)}
.count b{font-size:1.9rem;color:var(--ink)}
.thumbcard{position:absolute;z-index:4;right:max(20px,calc((100vw - 1180px)/2));top:50%;transform:translateY(-50%);width:300px;padding:18px}
.thumbcard .gemimg{height:180px;border-radius:16px;background-size:cover;background-position:center;clip-path:polygon(12% 0,100% 0,100% 82%,88% 100%,0 100%,0 18%);transition:background-image .6s}
.thumbcard h4{margin:14px 0 4px;font-size:1.05rem}
.prog{height:8px;border-radius:99px;background:var(--glass2);overflow:hidden;margin:12px 0 6px}
.prog i{display:block;height:100%;width:0;border-radius:99px;background:var(--iri);transition:width 1.6s cubic-bezier(.2,.8,.2,1)}
.mini{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}
@media(max-width:1000px){.thumbcard{display:none}}
@media(max-width:600px){.bars button span{display:none}.hud{bottom:20px}}

/* ticker */
.ticker{padding:0;border-block:1px solid var(--edge);background:var(--glass);backdrop-filter:blur(12px);overflow:hidden}
.track{display:flex;gap:46px;width:max-content;padding:18px 0;animation:mq 32s linear infinite;font:600 1rem Sora;white-space:nowrap}
.track span{display:flex;align-items:center;gap:14px}
.track span:after{content:"✦";color:var(--c3);animation:twinkle 1.2s infinite}
@keyframes twinkle{50%{opacity:.25;transform:scale(.7)}}
@keyframes mq{to{transform:translateX(-50%)}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{padding:30px 24px;text-align:center;overflow:hidden}
.stat .hex{width:58px;height:58px;margin:0 auto 14px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--iri);background-size:300% 300%;animation:flow 5s linear infinite;display:grid;place-items:center;color:#0a0d1d;font-size:1.3rem}
.stat b{font:800 2.6rem Sora;display:block}
.stat span{color:var(--muted);font-size:.9rem}
@media(max-width:860px){.stats{grid-template-columns:1fr 1fr}}

/* about */
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.mosaic{position:relative;height:540px}
.m{position:absolute;background-size:cover;background-position:center;box-shadow:var(--shadow);transition:transform .6s}
.m1{inset:0 28% 30% 0;clip-path:polygon(0 0,86% 0,100% 18%,100% 100%,14% 100%,0 84%)}
.m2{inset:36% 0 0 30%;clip-path:polygon(16% 0,100% 0,100% 84%,84% 100%,0 100%,0 16%)}
.m3{width:150px;height:150px;right:4%;top:4%;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.mosaic:hover .m1{transform:translate(-8px,-8px)}.mosaic:hover .m2{transform:translate(8px,8px)}
.gem-logo{position:absolute;left:6%;bottom:6%;width:120px;height:120px;border-radius:50%;background:#fff;padding:5px;box-shadow:0 0 0 6px var(--glass2),0 0 50px rgba(94,242,255,.55);animation:bob 5s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-12px) rotate(-4deg)}}
.pills{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.pill{padding:16px;border-radius:16px;display:flex;gap:12px;align-items:flex-start}
.pill .e{font-size:1.4rem}
.pill h4{font-size:.98rem}.pill p{font-size:.84rem;color:var(--muted)}
.quote{margin-top:24px;padding:20px 22px;border-radius:18px;font:300 1.12rem Sora;border-left:3px solid var(--c3)}
@media(max-width:920px){.about{grid-template-columns:1fr}.mosaic{height:420px}}

/* programs */
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:42px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;perspective:1000px}
.pc{padding:30px;transform-style:preserve-3d;transition:transform .2s;overflow:hidden}
.pc .ico{width:62px;height:62px;display:grid;place-items:center;font-size:1.7rem;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);margin-bottom:18px;transform:translateZ(40px)}
.pc h3{font-size:1.3rem;margin-bottom:10px;transform:translateZ(30px)}
.pc p{color:var(--muted);font-size:.93rem;transform:translateZ(20px)}
.pc a{display:inline-block;margin-top:16px;font:600 .88rem Sora;color:var(--c1)}
.pc .glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--x,50%) var(--y,50%),rgba(255,255,255,.18),transparent 45%);opacity:0;transition:opacity .3s}
.pc:hover .glare{opacity:1}
@media(max-width:920px){.pgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pgrid{grid-template-columns:1fr}}

/* campaigns carousel */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(380px,84vw);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 20px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.cc{scroll-snap-align:start;overflow:hidden;display:flex;flex-direction:column}
.cc .im{height:220px;background-size:cover;background-position:center 30%;clip-path:polygon(0 0,100% 0,100% 86%,0 100%);position:relative}
.cc .badge{position:absolute;top:14px;left:14px;padding:6px 12px;border-radius:99px;font:700 .7rem Sora;background:rgba(6,9,20,.7);color:#fff;backdrop-filter:blur(6px)}
.cc .bd{padding:6px 24px 24px;display:flex;flex-direction:column;flex:1}
.cc h3{font-size:1.2rem;margin-bottom:6px}
.cc p{color:var(--muted);font-size:.9rem;flex:1}
.ringrow{display:flex;gap:16px;align-items:center;margin:16px 0}
.ring{width:68px;height:68px;flex:none;position:relative}
.ring svg{transform:rotate(-90deg)}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font:700 .9rem Sora}
.cc .btn{justify-content:center}
.railnav{display:flex;gap:8px}

/* gallery */
.gtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.gtabs button{padding:10px 18px;border-radius:14px;border:1px solid var(--edge);background:var(--glass);color:var(--muted);font:600 .85rem Sora;cursor:pointer;backdrop-filter:blur(10px);transition:.25s}
.gtabs button.on{color:#0a0d1d;background:var(--iri);background-size:200%;border-color:transparent}
.ggrid{columns:4 240px;column-gap:14px}
.gi{break-inside:avoid;margin:0 0 14px;position:relative;cursor:zoom-in;border-radius:18px;overflow:hidden;animation:pop .6s both}
@keyframes pop{from{opacity:0;transform:scale(.92) translateY(20px)}}
.gi img{width:100%;transition:transform .7s,filter .5s}
.gi:hover img{transform:scale(1.07);filter:saturate(1.2)}
.gi:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(94,242,255,.0),rgba(255,122,217,.28));opacity:0;transition:.4s}
.gi:hover:after{opacity:1}
.gi figcaption{position:absolute;z-index:2;left:10px;right:10px;bottom:10px;padding:10px 12px;border-radius:12px;font-size:.82rem;color:#fff;background:rgba(6,9,20,.55);backdrop-filter:blur(10px);transform:translateY(130%);transition:.4s}
.gi:hover figcaption{transform:none}
.gi .chip{position:absolute;z-index:2;top:10px;left:10px;font:700 .66rem Sora;letter-spacing:.06em;padding:5px 10px;border-radius:99px;background:rgba(255,255,255,.9);color:#141a33}
.gi.hide{display:none}
.gi video{width:100%;display:block;transition:transform .7s}
.gi:hover video{transform:scale(1.04)}
.gi .play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:1.3rem;color:#fff;background:rgba(6,9,20,.45);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.5);box-shadow:0 0 30px rgba(94,242,255,.5);transition:.3s;padding-left:4px}
.gi:hover .play{opacity:0;transform:translate(-50%,-50%) scale(1.3)}
.lbm img,.lbm video{max-width:min(1100px,100%);max-height:76vh;border-radius:16px;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 30px 80px rgba(0,0,0,.6);animation:pop .4s;display:block;background:#000}
@media(max-width:700px){.gi figcaption{transform:none}}
.lb{position:fixed;inset:0;z-index:130;background:rgba(4,6,14,.92);backdrop-filter:blur(14px);display:none;align-items:center;justify-content:center;flex-direction:column;padding:16px}
.lb.show{display:flex}
.lb p{color:#dfe6ff;margin-top:16px;font-size:.95rem;text-align:center}
.lb .ib{position:absolute;background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2)}
.lb .x{top:16px;right:16px}.lb .pv{left:16px;top:50%}.lb .nx{right:16px;top:50%}

/* donate */
.don{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.imp{display:grid;gap:12px;margin-top:26px}
.imp div{display:flex;gap:16px;align-items:center;padding:14px 18px;border-radius:16px}
.imp b{font:700 1.1rem Sora;min-width:96px}
.dc{padding:30px}
.seg{display:grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:14px;background:var(--glass);border:1px solid var(--edge);margin-bottom:18px}
.seg button{border:0;background:none;color:var(--muted);padding:11px;border-radius:10px;font:600 .9rem Sora;cursor:pointer}
.seg button.on{background:var(--iri);background-size:200%;color:#0a0d1d}
.amts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.amts button{padding:15px 6px;border-radius:14px;border:1px solid var(--edge);background:var(--glass);color:var(--ink);font:600 1rem Sora;cursor:pointer;transition:.25s;clip-path:polygon(8% 0,100% 0,100% 80%,92% 100%,0 100%,0 20%)}
.amts button:hover{background:var(--glass2)}
.amts button.on{background:var(--iri);background-size:200%;color:#0a0d1d;transform:translateY(-2px)}
.f{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.f label{font-size:.8rem;font-weight:600;color:var(--muted)}
.f input,.f select,.f textarea{padding:13px 14px;border-radius:13px;border:1px solid var(--edge);background:var(--glass);color:var(--ink);font:400 .95rem Inter;width:100%}
.f select option{background:var(--bg2);color:var(--ink)}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--c1);box-shadow:0 0 0 4px rgba(94,242,255,.15)}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.note{margin-top:16px;padding:14px 16px;border-radius:14px;background:linear-gradient(120deg,rgba(94,242,255,.12),rgba(255,122,217,.12));border:1px solid var(--edge);font-size:.9rem;display:flex;gap:10px}
.chk{display:flex;gap:10px;align-items:center;margin-top:12px;font-size:.86rem;color:var(--muted)}
.chk input{accent-color:var(--c2)}
.dc .btn{width:100%;justify-content:center;margin-top:18px;padding:16px}
.bank-hint{display:flex;gap:10px;align-items:center;margin-top:14px;font-size:.82rem;color:var(--muted)}
.steps{display:flex;gap:6px;margin:14px 0 4px}
.steps span{flex:1;text-align:center;padding:8px 4px;border-radius:10px;font:600 .72rem Sora;letter-spacing:.04em;border:1px solid var(--edge);color:var(--muted)}
.steps span.on{background:var(--iri);background-size:200%;color:#0a0d1d;border-color:transparent}
.steps span.ok{color:var(--ok);border-color:rgba(92,242,176,.4)}
.timer{display:flex;gap:16px;align-items:center;margin:16px 0;padding:14px 16px;border-radius:16px;background:linear-gradient(120deg,rgba(94,242,255,.1),rgba(255,122,217,.1));border:1px solid var(--edge)}
.timer .tr{position:relative;width:64px;height:64px;flex:none}
.timer svg{transform:rotate(-90deg)}
.timer .tr b{position:absolute;inset:0;display:grid;place-items:center;font:700 .74rem Sora}
.timer .big{font:800 2rem Sora;line-height:1;font-variant-numeric:tabular-nums}
.timer small{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}
.timer.warn .big{color:#ff8a8a;animation:twinkle 1s infinite}
.acct{display:grid;gap:8px}
.acct .row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--glass);border:1px solid var(--edge)}
.acct .row span{font-size:.76rem;color:var(--muted);display:block}
.acct .row b{font:700 1rem Sora;word-break:break-all}
.acct .row.hl b{font-size:1.35rem;letter-spacing:.06em}
.cp{flex:none;border:1px solid var(--edge);background:var(--glass2);color:var(--ink);padding:8px 12px;border-radius:10px;font:600 .75rem Sora;cursor:pointer}
.cp:hover{border-color:var(--c1);color:var(--c1)}
.expired{text-align:center;padding:18px;border-radius:16px;border:1px dashed rgba(255,138,138,.5);margin:14px 0}
.share{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.share a{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:14px;font:700 .92rem Sora;transition:transform .2s}
.share a:hover{transform:translateY(-3px)}
.share .wa{background:#25d366;color:#05250f;box-shadow:0 10px 26px rgba(37,211,102,.35)}
.share .em{background:var(--iri);background-size:200%;color:#0a0d1d}
@media(max-width:480px){.share{grid-template-columns:1fr}}
@media(max-width:920px){.don{grid-template-columns:1fr}}
@media(max-width:480px){.r2{grid-template-columns:1fr}}

/* transparency */
.tr{display:grid;grid-template-columns:auto 1fr;gap:60px;align-items:center}
.donut{width:280px;height:280px;position:relative}
.donut svg{transform:rotate(-90deg);filter:drop-shadow(0 0 20px rgba(167,139,250,.4))}
.donut circle.seg{transition:stroke-dasharray 1.6s cubic-bezier(.2,.8,.2,1)}
.donut .c{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.donut .c b{font:800 2.8rem Sora;display:block;line-height:1}
.lg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.lg div{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;font-size:.88rem}
.lg i{width:12px;height:12px;border-radius:3px;transform:rotate(45deg);flex:none}
@media(max-width:860px){.tr{grid-template-columns:1fr;justify-items:center}.lg{grid-template-columns:1fr}}

/* involve */
.inv{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.ic{padding:28px;cursor:pointer;transition:transform .3s;overflow:hidden}
.ic:hover{transform:translateY(-8px)}
.ic .e{font-size:2rem;margin-bottom:14px;display:inline-block;animation:wob 3s ease-in-out infinite}
.ic:nth-child(2) .e{animation-delay:.4s}.ic:nth-child(3) .e{animation-delay:.8s}.ic:nth-child(4) .e{animation-delay:1.2s}
@keyframes wob{0%,100%{transform:rotate(0)}10%{transform:rotate(-12deg) scale(1.1)}20%{transform:rotate(10deg)}30%{transform:rotate(0)}}
.ic h3{font-size:1.25rem;margin-bottom:6px}.ic p{font-size:.9rem;color:var(--muted)}
.ic span{display:inline-block;margin-top:14px;font:600 .88rem Sora;color:var(--c1)}
@media(max-width:920px){.inv{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.inv{grid-template-columns:1fr}}

/* stories + events */
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:36px}
.story{padding:34px;overflow:hidden;min-height:320px}
.story .q{font:800 5rem Sora;line-height:.5;height:34px}
.story p.t{font:300 1.3rem Sora;margin:14px 0 24px;transition:opacity .4s}
.who{display:flex;gap:12px;align-items:center}
.av{width:48px;height:48px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);display:grid;place-items:center;font:700 1.1rem Sora;color:#0a0d1d;background:var(--iri)}
.who small{display:block;color:var(--muted)}
.dots{display:flex;gap:8px;margin-top:22px}
.dots button{width:10px;height:10px;border-radius:50%;border:0;background:var(--edge);cursor:pointer;transition:.3s}
.dots button.on{width:30px;border-radius:99px;background:var(--iri)}
.sample{font-size:.72rem;color:var(--muted);margin-top:14px;font-style:italic}
.evs{display:grid;gap:12px}
.ev{display:flex;gap:16px;align-items:center;padding:14px 16px;border-radius:18px}
.date{flex:none;width:62px;height:66px;display:grid;place-items:center;align-content:center;clip-path:polygon(50% 0,100% 20%,100% 80%,50% 100%,0 80%,0 20%);background:var(--iri);color:#0a0d1d}
.date b{font:800 1.4rem Sora;line-height:1}.date small{font:700 .62rem Sora;letter-spacing:.1em}
.ev h4{font-size:.98rem}.ev p{font-size:.82rem;color:var(--muted)}
.ev button{margin-left:auto;flex:none;padding:9px 14px;font-size:.8rem}
@media(max-width:920px){.two{grid-template-columns:1fr}}

/* faq */
.faq{max-width:840px;margin:36px auto 0;display:grid;gap:10px}
.qa{border-radius:16px;overflow:hidden}
.qa button{width:100%;text-align:left;background:none;border:0;color:var(--ink);padding:20px 22px;font:600 1rem Sora;cursor:pointer;display:flex;justify-content:space-between;gap:20px}
.qa button span{transition:.35s;color:var(--c1);font-size:1.4rem;line-height:1}
.qa .ans{max-height:0;overflow:hidden;transition:max-height .4s;color:var(--muted);padding:0 22px}
.qa.open .ans{max-height:220px;padding-bottom:20px}
.qa.open button span{transform:rotate(135deg)}

/* cta + footer */
.cta-band{padding:50px;border-radius:30px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;overflow:hidden;position:relative}
.cta-band:before{content:"";position:absolute;inset:0;background:var(--iri);background-size:300% 300%;animation:flow 8s linear infinite;opacity:.18}
.cta-band>*{position:relative}
.cta-band form{display:flex;gap:10px;flex-wrap:wrap}
.cta-band input{flex:1;min-width:200px;padding:15px 18px;border-radius:14px;border:1px solid var(--edge);background:var(--glass);color:var(--ink);font:400 1rem Inter}
@media(max-width:820px){.cta-band{grid-template-columns:1fr;padding:30px}}
footer{padding:70px 0 30px;margin-top:60px;border-top:1px solid var(--edge)}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
footer h4{font-size:.95rem;margin-bottom:14px}
footer ul{list-style:none;display:grid;gap:9px;font-size:.9rem;color:var(--muted)}
footer a:hover{color:var(--c1)}
.soc{display:flex;gap:8px;margin-top:18px}
.soc{align-items:center;flex-wrap:wrap}
.soc a{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--edge);background:var(--glass);color:var(--ink);transition:transform .25s,background .25s,color .25s}
.soc a:hover{transform:translateY(-3px);background:var(--iri);background-size:200%;color:#0a0d1d}
.soc .handle{font-size:.8rem;color:var(--muted)}
.bot{margin-top:46px;padding-top:22px;border-top:1px solid var(--edge);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}
@media(max-width:860px){.fg{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fg{grid-template-columns:1fr}}

/* modal + toast + reveal */
.modal{position:fixed;inset:0;z-index:120;background:rgba(4,6,14,.7);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:16px}
.modal.show{display:flex}
.mb{max-width:520px;width:100%;padding:30px;max-height:90vh;overflow:auto;background:var(--bg2);animation:pop .35s}
.mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.mh h3{font-size:1.5rem}
.rc{margin:18px 0;padding:18px;border-radius:16px;background:var(--glass);border:1px solid var(--edge);font-size:.92rem}
.rc div{display:flex;justify-content:space-between;padding:5px 0}
.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,140px);z-index:140;padding:14px 22px;border-radius:16px;font-size:.92rem;transition:.4s}
.toast.show{transform:translate(-50%,0)}
.rv{opacity:0;transform:translateY(40px) scale(.98);transition:1s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
@media(max-width:700px){.slide:after{background:linear-gradient(180deg,rgba(6,9,20,.55) 0%,rgba(6,9,20,.88) 45%,var(--bg) 100%)}.copy h1{font-size:2.4rem}}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.copy>*{opacity:1!important;transform:none!important;filter:none!important}}

/* ---------- multi-page layout ---------- */
.pagehead{position:relative;padding:150px 0 70px;overflow:hidden}
.pagehead .bgph{position:absolute;inset:0;background-size:cover;background-position:center 35%;opacity:.35;transform:scale(1.05);animation:kb 18s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.15)}}
.pagehead:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,9,20,.55),var(--bg) 92%)}
.pagehead .wrap{position:relative;z-index:2}
.pagehead h1{font-size:clamp(2.3rem,5.5vw,4rem);font-weight:800;margin:16px 0 12px}
.crumbs{font-size:.82rem;color:var(--muted);margin-top:4px}
.crumbs a:hover{color:var(--c1)}
.links a.on{background:var(--glass2);color:var(--ink)}
.more-row{display:flex;justify-content:center;margin-top:30px}
.grid-mode{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));overflow:visible}
.empty-note{color:var(--muted);padding:30px 0}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
.contact-cards a,.contact-cards div{padding:24px;display:block}
.contact-cards .e{font-size:1.6rem}
.contact-cards h3{font-size:1.05rem;margin:10px 0 4px}
.contact-cards p{color:var(--muted);font-size:.92rem;word-break:break-word}
@media(max-width:820px){.contact-cards{grid-template-columns:1fr}}
