*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;color:#1d1d1f;background:#ffffff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
::selection{background:rgba(255,107,53,0.22);}

@keyframes auroraA{0%{transform:translate(0,0) scale(1);}100%{transform:translate(60px,-44px) scale(1.18);}}
@keyframes auroraB{0%{transform:translate(0,0) scale(1);}100%{transform:translate(-50px,40px) scale(1.12);}}
@keyframes auroraC{0%{transform:translate(0,0) scale(1);}100%{transform:translate(30px,30px) scale(1.22);}}
@keyframes dash{to{stroke-dashoffset:-220;}}

/* layout */
.wrap{position:relative;width:100%;overflow-x:hidden;}
.container{width:100%;max-width:1080px;margin:0 auto;}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:52px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,0.08);}
.nav-inner{width:100%;max-width:1080px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:600;letter-spacing:-0.01em;}
.brand .logo{width:auto;height:28px;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a.link{font-size:14px;color:#1d1d1f;opacity:0.85;}
.nav-links a.link:hover{opacity:1;}
.nav-links a.link.active{opacity:1;color:#c4501e;font-weight:500;}
.btn-pill{font-size:14px;font-weight:500;color:#fff;background:#FF6B35;padding:7px 16px;border-radius:980px;box-shadow:0 1px 8px rgba(255,107,53,0.35);}
.btn-pill:hover{background:#ef5d28;}

/* hero */
.hero{position:relative;min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 24px 80px;overflow:hidden;}
.hero.hero-sub-page{min-height:78vh;}
.aurora{position:absolute;border-radius:50%;}
.aurora-a{top:8%;left:18%;width:520px;height:520px;background:radial-gradient(circle at 50% 50%,rgba(255,107,53,0.55),rgba(255,107,53,0) 68%);filter:blur(30px);animation:auroraA 18s ease-in-out infinite alternate;}
.aurora-b{top:22%;right:12%;width:460px;height:460px;background:radial-gradient(circle at 50% 50%,rgba(255,154,91,0.5),rgba(255,154,91,0) 70%);filter:blur(34px);animation:auroraB 22s ease-in-out infinite alternate;}
.aurora-c{bottom:2%;left:38%;width:520px;height:420px;background:radial-gradient(circle at 50% 50%,rgba(255,178,124,0.42),rgba(255,178,124,0) 70%);filter:blur(40px);animation:auroraC 26s ease-in-out infinite alternate;}
.hero-inner{position:relative;z-index:1;max-width:980px;display:flex;flex-direction:column;align-items:center;}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#c4501e;}
.hero h1{margin:0;font-size:clamp(46px,7.4vw,96px);font-weight:600;letter-spacing:-0.035em;line-height:1.02;color:#1d1d1f;}
.hero-sub{margin:28px 0 0;max-width:680px;font-size:clamp(19px,2.2vw,24px);line-height:1.42;color:#5a5a5e;}
.hero-actions{display:flex;gap:18px;align-items:center;margin-top:38px;flex-wrap:wrap;justify-content:center;}
.btn-primary{font-size:18px;font-weight:500;color:#fff;background:#FF6B35;padding:14px 30px;border-radius:980px;box-shadow:0 4px 18px rgba(255,107,53,0.4);}
.btn-primary:hover{background:#ef5d28;}
.link-ghost{font-size:18px;font-weight:500;color:#c4501e;}
.stats{display:flex;gap:0;flex-wrap:wrap;justify-content:center;margin-top:52px;border-top:1px solid rgba(0,0,0,0.08);padding-top:26px;}
.stat{padding:0 26px;border-right:1px solid rgba(0,0,0,0.08);}
.stat:last-child{border-right:none;}
.stat-num{font-size:22px;font-weight:600;letter-spacing:-0.01em;}
.stat-label{font-size:13px;color:#86868b;margin-top:2px;}

/* generic sections */
section{scroll-margin-top:70px;}
.sec-pad{padding:clamp(90px,11vw,150px) 24px;}
.h2{margin:0;font-size:clamp(34px,4.6vw,58px);font-weight:600;letter-spacing:-0.03em;line-height:1.06;}
.lede{font-size:clamp(18px,2vw,22px);line-height:1.5;color:#5a5a5e;}

/* network / vision */
.map-card{margin-top:56px;background:#fff;border:1px solid rgba(0,0,0,0.07);border-radius:28px;padding:clamp(28px,4vw,52px);box-shadow:0 1px 3px rgba(0,0,0,0.04);}
.vision-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:48px;}
.vision-item{padding-top:20px;}
.vision-item h3{margin:0;font-size:20px;font-weight:600;letter-spacing:-0.01em;}
.vision-item p{margin:10px 0 0;font-size:16px;line-height:1.5;color:#6e6e73;}

/* interactive map */
.map-node{cursor:pointer;}
.map-node .halo{transition:fill .2s ease;}
.map-node:hover .halo,.map-node:focus-visible .halo{fill:rgba(255,107,53,0.24);}
.map-node .label{transition:fill .2s ease;}
.map-node:hover .label,.map-node:focus-visible .label{fill:#c4501e;}
.map-node:focus{outline:none;}
.map-node:focus-visible{outline:2px solid #FF6B35;outline-offset:2px;border-radius:6px;}
.map-caption{margin:20px 0 0;text-align:center;font-size:13px;color:#86868b;}

/* tracks */
.tracks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px;margin-top:56px;}
.track{border-radius:28px;padding:clamp(28px,3.5vw,44px);}
.track-gov{background:linear-gradient(180deg,#ffffff,#fff5ef);border:1px solid rgba(255,107,53,0.16);}
.track-tech{background:linear-gradient(180deg,#ffffff,#f1f5fb);border:1px solid rgba(40,90,160,0.14);}
.track-icon{width:52px;height:52px;border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.track h3{margin:0;font-size:26px;font-weight:600;letter-spacing:-0.015em;}
.track p{margin:12px 0 0;font-size:17px;line-height:1.5;color:#6e6e73;}
.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px;}
.tag{font-size:14px;font-weight:500;padding:7px 13px;border-radius:980px;}
.tag-gov{color:#c4501e;background:rgba(255,107,53,0.08);border:1px solid rgba(255,107,53,0.18);}
.tag-tech{color:#2f6fc4;background:rgba(47,111,196,0.08);border:1px solid rgba(47,111,196,0.18);}
.outputs-line{margin-top:26px;padding-top:18px;border-top:1px solid rgba(0,0,0,0.07);font-size:14px;color:#86868b;}
.outputs-line b{font-weight:600;color:#1d1d1f;}

/* why (dark) */
.why{background:#0b0b0c;color:#f5f5f7;padding:clamp(100px,13vw,180px) 24px;}
.why-inner{max-width:920px;margin:0 auto;text-align:center;}
.why .eyebrow{color:#FF8A5B;}
.why h2{margin:0;font-size:clamp(34px,5vw,66px);font-weight:600;letter-spacing:-0.03em;line-height:1.08;}
.why h2 .accent{color:#FF8A5B;}
.why-lede{margin:32px auto 0;max-width:680px;font-size:clamp(18px,2.1vw,23px);line-height:1.5;color:#a1a1a6;}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;margin-top:64px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.1);border-radius:20px;overflow:hidden;}
.why-cell{background:#0b0b0c;padding:34px 26px;}
.why-cell .t{font-size:17px;font-weight:600;}
.why-cell p{margin:8px 0 0;font-size:15px;line-height:1.5;color:#86868b;}

/* schedule */
.sched{max-width:880px;margin:0 auto;}
.sched-row{display:flex;align-items:baseline;gap:24px;padding:18px 0;border-top:1px solid rgba(0,0,0,0.1);}
.sched-row:last-child{border-bottom:1px solid rgba(0,0,0,0.1);}
.sched-time{width:130px;flex-shrink:0;font-size:15px;font-weight:500;color:#86868b;font-variant-numeric:tabular-nums;}
.sched-title{font-size:clamp(18px,2vw,21px);font-weight:500;}
.sched-row.feature{background:linear-gradient(90deg,rgba(255,107,53,0.06),rgba(255,107,53,0));}
.sched-row.feature .sched-time{font-weight:600;color:#c4501e;}
.sched-row.feature .sched-title{font-weight:600;color:#1d1d1f;}

/* who */
.who-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:48px;}
.who-card{background:#fff;border:1px solid rgba(0,0,0,0.07);border-radius:22px;padding:30px;}
.who-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;}
.who-dot{width:7px;height:7px;border-radius:50%;}
.who-body{margin-top:14px;font-size:17px;line-height:1.7;color:#1d1d1f;}

/* local hubs */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:48px;}
.hub-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(0,0,0,0.08);border-radius:22px;padding:28px;}
.hub-card.is-active{border-color:rgba(255,107,53,0.35);box-shadow:0 1px 3px rgba(255,107,53,0.08);}
.hub-badge{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:5px 11px;border-radius:980px;margin-bottom:16px;}
.hub-badge.active{color:#c4501e;background:rgba(255,107,53,0.1);border:1px solid rgba(255,107,53,0.22);}
.hub-badge.forming{color:#86868b;background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.08);}
.hub-card h3{margin:0;font-size:21px;font-weight:600;letter-spacing:-0.01em;}
.hub-loc{margin-top:4px;font-size:13px;font-weight:500;color:#86868b;}
.hub-card p{margin:14px 0 0;font-size:15px;line-height:1.5;color:#6e6e73;}
.hub-link{margin-top:auto;padding-top:18px;font-size:15px;font-weight:500;color:#c4501e;}
.hub-link:hover{color:#ef5d28;}
.hub-note{margin:24px 0 0;font-size:13px;color:#a1a1a6;}
.hub-card{scroll-margin-top:96px;}
.hub-card:target{border-color:rgba(255,107,53,0.5);box-shadow:0 0 0 4px rgba(255,107,53,0.12);}

/* event meta + teaser */
.event-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.event-chip{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1d1d1f;background:#fff;border:1px solid rgba(0,0,0,0.1);padding:9px 15px;border-radius:980px;}
.event-chip .dot{width:7px;height:7px;border-radius:50%;background:#FF6B35;}
.events-teaser{background:linear-gradient(180deg,#ffffff,#fff7f2);border:1px solid rgba(255,107,53,0.18);border-radius:28px;padding:clamp(32px,5vw,56px);box-shadow:0 1px 3px rgba(255,107,53,0.06);}

/* calendar embed */
.cal-embed{max-width:760px;margin:44px auto 0;}
.cal-embed iframe{width:100%;height:640px;border:1px solid #bfcbda88;border-radius:12px;display:block;}

/* outputs */
.out-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;margin-top:56px;}
.out-item{text-align:center;}
.out-num{font-size:clamp(44px,6vw,72px);font-weight:600;letter-spacing:-0.03em;color:#FF6B35;line-height:1;}
.out-label{margin-top:12px;font-size:17px;color:#6e6e73;}

/* attend / get-involved CTA */
.attend{background:radial-gradient(120% 100% at 50% 0%,#fff3ec 0%,#fbfbfd 70%);padding:clamp(100px,12vw,160px) 24px;}
.attend-inner{max-width:680px;margin:0 auto;text-align:center;}
.attend h2{margin:0;font-size:clamp(36px,5vw,64px);font-weight:600;letter-spacing:-0.03em;line-height:1.05;}
.attend-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:34px;}
.notice{margin-top:18px;font-size:14px;color:#86868b;}

/* footer */
.footer{background:#0b0b0c;color:#a1a1a6;padding:60px 24px 48px;}
.footer-top{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;align-items:flex-start;}
.footer-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:#f5f5f7;}
.footer-brand .logo{height:26px;width:auto;background:#fff;border-radius:7px;padding:2px;}
.footer-tag{margin:14px 0 0;font-size:14px;max-width:320px;line-height:1.5;}
.footer-cols{display:flex;gap:48px;flex-wrap:wrap;}
.footer-col{display:flex;flex-direction:column;gap:12px;font-size:14px;}
.footer-col a{color:#a1a1a6;}
.footer-col a:hover{color:#f5f5f7;}
.footer-bottom{max-width:1080px;margin:40px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,0.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:#6e6e73;}

@media (prefers-reduced-motion: reduce){
  .aurora,svg [style*="animation"]{animation:none !important;}
}

/* ---- Announcement bar (deadline, always visible) ---- */
.topbar{position:fixed;top:0;left:0;right:0;z-index:60;min-height:36px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;background:#1d1d1f;color:rgba(255,255,255,0.88);font-size:13px;line-height:1.3;padding:8px 16px;text-align:center;}
.topbar a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.topbar .tb-dot{width:6px;height:6px;border-radius:50%;background:#FF6B35;flex:none;}
.nav{top:36px;}
.hero{padding-top:152px;}
@media(max-width:600px){.nav{top:52px;}.hero{padding-top:168px;}}

/* ---- Event-page hero: deliberately different from the homepage ---- */
.hero-event{background:linear-gradient(155deg,#191919 0%,#2a1710 58%,#3d2011 100%);}
.hero-event .eyebrow{color:#FFA36B;}
.hero-event h1{color:#fff;}
.hero-event .hero-sub{color:rgba(255,255,255,0.7);}
.hero-event .stats{border-top-color:rgba(255,255,255,0.2);}
.hero-event .stat{border-right-color:rgba(255,255,255,0.2);}
.hero-event .stat-num{color:#fff;}
.hero-event .stat-label{color:rgba(255,255,255,0.55);}
.hero-event .link-ghost{color:rgba(255,255,255,0.82);}
.hero-event .link-ghost:hover{color:#fff;}
.hero-event .aurora{opacity:0.5;mix-blend-mode:screen;}

/* Date plate in the event hero */
.date-plate{display:inline-flex;align-items:stretch;gap:0;margin-bottom:26px;border:1px solid rgba(255,255,255,0.22);border-radius:14px;overflow:hidden;background:rgba(255,255,255,0.05);}
.date-plate div{padding:10px 18px;text-align:center;border-right:1px solid rgba(255,255,255,0.16);}
.date-plate div:last-child{border-right:none;}
.date-plate .dp-num{display:block;font-size:24px;font-weight:600;color:#fff;letter-spacing:-0.02em;line-height:1.1;}
.date-plate .dp-lab{display:block;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-top:3px;}
