/* Udumalai Runners — "Stadium Light" elite theme */
:root{--bg:#ffffff;--bg2:#f2f6ff;--card:#ffffff;--ink:#0a1a3f;--ink2:#51618a;--volt:#1f4fff;--cyan:#22a6ff;--line:rgba(10,26,63,.11);--grad:linear-gradient(100deg,#1f4fff,#22a6ff);--deep:#071a5c;--sh:0 30px 70px -38px rgba(31,79,255,.45)}
*{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.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.disp{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.label{display:inline-flex;align-items:center;justify-content:center;gap:12px;font:700 12px 'Plus Jakarta Sans';letter-spacing:.26em;text-transform:uppercase;color:var(--volt)}
.label i{font-style:normal;color:var(--cyan)}
.label::before,.label::after{content:"";width:34px;height:1.5px;background:currentColor;opacity:.45}
.gt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ol{color:transparent;-webkit-text-stroke:2px var(--ink)}
#bar{position:fixed;top:0;left:0;height:3px;width:0;background:var(--grad);z-index:300}
#cur{position:fixed;width:34px;height:34px;border:1.5px solid var(--volt);border-radius:50%;pointer-events:none;z-index:500;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s}
#cur.h{width:70px;height:70px;background:rgba(31,79,255,.14)}
@media(hover:none){#cur{display:none}}
/* nav */
#nav{position:fixed;top:14px;left:50%;transform:translateX(-50%);width:min(1240px,calc(100% - 28px));z-index:200;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 10px 8px 22px;border-radius:999px;background:rgba(255,255,255,.74);-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid var(--line);box-shadow:0 18px 50px -28px rgba(10,26,63,.35);transition:.4s}
#nav.s{background:rgba(255,255,255,.94)}
#nav .logo img{height:44px;width:auto}
#nav ul{display:flex;gap:2px;list-style:none;align-items:center}
#nav ul a{display:block;padding:9px 14px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink2);transition:.25s;white-space:nowrap}
#nav ul a:hover,#nav ul a.on{background:rgba(31,79,255,.1);color:var(--volt)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;border-radius:999px;font:700 14px 'Plus Jakarta Sans';letter-spacing:.06em;text-transform:uppercase;border:1.5px solid rgba(10,26,63,.28);color:var(--ink);background:transparent;cursor:pointer;transition:.35s;will-change:transform;position:relative;overflow:hidden;z-index:0;white-space:nowrap}
.btn::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--volt);transform:translateY(101%);transition:.4s;z-index:-1}
.btn:hover{color:#fff;border-color:var(--volt)}.btn:hover::before{transform:none}
.btn.pri{background:var(--volt);color:#fff;border-color:var(--volt);box-shadow:0 18px 44px -14px rgba(31,79,255,.7)}
.btn.pri::before{background:var(--deep)}.btn.pri:hover{border-color:var(--deep)}
.btn.sm{padding:11px 22px;font-size:12.5px}
.burger{display:none;background:none;border:0;font-size:26px;padding:0 10px;color:var(--ink)}
/* hero: AI 3D neural globe */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px 0 90px;overflow:hidden;background:radial-gradient(ellipse 55% 60% at 70% 48%,#dce8ff,transparent 72%),radial-gradient(ellipse 40% 40% at 0 100%,#e9f1ff,transparent 70%),#fff}
.hero canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}
.hero::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.55) 34%,transparent 58%)}
.hero .big{position:absolute;right:2%;bottom:6%;z-index:0;font:800 clamp(80px,15vw,260px)/1 'Plus Jakarta Sans';letter-spacing:-.05em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px rgba(31,79,255,.14);white-space:nowrap}
.hero .wrap{position:relative;z-index:3;width:100%}
.hero .copy{max-width:600px;display:flex;flex-direction:column;align-items:flex-start}
.hero .label::before{display:none}
.hero h1{font-size:clamp(50px,7vw,112px);margin:22px 0 24px;line-height:.98}
.hero h1 .l{display:block;overflow:hidden;padding:.05em 0}
.hero h1 .l span{display:inline-block;transform:translateY(112%);animation:rise 1.2s cubic-bezier(.2,.9,.1,1) forwards}
.hero h1 .l:nth-child(2) span{animation-delay:.14s}.hero h1 .l:nth-child(3) span{animation-delay:.28s}
@keyframes rise{to{transform:none}}
.hero p.lead{max-width:480px;color:var(--ink2);font-size:18px;margin-bottom:32px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.tabs{position:absolute;left:50%;transform:translateX(-50%);bottom:40px;display:flex;gap:6px;padding:6px;border-radius:999px;background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 18px 44px -26px rgba(10,26,63,.4);z-index:4}
.tabs button{border:0;background:none;padding:10px 20px;border-radius:999px;font:700 12.5px 'Plus Jakarta Sans';letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--ink2);transition:.3s}
.tabs button.on{background:var(--volt);color:#fff}
.tag3d{position:absolute;top:100px;right:max(28px,calc((100% - 1240px)/2 + 28px));z-index:4;display:flex;gap:10px;align-items:center;font:700 11px 'Plus Jakarta Sans';letter-spacing:.22em;color:var(--ink2)}
.tag3d i{width:8px;height:8px;border-radius:50%;background:var(--volt);animation:pl 1.6s infinite}
@keyframes pl{0%{box-shadow:0 0 0 0 rgba(31,79,255,.6)}100%{box-shadow:0 0 0 12px transparent}}
.live{position:absolute;top:132px;right:max(28px,calc((100% - 1240px)/2 + 28px));z-index:4;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--line);font:600 13px 'Inter';color:var(--ink)}
/* marquee */
.mq{background:linear-gradient(100deg,var(--volt),#1233c7);color:#fff;overflow:hidden;white-space:nowrap;padding:20px 0}
.mq div{display:inline-block;animation:m 45s linear infinite;font:800 28px 'Plus Jakarta Sans';letter-spacing:-.02em;text-transform:uppercase}
.mq b{margin:0 28px;font-size:18px;color:#9cc4ff}.mq span.o{color:transparent;-webkit-text-stroke:1.2px #fff}
@keyframes m{to{transform:translateX(-50%)}}
section{padding:120px 0;position:relative}
.sh{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;margin-bottom:56px}
.sh>div{display:flex;flex-direction:column;align-items:center;gap:18px}
.sh h2{font-size:clamp(34px,4.8vw,70px);margin:0}
.more{font:700 13px 'Plus Jakarta Sans';letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid var(--volt);padding-bottom:3px;color:var(--volt)}
.rv{opacity:0;transform:translateY(54px);transition:1s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
.tilt{transform-style:preserve-3d;transition:transform .18s ease-out,box-shadow .4s,border-color .4s;will-change:transform}
/* who */
.who{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:center}
.who>div:first-child{display:flex;flex-direction:column;align-items:flex-start}
.who .label::before{display:none}
.who h2{font-size:clamp(34px,4.4vw,64px);margin:18px 0 24px}
.who p{color:var(--ink2);font-size:18px;margin-bottom:30px;max-width:520px}
.photo{position:relative;border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh)}
.photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.photo .cap,.bigphoto .cap{position:absolute;left:16px;bottom:16px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font:600 12.5px 'Inter'}
/* bento */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.tile{border-radius:26px;padding:32px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden;text-align:left;box-shadow:0 20px 50px -38px rgba(10,26,63,.4)}
.tile:hover{border-color:rgba(31,79,255,.5);box-shadow:var(--sh)}
.tile .n{font:800 56px 'Plus Jakarta Sans';letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--volt)}
.tile h3{font-size:23px;margin-bottom:10px;line-height:1.05}.tile p{color:var(--ink2);font-size:15px}
.tile:nth-child(1){grid-column:span 7;background:linear-gradient(135deg,var(--volt),#1233c7);color:#fff;border-color:transparent}.tile:nth-child(1) p{color:rgba(255,255,255,.82)}.tile:nth-child(1) .n{-webkit-text-stroke-color:#fff}
.tile:nth-child(2){grid-column:span 5;background:var(--bg2)}
.tile:nth-child(3){grid-column:span 4}
.tile:nth-child(4){grid-column:span 4;background:var(--deep);color:#fff;border-color:transparent}.tile:nth-child(4) p{color:rgba(255,255,255,.75)}.tile:nth-child(4) .n{-webkit-text-stroke-color:#7fb6ff}
.tile:nth-child(5){grid-column:span 4;background:var(--bg2)}
.tile:nth-child(6){grid-column:span 12;background:linear-gradient(110deg,#0b2a9c,#22a6ff);color:#fff;min-height:200px;border-color:transparent}.tile:nth-child(6) p{max-width:640px;color:rgba(255,255,255,.85)}.tile:nth-child(6) .n{-webkit-text-stroke-color:#fff}
/* dark royal panels */
.dark{--ink:#fff;--ink2:#b9c9f2;--volt:#8fc0ff;--cyan:#6fd0ff;--card:rgba(255,255,255,.07);--line:rgba(255,255,255,.16);background:radial-gradient(ellipse 60% 70% at 85% 0,#14389c,transparent 70%),linear-gradient(180deg,#071a5c,#04103d);color:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);text-align:center}
.stat{padding:50px 16px 0}.stat b{display:block;font:800 clamp(46px,6.2vw,96px)/1 'Plus Jakarta Sans';letter-spacing:-.05em;background:linear-gradient(100deg,#fff,#8fc0ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font:700 12px 'Plus Jakarta Sans';letter-spacing:.24em;text-transform:uppercase;color:var(--ink2)}
/* board */
.board{display:flex;flex-wrap:wrap;gap:26px;justify-content:center}
.mem{width:280px;text-align:center}
.mem .ph{aspect-ratio:4/5;border-radius:999px 999px 24px 24px;overflow:hidden;background:var(--bg2);border:1px solid var(--line);margin-bottom:20px;box-shadow:var(--sh);transition:.5s}
.mem:hover .ph{border-radius:24px;transform:translateY(-8px);border-color:var(--volt)}
.mem img{width:100%;height:100%;object-fit:cover;transition:.7s}.mem:hover img{transform:scale(1.07)}
.mem h3{font-size:20px;margin-bottom:6px}.mem span{font:700 11.5px 'Plus Jakarta Sans';letter-spacing:.22em;text-transform:uppercase;color:var(--volt)}
/* events */
.feat{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;padding:48px;border-radius:32px;margin-bottom:56px;background:linear-gradient(120deg,rgba(143,192,255,.22),rgba(255,255,255,.05));border:1px solid rgba(143,192,255,.5)}
.feat h3{font-size:clamp(28px,4vw,56px);margin:16px 0 12px;line-height:1}
.tag{display:inline-block;font:800 11px 'Plus Jakarta Sans';letter-spacing:.2em;text-transform:uppercase;padding:8px 16px;border-radius:999px;background:var(--volt);color:#fff}
.dark .tag{background:#fff;color:var(--deep)}
.egrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:26px}
.ev{border-radius:26px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.ev:hover{border-color:rgba(31,79,255,.5);box-shadow:var(--sh)}
.ev .im{position:relative;aspect-ratio:4/3;overflow:hidden}.ev .im img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.ev:hover img{transform:scale(1.09)}
.dt{position:absolute;top:16px;left:16px;background:#fff;color:var(--deep);border-radius:14px;padding:8px 14px;text-align:center;font:800 26px/1 'Plus Jakarta Sans';}.dt small{display:block;font:800 10px 'Plus Jakarta Sans';letter-spacing:.2em;margin-top:4px;color:var(--volt)}
.ev .bd{padding:26px}.ev small.t{font:700 11px 'Plus Jakarta Sans';letter-spacing:.2em;color:var(--cyan)}
.ev h3{font-size:21px;margin:8px 0 10px;line-height:1.08}.ev .mt{color:var(--ink2);font-size:14px;margin-bottom:20px}
.empty{padding:40px;text-align:center;opacity:.6;grid-column:1/-1}
/* gallery */
.filters{display:flex;gap:40px;flex-wrap:wrap;justify-content:center;padding:28px 32px;border-radius:24px;background:var(--bg2);border:1px solid var(--line);margin-bottom:40px}
.fg{text-align:center}.fg label{display:block;font:700 11px 'Plus Jakarta Sans';letter-spacing:.26em;color:var(--ink2);margin-bottom:10px}.fg div{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pill{padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;font:600 13px 'Inter';cursor:pointer;color:var(--ink);transition:.3s}
.pill.on,.pill:hover{background:var(--volt);color:#fff;border-color:var(--volt)}
.gal{columns:3 300px;column-gap:22px}
.g{break-inside:avoid;margin-bottom:22px;border-radius:22px;overflow:hidden;cursor:zoom-in;background:var(--card);border:1px solid var(--line);box-shadow:0 20px 50px -38px rgba(10,26,63,.4)}
.g img{width:100%;transition:transform 1s}.g:hover img{transform:scale(1.07)}
.g p{padding:14px 20px;font:700 11.5px 'Plus Jakarta Sans';letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
#lb{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(4,12,40,.94);display:none;place-items:center;z-index:600;cursor:zoom-out}#lb.on{display:grid}#lb img{max-width:90vw;max-height:88vh;border-radius:18px}
/* join + footer */
.join{text-align:center;padding:140px 0}
.join.dark{background:radial-gradient(ellipse 60% 80% at 50% 0,#2a5bff,transparent 70%),linear-gradient(160deg,#0b2a9c,#071a5c);color:#fff;border:0}
.join .wrap{display:flex;flex-direction:column;align-items:center}
.join h2{font-size:clamp(42px,7.4vw,116px);margin:24px 0}
.join .label{color:#9cc4ff}
.join .gt{background:none;-webkit-background-clip:initial;background-clip:initial;color:transparent;-webkit-text-stroke:2px #fff}
.join p{max-width:540px;margin:0 auto 38px;color:rgba(255,255,255,.82)}.join p a{border-bottom:1px solid #fff;font-weight:600}
.join .cta{justify-content:center}
.join .btn{border-color:rgba(255,255,255,.7);color:#fff}.join .btn::before{background:#fff}.join .btn:hover{color:var(--deep);border-color:#fff}
.join .btn.pri{background:#fff;color:var(--deep);border-color:#fff}.join .btn.pri::before{background:#9cc4ff}
footer{background:#04103d;color:#fff;padding:90px 0 30px}
.f4{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:44px;align-items:start}
footer .flogo{display:inline-block;margin-bottom:18px;padding:10px 20px;border-radius:18px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 14px 30px -14px rgba(0,0,0,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}footer .flogo img{height:56px;display:block}
footer h4{font:800 12px 'Plus Jakarta Sans';letter-spacing:.26em;color:#8fc0ff;margin-bottom:18px}
footer li{list-style:none;margin-bottom:11px;font-size:15px;color:#b9c9f2}footer li a:hover{color:#fff}
.soc{display:flex;gap:14px;margin-top:24px;perspective:700px}
.soc a{--c1:#0fa968;--c2:#1457e6;position:relative;overflow:hidden;width:50px;height:50px;border-radius:16px;display:grid;place-items:center;color:#fff;text-decoration:none;background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 5px 0 rgba(0,0,0,.38),0 14px 22px -10px rgba(0,0,0,.7);transition:transform .3s cubic-bezier(.2,.8,.25,1),box-shadow .3s,background .3s,border-color .3s;transform-style:preserve-3d}
.soc a svg{position:relative;z-index:1;transition:transform .3s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.soc a::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--c1),var(--c2));opacity:0;transition:opacity .3s}
.soc a::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%);transform:translateX(-130%);transition:transform .7s}
.soc a.fb{--c1:#3b82f6;--c2:#1456d6}.soc a.ig{--c1:#feda75;--c2:#d62976}.soc a.ig::before{background:linear-gradient(45deg,#fdc468 0%,#f5622d 30%,#d62976 60%,#7a3fd0 100%)}.soc a.yt{--c1:#ff4b3e;--c2:#c4001a}.soc a.xx{--c1:#3a4663;--c2:#0a0f1f}
.soc a:hover{transform:translateY(-6px) rotateX(14deg);border-color:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 11px 0 rgba(0,0,0,.38),0 22px 30px -10px var(--c2)}
.soc a:hover::before{opacity:1}.soc a:hover::after{transform:translateX(130%)}.soc a:hover svg{transform:scale(1.12)}
.soc a:active{transform:translateY(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 1px 0 rgba(0,0,0,.38)}
.soc a:focus-visible{outline:3px solid #7fe3b8;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.soc a,.soc a::after{transition:none}}
.cp{margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:#b9c9f2}
/* AI */
#aiB{position:fixed;right:22px;bottom:22px;z-index:250;height:56px;padding:0 24px;border-radius:999px;border:0;cursor:pointer;font:800 12.5px 'Plus Jakarta Sans';letter-spacing:.1em;text-transform:uppercase;background:var(--volt);color:#fff;box-shadow:0 20px 50px -12px rgba(31,79,255,.7)}
#ai{position:fixed;right:22px;bottom:92px;z-index:250;width:min(370px,calc(100% - 44px));display:none;border-radius:26px;overflow:hidden;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 40px 90px -30px rgba(10,26,63,.55)}#ai.on{display:block}
#ai header{padding:18px 22px;font:800 18px 'Plus Jakarta Sans';text-transform:uppercase;border-bottom:1px solid var(--line)}#ai header small{display:block;font:500 12px 'Inter';text-transform:none;letter-spacing:0;color:var(--volt)}
#msgs{height:240px;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;font-size:14px}
.m{padding:10px 14px;border-radius:16px;max-width:88%;background:var(--bg2);border:1px solid var(--line)}.m.me{align-self:flex-end;background:var(--volt);color:#fff;border-color:var(--volt)}
.qs{display:flex;gap:6px;padding:0 16px 12px;flex-wrap:wrap}
#ai form{display:flex;border-top:1px solid var(--line)}#ai input{flex:1;background:none;border:0;padding:15px 18px;font:inherit;color:var(--ink);outline:0}#ai form button{background:none;border:0;color:var(--volt);font-weight:700;padding:0 20px;cursor:pointer}
/* inner pages */
.phero{padding:160px 0 50px;text-align:center;background:radial-gradient(ellipse 60% 80% at 50% 0,#dce8ff,transparent 70%)}
.phero .wrap{display:flex;flex-direction:column;align-items:center}
.phero h1{font-size:clamp(44px,7vw,104px);margin:22px 0 26px}
.phero p.lead{font-size:clamp(18px,2vw,24px);line-height:1.5;max-width:800px;color:var(--ink2);letter-spacing:-.01em;text-transform:none}
.bigphoto{margin-top:40px;width:100%;border-radius:32px;overflow:hidden;position:relative;aspect-ratio:16/8;border:1px solid var(--line);box-shadow:var(--sh)}
.bigphoto img{width:100%;height:120%;object-fit:cover;object-position:center 35%;will-change:transform}
.bigphoto .cap{left:22px;bottom:22px;font-size:13px}
.twocol{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:start}
.twocol .label::before{display:none}
.twocol p{font-size:18px;color:var(--ink2);margin-bottom:22px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.trio .tile{min-height:300px}.trio .tile:nth-child(n){grid-column:auto}
.trio .tile:nth-child(1){background:linear-gradient(135deg,var(--volt),#1233c7);color:#fff}.trio .tile:nth-child(1) p{color:rgba(255,255,255,.82)}
.trio .tile:nth-child(2){background:var(--bg2);color:var(--ink)}.trio .tile:nth-child(2) p{color:var(--ink2)}
.trio .tile:nth-child(3){background:var(--deep);color:#fff}.trio .tile:nth-child(3) p{color:rgba(255,255,255,.78)}
.trio .tile h3{font-size:42px}
.list{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:90px 1fr 1.3fr;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);transition:.4s}
.row:hover{padding-left:20px;background:linear-gradient(90deg,rgba(143,192,255,.14),transparent)}
.row .n{font:800 20px 'Plus Jakarta Sans';color:var(--volt)}.row h3{font-size:clamp(20px,2.3vw,32px);line-height:1.05}.row p{color:var(--ink2)}
@media(max-width:960px){
 #nav ul{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:14px;border-radius:26px;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(10,26,63,.4)}#nav ul.open{display:flex}.burger{display:block}#nav>.btn{display:none}
 .who,.twocol{grid-template-columns:1fr;gap:40px}.tabs{left:50%;right:auto;transform:translateX(-50%);bottom:24px}.tag3d,.live{display:none}.hero{padding:120px 0 120px;align-items:flex-start}
 .hero::after{background:linear-gradient(180deg,rgba(255,255,255,.88) 0,rgba(255,255,255,.4) 55%,transparent 80%)}.hero .copy{align-items:center;text-align:center;margin:0 auto}.hero .big{display:none}
 .bento{grid-template-columns:1fr}.tile:nth-child(n){grid-column:auto}.stats{grid-template-columns:1fr 1fr}.f4{grid-template-columns:1fr 1fr}
 .trio{grid-template-columns:1fr}.row{grid-template-columns:50px 1fr}.row p{grid-column:2}section{padding:84px 0}.bigphoto{aspect-ratio:4/3}}
@media(max-width:640px){.f4{grid-template-columns:1fr}.hero .cta{justify-content:center}.tabs{bottom:100px}.hero{padding-bottom:330px}#aiB{width:56px;padding:0;font-size:0}#aiB::after{content:'✦';font-size:22px}footer li{overflow-wrap:anywhere}}
.f4>*{min-width:0}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.hero h1 .l span{transform:none}}
/* forms + tables */
.fcard{max-width:720px;margin:0 auto;padding:clamp(22px,4vw,44px);border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh)}
.fcard form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fcard .f{display:flex;flex-direction:column;gap:8px;min-width:0}.fcard .f.w{grid-column:1/-1}
.fcard label{font:700 11px 'Plus Jakarta Sans';letter-spacing:.2em;text-transform:uppercase;color:var(--ink2)}
.fcard input,.fcard select,.fcard textarea{width:100%;padding:15px 16px;border-radius:14px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);font:500 15px 'Inter',sans-serif}
.fcard textarea{min-height:130px;resize:vertical}
.fcard input:focus,.fcard select:focus,.fcard textarea:focus{outline:2px solid var(--volt);outline-offset:1px}
.fcard .f.w .btn{align-self:flex-start}
.fcard .msg{grid-column:1/-1;font-size:14px;color:var(--ink2);min-height:20px}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--sh)}
.tbl table{width:100%;border-collapse:collapse;min-width:560px;font-variant-numeric:tabular-nums}
.tbl th,.tbl td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line)}
.tbl th{font:700 11px 'Plus Jakarta Sans';letter-spacing:.2em;text-transform:uppercase;color:var(--ink2);background:var(--bg2)}
.tbl tr:last-child td{border-bottom:0}.tbl td.rk{font:800 20px 'Plus Jakarta Sans';color:var(--volt)}
.note{margin-top:14px;font-size:13px;color:var(--ink2);text-align:center}
@media(max-width:640px){.fcard form{grid-template-columns:1fr}}

/* ===== Stadium Light overrides (from the approved reference) ===== */
:root{--bg:#f5f8ff;--bg2:#eaf1ff;--card:#fff;--ink:#08122b;--ink2:#4a5675;--volt:#1457e6;--cyan:#0fa968;--green:#0fa968;--navy:#0b1f45;--line:rgba(8,18,43,.1);--grad:linear-gradient(100deg,#0fa968,#1457e6);--deep:#0b1f45;--sh:0 30px 70px -40px rgba(20,87,230,.45)}
h1,h2,h3,h4,.disp{font-family:'Plus Jakarta Sans','Inter',sans-serif;text-transform:none;font-weight:800;letter-spacing:-.035em;line-height:1.03}
.label,.tag3d,.tag,.ev small.t,.dt small,.stat span,.fg label,.mem span,footer h4,.fcard label,.tbl th,.pill,.mq,.g p{font-family:'Space Grotesk','Inter',sans-serif}
.label{color:var(--green);letter-spacing:.24em;justify-content:flex-start}.label i{color:var(--volt)}.label::before{display:none}.label::after{width:46px}
.hero .label,.join .label,.phero .label{justify-content:flex-start}
#nav ul a.on,#nav ul a:hover{background:#e6efff;color:var(--volt)}
.btn{font:700 15px 'Plus Jakarta Sans',sans-serif;text-transform:none;letter-spacing:0;border:1.5px solid var(--navy);color:var(--navy)}
.btn::before{background:var(--navy)}.btn:hover{color:#fff;border-color:var(--navy)}
.btn.pri{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 18px 40px -16px rgba(11,31,69,.65)}
.btn.pri::before{background:var(--grad)}.btn.pri:hover{border-color:transparent}
.btn.sm{font-size:14px}
#aiB{background:var(--grad);font:800 13px 'Space Grotesk',sans-serif;box-shadow:0 20px 50px -14px rgba(20,87,230,.6)}
.tabs button{font:600 14px 'Plus Jakarta Sans',sans-serif;text-transform:none;letter-spacing:0}.tabs button.on{background:var(--navy);color:#fff}
.mq{background:var(--navy)}.mq div{font:800 26px 'Plus Jakarta Sans',sans-serif;text-transform:none}.mq b{color:#3ddc97}
.sh{flex-direction:row;justify-content:space-between;align-items:flex-end;text-align:left;flex-wrap:wrap;gap:24px}
.sh>div{align-items:flex-start}.sh h2{font-size:clamp(34px,4.6vw,66px)}
.who>div:first-child{align-items:flex-start}
.tile:nth-child(1),.trio .tile:nth-child(1){background:linear-gradient(135deg,#0fa968,#1457e6);color:#fff}
.tile:nth-child(6){background:linear-gradient(110deg,#0b1f45,#1457e6)}
.tile .n{font-weight:800}
.dark{--volt:#7db6ff;--cyan:#3ddc97;background:radial-gradient(ellipse 60% 70% at 85% 0,#14408f,transparent 70%),radial-gradient(ellipse 40% 50% at 0 100%,rgba(15,169,104,.22),transparent 70%),linear-gradient(180deg,#0b1f45,#071533)}
.dark .label{color:#3ddc97}
.stats{text-align:left}.stat b{background:linear-gradient(100deg,#fff,#7fe3b8);-webkit-background-clip:text;background-clip:text}
.join.dark{background:radial-gradient(ellipse 60% 80% at 50% 0,#1a5cd8,transparent 70%),radial-gradient(ellipse 50% 60% at 0 100%,rgba(15,169,104,.4),transparent 70%),linear-gradient(160deg,#0b1f45,#071533)}
.join .label{color:#3ddc97;justify-content:center}.join .btn.pri{background:#fff;color:var(--navy)}.join .btn.pri::before{background:#3ddc97}
footer{background:#071533}footer h4{color:#3ddc97}
.filters{justify-content:flex-start}.fg{text-align:left}.fg div{justify-content:flex-start}
.phero{text-align:left;background:radial-gradient(ellipse 60% 80% at 80% 0,#dfeaff,transparent 70%)}
.phero .wrap{align-items:flex-start}.phero h1{font-size:clamp(46px,7.2vw,108px)}
.phero p.lead{font-size:clamp(18px,1.9vw,24px)}
.note{text-align:left}
.pill.on,.pill:hover{background:var(--navy);border-color:var(--navy)}
.fcard .f.w .btn{align-self:flex-start}
/* hero: copy left, 3D AI stage card right */
.hero{display:block;min-height:auto;padding:128px 0 72px;background:radial-gradient(ellipse 50% 60% at 78% 40%,#dfeaff,transparent 70%),radial-gradient(ellipse 35% 40% at 0 100%,#e6f6ee,transparent 70%),#f5f8ff}
.hero::after{display:none}
.hero .hgrid{display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center}
.hero .copy{max-width:none}
.hero h1{font-size:clamp(56px,8vw,128px);line-height:.98;margin:20px 0 24px}
.hero h1 .l{padding:.06em 0}
.hero p.lead{max-width:500px}
.stagecard{position:relative;aspect-ratio:1/1.04;border-radius:44px;overflow:hidden;background:linear-gradient(160deg,#f1f6ff,#cddffc);border:1px solid rgba(20,87,230,.16);box-shadow:0 50px 100px -50px rgba(20,87,230,.6)}
.stagecard canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}
.stagecard .big{position:absolute;left:50%;top:15%;right:auto;bottom:auto;transform:translateX(-50%);font-size:clamp(60px,8.4vw,140px);z-index:0;-webkit-text-stroke:1.5px rgba(20,87,230,.13)}
.stagecard .tag3d{top:24px;left:26px;right:auto;z-index:4}.stagecard .tag3d i{background:var(--green)}
.stagecard .live{top:16px;right:18px;z-index:4}
.stagecard .tabs{left:50%;right:auto;bottom:22px;transform:translateX(-50%);z-index:4}
.motive{position:absolute;left:24px;right:24px;bottom:86px;z-index:3;text-align:center;font:800 clamp(16px,1.7vw,22px)/1.2 'Plus Jakarta Sans',sans-serif;color:var(--navy);letter-spacing:-.02em;transition:opacity .4s,transform .4s}
.motive.sw{opacity:0;transform:translateY(8px)}
.aichip{position:absolute;z-index:3;padding:10px 14px;border-radius:16px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);box-shadow:0 18px 40px -24px rgba(11,31,69,.5);font:600 12px 'Space Grotesk',sans-serif;color:var(--ink2);animation:fy 5s ease-in-out infinite}
.aichip b{display:block;font:800 20px 'Plus Jakarta Sans',sans-serif;color:var(--navy);letter-spacing:-.02em}.aichip b em{font-style:normal;font-size:12px;color:var(--ink2);font-weight:600}
.aichip.a{left:5%;top:34%}.aichip.b{right:5%;top:52%;animation-delay:-1.7s}.aichip.c{left:9%;top:62%;animation-delay:-3.2s}
.aichip.a b{color:var(--green)}.aichip.c b{color:var(--volt)}
@keyframes fy{50%{transform:translateY(-10px)}}
@media(max-width:960px){.hero{padding:112px 0 56px}.hero .hgrid{grid-template-columns:1fr;gap:36px}.hero .copy{align-items:flex-start;text-align:left;margin:0}.stagecard{aspect-ratio:1/1.1}.stagecard .tag3d,.stagecard .live{display:flex}.stagecard .live{top:auto;bottom:auto;display:none}.sh{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.hero{padding-bottom:56px}.tabs{bottom:22px}.hero .cta{justify-content:flex-start}.aichip.c{display:none}#aiB{bottom:18px}.stagecard .tabs{bottom:18px}.stagecard .tabs button{padding:9px 14px}}

/* banner v2: classic metrics dashboard */
.hero h1{font-size:clamp(46px,6.4vw,100px);line-height:1.02}
.route{display:inline-flex;align-items:center;gap:12px;margin:0 0 30px;padding:11px 20px;border-radius:999px;background:#fff;border:1px solid rgba(11,31,69,.14);font:600 14px 'Plus Jakarta Sans',sans-serif;color:var(--navy);box-shadow:0 14px 34px -22px rgba(11,31,69,.5)}
.route i{width:9px;height:9px;border-radius:50%;background:var(--green);animation:pl 1.6s infinite;flex:none}
.stagecard{box-shadow:0 50px 100px -50px rgba(20,87,230,.6),inset 0 0 0 7px rgba(255,255,255,.55),inset 0 0 0 8px rgba(20,87,230,.1)}
.aichip{display:flex;flex-direction:column;gap:2px;min-width:112px}
.aichip u{position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--green);text-decoration:none;animation:pl 1.3s infinite}
.aichip u.bl{background:var(--volt);animation-name:plb}.aichip u.gl{background:#e0a100;animation-name:plg}
@keyframes plb{0%{box-shadow:0 0 0 0 rgba(20,87,230,.6)}100%{box-shadow:0 0 0 10px transparent}}
@keyframes plg{0%{box-shadow:0 0 0 0 rgba(224,161,0,.6)}100%{box-shadow:0 0 0 10px transparent}}
.aichip .hrt{position:absolute;top:10px;right:11px;width:15px;height:15px;fill:#e0364b;animation:beat .78s infinite}
@keyframes beat{0%,100%{transform:scale(1)}14%{transform:scale(1.35)}28%{transform:scale(1)}42%{transform:scale(1.22)}}
.aichip.a{left:5%;top:25%}.aichip.b{right:5%;top:33%;animation-delay:-1.7s}.aichip.c{left:5%;top:56%;animation-delay:-3.2s}.aichip.c b{color:#e0364b}.aichip.d{right:5%;top:58%;animation-delay:-2.4s}.aichip.d b{color:#c98a00}
.motive{display:flex;align-items:center;justify-content:center;gap:12px;font-size:clamp(14px,1.4vw,18px)}
.motive #motive{transition:opacity .4s,transform .4s}.motive.sw #motive{opacity:0;transform:translateY(6px)}.motive.sw{opacity:1;transform:none}
.ai-on{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:#e7f8ef;color:#0a7a4c;font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.ai-on i{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pl 1.2s infinite}
.wave{display:inline-flex;align-items:center;gap:3px;height:22px}
.wave s{display:block;width:3px;border-radius:2px;background:var(--green);height:6px;animation:wv 1s ease-in-out infinite}
.wave s:nth-child(2){animation-delay:.1s}.wave s:nth-child(3){animation-delay:.2s}.wave s:nth-child(4){animation-delay:.3s}.wave s:nth-child(5){animation-delay:.15s}.wave s:nth-child(6){animation-delay:.25s}.wave s:nth-child(7){animation-delay:.05s}
@keyframes wv{0%,100%{height:5px}50%{height:20px}}
@media(max-width:640px){.motive{flex-wrap:wrap;bottom:78px}.wave{display:none}.aichip.c,.aichip.d{display:none}.route{font-size:13px}}
@media(prefers-reduced-motion:reduce){.wave s,.aichip,.hrt{animation:none!important}}
.hero h1{font-size:clamp(44px,5.7vw,90px)}.hero h1 .l{white-space:nowrap}
@media(max-width:640px){.hero h1{font-size:clamp(36px,11vw,56px)}#aiB{font-size:0!important;width:56px;padding:0}#aiB::after{content:'✦';font-size:22px}}

/* banner uses the intro's cinematic dark theme */
.hero{background:radial-gradient(ellipse 60% 60% at 75% 35%,#15388a,transparent 70%),radial-gradient(ellipse 45% 55% at 5% 100%,rgba(15,169,104,.35),transparent 70%),#050d24;color:#fff}
.hero h1,.hero h1 .l>span:not(.gt):not(.ol){color:#fff}
.hero h1 .ol{-webkit-text-stroke-color:#fff}
.hero h1 .gt{background:linear-gradient(100deg,#3ddc97,#548cff);-webkit-background-clip:text;background-clip:text}
.hero .label{color:#3ddc97}.hero .label i{color:#6fa0ff}
.hero p.lead{color:#b9c9f2}
.route{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.hero .btn{border-color:rgba(255,255,255,.55);color:#fff}.hero .btn::before{background:#fff}.hero .btn:hover{color:#0b1f45;border-color:#fff}
.hero .btn.pri{background:linear-gradient(100deg,#0fa968,#1457e6);border-color:transparent;color:#fff;box-shadow:0 18px 40px -14px rgba(20,87,230,.7)}.hero .btn.pri::before{background:#fff}.hero .btn.pri:hover{color:#0b1f45}
.stagecard{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.16);box-shadow:0 50px 100px -50px #000,inset 0 0 0 7px rgba(255,255,255,.025),inset 0 0 0 8px rgba(125,170,255,.14)}
.stagecard .big{-webkit-text-stroke:1.5px rgba(125,170,255,.16)}
.stagecard .tag3d{color:#9db4ee}
.aichip{background:rgba(8,20,52,.72);border-color:rgba(255,255,255,.16);color:#9db4ee}.aichip b{color:#fff}.aichip b em{color:#9db4ee}
.aichip.a b{color:#3ddc97}.aichip.c b{color:#ff6b81}.aichip.d b{color:#f3c04d}
.motive{color:#fff}.ai-on{background:rgba(61,220,151,.14);color:#3ddc97}
.stagecard .tabs{background:rgba(8,20,52,.72);border-color:rgba(255,255,255,.16)}.stagecard .tabs button{color:#9db4ee}.stagecard .tabs button.on{background:#fff;color:#0b1f45}
.stagecard .aichip.a{left:4%;top:12%}.stagecard .aichip.b{right:4%;top:14%}.stagecard .aichip.c{left:4%;top:62%}.stagecard .aichip.d{right:4%;top:62%}
.hero .btn:not(.pri){background:rgba(255,255,255,.06)}.hero .btn:not(.pri):hover{background:#fff}


.band{position:relative;height:min(78vh,720px);margin:0;padding:0;overflow:hidden;background:#000}
.band .slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s;transform:scale(1.06)}
.band .slide.on{opacity:1;animation:kb 14s ease-out forwards}
@keyframes kb{to{transform:scale(1.16)}}
.band::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(7,8,11,.3),rgba(7,8,11,.85))}
.band .t{position:absolute;left:0;right:0;bottom:48px;z-index:2}
.band .t h2{font-size:clamp(32px,5vw,80px);max-width:900px}
.dots{display:flex;gap:8px;margin-top:22px}.dots i{width:34px;height:3px;border-radius:2px;background:rgba(255,255,255,.3)}.dots i.on{background:var(--volt)}

.egrid .ev{box-shadow:0 30px 70px -40px rgba(6,18,42,.55);border:1px solid var(--line)}

.view[hidden]{display:none!important}
#introFrame{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;z-index:9999;background:#050d24;transition:opacity .5s}
body.intro-on{overflow:hidden}

/* ---- premium navigation ---- */
#nav{top:16px;width:min(1260px,calc(100% - 32px));padding:9px 10px 9px 24px;gap:22px;border-radius:22px;
 background:linear-gradient(135deg,rgba(7,18,44,.82),rgba(12,32,74,.7));-webkit-backdrop-filter:blur(26px) saturate(1.8);backdrop-filter:blur(26px) saturate(1.8);-webkit-backdrop-filter:blur(26px) saturate(1.8);
 border:1px solid rgba(255,255,255,.13);box-shadow:0 28px 70px -28px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.14) inset,0 0 0 1px rgba(61,220,151,.05)}
#nav::before{content:"";position:absolute;left:8%;right:8%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#3ddc97,#548cff,transparent);opacity:.9;pointer-events:none}
#nav::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse 40% 120% at 12% 0,rgba(84,140,255,.18),transparent 70%)}
#nav.s{background:linear-gradient(135deg,rgba(5,13,34,.94),rgba(9,24,58,.9));top:10px}
#nav .logo{position:relative;z-index:1;background:#fff;border-radius:14px;padding:4px 12px;box-shadow:0 8px 24px -10px rgba(84,140,255,.6),0 0 0 1px rgba(255,255,255,.5) inset}#nav .logo img{height:40px;display:block}
#nav ul{gap:4px;position:relative;z-index:1}
#nav ul a{position:relative;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:600;letter-spacing:.02em;color:rgba(226,236,255,.72);background:none}
#nav ul a::after{content:"";position:absolute;left:50%;bottom:4px;width:0;height:2px;border-radius:2px;background:linear-gradient(90deg,#3ddc97,#548cff);transform:translateX(-50%);transition:width .3s}
#nav ul a:hover{color:#fff;background:rgba(255,255,255,.07)}#nav ul a:hover::after{width:18px}
#nav ul a.on{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));box-shadow:0 0 0 1px rgba(255,255,255,.1) inset}#nav ul a.on::after{width:22px;box-shadow:0 0 10px #3ddc97}
#nav>.btn{position:relative;z-index:1;border-radius:14px;padding:12px 22px;font-weight:700;font-size:13px;letter-spacing:.03em;color:#fff;border:0;background:linear-gradient(100deg,#0fa968,#1457e6);box-shadow:0 12px 30px -10px rgba(20,87,230,.8),0 1px 0 rgba(255,255,255,.3) inset;overflow:hidden}
#nav>.btn::before{display:none}
#nav>.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);animation:navShine 4.5s ease-in-out infinite}
@keyframes navShine{0%,60%{left:-60%}100%{left:140%}}
.burger{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;width:44px;height:44px;position:relative;z-index:1}
@media(max-width:960px){#nav ul{background:rgba(6,15,38,.97);border:1px solid rgba(255,255,255,.12);border-radius:20px;top:76px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}#nav ul a{padding:13px 16px}#nav{padding:8px 10px 8px 16px}}
/* ---- 3D banner backdrop ---- */
.hero .bgc{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.65) 42%,#000 68%);mask-image:linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.65) 42%,#000 68%)}
@media(max-width:960px){.hero .bgc{-webkit-mask-image:none;mask-image:none;opacity:.55}}

/* ---- 3D stats rail in the banner ---- */
@media(min-width:961px){.hero .wrap{max-width:1320px}.hero .hgrid{grid-template-columns:minmax(540px,.86fr) minmax(0,1.14fr);gap:40px}}
.stagewrap{display:flex;gap:18px;align-items:stretch;min-width:0}.stagewrap .stagecard{flex:1;min-width:0}
.hrail{position:relative;width:122px;flex:none;display:flex;flex-direction:column;gap:14px;perspective:900px;--rx:0deg;--ry:0deg}
.hr-line{position:absolute;left:-11px;top:8%;bottom:8%;width:1px;background:linear-gradient(180deg,transparent,rgba(84,140,255,.7),rgba(61,220,151,.7),transparent)}
.hr-line i{position:absolute;left:-3px;width:7px;height:7px;border-radius:50%;background:#3ddc97;box-shadow:0 0 14px 3px rgba(61,220,151,.9);animation:hrDot 3.6s ease-in-out infinite}
@keyframes hrDot{0%{top:0;opacity:0}15%,85%{opacity:1}100%{top:calc(100% - 7px);opacity:0}}
.hr-t{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:14px 14px 12px;border-radius:22px;overflow:hidden;transform-style:preserve-3d;
 background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 box-shadow:0 30px 50px -28px #000,inset 0 1px 0 rgba(255,255,255,.22),0 0 0 1px rgba(84,140,255,.08);
 transform:rotateX(var(--rx)) rotateY(calc(-14deg + var(--ry)));opacity:0;animation:hrIn .9s cubic-bezier(.2,.9,.15,1) forwards,hrFloat 5s ease-in-out infinite alternate;animation-delay:calc(.9s + var(--d)*.16s),calc(1.8s + var(--d)*.4s);transition:transform .35s}
@keyframes hrIn{from{opacity:0;transform:translate3d(40px,0,-160px) rotateY(-70deg)}to{opacity:1;transform:rotateX(var(--rx)) rotateY(calc(-14deg + var(--ry)))}}
@keyframes hrFloat{from{translate:0 0}to{translate:0 -6px}}
.hr-t:hover{transform:rotateX(var(--rx)) rotateY(0deg) translateZ(18px)}
.hr-t::before{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;background:linear-gradient(180deg,transparent,rgba(61,220,151,.22),transparent);animation:hrScan 4.2s linear infinite;animation-delay:calc(var(--d)*.9s);pointer-events:none}
@keyframes hrScan{to{top:110%}}
.hr-t svg{width:22px;height:22px;fill:none;stroke:#3ddc97;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(61,220,151,.7));transform:translateZ(30px)}
.hr-t:nth-of-type(2) svg{stroke:#7fb0ff;filter:drop-shadow(0 0 6px rgba(84,140,255,.8))}
.hr-t b{display:block;margin-top:6px;font:800 clamp(30px,2.5vw,40px)/1 'Plus Jakarta Sans',sans-serif;letter-spacing:-.04em;background:linear-gradient(100deg,#fff,#8fe9c0);-webkit-background-clip:text;background-clip:text;color:transparent;transform:translateZ(44px);font-variant-numeric:tabular-nums}
.hr-t em{font:700 10.5px 'Space Grotesk',sans-serif;font-style:normal;letter-spacing:.22em;text-transform:uppercase;color:#a9c0f5;transform:translateZ(24px)}
.hr-ring{position:absolute;right:-16px;top:-16px;width:62px;height:62px;border-radius:50%;background:conic-gradient(from 0deg,rgba(61,220,151,0),#3ddc97,#548cff,rgba(84,140,255,0));-webkit-mask:radial-gradient(circle,transparent 52%,#000 54%,#000 66%,transparent 68%);mask:radial-gradient(circle,transparent 52%,#000 54%,#000 66%,transparent 68%);animation:hrSpin 5s linear infinite;opacity:.85}
@keyframes hrSpin{to{transform:rotate(360deg)}}
.hr-bars{display:flex;align-items:flex-end;gap:3px;height:16px;margin-top:8px}
.hr-bars u{width:4px;border-radius:2px;background:linear-gradient(180deg,#3ddc97,#548cff);height:100%;transform-origin:bottom;animation:hrBar 1.4s ease-in-out infinite}
.hr-bars u:nth-child(2){animation-delay:.2s}.hr-bars u:nth-child(3){animation-delay:.45s}.hr-bars u:nth-child(4){animation-delay:.1s}.hr-bars u:nth-child(5){animation-delay:.35s}
@keyframes hrBar{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
@media(max-width:960px){.stagewrap{flex-direction:column}.hrail{width:auto;flex-direction:row;gap:10px}.hr-line{display:none}.hr-t{padding:12px 10px;transform:none;animation:hrIn2 .8s forwards;animation-delay:calc(.5s + var(--d)*.12s)}.hr-t:hover{transform:none}.hr-t b{font-size:26px}.hr-t em{font-size:9px;letter-spacing:.14em}.hr-ring{width:48px;height:48px}}
@keyframes hrIn2{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hr-t{animation:none;opacity:1}}

/* ---- Membership / Member Login page ---- */
.mship{position:relative;min-height:100vh;display:grid;place-items:center;padding:130px 18px 70px;overflow:hidden;color:#fff;
 background:radial-gradient(ellipse 60% 55% at 78% 20%,#15388a,transparent 70%),radial-gradient(ellipse 50% 55% at 8% 100%,rgba(15,169,104,.38),transparent 70%),#050d24}
.mship canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.8}
.mcard-wrap{position:relative;z-index:2;width:min(880px,100%);perspective:1400px}
.mcard{position:relative;border-radius:34px;background:#fff;color:#0b1f45;overflow:hidden;transform-style:preserve-3d;transform:rotateX(var(--mrx,0deg)) rotateY(var(--mry,0deg));transition:transform .25s ease-out;animation:mIn 1s cubic-bezier(.2,.9,.15,1) both;
 box-shadow:0 60px 120px -40px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.22),0 0 90px -20px rgba(61,220,151,.35)}
@keyframes mIn{from{opacity:0;transform:translateY(50px) rotateX(14deg) scale(.96)}to{opacity:1}}
.mcard::before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:36px;z-index:-1;background:conic-gradient(from var(--ma,0deg),#3ddc97,#548cff,#0b1f45,#3ddc97);animation:mSpin 6s linear infinite}
@property --ma{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes mSpin{to{--ma:360deg}}
.mhead{position:relative;padding:44px 48px 40px;overflow:hidden;background:radial-gradient(ellipse 60% 120% at 80% 0,rgba(61,220,151,.28),transparent 60%),linear-gradient(120deg,#07163a,#10306f 60%,#0b4a52)}
.mhead::after{content:"";position:absolute;top:0;left:-50%;width:35%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent);transform:skewX(-20deg);animation:navShine 6s ease-in-out infinite}
.mlogo{position:absolute;right:48px;top:50%;height:96px;width:auto;transform:translateY(-50%) translateZ(40px);opacity:.42;filter:drop-shadow(0 8px 24px rgba(61,220,151,.5));animation:mFloat 5s ease-in-out infinite alternate}
@keyframes mFloat{to{transform:translateY(-58%) translateZ(40px)}}
.mk{display:flex;align-items:center;gap:9px;color:#3ddc97;font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.2em;text-transform:uppercase}.mk svg{width:17px;height:17px}
.mhead h1{margin:14px 0 8px;font:800 clamp(34px,4.6vw,52px)/1 'Plus Jakarta Sans',sans-serif;letter-spacing:-.03em;text-transform:uppercase;color:#fff}
.mhead p{margin:0;color:rgba(224,234,255,.82);font:500 16px/1.5 'Plus Jakarta Sans',sans-serif}
.mbody{padding:40px 48px 44px;background:linear-gradient(180deg,#fff,#f6f9ff)}
.mtabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:6px;border-radius:999px;background:#eaf0fb;box-shadow:inset 0 2px 6px rgba(11,31,69,.08)}
.mtabs .mind{position:absolute;top:6px;bottom:6px;left:6px;width:calc(50% - 6px);border-radius:999px;background:#fff;box-shadow:0 8px 22px -8px rgba(20,87,230,.45),0 0 0 1px rgba(20,87,230,.08);transition:transform .45s cubic-bezier(.3,1.2,.4,1)}
.mtabs[data-on=otp] .mind{transform:translateX(100%)}
.mtabs button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:9px;padding:15px;border:0;background:none;cursor:pointer;font:700 14px 'Plus Jakarta Sans',sans-serif;color:#7c8aa8;transition:color .3s}
.mtabs button svg{width:16px;height:16px}.mtabs button.on{color:#0b1f45}.mtabs button.on svg{color:#0fa968}
.mpanel{display:none;margin-top:34px;animation:mPan .5s cubic-bezier(.2,.9,.2,1)}.mpanel.on{display:block}
@keyframes mPan{from{opacity:0;transform:translateY(14px)}}
.mf{margin-bottom:22px}.mf label{display:block;margin-bottom:10px;font:700 14px 'Plus Jakarta Sans',sans-serif;color:#0b1f45}.mf label b{color:#0fa968}
.mi{position:relative;display:flex;align-items:center}
.mi>svg{position:absolute;left:18px;width:18px;height:18px;color:#8896b3;pointer-events:none;transition:color .25s}
.mi input{width:100%;height:58px;padding:0 54px 0 52px;border-radius:16px;border:1px solid #d9e3f6;background:#edf3ff;color:#0b1f45;font:500 16px 'Plus Jakarta Sans',sans-serif;transition:.25s}
.mi input::placeholder{color:#97a4bf}
.mi input:focus{outline:0;background:#fff;border-color:#3b7bff;box-shadow:0 0 0 4px rgba(59,123,255,.16),0 14px 30px -14px rgba(20,87,230,.5)}
.mi:focus-within>svg{color:#1457e6}
.meye{position:absolute;right:10px;width:40px;height:40px;border:0;border-radius:12px;background:none;color:#8896b3;cursor:pointer;display:grid;place-items:center;transition:.2s}.meye svg{width:20px;height:20px}.meye:hover,.meye.on{color:#0fa968;background:rgba(15,169,104,.1)}
.mrow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px;flex-wrap:wrap}
.mlink{color:#0a7a4c;font:700 14px 'Plus Jakarta Sans',sans-serif;text-decoration:none;border-bottom:2px solid rgba(10,122,76,.35);padding-bottom:2px;transition:.2s}.mlink:hover{border-color:#0fa968;color:#0fa968}
.mbtn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 32px;border:0;border-radius:999px;cursor:pointer;color:#fff;font:800 15px 'Plus Jakarta Sans',sans-serif;background:linear-gradient(100deg,#0fa968,#1457e6);box-shadow:0 18px 38px -14px rgba(20,87,230,.75),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .25s,box-shadow .25s}
.mbtn svg{width:19px;height:19px}.mbtn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-20deg);animation:navShine 4.5s ease-in-out infinite}
.mbtn:hover{transform:translateY(-3px);box-shadow:0 26px 44px -14px rgba(20,87,230,.85)}.mbtn:active{transform:none}
.mpanel .msg{margin-top:18px;min-height:20px;font:600 14px 'Plus Jakarta Sans',sans-serif;color:#5a6a8a}
.mnew{margin:26px 0 0;text-align:center;color:#7c8aa8;font:500 14.5px 'Plus Jakarta Sans',sans-serif}.mnew a{color:#0a7a4c;font-weight:800;text-decoration:none}.mnew a:hover{color:#0fa968}
@media(max-width:640px){.mship{padding-top:112px}.mhead{padding:32px 24px 28px}.mbody{padding:28px 22px 32px}.mrow{flex-direction:column-reverse;align-items:stretch;gap:20px}.mbtn{justify-content:center}.mlink{align-self:center}}
@media(prefers-reduced-motion:reduce){.mcard,.mcard::before,.mhead::after,.mlogo,.mbtn::after{animation:none}}

/* ---- Membership v2: split-screen dark glass ---- */
.mship canvas{opacity:.25}
.mcard-wrap{width:min(1040px,100%)}
.mcard{display:grid;grid-template-columns:.92fr 1.08fr;background:rgba(7,16,40,.66);-webkit-backdrop-filter:blur(26px) saturate(1.5);-webkit-backdrop-filter:blur(26px) saturate(1.5);backdrop-filter:blur(26px) saturate(1.5);color:#fff;border-radius:36px}
.mcard::before{top:0;right:0;bottom:0;left:0;z-index:6;border-radius:inherit;padding:2px;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.mhead{display:flex;flex-direction:column;justify-content:flex-end;min-height:560px;padding:44px 40px;background:radial-gradient(ellipse 80% 55% at 30% 22%,rgba(61,220,151,.32),transparent 65%),radial-gradient(ellipse 70% 60% at 95% 100%,rgba(84,140,255,.38),transparent 65%),linear-gradient(165deg,#07163a,#0c2a66 68%,#0a4a55)}
.mhead::after{display:none}
.mhead::before{content:"";position:absolute;left:50%;top:34%;width:250px;height:250px;margin:-125px 0 0 -125px;border-radius:50%;border:1px dashed rgba(143,233,192,.45);box-shadow:0 0 0 38px rgba(255,255,255,.012),0 0 0 39px rgba(84,140,255,.28),0 0 0 78px rgba(255,255,255,.008),0 0 0 79px rgba(61,220,151,.2);animation:mRing 24s linear infinite;pointer-events:none}
@keyframes mRing{to{transform:rotate(360deg)}}
@keyframes mFloat2{to{transform:translate(-50%,-56%) translateZ(60px)}}
.mhead h1{font-size:clamp(34px,3.8vw,48px)}
.mbody{display:flex;flex-direction:column;justify-content:center;padding:44px 44px 40px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.01));border-left:1px solid rgba(255,255,255,.1)}
.mtabs{background:rgba(255,255,255,.07);box-shadow:inset 0 2px 8px rgba(0,0,0,.35)}
.mtabs .mind{background:linear-gradient(100deg,#0fa968,#1457e6);box-shadow:0 10px 26px -8px rgba(20,87,230,.8)}
.mtabs button{color:#9db4ee}.mtabs button.on{color:#fff}.mtabs button.on svg{color:#fff}
.mpanel{margin-top:30px}
.mf label{color:#e3ecff}.mf label b{color:#3ddc97}
.mi>svg{color:#7f95c9}
.mi input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#fff}
.mi input::placeholder{color:#7f92bd}
.mi input:focus{background:rgba(255,255,255,.1);border-color:#3ddc97;box-shadow:0 0 0 4px rgba(61,220,151,.16),0 0 34px -6px rgba(61,220,151,.55)}
.mi:focus-within>svg{color:#3ddc97}
.mi input:-webkit-autofill{-webkit-text-fill-color:#fff;box-shadow:0 0 0 60px #12295e inset}
.meye{color:#7f95c9}.meye:hover,.meye.on{color:#3ddc97;background:rgba(61,220,151,.12)}
.mlink{color:#3ddc97;border-color:rgba(61,220,151,.4)}.mlink:hover{color:#fff;border-color:#fff}
.mpanel .msg{color:#b8c8ee}
.mnew{color:#9db4ee}.mnew a{color:#3ddc97}.mnew a:hover{color:#fff}
@media(max-width:860px){.mcard{grid-template-columns:1fr}.mhead{min-height:300px;padding:30px 26px}.mhead::before{top:34%;width:160px;height:160px;margin:-80px 0 0 -80px;box-shadow:0 0 0 24px rgba(255,255,255,.025),0 0 0 25px rgba(84,140,255,.25)}.mbody{padding:30px 24px 34px;border-left:0;border-top:1px solid rgba(255,255,255,.1)}}

/* ---- Membership v3: white logo disc, softer 3D backdrop, all screens ---- */
.mship canvas{opacity:.25}
.mlogo{width:176px;height:176px;object-fit:contain;padding:26px;border-radius:50%;background:#fff;filter:none;box-shadow:0 0 0 6px rgba(255,255,255,.18),0 0 50px 6px rgba(61,220,151,.55),0 24px 50px -16px rgba(0,0,0,.6)}
.mship{min-height:100vh;min-height:100dvh}
/* tablet landscape / small laptop */
@media(max-width:1100px) and (min-width:861px){.mcard-wrap{width:min(940px,100%)}.mhead{padding:36px 30px}.mbody{padding:38px 32px}}
/* tablet portrait */
@media(max-width:860px) and (min-width:641px){.mship{padding:120px 28px 60px}.mcard-wrap{width:min(680px,100%)}.mhead{min-height:340px}.mlogo{width:150px;height:150px;padding:22px;top:36%}.mhead::before{width:210px;height:210px;margin:-105px 0 0 -105px;top:36%}.mbody{padding:38px 40px 42px}.mi input{height:62px;font-size:17px}.mbtn{height:60px}}
/* phones */
@media(max-width:640px){.mlogo{width:104px;height:104px;padding:16px;top:36%}.mhead::before{top:36%;width:150px;height:150px;margin:-75px 0 0 -75px}.mhead{min-height:290px;padding:26px 22px}.mi input{font-size:16px}}
@media(max-width:380px){.mbody{padding:24px 16px 28px}.mhead h1{font-size:30px}.mtabs button{font-size:13px;padding:13px 6px;gap:6px}}
/* landscape phones / short screens */
@media(max-height:520px) and (orientation:landscape){.mship{padding:92px 20px 24px;align-items:start}.mcard-wrap{width:min(900px,100%)}.mcard{grid-template-columns:.8fr 1.2fr}.mhead{min-height:0;padding:22px}.mhead::before{display:none}.mlogo{position:relative;left:auto;top:auto;transform:none;width:84px;height:84px;padding:12px;margin-bottom:14px;animation:none}.mhead h1{font-size:28px;margin:10px 0 6px}.mhead p{font-size:14px}.mbody{padding:22px 26px}.mpanel{margin-top:18px}.mf{margin-bottom:14px}.mi input{height:50px}.mbtn{height:50px}.mnew{margin-top:14px}}
/* large desktop */
@media(min-width:1500px){.mcard-wrap{width:min(1120px,100%)}}
/* TV / 4K: scale the whole card up for 10-foot viewing */
@media(min-width:1900px){.mship{padding-top:170px}.mcard-wrap{width:min(1380px,92vw)}.mcard{border-radius:44px}.mhead{min-height:680px;padding:56px 54px}.mhead::before{width:320px;height:320px;margin:-160px 0 0 -160px}.mlogo{width:230px;height:230px;padding:34px}.mk{font-size:15px}.mhead h1{font-size:64px}.mhead p{font-size:20px}.mbody{padding:60px 64px}.mtabs button{font-size:18px;padding:20px}.mtabs button svg{width:20px;height:20px}.mf label{font-size:18px}.mi input{height:72px;font-size:20px;border-radius:20px;padding-left:64px}.mi>svg{width:22px;height:22px;left:22px}.mbtn{height:70px;font-size:19px;padding:0 44px}.mlink{font-size:18px}.mnew{font-size:18px}.mpanel .msg{font-size:17px}}
@media(min-width:2500px){.mcard-wrap{width:min(1900px,92vw)}.mhead{min-height:900px;padding:76px 72px}.mhead::before{width:420px;height:420px;margin:-210px 0 0 -210px}.mlogo{width:300px;height:300px;padding:44px}.mk{font-size:20px}.mhead h1{font-size:88px}.mhead p{font-size:27px}.mbody{padding:84px 90px}.mtabs button{font-size:24px;padding:26px}.mf label{font-size:24px}.mi input{height:96px;font-size:27px;padding-left:84px}.mi>svg{width:28px;height:28px}.mbtn{height:92px;font-size:25px;padding:0 60px}.mlink,.mnew,.mpanel .msg{font-size:23px}}

/* ---- responsive fixes: tablet nav, landscape phones, phones, TV nav ---- */
@media(min-width:961px) and (max-width:1180px){#nav ul{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;background:rgba(6,15,38,.97);padding:14px;border-radius:20px;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}#nav ul.open{display:flex}.burger{display:block}#nav>.btn{display:none}#nav ul a{padding:13px 16px}}
@media(max-width:640px){.mhead{min-height:380px}.mlogo,.mhead::before{top:30%}}
@media(max-height:520px) and (orientation:landscape){.mhead{justify-content:flex-start}}
@media(min-width:1900px){#nav{width:min(1700px,calc(100% - 60px));top:26px;padding:12px 14px 12px 30px}#nav .logo img{height:54px}#nav ul a{font-size:16px;padding:13px 20px}#nav>.btn{font-size:16px;padding:16px 30px}}
@media(min-width:2500px){#nav{width:min(2500px,calc(100% - 100px));top:40px;padding:16px 20px 16px 40px;border-radius:30px}#nav .logo img{height:76px}#nav ul a{font-size:23px;padding:17px 28px;border-radius:16px}#nav>.btn{font-size:23px;padding:22px 42px;border-radius:20px}.mship{padding-top:260px}.mcard-wrap{width:min(2300px,72vw)}}

/* ---- v3: white logo disc centred, fainter background, all-device scaling ---- */
.mship canvas{opacity:.25}
.mhead::before,.mlogo{display:none}
.mdisc{position:absolute;left:50%;top:34%;width:196px;height:196px;margin:-98px 0 0 -98px;border-radius:50%;background:#fff;display:grid;place-items:center;
 box-shadow:0 0 0 12px rgba(255,255,255,.12),0 0 0 13px rgba(143,233,192,.5),0 0 0 44px rgba(255,255,255,.04),0 0 0 45px rgba(84,140,255,.3),0 0 60px 6px rgba(61,220,151,.45),0 24px 50px -10px rgba(0,0,0,.5);animation:mDisc 5s ease-in-out infinite alternate}
.mdisc img{width:62%;height:62%;object-fit:contain;display:block}
@keyframes mDisc{from{box-shadow:0 0 0 12px rgba(255,255,255,.12),0 0 0 13px rgba(143,233,192,.5),0 0 0 44px rgba(255,255,255,.04),0 0 0 45px rgba(84,140,255,.3),0 0 40px 2px rgba(61,220,151,.35),0 24px 50px -10px rgba(0,0,0,.5)}to{box-shadow:0 0 0 16px rgba(255,255,255,.16),0 0 0 17px rgba(143,233,192,.6),0 0 0 52px rgba(255,255,255,.05),0 0 0 53px rgba(84,140,255,.4),0 0 80px 10px rgba(61,220,151,.55),0 24px 50px -10px rgba(0,0,0,.5)}}
@media(max-width:860px){.mdisc{width:128px;height:128px;margin:-64px 0 0 -64px;top:36%;box-shadow:0 0 0 8px rgba(255,255,255,.12),0 0 0 9px rgba(143,233,192,.5),0 0 0 28px rgba(255,255,255,.04),0 0 0 29px rgba(84,140,255,.3),0 0 40px 4px rgba(61,220,151,.4)}.mhead{min-height:390px}}

/* ---- v4: tablet / mobile-desktop-site / TV scaling ---- */
@media(min-width:961px) and (max-width:1100px){
 .hero{padding:112px 0 56px}.hero .hgrid{grid-template-columns:1fr;gap:36px}.hero .copy{max-width:none}
 .stagewrap{flex-direction:column;max-width:680px;width:100%;margin:0 auto}.stagecard{aspect-ratio:1/1}
 .hrail{width:auto;flex-direction:row;gap:12px}.hr-line{display:none}
 .hr-t{padding:12px 12px;transform:none;animation:hrIn2 .8s forwards;animation-delay:calc(.5s + var(--d)*.12s)}.hr-t:hover{transform:none}
 .hr-t b{font-size:30px}.hr-ring{width:52px;height:52px}
}
@media(max-width:960px){.stagewrap{max-width:640px;width:100%;margin:0 auto}}
@media(min-width:1800px){.hero{padding:150px 0 90px}.wrap,.hero .wrap{max-width:1560px}#nav{width:min(1500px,calc(100% - 48px))}.hero .hgrid{grid-template-columns:minmax(600px,.9fr) minmax(0,1.1fr)}.hero h1{font-size:clamp(70px,5vw,118px)}.hero .lead{font-size:21px}.mcard-wrap{width:min(1180px,100%)}}
@media(min-width:2400px){.wrap,.hero .wrap{max-width:1900px}#nav{width:min(1840px,calc(100% - 48px))}.hero h1{font-size:clamp(100px,4.6vw,150px)}.mcard-wrap{width:min(1360px,100%)}.mhead h1{font-size:60px}.mi input{height:66px;font-size:18px}.mbtn{height:64px;font-size:17px}}
@media (hover:none){.hr-t:hover{transform:none}}

/* ---- Become a Member wizard + Email verification ---- */
.bm .mcard-wrap,.bm-wrap{width:min(1060px,100%)}
.bm-wrap.ve{width:min(760px,100%)}
.bm-card{--u:1;display:block}
.bm-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:28px;min-height:0;padding:calc(40px*var(--u)) calc(48px*var(--u));background:radial-gradient(ellipse 70% 140% at 12% 0,rgba(61,220,151,.30),transparent 62%),radial-gradient(ellipse 60% 120% at 100% 100%,rgba(84,140,255,.40),transparent 65%),linear-gradient(120deg,#07163a,#0c2a66 66%,#0a4a55)}
.bm-head::before{display:none}
.bm-head h1{margin:12px 0 8px;font-size:calc(clamp(32px,4.2vw,48px)*var(--u))}
.bm-head p{max-width:560px;font-size:calc(16px*var(--u))}
.bm-head .mk{font-size:calc(12px*var(--u))}
.bm-disc{position:relative;flex:none;width:calc(120px*var(--u));height:calc(120px*var(--u));border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 6px rgba(255,255,255,.14),0 0 0 7px rgba(143,233,192,.5),0 0 0 22px rgba(255,255,255,.035),0 0 44px 4px rgba(61,220,151,.45),0 20px 40px -16px rgba(0,0,0,.6);animation:bmFl 5s ease-in-out infinite alternate}
.bm-disc img{width:64%;height:64%;object-fit:contain;display:block}
@keyframes bmFl{to{transform:translateY(-7px)}}
.bm-body{display:block;padding:calc(34px*var(--u)) calc(48px*var(--u)) calc(40px*var(--u));border-left:0;border-top:1px solid rgba(255,255,255,.1)}
/* stepper */
.bm-steps{list-style:none;display:flex;align-items:flex-start;margin:0 0 calc(34px*var(--u));padding:0}
.bm-steps li{display:flex;flex-direction:column;align-items:center;gap:9px;position:relative;z-index:1}
.bm-steps li.ln{flex:1;margin-top:calc(22px*var(--u));padding:0 12px}.bm-steps li.ln i{display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.12);position:relative;overflow:hidden;width:100%}
.bm-steps li.ln i::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#3ddc97,#548cff);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.3,.9,.3,1)}
.bm-steps li.ln.on i::after{transform:none}
.bm-steps .dot{position:relative;width:calc(46px*var(--u));height:calc(46px*var(--u));border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#8da3d6;transition:.4s}
.bm-steps .dot svg{width:calc(20px*var(--u));height:calc(20px*var(--u))}.bm-steps .d-c{display:none}
.bm-steps em{font:700 calc(11.5px*var(--u)) 'Space Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:#7f92bd;transition:.3s}
.bm-steps li.cur .dot{background:linear-gradient(135deg,#0fa968,#1457e6);color:#fff;border-color:transparent;box-shadow:0 0 0 5px rgba(61,220,151,.16),0 0 30px -2px rgba(61,220,151,.7)}
.bm-steps li.cur em{color:#fff}
.bm-steps li.done .dot{background:#0fa968;color:#fff;border-color:transparent}.bm-steps li.done .d-i{display:none}.bm-steps li.done .d-c{display:block}.bm-steps li.done em{color:#3ddc97}
.bm-steps li[data-i]{cursor:pointer}
/* panels */
.bm-p{display:none;padding:0;margin:0;background:none}.bm-p.on{display:block;animation:mPan .5s cubic-bezier(.2,.9,.2,1)}
.bm-p h2{margin:0;font:800 calc(22px*var(--u))/1.1 'Plus Jakarta Sans',sans-serif;letter-spacing:-.01em;text-transform:uppercase;color:#fff}
.bm-sub{margin:7px 0 0;color:#9db4ee;font:500 calc(14.5px*var(--u)) 'Plus Jakarta Sans',sans-serif}
.bm-rule{height:1px;margin:calc(20px*var(--u)) 0 calc(26px*var(--u));background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.04))}
.bm-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 calc(24px*var(--u))}
.bm-g.t3{grid-template-columns:repeat(3,minmax(0,1fr))}.bm-g.one{grid-template-columns:1fr}
.bm-card .mf{margin-bottom:calc(22px*var(--u));position:relative}
.bm-card .mf label{font-size:calc(14px*var(--u))}
.bm-card .mi input,.bm-card .mi select{width:100%;height:calc(56px*var(--u));padding:0 calc(52px*var(--u)) 0 calc(50px*var(--u));border-radius:calc(16px*var(--u));border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font:500 calc(16px*var(--u)) 'Plus Jakarta Sans',sans-serif;transition:.25s;appearance:none;-webkit-appearance:none;color-scheme:dark}
.bm-card .mi select{cursor:pointer;color:#fff}.bm-card .mi select:invalid{color:#7f92bd}.bm-card .mi select option{background:#0c1d47;color:#fff}
.bm-card .mi input[readonly]{background:rgba(255,255,255,.035);color:#cfe0ff;cursor:default}
.bm-card .mi input::placeholder{color:#7f92bd}
.bm-card .mi input:focus,.bm-card .mi select:focus{outline:0;background:rgba(255,255,255,.1);border-color:#3ddc97;box-shadow:0 0 0 4px rgba(61,220,151,.16),0 0 34px -6px rgba(61,220,151,.55)}
.bm-card .mi>svg{width:calc(18px*var(--u));height:calc(18px*var(--u));left:calc(18px*var(--u))}
.bm-card .mi .sl{opacity:0}
.bm-card .meye{width:calc(40px*var(--u));height:calc(40px*var(--u))}.bm-card .meye svg{width:calc(20px*var(--u));height:calc(20px*var(--u))}.bm-card .meye.on .sl{opacity:1}
.bm-chev{position:absolute;right:calc(16px*var(--u));pointer-events:none;color:#9db4ee;display:grid}.bm-chev svg{width:calc(18px*var(--u));height:calc(18px*var(--u))}
.bm-card input[type=date]::-webkit-calendar-picker-indicator{opacity:.75;cursor:pointer;filter:invert(.85)}
.bm-card input[type=date]:invalid,.bm-card input[type=date]:not(:focus):not([value]){color:#cfe0ff}
.bm-card input:-webkit-autofill{-webkit-text-fill-color:#fff;box-shadow:0 0 0 60px #12295e inset}
/* valid / invalid */
.bm-f.ok .mi input,.bm-f.ok .mi select{border-color:rgba(61,220,151,.45)}
.bm-f.bad .mi input,.bm-f.bad .mi select{border-color:#ff6b7d;background:rgba(255,93,115,.08);box-shadow:0 0 0 4px rgba(255,93,115,.14)}
.bm-f.bad.shake .mi{animation:bmSh .45s}
@keyframes bmSh{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.bm-tip{position:absolute;right:6px;bottom:calc(100% + 12px);z-index:30;display:flex;align-items:center;gap:9px;width:max-content;max-width:min(320px,calc(100vw - 64px));padding:10px 14px 10px 11px;border-radius:12px;background:#fff;color:#0b1f45;font:700 calc(13px*var(--u))/1.35 'Plus Jakarta Sans',sans-serif;box-shadow:0 18px 40px -12px rgba(0,0,0,.65),0 0 0 1px rgba(255,93,115,.4);opacity:0;visibility:hidden;transform:translateY(6px) scale(.96);transform-origin:90% 100%;transition:opacity .22s,transform .22s,visibility .22s;pointer-events:none}
.bm-tip::before{content:"";flex:none;width:calc(18px*var(--u));height:calc(18px*var(--u));background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23ff5d73'/%3E%3Cpath d='M12 7v6M12 16.200v.3' stroke='%23fff' stroke-width='2.300' stroke-linecap='round'/%3E%3C/svg%3E")}
.bm-tip::after{content:"";position:absolute;right:22px;bottom:-6px;width:12px;height:12px;background:#fff;transform:rotate(45deg);border-radius:0 0 3px 0}
.bm-f.tp .bm-tip{opacity:1;visibility:visible;transform:none}
/* notes + actions */
.bm-note{display:flex;gap:12px;align-items:center;margin:calc(4px*var(--u)) 0 calc(26px*var(--u));padding:calc(14px*var(--u)) calc(18px*var(--u));border-radius:calc(14px*var(--u));background:linear-gradient(100deg,rgba(15,169,104,.18),rgba(20,87,230,.12));border:1px solid rgba(61,220,151,.35);color:#d5f7e8;font:500 calc(14px*var(--u))/1.45 'Plus Jakarta Sans',sans-serif}
.bm-note svg{flex:none;width:calc(18px*var(--u));height:calc(18px*var(--u));color:#3ddc97}
.bm-act{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:calc(10px*var(--u));padding-top:calc(26px*var(--u));border-top:1px solid rgba(255,255,255,.1)}
.bm-back{display:inline-flex;align-items:center;gap:10px;height:calc(56px*var(--u));padding:0 calc(28px*var(--u));border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.05);color:#e3ecff;font:700 calc(15px*var(--u)) 'Plus Jakarta Sans',sans-serif;cursor:pointer;transition:.25s}
.bm-back svg{width:calc(18px*var(--u));height:calc(18px*var(--u))}.bm-back:hover{background:rgba(255,255,255,.12);border-color:#3ddc97;color:#fff;transform:translateY(-2px)}
.bm-card .mbtn{height:calc(56px*var(--u));font-size:calc(15px*var(--u));padding:0 calc(32px*var(--u))}.bm-card .mbtn svg{width:calc(19px*var(--u));height:calc(19px*var(--u))}
.mbtn[aria-disabled=true]{opacity:.45;filter:grayscale(.7);cursor:not-allowed;box-shadow:none;transform:none}.mbtn[aria-disabled=true]::after{animation:none;display:none}.mbtn[aria-disabled=true]:hover{transform:none;box-shadow:none}
.mbtn.busy{pointer-events:none}.mbtn.busy svg{animation:bmSp .9s linear infinite}
@keyframes bmSp{to{transform:rotate(360deg)}}
.ve-act{align-items:flex-start;flex-wrap:wrap;margin-top:6px}.ve-act .msg{flex:1 1 220px;min-height:20px;margin:0;color:#b8c8ee;font:600 calc(14px*var(--u)) 'Plus Jakarta Sans',sans-serif;align-self:center}
.ve-btns{display:flex;gap:12px;flex-wrap:wrap;margin-left:auto}
/* success modal */
.bm-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:grid;place-items:center;padding:20px;background:rgba(2,7,22,.72);-webkit-backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:bmFade .3s}
.bm-modal[hidden]{display:none}
@keyframes bmFade{from{opacity:0}}
.bm-mc{position:relative;width:min(440px,100%);padding:44px 36px 36px;border-radius:30px;text-align:center;color:#fff;background:linear-gradient(170deg,rgba(16,40,98,.96),rgba(7,18,46,.97));box-shadow:0 50px 100px -30px #000,0 0 0 1px rgba(255,255,255,.16),0 0 80px -10px rgba(61,220,151,.45);animation:bmPop .55s cubic-bezier(.2,1.1,.3,1)}
@keyframes bmPop{from{opacity:0;transform:translateY(30px) scale(.9)}}
.bm-ring{width:92px;height:92px;margin:0 auto 22px;color:#3ddc97;filter:drop-shadow(0 0 18px rgba(61,220,151,.7))}
.bm-ring svg{width:100%;height:100%}.bm-ring circle{stroke-dasharray:145;stroke-dashoffset:145;animation:bmDr .8s .1s forwards}.bm-ring path{stroke-dasharray:48;stroke-dashoffset:48;animation:bmDr .5s .7s forwards}
@keyframes bmDr{to{stroke-dashoffset:0}}
.bm-mc h3{margin:0 0 8px;font:800 34px/1 'Space Grotesk',sans-serif;letter-spacing:-.01em}
.bm-mc p{margin:0 0 28px;color:#c3d3f7;font:500 16px/1.5 'Plus Jakarta Sans',sans-serif}
.bm-mc .mbtn{min-width:130px;justify-content:center}
body.bm-lock{overflow:hidden}
/* responsive */
@media(max-width:860px){.bm-head{padding:30px 26px}.bm-body{padding:28px 24px 32px}}
@media(max-width:760px){.bm-g.t3{grid-template-columns:1fr 1fr}.bm-g.t3 .bm-f:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:640px){
 .mship.bm{padding:104px 12px 48px}
 .bm-head{flex-direction:column-reverse;align-items:flex-start;gap:20px;padding:26px 22px}.bm-disc{width:92px;height:92px}
 .bm-body{padding:24px 18px 28px}.bm-g,.bm-g.t3{grid-template-columns:1fr}.bm-g.t3 .bm-f:last-child:nth-child(odd){grid-column:auto}
 .bm-steps em{font-size:10px;letter-spacing:.1em}.bm-steps li.ln{padding:0 6px}.bm-steps .dot{width:40px;height:40px}.bm-steps li.ln{margin-top:19px}
 .bm-act{flex-wrap:wrap}.bm-card .mbtn{padding:0 24px}.bm-back{padding:0 20px}
 .bm-p h2{font-size:20px}.bm-tip{right:0}.ve-btns{width:100%}.ve-btns>*{flex:1;justify-content:center}.ve-act .msg{order:-1;flex-basis:100%}
}
@media(max-width:380px){.bm-act{gap:10px}.bm-card .mbtn,.bm-back{height:50px;font-size:14px}.bm-body{padding:20px 14px 24px}}
@media(max-height:520px) and (orientation:landscape){.mship.bm{padding:92px 16px 24px;align-items:start}.bm-head{padding:18px 24px}.bm-disc{width:70px;height:70px}.bm-head h1{font-size:26px;margin:6px 0 4px}.bm-head p{display:none}}
@media(min-width:1900px){.bm-card{--u:1.3}.bm-wrap{width:min(1420px,92vw)}.bm-wrap.ve{width:min(1000px,92vw)}.mship.bm{padding-top:180px}}
@media(min-width:2500px){.bm-card{--u:1.7}.bm-wrap{width:min(1850px,80vw)}.bm-wrap.ve{width:min(1300px,70vw)}.mship.bm{padding-top:270px}}
@media(prefers-reduced-motion:reduce){.bm-disc,.bm-modal,.bm-mc,.bm-p.on,.bm-ring circle,.bm-ring path{animation:none}.bm-ring circle,.bm-ring path{stroke-dashoffset:0}}

/* 3D backdrop on login / become-a-member / verify: 35% less visible */
.mship canvas,.mship.bm canvas{opacity:.16!important}

/* Who we are: two-paragraph rhythm */
.who p{text-align:left;text-wrap:pretty;line-height:1.72}
.who p.who2{margin-bottom:32px}
@media(max-width:960px){.who p{max-width:640px}}

/* Who we are paragraph: justified */
.who p.who2{text-align:justify;text-justify:inter-word;hyphens:none;-webkit-hyphens:none;text-wrap:wrap}
@media(max-width:520px){.who p.who2{text-align:left;hyphens:none}}

/* ---- Family photo carousel: auto-moving 3D coverflow ---- */
.gcar{position:relative;width:100%;aspect-ratio:4/3.25;perspective:1500px;perspective-origin:50% 42%;user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:grab;clip-path:inset(-60px 0 -40px 0);overflow-x:clip}
.gcar:active{cursor:grabbing}
.gstage{position:absolute;top:0;right:0;bottom:34px;left:0;transform-style:preserve-3d}
.gcard{position:absolute;left:50%;top:50%;width:62%;aspect-ratio:4/3;margin:0;border-radius:24px;overflow:hidden;transform-style:preserve-3d;will-change:transform,opacity;
 background:#dfe8fb;box-shadow:0 36px 70px -26px rgba(10,26,63,.55),0 0 0 1px rgba(255,255,255,.6);
 transition:transform 1.15s cubic-bezier(.22,.8,.2,1),opacity .9s ease,filter .9s ease}
.gcard img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
.gcard::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,rgba(255,255,255,.28),transparent 38%,rgba(0,20,60,.12));pointer-events:none;opacity:var(--gl,.7)}
.gcard .gcap{position:absolute;left:16px;bottom:16px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#0b1f45;font:700 13px 'Plus Jakarta Sans',sans-serif;letter-spacing:.01em;box-shadow:0 10px 24px -10px rgba(10,26,63,.45);transition:opacity .6s .15s,transform .6s .15s}
.gcard:not(.on) .gcap{opacity:0;transform:translateY(8px)}
.gcard.on::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 2px rgba(61,220,151,.0);animation:gGlow 3.5s ease-in-out infinite}
@keyframes gGlow{50%{box-shadow:inset 0 0 0 2px rgba(61,220,151,.55)}}
.gdots{position:absolute;left:0;right:0;bottom:6px;display:flex;justify-content:center;gap:9px}
.gdots button{width:9px;height:9px;padding:0;border:0;border-radius:99px;background:rgba(11,31,69,.22);cursor:pointer;transition:.45s}
.gdots button.on{width:30px;background:linear-gradient(90deg,#0fa968,#1457e6)}
@media(max-width:960px){.who>.gcar{max-width:640px;margin:0 auto}}
@media(max-width:520px){.gcard{width:70%;border-radius:18px}.gcard .gcap{left:10px;bottom:10px;padding:8px 13px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.gcard{transition:none}.gcard.on::before{animation:none}}

/* ---- About: sizing, justify, wide carousel ---- */
[data-v=about] .phero h1{font-size:clamp(38px,5.6vw,84px);margin:20px 0 22px}
[data-v=about] .phero p.lead{text-align:justify;text-align-last:left;hyphens:none;max-width:820px}
[data-v=about] .twocol p{text-align:justify;hyphens:none;line-height:1.72}
.gcar.wide{aspect-ratio:16/6.3;width:100%;max-width:1180px;margin:46px auto 0}.gcar.wide .gcard{width:41%}
@media(max-width:760px){.gcar.wide{aspect-ratio:4/3.2}.gcar.wide .gcard{width:72%}}
/* ---- Run / Inspire / Impact: 3D glass cards ---- */
.trio3d{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;perspective:1600px}
.t3w{perspective:1200px}
.t3{--rx:0deg;--ry:0deg;--mx:50%;--my:30%;position:relative;min-height:400px;padding:34px 32px 32px;border-radius:30px;display:flex;flex-direction:column;justify-content:space-between;gap:26px;overflow:hidden;color:#fff;transform-style:preserve-3d;
 transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;
 box-shadow:0 40px 70px -34px rgba(8,22,58,.7),0 0 0 1px rgba(255,255,255,.14) inset}
.t3-1{background:radial-gradient(120% 90% at 85% 0,rgba(130,255,200,.4),transparent 55%),linear-gradient(150deg,#0fa968,#0d6f9d 60%,#1457e6)}
.t3-2{background:radial-gradient(120% 90% at 15% 0,rgba(120,170,255,.5),transparent 55%),linear-gradient(150deg,#1457e6,#2a3fb5 60%,#0f2c7a)}
.t3-3{background:radial-gradient(120% 90% at 85% 0,rgba(61,220,151,.3),transparent 55%),linear-gradient(150deg,#0b1f45,#0a2c5e 60%,#0a4a55)}
.t3::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.5px;pointer-events:none;background:conic-gradient(from var(--ma,0deg),rgba(255,255,255,.7),rgba(255,255,255,0) 30%,rgba(143,233,192,.8) 55%,rgba(255,255,255,0) 80%,rgba(255,255,255,.7));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:mSpin 7s linear infinite}
.t3::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,.22),transparent 55%);opacity:0;transition:opacity .3s}
.t3:hover::after{opacity:1}.t3:hover{box-shadow:0 60px 90px -36px rgba(8,22,58,.85),0 0 60px -10px rgba(61,220,151,.35),0 0 0 1px rgba(255,255,255,.2) inset}
.t3-orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;transform:translateZ(20px)}
.t3-orb.o1{width:170px;height:170px;right:-50px;top:-40px;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.45),rgba(255,255,255,.04) 65%);animation:t3o 7s ease-in-out infinite alternate}
.t3-orb.o2{width:90px;height:90px;left:38%;bottom:30%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.3),rgba(255,255,255,0) 70%);animation:t3o 9s 1s ease-in-out infinite alternate-reverse}
@keyframes t3o{to{transform:translate3d(-14px,18px,40px) scale(1.12)}}
.t3-shine{position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-20deg);animation:navShine 6.5s ease-in-out infinite;pointer-events:none}
.t3-n{position:relative;z-index:1;font:800 clamp(64px,6vw,92px)/1 'Plus Jakarta Sans',sans-serif;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.75);transform:translateZ(46px);text-shadow:0 0 40px rgba(255,255,255,.15)}
.t3-ic{position:absolute;right:28px;top:30px;width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateZ(70px);box-shadow:0 18px 30px -12px rgba(0,0,0,.45);animation:t3f 5s ease-in-out infinite alternate}
.t3-2 .t3-ic{animation-delay:.8s}.t3-3 .t3-ic{animation-delay:1.6s}
@keyframes t3f{to{transform:translateZ(90px) translateY(-8px) rotate(4deg)}}
.t3-ic svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(255,255,255,.6))}
.t3-tx{position:relative;z-index:1;transform:translateZ(54px)}
.t3-tx h3{margin:0 0 12px;font:800 clamp(30px,3vw,42px)/1 'Plus Jakarta Sans',sans-serif;letter-spacing:-.03em;color:#fff}
.t3-tx p{margin:0;font:500 15.5px/1.62 'Plus Jakarta Sans',sans-serif;color:rgba(255,255,255,.86);text-align:left}
.t3w.rv{transform:translateY(60px) rotateX(24deg)}.t3w.rv.in{transform:none}
.t3w:nth-child(2){transition-delay:.12s}.t3w:nth-child(3){transition-delay:.24s}
@media(max-width:960px){.trio3d{grid-template-columns:1fr;max-width:560px;margin:0 auto}.t3{min-height:340px}}
/* ---- Six pillars: 3D glass grid ---- */
.pillars{position:relative;overflow:hidden}.pillars>.wrap{position:relative;z-index:2}
#pilbg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.22;pointer-events:none}
.pil-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:52px;perspective:1600px}
.pil{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;position:relative;overflow:hidden;min-height:330px;padding:30px 28px 28px;border-radius:26px;display:flex;flex-direction:column;gap:14px;transform-style:preserve-3d;
 background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.02));-webkit-backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,255,255,.14);
 box-shadow:0 36px 60px -34px rgba(0,0,0,.8);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;
 opacity:0;animation:pilIn .9s cubic-bezier(.2,.9,.2,1) both;animation-delay:calc(var(--i)*.11s);animation-play-state:paused}
.pillars.go .pil{animation-play-state:running}
@keyframes pilIn{from{opacity:0;transform:translateY(60px) rotateX(-55deg) scale(.9)}to{opacity:1}}
.pil-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(380px circle at var(--mx) var(--my),rgba(61,220,151,.22),transparent 60%);opacity:0;transition:opacity .3s}
.pil:hover{border-color:rgba(61,220,151,.55);box-shadow:0 50px 80px -36px rgba(0,0,0,.9),0 0 50px -12px rgba(61,220,151,.4)}.pil:hover .pil-glow{opacity:1}
.pil::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#3ddc97,#548cff);opacity:.8}
.pil-n{position:absolute;right:22px;top:14px;font:800 76px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.2px rgba(143,180,255,.35);transform:translateZ(30px)}
.pil-ic{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(140deg,rgba(15,169,104,.35),rgba(20,87,230,.35));border:1px solid rgba(255,255,255,.22);transform:translateZ(60px);box-shadow:0 16px 28px -12px rgba(0,0,0,.6),0 0 30px -6px rgba(61,220,151,.5);animation:t3f 5.5s calc(var(--i)*.4s) ease-in-out infinite alternate}
.pil-ic svg{width:28px;height:28px;fill:none;stroke:#bff5da;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pil h3{margin:10px 0 0;font:800 clamp(20px,1.9vw,25px)/1.15 'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em;color:#fff;transform:translateZ(44px)}
.pil p{margin:0;color:rgba(214,228,255,.78);font:500 15px/1.65 'Plus Jakarta Sans',sans-serif;transform:translateZ(28px);text-align:left}
@media(max-width:1100px){.pil-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.pil-grid{grid-template-columns:1fr}.pil{min-height:0}}
@media(hover:none){.t3,.pil{transform:none!important}}
@media(prefers-reduced-motion:reduce){.t3::before,.t3-orb,.t3-shine,.t3-ic,.pil-ic{animation:none}.pil{animation:none;opacity:1}}

/* ---- v2: easier to read, more impressive ---- */
.trio3d{gap:34px}
.t3w{position:relative}
.t3{min-height:470px;padding:30px 30px 34px;justify-content:space-between}
.t3-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;transform-style:preserve-3d}
.t3-n{font-size:clamp(46px,4.2vw,64px);-webkit-text-stroke:1.5px rgba(255,255,255,.8)}
.t3-medal{position:relative;width:132px;height:132px;display:grid;place-items:center;transform:translateZ(80px);transform-style:preserve-3d}
.t3-medal .rg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px dashed rgba(255,255,255,.45);animation:t3rot 14s linear infinite}
.t3-medal .rg.r2{top:14px;right:14px;bottom:14px;left:14px;border:1.5px solid rgba(255,255,255,.25);border-top-color:#fff;border-right-color:rgba(255,255,255,.7);animation:t3rot 5.5s linear infinite reverse}
@keyframes t3rot{to{transform:rotate(360deg)}}
.t3-medal .t3-ic{position:relative;right:auto;top:auto;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.5),rgba(255,255,255,.12) 70%);box-shadow:0 22px 40px -14px rgba(0,0,0,.55),0 0 46px -4px rgba(255,255,255,.4);transform:none;animation:t3b 4.5s ease-in-out infinite alternate}
.t3-2 .t3-medal .t3-ic{animation-delay:.7s}.t3-3 .t3-medal .t3-ic{animation-delay:1.4s}
@keyframes t3b{to{transform:translateY(-8px) scale(1.06)}}
.t3-medal .t3-ic svg{width:38px;height:38px;stroke-width:1.9}
.t3-tx h3{font-size:clamp(38px,3.6vw,54px);margin-bottom:14px}
.t3-tx p{font-size:17.5px;line-height:1.65;color:rgba(255,255,255,.92)}
.t3-tx mark{background:none;color:#fff;font-weight:800;box-shadow:inset 0 -.42em 0 rgba(255,255,255,.2);border-radius:3px;padding:0 1px}
.t3.hot::after{opacity:1}.t3.hot{box-shadow:0 60px 90px -36px rgba(8,22,58,.85),0 0 70px -8px rgba(61,220,151,.45),0 0 0 1px rgba(255,255,255,.25) inset}
.t3-arrow{position:absolute;z-index:6;right:-30px;top:50%;width:52px;height:52px;margin-top:-26px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#0fa968,#1457e6);box-shadow:0 14px 30px -8px rgba(20,87,230,.7),0 0 0 6px rgba(255,255,255,.7);animation:t3a 1.8s ease-in-out infinite}
.t3-arrow svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@keyframes t3a{50%{transform:translateX(7px)}}
@media(max-width:960px){.t3-arrow{right:auto;left:50%;top:auto;bottom:-44px;margin:0 0 0 -26px;animation:none}.t3-arrow svg{transform:rotate(90deg)}.t3{min-height:400px}.trio3d{gap:56px}}
/* pillars */
.pil-grid{gap:26px;margin-top:56px}
.pil{min-height:0;padding:30px 28px 26px;gap:12px}
.pil-ic{position:relative;width:72px;height:72px;border-radius:22px;margin-bottom:6px}.pil-ic svg{width:34px;height:34px;stroke:#d4fbe8}
.pil-ic .rg{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:26px;border:1.5px solid rgba(61,220,151,.0);border-top-color:rgba(61,220,151,.85);border-right-color:rgba(84,140,255,.6);animation:t3rot 6s linear infinite}
.pil h3{font-size:clamp(22px,2vw,27px);margin-top:6px}
.pil p{font-size:16px;line-height:1.65;color:rgba(228,238,255,.92)}
.pil-tags{list-style:none;margin:auto 0 0;padding:14px 0 0;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid rgba(255,255,255,.1)}
.pil-tags li{padding:6px 12px;border-radius:99px;font:700 12.5px 'Plus Jakarta Sans',sans-serif;letter-spacing:.01em;color:#bff5da;background:rgba(61,220,151,.1);border:1px solid rgba(61,220,151,.3);transform:translateZ(20px);transition:.3s}
.pil:hover .pil-tags li,.pil.hot .pil-tags li{background:rgba(61,220,151,.2);border-color:rgba(61,220,151,.7);color:#fff}
.pil-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,#3ddc97,#548cff);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.2,.9,.2,1)}
.pil:hover .pil-bar,.pil.hot .pil-bar{transform:none}
.pil.hot{border-color:rgba(61,220,151,.6);box-shadow:0 50px 80px -36px rgba(0,0,0,.9),0 0 60px -10px rgba(61,220,151,.45)}.pil.hot .pil-glow{opacity:1}
.pil-n{font-size:64px;-webkit-text-stroke:1.2px rgba(143,180,255,.4)}

@media(max-width:520px){[data-v=about] .phero p.lead,[data-v=about] .twocol p{text-align:left}}

/* ---- scroll animation: direction aware, replays up and down ---- */
.rv[data-d=up]:not(.in){transform:translateY(-54px)}
.t3w.rv[data-d=up]:not(.in){transform:translateY(-60px) rotateX(-24deg)}
.rv{will-change:opacity,transform}
.pil{animation:none;opacity:0}
.pillars.go .pil{animation:pilIn .9s cubic-bezier(.2,.9,.2,1) both;animation-delay:calc(var(--i)*.11s)}
.pillars:not(.go) .pil{opacity:0;animation:none}
@media(prefers-reduced-motion:reduce){.rv,.rv[data-d=up]:not(.in){opacity:1!important;transform:none!important}.pil{opacity:1!important}}
.hz{margin-bottom:56px}.hz h2{margin-bottom:0}.hz-p{max-width:640px;font-size:clamp(15px,1.25vw,19px);line-height:1.6;color:rgba(255,255,255,.72);margin:0}
@media(max-width:520px){.hz{margin-bottom:36px}}

/* Upcoming runs: Internal / External tabs + one-by-one scrolling carousel */
.evtabs{display:inline-flex;gap:6px;padding:6px;border-radius:999px;background:var(--card);border:1px solid var(--line);margin:0 0 34px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:100%}
.evtab{all:unset;cursor:pointer;box-sizing:border-box;display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:999px;font:700 13px 'Space Grotesk','Plus Jakarta Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);transition:.35s;white-space:nowrap}
.evtab b{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:99px;background:rgba(127,150,200,.22);font-size:12px;letter-spacing:0}
.evtab:hover{color:var(--ink)}
.evtab.on{background:linear-gradient(100deg,#0fa968,#1457e6);color:#fff;box-shadow:0 14px 30px -12px rgba(20,87,230,.7)}
.evtab.on b{background:rgba(255,255,255,.24)}
.evtab:focus-visible{outline:2px solid #6fd0ff;outline-offset:2px}
.evc{position:relative}
.evtrack{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:10px 4px 36px;margin:0 -4px;-webkit-overflow-scrolling:touch}
.evtrack::-webkit-scrollbar{display:none}
.evtrack .ev{flex:0 0 calc((100% - (var(--v,3) - 1)*26px)/var(--v,3));min-width:0;scroll-snap-align:start;box-shadow:0 30px 70px -40px rgba(6,18,42,.55)}
.evtrack.fit{justify-content:center;overflow:visible;scroll-snap-type:none}
.evtrack.solo .ev{flex:0 1 980px;display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch}
.evtrack.solo .ev .im{aspect-ratio:auto;min-height:340px}
.evtrack.solo .ev .bd{display:flex;flex-direction:column;justify-content:center;padding:44px}
.evtrack.solo .ev h3{font-size:clamp(26px,2.6vw,38px)}
.evtrack.solo .ev .mt{font-size:16px}
@media(max-width:760px){.evtrack.solo .ev{display:block}.evtrack.solo .ev .im{aspect-ratio:4/3;min-height:0}.evtrack.solo .ev .bd{padding:26px}}
.evnav{all:unset;cursor:pointer;position:absolute;top:calc(50% - 40px);z-index:3;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font:700 26px/1 'Plus Jakarta Sans';color:#fff;background:linear-gradient(135deg,#0fa968,#1457e6);box-shadow:0 14px 34px -10px rgba(20,87,230,.8);transition:.3s}
.evnav:hover{transform:scale(1.1)}.evnav.prev{left:-18px}.evnav.next{right:-18px}
.evnav[hidden]{display:none}
.evdots{display:flex;justify-content:center;gap:9px;margin-top:-6px}
.evdots i{width:9px;height:9px;border-radius:99px;background:rgba(127,150,200,.4);cursor:pointer;transition:.4s}
.evdots i.on{width:30px;background:linear-gradient(100deg,#0fa968,#1457e6)}
.evempty{padding:46px 20px;text-align:center;color:var(--ink2);border:1px dashed var(--line);border-radius:24px}
@media(max-width:640px){.evtabs{display:flex;width:100%;box-sizing:border-box}.evtab{flex:1 1 0;min-width:0;justify-content:center;padding:11px 6px;font-size:10px;letter-spacing:.05em;gap:6px}.evtab b{min-width:20px;height:20px;font-size:11px;padding:0 5px}.evnav{width:42px;height:42px;font-size:22px}.evnav.prev{left:2px}.evnav.next{right:2px}}
.stat span{line-height:1.6}
.ev .ds{margin:-8px 0 18px;color:var(--ink2);font-size:14px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.evtrack .ev .im{aspect-ratio:21/9}
.evtrack .ev .bd{padding:18px 22px 22px}.evtrack .ev h3{font-size:19px;margin:6px 0 6px}.evtrack .ev .mt{margin-bottom:14px;font-size:13.5px}
.evtrack .ev .dt{transform:scale(.86);transform-origin:top left}
.evtrack.solo .ev{flex:0 1 860px}.evtrack.solo .ev .im{aspect-ratio:auto;min-height:230px}.evtrack.solo .ev .bd{padding:26px 34px}.evtrack.solo .ev h3{font-size:clamp(22px,2.1vw,30px)}.evtrack.solo .ev .mt{font-size:15px}
@media(max-width:760px){.evtrack.solo .ev .im{aspect-ratio:21/9;min-height:0}.evtrack.solo .ev .bd{padding:18px 22px 22px}}

/* Featured events (Internal | External) */
.featgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:84px;perspective:1400px}
@media(max-width:900px){.featgrid{grid-template-columns:1fr;gap:22px}}
.fxh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 4px 14px}
.fxk{display:inline-flex;align-items:center;padding:9px 16px;border-radius:99px;background:#fff;color:#0b1f45;font:800 11px 'Space Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase}
.fxs2{font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#7fe3b8}
.fxstage{perspective:1200px;min-height:250px}
.fx{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:250px;padding:32px 34px 34px;border-radius:28px;box-sizing:border-box;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);box-shadow:0 40px 80px -44px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform-origin:50% 100%;animation:fxIn 1s cubic-bezier(.2,.85,.25,1) both}
.fx::before{content:'';position:absolute;top:-40%;right:-20%;bottom:auto;left:auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(34,166,255,.28),transparent 65%);pointer-events:none}
.fx>*{position:relative;animation:fxUp .8s cubic-bezier(.2,.85,.25,1) both}
.fx>:nth-child(1){animation-delay:.25s}.fx>:nth-child(2){animation-delay:.35s}.fx>:nth-child(3){animation-delay:.45s}.fx>:nth-child(4){animation-delay:.55s}
.fx h3{margin:0;font-size:clamp(24px,2.5vw,38px);line-height:1.08;letter-spacing:-.02em;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fxbadge{font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.2em;color:#7fe3b8}
.fxm{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 6px;color:rgba(255,255,255,.78);font-size:15px}
.fxempty{justify-content:center;align-items:center;text-align:center;color:rgba(255,255,255,.6);border-style:dashed}
.fxempty p{margin:0}
@keyframes fxIn{from{opacity:0;transform:rotateY(-78deg) rotateX(12deg) translateZ(-160px) translateX(-50px);filter:blur(8px)}60%{filter:blur(0)}to{opacity:1;transform:none}}
@keyframes fxUp{from{opacity:0;transform:translateY(22px) translateZ(0)}to{opacity:1;transform:none}}
.fxdots{display:flex;gap:8px;margin:16px 4px 0;min-height:9px}
.fxdots i{width:9px;height:9px;border-radius:99px;background:rgba(255,255,255,.3);cursor:pointer;transition:.4s}
.fxdots i.on{width:30px;background:linear-gradient(100deg,#0fa968,#6fd0ff)}
.rb3d{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding:15px 30px;border-radius:16px;font:800 15px 'Plus Jakarta Sans',sans-serif;color:#fff;text-decoration:none;cursor:pointer;background:linear-gradient(135deg,#19c97f,#1457e6);border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 0 #0a3a9a,0 16px 26px -6px rgba(20,87,230,.75);transform:perspective(700px) rotateX(0);transform-style:preserve-3d;transition:transform .25s,box-shadow .25s,filter .25s}
.rb3d i{font-style:normal;transition:transform .25s}
.rb3d:hover{transform:perspective(700px) translateY(-4px) rotateX(12deg);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 0 #0a3a9a,0 26px 34px -8px rgba(20,87,230,.85);filter:brightness(1.08)}
.rb3d:hover i{transform:translateX(5px)}
.rb3d:active{transform:perspective(700px) translateY(5px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 1px 0 #0a3a9a,0 6px 12px -4px rgba(20,87,230,.7)}
.rb3d:focus-visible{outline:3px solid #6fd0ff;outline-offset:4px}
@media(max-width:520px){.fx{padding:26px 22px 28px}.rb3d{width:100%;justify-content:center;box-sizing:border-box}}
@media(prefers-reduced-motion:reduce){.fx,.fx>*{animation:none!important}}
.fxw{display:flex;flex-direction:column}.fxstage{flex:1;display:grid}.fxstage>.fx{height:100%}
.rb3d{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 0 #2a5fd6,0 16px 26px -6px rgba(20,87,230,.75)}.rb3d:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 0 #2a5fd6,0 26px 34px -8px rgba(20,87,230,.85)}.rb3d:active{box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 1px 0 #2a5fd6,0 6px 12px -4px rgba(20,87,230,.7)}

/* ===== Event detail page ===== */
.evdet{padding:130px 0 110px;min-height:100vh}
.evd-badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.evd-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:99px;font:800 12px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#1457e6}
.evd-pill.live{background:#0fa968}.evd-pill.done{background:#5b6b8f}.evd-pill.cx{background:#c0392b}
.evd-pill.ty{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}
.evd-pill svg{width:15px;height:15px}
.evd-cat{font:800 13px 'Space Grotesk',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#4de0a1;margin:0 0 12px}
.evd h1{margin:0 0 20px;font-size:clamp(34px,5.4vw,84px);line-height:1.02;letter-spacing:-.03em;color:#fff}
.evd-meta{display:flex;flex-wrap:wrap;gap:12px 30px;margin:0 0 38px;color:rgba(255,255,255,.82);font-size:clamp(15px,1.3vw,19px)}
.evd-meta span{display:inline-flex;align-items:center;gap:10px}
.evd-meta svg{width:20px;height:20px;color:#6fd0ff;flex:none}
.evd-ph{position:relative;border-radius:30px;overflow:hidden;margin:0 0 40px;aspect-ratio:21/9;max-height:440px;width:100%;background:#0c1d47;border:1px solid rgba(255,255,255,.2);box-shadow:0 50px 90px -50px rgba(0,0,0,.85)}
.evd-ph img{width:100%;height:100%;object-fit:cover;display:block}
.evd-tabs{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 26px}
.evd-tab{all:unset;box-sizing:border-box;cursor:pointer;padding:14px 26px;border-radius:16px;font:800 14px 'Plus Jakarta Sans',sans-serif;letter-spacing:.02em;color:rgba(255,255,255,.8);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);box-shadow:0 5px 0 rgba(255,255,255,.1),0 14px 22px -10px rgba(0,0,0,.6);transform:perspective(700px);transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.evd-tab:hover{transform:perspective(700px) translateY(-3px) rotateX(10deg);color:#fff}
.evd-tab:active{transform:translateY(4px);box-shadow:0 1px 0 rgba(255,255,255,.1)}
.evd-tab.on{color:#fff;background:linear-gradient(135deg,#19c97f,#1457e6);border-color:rgba(255,255,255,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 5px 0 #2a5fd6,0 16px 26px -8px rgba(20,87,230,.8)}
.evd-tab:focus-visible{outline:3px solid #6fd0ff;outline-offset:3px}
.evd-p{display:none;padding:clamp(24px,3vw,44px);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:rgba(255,255,255,.86);font-size:clamp(15px,1.2vw,18px);line-height:1.75;margin-bottom:38px}
.evd-p.on{display:block;animation:evdIn .7s cubic-bezier(.2,.85,.25,1) both}
@keyframes evdIn{from{opacity:0;transform:perspective(1000px) rotateX(-10deg) translateY(24px)}to{opacity:1;transform:none}}
.evd-p h3{margin:0 0 14px;color:#fff;font-size:clamp(20px,1.8vw,26px)}
.evd-p p{margin:0 0 14px}
.evd-fees{width:100%;border-collapse:collapse;margin:6px 0 26px}
.evd-fees th,.evd-fees td{text-align:left;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.14)}
.evd-fees th{font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#7fe3b8}
.evd-fees td:last-child{font-weight:800;color:#fff;white-space:nowrap}
.evd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.evd-grid div{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.evd-grid small{display:block;font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#7fe3b8;margin-bottom:6px}
.evd-grid b{color:#fff;font-size:16px}
.evd-win{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0 26px}
.evd-win div{flex:1 1 200px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.evd-win small{display:block;font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#7fe3b8;margin-bottom:6px}
.evd-win b{color:#fff}
.evd-note{margin:16px 0 0!important;font-size:14px;color:rgba(255,255,255,.65)}
.evd-act{display:flex;flex-wrap:wrap;align-items:flex-start;gap:28px 40px}
.evd-reg{display:flex;flex-direction:column;gap:14px;max-width:420px}
.evd-reg small{font-size:14px;color:rgba(255,255,255,.7);display:flex;gap:8px;align-items:center;line-height:1.4}
.evd-reg small svg{width:16px;height:16px;flex:none;color:#6fd0ff}
.evd-load{padding:80px 0;color:rgba(255,255,255,.7);text-align:center}
.rb3d{margin-top:0}.fx .rb3d{margin-top:auto}
.rb3d.ghost{background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 6px 0 rgba(255,255,255,.18),0 16px 26px -8px rgba(0,0,0,.6)}
.rb3d.ghost:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 0 rgba(255,255,255,.18),0 26px 34px -10px rgba(0,0,0,.7)}
.rb3d.ghost:active{box-shadow:0 1px 0 rgba(255,255,255,.18)}
.rb3d.sm{padding:12px 22px;font-size:14px;border-radius:14px}
.rb3d[aria-disabled=true]{filter:grayscale(.85) brightness(.8);cursor:not-allowed;pointer-events:none}
@media(max-width:700px){.evdet{padding-top:110px}.evd-ph{aspect-ratio:16/9;border-radius:22px}.evd-tab{flex:1 1 calc(50% - 7px);text-align:center;padding:13px 10px}.evd-act .rb3d{width:100%;justify-content:center;box-sizing:border-box}.evd-reg,.evd-act>div{width:100%;max-width:none}}
/* submit-activity modal */
.evm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-items:center;padding:20px}.evm[hidden]{display:none}
.evm-b{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(3,10,30,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.evm-c{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;padding:32px;border-radius:26px;background:linear-gradient(160deg,#10275e,#0a1a44);border:1px solid rgba(255,255,255,.22);box-shadow:0 60px 100px -40px #000;color:#fff;animation:evdIn .6s cubic-bezier(.2,.85,.25,1) both}
.evm-c h3{margin:0 0 6px;font-size:24px}.evm-s{margin:0 0 20px;color:rgba(255,255,255,.7);font-size:14px}
.evm-g{display:grid;grid-template-columns:1fr 1fr;gap:14px}.evm-g .wide{grid-column:1/-1}
.evm-g label{display:flex;flex-direction:column;gap:7px;font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#7fe3b8}
.evm-g input,.evm-g select{padding:13px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font:600 15px 'Plus Jakarta Sans',sans-serif;letter-spacing:0;text-transform:none;outline:0}
.evm-g select option{background:#0c1d47}.evm-g input:focus,.evm-g select:focus{border-color:#6fd0ff;box-shadow:0 0 0 3px rgba(111,208,255,.25)}
.evm-e{min-height:22px;margin:14px 0 0;font-size:14px;color:#ffb4a8}.evm-e.ok{color:#7fe3b8}
.evm-r{display:flex;justify-content:flex-end;gap:14px;margin-top:10px;flex-wrap:wrap}
@media(max-width:520px){.evm-g{grid-template-columns:1fr}.evm-c{padding:24px 20px}}

/* ===== Events calendar ===== */
.calh{padding:140px 0 64px}.calh h1{font-size:clamp(40px,6.4vw,100px);margin:10px 0 18px;line-height:1;letter-spacing:-.03em;text-transform:uppercase}
.calh .lead{max-width:640px;color:rgba(255,255,255,.8)}
.calsec{background:var(--bg2);padding:56px 0 110px}
.calgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
@media(max-width:1000px){.calgrid{grid-template-columns:1fr}}
.calc,.calside{background:#fff;border:1px solid rgba(8,18,43,.08);border-radius:30px;box-shadow:0 40px 80px -50px rgba(11,31,69,.55);padding:clamp(18px,2.4vw,34px);color:#0b1f45}
.calside{padding:28px}
.calhd{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.calhd h2{flex:1;margin:0;font-size:clamp(20px,2.2vw,30px);letter-spacing:.01em;text-transform:uppercase;color:#0b1f45}
.calnav{all:unset;cursor:pointer;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(8,18,43,.15);background:#fff;font:700 20px/1 'Plus Jakarta Sans';color:#0b1f45;box-shadow:0 4px 0 rgba(8,18,43,.1);transition:.25s}
.calnav:hover{transform:translateY(-2px);box-shadow:0 7px 0 rgba(8,18,43,.12);border-color:#0fa968;color:#0fa968}
.calnav:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(8,18,43,.12)}
.caltd{all:unset;cursor:pointer;padding:11px 20px;border-radius:99px;background:#e4f6ec;color:#0a7a4b;font:800 12px 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 4px 0 #bfe6d0;transition:.25s}
.caltd:hover{transform:translateY(-2px)}.caltd:active{transform:translateY(3px);box-shadow:0 1px 0 #bfe6d0}
.calwk,.caldays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.calwk{margin-bottom:10px}.calwk span{text-align:center;font:800 11px 'Space Grotesk',sans-serif;letter-spacing:.16em;color:#8a96b3}
.cd{all:unset;box-sizing:border-box;min-height:clamp(58px,8vw,104px);padding:9px 10px;border-radius:14px;border:1px solid rgba(8,18,43,.1);background:#fff;font:600 14px 'Plus Jakarta Sans';color:#0b1f45;display:flex;flex-direction:column;gap:5px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.cd.pad{border:0;background:none;pointer-events:none}
.cd.has{background:#e7f6ee;border-color:#a9dcc2;cursor:pointer}
.cd.has:hover{transform:perspective(600px) translateY(-4px) rotateX(6deg);box-shadow:0 18px 30px -14px rgba(15,169,104,.55)}
.cd.has:focus-visible{outline:3px solid #1457e6;outline-offset:2px}
.cd.today{border:2px solid #0fa968}
.cd.today .dn{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:99px;background:#0fa968;color:#fff;font-weight:800;padding:0 6px;box-sizing:border-box;align-self:flex-start}
.cd .dn{font-size:14px;font-weight:700;line-height:1}
.cd .ch{display:block;padding:5px 8px;border-radius:7px;background:#1457e6;color:#fff;font:800 11px 'Plus Jakarta Sans';white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cd .ch.live{background:#d28a00}.cd .ch.done{background:#7c8499}
.cd .more{font:700 11px 'Plus Jakarta Sans';color:#0a7a4b}
.cd .dots{display:none;gap:4px}.cd .dots i{width:7px;height:7px;border-radius:50%;background:#1457e6}.cd .dots i.live{background:#d28a00}.cd .dots i.done{background:#7c8499}
@media(max-width:700px){.caldays,.calwk{gap:4px}.cd{padding:6px 4px;min-height:54px;align-items:center;border-radius:10px}.cd .ch,.cd .more{display:none}.cd .dots{display:flex;flex-wrap:wrap;justify-content:center}.calwk span{font-size:9px;letter-spacing:.04em}}
.calleg{display:flex;flex-wrap:wrap;gap:22px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(8,18,43,.1);font-size:13px;color:#5a6684}
.calleg span{display:inline-flex;align-items:center;gap:8px}.calleg i{width:10px;height:10px;border-radius:50%;background:#1457e6}.calleg .l{background:#d28a00}.calleg .d{background:#7c8499}
.calside h3{margin:0 0 16px;padding-bottom:16px;border-bottom:2px solid rgba(8,18,43,.08);font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:#0b1f45;display:flex;gap:10px;align-items:center}
.calside h3 svg{width:18px;color:#0fa968}
.calup{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(8,18,43,.08);text-decoration:none;color:inherit;transition:transform .25s}
.calup:hover{transform:translateX(4px)}
.calup .db{flex:none;width:48px;height:50px;border-radius:12px;background:#eef2f7;display:grid;place-items:center;text-align:center;line-height:1;color:#0a7a4b;font-weight:800;font-size:18px}
.calup .db small{display:block;margin-top:3px;font:800 9px 'Space Grotesk';letter-spacing:.14em;color:#8a96b3}
.calup b{display:block;font-size:15px;color:#0b1f45;line-height:1.25}.calup span{display:block;margin-top:4px;font-size:13px;color:#6b7694}
.calside .rb3d{width:100%;justify-content:center;box-sizing:border-box;margin-top:22px}
.calside .calemp{padding:18px 0;color:#6b7694;font-size:14px}
.calback{margin-top:40px}
/* popup */
.calm-c{width:min(680px,100%);padding:26px 28px;max-height:96vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
.calm-c::-webkit-scrollbar{display:none;width:0;height:0}
.calm-c .evm-s{margin-bottom:14px}
#calML .cev{margin:0 0 14px}#calML .cev:last-child{margin-bottom:0}
#calML .cev img{aspect-ratio:auto;height:clamp(110px,18vh,150px)}
#calML .cev .cb{padding:14px 20px 18px}#calML .cev h4{font-size:20px;margin:4px 0 6px}#calML .cev .cm{margin-bottom:12px;gap:4px 16px;font-size:13.5px}
#calML[data-k="2"],#calML[data-k="3"],#calML[data-k="4"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#calML[data-k="2"] .cev,#calML[data-k="3"] .cev,#calML[data-k="4"] .cev{margin:0}
#calML[data-k="2"] .cev img,#calML[data-k="3"] .cev img,#calML[data-k="4"] .cev img{display:none}
@media(max-width:620px){#calML[data-k="2"],#calML[data-k="3"],#calML[data-k="4"]{grid-template-columns:1fr}}
.calx{all:unset;cursor:pointer;position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;font:700 16px/1 'Plus Jakarta Sans';box-shadow:0 4px 0 rgba(255,255,255,.16);transition:.25s}
.calx:hover{transform:translateY(-2px) rotate(90deg);background:#c0392b}.calx:active{transform:translateY(3px)}
.calm-c h3{padding-right:50px}
.cev{margin:0 0 18px;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18)}
.cev img{display:block;width:100%;aspect-ratio:21/9;object-fit:cover}
.cev .cb{padding:18px 22px 22px}
.cev .ct{font:800 11px 'Space Grotesk';letter-spacing:.2em;color:#7fe3b8;text-transform:uppercase}
.cev h4{margin:6px 0 8px;font-size:22px;color:#fff}
.cev .cm{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:rgba(255,255,255,.8);margin-bottom:16px}
.cev .rb3d{font-size:14px;padding:12px 22px}
.calgrid>*{min-width:0}.calhd{flex-wrap:nowrap}@media(max-width:520px){.calhd{gap:8px}.calnav{width:38px;height:38px;flex:none}.caltd{padding:10px 12px;font-size:10px;letter-spacing:.08em}.calhd h2{font-size:17px;min-width:0}.calc{padding:16px 12px}}
.mem .ph img{object-fit:cover;object-position:50% 12%}
.mem .ph{border-radius:30px;border:3px solid transparent;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,linear-gradient(135deg,#0fa968 0%,#1457e6 100%) border-box;box-shadow:0 28px 60px -30px rgba(20,87,230,.55),0 0 0 6px rgba(20,87,230,.06);transition:transform .5s,box-shadow .5s}
.mem:hover .ph{border-radius:30px;transform:translateY(-8px) perspective(800px) rotateX(2deg);border-color:transparent;box-shadow:0 38px 70px -28px rgba(15,169,104,.6),0 0 0 6px rgba(15,169,104,.12)}
.mem .resp{margin:14px 0 0;padding:14px 16px;border-radius:16px;background:rgba(20,87,230,.06);border:1px solid var(--line);font-size:14px;line-height:1.55;color:var(--ink2);text-align:center}.mem .resp b{display:block;margin-bottom:5px;font:800 10px 'Space Grotesk',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan)}
.featgrid{overflow-x:clip}

/* Board cards: fixed size + 3D */
.board{gap:26px 24px;perspective:1400px}
.board .mem{width:208px;flex:0 0 208px;transform-style:preserve-3d;will-change:transform}
.board .mem h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:19px}
.board .mem>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10.5px;letter-spacing:.18em}
.board .mem .ph{position:relative;transform:translateZ(18px);transition:transform .5s,box-shadow .5s}
.board .mem:hover .ph{transform:translateZ(46px) translateY(-6px)}
.board .mem .ph::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-120%);transition:transform .9s;pointer-events:none}
.board .mem:hover .ph::after{transform:translateX(120%)}
.board .mem.rv:not(.in){opacity:0;transform:perspective(900px) rotateY(-75deg) translateY(36px) translateZ(-120px)}
.board .mem.rv{transition:opacity .9s,transform 1s cubic-bezier(.2,.85,.25,1)}
.board .mem .resp{height:118px;box-sizing:border-box;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.board .mem .resp b{display:block}
.bpager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:54px}
.bpg{all:unset;box-sizing:border-box;cursor:pointer;min-width:46px;height:46px;padding:0 16px;display:inline-grid;place-items:center;border-radius:14px;background:#fff;color:#0b1f45;border:1px solid rgba(8,18,43,.12);font:800 14px 'Plus Jakarta Sans',sans-serif;box-shadow:0 5px 0 rgba(8,18,43,.12),0 14px 22px -12px rgba(11,31,69,.5);transition:transform .25s,box-shadow .25s,color .25s}
.bpg:hover{transform:perspective(600px) translateY(-3px) rotateX(10deg);color:#0fa968}
.bpg:active{transform:translateY(4px);box-shadow:0 1px 0 rgba(8,18,43,.12)}
.bpg.on{color:#fff;background:linear-gradient(135deg,#0fa968,#1457e6);border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 5px 0 #2a5fd6,0 16px 26px -8px rgba(20,87,230,.7)}
.bpg[aria-disabled=true]{opacity:.4;pointer-events:none}
.bpg:focus-visible{outline:3px solid #1457e6;outline-offset:3px}
.bpi{flex-basis:100%;text-align:center;margin-top:6px;font-size:13px;color:var(--ink2)}
@media(prefers-reduced-motion:reduce){.board .mem.rv:not(.in){transform:none;opacity:1}}
.board .mem .resp.none{visibility:hidden}


/* Leadership page: grouped by position */
.lgsum{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 34px}
.lgsum span{padding:10px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);font:700 13px 'Plus Jakarta Sans';color:var(--ink2);box-shadow:0 4px 0 rgba(8,18,43,.08)}
.lgsum b{font:800 18px 'Space Grotesk';background:linear-gradient(135deg,#0fa968,#1457e6);-webkit-background-clip:text;background-clip:text;color:transparent;margin-right:4px}
.lg{margin:0 0 64px}
.lgh{display:flex;align-items:center;gap:14px;padding-bottom:16px;position:relative}
.lgh::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:linear-gradient(90deg,#0fa968,#1457e6 45%,rgba(20,87,230,.08))}
.lgi{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#0fa968,#1457e6);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 0 #2a5fd6,0 12px 20px -8px rgba(20,87,230,.7)}
.lgh h2{margin:0;font:800 clamp(24px,3.2vw,38px)/1.1 'Space Grotesk';letter-spacing:-.02em;text-transform:uppercase;color:var(--navy,#0b1f45)}
.lgh em{margin-left:auto;font:700 13px 'Plus Jakarta Sans';font-style:normal;color:var(--ink2);white-space:nowrap}
.lgb{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:34px;align-items:start;margin-top:34px}
.lg.solo .lgb{grid-template-columns:1fr}
.lgr{position:relative;overflow:hidden;border-radius:28px;padding:30px 28px 28px;color:#fff;background:radial-gradient(circle at 85% 0,rgba(15,169,104,.45),transparent 55%),radial-gradient(circle at 0 100%,rgba(20,87,230,.55),transparent 60%),#0b1f45;box-shadow:0 5px 0 #08162f,0 30px 60px -28px rgba(11,31,69,.85);transform-style:preserve-3d;min-height:260px}
.lgr::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;border-radius:28px;padding:2px;background:linear-gradient(135deg,#0fa968,#1457e6);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.lgn{position:absolute;right:18px;top:-6px;font:800 110px/1 'Space Grotesk';font-style:normal;color:rgba(255,255,255,.07)}
.lgk{display:flex;align-items:center;gap:8px;font:800 11px 'Space Grotesk';letter-spacing:.2em;text-transform:uppercase;color:#7fe3b8;transform:translateZ(24px)}
.lgr p{margin:18px 0 0;font:700 clamp(20px,2vw,26px)/1.35 'Plus Jakarta Sans';letter-spacing:-.01em;color:#fff;transform:translateZ(30px);position:relative}
.lgs2{position:relative;display:inline-block;margin-top:22px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);font:700 12px 'Plus Jakarta Sans';color:rgba(255,255,255,.88)}
.board.lgm{justify-content:flex-start;margin:0}
.board.lgm .mem .resp{height:auto;min-height:0;-webkit-line-clamp:unset;display:block}
@media(max-width:900px){.lgb{grid-template-columns:1fr;gap:26px}.lgr{min-height:0}.lgn{font-size:84px}.board.lgm{justify-content:center}}
@media(max-width:600px){.lgh em{display:none}.lg{margin-bottom:48px}}


/* gallery */
.gc{display:block;text-decoration:none;color:inherit}
.gc p{display:flex;justify-content:space-between;align-items:center;gap:10px}
.gc .gn{font-size:10.5px;letter-spacing:.12em;color:#1457e6;white-space:nowrap}
.gc:hover .gn{color:#0fa968}
.gtabs{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 26px}
.gtabs .rb3d{margin-top:0;font-size:14px;padding:13px 26px}
.gtabs .rb3d b{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.22);font:800 12px 'Space Grotesk'}
.rb3d.lt{background:#fff;color:#0b1f45;border:1px solid rgba(8,18,43,.12);box-shadow:0 6px 0 rgba(8,18,43,.14),0 16px 24px -10px rgba(11,31,69,.45)}
.rb3d.lt:hover{color:#0fa968;box-shadow:0 10px 0 rgba(8,18,43,.14),0 24px 30px -10px rgba(11,31,69,.5)}
.rb3d.lt:active{box-shadow:0 1px 0 rgba(8,18,43,.14)}
.gtabs .rb3d.lt b{background:rgba(20,87,230,.12);color:#1457e6}
.gfil{justify-content:flex-start;align-items:flex-start;gap:28px 44px;position:relative}
.gfil .fg{text-align:left}.gfil .fg div{justify-content:flex-start}
.gfil #gClear{margin:22px 0 0 auto}
.gal.vids{columns:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.gal.vids .g{margin:0;cursor:default}
.vd .vt,.vd .vf{display:block;position:relative;width:100%;aspect-ratio:16/9;background:#0b1f45 center/cover no-repeat;border:0}
.vd .vt::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(11,31,69,.55))}
.vp{all:unset;cursor:pointer;position:absolute;z-index:2;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#fff;background:linear-gradient(135deg,#0fa968,#1457e6);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 6px 0 #2a5fd6,0 18px 30px -8px rgba(20,87,230,.8);transition:transform .25s,box-shadow .25s}
.vd .vt:hover .vp{transform:translateY(-4px) scale(1.06)}
.vp:active{transform:translateY(4px)}
#glb{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(4,12,40,.94);display:none;place-items:center;z-index:600;cursor:zoom-out}#glb.on{display:grid}#glb img{max-width:90vw;max-height:88vh;border-radius:18px}
@media(max-width:700px){.gfil{padding:22px 18px}.gfil #gClear{margin:0}.gal.vids{grid-template-columns:1fr}}


/* gallery grid: auto-adjusts to the number of photos (max 10 per event) */
#gList:not(.vids){columns:auto;display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
#gList:not(.vids) .g{margin:0}
#gList[data-c="1"]:not(.vids){grid-template-columns:minmax(0,760px)}
#gList[data-c="2"]:not(.vids){grid-template-columns:repeat(2,minmax(0,520px))}
#gList:not(.vids) .g[data-i]{cursor:zoom-in;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#gList:not(.vids) .g[data-i] img{aspect-ratio:4/3;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
.gc img{pointer-events:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;aspect-ratio:4/3;object-fit:cover;display:block}
#gList[data-c="1"] .g img{aspect-ratio:16/10}
#glb{place-items:center;cursor:default;touch-action:pan-y}
#glb figure{margin:0;display:flex;flex-direction:column;align-items:center;max-width:min(92vw,1400px)}
#glb img{max-width:min(86vw,1300px);max-height:78vh;border-radius:18px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8);transition:opacity .3s;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
#glb figcaption{margin-top:16px;display:flex;gap:14px;align-items:center;font:700 13px 'Plus Jakarta Sans';letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85)}
#glb figcaption span{padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.glx,.glp,.gln2{all:unset;cursor:pointer;position:absolute;z-index:3;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#0fa968,#1457e6);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 5px 0 #2a5fd6,0 16px 28px -8px rgba(20,87,230,.75);transition:transform .25s,box-shadow .25s}
.glx{top:20px;right:20px;width:46px;height:46px;font:700 18px/1 'Plus Jakarta Sans'}
.glp,.gln2{top:50%;margin-top:-26px;width:52px;height:52px;font:700 30px/1 'Plus Jakarta Sans'}
.glp{left:22px}.gln2{right:22px}
.glx:hover,.glp:hover,.gln2:hover{transform:translateY(-3px)}
.glx:active,.glp:active,.gln2:active{transform:translateY(4px);box-shadow:0 1px 0 #2a5fd6}
#glb.one .glp,#glb.one .gln2{display:none}
.lbo{overflow:hidden}
@media(max-width:700px){.glp,.gln2{top:auto;bottom:22px;margin:0}.glp{left:calc(50% - 70px)}.gln2{right:calc(50% - 70px)}#glb img{max-height:66vh}#glb figcaption{margin-bottom:70px}}


/* video cards: medium size, play in popup */
.gal.vids{grid-template-columns:repeat(auto-fill,minmax(260px,320px));gap:22px}
.gal.vids .g.vd{cursor:pointer;max-width:320px}
.vd .vt{aspect-ratio:16/9}
.vd:hover .vp{transform:translateY(-4px) scale(1.06)}
#gvb{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(4,12,40,.94);display:none;place-items:center;z-index:600;touch-action:pan-y}#gvb.on{display:grid}
#gvb figure{margin:0;display:flex;flex-direction:column;align-items:center;width:min(92vw,980px)}
.gvf{width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.gvf.sh{width:min(86vw,calc(74vh*9/16));aspect-ratio:9/16}
.gvf iframe{display:block;width:100%;height:100%;border:0}
#gvb figcaption{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 14px;align-items:center;font:700 13px 'Plus Jakarta Sans';letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.88)}
#gvb figcaption span{padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
#gvb figcaption .rb3d{margin:0;font-size:12px;padding:9px 16px;letter-spacing:.04em;text-transform:none}
#gvb.one .glp,#gvb.one .gln2{display:none}
@media(max-width:700px){#gvb .glp,#gvb .gln2{top:auto;bottom:22px;margin:0}#gvb .glp{left:calc(50% - 70px)}#gvb .gln2{right:calc(50% - 70px)}.gvf.sh{width:min(80vw,calc(64vh*9/16))}#gvb figcaption{margin-bottom:70px}.gal.vids{grid-template-columns:1fr}.gal.vids .g.vd{max-width:none}}


/* subscribe button */
.ghrow{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;width:100%;flex-wrap:wrap}
.ghrow h1{margin:22px 0 26px}
.ytsub{display:inline-flex;align-items:center;gap:14px;padding:14px 26px 14px 16px;border-radius:20px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#ff3b30 0%,#c4001a 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 0 #8f0014,0 22px 34px -10px rgba(196,0,26,.75);transition:transform .25s,box-shadow .25s,filter .25s;position:relative;overflow:hidden}
.ytsub::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.4) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s}
.ytsub:hover{transform:perspective(700px) translateY(-4px) rotateX(10deg);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 12px 0 #8f0014,0 30px 40px -10px rgba(196,0,26,.85);filter:brightness(1.06)}
.ytsub:hover::after{transform:translateX(120%)}
.ytsub:active{transform:translateY(6px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 2px 0 #8f0014,0 8px 14px -4px rgba(196,0,26,.7)}
.ytsub:focus-visible{outline:3px solid #1457e6;outline-offset:4px}
.yti{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.18);animation:ytp 2.6s ease-in-out infinite}
@keyframes ytp{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.yts{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.yts b{font:800 19px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.01em}
.yts small{font:600 13px 'Plus Jakarta Sans',sans-serif;opacity:.9;letter-spacing:.02em}
@media(prefers-reduced-motion:reduce){.yti{animation:none}}
@media(max-width:700px){.ghrow{flex-direction:column;align-items:flex-start}.ghrow h1{margin-bottom:6px}.ytsub{margin-bottom:10px}}


/* section links styled like the "Our story →" button */
.more.lb{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:16px;border:1px solid #0b1f45;background:#eaf1ff;color:#0b1f45;font:700 15px 'Plus Jakarta Sans',sans-serif;letter-spacing:0;text-transform:none;text-decoration:none;white-space:nowrap;box-shadow:0 4px 0 rgba(11,31,69,.85);transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.more.lb:hover{background:#0b1f45;color:#fff;transform:translateY(-3px);box-shadow:0 7px 0 rgba(11,31,69,.85),0 16px 24px -10px rgba(11,31,69,.5)}
.more.lb:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(11,31,69,.85)}
.more.lb:focus-visible{outline:3px solid #1457e6;outline-offset:3px}
.sh .mlinks{display:flex;flex-direction:row;gap:12px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.sh .mlinks .more.lb{box-shadow:0 4px 0 rgba(127,227,184,.55)}
.dark .more.lb,.sh .mlinks .more.lb{border-color:rgba(255,255,255,.85)}
.dark .more.lb:hover{background:#fff;color:#0b1f45}


/* selected-event banner on Become a Member */
.bm-ev{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:14px 18px;border-radius:18px;background:linear-gradient(135deg,rgba(15,169,104,.14),rgba(20,87,230,.14));border:1px solid rgba(20,87,230,.3)}
.bm-ev[hidden]{display:none}
.bm-evi{font-size:26px}
.bm-ev div{display:flex;flex-direction:column;line-height:1.3;flex:1;min-width:0}
.bm-ev small{font:800 10px 'Space Grotesk';letter-spacing:.2em;text-transform:uppercase;color:#7fe3b8}
.bm-ev b{font:800 18px 'Plus Jakarta Sans';color:#fff}
.bm-ev span:not(.bm-evi){font-size:13px;color:rgba(255,255,255,.78)}
.bm-evx{text-decoration:none;color:#0b1f45;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(11,31,69,.2);background:#fff}
.bm-wa{display:flex;gap:8px;align-items:flex-start;justify-content:center;text-align:left;margin:10px 0 0;padding:10px 14px;border-radius:14px;background:rgba(37,211,102,.14);border:1px solid rgba(37,211,102,.45);font-size:14px;color:inherit}
.bm-wa svg{color:#25d366;flex:none;margin-top:2px}
.bm-wa[hidden]{display:none}


/* existing-member check */
.bm-body.chk #bmsteps,.bm-body.chk #bmform{display:none}
.bm-chk[hidden]{display:none}
.bm-chk h2{margin:0 0 6px;font:800 clamp(22px,2.4vw,30px) 'Plus Jakarta Sans';color:#fff}
.bm-chkrow{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0 8px}
.bm-chkrow input{flex:1 1 280px;min-width:0;height:56px;padding:0 18px;border-radius:16px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.07);color:#fff;font:600 16px 'Plus Jakarta Sans';outline:none}
.bm-chkrow input:focus{border-color:#7fe3b8;box-shadow:0 0 0 4px rgba(127,227,184,.2)}
.bm-chkrow input::placeholder{color:rgba(255,255,255,.55)}
.bm-chkrow .rb3d{margin-top:0;height:56px;padding:0 26px;white-space:nowrap}
.bm-chkmsg{min-height:22px;margin:6px 2px 0;font-size:14px;color:#7fe3b8}.bm-chkmsg.bad{color:#ff8f86}
.bm-chkalt{margin:18px 0 0;font-size:14px;color:rgba(255,255,255,.75)}
.bm-chkalt button{all:unset;cursor:pointer;color:#7fe3b8;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.bm-chkalt button:focus-visible{outline:2px solid #7fe3b8;outline-offset:3px}
#bmChkOk{text-align:center}
#bmChkOk .bm-ring{margin:0 auto 14px}
.bm-chkev{display:inline-flex;flex-direction:column;gap:2px;margin:8px 0 6px;padding:14px 22px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2)}
.bm-chkev b{font:800 20px 'Plus Jakarta Sans';color:#fff}.bm-chkev span{font-size:14px;color:rgba(255,255,255,.78)}
.bm-chkact{margin-top:20px}.bm-chkact .rb3d{margin-top:0}
#bmChkOk .bm-wa{max-width:520px;margin:14px auto 0}


/* enquiry form */
#fm-enquiry .rq{color:#d93025;font-weight:800}
#fm-enquiry .er{display:block;min-height:0;margin-top:6px;font:600 13px 'Plus Jakarta Sans',sans-serif;color:#d93025}
#fm-enquiry .er:empty{display:none}
#fm-enquiry .f.bad input,#fm-enquiry .f.bad select,#fm-enquiry .f.bad textarea{border-color:#d93025;box-shadow:0 0 0 4px rgba(217,48,37,.12)}
#fm-enquiry .f.ok input,#fm-enquiry .f.ok select,#fm-enquiry .f.ok textarea{border-color:#0fa968}
#fm-enquiry ::placeholder{color:#8a94a8;opacity:1}
#fm-enquiry select:invalid{color:#8a94a8}
#fm-enquiry .rb3d{margin-top:0;align-self:flex-start}
#fm-enquiry .rb3d.busy{opacity:.75;pointer-events:none}
#fm-enquiry .enq-note{margin:14px 0 0;font:600 14px 'Plus Jakarta Sans',sans-serif;color:#43506b}
#fm-enquiry .msg{grid-column:1/-1;margin-top:6px;font-size:15px;line-height:1.5}
#fm-enquiry .msg.bad{color:#d93025}#fm-enquiry .msg.good{padding:14px 18px;border-radius:16px;background:rgba(15,169,104,.1);border:1px solid rgba(15,169,104,.4);color:#0b1f45}

.bwrap{position:relative}
.bnav{all:unset;cursor:pointer;position:absolute;top:calc(104px - 24px);z-index:3;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:700 26px/1 'Plus Jakarta Sans';color:#fff;background:linear-gradient(135deg,#0fa968,#1457e6);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 5px 0 #2a5fd6,0 16px 28px -8px rgba(20,87,230,.75);transition:transform .25s,box-shadow .25s}
.bnav.prev{left:-24px}.bnav.next{right:-24px}.bnav[hidden]{display:none}
.bnav:hover{transform:translateY(-3px) scale(1.06)}.bnav:active{transform:translateY(4px);box-shadow:0 1px 0 #2a5fd6}
.bnav:focus-visible{outline:3px solid #1457e6;outline-offset:3px}
.bdots{display:flex;justify-content:center;gap:9px;margin-top:34px}.bdots:empty{display:none}
.bdots i{width:9px;height:9px;border-radius:99px;background:rgba(20,87,230,.25);cursor:pointer;transition:.4s}
.bdots i.on{width:32px;background:linear-gradient(100deg,#0fa968,#1457e6)}
@media(max-width:1360px){.bnav.prev{left:-10px}.bnav.next{right:-10px}}
@media(max-width:600px){.bnav{top:130px;width:42px;height:42px;font-size:22px}.bnav.prev{left:2px}.bnav.next{right:2px}}
.tmpl{margin:0 0 14px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(15,169,104,.14),rgba(20,87,230,.14));border:1px dashed rgba(15,169,104,.6);display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.tmpl[hidden]{display:none}.tmt{display:flex;flex-direction:column;gap:2px;min-width:0}.tmt b{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#0fa968}.tmt span{font-size:12px;opacity:.75}
.tmc{display:flex;flex-direction:column;gap:3px;font-size:12.5px}.tmc code{font-family:'Space Grotesk',monospace;background:rgba(0,0,0,.08);padding:2px 8px;border-radius:8px;word-break:break-all}

/* ===== member area ===== */
nav.authed ul a{padding:10px 11px}nav.authed .btn.pri{display:none}
nav ul li.au a{font-weight:700}
nav ul li.au.lo a{background:linear-gradient(135deg,rgba(255,92,92,.22),rgba(255,92,92,.08));color:#ffd9d9;box-shadow:0 0 0 1px rgba(255,120,120,.35) inset}
nav ul li.au.lo a:hover{background:linear-gradient(135deg,#ff5c5c,#d93a4a);color:#fff}
.dsh{position:relative;min-height:100vh;padding:130px 18px 80px;color:#0b1f45;overflow:hidden;
 background:radial-gradient(ellipse 60% 50% at 80% 10%,#15388a,transparent 70%),radial-gradient(ellipse 50% 50% at 5% 100%,rgba(15,169,104,.38),transparent 70%),#050d24}
.dsh::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000,transparent 75%);mask-image:radial-gradient(ellipse at 50% 30%,#000,transparent 75%);pointer-events:none}
.dwrap{position:relative;z-index:2;width:min(1080px,100%);margin:0 auto;perspective:1400px}
.dcard{border-radius:34px;background:#fff;overflow:hidden;box-shadow:0 60px 120px -40px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.22),0 0 90px -20px rgba(61,220,151,.35);animation:mIn .9s cubic-bezier(.2,.9,.15,1) both}
.dhead{position:relative;display:flex;align-items:center;gap:26px;padding:42px 48px;color:#fff;overflow:hidden;background:radial-gradient(ellipse 60% 120% at 80% 0,rgba(61,220,151,.28),transparent 60%),linear-gradient(120deg,#07163a,#10306f 60%,#0b4a52)}
.dhead::after{content:"";position:absolute;top:0;left:-50%;width:35%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.12),transparent);transform:skewX(-20deg);animation:navShine 6s ease-in-out infinite}
.dav{flex:none;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;font:800 38px 'Space Grotesk',sans-serif;color:#fff;background:conic-gradient(from 200deg,#0fa968,#1457e6,#3ddc97,#0fa968);padding:5px;position:relative;z-index:1;box-shadow:0 0 0 8px rgba(255,255,255,.08),0 20px 40px -12px rgba(0,0,0,.6)}
.dav span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:linear-gradient(160deg,#10306f,#07163a)}
.dtx{position:relative;z-index:1;min-width:0}
.dk{display:inline-flex;align-items:center;gap:8px;font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.2em;color:#3ddc97;text-transform:uppercase}
.dk svg{width:16px;height:16px}
.dhead h1{font:700 clamp(30px,5vw,50px)/1.05 'Space Grotesk',sans-serif;margin:8px 0 8px;text-transform:uppercase;letter-spacing:.01em;color:#fff}
.dhead p{margin:0;color:rgba(226,236,255,.85);font-size:15px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dhead p b{color:#fff;letter-spacing:.03em}
.dpill{font-style:normal;font:800 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.1em;padding:7px 14px;border-radius:999px;background:#0fa968;color:#fff;box-shadow:0 0 18px rgba(15,169,104,.6)}
.dhl{position:absolute;right:44px;top:50%;transform:translateY(-50%);height:96px;opacity:.12;z-index:0;filter:grayscale(1) brightness(2)}
.dbody{padding:34px 48px 48px;background:linear-gradient(180deg,#fff,#f3f7ff)}
.dback{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;font:800 13px 'Plus Jakarta Sans',sans-serif;color:#1457e6;text-decoration:none;padding:9px 16px;border-radius:14px;background:#eaf1ff;border:1.5px solid #0b1f45;box-shadow:0 3px 0 #0b1f45;transition:.2s}
.dback svg{width:16px;height:16px}.dback:hover{transform:translateY(-2px);box-shadow:0 5px 0 #0b1f45}
.dstats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:26px}.dsr{background:linear-gradient(135deg,#fff7d6,#fff);border-color:#e6c25a}.dsr b{color:#8a6200}.dsr small{display:block;margin-top:4px;font:700 11px 'Plus Jakarta Sans',sans-serif;color:#7a6a3a;letter-spacing:.04em}@media(max-width:1000px){.dstats{grid-template-columns:repeat(3,1fr)}}
.dst{padding:16px 18px;border-radius:20px;background:#fff;border:1px solid #dbe6fb;box-shadow:0 14px 30px -18px rgba(11,31,69,.5)}
.dst b{display:block;font:700 30px 'Space Grotesk',sans-serif;color:#0b1f45}.dst span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#5d6f95;font-weight:700}
.dtiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dtl{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:150px;padding:22px;border-radius:24px;border:1.5px solid #cfdcf7;background:linear-gradient(180deg,#fff,#eef4ff);color:#0b1f45;font:800 16px 'Plus Jakarta Sans',sans-serif;text-decoration:none;cursor:pointer;
 box-shadow:0 6px 0 #c4d4f3,0 22px 30px -16px rgba(11,31,69,.45);transition:transform .25s,box-shadow .25s,border-color .25s;transform-style:preserve-3d}
.dtl i{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#19c97f,#1457e6);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 10px 18px -6px rgba(20,87,230,.6);transition:transform .3s}
.dtl i svg{width:28px;height:28px}
.dtl:hover{transform:translateY(-6px) rotateX(5deg);border-color:#0fa968;box-shadow:0 10px 0 #b3e5cf,0 30px 40px -16px rgba(15,169,104,.55)}
.dtl:hover i{transform:translateZ(30px) scale(1.1) rotate(-4deg)}
.dtl:active{transform:translateY(2px);box-shadow:0 2px 0 #c4d4f3}
.dtl.out i{background:linear-gradient(135deg,#ff7a7a,#d93a4a);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 10px 18px -6px rgba(217,58,74,.6)}
.dtl.out:hover{border-color:#d93a4a;box-shadow:0 10px 0 #f3c3c8,0 30px 40px -16px rgba(217,58,74,.5)}
.dtabs{display:inline-flex;padding:5px;border-radius:999px;background:#e6eefc;margin-bottom:22px;gap:4px}
.dtabs button{border:0;background:none;padding:11px 24px;border-radius:999px;font:800 14px 'Plus Jakarta Sans',sans-serif;color:#4a5d86;cursor:pointer;transition:.25s}
.dtabs button.on{color:#fff;background:linear-gradient(100deg,#0fa968,#1457e6);box-shadow:0 8px 18px -8px rgba(20,87,230,.8)}
.dtabs button em{font-style:normal;margin-left:6px;opacity:.8}
.mev{display:grid;grid-template-columns:84px 1fr auto;gap:20px;align-items:center;padding:18px 22px;border-radius:24px;background:#fff;border:1px solid #dbe6fb;margin-bottom:16px;box-shadow:0 6px 0 #dbe6fb,0 22px 34px -22px rgba(11,31,69,.5);transition:transform .25s,box-shadow .25s}
.mev:hover{transform:translateY(-4px);box-shadow:0 10px 0 #cfe3da,0 28px 38px -20px rgba(15,169,104,.5)}
.mev .dd{display:flex;flex-direction:column;align-items:center;justify-content:center;height:84px;border-radius:20px;color:#fff;background:linear-gradient(160deg,#10306f,#0b4a52);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.mev .dd b{font:700 32px/1 'Space Grotesk',sans-serif}.mev .dd span{font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.14em;color:#3ddc97}
.mev h3{margin:0 0 6px;font:700 21px 'Space Grotesk',sans-serif;color:#0b1f45}
.mev .mm{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px;color:#5d6f95}
.mst{display:inline-block;margin-bottom:8px;font:800 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.mst.up{background:#dcf7ea;color:#0a7a4b}.mst.ok{background:#e4ecff;color:#1b4fc0}.mst.wt{background:#fff1d6;color:#9a6200}
.dempty{text-align:center;padding:44px 20px;border-radius:24px;border:2px dashed #cfdcf7;color:#5d6f95}
.dempty b{display:block;font:700 22px 'Space Grotesk',sans-serif;color:#0b1f45;margin-bottom:6px}.dempty .rb3d{margin-top:18px}
.afm{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 22px}
.afm .f{display:flex;flex-direction:column;gap:7px;min-width:0}.afm .f.w{grid-column:1/-1}
.afm label{font:800 13px 'Plus Jakarta Sans',sans-serif;color:#0b1f45}.afm label b{color:#d93a4a}
.afm input,.afm select,.afm textarea{width:100%;box-sizing:border-box;padding:14px 16px;border-radius:16px;border:1.5px solid #cfdcf7;background:#fff;font:600 15px 'Plus Jakarta Sans',sans-serif;color:#0b1f45;transition:.2s}
.afm textarea{min-height:90px;resize:vertical}
.afm input:focus,.afm select:focus,.afm textarea:focus{outline:0;border-color:#1457e6;box-shadow:0 0 0 4px rgba(20,87,230,.15)}
.afm .bad{border-color:#d93a4a;box-shadow:0 0 0 4px rgba(217,58,74,.12)}.afm .er{font-size:12.5px;color:#d93a4a;font-weight:700;min-height:0}
.dur{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dur div{position:relative}.dur small{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-weight:800;color:#8a99bb;font-size:12px;pointer-events:none}
.pace{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,rgba(15,169,104,.12),rgba(20,87,230,.12));border:1px dashed rgba(15,169,104,.6);font:700 14px 'Plus Jakarta Sans',sans-serif}
.pace b{font:700 24px 'Space Grotesk',sans-serif;color:#0a7a4b}
.afoot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:24px}.afoot .rb3d{margin-top:0}
.amsg{font-weight:700;font-size:14px}.amsg.ok{color:#0a7a4b}.amsg.no{color:#d93a4a}
.acts{margin-top:34px}.acts h2{font:700 22px 'Space Grotesk',sans-serif;margin:0 0 14px}
.act{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:14px 18px;border-radius:18px;background:#fff;border:1px solid #dbe6fb;margin-bottom:10px}
.act i{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#19c97f,#1457e6)}.act i svg{width:24px;height:24px}
.act b{display:block;font:700 16px 'Space Grotesk',sans-serif}.act span{font-size:12.5px;color:#5d6f95}
.dmod{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-items:center;padding:18px;background:rgba(3,9,26,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.dmod[hidden]{display:none}
.dbox{width:min(460px,100%);max-height:92vh;overflow:auto;border-radius:28px;background:#fff;color:#0b1f45;padding:34px 30px;text-align:center;box-shadow:0 50px 100px -30px #000,0 0 0 1px rgba(255,255,255,.2);animation:mIn .5s cubic-bezier(.2,.9,.15,1) both}
.dbox .ic{width:76px;height:76px;margin:0 auto 16px;border-radius:24px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#ff7a7a,#d93a4a);box-shadow:0 8px 0 #a62535,0 20px 30px -10px rgba(217,58,74,.6);animation:lgoF 2.6s ease-in-out infinite}
.dbox .ic svg{width:36px;height:36px}
@keyframes lgoF{50%{transform:translateY(-6px) rotate(-4deg)}}
.dbox h2{font:700 28px 'Space Grotesk',sans-serif;margin:0 0 8px}.dbox p{margin:0 0 22px;color:#5d6f95;font-size:15px;line-height:1.5}
.dbtns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.dbtns .rb3d{margin-top:0}
.rb3d.red{background:linear-gradient(135deg,#ff7a7a,#d93a4a);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 0 #a62535,0 16px 26px -6px rgba(217,58,74,.7)}
.dbox .afm{text-align:left;grid-template-columns:1fr}
.idc{position:relative;text-align:left;color:#fff;border-radius:24px;padding:24px;margin-bottom:20px;overflow:hidden;background:radial-gradient(ellipse 70% 90% at 100% 0,rgba(61,220,151,.4),transparent 60%),linear-gradient(135deg,#07163a,#10306f 60%,#0b4a52);box-shadow:0 22px 40px -16px rgba(11,31,69,.8);transform:perspective(800px) rotateX(4deg);transition:transform .4s}
.idc:hover{transform:perspective(800px) rotateX(0) scale(1.02)}
.idc::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-20deg);animation:navShine 4.5s infinite}
.idc .t{display:flex;align-items:center;gap:10px;font:800 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.18em;color:#3ddc97}.idc .t img{height:34px;background:#fff;border-radius:8px;padding:3px}
.idc h3{font:700 26px 'Space Grotesk',sans-serif;margin:18px 0 4px;text-transform:uppercase}.idc .r{font:600 14px 'Plus Jakarta Sans',sans-serif;opacity:.85}.idc .r b{letter-spacing:.06em}
.idc .b{margin-top:16px;display:flex;justify-content:space-between;align-items:center;font-size:12px;opacity:.8}.idc .dpill{box-shadow:none}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);opacity:0;z-index:10000;padding:14px 26px;border-radius:999px;background:#0b1f45;color:#fff;font:700 14px 'Plus Jakarta Sans',sans-serif;box-shadow:0 18px 40px -10px rgba(0,0,0,.7),0 0 0 1px rgba(61,220,151,.5);transition:.4s;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}
@media(max-width:820px){.dhead{padding:30px 22px;gap:18px}.dav{width:84px;height:84px;font-size:28px}.dbody{padding:24px 18px 34px}.dstats{grid-template-columns:repeat(2,1fr)}.dtiles{grid-template-columns:repeat(2,1fr);gap:14px}.dhl{display:none}.afm{grid-template-columns:1fr}.mev{grid-template-columns:70px 1fr;gap:14px}.mev .dd{height:70px}.mev .mact{grid-column:1/-1}.dsh{padding-top:110px}}
@media(max-width:420px){.dhead{flex-direction:column;align-items:flex-start}.dtl{min-height:120px;font-size:14px}}

/* ===== registrations & challenges ===== */
.rcard{display:grid;grid-template-columns:84px 1fr auto;gap:20px;align-items:center;padding:18px 22px;border-radius:24px;background:#fff;border:1px solid #dbe6fb;margin-bottom:16px;box-shadow:0 6px 0 #dbe6fb,0 22px 34px -22px rgba(11,31,69,.5);transition:transform .25s,box-shadow .25s}
.rcard:hover{transform:translateY(-4px);box-shadow:0 10px 0 #cfe3da,0 28px 38px -20px rgba(15,169,104,.5)}
.rcard.clk{cursor:pointer}
.rcard .dd{display:flex;flex-direction:column;align-items:center;justify-content:center;height:84px;border-radius:20px;color:#fff;background:linear-gradient(160deg,#10306f,#0b4a52)}
.rcard .dd b{font:700 32px/1 'Space Grotesk',sans-serif}.rcard .dd span{font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.14em;color:#3ddc97}
.rcard h3{margin:0 0 6px;font:700 21px 'Space Grotesk',sans-serif;color:#0b1f45}
.rcard .mm{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px;color:#5d6f95}
.rcard .ra{display:flex;flex-direction:column;gap:10px;align-items:stretch}.rcard .ra .rb3d{margin-top:0;justify-content:center;white-space:nowrap}
.rcard.off{opacity:.62}.rcard.off:hover{transform:none;box-shadow:0 6px 0 #dbe6fb,0 22px 34px -22px rgba(11,31,69,.5)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.mst.no{background:#ffe3e6;color:#b3283a}.mst.gr{background:#eceff5;color:#6b7a99}.mst.hold{background:#fff1d6;color:#9a6200}
.rb3d.dis,.rb3d[disabled]{filter:grayscale(.9);opacity:.55;pointer-events:none}
.sh2{display:flex;align-items:center;gap:10px;font:700 20px 'Space Grotesk',sans-serif;margin:6px 0 14px;color:#0b1f45}.sh2 i{width:12px;height:12px;border-radius:50%;background:#0fa968;box-shadow:0 0 0 6px rgba(15,169,104,.18)}.sh2.mt{margin-top:28px;color:#6b7a99}.sh2.mt i{background:#9aa8c6;box-shadow:none}
.ev-note{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:18px;background:linear-gradient(135deg,rgba(15,169,104,.1),rgba(20,87,230,.1));border:1px dashed rgba(15,169,104,.6);font:600 14px/1.5 'Plus Jakarta Sans',sans-serif;color:#0b1f45;margin-bottom:22px}
.dbox.wide{width:min(520px,100%);text-align:left}.dbox.wide h2{text-align:center}
.dbox .sum{padding:14px 16px;border-radius:16px;background:#eef4ff;border:1px solid #dbe6fb;margin:0 0 18px;text-align:left;font-size:14px;line-height:1.55}.dbox .sum b{font:700 18px 'Space Grotesk',sans-serif;display:block}
.dbox .ic.gr{background:linear-gradient(135deg,#19c97f,#1457e6);box-shadow:0 8px 0 #0a3a9a,0 20px 30px -10px rgba(20,87,230,.6)}
.afm .hint{font-size:12px;color:#6b7a99;font-weight:600}
.dsel{padding:14px 16px;border-radius:16px;background:#eef4ff;border:1.5px dashed #9fb6e8;font:700 15px 'Plus Jakarta Sans',sans-serif;color:#0b1f45;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.dsel small{font-weight:600;color:#5d6f95}
.upl{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:2px dashed #9fb6e8;background:#f6f9ff;cursor:pointer;transition:.2s}.upl:hover{border-color:#1457e6;background:#eef4ff}
.upl input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upl img{width:64px;height:64px;object-fit:cover;border-radius:12px;display:none}.upl.has img{display:block}
.upl b{font:800 14px 'Plus Jakarta Sans',sans-serif;display:block}.upl span{font-size:12px;color:#6b7a99}
.upx{display:none;border:0;background:#ffe3e6;color:#b3283a;font:800 12px 'Plus Jakarta Sans',sans-serif;border-radius:10px;padding:8px 12px;cursor:pointer;margin-left:auto;position:relative;z-index:2}.upl.has .upx{display:block}
.fhead{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}.fhead h2{font:700 24px 'Space Grotesk',sans-serif;margin:0}
.act .mst{white-space:nowrap}.act .dm{margin-top:6px}
.act img.sc{width:48px;height:48px;border-radius:12px;object-fit:cover}
@media(max-width:820px){.rcard{grid-template-columns:70px 1fr;gap:14px;align-items:start}.rcard h3{font-size:19px}.rcard .dd{height:70px}.rcard .ra{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.rcard .ra .rb3d{flex:1}}
.dbox{scrollbar-width:none;-ms-overflow-style:none}.dbox::-webkit-scrollbar{display:none}
.dbox.wide{width:min(620px,100%);padding:26px 28px}.dbox.wide h2{font-size:24px;margin-bottom:12px}.dbox.wide .sum{margin-bottom:14px;padding:10px 14px}
.dbox.wide .afm{grid-template-columns:1fr 1fr;gap:12px 16px}.dbox.wide .afm .f{gap:5px}.dbox.wide .afm input{padding:11px 14px}
.dbox.wide .afm .dbtns,.dbox.wide .afm .amsg{grid-column:1/-1}
@media(max-width:560px){.dbox.wide .afm{grid-template-columns:1fr}}
.lbt{margin:6px 0 10px}.lbev{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin:30px 0 12px}.lbev h3{font:700 26px 'Space Grotesk',sans-serif;margin:0;color:#0b1f45}.lbev span{font-size:13px;color:#5d6f95;font-weight:700}
.lbtag{display:inline-block;font:800 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#e4ecff;color:#1b4fc0}.lbtag.x{background:#fff1d6;color:#9a6200}
.tbl td.rk.m1{color:#c28a00}.tbl td.rk.m2{color:#6b7a99}.tbl td.rk.m3{color:#a3622b}.lbach{display:block;font-size:12px;color:#6b7a99}
.lbempty{text-align:center;padding:50px 20px;border-radius:24px;border:2px dashed #cfdcf7;color:#5d6f95;margin-top:18px}.lbempty b{display:block;font:700 22px 'Space Grotesk',sans-serif;color:#0b1f45;margin-bottom:6px}
@media(max-width:640px){.tbl{overflow-x:auto}.tbl th,.tbl td{padding:11px 9px!important;font-size:12.5px}.lbev h3{font-size:21px}}
.davw{position:relative;flex:none;z-index:1}.dav{position:relative;overflow:visible}
.dav img{position:absolute;top:5px;right:5px;bottom:5px;left:5px;width:calc(100% - 10px);height:calc(100% - 10px);border-radius:50%;object-fit:cover}.dav img[hidden]{display:none}
.davb{z-index:3;position:absolute;right:-2px;bottom:4px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#fff;background:linear-gradient(135deg,#19c97f,#1457e6);border:2px solid #fff;box-shadow:0 4px 0 #0a3a9a,0 12px 20px -6px rgba(20,87,230,.8);transition:transform .2s,box-shadow .2s}
.davb:hover{transform:translateY(-2px) scale(1.06)}.davb:active{transform:translateY(2px);box-shadow:0 1px 0 #0a3a9a}
.davb svg{width:19px;height:19px;pointer-events:none}.davb input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%;font-size:0}
.dhl{position:absolute;right:40px;top:50%;transform:translateY(-50%);height:auto!important;width:auto;max-height:78px;padding:10px 18px;border-radius:20px;background:#fff;opacity:.95!important;filter:none!important;z-index:1;box-shadow:0 14px 30px -10px rgba(0,0,0,.55);box-sizing:content-box}
@media(max-width:820px){.dhl{display:block!important;max-height:34px;padding:6px 10px;border-radius:14px;top:16px;right:16px;transform:none}.dhead{padding-top:62px}}
.idp{position:absolute;top:18px;right:18px;width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.85);box-shadow:0 8px 18px rgba(0,0,0,.4);z-index:1}.idp[hidden]{display:none}
.medal{display:inline-flex;flex-direction:column;align-items:center;width:38px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.medal svg{width:38px;height:44px;display:block}
.tbl tr.me td{background:linear-gradient(90deg,rgba(15,169,104,.14),rgba(15,169,104,.03))}
.you{display:inline-block;margin-left:8px;font:800 10px 'Plus Jakarta Sans',sans-serif;letter-spacing:.1em;padding:3px 8px;border-radius:999px;background:#0fa968;color:#fff;vertical-align:middle}
.lbav{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;margin-right:10px;vertical-align:middle;background:linear-gradient(135deg,#19c97f,#1457e6);color:#fff;font:800 11px 'Plus Jakarta Sans',sans-serif;overflow:hidden}.lbav img{width:100%;height:100%;object-fit:cover}
.lbme{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:22px 26px;margin:0 0 22px;border-radius:28px;color:#fff;background:radial-gradient(ellipse 60% 120% at 90% 0,rgba(61,220,151,.3),transparent 60%),linear-gradient(120deg,#07163a,#10306f 60%,#0b4a52);box-shadow:0 30px 50px -28px rgba(11,31,69,.8)}
.lbme .dav{width:84px;height:84px;font-size:28px}.lbme h3{font:700 26px 'Space Grotesk',sans-serif;margin:0 0 4px;text-transform:uppercase}.lbme small{opacity:.8;font-size:13px}
.lbst{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.lbst div{padding:8px 14px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14)}.lbst b{display:block;font:700 20px 'Space Grotesk',sans-serif}.lbst span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.lbme .rb3d{margin-top:0}
@media(max-width:700px){.lbme{grid-template-columns:auto 1fr;padding:18px}.lbme .rb3d{grid-column:1/-1;justify-content:center}}
.lbtop[hidden]{display:none!important}.lbtop{margin:6px 0 18px;padding:6px}.lbtop button{padding:14px 34px;font-size:15px}.lbyou{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding:14px 20px;margin:0 0 14px;border-radius:20px;background:linear-gradient(135deg,rgba(15,169,104,.14),rgba(20,87,230,.12));border:1px dashed rgba(15,169,104,.65);font:700 14.5px 'Plus Jakarta Sans',sans-serif;color:#0b1f45}.lbyou b{color:#0a7a4b;font:700 20px 'Space Grotesk',sans-serif}.lbyou .rb3d{margin-top:0}
/* ===== nav user zone ===== */
.uzone{display:flex;align-items:center;gap:10px;margin-left:6px;position:relative;z-index:2}
nav:not(.authed) .uzone{display:none}
.bellw{position:relative}
.bell{position:relative;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:#e2ecff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);transition:.2s}
.bell:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}.bell svg{width:20px;height:20px}
.bell.ring svg{animation:bellR 2.4s ease-in-out infinite;transform-origin:50% 10%}@keyframes bellR{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(14deg)}90%{transform:rotate(-12deg)}95%{transform:rotate(8deg)}}
.bdg{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#ff4d5e;color:#fff;font:800 11px 'Plus Jakarta Sans',sans-serif;font-style:normal;box-shadow:0 0 0 2px #0b1f45}.bdg[hidden]{display:none}
.upill{display:flex;align-items:center;gap:10px;height:46px;padding:0 18px 0 5px;border-radius:999px;text-decoration:none;color:#fff;background:linear-gradient(135deg,#07163a,#0b3a5a);border:1px solid rgba(61,220,151,.5);box-shadow:0 8px 20px -8px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06) inset;transition:.2s;max-width:190px}
.upill:hover{transform:translateY(-2px);border-color:#3ddc97}
.uav{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#19c97f,#1457e6);font:800 13px 'Plus Jakarta Sans',sans-serif;color:#fff}.uav img{width:100%;height:100%;object-fit:cover}
.unm{font:800 14px 'Plus Jakarta Sans',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ntf{position:absolute;top:56px;right:-60px;width:min(360px,92vw);border-radius:22px;background:rgba(6,15,38,.98);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 60px -20px rgba(0,0,0,.8);overflow:hidden;color:#e2ecff;animation:mIn .35s both}
.ntf[hidden]{display:none}.ntfh{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.ntfh b{font:700 17px 'Space Grotesk',sans-serif}
.ntfh button{border:0;background:none;color:#3ddc97;font:800 12px 'Plus Jakarta Sans',sans-serif;cursor:pointer}
#ntfList{max-height:min(420px,60vh);overflow-y:auto;scrollbar-width:none}#ntfList::-webkit-scrollbar{display:none}
.ni{display:flex;gap:12px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.07);cursor:pointer;transition:.2s;text-decoration:none;color:inherit}.ni:hover{background:rgba(255,255,255,.06)}
.ni.un{background:rgba(61,220,151,.08)}.ni i{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-style:normal;font-size:18px;background:rgba(255,255,255,.1)}
.ni b{display:block;font:700 14px 'Plus Jakarta Sans',sans-serif;margin-bottom:2px}.ni span{font-size:12.5px;line-height:1.45;opacity:.8}.ni.un b::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#3ddc97;margin-left:8px}
.nie{padding:34px 18px;text-align:center;opacity:.7;font-size:14px}
nav.authed ul a{padding:10px 9px;font-size:12.5px}
@media(max-width:1100px){.unm{display:none}.upill{padding:0 5px}}
@media(max-width:900px){.uzone{margin-left:auto}.ntf{right:-70px}}
/* ===== club totals (home banner) ===== */
.ctot{position:relative;padding:8px 0 40px;background:linear-gradient(180deg,#050d24,#07122e)}
.ctot .ct-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin:0 0 16px;color:#e2ecff}.ctot .ct-h b{font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.2em;color:#3ddc97;text-transform:uppercase}.ctot .ct-h span{font-size:13px;opacity:.75}
.ctg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ctc{position:relative;overflow:hidden;padding:22px 22px 20px;border-radius:24px;color:#fff;background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.16);box-shadow:0 22px 40px -22px rgba(0,0,0,.8);transition:transform .3s}
.ctc:hover{transform:translateY(-6px)}.ctc::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(61,220,151,.35),transparent 70%)}
.ctc svg{width:26px;height:26px;color:#3ddc97;margin-bottom:10px}.ctc b{display:block;font:700 clamp(28px,3.2vw,40px)/1.05 'Space Grotesk',sans-serif;letter-spacing:.01em}.ctc b small{font-size:.5em;opacity:.8;margin-left:4px;font-weight:600}
.ctc span{display:block;margin-top:6px;font:800 11.5px 'Plus Jakarta Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:rgba(226,236,255,.8)}
@media(max-width:900px){.ctg{grid-template-columns:repeat(2,1fr);gap:12px}.ctc{padding:16px}}

/* ===== 3D club totals ===== */
.ctg{perspective:1100px}
.ctc{transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));transition:transform .18s ease-out,box-shadow .3s,border-color .3s;
 box-shadow:0 10px 0 rgba(8,20,52,.9),0 14px 0 rgba(61,220,151,.18),0 40px 50px -20px rgba(0,0,0,.85);animation:ctIn .9s cubic-bezier(.2,.9,.15,1) both,ctF 6s ease-in-out infinite;animation-delay:calc(var(--i,0)*.12s),calc(var(--i,0)*.12s + .9s)}
.ctc:nth-child(1){--i:0}.ctc:nth-child(2){--i:1}.ctc:nth-child(3){--i:2}.ctc:nth-child(4){--i:3}
@keyframes ctIn{from{opacity:0;transform:translateY(60px) rotateX(55deg) scale(.9)}to{opacity:1}}
@keyframes ctF{0%,100%{--ty:0px;translate:0 0}50%{translate:0 -8px}}
.ctc::before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-20deg);animation:navShine 5.5s ease-in-out infinite;animation-delay:calc(var(--i,0)*.7s);pointer-events:none}
.ctc svg{transform:translateZ(46px);filter:drop-shadow(0 10px 8px rgba(0,0,0,.5));transition:transform .3s}
.ctc b{transform:translateZ(34px);text-shadow:0 8px 14px rgba(0,0,0,.55)}.ctc span{transform:translateZ(18px)}
.ctc:hover{border-color:rgba(61,220,151,.7);box-shadow:0 14px 0 rgba(8,20,52,.9),0 18px 0 rgba(61,220,151,.3),0 50px 60px -18px rgba(15,169,104,.45)}
.ctc:hover svg{transform:translateZ(70px) scale(1.15) rotate(-6deg)}
.ctc.live{animation:ctIn .9s cubic-bezier(.2,.9,.15,1) both}
@media(prefers-reduced-motion:reduce){.ctc{animation:none}.ctc::before{display:none}}
/* ===== 3D leaderboard tabs ===== */
.lbtop{background:transparent!important;gap:16px;padding:6px 6px 14px!important;perspective:900px}
.lbtop button{position:relative;overflow:hidden;border:1.5px solid #cfdcf7;border-radius:18px;padding:15px 36px;font:800 15px 'Plus Jakarta Sans',sans-serif;color:#0b1f45;cursor:pointer;background:linear-gradient(180deg,#fff,#eaf1ff);box-shadow:0 6px 0 #b9cbee,0 18px 24px -12px rgba(11,31,69,.45);transform-style:preserve-3d;transition:transform .25s,box-shadow .25s,background .25s,color .25s}
.lbtop button:hover{transform:translateY(-4px) rotateX(8deg);box-shadow:0 10px 0 #b9cbee,0 26px 30px -12px rgba(11,31,69,.5)}
.lbtop button:active{transform:translateY(4px);box-shadow:0 2px 0 #b9cbee}
.lbtop button.on{color:#fff;border-color:rgba(255,255,255,.4);background:linear-gradient(135deg,#19c97f,#1457e6);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 6px 0 #0a3a9a,0 20px 30px -8px rgba(20,87,230,.75);animation:tabPop .5s cubic-bezier(.2,.9,.15,1)}
.lbtop button.on::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:navShine 3.2s ease-in-out infinite}
@keyframes tabPop{from{transform:translateY(8px) rotateX(-30deg) scale(.96)}to{transform:none}}
.lbtop button.on:hover{transform:translateY(-4px) rotateX(8deg)}
#lbGlobal,#lbMember{animation:panIn .55s cubic-bezier(.2,.9,.15,1) both}@keyframes panIn{from{opacity:0;transform:perspective(900px) translateY(24px) rotateX(10deg)}to{opacity:1}}

/* ===== 3D dashboard tiles ===== */
.dtiles{perspective:1300px}.dstats{perspective:1100px}
.dtl{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .18s ease-out,box-shadow .3s,border-color .3s;
 animation:tlIn .9s cubic-bezier(.2,.9,.15,1) both,tlF 5.5s ease-in-out infinite;animation-delay:calc(var(--i,0)*.1s),calc(var(--i,0)*.1s + .9s);overflow:hidden}
.dtl:nth-child(1){--i:0}.dtl:nth-child(2){--i:1}.dtl:nth-child(3){--i:2}.dtl:nth-child(4){--i:3}.dtl:nth-child(5){--i:4}.dtl:nth-child(6){--i:5}
@keyframes tlIn{from{opacity:0;transform:translateY(70px) rotateX(60deg) scale(.88)}to{opacity:1}}
@keyframes tlF{0%,100%{translate:0 0}50%{translate:0 -7px}}
.dtl:hover{transform:translateY(-8px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.dtl::before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);opacity:0;pointer-events:none}
.dtl:hover::before{opacity:1;animation:navShine 1.1s ease-out}
.dtl::after{content:"";position:absolute;left:50%;top:38%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:radial-gradient(circle,rgba(25,201,127,.35),transparent 70%);transform:translateZ(0) scale(.6);opacity:.0;transition:.4s;pointer-events:none}
.dtl:hover::after{opacity:1;transform:scale(1.5)}
.dtl i{position:relative;z-index:1;transform:translateZ(46px);animation:icB 3.4s ease-in-out infinite;animation-delay:calc(var(--i,0)*.35s)}
.dtl i::after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:24px;border:2px solid rgba(25,201,127,.55);animation:icR 2.6s ease-out infinite;animation-delay:calc(var(--i,0)*.35s)}
@keyframes icB{0%,100%{transform:translateZ(46px) translateY(0) rotate(0)}50%{transform:translateZ(60px) translateY(-5px) rotate(-3deg)}}
@keyframes icR{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.45);opacity:0}}
.dtl.out i::after{border-color:rgba(217,58,74,.55)}
.dtl:hover i{animation-play-state:paused;transform:translateZ(80px) scale(1.18) rotate(-6deg)}
.dtl{text-shadow:0 1px 0 #fff}
.dtl:nth-child(1) svg{animation:icWig 2.2s ease-in-out infinite;transform-origin:20% 80%}.dtl:nth-child(3) svg{animation:icTick 2s steps(8) infinite}
.dtl:nth-child(2) svg{animation:icPop 2.6s ease-in-out infinite}.dtl:nth-child(4) svg{animation:icShine 2.4s ease-in-out infinite}
.dtl:nth-child(5) svg{animation:icSway 3s ease-in-out infinite}.dtl:nth-child(6) svg{animation:icOut 2s ease-in-out infinite}
@keyframes icWig{0%,100%{transform:rotate(0)}30%{transform:rotate(-14deg)}60%{transform:rotate(10deg)}}
@keyframes icTick{to{transform:rotate(360deg)}}
@keyframes icPop{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
@keyframes icShine{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.1)}}
@keyframes icSway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes icOut{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
.dst{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .18s ease-out,box-shadow .3s;animation:tlIn .8s cubic-bezier(.2,.9,.15,1) both;animation-delay:calc(var(--i,0)*.08s);box-shadow:0 6px 0 #dbe6fb,0 18px 26px -16px rgba(11,31,69,.5)}
.dst:nth-child(1){--i:0}.dst:nth-child(2){--i:1}.dst:nth-child(3){--i:2}.dst:nth-child(4){--i:3}
.dst:hover{box-shadow:0 10px 0 #cfe3da,0 26px 34px -16px rgba(15,169,104,.45);border-color:#0fa968}
.dst b{transform:translateZ(26px);display:block}
@media(prefers-reduced-motion:reduce){.dtl,.dtl i,.dtl svg,.dtl i::after,.dst{animation:none!important}}
/* ===== edit profile ===== */
.epsec{margin:0 0 34px;padding:0 0 30px;border-bottom:1px solid #dbe6fb}.epsec:last-child{border:0;margin:0;padding:0}
.epsec h2{font:700 22px 'Space Grotesk',sans-serif;letter-spacing:.03em;text-transform:uppercase;margin:0 0 20px;color:#0b1f45}
.epph{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.epav{flex:none;width:84px;height:84px;border-radius:50%;padding:4px;background:conic-gradient(from 200deg,#0fa968,#1457e6,#3ddc97,#0fa968);display:grid;place-items:center;box-shadow:0 12px 24px -10px rgba(20,87,230,.6)}
.epav span,.epav img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:linear-gradient(160deg,#10306f,#07163a);color:#fff;font:800 26px 'Space Grotesk',sans-serif}.epav img[hidden],.epav span[hidden]{display:none}
.epph small{color:#6b7a99;font-size:14px;font-weight:600}
.afm .rw{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;grid-column:1/-1}
.afm .pw{position:relative}.afm .pw input{padding-right:48px}.afm .eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;color:#6b7a99;cursor:pointer;width:34px;height:34px;display:grid;place-items:center}.afm .eye svg{width:20px;height:20px}
.afm select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7a99' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:44px}
.epnote{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:#e4f6ec;border:1px solid #b8e4cc;color:#0b1f45;font:600 14.5px/1.5 'Plus Jakarta Sans',sans-serif;margin-bottom:18px}.epnote i{flex:none;width:22px;height:22px;border-radius:50%;background:#0a7a4b;color:#fff;display:grid;place-items:center;font:800 13px serif}
.epact{display:flex;justify-content:flex-end;margin-top:22px}.epact .rb3d{margin-top:0}
@media(max-width:700px){.afm .rw{grid-template-columns:1fr}.epact{justify-content:stretch}.epact .rb3d{width:100%;justify-content:center}}
