*{box-sizing:border-box}
:root{
  --bg:#020816;
  --text:#fff;
  --muted:#d7dbea;
  --blue:#0b9cff;
  --indigo:#5a32ff;
}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
button,input{font:inherit}
body{overflow-x:hidden}

.hero{
  position:relative;
  min-height:100svh;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:clamp(34px,5vw,70px) 22px;
  background:
    linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.18)),
    url("assets/cosmic-background.jpg") center/cover no-repeat;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at center,transparent 25%,rgba(0,0,0,.34) 100%);
  z-index:1;
}

.hero-content{
  position:relative;
  z-index:4;
  width:min(100%,760px);
  text-align:center;
  padding:38px 0 28px;
}

.eyebrow{
  margin-bottom:18px;
  color:#f4f6ff;
  font-size:clamp(20px,4vw,30px);
  font-weight:400;
}

.main-logo{
  display:block;
  width:clamp(190px,38vw,330px);
  margin:0 auto 18px;
  filter:drop-shadow(0 0 26px rgba(17,121,255,.42));
}

h1{
  margin:0;
  font-size:clamp(64px,15vw,120px);
  line-height:.92;
  letter-spacing:-.065em;
  font-weight:900;
  text-shadow:0 4px 18px rgba(0,0,0,.34);
}

.subhead{
  margin:38px auto 0;
  color:#f0f2f9;
  font-size:clamp(25px,5vw,42px);
  line-height:1.22;
  font-weight:400;
  text-shadow:0 3px 12px rgba(0,0,0,.45);
}

.tagline{
  margin:48px 0 0;
  font-size:clamp(24px,4.6vw,38px);
  font-weight:400;
}

.forever{
  margin:26px 0 0;
  font-size:clamp(34px,7vw,54px);
  font-weight:900;
}

.cta{
  display:block;
  width:min(78vw,520px);
  min-height:82px;
  margin:48px auto 0;
  border:1px solid rgba(255,255,255,.3);
  border-radius:999px;
  color:#fff;
  font-size:clamp(24px,4.2vw,34px);
  font-weight:900;
  cursor:pointer;
  background:linear-gradient(90deg,var(--blue) 0%,#1764ff 52%,var(--indigo) 100%);
  box-shadow:0 14px 38px rgba(25,91,255,.35),inset 0 1px 0 rgba(255,255,255,.22);
}

.cta:hover,.cta:focus-visible{filter:brightness(1.08);outline:3px solid rgba(112,207,255,.85);outline-offset:4px}
.launching{margin:22px 0 0;color:#b8bdca;font-size:clamp(18px,3vw,26px)}

.floating-layer{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.float-logo{position:absolute;display:block;filter:drop-shadow(0 0 18px rgba(23,115,255,.35));will-change:transform}
.logo-a{width:clamp(140px,26vw,270px);top:2%;left:-7%;opacity:.92;animation:floatA 14s ease-in-out infinite alternate}
.logo-b{width:clamp(90px,16vw,160px);top:20%;right:-3%;opacity:.34;filter:blur(2px) drop-shadow(0 0 14px rgba(23,115,255,.28));animation:floatB 17s ease-in-out infinite alternate}
.logo-c{width:clamp(72px,13vw,130px);left:4%;top:64%;opacity:.44;filter:blur(1px) drop-shadow(0 0 12px rgba(23,115,255,.25));animation:floatC 12s ease-in-out infinite alternate}
.logo-d{width:clamp(88px,15vw,150px);right:5%;top:55%;opacity:.28;filter:blur(2.4px) drop-shadow(0 0 13px rgba(23,115,255,.2));animation:floatD 15s ease-in-out infinite alternate}
.logo-e{width:clamp(300px,58vw,620px);right:-24%;bottom:-8%;opacity:.78;animation:floatE 19s ease-in-out infinite alternate}

@keyframes floatA{0%{transform:translate3d(0,0,0) rotate(-3deg)}50%{transform:translate3d(20px,24px,0) rotate(2deg)}100%{transform:translate3d(38px,-8px,0) rotate(-1deg)}}
@keyframes floatB{0%{transform:translate3d(0,0,0) rotate(2deg)}50%{transform:translate3d(-30px,18px,0) rotate(-4deg)}100%{transform:translate3d(-12px,42px,0) rotate(1deg)}}
@keyframes floatC{0%{transform:translate3d(0,0,0) rotate(-2deg)}50%{transform:translate3d(28px,-24px,0) rotate(4deg)}100%{transform:translate3d(58px,10px,0) rotate(-1deg)}}
@keyframes floatD{0%{transform:translate3d(0,0,0) rotate(3deg)}50%{transform:translate3d(-26px,22px,0) rotate(-3deg)}100%{transform:translate3d(-48px,-14px,0) rotate(2deg)}}
@keyframes floatE{0%{transform:translate3d(0,0,0) rotate(-2deg) scale(1)}50%{transform:translate3d(-24px,-28px,0) rotate(2deg) scale(1.03)}100%{transform:translate3d(10px,-48px,0) rotate(-1deg) scale(.99)}}

.menu-toggle{
  position:fixed;
  z-index:12;
  top:max(20px,env(safe-area-inset-top));
  right:20px;
  width:58px;
  height:58px;
  display:grid;
  place-content:center;
  gap:6px;
  border:1px solid rgba(98,173,255,.65);
  border-radius:50%;
  background:rgba(2,8,22,.72);
  backdrop-filter:blur(10px);
  cursor:pointer;
}
.menu-toggle span{display:block;width:27px;height:3px;border-radius:3px;background:#fff}

.site-menu{
  position:fixed;
  z-index:13;
  top:88px;
  right:20px;
  display:none;
  min-width:175px;
  padding:9px;
  border:1px solid rgba(97,166,255,.48);
  border-radius:15px;
  background:rgba(4,10,27,.96);
  box-shadow:0 18px 50px rgba(0,0,0,.48);
}
.site-menu.open{display:grid;gap:4px}
.site-menu button,.site-menu a{
  display:block;border:0;border-radius:10px;padding:13px 15px;color:#fff;text-align:left;background:transparent;cursor:pointer;text-decoration:none
}
.site-menu button:hover,.site-menu button:focus-visible,.site-menu a:hover,.site-menu a:focus-visible{background:rgba(46,116,255,.22);outline:none}

.modal-backdrop{
  position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:18px;
  background:rgba(0,3,13,.76);backdrop-filter:blur(10px)
}
.modal-backdrop[hidden]{display:none}
.modal{
  position:relative;width:min(100%,610px);max-height:calc(100svh - 36px);overflow:auto;
  padding:32px;border:1px solid rgba(105,170,255,.52);border-radius:28px;
  background:radial-gradient(circle at 90% 5%,rgba(74,54,255,.16),transparent 35%),linear-gradient(145deg,rgba(9,19,47,.99),rgba(3,8,23,.99));
  box-shadow:0 28px 80px rgba(0,0,0,.58)
}
.close-button{
  position:absolute;top:18px;right:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.12);
  border-radius:50%;color:#fff;font-size:32px;line-height:1;background:rgba(255,255,255,.08);cursor:pointer
}
.modal h2{margin:4px 58px 14px 0;font-size:clamp(34px,8vw,52px);line-height:1.05}
.modal>p{margin:0 0 26px;color:#c5cce1;font-size:19px;line-height:1.55}
label{display:block;margin:18px 0 8px;font-size:18px;font-weight:800}
input{
  width:100%;min-height:64px;padding:0 18px;border:1px solid #425071;border-radius:16px;
  color:#fff;background:rgba(255,255,255,.055);outline:none
}
input:focus{border-color:#65cfff;box-shadow:0 0 0 4px rgba(53,170,255,.18)}
.submit-button{
  width:100%;min-height:68px;margin-top:28px;border:0;border-radius:18px;color:#fff;
  font-weight:800;font-size:21px;cursor:pointer;
  background:linear-gradient(90deg,#18d5ee,#418cff 55%,#a276ff)
}
.fine-print,.form-message{margin:16px 0 0;text-align:center;color:#aeb8d1;font-size:15px;line-height:1.45}
.form-message{color:#83ddff;min-height:1.4em}

@media (max-width:540px){
  .hero{padding-top:76px;padding-bottom:34px}
  .hero-content{padding-top:8px}
  .subhead{margin-top:28px}
  .tagline{margin-top:34px}
  .cta{min-height:68px;margin-top:38px}
}
@media (prefers-reduced-motion:reduce){.float-logo{animation:none!important}}

.description{max-width:720px;margin:26px auto 0;color:#e4e8f3;font-size:clamp(17px,3vw,23px);line-height:1.5;text-shadow:0 3px 12px rgba(0,0,0,.45)}
.value-points{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin:24px auto 0;color:#fff;font-size:clamp(16px,2.6vw,21px);font-weight:700}
fieldset{min-width:0;margin:24px 0 0;padding:0;border:0}
legend{margin-bottom:12px;font-size:18px;font-weight:800}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choice-card{display:flex;align-items:flex-start;gap:11px;margin:0;padding:16px;border:1px solid #425071;border-radius:16px;background:rgba(255,255,255,.045);cursor:pointer;font-weight:400}
.choice-card:hover{border-color:#65cfff}
.choice-card:has(input:checked){border-color:#65cfff;box-shadow:0 0 0 3px rgba(53,170,255,.16);background:rgba(36,108,207,.15)}
.choice-card input{width:20px;min-height:20px;height:20px;margin:2px 0 0;padding:0;flex:0 0 auto;accent-color:#39aaff}
.choice-card span{display:block;min-width:0}
.choice-card strong{display:block;font-size:18px}
.choice-card small{display:block;margin-top:5px;color:#bec7dc;font-size:14px;line-height:1.4}
.choice-card b{display:block;margin-top:9px;color:#8ddcff;font-size:11px;letter-spacing:.08em}
.program-list{display:grid;gap:12px}
.recognition-panel{margin-top:22px;padding:18px;border:1px solid rgba(105,170,255,.4);border-radius:18px;background:rgba(36,108,207,.1)}
.recognition-panel p{margin:12px 0 0;color:#cbd3e6;line-height:1.5}
.badge-mark{display:inline-block;padding:7px 12px;border:1px solid #6fc7ff;border-radius:999px;color:#a9e3ff;font-size:12px;font-weight:900;letter-spacing:.12em}
@media(max-width:540px){.choice-grid{grid-template-columns:1fr}.modal{padding:26px 20px}.description{font-size:17px}.value-points{gap:8px 14px}.tagline{font-size:22px}}


/* About page */
.about-page{min-height:100svh;background:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.28)),url("assets/cosmic-background.jpg") center/cover fixed no-repeat;padding:42px 20px 70px}
.about-shell{width:min(920px,100%);margin:0 auto}
.about-nav{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:40px}
.about-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:24px;font-weight:900}
.about-brand img{width:54px;height:54px;object-fit:contain}
.about-nav-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.about-nav-links a{color:#fff;text-decoration:none;padding:11px 16px;border:1px solid rgba(105,170,255,.42);border-radius:999px;background:rgba(2,8,22,.55);backdrop-filter:blur(8px)}
.about-card{padding:clamp(28px,5vw,58px);border:1px solid rgba(105,170,255,.48);border-radius:30px;background:linear-gradient(145deg,rgba(9,19,47,.94),rgba(3,8,23,.96));box-shadow:0 28px 80px rgba(0,0,0,.45)}
.about-card h1{font-size:clamp(46px,9vw,78px);letter-spacing:-.045em;line-height:1;margin:0 0 26px}
.about-card h2{font-size:clamp(28px,5vw,42px);margin:48px 0 16px}
.about-card p{color:#d8deed;font-size:clamp(17px,2.5vw,21px);line-height:1.7;margin:0 0 20px}
.about-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0}
.about-values span{padding:15px 17px;border:1px solid rgba(105,170,255,.34);border-radius:15px;background:rgba(36,108,207,.09);font-weight:800}
.support-box{margin-top:28px;padding:24px;border:1px solid rgba(105,170,255,.4);border-radius:22px;background:rgba(36,108,207,.11)}
.indiegogo-button{display:inline-flex;align-items:center;justify-content:center;min-height:60px;margin-top:10px;padding:0 26px;border-radius:999px;color:#fff;text-decoration:none;font-size:18px;font-weight:900;background:linear-gradient(90deg,#e51075,#ff4d5d);box-shadow:0 12px 28px rgba(229,16,117,.25)}
.indiegogo-button[aria-disabled="true"]{opacity:.72;cursor:not-allowed}
.campaign-note{margin-top:12px!important;color:#aeb8d1!important;font-size:14px!important}
.about-footer{text-align:center;color:#abb4c9;margin-top:28px}
@media(max-width:620px){.about-nav{align-items:flex-start}.about-nav-links{gap:8px}.about-values{grid-template-columns:1fr}.about-card{border-radius:24px}.about-brand span{display:none}}
