/* =========================================================================
   Auto Predictions FX · Landing
   Aesthetic: Premium fintech glassmorphism · soft rounded · vivid gradients
   Typography: Bricolage Grotesque (display) + Plus Jakarta Sans (body)
   ========================================================================= */

:root{
  /* Background system */
  --ink:#070B19;
  --ink-2:#0A1126;
  --ink-3:#0E1830;

  /* Glass cards */
  --glass-bg: rgba(255,255,255,0.04);
  --glass-bg-2: rgba(255,255,255,0.06);
  --glass-border: rgba(255,255,255,0.08);
  --glass-border-strong: rgba(255,255,255,0.16);

  /* Text */
  --text:#FFFFFF;
  --text-2:#C7D0E5;
  --mute:#7C88A8;
  --soft:#54607E;

  /* Brand colors */
  --blue:#3D9DFF;
  --blue-2:#76BCFF;
  --blue-deep:#1B5FCF;
  --purple:#9B6BFF;
  --pink:#FF6BAA;
  --green:#00E597;
  --red:#FF5577;
  --gold:#FFC044;

  /* Gradients */
  --grad-hero: linear-gradient(135deg,#3D9DFF 0%,#9B6BFF 50%,#FF6BAA 100%);
  --grad-cta: linear-gradient(135deg,#3D9DFF 0%,#1B5FCF 100%);
  --grad-text: linear-gradient(120deg,#76BCFF 0%,#3D9DFF 40%,#9B6BFF 100%);
  --grad-glow: radial-gradient(circle, rgba(61,157,255,0.35) 0%, rgba(61,157,255,0) 70%);

  /* Radius — generous, friendly */
  --r-sm:12px;
  --r-md:18px;
  --r-lg:28px;
  --r-xl:40px;
  --r-2xl:56px;

  /* Shadows */
  --shadow-glow-blue: 0 0 80px -10px rgba(61,157,255,0.55);
  --shadow-glow-purple: 0 0 80px -10px rgba(155,107,255,0.45);
  --shadow-card: 0 24px 60px -20px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.04) inset;
  --shadow-cta: 0 18px 50px -12px rgba(61,157,255,0.6), 0 0 0 1px rgba(255,255,255,0.1) inset;

  /* Type */
  --display: 'Bricolage Grotesque', system-ui, sans-serif;
  --body: 'Plus Jakarta Sans', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;

  --container:1280px;
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;background:var(--ink);}
body{
  font-family:var(--body);
  background:var(--ink);
  color:var(--text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  cursor:default;
}
img{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-0.02em;}
p{margin:0;}

/* =================================================================
   ANIMATED MESH GRADIENT BACKGROUND
   ================================================================= */
.mesh{
  position:fixed;inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.orb{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:0.6;
  mix-blend-mode:screen;
}
.orb-1{
  top:-20%;left:-15%;
  width:60vw;height:60vw;max-width:900px;max-height:900px;
  background:radial-gradient(circle,#3D9DFF 0%,transparent 70%);
  animation:orbFloat-1 22s ease-in-out infinite;
}
.orb-2{
  top:30%;right:-20%;
  width:50vw;height:50vw;max-width:800px;max-height:800px;
  background:radial-gradient(circle,#9B6BFF 0%,transparent 70%);
  animation:orbFloat-2 28s ease-in-out infinite;
}
.orb-3{
  bottom:0%;left:10%;
  width:55vw;height:55vw;max-width:850px;max-height:850px;
  background:radial-gradient(circle,#1B5FCF 0%,transparent 70%);
  animation:orbFloat-3 24s ease-in-out infinite;
  opacity:0.5;
}
.orb-4{
  bottom:-30%;right:0%;
  width:45vw;height:45vw;max-width:700px;max-height:700px;
  background:radial-gradient(circle,#FF6BAA 0%,transparent 70%);
  animation:orbFloat-4 30s ease-in-out infinite;
  opacity:0.35;
}
@keyframes orbFloat-1{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(60px,80px) scale(1.1);}
}
@keyframes orbFloat-2{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(-80px,40px) scale(1.15);}
}
@keyframes orbFloat-3{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(40px,-60px) scale(0.9);}
}
@keyframes orbFloat-4{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(-60px,-40px) scale(1.05);}
}

/* CURSOR GLOW */
.cursor{
  position:fixed;
  width:480px;height:480px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(61,157,255,0.18) 0%,transparent 60%);
  pointer-events:none;
  z-index:1;
  transform:translate(-50%,-50%);
  transition:opacity 0.4s ease;
  opacity:0;
  mix-blend-mode:screen;
}
@media(hover:hover){
  body:hover .cursor{opacity:1;}
}

/* GLASS UTILITY */
.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow-card);
}

/* =================================================================
   NAV
   ================================================================= */
.nav{
  position:fixed;top:0;left:0;right:0;
  z-index:60;
  padding:18px 0;
  transition:padding .3s ease, background .3s ease;
}
.nav.scrolled{
  padding:12px 0;
  background:rgba(7,11,25,0.65);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border-bottom:1px solid var(--glass-border);
}
.nav__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
  display:flex;align-items:center;gap:32px;
}
.nav__brand{
  display:flex;align-items:center;gap:14px;
  flex-shrink:0;
}
.nav__brand img{
  width:96px;height:96px;
  object-fit:contain;
  filter:drop-shadow(0 8px 24px rgba(61,157,255,0.5));
}
.nav.scrolled .nav__brand img{
  width:64px;height:64px;
  transition:width .3s ease, height .3s ease;
}
.nav__brand span{
  font-family:var(--display);
  font-weight:600;
  font-size:21px;
  letter-spacing:-0.025em;
  color:var(--text);
}
.nav__brand em{
  font-style:normal;
  background:var(--grad-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.nav__menu{
  display:flex;gap:32px;
  margin-left:auto;
  font-size:15px;
  font-weight:500;
  color:var(--text-2);
}
.nav__menu a{
  position:relative;
  padding:6px 2px;
  transition:color .2s ease;
}
.nav__menu a::after{
  content:"";
  position:absolute;left:0;bottom:-2px;height:2px;width:0;
  background:var(--grad-text);
  border-radius:2px;
  transition:width .25s ease;
}
.nav__menu a:hover{color:var(--text);}
.nav__menu a:hover::after{width:100%;}

.nav__cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 20px;
  border-radius:999px;
  font-weight:600;
  font-size:14.5px;
  background:var(--text);
  color:var(--ink);
  transition:transform .25s ease, box-shadow .25s ease;
  white-space:nowrap;
  box-shadow:0 8px 20px -6px rgba(255,255,255,0.3);
}
.nav__cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px -6px rgba(255,255,255,0.4);}
.nav__cta .arrow{transition:transform .25s ease;}
.nav__cta:hover .arrow{transform:translateX(4px);}

/* =================================================================
   HERO
   ================================================================= */
.hero{
  position:relative;
  z-index:2;
  min-height:100vh;
  padding:140px 24px 80px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero__center{
  position:relative;z-index:5;
  text-align:center;
  max-width:980px;
  width:100%;
}

/* HUGE LOGO with halo */
.hero__logo{
  position:relative;
  display:inline-block;
  margin-bottom:40px;
}
.hero__logo img{
  position:relative;z-index:3;
  width:min(280px, 36vw);
  height:auto;
  filter:drop-shadow(0 30px 80px rgba(61,157,255,0.55));
  animation:logoFloat 6s ease-in-out infinite;
}
@keyframes logoFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-12px);}
}
.halo{
  position:absolute;
  top:50%;left:50%;
  border-radius:50%;
  pointer-events:none;
}
.halo-1{
  width:340px;height:340px;
  margin:-170px 0 0 -170px;
  background:radial-gradient(closest-side,rgba(61,157,255,0.4) 0%,transparent 70%);
  animation:haloPulse 4s ease-in-out infinite;
}
.halo-2{
  width:480px;height:480px;
  margin:-240px 0 0 -240px;
  background:conic-gradient(from 0deg, rgba(61,157,255,0.15), rgba(155,107,255,0.15), rgba(255,107,170,0.15), rgba(61,157,255,0.15));
  filter:blur(40px);
  animation:haloRotate 20s linear infinite;
  opacity:0.7;
}
.halo-3{
  width:380px;height:380px;
  margin:-190px 0 0 -190px;
  border:1px solid rgba(255,255,255,0.06);
  animation:haloRing 8s ease-in-out infinite;
}
@keyframes haloPulse{
  0%,100%{transform:scale(1);opacity:0.7;}
  50%{transform:scale(1.15);opacity:1;}
}
@keyframes haloRotate{
  to{transform:rotate(360deg);}
}
@keyframes haloRing{
  0%,100%{transform:scale(1);opacity:0.4;}
  50%{transform:scale(1.08);opacity:0.7;}
}

.hero__chip{
  display:inline-flex;align-items:center;gap:10px;
  padding:9px 18px;
  border-radius:999px;
  background:rgba(0,229,151,0.1);
  border:1px solid rgba(0,229,151,0.3);
  color:var(--green);
  font-size:13px;
  font-weight:500;
  margin-bottom:28px;
  backdrop-filter:blur(10px);
}
.hero__chip .dot{
  width:8px;height:8px;border-radius:50%;background:var(--green);
  box-shadow:0 0 0 0 rgba(0,229,151,0.6);
  animation:dotPulse 1.6s ease-out infinite;
}
@keyframes dotPulse{
  0%{box-shadow:0 0 0 0 rgba(0,229,151,0.6);}
  70%{box-shadow:0 0 0 12px rgba(0,229,151,0);}
  100%{box-shadow:0 0 0 0 rgba(0,229,151,0);}
}

.hero__title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(42px,7.5vw,88px);
  line-height:1.02;
  letter-spacing:-0.04em;
  color:var(--text);
  font-variation-settings:"opsz" 96;
  margin-bottom:30px;
  max-width:900px;
  margin-left:auto;margin-right:auto;
}
.hero__title .grad{
  background:var(--grad-hero);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-style:italic;
  font-weight:500;
}

.hero__sub{
  font-family:var(--body);
  font-size:clamp(17px, 1.6vw, 21px);
  line-height:1.55;
  color:var(--text-2);
  max-width:680px;
  margin:0 auto 44px;
}
.hero__sub b{color:var(--text);font-weight:600;}

.hero__cta{
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px;
  margin-bottom:48px;
}

.hero__trust{
  display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.25em;
  color:var(--mute);
}
.hero__trust i{
  width:4px;height:4px;border-radius:50%;
  background:var(--mute);
  display:inline-block;
}

/* SCROLL INDICATOR */
.hero__scroll{
  position:absolute;bottom:32px;left:50%;
  transform:translateX(-50%);
  width:28px;height:46px;
  border:2px solid rgba(255,255,255,0.2);
  border-radius:14px;
  z-index:5;
}
.hero__scroll span{
  display:block;
  width:4px;height:8px;
  background:var(--text);
  border-radius:2px;
  margin:8px auto 0;
  animation:scrollDot 1.8s ease-in-out infinite;
}
@keyframes scrollDot{
  0%{transform:translateY(0);opacity:1;}
  100%{transform:translateY(20px);opacity:0;}
}

/* =================================================================
   FLOATING HERO CARDS
   ================================================================= */
.float{
  position:absolute;
  z-index:4;
  pointer-events:none;
}
.float__inner{
  padding:16px 20px;
  border-radius:var(--r-md);
  min-width:180px;
}
.float__head{
  display:flex;align-items:center;gap:8px;
  margin-bottom:10px;
}
.float__head .dot{width:8px;height:8px;border-radius:50%;}
.float__head .dot--green{background:var(--green);box-shadow:0 0 12px var(--green);}
.float__head .dot--red{background:var(--red);box-shadow:0 0 12px var(--red);}
.float__label{
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:0.12em;
  color:var(--mute);
  text-transform:uppercase;
}
.float__big{
  font-family:var(--display);
  font-weight:700;
  font-size:32px;
  line-height:1;
  letter-spacing:-0.02em;
}
.float__big.up{color:var(--green);}
.float__big.dn{color:var(--gold);}
.float__sub{
  font-size:11px;
  color:var(--text-2);
  margin-top:6px;
}

.float--card-1{
  top:18%;left:6%;
  animation:floaty-a 8s ease-in-out infinite;
}
.float--card-2{
  top:62%;left:4%;
  animation:floaty-b 9s ease-in-out infinite;
}
.float--candle{
  top:14%;right:5%;
  animation:floaty-c 7s ease-in-out infinite;
}
.float--ticker{
  top:60%;right:4%;
  animation:floaty-d 10s ease-in-out infinite;
}
@keyframes floaty-a{
  0%,100%{transform:translateY(0) rotate(-2deg);}
  50%{transform:translateY(-14px) rotate(-1deg);}
}
@keyframes floaty-b{
  0%,100%{transform:translateY(0) rotate(2deg);}
  50%{transform:translateY(-10px) rotate(3deg);}
}
@keyframes floaty-c{
  0%,100%{transform:translateY(0) rotate(2deg);}
  50%{transform:translateY(-12px) rotate(1deg);}
}
@keyframes floaty-d{
  0%,100%{transform:translateY(0) rotate(-2deg);}
  50%{transform:translateY(-8px) rotate(-3deg);}
}

.candles{
  display:flex;align-items:flex-end;gap:5px;
  height:60px;margin-bottom:10px;
}
.candles i{
  width:8px;
  height:var(--h);
  background:var(--c);
  border-radius:2px;
  display:block;
}
.float__pnl{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:8px;
  border-top:1px solid var(--glass-border);
}
.float__pnl span{font-size:10px;color:var(--mute);letter-spacing:0.12em;font-family:var(--mono);}
.float__pnl b{font-family:var(--mono);font-size:14px;font-weight:700;}
.float__pnl.up b{color:var(--green);}

.ticker-mini{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11.5px;}
.ticker-mini > div{display:flex;align-items:center;gap:8px;}
.ticker-mini b{font-weight:700;color:var(--text);min-width:30px;}
.ticker-mini i{font-style:normal;font-size:10.5px;}
.ticker-mini i.up{color:var(--green);}
.ticker-mini i.dn{color:var(--red);}
.pulse{
  width:6px;height:6px;border-radius:50%;background:var(--green);
  margin-left:auto;
  animation:dotPulse 1.5s ease-out infinite;
}

/* =================================================================
   BUTTONS
   ================================================================= */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;
  border-radius:999px;
  font-family:var(--body);
  font-size:15px;
  font-weight:600;
  border:1px solid transparent;
  background:transparent;
  color:var(--text);
  transition:transform .3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow .3s ease;
  text-decoration:none;
  white-space:nowrap;
  position:relative;
  will-change:transform;
}
.btn b{font-weight:800;}
.btn .arrow{transition:transform .25s ease;display:inline-block;}
.btn:hover .arrow{transform:translateX(4px);}

.btn--primary{
  background:var(--grad-cta);
  color:#fff;
  border-color:rgba(255,255,255,0.1);
  box-shadow:var(--shadow-cta);
  padding:15px 26px 15px 24px;
}
.btn--primary b{
  background:rgba(255,255,255,0.16);
  padding:3px 10px;
  border-radius:999px;
  margin-left:4px;
  font-size:13px;
}
.btn--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 24px 60px -10px rgba(61,157,255,0.7);
}

.btn--soft{
  background:var(--glass-bg-2);
  border-color:var(--glass-border-strong);
  backdrop-filter:blur(20px);
  color:var(--text);
}
.btn--soft:hover{
  background:rgba(255,255,255,0.08);
  border-color:var(--blue);
  transform:translateY(-1px);
}

.btn--xl{
  padding:18px 32px;
  font-size:17px;
}
.btn--block{
  display:flex;width:100%;justify-content:center;
}

/* =================================================================
   CONTAINERS / SECTIONS
   ================================================================= */
.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
  position:relative;
  z-index:2;
}
.container--sm{max-width:920px;}

.lead{
  text-align:center;
  max-width:780px;
  margin:0 auto 64px;
  position:relative;z-index:2;
}
.kicker{
  display:inline-block;
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.3em;
  background:var(--grad-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  margin-bottom:18px;
}
.title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(36px,5.2vw,62px);
  line-height:1.05;
  letter-spacing:-0.035em;
  color:var(--text);
  font-variation-settings:"opsz" 72;
}
.title em{
  font-style:italic;
  font-weight:500;
  background:var(--grad-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.lead__sub{
  margin-top:18px;
  font-size:17px;
  line-height:1.6;
  color:var(--text-2);
}

/* =================================================================
   STRIP — bold value statement
   ================================================================= */
.strip{
  position:relative;z-index:2;
  padding:120px 0;
  text-align:center;
}
.strip__title{
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(36px,6vw,68px);
  line-height:1.1;
  letter-spacing:-0.03em;
  color:var(--text);
  font-variation-settings:"opsz" 96;
  display:flex;flex-direction:column;gap:8px;
  align-items:center;
}
.strip__title em{
  font-style:normal;
  display:block;
}
.strip__title em:nth-child(1){opacity:0.6;}
.strip__title em:nth-child(2){
  background:var(--grad-hero);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-style:italic;
  font-weight:600;
}
.strip__title em:nth-child(3){
  color:var(--text);
}
.strip__sub{
  margin-top:36px;
  font-size:18px;
  color:var(--text-2);
  max-width:640px;
  margin-left:auto;margin-right:auto;
}

/* =================================================================
   PRODUCT PREVIEW — terminal mockup
   ================================================================= */
.preview{
  position:relative;z-index:2;
  padding:80px 0 120px;
}
.terminal{
  border-radius:var(--r-xl);
  background:linear-gradient(180deg,rgba(255,255,255,0.04) 0%,rgba(255,255,255,0.02) 100%);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--glass-border-strong);
  box-shadow:var(--shadow-card),var(--shadow-glow-blue);
  overflow:hidden;
  max-width:1100px;
  margin:0 auto;
}
.terminal__bar{
  display:flex;align-items:center;gap:8px;
  padding:14px 22px;
  border-bottom:1px solid var(--glass-border);
  background:rgba(255,255,255,0.02);
}
.terminal__bar i{width:11px;height:11px;border-radius:50%;background:var(--red);}
.terminal__bar i:nth-child(2){background:var(--gold);}
.terminal__bar i:nth-child(3){background:var(--green);}
.terminal__bar span{
  margin-left:auto;
  font-family:var(--mono);font-size:12px;
  color:var(--mute);
}
.terminal__body{padding:30px;}

.t-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.t-tabs{margin-bottom:24px;}
.tab{
  padding:11px 20px;
  border-radius:14px;
  border:1px solid var(--glass-border);
  background:transparent;
  color:var(--mute);
  font-size:14px;font-weight:600;
}
.tab--on{
  background:rgba(61,157,255,0.12);
  color:var(--blue);
  border-color:rgba(61,157,255,0.3);
}
.t-pills{display:grid;grid-template-columns:repeat(4,1fr);}
.pill{
  padding:14px 18px;
  border-radius:var(--r-md);
  border:1px solid var(--glass-border);
  background:rgba(255,255,255,0.03);
  backdrop-filter:blur(10px);
}
.pill small{
  display:block;
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:0.18em;
  color:var(--mute);
  margin-bottom:6px;
}
.pill b{
  font-family:var(--mono);
  font-size:15px;
  color:var(--text);font-weight:600;
}
.pill b.up{color:var(--green);}

.t-cards{display:grid;grid-template-columns:1fr 1fr;}
.t-card{
  padding:18px 20px;
  border-radius:var(--r-md);
  border:1px solid var(--glass-border);
  background:rgba(255,255,255,0.03);
}
.t-card--geo{
  background:linear-gradient(135deg,rgba(255,85,119,0.06),rgba(255,85,119,0.02));
  border-color:rgba(255,85,119,0.2);
}
.t-card--trump{
  background:linear-gradient(135deg,rgba(255,192,68,0.06),rgba(255,192,68,0.02));
  border-color:rgba(255,192,68,0.2);
}
.t-card header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;font-size:11.5px;
}
.t-card header b{font-weight:600;color:var(--text);font-size:13px;}
.t-card header em{color:var(--red);font-style:normal;font-weight:600;font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;}
.t-card--trump header em{color:var(--gold);}
.t-card ul li{
  font-size:13px;color:var(--text-2);
  padding:6px 0;
  border-top:1px solid var(--glass-border);
}
.t-card ul li:first-child{border-top:none;}
.t-card--trump p{
  font-size:13.5px;color:var(--text);font-weight:500;
  margin-bottom:10px;
  padding:10px 14px;background:rgba(0,0,0,0.2);border-radius:10px;
  font-family:var(--display);font-style:italic;
}
.impact{
  display:flex;align-items:center;justify-content:space-between;
  font-family:var(--mono);font-size:11px;color:var(--mute);
  border-top:1px solid var(--glass-border);padding-top:10px;
  letter-spacing:0.08em;
}
.impact b.dn{color:var(--red);font-size:14px;}

.t-verdict{
  display:grid;grid-template-columns:240px 1fr;gap:24px;
  align-items:stretch;
  margin-top:24px;padding-top:24px;
  border-top:1px solid var(--glass-border);
}
.gauge-wrap{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:18px;
  border-radius:var(--r-md);
  border:1px solid var(--glass-border);
  background:rgba(255,255,255,0.03);
}
.gauge{width:200px;height:auto;}
.gauge__num{text-align:center;margin-top:-22px;}
.gauge__num b{
  font-family:var(--display);font-weight:600;font-size:46px;
  color:var(--green);letter-spacing:-0.04em;
  font-variation-settings:"opsz" 72;
}
.gauge__num span{
  display:block;font-family:var(--mono);font-size:9.5px;
  letter-spacing:0.25em;color:var(--mute);
}
.thesis{
  padding:20px 24px;
  border-radius:var(--r-md);
  border:1px solid var(--glass-border);
  background:rgba(255,255,255,0.03);
}
.thesis header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;
}
.thesis header span{font-family:var(--mono);font-size:10.5px;letter-spacing:0.18em;color:var(--mute);}
.thesis header b{font-family:var(--mono);font-size:13px;color:var(--green);}
.thesis p{
  font-size:14.5px;color:var(--text-2);line-height:1.6;
  margin-bottom:16px;
}
.reasons{display:grid;grid-template-columns:1fr;gap:8px;}
.reasons > div{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;border-radius:12px;
  background:rgba(255,255,255,0.03);
}
.reasons i{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.reasons .r--g{background:var(--green);box-shadow:0 0 8px var(--green);}
.reasons .r--y{background:var(--gold);box-shadow:0 0 8px var(--gold);}
.reasons b{font-family:var(--mono);font-size:11px;color:var(--mute);min-width:50px;letter-spacing:0.08em;}
.reasons span{font-size:13.5px;color:var(--text);}

/* =================================================================
   BENTO GRID — features
   ================================================================= */
.bento{
  position:relative;z-index:2;
  padding:120px 0;
}
.bento__grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:minmax(220px, auto);
  gap:16px;
}
.b{
  position:relative;
  padding:32px 30px;
  border-radius:var(--r-lg);
  background:var(--glass-bg);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border:1px solid var(--glass-border);
  transition:transform .35s cubic-bezier(0.34, 1.56, 0.64, 1), border-color .35s ease, box-shadow .35s ease;
  overflow:hidden;
  grid-column:span 2;
}
.b:hover{
  transform:translateY(-4px);
  border-color:var(--glass-border-strong);
  box-shadow:0 20px 50px -20px rgba(61,157,255,0.3);
}
.b__icon{
  width:54px;height:54px;
  border-radius:16px;
  background:rgba(61,157,255,0.1);
  border:1px solid rgba(61,157,255,0.25);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;
  margin-bottom:20px;
}
.b__icon--lg{width:70px;height:70px;font-size:32px;border-radius:20px;}

.b h3{
  font-family:var(--display);
  font-weight:600;
  font-size:22px;
  letter-spacing:-0.02em;
  color:var(--text);
  margin-bottom:10px;
  font-variation-settings:"opsz" 36;
}
.b p{
  font-size:14.5px;line-height:1.6;
  color:var(--text-2);
}
.b p b{color:var(--text);font-weight:600;}
.b p em{font-style:italic;color:var(--blue-2);}
.b__meta{
  margin-top:16px;
  display:inline-block;
  padding:5px 12px;
  border-radius:999px;
  background:rgba(61,157,255,0.1);
  color:var(--blue-2);
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:0.08em;
}

.b--big{grid-column:span 4;}
.b--thesis{
  background:linear-gradient(135deg,rgba(61,157,255,0.08) 0%,rgba(155,107,255,0.04) 100%);
  border-color:rgba(61,157,255,0.2);
}
.b__example{
  margin-top:18px;
  padding:14px 18px;
  border-radius:14px;
  background:rgba(0,0,0,0.25);
  border-left:3px solid var(--blue);
  font-size:13px;
  font-style:italic;
  color:var(--text-2);
  line-height:1.55;
}
.b__example span{
  display:inline-block;
  font-style:normal;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:0.18em;
  color:var(--blue);
  margin-right:8px;
  font-weight:700;
}

.b--geo .b__icon{background:rgba(255,85,119,0.1);border-color:rgba(255,85,119,0.25);}
.b--trump .b__icon{background:rgba(255,192,68,0.1);border-color:rgba(255,192,68,0.25);}
.b--verdict .b__icon{background:rgba(155,107,255,0.1);border-color:rgba(155,107,255,0.25);}
.b--price .b__icon{background:rgba(0,229,151,0.1);border-color:rgba(0,229,151,0.25);}

/* =================================================================
   STEPS — 3 horizontal cards
   ================================================================= */
.steps{
  position:relative;z-index:2;
  padding:120px 0;
}
.steps__row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.step{
  position:relative;
  padding:36px 32px 32px;
  border-radius:var(--r-lg);
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  transition:all .35s ease;
}
.step:hover{
  border-color:var(--glass-border-strong);
  transform:translateY(-3px);
}
.step__num{
  font-family:var(--display);
  font-weight:700;
  font-size:64px;
  line-height:1;
  background:var(--grad-hero);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  margin-bottom:18px;
  letter-spacing:-0.04em;
}
.step h3{
  font-family:var(--display);
  font-weight:600;
  font-size:26px;
  letter-spacing:-0.02em;
  color:var(--text);
  margin-bottom:12px;
}
.step p{
  font-size:14.5px;line-height:1.6;
  color:var(--text-2);
}
.step p em{font-style:italic;color:var(--blue-2);}
.step__chips{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-top:18px;
}
.step__chips span{
  font-family:var(--mono);
  font-size:10.5px;
  padding:5px 11px;
  border-radius:999px;
  background:rgba(255,255,255,0.04);
  color:var(--text-2);
  border:1px solid var(--glass-border);
}
.step__model,.step__verdict{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:18px;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(0,229,151,0.08);
  border:1px solid rgba(0,229,151,0.25);
  font-family:var(--mono);
  font-size:11.5px;
  color:var(--text-2);
}
.step__model i{
  width:6px;height:6px;border-radius:50%;
  background:var(--green);box-shadow:0 0 8px var(--green);
}
.step__verdict span{font-family:var(--mono);font-size:10px;color:var(--mute);letter-spacing:0.16em;}
.step__verdict{color:var(--green);}

/* =================================================================
   PRICING
   ================================================================= */
.pricing{
  position:relative;z-index:2;
  padding:120px 0;
}
.price-card{
  position:relative;
  border-radius:var(--r-xl);
  padding:48px 44px;
  background:linear-gradient(180deg,rgba(255,255,255,0.06) 0%,rgba(255,255,255,0.02) 100%);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border:1px solid var(--glass-border-strong);
  box-shadow:var(--shadow-card),var(--shadow-glow-blue);
  overflow:hidden;
}
.price-card::before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--grad-hero);
  border-radius:var(--r-xl) var(--r-xl) 0 0;
}
.price-card::after{
  content:"";
  position:absolute;
  top:-100px;right:-80px;
  width:300px;height:300px;
  background:radial-gradient(closest-side,rgba(155,107,255,0.4),transparent 70%);
  pointer-events:none;
  filter:blur(20px);
}

.price__top{margin-bottom:24px;}
.badge{
  display:inline-block;
  padding:7px 16px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(255,192,68,0.15),rgba(255,107,170,0.1));
  border:1px solid rgba(255,192,68,0.3);
  color:var(--gold);
  font-family:var(--mono);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.18em;
}

.price__name{
  font-family:var(--display);
  font-weight:600;
  font-size:30px;
  letter-spacing:-0.025em;
  color:var(--text);
  margin-bottom:8px;
}

.price__big{
  display:flex;align-items:baseline;gap:6px;
  margin:24px 0 12px;
}
.cur{
  font-family:var(--display);font-weight:500;
  font-size:42px;color:var(--blue-2);
  letter-spacing:-0.02em;
}
.num{
  font-family:var(--display);font-weight:700;
  font-size:clamp(96px, 13vw, 128px);
  line-height:1;
  letter-spacing:-0.06em;
  background:var(--grad-hero);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-variation-settings:"opsz" 96;
}
.per{
  font-family:var(--mono);font-size:11.5px;
  letter-spacing:0.15em;color:var(--mute);
  line-height:1.4;
  margin-left:8px;
  text-transform:uppercase;
}

.price__hint{
  font-size:15px;
  color:var(--text-2);
  margin-bottom:32px;
  max-width:480px;
}

.price__feat{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 32px;
  margin-bottom:36px;
}
.price__feat li{
  display:flex;align-items:center;gap:12px;
  font-size:14.5px;color:var(--text-2);
}
.price__feat svg{flex-shrink:0;color:var(--green);}

.price__guarantee{
  text-align:center;margin-top:18px;
  font-size:13px;color:var(--mute);
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.price__guarantee span{font-size:16px;}

/* =================================================================
   FAQ
   ================================================================= */
.faq{
  position:relative;z-index:2;
  padding:80px 0 100px;
}
.acc{display:flex;flex-direction:column;gap:10px;}
.acc details{
  border-radius:var(--r-md);
  background:var(--glass-bg);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  overflow:hidden;
  transition:border-color .25s ease;
}
.acc details[open]{
  border-color:var(--glass-border-strong);
  background:var(--glass-bg-2);
}
.acc summary{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 28px;
  cursor:pointer;
  list-style:none;
  font-size:16.5px;
  color:var(--text);
  font-weight:500;
}
.acc summary::-webkit-details-marker{display:none;}
.acc summary span{font-family:var(--display);font-weight:500;letter-spacing:-0.015em;}
.acc summary i{
  width:32px;height:32px;
  border-radius:50%;
  background:rgba(61,157,255,0.1);
  flex-shrink:0;
  position:relative;
  transition:transform .3s ease, background .25s ease;
}
.acc summary i::before,
.acc summary i::after{
  content:"";position:absolute;left:50%;top:50%;
  width:12px;height:1.8px;background:var(--blue);
  transform:translate(-50%,-50%);
  border-radius:1px;
}
.acc summary i::after{transform:translate(-50%,-50%) rotate(90deg);}
.acc details[open] summary i{transform:rotate(45deg);background:rgba(61,157,255,0.18);}
.acc details p{
  padding:0 28px 26px;
  font-size:15.5px;line-height:1.65;
  color:var(--text-2);
}
.acc details p b{color:var(--text);}
.acc details p em{font-style:italic;color:var(--blue-2);}

/* =================================================================
   CLOSING CTA
   ================================================================= */
.closing{
  position:relative;z-index:2;
  padding:80px 0 120px;
  text-align:center;
}
.closing__inner{
  position:relative;
  padding:64px 32px;
  border-radius:var(--r-xl);
  background:linear-gradient(135deg,rgba(61,157,255,0.12) 0%,rgba(155,107,255,0.08) 100%);
  border:1px solid var(--glass-border-strong);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  box-shadow:var(--shadow-card),var(--shadow-glow-purple);
  overflow:hidden;
}
.closing__inner::before{
  content:"";
  position:absolute;
  top:-50%;left:-20%;
  width:140%;height:200%;
  background:radial-gradient(closest-side,rgba(61,157,255,0.18),transparent 70%);
  pointer-events:none;
}
.closing__logo{position:relative;z-index:2;margin-bottom:20px;}
.closing__logo img{
  width:90px;height:auto;
  margin:0 auto;
  filter:drop-shadow(0 12px 30px rgba(61,157,255,0.5));
}
.closing h2{
  position:relative;z-index:2;
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(34px,4.8vw,52px);
  letter-spacing:-0.03em;
  line-height:1.1;
  margin-bottom:14px;
  font-variation-settings:"opsz" 72;
}
.closing p{
  position:relative;z-index:2;
  font-size:18px;
  color:var(--text-2);
  margin-bottom:32px;
}
.closing .btn{position:relative;z-index:2;}

/* =================================================================
   FOOTER
   ================================================================= */
.foot{
  position:relative;z-index:2;
  padding:48px 0 28px;
  border-top:1px solid var(--glass-border);
  background:rgba(0,0,0,0.3);
}
.foot__top{
  display:grid;grid-template-columns:1fr auto;
  gap:40px;align-items:center;
  margin-bottom:32px;
}
.foot__brand{display:flex;align-items:center;gap:16px;}
.foot__brand img{width:48px;height:48px;}
.foot__brand b{
  display:block;
  font-family:var(--display);
  font-weight:600;
  font-size:17px;
  color:var(--text);
}
.foot__brand em{
  font-family:var(--display);
  font-style:italic;
  font-weight:400;
  font-size:14px;
  color:var(--mute);
  display:block;
  margin-top:2px;
}
.foot__links{display:flex;flex-wrap:wrap;gap:24px;}
.foot__links a{font-size:14.5px;color:var(--mute);transition:color .2s ease;}
.foot__links a:hover{color:var(--text);}

.foot__bot{
  display:grid;grid-template-columns:auto 1fr;gap:32px;
  padding-top:24px;border-top:1px solid var(--glass-border);
}
.foot__bot small{
  font-size:12px;color:var(--mute);line-height:1.6;
}
.risk{text-align:right;color:var(--soft);}

.foot__credit{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid var(--glass-border);
  text-align:center;
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--soft);
  display:flex;align-items:center;justify-content:center;gap:10px;
  flex-wrap:wrap;
}
.foot__credit-sep{
  font-style:normal;
  opacity:0.5;
  font-size:12px;
}
.foot__by{
  background:var(--grad-text);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-weight:700;
  letter-spacing:0.18em;
  transition:opacity .2s ease;
}
.foot__by:hover{opacity:0.8;}

/* =================================================================
   ANIMATIONS — JS-driven (no CSS opacity:0 fallback so content
   shows even if GSAP fails to load)
   ================================================================= */
.js-ready [data-anim],
.js-ready [data-reveal]{opacity:0;}

/* =================================================================
   RESPONSIVE
   ================================================================= */
@media(max-width:1100px){
  .float--card-1{top:8%;left:2%;}
  .float--card-2{top:70%;left:1%;}
  .float--candle{top:8%;right:2%;}
  .float--ticker{top:70%;right:1%;}
  .bento__grid{grid-template-columns:repeat(4,1fr);}
  .b{grid-column:span 2;}
  .b--big{grid-column:span 4;}
}
@media(max-width:900px){
  .float{display:none;}
  .nav__menu{display:none;}
  .hero{padding:120px 20px 60px;}
  .hero__logo img{width:200px;}
  .halo-1{width:260px;height:260px;margin:-130px 0 0 -130px;}
  .halo-2{width:380px;height:380px;margin:-190px 0 0 -190px;}
  .halo-3{width:300px;height:300px;margin:-150px 0 0 -150px;}
  .nav__brand img{width:64px;height:64px;}
  .nav.scrolled .nav__brand img{width:48px;height:48px;}
  .container{padding:0 20px;}
  .t-pills{grid-template-columns:repeat(2,1fr);}
  .t-cards{grid-template-columns:1fr;}
  .t-verdict{grid-template-columns:1fr;}
  .bento__grid{grid-template-columns:repeat(2,1fr);}
  .b,.b--big{grid-column:span 2;}
  .steps__row{grid-template-columns:1fr;}
  .price__feat{grid-template-columns:1fr;}
  .foot__top{grid-template-columns:1fr;}
  .foot__bot{grid-template-columns:1fr;}
  .risk{text-align:left;}
}
@media(max-width:560px){
  .hero__title{font-size:42px;}
  .price-card{padding:36px 24px;}
  .num{font-size:88px;}
  .terminal__body{padding:20px;}
}

/* Reduce motion */
@media(prefers-reduced-motion:reduce){
  .orb,.hero__logo img,.halo,.float{animation:none !important;}
  *{transition:none !important;}
}
