:root{
  --bg:#050807;
  --bg2:#091211;
  --panel:#0c1412;
  --panel2:#111d1a;
  --text:#f4f8f6;
  --muted:#9cafaa;
  --muted2:#78918a;
  --cyan:#72e8f4;
  --teal:#34d0b6;
  --earth:#b9a06a;
  --line:rgba(255,255,255,.09);
  --line2:rgba(114,232,244,.18);
  --glow:rgba(114,232,244,.18);
  --radius:30px;
  --shadow:0 30px 80px rgba(0,0,0,.42);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 20% 0%,rgba(52,208,182,.12),transparent 32%),
    radial-gradient(circle at 88% 18%,rgba(114,232,244,.10),transparent 30%),
    linear-gradient(180deg,#040605 0%,#070d0c 42%,#030504 100%);
  line-height:1.65;
  overflow-x:hidden;
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:88px 88px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 74%);
}

.site-noise{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:30;
  opacity:.032;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

.cursor-glow{
  position:fixed;
  width:460px;
  height:460px;
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%);
  z-index:-1;
  opacity:.5;
  filter:blur(12px);
  background:radial-gradient(circle,var(--glow),transparent 66%);
}

a{color:inherit}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:15px clamp(18px,4vw,64px);
  background:rgba(5,8,7,.78);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
}

.brand img{
  height:58px;
  width:auto;
  display:block;
  filter:drop-shadow(0 0 20px rgba(114,232,244,.12));
}

.nav{
  display:flex;
  gap:8px;
  align-items:center;
}

.nav a{
  padding:10px 14px;
  color:var(--muted);
  text-decoration:none;
  border-radius:999px;
  font-size:.94rem;
  transition:.25s ease;
}

.nav a:hover{
  color:var(--text);
  background:rgba(255,255,255,.07);
}

.nav .nav-cta{
  color:#02100e;
  background:linear-gradient(135deg,var(--cyan),#b8fff4);
  font-weight:900;
}

.menu-toggle{
  display:none;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:white;
  border-radius:12px;
  font-size:1.5rem;
  padding:6px 12px;
}

.hero{
  position:relative;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.62fr);
  align-items:center;
  gap:clamp(32px,5vw,72px);
  padding:clamp(80px,10vw,145px) clamp(22px,6vw,90px);
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 42%,rgba(114,232,244,.16),transparent 26%),
    radial-gradient(circle at 10% 80%,rgba(185,160,106,.12),transparent 34%),
    linear-gradient(135deg,rgba(0,0,0,.18),rgba(255,255,255,.02));
}

.hero-map{
  position:absolute;
  inset:-10%;
  background:
    repeating-radial-gradient(circle at 78% 45%,rgba(114,232,244,.11) 0 1px,transparent 1px 34px),
    linear-gradient(120deg,transparent 0 48%,rgba(114,232,244,.08) 49%,transparent 50% 100%);
  opacity:.55;
  transform:rotate(-7deg);
  pointer-events:none;
}

.hero-radar{
  position:absolute;
  width:980px;
  height:980px;
  right:-220px;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  border:1px solid rgba(114,232,244,.11);
  pointer-events:none;
  animation:slowSpin 28s linear infinite;
}

.hero-radar:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(transparent,rgba(114,232,244,.13),transparent 16%);
}

.flight-path{
  position:absolute;
  width:520px;
  height:280px;
  right:11%;
  top:17%;
  border-top:1px solid rgba(114,232,244,.22);
  border-radius:50%;
  transform:rotate(-16deg);
  pointer-events:none;
}

.flight-path span{
  position:absolute;
  width:9px;
  height:9px;
  top:-5px;
  left:0;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 22px var(--cyan);
  animation:flightTrace 7s ease-in-out infinite;
}

@keyframes slowSpin{
  to{transform:translateY(-50%) rotate(360deg)}
}

@keyframes flightTrace{
  0%,100%{left:4%;opacity:.25}
  50%{left:86%;opacity:1}
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:1020px;
}

.eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--cyan);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.eyebrow span{
  width:42px;
  height:1px;
  background:linear-gradient(90deg,var(--cyan),transparent);
}

h1,h2,h3,p{margin-top:0}

h1{
  margin:0 0 28px;
  max-width:1050px;
  font-size:clamp(3.4rem,8vw,8.6rem);
  line-height:.88;
  letter-spacing:-.09em;
  text-wrap:balance;
}

h2{
  max-width:980px;
  font-size:clamp(2.15rem,4.7vw,4.8rem);
  line-height:.98;
  letter-spacing:-.065em;
  margin-bottom:20px;
  text-wrap:balance;
}

h3{
  font-size:1.35rem;
  letter-spacing:-.02em;
}

.lead{
  max-width:800px;
  color:#b9c8c3;
  font-size:clamp(1.08rem,2vw,1.34rem);
  line-height:1.85;
}

.hero-actions,
.support-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}

.btn{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.14);
  text-decoration:none;
  border-radius:999px;
  padding:15px 26px;
  font-weight:900;
  cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  isolation:isolate;
}

.btn:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 0%,transparent 38%,rgba(255,255,255,.22) 50%,transparent 62%,transparent 100%);
  transform:translateX(-130%);
  transition:transform .8s cubic-bezier(.19,1,.22,1);
  z-index:-1;
}

.btn:hover{
  transform:translateY(-3px);
  border-color:rgba(114,232,244,.36);
  box-shadow:0 16px 36px rgba(0,0,0,.34),0 0 30px rgba(114,232,244,.12);
}

.btn:hover:before{transform:translateX(130%)}

.btn:active{transform:translateY(0) scale(.98)}

.btn.primary{
  color:#02100e;
  background:linear-gradient(135deg,var(--cyan),#b8fff4);
}

.btn.secondary{
  color:var(--text);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(12px);
}

.trust-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:12px;
  max-width:720px;
  margin-top:42px;
}

.trust-strip div,
.account-card{
  padding:17px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  border:1px solid var(--line);
}

.trust-strip strong,
.account-card strong{
  display:block;
  color:var(--text);
  font-size:1.08rem;
}

.trust-strip span,
.account-card span{
  display:block;
  color:var(--muted2);
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.hero-panel{
  position:relative;
  z-index:2;
  padding:34px;
  border-radius:36px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}

.hero-panel img{
  width:min(280px,70%);
  display:block;
  margin:0 auto 26px;
  filter:drop-shadow(0 0 25px rgba(114,232,244,.12));
}

.hero-panel p{
  color:var(--cyan);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.78rem;
  font-weight:900;
}

.hero-panel h2{
  font-size:clamp(1.7rem,3vw,3rem);
  letter-spacing:-.06em;
}

.hud-line{
  height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  margin:10px 0 24px;
}

.signal-bars{
  display:flex;
  align-items:end;
  gap:8px;
  height:32px;
  margin-top:26px;
}

.signal-bars span{
  width:8px;
  border-radius:99px;
  background:linear-gradient(180deg,var(--cyan),rgba(114,232,244,.18));
  animation:barPulse 1.8s ease-in-out infinite;
}

.signal-bars span:nth-child(1){height:30%;animation-delay:.1s}
.signal-bars span:nth-child(2){height:55%;animation-delay:.2s}
.signal-bars span:nth-child(3){height:78%;animation-delay:.3s}
.signal-bars span:nth-child(4){height:100%;animation-delay:.4s}

@keyframes barPulse{
  50%{opacity:.45;transform:scaleY(.72)}
}

.section{
  padding:clamp(72px,9vw,130px) clamp(20px,6vw,90px);
}

.section-heading{
  max-width:980px;
  margin-bottom:38px;
}

.intro-grid,
.programme-grid,
.value-grid,
.audience-grid,
.account-grid,
.leaders,
.contact-grid,
.timeline,
.tech-grid{
  display:grid;
  gap:20px;
}

.intro-grid{grid-template-columns:1.2fr .8fr}

.intro-panel,
.value-grid article,
.programme-card,
.audience-grid article,
.timeline div,
.tech-grid article,
.leader-card,
.contact-form{
  position:relative;
  overflow:hidden;
  padding:clamp(24px,3vw,38px);
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.022));
  box-shadow:0 22px 54px rgba(0,0,0,.24);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.intro-panel:hover,
.value-grid article:hover,
.programme-card:hover,
.audience-grid article:hover,
.timeline div:hover,
.tech-grid article:hover,
.leader-card:hover,
.contact-form:hover,
.account-card:hover{
  transform:translateY(-5px);
  border-color:rgba(114,232,244,.26);
  box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 28px rgba(114,232,244,.08);
}

.intro-panel.big{grid-row:span 2}

.intro-panel p,
.programme-card p,
.value-grid p,
.audience-grid p,
.timeline p,
.tech-grid p,
.leader-card p,
.impact-card p,
.support-card p,
.future-card p{
  color:var(--muted);
}

.value-grid{grid-template-columns:repeat(4,1fr)}

.value-grid strong{
  font-size:1.18rem;
}

.programme-grid,
.tech-grid{
  grid-template-columns:repeat(3,1fr);
}

.icon{
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:var(--cyan);
  background:rgba(114,232,244,.09);
  border:1px solid var(--line2);
  margin-bottom:20px;
}

.future-card,
.impact-card,
.support-card{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:30px;
  align-items:center;
  border-radius:38px;
  border:1px solid var(--line2);
  background:
    radial-gradient(circle at 80% 0%,rgba(114,232,244,.13),transparent 34%),
    linear-gradient(135deg,rgba(114,232,244,.1),rgba(185,160,106,.06),rgba(255,255,255,.035));
  box-shadow:var(--shadow);
  padding:clamp(34px,5vw,70px);
}

.future-card{
  max-width:1180px;
}

.future-card p{
  max-width:880px;
  font-size:1.18rem;
  line-height:1.9;
}

.impact-card{
  grid-template-columns:1fr 1fr;
}

.metrics{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.metrics div{
  padding:22px;
  border-radius:22px;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.1);
}

.metrics strong{
  display:block;
  color:var(--cyan);
  font-size:clamp(2rem,4vw,4rem);
  line-height:1;
}

.metrics span{
  display:block;
  color:var(--muted);
  margin-top:10px;
}

.timeline{
  grid-template-columns:repeat(4,1fr);
}

.timeline span{
  display:block;
  color:var(--cyan);
  font-weight:900;
  letter-spacing:.13em;
}

.audience-grid{
  grid-template-columns:repeat(4,1fr);
}

.leaders{
  grid-template-columns:repeat(auto-fit,minmax(330px,1fr));
  gap:26px;
}

.leader-card.featured{
  background:
    radial-gradient(circle at 90% 0%,rgba(114,232,244,.11),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
}

.role{
  color:var(--cyan)!important;
  font-weight:900;
}

.leader-card em{
  display:block;
  color:#92b8b4;
  font-style:normal;
  margin-bottom:18px;
}

details{
  margin-top:16px;
}

summary{
  cursor:pointer;
  color:var(--cyan);
  font-weight:900;
  margin-bottom:16px;
}

summary::marker{
  color:var(--earth);
}

.account-grid{
  grid-template-columns:repeat(3,1fr);
}

.support-card{
  grid-template-columns:1.4fr .6fr;
}

.contact-grid{
  grid-template-columns:minmax(320px,900px);
  justify-content:center;
}

label{
  display:block;
  color:var(--muted);
  font-weight:800;
  margin-bottom:16px;
}

input,
select,
textarea{
  width:100%;
  margin-top:8px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:#07100e;
  color:white;
  padding:14px;
  font:inherit;
  outline:none;
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--cyan);
  box-shadow:0 0 0 4px rgba(114,232,244,.1);
}

.footer{
  padding:54px clamp(20px,6vw,90px);
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;
  gap:22px;
  align-items:center;
  justify-content:space-between;
  color:var(--muted);
  background:#020403;
}

.footer img{height:54px}

.footer a{
  color:var(--cyan);
  text-decoration:none;
  font-weight:900;
}

.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .75s ease,transform .75s ease;
}

.reveal.visible{
  opacity:1;
  transform:none;
}

@media (prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    animation:none!important;
    scroll-behavior:auto!important;
  }
}

@media(max-width:980px){
  .hero,
  .intro-grid,
  .impact-card,
  .support-card{
    grid-template-columns:1fr;
  }

  .programme-grid,
  .value-grid,
  .audience-grid,
  .timeline,
  .account-grid,
  .tech-grid{
    grid-template-columns:1fr 1fr;
  }

  .hero{
    min-height:auto;
  }

  .trust-strip{
    grid-template-columns:1fr;
  }

  .nav{
    display:none;
    position:absolute;
    left:16px;
    right:16px;
    top:86px;
    flex-direction:column;
    align-items:stretch;
    padding:14px;
    background:rgba(3,7,10,.96);
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
  }

  .nav.open{
    display:flex;
  }

  .menu-toggle{
    display:block;
  }

  .nav a{
    margin:0;
  }

  .footer{
    flex-direction:column;
    text-align:center;
  }
}

@media(max-width:620px){
  h1{font-size:3.25rem}

  .programme-grid,
  .value-grid,
  .audience-grid,
  .timeline,
  .account-grid,
  .leaders,
  .metrics,
  .tech-grid{
    grid-template-columns:1fr;
  }

  .section{
    padding:72px 18px;
  }

  .hero{
    padding:70px 18px;
  }

  .brand img{
    height:46px;
  }

  .site-header{
    padding:14px 16px;
  }

  .hero-panel{
    padding:24px;
  }

  .footer img{
    height:42px;
  }
}
