
:root{
  --orbit:#0a1150; --orbit-2:#111a6b; --wall:#1d33c9; --wall-2:#2a44e0;
  --pink:#ff3ec8; --green:#3dff7a; --sun:#ff4b1f; --mustard:#ffb92e;
  --tile:#f7b8cc; --chrome:#dfe4f2; --ink:#f4f1ff; --ink-dim:#c9ccf2;
  --card:#f6f4ff; --card-ink:#1a2396; --rim:var(--green);
  --f-display:"Shrikhand","Cooper Black","Georgia",serif;
  --f-neon:"Tilt Neon","Trebuchet MS","Verdana",sans-serif;
  --f-body:"Josefin Sans","Futura","Century Gothic","Helvetica Neue",Arial,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --orbit:#0a1150; --ink:#f4f1ff; --card:#f6f4ff; --card-ink:#1a2396; }
}
:root[data-theme="dark"]{ --orbit:#0a1150; --ink:#f4f1ff; --card:#f6f4ff; --card-ink:#1a2396; }
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px);background:var(--orbit)}
body{margin:0;background:var(--orbit);color:var(--ink);font-family:var(--f-body);font-size:1.08rem;line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
   radial-gradient(1.5px 1.5px at 12% 18%,#fff 60%,transparent),
   radial-gradient(1px 1px at 72% 12%,#fff 60%,transparent),
   radial-gradient(1.5px 1.5px at 38% 64%,#fff 60%,transparent),
   radial-gradient(1px 1px at 88% 48%,#fff 60%,transparent),
   radial-gradient(1px 1px at 22% 88%,#fff 60%,transparent),
   radial-gradient(2px 2px at 58% 34%,#ffd6f5 60%,transparent),
   radial-gradient(1px 1px at 6% 52%,#fff 60%,transparent),
   radial-gradient(1.5px 1.5px at 94% 84%,#fff 60%,transparent),
   linear-gradient(180deg,var(--orbit),var(--orbit-2) 60%,var(--orbit));
  background-size:340px 340px,420px 420px,380px 380px,300px 300px,460px 460px,520px 520px,280px 280px,400px 400px,100% 100%;}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.05;margin:0;letter-spacing:.005em}
h2{font-size:clamp(2.3rem,5.6vw,4.4rem)}
p{margin:0 0 1em;max-width:62ch}
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--f-neon);font-size:1.15rem;text-decoration:none;padding:.8em 1.5em;border-radius:999px;border:2px solid currentColor;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-pink{color:#fff;background:var(--pink);border-color:var(--pink);box-shadow:0 0 0 0 var(--pink),0 0 24px rgba(255,62,200,.55)}
.btn-pink:hover{box-shadow:0 0 36px rgba(255,62,200,.85)}
.btn-ghost{color:var(--green);background:transparent;text-shadow:0 0 8px rgba(61,255,122,.6);box-shadow:inset 0 0 12px rgba(61,255,122,.25),0 0 12px rgba(61,255,122,.25)}

/* NAV */
.nav{position:fixed;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 12px);z-index:50;width:min(1180px,100% - 24px);
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 18px;border-radius:999px;
  background:rgba(10,17,80,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1.5px solid rgba(223,228,242,.28);box-shadow:0 0 18px rgba(29,51,201,.6)}
.nav .mark img{height:40px;width:auto;filter:drop-shadow(0 0 6px rgba(255,62,200,.7))}
.nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
.nav ul a{font-family:var(--f-neon);text-decoration:none;padding:.45em .9em;border-radius:999px;font-size:1.02rem;color:var(--ink-dim)}
.nav ul a:hover{color:#fff;background:rgba(255,255,255,.08);text-shadow:0 0 8px var(--pink)}
.nav .btn{padding:.55em 1.1em;font-size:1rem}
.nav-toggle{display:none;background:none;border:2px solid var(--chrome);color:var(--chrome);border-radius:999px;padding:.4em .9em;font-family:var(--f-neon);font-size:1rem}
@media (max-width:880px){
  .nav ul{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;background:var(--orbit);border:1.5px solid rgba(223,228,242,.28);border-radius:22px;padding:10px}
  .nav.open ul{display:flex}
  .nav-toggle{display:inline-block}
  .nav .btn{display:none}
}

/* HERO */
.hero{position:relative;min-height:100svh;display:grid;justify-items:center;align-content:start;text-align:center;padding:100px 20px 110px;overflow:hidden;
  background:radial-gradient(ellipse 80% 60% at 50% 35%,rgba(42,68,224,.85),rgba(29,51,201,.35) 55%,transparent 75%);}
.hero::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-1px;height:90px;background:var(--orbit);border-radius:50% 50% 0 0 / 100% 100% 0 0}
.ceiling{position:absolute;top:0;left:0;right:0;height:70px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 9px),linear-gradient(180deg,#8a93c9,#3a47a8);opacity:.35;
  -webkit-mask:linear-gradient(#000,transparent);mask:linear-gradient(#000,transparent)}
.ship{position:relative;width:min(88vw,620px);margin-top:10px;cursor:pointer;background:none;border:0;padding:0;color:inherit}
.ship .cables{position:absolute;left:0;right:0;top:-92px;height:92px}
.ship .cables::before,.ship .cables::after{content:"";position:absolute;top:0;bottom:0;width:1.5px;background:linear-gradient(transparent,rgba(223,228,242,.7))}
.ship .cables::before{left:34%}.ship .cables::after{right:34%}
.discwrap{position:relative;display:block}
.disc{display:block;position:relative;width:100%;aspect-ratio:4.2/1;border-radius:50%;
  background:
    radial-gradient(ellipse 30% 40% at 38% 32%,rgba(255,255,255,.95),transparent 70%),
    repeating-linear-gradient(90deg,rgba(10,17,80,.45) 0 1.5px,transparent 1.5px 13px),
    repeating-linear-gradient(0deg,rgba(10,17,80,.45) 0 1.5px,transparent 1.5px 9px),
    radial-gradient(ellipse at 50% 20%,#f3f5ff 0,#b7bfdf 30%,#6a74a8 60%,#2a306e 100%);
  box-shadow:inset 0 -14px 24px rgba(10,17,80,.7),inset 0 8px 14px rgba(255,255,255,.35);overflow:hidden}
.disc::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 45%,transparent 60%);background-size:250% 100%;animation:sweep 5s ease-in-out infinite;mix-blend-mode:overlay}
.rim{position:absolute;inset:-4px;border-radius:50%;border:4px solid var(--rim);box-shadow:0 0 14px var(--rim),0 0 46px var(--rim),inset 0 0 14px var(--rim);transition:border-color .6s,box-shadow .6s;pointer-events:none}
.ball{position:relative;width:34%;aspect-ratio:2/1;margin:-4% auto 0;border-radius:0 0 999px 999px;
  background:
    radial-gradient(ellipse 40% 50% at 35% 20%,rgba(255,255,255,.9),transparent 70%),
    repeating-linear-gradient(90deg,rgba(10,17,80,.5) 0 1.5px,transparent 1.5px 10px),
    repeating-linear-gradient(0deg,rgba(10,17,80,.5) 0 1.5px,transparent 1.5px 8px),
    radial-gradient(ellipse at 50% 0,#dfe4f2,#5b64a0 70%,#232a66);
  box-shadow:0 10px 30px rgba(0,0,0,.35)}
.glint{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 10px 3px #fff;opacity:0;animation:glint 3.2s infinite}
.glint:nth-of-type(1){left:22%;top:38%}.glint:nth-of-type(2){left:61%;top:24%;animation-delay:1.1s}.glint:nth-of-type(3){left:78%;top:55%;animation-delay:2s}
.beam{width:min(76vw,520px);aspect-ratio:1/.95;margin-top:-6px;position:relative;
  clip-path:polygon(50% 0,100% 100%,0 100%);
  background:radial-gradient(circle,rgba(255,255,255,.95) 0 1.4px,transparent 2.2px) 0 0/15px 15px,
    linear-gradient(180deg,rgba(255,255,255,.55),color-mix(in srgb,var(--rim) 45%,transparent) 55%,rgba(255,62,200,.25));
  transition:background .6s;animation:beam 4s ease-in-out infinite}
.hero-logo{width:min(86vw,580px);margin-top:12px;position:relative;z-index:2;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 14px rgba(255,62,200,.9)) drop-shadow(0 0 40px rgba(255,62,200,.5))}
.hero .tag{font-family:var(--f-neon);font-size:clamp(1.3rem,3vw,1.9rem);color:var(--green);text-shadow:0 0 6px var(--green),0 0 22px rgba(61,255,122,.6);margin:18px 0 6px}
.hero .sub{color:var(--ink-dim);margin:0 auto 22px;max-width:44ch}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;position:relative;z-index:3}
.status{display:inline-flex;align-items:center;gap:.55em;margin-top:18px;font-family:var(--f-neon);color:var(--ink);background:rgba(10,17,80,.6);border:1.5px solid rgba(223,228,242,.3);padding:.4em 1em;border-radius:999px;position:relative;z-index:3}
.status i{width:10px;height:10px;border-radius:50%;background:var(--sun);box-shadow:0 0 10px var(--sun)}
.status.open i{background:var(--green);box-shadow:0 0 10px var(--green);animation:pulse 1.6s infinite}
.tap-hint{font-family:var(--f-neon);font-size:.9rem;color:var(--ink-dim);opacity:.8;margin-top:8px;position:relative;z-index:3}
.bat{position:absolute;width:64px;color:#070c3d;z-index:1;filter:drop-shadow(0 0 3px var(--pink)) drop-shadow(0 0 10px rgba(255,62,200,.6));animation:drift 18s linear infinite}
.bat svg{width:100%;animation:flap .32s ease-in-out infinite alternate;transform-origin:center 40%}
.bat.b1{top:24%;left:-60px}.bat.b2{top:52%;left:-60px;width:44px;animation-duration:24s;animation-delay:-8s}.bat.b3{top:14%;left:-60px;width:34px;animation-duration:30s;animation-delay:-17s}

/* RIBBON */
.ribbon-wrap{overflow:hidden;position:relative;z-index:4;margin-top:-60px;padding:30px 0}
.ribbon{position:relative;margin:0 -30px;transform:rotate(-2.2deg);background:var(--mustard);color:var(--orbit);border-block:4px solid var(--orbit);box-shadow:0 0 0 3px var(--pink),0 12px 40px rgba(0,0,0,.35);overflow:hidden}
.ribbon .track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.ribbon span{font-family:var(--f-display);font-size:clamp(1.3rem,2.6vw,1.9rem);padding:.45em 0;white-space:nowrap}
.ribbon b{font-weight:400;color:var(--sun);margin:0 .7em}

/* STORY */
.story{padding:140px 0 110px}
.story .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,6vw,80px);align-items:center}
.ports{position:relative;aspect-ratio:1/1.05}
.port{position:absolute;border-radius:50%;overflow:hidden;border:8px solid var(--chrome);box-shadow:0 0 0 3px var(--orbit),0 0 0 6px var(--chrome),0 20px 50px rgba(0,0,0,.45)}
.port img{width:100%;height:100%;object-fit:cover}
.port.p1{width:78%;aspect-ratio:1;left:0;top:0}
.port.p2{width:44%;aspect-ratio:1;right:0;bottom:0;border-color:var(--tile)}
.sun{position:absolute;width:52%;aspect-ratio:1;right:4%;top:-6%;border-radius:50%;background:radial-gradient(circle,#c2261a,#ff4b1f 70%);box-shadow:0 0 0 4px var(--pink),0 0 40px var(--pink),0 0 90px rgba(255,62,200,.6)}
.year{font-family:var(--f-neon);font-size:clamp(4.5rem,11vw,8rem);line-height:.9;color:transparent;-webkit-text-stroke:2px var(--pink);text-shadow:0 0 18px rgba(255,62,200,.7);animation:flicker 7s infinite}
.story h2{margin:.1em 0 .5em}
.flight{list-style:none;margin:28px 0 0;padding:0;position:relative}
.flight::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;border-left:2px dashed rgba(223,228,242,.45)}
.flight li{position:relative;padding:0 0 18px 42px}
.flight li::before{content:"";position:absolute;left:3px;top:6px;width:18px;height:18px;border-radius:50%;background:var(--orbit);border:3px solid var(--green);box-shadow:0 0 10px var(--green)}
.flight li:last-child::before{border-color:var(--pink);box-shadow:0 0 10px var(--pink)}
.flight strong{font-family:var(--f-neon);font-weight:400;font-size:1.15rem;color:#fff;display:block}
.flight span{color:var(--ink-dim)}

/* MOTHERSHIP */
.mother{position:relative;padding:40px 0 60px}
.mother .stage{position:relative;min-height:920px;background:linear-gradient(90deg,#0a1150,#0b1f86);clip-path:polygon(0 6%,100% 0,100% 94%,0 100%);display:flex;align-items:center}
.mother .stage>img{position:absolute;top:0;right:0;width:56%;height:100%;object-fit:cover;object-position:center 30%}
@media (min-width:881px){.mother .stage>img{-webkit-mask:linear-gradient(90deg,transparent,#000 14%);mask:linear-gradient(90deg,transparent,#000 14%)}}
.mother .stage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 40%,rgba(11,31,134,.6) 44%,transparent 56%)}
.boomer{position:relative;z-index:2;margin-left:max(20px,calc((100% - 1180px)/2));width:min(560px,100% - 40px);padding:44px 44px 48px;
  background:var(--wall);border-radius:48% 12px 48% 12px / 24% 12px 24% 12px;box-shadow:0 0 0 3px var(--green),0 0 34px rgba(61,255,122,.55),0 24px 60px rgba(0,0,0,.5)}
.boomer h2{font-size:clamp(2rem,4.6vw,3.4rem);margin-bottom:.4em}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-30px;position:relative;z-index:3}
.strip figure{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:4/5;border:3px solid var(--chrome);transform:rotate(var(--r,0deg));box-shadow:0 18px 40px rgba(0,0,0,.45)}
.strip figure:nth-child(1){--r:-2deg}.strip figure:nth-child(2){--r:1.5deg;margin-top:30px}.strip figure:nth-child(3){--r:-1deg}
.strip img{width:100%;height:100%;object-fit:cover}

/* MENU */
.menu{padding:110px 0}
.menu-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin-bottom:34px}
.menu-head p{color:var(--ink-dim);margin:0}
.card{position:relative;background:var(--card);color:var(--card-ink);padding:clamp(28px,5vw,60px);
  clip-path:polygon(44px 0,calc(100% - 44px) 0,100% 44px,100% calc(100% - 44px),calc(100% - 44px) 100%,44px 100%,0 calc(100% - 44px),0 44px);
  background-image:radial-gradient(rgba(26,35,150,.07) 1px,transparent 1.5px);background-size:14px 14px}
.card-wrap{filter:drop-shadow(0 0 3px var(--pink)) drop-shadow(0 0 26px rgba(255,62,200,.55))}
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.tabs button{font-family:var(--f-neon);font-size:1.08rem;color:var(--card-ink);background:transparent;border:2px solid var(--card-ink);padding:.5em 1.2em;border-radius:40px 10px 40px 10px;cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--card-ink);color:#fff}
.panel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,60px);align-items:start}
.panel[hidden]{display:none}
.panel h3{font-size:clamp(1.9rem,4vw,2.8rem);color:var(--card-ink)}
.panel .lede{color:#3a42a8;margin-top:.6em}
.price-big{font-family:var(--f-display);font-size:clamp(4rem,10vw,6.5rem);color:var(--sun);line-height:1;text-shadow:3px 3px 0 var(--mustard)}
.items{list-style:none;margin:0;padding:0}
.items li{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-bottom:2px dotted rgba(26,35,150,.3);font-size:1.12rem;font-weight:600}
.items li .dots{flex:1}
.items li em{font-style:normal;font-family:var(--f-neon);color:var(--sun);font-size:1.2rem}
.items small{display:block;font-weight:400;color:#4b53b0;font-size:.95rem}
.note{font-size:.95rem;color:#4b53b0}
.astro-mini{width:90px;height:90px;border-radius:50%;object-fit:cover;border:4px solid var(--card-ink)}

/* REC ROOM */
.rec{padding:90px 0 110px;background:linear-gradient(180deg,transparent,rgba(29,51,201,.35) 30%,rgba(29,51,201,.35) 70%,transparent)}
.rec .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,70px);align-items:center}
.tv{position:relative;padding:22px 22px 60px;background:linear-gradient(145deg,#e9ecf7,#9aa3cc);border-radius:38px;box-shadow:inset 0 2px 0 #fff,0 0 0 4px var(--orbit),0 0 30px rgba(255,62,200,.45),0 30px 60px rgba(0,0,0,.5)}
.screen{position:relative;border-radius:28px/40px;overflow:hidden;aspect-ratio:4/3;background:#000;box-shadow:inset 0 0 40px rgba(0,0,0,.9)}
.screen img{width:100%;height:100%;object-fit:cover;filter:saturate(1.3) contrast(1.05)}
.screen::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 2px,transparent 2px 4px),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55));pointer-events:none}
.knobs{position:absolute;bottom:16px;right:28px;display:flex;gap:14px}
.knobs span{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#5b64a0);box-shadow:0 2px 4px rgba(0,0,0,.4)}
.tv .label{position:absolute;bottom:18px;left:30px;font-family:var(--f-display);color:var(--card-ink);font-size:1.2rem}
.antenna{position:absolute;top:-70px;left:50%;margin-left:-60px;width:120px;height:72px}
.antenna::before,.antenna::after{content:"";position:absolute;bottom:0;width:3px;height:80px;background:var(--chrome);transform-origin:bottom}
.antenna::before{left:58px;transform:rotate(-28deg)}.antenna::after{left:58px;transform:rotate(24deg)}
.games{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}
.games li{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border-radius:22px 22px 22px 4px;background:rgba(10,17,80,.55);border:1.5px solid rgba(223,228,242,.2)}
.games svg{flex:none;width:34px;height:34px}
.games strong{font-family:var(--f-neon);font-weight:400;font-size:1.2rem;display:block;color:#fff}
.games span{color:var(--ink-dim);font-size:1rem}

/* SIGHTINGS */
.sightings{padding:100px 0}
.sightings header{text-align:center;margin-bottom:46px}
.sightings header p{margin:12px auto 0;color:var(--ink-dim)}
.board{columns:4 230px;column-gap:22px}
.shot{break-inside:avoid;margin:0 0 26px;background:#fbfaff;padding:10px 10px 12px;border-radius:4px;transform:rotate(var(--r));box-shadow:0 16px 36px rgba(0,0,0,.45);cursor:zoom-in;border:0;width:100%;display:block;text-align:left;transition:transform .2s}
.shot:hover{transform:rotate(0) scale(1.03)}
.shot img{width:100%;border-radius:2px}
.shot span{display:block;font-family:var(--f-neon);color:var(--card-ink);font-size:1rem;padding:8px 4px 0}
dialog{border:0;padding:0;background:transparent;max-width:min(92vw,900px)}
dialog::backdrop{background:rgba(10,17,80,.88);backdrop-filter:blur(4px)}
dialog img{max-height:82vh;width:auto;margin:auto;border:6px solid #fbfaff;border-radius:6px;box-shadow:0 0 50px rgba(255,62,200,.5)}
dialog p{font-family:var(--f-neon);color:#fff;text-align:center;margin:12px auto 0}
dialog button{position:absolute;top:-8px;right:-8px;width:44px;height:44px;border-radius:50%;border:2px solid #fff;background:var(--pink);color:#fff;font-size:1.4rem;cursor:pointer}

/* LANDING / VISIT */
.landing{position:relative;margin-top:60px;padding:120px 0 90px;background:var(--wall);
  -webkit-mask:radial-gradient(34px at 50% 0,#0000 98%,#000) 50% 0/68px 100%;mask:radial-gradient(34px at 50% 0,#0000 98%,#000) 50% 0/68px 100%}
.lights{position:absolute;top:30px;left:0;right:0;height:60px;pointer-events:none}
.lights svg{width:100%;height:100%}
.bulb{animation:bulb 2.4s ease-in-out infinite}
.landing .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,60px);align-items:start}
.patio{border-radius:200px 200px 24px 24px;overflow:hidden;border:6px solid var(--chrome);box-shadow:0 0 0 3px var(--orbit),0 24px 50px rgba(0,0,0,.4)}
.patio img{width:100%;aspect-ratio:4/5;object-fit:cover}
.landing h2{margin-bottom:.35em}
.hours{list-style:none;margin:22px 0;padding:22px 26px;background:var(--orbit);border-radius:26px;box-shadow:0 0 0 3px var(--mustard),0 0 26px rgba(255,185,46,.45)}
.hours li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-family:var(--f-neon);font-size:1.15rem;color:var(--ink-dim);border-bottom:1px solid rgba(223,228,242,.12)}
.hours li:last-child{border:0}
.hours li.today{color:#fff;text-shadow:0 0 8px var(--pink)}
.hours li.today span:first-child::after{content:" (today)";color:var(--pink)}
.hours .shut{color:rgba(201,204,242,.5)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 24px}
.facts div{padding:14px 16px;border-radius:18px;background:rgba(10,17,80,.45)}
.facts dt{font-family:var(--f-neon);color:var(--mustard);font-size:1rem}
.facts dd{margin:0}
.facts a{text-decoration-color:var(--pink);text-underline-offset:3px}
.landing .ctas{display:flex;flex-wrap:wrap;gap:12px}

footer{padding:80px 0 50px;text-align:center;position:relative}
footer .flogo{width:min(320px,70vw);margin:0 auto 18px;filter:drop-shadow(0 0 10px rgba(61,255,122,.6))}
footer p{margin:0 auto 6px;color:var(--ink-dim)}
.tss{display:block;width:fit-content;margin:30px auto 0;opacity:.85;transition:opacity .2s}.tss:hover{opacity:1}.tss img{width:min(240px,70vw);height:auto;display:block}
.floater{width:80px;margin:30px auto 0;animation:float 6s ease-in-out infinite}

@keyframes sweep{0%,100%{background-position:120% 0}50%{background-position:-20% 0}}
@keyframes glint{0%,70%,100%{opacity:0;transform:scale(.3)}80%{opacity:1;transform:scale(1)}}
@keyframes beam{0%,100%{opacity:.85}50%{opacity:1}}
@keyframes flap{from{transform:scaleY(1)}to{transform:scaleY(.35)}}
@keyframes drift{0%{transform:translate(0,0)}25%{transform:translate(30vw,-40px)}50%{transform:translate(60vw,20px)}75%{transform:translate(90vw,-30px)}100%{transform:translate(120vw,0)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes flicker{0%,18%,22%,62%,64%,100%{opacity:1}20%,63%{opacity:.35}}
@keyframes pulse{50%{box-shadow:0 0 18px 4px var(--green)}}
@keyframes bulb{50%{opacity:.55}}
@keyframes float{50%{transform:translateY(-12px) rotate(4deg)}}

@media (max-width:880px){
  .story .wrap,.rec .wrap,.landing .wrap,.panel{grid-template-columns:1fr}
  .story{padding-top:110px}
  .ports{max-width:440px;width:100%;margin:0 auto}
  .mother .stage{min-height:780px;align-items:flex-end;padding-bottom:60px}
  .mother .stage>img{width:100%;height:78%;object-position:center 20%}
  .mother .stage::after{background:linear-gradient(0deg,#0a1150 22%,rgba(10,17,80,0) 55%)}
  .boomer{padding:32px 28px 36px}
  .strip{grid-template-columns:repeat(3,1fr);gap:10px}
  .facts{grid-template-columns:1fr}
  .rec .tv{margin-top:60px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .bat{display:none}
}
