/* ===================== SIRIUS — Design System ===================== */
:root{
  --lime:#D7FF00;
  --pink:#FF4F91;
  --gold:#FFD43B;
  --orange:#FF8A19;
  --blue:#4C72FF;
  --purple:#8C5CFF;
  --ink:#10120A;
  --cream:#F8F6DF;
  --cream-dim:#EFEBC9;

  --font-display: "Space Grotesk", "Archivo Black", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;

  --container: 1240px;
  --radius: 22px;
  --ease: cubic-bezier(.16,1,.3,1);
}

@font-face{
  font-family:"Space Grotesk";
  src: local("Space Grotesk");
  font-display: swap;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--font-body);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; }
h1,h2,h3{ font-family:var(--font-display); margin:0; letter-spacing:-0.02em; }
p{ margin:0; }
section{ position:relative; }

::selection{ background:var(--pink); color:var(--cream); }

/* ---------- utility ---------- */
.accent{ color:var(--pink); }
.label{
  font-family:var(--font-mono);
  font-size:clamp(11px,2.2vw,13px);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink);
  opacity:.65;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
}
.label--light{ color:var(--cream); opacity:.7; }
.label--dark{ color:var(--ink); opacity:.55; }
.label::before{
  content:"";
  width:7px; height:7px; border-radius:50%;
  background:var(--pink);
  flex-shrink:0;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(13px,2vw,15px);
  letter-spacing:0.02em;
  text-transform:uppercase;
  padding:16px 26px;
  border-radius:100px;
  border:2px solid var(--ink);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .25s var(--ease);
  white-space:nowrap;
}
.btn--primary{
  background:var(--lime);
  color:var(--ink);
  box-shadow:4px 4px 0 var(--ink);
}
.btn--primary:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ink); background:var(--pink); color:var(--cream); }
.btn--primary:active{ transform:translate(0,0); box-shadow:2px 2px 0 var(--ink); }
.btn--ghost{
  background:transparent;
  color:var(--ink);
}
.btn--ghost:hover{ background:var(--ink); color:var(--lime); }
.btn--ghost:active{ transform:scale(.97); }
.btn--lg{ padding:20px 34px; font-size:clamp(14px,2.4vw,17px); }

/* ---------- scroll progress ---------- */
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg,var(--pink),var(--lime),var(--gold));
  z-index:9999;
  transition:width .1s linear;
}

/* ---------- custom cursor ---------- */
.cursor-dot,.cursor-ring{
  position:fixed; top:0; left:0; pointer-events:none; z-index:9998;
  transform:translate(-50%,-50%);
  border-radius:50%;
  will-change:transform;
}
.cursor-dot{ width:8px; height:8px; background:var(--pink); }
.cursor-ring{ width:34px; height:34px; border:2px solid var(--ink); opacity:.5; transition:width .2s,height .2s,opacity .2s; }
@media (hover:none), (pointer:coarse){
  .cursor-dot,.cursor-ring{ display:none; }
}

/* ===================== CA BAR ===================== */
.ca-bar{
  background:var(--ink);
  color:var(--lime);
  font-family:var(--font-mono);
  padding:9px 14px;
  position:relative;
  z-index:1000;
}
.ca-bar__inner{
  max-width:var(--container);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:nowrap;
}
.ca-bar__label{
  font-size:10px;
  letter-spacing:.12em;
  opacity:.75;
  flex-shrink:0;
}
.ca-bar__addr{
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
}
.ca-bar__copy{
  flex-shrink:0;
  background:var(--lime);
  color:var(--ink);
  border:none;
  border-radius:100px;
  padding:4px 12px;
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  display:flex;
  align-items:center;
}
.ca-bar__copy .copy-done{ display:none; }
.ca-bar__copy.copied .copy-label{ display:none; }
.ca-bar__copy.copied .copy-done{ display:inline; }
.ca-bar__copy.copied{ background:var(--pink); color:var(--cream); }

@media (max-width:560px){
  .ca-bar__addr{ max-width:38vw; }
}
@media (max-width:380px){
  .ca-bar__label{ display:none; }
  .ca-bar__addr{ max-width:48vw; }
}

/* ===================== NAV ===================== */
.nav{
  position:sticky; top:0; z-index:900;
  background:rgba(248,246,223,0.72);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(16,18,10,0.08);
}
.nav__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:12px 20px;
  display:flex;
  align-items:center;
  gap:20px;
}
.nav__brand{
  display:flex; align-items:center; gap:9px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:18px;
  letter-spacing:.02em;
  margin-right:auto;
}
.nav__logo{ width:32px; height:32px; border-radius:8px; object-fit:cover; }
.nav__links{
  display:flex; gap:28px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.08em;
}
.nav__links a{ opacity:.7; transition:opacity .2s,color .2s; position:relative; }
.nav__links a:hover{ opacity:1; color:var(--pink); }
.nav__cta{
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  background:var(--ink);
  color:var(--lime);
  padding:9px 16px;
  border-radius:100px;
  transition:transform .2s,background .2s;
}
.nav__cta:hover{ background:var(--pink); transform:translateY(-1px); }
.nav__burger{
  display:none;
  flex-direction:column;
  gap:4px;
  background:none;
  border:none;
  padding:6px;
}
.nav__burger span{ width:20px; height:2px; background:var(--ink); border-radius:2px; transition:transform .25s,opacity .25s; }
.nav__burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.nav__burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav__burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

.nav__mobile{
  display:none;
  flex-direction:column;
  padding:6px 20px 18px;
  gap:2px;
  font-family:var(--font-mono);
  font-size:14px;
  letter-spacing:.06em;
}
.nav__mobile a{
  padding:12px 4px;
  border-top:1px solid rgba(16,18,10,0.08);
}
.nav__mobile.open{ display:flex; }

@media (max-width:860px){
  .nav__links{ display:none; }
  .nav__cta{ display:none; }
  .nav__burger{ display:flex; }
}

/* ===================== HERO ===================== */
.hero{
  position:relative;
  padding:clamp(40px,8vw,90px) 20px clamp(50px,8vw,90px);
  overflow:hidden;
}
.hero__blob{
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  opacity:.55;
  z-index:0;
  animation:blobMove 22s ease-in-out infinite;
}
.hero__blob--1{ width:480px; height:480px; background:var(--lime); top:-160px; left:-140px; }
.hero__blob--2{ width:380px; height:380px; background:var(--pink); top:200px; right:-160px; animation-delay:-7s; }
.hero__blob--3{ width:320px; height:320px; background:var(--gold); bottom:-140px; left:30%; animation-delay:-14s; }

@keyframes blobMove{
  0%,100%{ transform:translate(0,0) scale(1); }
  33%{ transform:translate(40px,-30px) scale(1.08); }
  66%{ transform:translate(-30px,20px) scale(.94); }
}

.hero__inner{
  position:relative; z-index:1;
  max-width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:clamp(30px,5vw,60px);
  align-items:center;
}

.eyebrow{
  font-family:var(--font-mono);
  font-size:clamp(11px,2vw,13px);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--purple);
  margin:0 0 18px;
  font-weight:700;
}
.hero__headline{
  font-size:clamp(42px,8vw,84px);
  line-height:0.98;
  font-weight:700;
  text-transform:uppercase;
}
.hero__sub{
  margin-top:20px;
  font-size:clamp(15px,2.4vw,19px);
  max-width:34ch;
  opacity:.8;
  font-weight:500;
}

.hero__ca{
  margin-top:28px;
  display:flex;
  align-items:center;
  gap:10px;
  background:var(--ink);
  color:var(--cream);
  border-radius:100px;
  padding:8px 8px 8px 18px;
  max-width:100%;
  width:fit-content;
}
.hero__ca-label{
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.12em;
  color:var(--lime);
  flex-shrink:0;
}
.hero__ca-addr{
  font-family:var(--font-mono);
  font-size:clamp(10px,2.6vw,13px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
  max-width:38vw;
}
.hero__ca-copy{
  flex-shrink:0;
  background:var(--lime);
  border:none;
  border-radius:100px;
  padding:8px 14px;
  font-family:var(--font-mono);
  font-weight:700;
  font-size:11px;
  letter-spacing:.06em;
  transition:background .2s;
}
.hero__ca-copy .copy-done{ display:none; }
.hero__ca-copy.copied .copy-label{ display:none; }
.hero__ca-copy.copied .copy-done{ display:inline; }
.hero__ca-copy.copied{ background:var(--pink); color:var(--cream); }

.hero__actions{
  margin-top:34px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

/* hero visual */
.hero__visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:340px;
}
.hero__glow{
  position:absolute;
  width:76%; aspect-ratio:1;
  background:radial-gradient(circle, rgba(215,255,0,0.65), rgba(215,255,0,0) 70%);
  border-radius:50%;
  filter:blur(4px);
  animation:pulseGlow 5s ease-in-out infinite;
}
@keyframes pulseGlow{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.06); opacity:.85; }
}
.orbit-ring{
  position:absolute;
  border:1.5px dashed rgba(16,18,10,0.25);
  border-radius:50%;
}
.orbit-ring--1{ width:96%; aspect-ratio:1; animation:spin 40s linear infinite; }
.orbit-ring--2{ width:76%; aspect-ratio:1; border-color:rgba(255,79,145,0.35); animation:spin 28s linear infinite reverse; }
@keyframes spin{ to{ transform:rotate(360deg); } }

.hero__card-wrap{
  position:relative;
  width:62%;
  aspect-ratio:1;
  border-radius:50%;
  overflow:hidden;
  border:6px solid var(--ink);
  box-shadow:10px 10px 0 rgba(16,18,10,0.9);
  animation:floatY 6s ease-in-out infinite;
  transform-style:preserve-3d;
  will-change:transform;
}
.hero__cat{ width:100%; height:100%; object-fit:cover; }
@keyframes floatY{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-14px); }
}

.float-label{
  position:absolute;
  background:var(--cream);
  border:2px solid var(--ink);
  border-radius:14px;
  padding:8px 12px;
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  display:flex;
  align-items:center;
  gap:6px;
  box-shadow:3px 3px 0 var(--ink);
  animation:floatCard 5s ease-in-out infinite;
}
.float-label__num{ color:var(--pink); font-size:13px; }
.float-label--1{ top:6%; left:-2%; animation-delay:-1s; }
.float-label--2{ bottom:14%; left:-6%; animation-delay:-3s; }
.float-label--3{ top:2%; right:-2%; background:var(--gold); animation-delay:-2s; }
@keyframes floatCard{
  0%,100%{ transform:translateY(0) rotate(-1deg); }
  50%{ transform:translateY(-10px) rotate(1deg); }
}

.sticker{
  position:absolute;
  bottom:0%; right:-4%;
  background:var(--pink);
  color:var(--cream);
  border-radius:50%;
  width:88px; height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:var(--font-mono);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.03em;
  border:2px solid var(--ink);
  transform:rotate(8deg);
  animation:floatCard 7s ease-in-out infinite;
  animation-delay:-4s;
}

@media (max-width:980px){
  .hero__inner{ grid-template-columns:1fr; }
  .hero__visual{ order:-1; min-height:280px; margin-bottom:10px; }
  .hero__card-wrap{ width:56%; }
}
@media (max-width:480px){
  .hero__ca-addr{ max-width:34vw; }
  .float-label{ font-size:9.5px; padding:6px 9px; }
  .sticker{ width:66px; height:66px; font-size:9px; }
}

/* ===================== MARQUEE ===================== */
.marquee{
  background:var(--ink);
  color:var(--lime);
  overflow:hidden;
  padding:16px 0;
  white-space:nowrap;
  border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);
}
.marquee__track{
  display:inline-flex;
  align-items:center;
  gap:18px;
  animation:marqueeScroll 26s linear infinite;
  will-change:transform;
}
.marquee__item{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(15px,3vw,22px);
  text-transform:uppercase;
  letter-spacing:.02em;
}
.marquee__sep{ color:var(--pink); font-size:18px; }
@keyframes marqueeScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* ===================== STORY ===================== */
.story{ padding:clamp(70px,12vw,140px) 20px; }
.story__inner{ max-width:var(--container); margin:0 auto; }
.story__headline{
  font-size:clamp(34px,7vw,68px);
  line-height:1.02;
  text-transform:uppercase;
  margin-bottom:clamp(40px,6vw,72px);
  max-width:14ch;
}
.story__grid{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:clamp(24px,5vw,60px);
}
.story__lead{
  font-family:var(--font-display);
  font-size:clamp(20px,3vw,28px);
  font-weight:700;
  line-height:1.25;
}
.story__body{
  font-size:clamp(16px,2vw,19px);
  line-height:1.7;
  max-width:52ch;
}
.story__body p{ margin-bottom:18px; }
.story__punch{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(20px,2.6vw,26px);
  color:var(--pink);
}
@media (max-width:760px){
  .story__grid{ grid-template-columns:1fr; }
}

/* ===================== CONNECTION ===================== */
.connection{
  background:var(--ink);
  color:var(--cream);
  padding:clamp(70px,12vw,140px) 20px;
}
.connection__inner{ max-width:var(--container); margin:0 auto; }
.connection__headline{
  font-size:clamp(30px,6vw,56px);
  text-transform:uppercase;
  line-height:1.05;
  margin-bottom:clamp(40px,6vw,64px);
}
.connection__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(30px,5vw,60px);
  align-items:center;
}

.crt-frame{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(215,255,0,0.25);
  box-shadow:0 0 0 1px rgba(215,255,0,0.06), 0 20px 60px rgba(215,255,0,0.08);
  background:#050603;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.crt-frame:hover{ transform:translateY(-4px); box-shadow:0 0 0 1px rgba(215,255,0,0.35), 0 30px 70px rgba(215,255,0,0.18); }
.crt-frame__bar{
  display:flex;
  align-items:center;
  gap:7px;
  padding:10px 14px;
  background:#0d0f08;
  border-bottom:1px solid rgba(215,255,0,0.15);
}
.crt-dot{ width:9px; height:9px; border-radius:50%; display:inline-block; }
.crt-dot--r{ background:#ff5f57; }
.crt-dot--y{ background:#febc2e; }
.crt-dot--g{ background:#28c840; }
.crt-frame__title{
  margin-left:8px;
  font-family:var(--font-mono);
  font-size:11px;
  color:rgba(248,246,223,0.5);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.crt-status{
  margin-left:auto;
  width:8px; height:8px;
  border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 8px var(--lime);
  animation:blink 1.6s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes blink{ 0%,100%{ opacity:1; } 50%{ opacity:.25; } }
.crt-frame__screen{ position:relative; }
.crt-frame__screen img{ width:100%; height:auto; display:block; }
.crt-scanline{
  position:absolute; left:0; right:0; height:26%;
  background:linear-gradient(to bottom, rgba(215,255,0,0) 0%, rgba(215,255,0,0.12) 50%, rgba(215,255,0,0) 100%);
  animation:scan 4.5s linear infinite;
  pointer-events:none;
}
@keyframes scan{
  0%{ top:-30%; }
  100%{ top:110%; }
}

.connection__copy p{
  font-size:clamp(16px,2vw,18px);
  line-height:1.7;
  margin-bottom:16px;
  opacity:.9;
}
.connection__punch{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(20px,2.6vw,26px) !important;
  color:var(--lime) !important;
  opacity:1 !important;
}
.connection__sign{
  margin-top:20px;
  font-family:var(--font-mono);
  font-size:13px !important;
  letter-spacing:.04em;
  color:var(--pink) !important;
  opacity:1 !important;
}

.callouts{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:24px;
}
.callout{
  border:1px solid rgba(248,246,223,0.2);
  border-radius:14px;
  padding:14px 18px;
  display:flex;
  flex-direction:column;
  gap:4px;
  background:rgba(248,246,223,0.03);
}
.callout__tag{
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:.1em;
  color:var(--gold);
}
.callout__val{
  font-family:var(--font-display);
  font-weight:700;
  font-size:15px;
}

@media (max-width:820px){
  .connection__grid{ grid-template-columns:1fr; }
}

/* ===================== FUN FACT ===================== */
.funfact{
  background:var(--pink);
  color:var(--ink);
  padding:clamp(80px,14vw,160px) 20px;
  overflow:hidden;
  position:relative;
}
.funfact__orb{
  position:absolute;
  width:min(60vw,560px);
  aspect-ratio:1;
  background:var(--gold);
  border-radius:50%;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  z-index:0;
  animation:orbDrift 16s ease-in-out infinite;
}
@keyframes orbDrift{
  0%,100%{ transform:translate(-50%,-50%) scale(1); }
  50%{ transform:translate(-46%,-54%) scale(1.08); }
}
.funfact__inner{
  position:relative; z-index:1;
  max-width:900px;
  margin:0 auto;
  text-align:center;
}
.funfact__num{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(80px,18vw,180px);
  line-height:.85;
  margin-bottom:0;
}
.funfact__headline{
  font-size:clamp(32px,7vw,66px);
  text-transform:uppercase;
  line-height:1.02;
  margin:10px 0 26px;
}
.funfact__body{
  font-size:clamp(16px,2.4vw,20px);
  font-weight:600;
  max-width:44ch;
  margin:0 auto;
  line-height:1.6;
}

/* ===================== FAQ ===================== */
.faq{ padding:clamp(70px,12vw,140px) 20px; }
.faq__inner{ max-width:820px; margin:0 auto; }
.faq__headline{
  font-size:clamp(34px,7vw,60px);
  text-transform:uppercase;
  line-height:1.02;
  margin-bottom:14px;
}
.faq__sub{
  font-size:clamp(15px,2vw,18px);
  opacity:.7;
  margin-bottom:clamp(36px,6vw,56px);
}
.accordion__item{ border-top:1.5px solid rgba(16,18,10,0.15); }
.accordion__item:last-child{ border-bottom:1.5px solid rgba(16,18,10,0.15); }
.accordion__trigger{
  width:100%;
  background:none;
  border:none;
  padding:22px 4px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  text-align:left;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(16px,2.6vw,21px);
  color:var(--ink);
  -webkit-tap-highlight-color:transparent;
}
.accordion__icon{
  position:relative;
  width:20px; height:20px;
  flex-shrink:0;
}
.accordion__icon::before,.accordion__icon::after{
  content:"";
  position:absolute;
  background:var(--ink);
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  transition:transform .3s var(--ease);
}
.accordion__icon::before{ width:16px; height:2px; }
.accordion__icon::after{ width:2px; height:16px; }
.accordion__trigger[aria-expanded="true"] .accordion__icon::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.accordion__trigger[aria-expanded="true"] .accordion__icon::before{ background:var(--pink); }

.accordion__panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s var(--ease);
}
.accordion__content{ padding:0 4px 24px; max-width:64ch; }
.accordion__content p{ font-size:clamp(15px,2vw,17px); line-height:1.7; opacity:.82; }

/* ===================== CHART ===================== */
.chart{
  background:var(--ink);
  color:var(--cream);
  padding:clamp(70px,12vw,140px) 20px;
}
.chart__inner{ max-width:var(--container); margin:0 auto; text-align:center; }
.chart__headline{
  font-size:clamp(34px,7vw,64px);
  text-transform:uppercase;
  line-height:1.02;
  margin-bottom:clamp(36px,6vw,56px);
}
.chart__frame{
  border-radius:20px;
  overflow:hidden;
  border:2px solid var(--lime);
  box-shadow:0 0 0 6px rgba(215,255,0,0.12);
  text-align:left;
  background:#0a0b06;
}
.chart__topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 18px;
  background:linear-gradient(90deg, var(--pink), var(--purple));
  flex-wrap:wrap;
}
.chart__live{
  display:flex; align-items:center; gap:8px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  font-weight:700;
  color:var(--ink);
}
.chart__dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--ink);
  animation:blink 1.4s ease-in-out infinite;
}
.chart__pair{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  font-weight:700;
  color:var(--ink);
}
.chart__embed{
  position:relative;
  width:100%;
  height:min(70vh,620px);
}
.chart__embed iframe{
  width:100%; height:100%;
  border:0; display:block;
}
.chart__link{ margin-top:32px; }

@media (max-width:600px){
  .chart__embed{ height:460px; }
}

/* ===================== FINALE ===================== */
.finale{
  padding:clamp(70px,12vw,140px) 20px;
  background:linear-gradient(160deg, var(--gold) 0%, var(--lime) 55%, var(--pink) 100%);
}
.finale__inner{
  max-width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:clamp(30px,6vw,60px);
  align-items:center;
}
.finale__visual{
  border-radius:26px;
  overflow:hidden;
  border:5px solid var(--ink);
  box-shadow:12px 12px 0 var(--ink);
  aspect-ratio:1;
  transition:transform .4s var(--ease);
}
.finale__visual:hover{ transform:translate(-4px,-4px); }
.finale__visual img{ width:100%; height:100%; object-fit:cover; }
.finale__headline{
  font-size:clamp(40px,8vw,80px);
  line-height:.98;
  text-transform:uppercase;
  margin-bottom:34px;
}
@media (max-width:900px){
  .finale__inner{ grid-template-columns:1fr; }
  .finale__visual{ max-width:340px; margin:0 auto; }
  .finale__copy{ text-align:center; }
  .finale__headline{ margin-left:auto; margin-right:auto; }
}

/* ===================== FOOTER ===================== */
.footer{
  background:var(--ink);
  color:var(--cream);
  padding:44px 20px;
  text-align:center;
}
.footer__inner{ max-width:var(--container); margin:0 auto; }
.footer__logo{ width:40px; height:40px; border-radius:10px; object-fit:cover; margin:0 auto 14px; }
.footer__ca{
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--lime);
  word-break:break-all;
  margin-bottom:8px;
}
.footer__social{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.footer__telegram{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--cream);
  letter-spacing:.04em;
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color .2s var(--ease);
}
.footer__telegram:hover{ color:var(--lime); }
.footer__meta{
  font-family:var(--font-mono);
  font-size:11px;
  opacity:.5;
  letter-spacing:.06em;
}

/* ===================== REVEAL ANIMATION ===================== */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal.in-view{
  opacity:1;
  transform:translateY(0);
}

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .hero__blob,.orbit-ring,.hero__glow,.hero__card-wrap,.float-label,.sticker,.marquee__track,.funfact__orb,.crt-scanline,.crt-status,.chart__dot{
    animation:none !important;
  }
}

/* container helper for very small screens */
@media (max-width:340px){
  .hero__headline{ font-size:38px; }
}
