:root{--void:#020508;--base:#06090f;--card-bg:rgba(11,16,28,0.85);--border:rgba(255,255,255,0.07);--border-c:rgba(0,212,255,0.22);--c:#00d4ff;--c-10:rgba(0,212,255,0.10);--c-20:rgba(0,212,255,0.20);--c-glow:rgba(0,212,255,0.14);--p:#7c5cfc;--t1:#eef3ff;--t2:#8fa4be;--t3:#4a6278;--display:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--body:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--w:1160px;--ease:cubic-bezier(.16,1,.3,1);--r:14px;}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;color-scheme:dark;}
body{font-family:var(--body);background:var(--void);color:var(--t1);line-height:1.7;font-size:17px;overflow-x:hidden;}
a{color:var(--c);text-decoration:none;transition:opacity .2s;}
a:hover{opacity:.75;}
::selection{background:var(--c-10);}

/* nav (matches assistant.css / icrg.css) */
nav{position:fixed;top:0;left:0;right:0;z-index:900;border-bottom:1px solid var(--border);}
.nb{position:absolute;inset:0;background:rgba(2,5,8,0.84);backdrop-filter:blur(28px) saturate(1.5);-webkit-backdrop-filter:blur(28px) saturate(1.5);}
.nw{position:relative;z-index:1;max-width:var(--w);margin:0 auto;padding:0 48px;height:66px;display:flex;align-items:center;justify-content:space-between;}
.logo{font-family:var(--display);font-size:15px;font-weight:700;color:var(--t1);letter-spacing:.01em;}
.logo-c{background:linear-gradient(125deg,#00d4ff 0%,#9b70ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:italic;font-weight:800;}
.nl{display:flex;align-items:center;gap:4px;}
.nl a{font-size:14px;color:var(--t2);padding:7px 15px;border-radius:8px;transition:color .15s,background .15s;}
.nl a:hover{color:var(--t1);background:rgba(255,255,255,0.05);opacity:1;}
.nbtn{font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:-.01em;padding:10px 22px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.14);color:var(--t1);border-radius:50px;transition:all .2s;}
.nbtn:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.22);opacity:1;color:var(--t1);}
.hbg{display:none;background:none;border:none;cursor:pointer;color:var(--t2);padding:6px;}
.hbg svg{width:20px;height:20px;}
.nd{display:none;flex-direction:column;position:absolute;top:66px;left:0;right:0;background:rgba(2,5,8,0.97);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-bottom:1px solid var(--border);padding:12px 24px 20px;gap:2px;z-index:800;}
.nd.open{display:flex;}
.nd a{font-size:15px;color:var(--t2);padding:12px 16px;border-radius:8px;}
.nd a:hover{color:var(--t1);background:rgba(255,255,255,0.05);opacity:1;}

/* sections */
section{padding:108px 0;position:relative;}
.w{max-width:var(--w);margin:0 auto;padding:0 48px;}

/* shared type */
.ey{font-family:var(--display);font-size:12px;font-weight:600;color:#5e7d96;letter-spacing:.04em;text-transform:uppercase;display:block;margin-bottom:16px;}
.ey-c{color:var(--c);font-weight:700;letter-spacing:.16em;font-size:11px;}
h2.sh{font-family:var(--display);font-size:clamp(32px,3.6vw,48px);font-weight:600;line-height:1.12;letter-spacing:-.025em;background:linear-gradient(135deg,#f0f6ff 0%,#c8dff0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:18px;}
.section-sub{font-size:17px;color:var(--t2);line-height:1.78;max-width:600px;margin-bottom:48px;}
hr.sd{border:none;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,184,212,0.2) 25%,rgba(0,184,212,0.35) 50%,rgba(0,184,212,0.2) 75%,transparent 100%);}
.ga{background:linear-gradient(125deg,#00d4ff 0%,#9b70ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-style:italic;font-weight:inherit;}

/* hero */
.bh-hero{padding:158px 0 100px;position:relative;overflow:hidden;}
.ph-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 55% at 30% 40%,rgba(0,212,255,0.10) 0%,transparent 60%),radial-gradient(ellipse 50% 45% at 80% 60%,rgba(120,80,255,0.08) 0%,transparent 60%);}
.ph-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(0,212,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.04) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 75% 60% at 40% 0%,black 0%,transparent 72%);mask-image:radial-gradient(ellipse 75% 60% at 40% 0%,black 0%,transparent 72%);}
.bh-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;}
.bh-hero-left{min-width:0;}
.bh-title{font-family:var(--display);font-size:clamp(44px,5.4vw,64px);font-weight:800;line-height:1.02;letter-spacing:-.025em;color:var(--t1);margin-bottom:22px;}
.bh-title .ga{font-style:italic;font-weight:800;}
.bh-sub{font-size:18px;color:var(--t2);line-height:1.7;max-width:520px;margin-bottom:32px;}
.bh-card{background:var(--card-bg);border:1px solid var(--border-c);border-radius:var(--r);padding:22px 26px;margin-bottom:28px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(255,255,255,0.07) inset,0 8px 28px rgba(0,0,0,.42);}
.bh-card-row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,0.05);}
.bh-card-row:last-child{border-bottom:none;}
.bh-card-key{font-family:var(--display);font-size:12px;font-weight:600;color:#6a88a0;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;}
.bh-card-val{font-family:var(--display);font-size:15px;font-weight:600;color:var(--t1);text-align:right;}
.bh-cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
.bh-btn{display:inline-flex;align-items:center;font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:-.005em;padding:15px 32px;background:linear-gradient(180deg,rgba(255,255,255,0.16) 0%,rgba(255,255,255,0) 55%) var(--c);color:var(--void);border-radius:50px;box-shadow:0 4px 22px rgba(0,212,255,.34),0 1px 0 rgba(255,255,255,0.3) inset,0 -1px 0 rgba(0,60,80,0.18) inset;transition:all .22s var(--ease);}
.bh-btn:hover{background:linear-gradient(180deg,rgba(255,255,255,0.20) 0%,rgba(255,255,255,0) 55%) #1ce0ff;box-shadow:0 8px 32px rgba(0,212,255,.5),0 0 0 6px var(--c-glow),0 1px 0 rgba(255,255,255,0.3) inset;transform:translateY(-2px);opacity:1;color:var(--void);}
.bh-cta-note{font-size:13px;color:var(--t3);}
.bh-hero-right{min-width:0;}
.bh-hero-fig{margin:0;}
.bh-cover{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:var(--r);box-shadow:0 18px 60px rgba(0,0,0,.55),0 0 0 1px rgba(0,212,255,.06);}
.bh-hero-cap{margin-top:14px;font-size:13px;color:var(--t2);text-align:center;line-height:1.55;letter-spacing:.005em;font-style:italic;}

/* format cards */
.bh-fmt{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:48px;}
.card-bg{background:var(--card-bg);border:1px solid rgba(255,255,255,0.08);border-radius:var(--r);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:relative;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,0.07) inset,0 8px 32px rgba(0,0,0,.42);transition:border-color .3s,transform .3s var(--ease),box-shadow .3s;}
.card-bg::after{content:'';position:absolute;top:0;left:16px;right:16px;height:1px;background:linear-gradient(90deg,transparent,rgba(0,212,255,.5),rgba(155,112,255,.28),transparent);opacity:0;transition:opacity .3s;}
.card-bg::before{content:'';position:absolute;top:0;left:0;right:0;height:35%;background:linear-gradient(180deg,rgba(255,255,255,0.03) 0%,transparent 100%);border-radius:var(--r) var(--r) 0 0;pointer-events:none;}
.card-bg:hover{border-color:rgba(0,212,255,.18);transform:translateY(-4px);box-shadow:0 1px 0 rgba(255,255,255,0.09) inset,0 20px 56px rgba(0,0,0,.5),0 0 0 1px rgba(0,212,255,.1);}
.card-bg:hover::after{opacity:1;}
.bh-fmt-c{padding:36px 32px;}
.bh-fmt-c h3{font-family:var(--display);font-size:21px;font-weight:600;color:var(--t1);margin-bottom:13px;letter-spacing:-.015em;}
.bh-fmt-c p{font-size:15px;color:#9bb4cc;line-height:1.72;}

/* host */
.bh-host{max-width:780px;}
.bh-host-lead{font-size:18px;color:var(--t2);line-height:1.74;max-width:560px;}

/* charity */
.ibg{background:linear-gradient(180deg,#080e1a 0%,#04080f 100%);border-top:1px solid rgba(255,255,255,0.07);border-bottom:1px solid rgba(255,255,255,0.07);}
.bh-charity{max-width:780px;}
.bh-charity-lead{font-size:18px;color:var(--t2);line-height:1.74;}

/* logistics */
.bh-logi{margin-top:36px;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--border);}
.bh-logi-row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--border);align-items:baseline;}
.bh-logi-row dt{font-family:var(--display);font-size:12px;font-weight:600;color:#6a88a0;letter-spacing:.04em;text-transform:uppercase;}
.bh-logi-row dd{font-size:16px;color:var(--t1);line-height:1.65;}

/* CTA */
.cta-bg{background:linear-gradient(180deg,#080e1a 0%,#04080f 100%);}
.cta-inner{max-width:620px;margin:0 auto;text-align:center;}
.cta-inner h2{font-family:var(--display);font-size:clamp(32px,3.4vw,44px);font-weight:600;color:var(--t1);letter-spacing:-.025em;margin-bottom:16px;line-height:1.15;}
.cta-inner p{font-size:16px;color:var(--t2);line-height:1.75;margin-bottom:32px;}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.bh-rsvp-note{margin-top:24px;font-size:13px;color:var(--t3);line-height:1.6;}

/* footer */
footer{padding:60px 0 40px;border-top:1px solid var(--border);background:var(--void);}
.fm{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px;}
.fb .logo{margin-bottom:11px;display:block;}
.fb p{font-size:13px;color:var(--t2);line-height:1.65;max-width:210px;}
.fco h4{font-family:var(--display);font-size:12px;font-weight:600;color:#6a88a0;letter-spacing:.03em;text-transform:uppercase;margin-bottom:15px;}
.fco a{display:block;font-size:14px;color:var(--t2);margin-bottom:9px;transition:color .15s;}
.fco a:hover{color:var(--t1);opacity:1;}
.fbot{padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.fcp,.fleg a{font-size:12px;color:#6a88a0;}
.fleg{display:flex;gap:18px;}
.fleg a:hover{color:var(--t2);opacity:1;}

/* reveal animation */
.r{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease);}
.r.d1{transition-delay:.1s;}.r.d2{transition-delay:.2s;}
.r.in{opacity:1;transform:none;}

@media(max-width:1000px){
  .w,.nw{padding:0 28px;}
  section{padding:78px 0;}
  .bh-hero{padding:120px 0 80px;}
  .bh-hero-grid{grid-template-columns:1fr;gap:36px;}
  .bh-hero-right{order:-1;}
  .bh-fmt{grid-template-columns:1fr;}
  .bh-logi-row{grid-template-columns:140px 1fr;gap:16px;}
  .fm{grid-template-columns:1fr 1fr;}
  .nl{display:none;}
  .hbg{display:flex;}
}
@media(max-width:600px){
  .bh-card-row{flex-direction:column;align-items:flex-start;gap:4px;}
  .bh-card-val{text-align:left;}
  .bh-logi-row{grid-template-columns:1fr;gap:6px;}
  .fm{grid-template-columns:1fr;}
  .fbot{flex-direction:column;align-items:flex-start;}
}
