/* ============================================================
   ASTRODYNE INDUSTRIES — style.css
   Atomic-age corporate optimism · chrome & cream · teal & coral
   ============================================================ */

:root{
  /* palette */
  --space:      #0A1B31;
  --space-2:    #0F2B4A;
  --night:      #071426;
  --ink:        #14304B;
  --teal:       #177E89;
  --teal-deep:  #0E5560;
  --teal-soft:  #7FC8B8;
  --teal-pale:  #BFE6DE;
  --coral:      #EF6B4F;
  --coral-deep: #C94832;
  --coral-dark: #8A2F20;
  --coral-soft: #F59B7E;
  --gold:       #F2B33D;
  --gold-deep:  #E09A2B;
  --cream:      #F7EEDC;
  --cream-2:    #EFE0BF;
  --paper:      #FBF4E4;
  --chrome-hi:  #FFFFFF;
  --chrome-mid: #C9CFD6;
  --chrome-lo:  #7E8B99;

  /* type */
  --f-display: 'Bungee', 'Arial Black', sans-serif;
  --f-swanky:  'Fontdiner Swanky', 'Brush Script MT', cursive;
  --f-head:    'Righteous', 'Trebuchet MS', sans-serif;
  --f-body:    'Josefin Sans', 'Century Gothic', 'Futura', sans-serif;
  --f-news:    'Playfair Display', 'Georgia', serif;

  --chrome-grad: linear-gradient(178deg,#fff 0%,#eef3f8 22%,#aeb9c6 45%,#f4f8fc 58%,#8d99a8 78%,#dfe6ee 100%);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html:focus-within{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--f-body);
  color:var(--ink);
  background:var(--cream)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
  line-height:1.55;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:var(--teal-deep)}
::selection{background:var(--coral);color:var(--cream)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}

.skip-link{
  position:fixed;top:-60px;left:12px;z-index:10001;
  background:var(--ink);color:var(--cream);padding:.6em 1em;
  font-family:var(--f-head);text-decoration:none;border-radius:0 0 8px 8px;
  transition:top .2s;
}
.skip-link:focus{top:0}

/* ============ PERIOD TEXTURE OVERLAYS ============ */
.scanlines{
  position:fixed;inset:0;z-index:9000;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(10,27,49,.16) 0 1px,transparent 1px 4px);
  opacity:.32;mix-blend-mode:multiply;
}
.vignette{
  position:fixed;inset:0;z-index:8999;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 45%,transparent 62%,rgba(9,22,40,.28) 100%);
}

/* ============ CHROME TEXT ============ */
.chrome-text{
  background:var(--chrome-grad);
  background-size:100% 260%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:chromeSheen 7s ease-in-out infinite;
  filter:drop-shadow(0 2px 0 rgba(10,27,49,.55)) drop-shadow(0 0 14px rgba(242,179,61,.14));
}
@keyframes chromeSheen{0%,100%{background-position:50% 8%}50%{background-position:50% 92%}}

/* ============ TOP BAR ============ */
.topbar{
  position:sticky;top:0;z-index:5000;
  background:linear-gradient(180deg,var(--paper),var(--cream-2));
  border-bottom:4px solid var(--ink);
  box-shadow:0 6px 0 -2px var(--chrome-lo),0 8px 18px rgba(10,27,49,.25);
}
.topbar-inner{
  max-width:1240px;margin:0 auto;padding:.55rem 1.25rem;
  display:flex;align-items:center;gap:1.4rem;
}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0}
.brand-burst{width:40px;height:40px;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.brand-burst path{fill:var(--gold)}
.brand-burst circle{fill:var(--coral)}
.brand:hover .brand-burst{transform:rotate(160deg) scale(1.12)}
.brand-word{
  font-family:var(--f-display);font-size:1.05rem;line-height:.9;
  color:var(--ink);display:flex;flex-direction:column;letter-spacing:.02em;
}
.brand-word em{
  font-style:normal;font-family:var(--f-head);font-size:.56rem;
  letter-spacing:.5em;color:var(--coral-deep);
}
.mainnav{display:flex;gap:.35rem;margin-left:auto}
.mainnav a{
  font-family:var(--f-head);font-size:.86rem;letter-spacing:.08em;
  color:var(--ink);text-decoration:none;text-transform:uppercase;
  padding:.5em .85em;border-radius:999px;position:relative;
  transition:background .2s,color .2s,transform .2s;
}
.mainnav a:hover{background:var(--teal);color:var(--cream);transform:translateY(-2px)}
.topbar-right{display:flex;align-items:center;gap:.8rem}
.est-pill{
  font-family:var(--f-head);font-size:.7rem;letter-spacing:.14em;
  border:2px solid var(--ink);border-radius:999px;padding:.28em .8em;
  color:var(--coral-deep);background:var(--cream);white-space:nowrap;
}
.navtoggle{
  display:none;flex-direction:column;gap:5px;justify-content:center;
  width:44px;height:44px;border:2px solid var(--ink);border-radius:8px;
  background:var(--cream);cursor:pointer;padding:8px;
}
.navtoggle span{height:3px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .2s}
.navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobilemenu{
  display:none;flex-direction:column;border-top:2px solid var(--ink);
  background:var(--cream-2);padding:.4rem 1.25rem 1rem;
}
.mobilemenu:not([hidden]){display:flex}
@media (min-width:901px){.mobilemenu{display:none!important}}
.mobilemenu a{
  font-family:var(--f-head);text-transform:uppercase;letter-spacing:.1em;
  color:var(--ink);text-decoration:none;padding:.7em .2em;
  border-bottom:1px dashed rgba(20,48,75,.3);
}
.mobilemenu a:last-child{border-bottom:0}

/* ============ HERO ============ */
.hero{
  position:relative;min-height:100svh;overflow:hidden;
  background:linear-gradient(180deg,#071426 0%,#0A1B31 38%,#123A5C 72%,#0E5560 100%);
}
.hero-sky{position:absolute;inset:0}
.starfield{position:absolute;inset:0}
.star{
  position:absolute;border-radius:50%;background:#fff;
  animation:twinkle var(--d,3s) ease-in-out var(--dl,0s) infinite;
}
.star::after{content:"";position:absolute;inset:-1.5px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.9),transparent 70%);opacity:.7}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}

.planet{
  position:absolute;top:9%;right:5%;width:min(24vw,300px);opacity:.9;
  animation:planetDrift 11s ease-in-out infinite;
}
@keyframes planetDrift{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(2deg)}}

.orbit-wrap{
  position:absolute;left:50%;top:52%;
  width:min(88vw,110vh);height:min(88vw,110vh);
  transform:translate(-50%,-50%);
  animation:orbitSpin 46s linear infinite;
}
.orbit-path{
  position:absolute;left:50%;top:52%;
  width:min(88vw,110vh);height:min(88vw,110vh);
  transform:translate(-50%,-50%) rotate(-8deg) scaleY(.94);
  border:1.5px dashed rgba(127,200,184,.28);border-radius:50%;
}
.satellite{
  position:absolute;left:50%;top:-3.5%;width:88px;transform:translateX(-50%);
  filter:drop-shadow(0 0 8px rgba(242,179,61,.6));
}
@keyframes orbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

.searchlight{
  position:absolute;bottom:-6vh;width:16vh;height:95vh;
  background:linear-gradient(to top,rgba(247,238,220,.34),rgba(247,238,220,.08) 55%,transparent 78%);
  clip-path:polygon(46% 100%,54% 100%,100% 0,0 0);
  transform-origin:50% 100%;mix-blend-mode:screen;filter:blur(1px);
}
.sl-left{left:8%;animation:sweep 9s ease-in-out infinite alternate}
.sl-right{right:8%;animation:sweep 11s ease-in-out -4s infinite alternate-reverse}
@keyframes sweep{from{transform:rotate(-24deg)}to{transform:rotate(24deg)}}

.hero-stage{
  position:relative;z-index:2;min-height:100svh;max-width:1240px;margin:0 auto;
  display:flex;align-items:center;gap:2rem;padding:7.5rem 2rem 5.5rem;
}
.hero-copy{flex:1 1 52%;color:var(--cream)}
.hero-kicker{
  font-family:var(--f-head);letter-spacing:.32em;font-size:.72rem;
  color:var(--gold);margin:0 0 1.1rem;position:relative;z-index:2;
  text-shadow:0 1px 3px rgba(7,20,38,.85),0 0 12px rgba(7,20,38,.5);
}
.logo-lockup{position:relative;display:inline-block}
.logo-burst{
  position:absolute;width:150px;height:150px;left:-58px;top:-46px;z-index:-1;
  animation:burstFlare 5s ease-in-out infinite;
}
.logo-burst path{fill:var(--gold);opacity:.9}
.logo-burst circle{fill:var(--coral)}
@keyframes burstFlare{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.13) rotate(8deg)}}
.logotype{
  margin:0;font-family:var(--f-display);
  font-size:clamp(2.6rem,7.2vw,5.4rem);line-height:.95;letter-spacing:.015em;
}
.logotype-sub{
  margin:.55rem 0 0;font-family:var(--f-head);color:var(--cream);
  letter-spacing:.62em;font-size:clamp(.8rem,1.6vw,1.05rem);
}
.tagline{margin:1.4rem 0 .4rem}
.tag-script{
  font-family:var(--f-swanky);font-size:clamp(1.5rem,3.4vw,2.5rem);
  color:var(--coral-soft);text-shadow:0 2px 0 rgba(0,0,0,.35);
}
.hero-blurb{
  font-size:clamp(.95rem,1.4vw,1.12rem);color:var(--teal-pale);
  letter-spacing:.05em;margin:1rem 0 1.8rem;
}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap}
.btn{
  font-family:var(--f-head);text-transform:uppercase;letter-spacing:.12em;
  font-size:.95rem;text-decoration:none;padding:.85em 1.6em;border-radius:999px;
  border:3px solid var(--cream);transition:transform .18s,box-shadow .18s,background .18s;
}
.btn-coral{background:var(--coral);color:var(--cream);box-shadow:0 5px 0 var(--coral-dark)}
.btn-coral:hover{transform:translateY(-3px);box-shadow:0 8px 0 var(--coral-dark)}
.btn-coral:active{transform:translateY(1px);box-shadow:0 3px 0 var(--coral-dark)}
.btn-ghost{background:transparent;color:var(--cream);box-shadow:0 5px 0 rgba(247,238,220,.35)}
.btn-ghost:hover{background:rgba(247,238,220,.12);transform:translateY(-3px)}

/* --- the rocket --- */
.rocket-scene{flex:1 1 40%;position:relative;display:flex;justify-content:center;min-width:280px}
.rocket{width:min(280px,42vw);cursor:pointer;position:relative;animation:rocketBob 5.5s ease-in-out infinite;outline-offset:8px}
.rocket svg{overflow:visible}
@keyframes rocketBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.rocket-flame{animation:flameFlick .28s ease-in-out infinite alternate;transform-origin:150px 470px}
@keyframes flameFlick{from{transform:scaleY(.92) scaleX(.96)}to{transform:scaleY(1.05) scaleX(1.03)}}
.rocket:hover .rocket-flame{animation-duration:.14s}
.rocket-shadow{
  position:absolute;left:12%;right:12%;bottom:-16px;height:20px;
  background:radial-gradient(50% 50% at 50% 50%,rgba(4,12,24,.55),transparent 70%);
}
.smoke{
  position:absolute;bottom:-10px;width:56px;height:26px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(247,238,220,.75),rgba(247,238,220,0));
  opacity:0;
}
.s1{left:-14%}.s2{right:-16%}.s3{left:32%;bottom:-20px}
.rocket.launching{animation:rocketBob 5.5s ease-in-out infinite,launchShake .12s linear 12}
.rocket.launching .rocket-flame{animation:flameFlick .1s ease-in-out infinite alternate;transform:scaleY(1.35)}
.rocket.launching .smoke{animation:smokePuff 1.5s ease-out forwards}
.rocket.launching .s2{animation-delay:.18s}.rocket.launching .s3{animation-delay:.35s}
@keyframes launchShake{0%{transform:translate(0,0)}25%{transform:translate(2px,-3px)}50%{transform:translate(-2px,1px)}75%{transform:translate(1px,2px)}100%{transform:translate(0,0)}}
@keyframes smokePuff{0%{opacity:.9;transform:scale(.5)}100%{opacity:0;transform:scale(2.6) translateY(-18px)}}
.launchpad{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(430px,60vw);z-index:-1}

.hero-scroll{
  position:absolute;bottom:1.4rem;left:50%;transform:translateX(-50%);
  color:var(--teal-pale);font-family:var(--f-head);font-size:.68rem;letter-spacing:.3em;
  display:flex;flex-direction:column;align-items:center;gap:.35rem;z-index:3;
}
.hero-scroll svg{width:18px;height:18px;animation:cueBounce 1.6s ease-in-out infinite}
@keyframes cueBounce{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}

/* ============ TICKER ============ */
.ticker{
  background:var(--coral);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);
  overflow:hidden;position:relative;z-index:3;
}
.ticker-track{
  display:flex;width:max-content;white-space:nowrap;
  animation:tick 30s linear infinite;
}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{
  font-family:var(--f-head);color:var(--cream);letter-spacing:.22em;
  font-size:.92rem;padding:.7em 0;text-transform:uppercase;
}
@keyframes tick{to{transform:translateX(-50%)}}

/* ============ SECTION HEADS ============ */
.section-head{text-align:center;padding:4.5rem 1.5rem 2.5rem;position:relative}
.section-title{
  font-family:var(--f-display);font-size:clamp(1.6rem,4.2vw,2.9rem);
  line-height:1.08;margin:.6rem 0 .8rem;letter-spacing:.01em;
}
.products .section-title .chrome-text,.story .section-title .chrome-text{
  filter:drop-shadow(0 2px 0 rgba(138,47,32,.45)) drop-shadow(0 0 12px rgba(23,126,137,.12));
}
.products .chrome-text,.story .chrome-text{
  background:linear-gradient(178deg,#2a9bab 0%,#177E89 30%,#0E5560 48%,#37B7B0 60%,#0E5560 80%,#1F96A3 100%);
  background-size:100% 260%;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:chromeSheen 7s ease-in-out infinite;
}
.section-sub{
  font-family:var(--f-body);color:var(--teal-deep);font-size:1.02rem;
  letter-spacing:.06em;margin:0 auto;max-width:640px;
}
.section-sub-light{color:var(--teal-pale)}
.boomerang{width:88px;height:30px;margin:0 auto;fill:var(--coral)}
.boomerang-light{fill:var(--gold)}

/* ============ PRODUCT ADS ============ */
.products{position:relative;padding-bottom:2rem}
.ad-grid{
  max-width:1240px;margin:0 auto;padding:1rem 1.5rem 2rem;
  display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;
}
.ad{
  position:relative;background:var(--paper);
  border:3px solid var(--ink);border-radius:6px;
  outline:2px solid var(--ink);outline-offset:-9px;
  padding:2.1rem 1.7rem 1.6rem;text-align:center;
  box-shadow:8px 10px 0 rgba(20,48,75,.18);
  transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s;
}
.ad:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:12px 16px 0 rgba(20,48,75,.22)}
.ad-kicker{
  font-family:var(--f-head);font-size:.68rem;letter-spacing:.42em;
  color:var(--coral-deep);margin:0 0 .4rem;
}
.ad-title{
  font-family:var(--f-head);font-size:clamp(1.35rem,2.4vw,1.8rem);
  line-height:1.05;color:var(--ink);margin:.2rem 0 1rem;
  text-transform:uppercase;letter-spacing:.03em;
}
.ad-title span{font-size:.62em;color:var(--teal-deep);letter-spacing:.12em}
.ad-art{
  border:2.5px solid var(--ink);border-radius:4px;overflow:hidden;
  margin-bottom:1.1rem;position:relative;
}
.ad-art svg{width:100%;height:auto}
.ad-copy{
  font-size:1rem;color:var(--ink);text-align:left;
  max-width:46ch;margin:0 auto .9rem;
}
.ad-price{
  font-family:var(--f-head);color:var(--coral-deep);font-size:1rem;
  letter-spacing:.04em;margin:.6rem 0 .9rem;
}
.ad-price strong{font-size:1.25em}
.ad-fine{font-size:.72rem;color:var(--teal-deep);margin:.8rem 0 0;font-style:italic}

/* rotating World's Fair seal */
.ad-seal{
  position:absolute;top:-34px;right:-26px;width:104px;height:104px;z-index:5;
  animation:sealSpin 22s linear infinite;
  filter:drop-shadow(0 4px 6px rgba(10,27,49,.4));
}
.ad-seal svg{width:100%;height:100%}
.ad:hover .ad-seal{animation-duration:2.6s}
@keyframes sealSpin{to{transform:rotate(360deg)}}
.seal-text{
  font-family:var(--f-head);font-size:11.5px;letter-spacing:.16em;
  fill:var(--ink);
}

/* sparkles & loops inside ad art */
.sparkle{animation:sparkleTw 2.8s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
.sparkle.s2{animation-delay:-.9s;animation-duration:3.4s}
.sparkle.s3{animation-delay:-1.7s;animation-duration:2.2s}
@keyframes sparkleTw{0%,100%{opacity:.15;transform:scale(.6) rotate(0deg)}50%{opacity:1;transform:scale(1.25) rotate(20deg)}}
.core-glow{animation:corePulse 2.6s ease-in-out infinite}
@keyframes corePulse{0%,100%{opacity:.65}50%{opacity:1}}
.energy-waves path{animation:wavePulse 1.8s ease-in-out infinite}
.energy-waves path:nth-child(2){animation-delay:.3s}
.energy-waves path:nth-child(3){animation-delay:.6s}
.energy-waves path:nth-child(4){animation-delay:.9s}
@keyframes wavePulse{0%,100%{opacity:.15}50%{opacity:1}}
.gyro{animation:gyroBob 4.2s ease-in-out infinite}
@keyframes gyroBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.gyro-rotor{transform-origin:170px 62px;animation:rotorWobble 2.2s ease-in-out infinite}
@keyframes rotorWobble{0%,100%{transform:rotate(-3deg) scaleX(1)}50%{transform:rotate(3deg) scaleX(1.04)}}
.robot{animation:robotRock 5s ease-in-out infinite;transform-origin:170px 182px}
@keyframes robotRock{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
.robot-arm{transform-origin:206px 96px;animation:trayTilt 3.4s ease-in-out infinite}
@keyframes trayTilt{0%,100%{transform:rotate(0deg)}50%{transform:rotate(-4deg)}}
.jar-label{font-family:var(--f-head);font-size:15px;letter-spacing:.06em}
.jar-label2{font-family:var(--f-body);font-weight:700;font-size:8.5px;letter-spacing:.05em}

/* coupon */
.coupon{
  display:block;width:100%;cursor:pointer;background:var(--cream);
  border:2.5px dashed var(--coral-deep);border-radius:4px;
  font-family:var(--f-head);font-size:.78rem;letter-spacing:.1em;
  color:var(--coral-deep);padding:.75em .6em;
  transition:background .2s,transform .15s;position:relative;
}
.coupon:hover{background:#fdeecd;transform:translateY(-2px)}
.coupon .coupon-done{display:none;color:var(--teal-deep)}
.coupon.clipped{background:var(--teal-pale);border-style:solid;border-color:var(--teal-deep)}
.coupon.clipped .coupon-face{display:none}
.coupon.clipped .coupon-done{display:inline}

.ad-disclaimer{
  text-align:center;font-size:.8rem;color:var(--teal-deep);
  font-style:italic;max-width:60ch;margin:0 auto;padding:0 1.5rem 2.5rem;
}

/* ============ TIMELINE ============ */
.story{
  background:linear-gradient(180deg,var(--cream) 0%,var(--cream-2) 55%,var(--teal-pale) 100%);
  padding-bottom:5rem;position:relative;
}
.timeline{
  position:relative;max-width:980px;margin:0 auto;padding:1rem 1.5rem 0;
  list-style:none;
}
.timeline::before{
  content:"";position:absolute;left:50%;top:0;bottom:0;width:6px;
  transform:translateX(-50%);border-radius:3px;
  background:repeating-linear-gradient(180deg,var(--teal) 0 26px,var(--gold) 26px 34px);
  box-shadow:0 0 0 3px rgba(20,48,75,.15);
}
.tl-item{
  position:relative;width:50%;padding:0 3.2rem 3rem 0;
}
.tl-item:nth-child(even){margin-left:50%;padding:0 0 3rem 3.2rem}
.tl-node{
  position:absolute;top:6px;right:-21px;width:44px;height:44px;z-index:2;
  filter:drop-shadow(0 3px 4px rgba(10,27,49,.35));
}
.tl-item:nth-child(even) .tl-node{right:auto;left:-22px}
.tl-node svg{width:100%;height:100%;fill:var(--gold);transition:transform .4s}
.tl-node svg path{fill:var(--gold)}
.tl-item:hover .tl-node svg{transform:rotate(72deg) scale(1.15)}
.tl-card{
  background:var(--paper);border:3px solid var(--ink);border-radius:8px;
  padding:1.3rem 1.5rem;box-shadow:6px 7px 0 rgba(20,48,75,.16);
  transition:transform .25s;
}
.tl-card:hover{transform:translateY(-4px)}
.tl-year{
  display:inline-block;font-family:var(--f-display);font-size:1.05rem;
  color:var(--cream);background:var(--teal-deep);border-radius:999px;
  padding:.2em .9em;margin-bottom:.6rem;letter-spacing:.05em;
}
.tl-year em{font-family:var(--f-head);font-style:normal;font-size:.6em;letter-spacing:.12em;color:var(--gold)}
.tl-now .tl-year{background:var(--coral)}
.tl-future .tl-card{background:linear-gradient(180deg,#12395c,#0E5560);color:var(--teal-pale)}
.tl-future .tl-card h3{color:var(--gold)}
.tl-future .tl-year{background:var(--gold);color:var(--ink)}
.tl-card h3{font-family:var(--f-head);font-size:1.25rem;margin:.1rem 0 .5rem;color:var(--ink)}
.tl-future .tl-card h3{color:var(--gold)}
.tl-card p{margin:0;font-size:.96rem}

/* ============ NEWS FROM TOMORROW ============ */
.news{
  background:
    radial-gradient(circle at 50% 0,rgba(23,126,137,.28),transparent 60%),
    var(--teal-deep);
  padding:1rem 1.25rem 5.5rem;
}
.broadsheet{
  max-width:1100px;margin:2.5rem auto 0;background:var(--paper);
  border:3px solid var(--ink);
  box-shadow:0 14px 0 rgba(7,20,38,.35),0 0 0 8px var(--paper),0 0 0 11px var(--ink);
  padding:2.2rem clamp(1.2rem,4vw,3rem);
  color:#1c2b1c;color:var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");
}
.bs-headline-row{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  border-bottom:4px double var(--ink);padding-bottom:.8rem;
}
.bs-masthead{
  font-family:var(--f-news);font-weight:900;font-size:clamp(1.9rem,5.4vw,3.4rem);
  margin:0;letter-spacing:.01em;text-align:center;line-height:1;
}
.bs-vol,.bs-price{
  font-family:var(--f-head);font-size:.68rem;letter-spacing:.14em;
  color:var(--coral-deep);white-space:nowrap;
}
.bs-tag{
  text-align:center;font-family:var(--f-swanky);color:var(--coral);
  font-size:clamp(1.1rem,2.4vw,1.5rem);margin:.9rem 0 .15rem;
}
.bs-date{
  text-align:center;font-family:var(--f-head);font-size:.72rem;
  letter-spacing:.3em;color:var(--teal-deep);margin:0 0 1.4rem;
  border-bottom:1.5px solid var(--ink);padding-bottom:.9rem;
}
.bs-cols{
  columns:3 240px;column-gap:2rem;column-rule:1px solid rgba(20,48,75,.35);
}
.bs-article{break-inside:avoid;margin-bottom:1.6rem}
.bs-article h3{
  font-family:var(--f-news);font-weight:900;font-size:1.14rem;line-height:1.18;
  margin:0 0 .35rem;
}
.bs-lead h3{font-size:1.55rem}
.bs-byline{
  font-family:var(--f-head);font-size:.68rem;letter-spacing:.1em;
  color:var(--coral-deep);margin:0 0 .55rem;text-transform:uppercase;
}
.bs-article p{
  font-family:var(--f-news);font-weight:400;font-size:.92rem;line-height:1.5;
  margin:0 0 .6rem;text-align:justify;hyphens:auto;
}
.dropcap{
  float:left;font-family:var(--f-news);font-weight:900;font-size:3.1em;
  line-height:.82;padding:.05em .12em 0 0;color:var(--coral-deep);
}
.bs-photo{break-inside:avoid;margin-bottom:1.6rem}
.bs-photo-art{border:2.5px solid var(--ink);border-radius:2px}
.bs-photo-art svg{width:100%;height:auto}
.bs-caption{
  font-family:var(--f-body);font-size:.7rem;letter-spacing:.04em;
  color:var(--teal-deep);margin:.45rem 0 0;font-style:italic;
}
.bs-weather{
  break-inside:avoid;border:2px solid var(--ink);padding:.9rem 1rem;
  background:var(--cream-2);margin-bottom:1.6rem;
}
.bs-weather h4{
  font-family:var(--f-head);font-size:.8rem;letter-spacing:.18em;
  margin:0 0 .4rem;color:var(--coral-deep);
}
.bs-weather p{font-family:var(--f-news);font-size:.88rem;margin:0;line-height:1.5}
.bs-foot{border-top:4px double var(--ink);padding-top:1.1rem;margin-top:.4rem}
.bs-classifieds h4{
  font-family:var(--f-head);font-size:.8rem;letter-spacing:.2em;
  margin:0 0 .5rem;color:var(--teal-deep);
}
.bs-classifieds p{
  font-family:var(--f-news);font-size:.86rem;margin:0 0 .45rem;
}
.bs-colophon{
  font-family:var(--f-body);font-size:.7rem;font-style:italic;
  color:var(--teal-deep);text-align:center;margin:1rem 0 0;
}

/* ============ DEALER CONSTELLATION CHART ============ */
.dealers{
  background:linear-gradient(180deg,var(--night) 0%,var(--space) 55%,#123A5C 100%);
  padding-bottom:5.5rem;position:relative;overflow:hidden;
}
.dealers .section-title .chrome-text{
  filter:drop-shadow(0 2px 0 rgba(7,20,38,.7)) drop-shadow(0 0 16px rgba(242,179,61,.2));
}
.chart-wrap{
  max-width:1240px;margin:0 auto;padding:0 1.5rem;
  display:flex;gap:1.8rem;align-items:stretch;
}
.chart-left{flex:1 1 68%;display:flex;flex-direction:column;gap:1rem;min-width:0}
.chart-chips{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center}
.chip{
  font-family:var(--f-head);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--teal-pale);
  background:rgba(23,126,137,.25);border:2px solid var(--teal);
  border-radius:999px;padding:.55em 1.1em;cursor:pointer;
  transition:background .2s,color .2s,transform .15s;
}
.chip::before{content:"★ ";color:var(--gold)}
.chip:hover{background:var(--teal);color:var(--cream);transform:translateY(-2px)}
.chip.active{background:var(--coral);border-color:var(--coral-deep);color:var(--cream)}
.chart-panel{
  flex:1;position:relative;background:
    radial-gradient(ellipse at 50% 30%,rgba(23,126,137,.25),transparent 65%),
    var(--night);
  border:3px solid var(--teal);border-radius:10px;overflow:hidden;
  box-shadow:0 0 0 6px rgba(23,126,137,.18),inset 0 0 60px rgba(7,20,38,.8);
}
#dealerChart{position:relative;z-index:2;width:100%;height:auto}
.chart-starfield{position:absolute;inset:0;z-index:1}
.chart-starfield .star{animation-duration:4s}
.chart-legend{
  position:absolute;left:0;right:0;bottom:0;z-index:3;margin:0;
  font-family:var(--f-head);font-size:.62rem;letter-spacing:.22em;
  color:var(--teal-soft);text-align:center;padding:.8em 1em;
  background:linear-gradient(0deg,rgba(7,20,38,.85),transparent);
}
/* generated stars */
.c-lines polyline{
  fill:none;stroke:var(--teal-soft);stroke-width:1.4;opacity:.5;
  stroke-dasharray:5 6;
}
.c-label{
  font-family:var(--f-head);font-size:13px;letter-spacing:.22em;
  fill:var(--teal-soft);opacity:.75;text-transform:uppercase;
}
.dstar{cursor:pointer}
.dstar .halo{
  fill:url(#starGlow);opacity:.35;transform-origin:center;transform-box:fill-box;
  animation:haloPulse 3.2s ease-in-out infinite;
}
.dstar .dot{fill:#fff;stroke:var(--gold);stroke-width:1.4}
.dstar.main .dot{fill:var(--gold);stroke:#fff}
.dstar:hover .halo,.dstar:focus-visible .halo{opacity:.9}
.dstar:hover .dot,.dstar:focus-visible .dot{fill:var(--coral)}
.dstar:focus{outline:none}
.dstar:focus-visible{outline:none}
.dstar:focus-visible .halo{opacity:1;transform:scale(1.35)}
.dstar:focus-visible .dot{stroke:var(--coral);stroke-width:3}
.dstar.active .halo{opacity:1}
.dstar.active .dot{fill:var(--coral);stroke:#fff}
.dstar .tw{animation:starTw 2.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}
@keyframes haloPulse{0%,100%{transform:scale(.75);opacity:.3}50%{transform:scale(1.15);opacity:.6}}
@keyframes starTw{0%,100%{opacity:.55}50%{opacity:1}}

.dealer-card{
  flex:1 1 30%;background:var(--paper);border:3px solid var(--ink);
  border-radius:10px;padding:1.6rem 1.5rem;align-self:center;
  box-shadow:8px 9px 0 rgba(7,20,38,.5);
  min-height:280px;
}
.dc-kicker{
  font-family:var(--f-head);font-size:.66rem;letter-spacing:.34em;
  color:var(--coral-deep);margin:0 0 .5rem;
}
.dc-name{
  font-family:var(--f-head);font-size:1.5rem;line-height:1.1;
  color:var(--ink);margin:0 0 .7rem;
}
.dc-meta{font-size:.95rem;color:var(--teal-deep);margin:0 0 1rem}
.dc-facts{list-style:none;margin:0;padding:0}
.dc-facts li{
  font-size:.86rem;padding:.45em 0 .45em 1.5em;position:relative;
  border-top:1px dashed rgba(20,48,75,.3);
}
.dc-facts li::before{
  content:"★";position:absolute;left:0;color:var(--gold);font-size:.9em;
}
.dealer-card.flash{animation:cardFlash .45s ease}
@keyframes cardFlash{0%{transform:scale(.97);box-shadow:0 0 0 4px var(--gold)}100%{transform:scale(1)}}

/* ============ FOOTER ============ */
.footer{
  background:linear-gradient(180deg,#123A5C 0%,var(--night) 30%,#040C18 100%);
  color:var(--cream);padding:4.5rem 1.5rem 3rem;position:relative;
  border-top:6px solid var(--gold);
}
.footer-inner{max-width:880px;margin:0 auto;text-align:center}
.creed{margin-bottom:3rem}
.atom{width:130px;height:130px;margin:0 auto 1.2rem}
.atom .electron{transform-origin:60px 60px}
.atom .e1{animation:eOrbit 6s linear infinite}
.atom .e2{animation:eOrbit 8.5s linear -2.8s infinite}
.atom .e3{animation:eOrbit 11s linear -6s infinite}
@keyframes eOrbit{to{transform:rotate(360deg)}}
.creed-title{
  font-family:var(--f-swanky);font-size:clamp(1.7rem,4vw,2.6rem);
  color:var(--gold);margin:0 0 1.2rem;text-shadow:0 3px 0 rgba(0,0,0,.4);
}
.creed-text p{
  font-family:var(--f-news);font-size:clamp(.98rem,1.6vw,1.12rem);
  line-height:1.7;color:var(--cream);max-width:62ch;margin:0 auto .9rem;
}
.creed-text strong{color:var(--gold)}
.creed-text em{color:var(--coral-soft)}
.footer-chrome{
  display:flex;align-items:center;justify-content:center;gap:.9rem;
  flex-wrap:wrap;border-top:1px solid rgba(127,200,184,.3);
  border-bottom:1px solid rgba(127,200,184,.3);padding:1.4rem 0;margin-bottom:1.4rem;
}
.footer-chrome .brand-burst{width:34px;height:34px}
.footer-word{font-family:var(--f-display);font-size:1.15rem}
.footer-tagline{
  font-family:var(--f-head);font-size:.62rem;letter-spacing:.4em;
  color:var(--teal-soft);
}
.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 1.4rem;margin-bottom:1.6rem}
.footer-nav a{
  font-family:var(--f-head);font-size:.8rem;letter-spacing:.14em;
  color:var(--teal-pale);text-decoration:none;text-transform:uppercase;
  transition:color .2s;
}
.footer-nav a:hover{color:var(--gold)}
.footer-legal p{
  font-family:var(--f-head);font-size:.62rem;letter-spacing:.22em;
  color:rgba(127,200,184,.75);margin:.3rem 0;
}
.visitor-line span{color:var(--gold)}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media (max-width:1020px){
  .hero-stage{flex-direction:column;justify-content:center;text-align:center;gap:3rem;padding-top:6.5rem}
  .logo-burst{left:50%;margin-left:-75px;top:-64px}
  .hero-cta{justify-content:center}
  .rocket-scene{order:2}
  .orbit-wrap,.orbit-path{top:auto;bottom:-5%;width:min(96vw,58vh);height:min(96vw,58vh)}
  .chart-wrap{flex-direction:column}
  .dealer-card{align-self:stretch}
}
@media (max-width:900px){
  .mainnav{display:none}
  .navtoggle{display:flex}
  .est-pill{display:none}
  .ad-grid{grid-template-columns:1fr;gap:3rem}
  .ad-seal{top:-30px;right:-8px;width:92px;height:92px}
  .timeline::before{left:22px}
  .tl-item,.tl-item:nth-child(even){width:100%;margin-left:0;padding:0 0 2.6rem 4.4rem}
  .tl-node,.tl-item:nth-child(even) .tl-node{left:0;right:auto}
  .bs-cols{columns:2 230px}
}
@media (max-width:560px){
  .hero-stage{padding-top:5.5rem}
  .logo-burst{width:118px;height:118px;top:-44px;margin-left:-59px}
  .hero-kicker{letter-spacing:.24em}
  .rocket{width:min(220px,58vw)}
  .launchpad{width:78vw}
  .planet{width:36vw;top:-4%;right:-14%}
  .bs-cols{columns:1}
  .bs-headline-row{flex-direction:column;gap:.3rem}
  .topbar-inner{padding:.5rem .9rem}
  .brand-word{font-size:.92rem}
  .hero-scroll{display:none}
  .ad{padding:1.7rem 1rem 1.3rem}
  .ad-kicker{letter-spacing:.26em;font-size:.62rem}
  .ad-seal{top:-38px;right:-6px;width:84px;height:84px}
  .chart-legend{position:static;background:var(--night)}
  .dc-name{font-size:1.3rem}
}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .reveal{opacity:1;transform:none}
  .orbit-wrap,.ticker-track{animation:none!important}
  .star,.dstar .halo,.dstar .tw{opacity:.8!important}
}
