/* ═══════════════════════════════════════════════════
   AIRocket.space — Landing Page Styles v2
   Space-themed Immersive 3D Storytelling
   ═══════════════════════════════════════════════════ */

/* ── CSS HOUDINI FOR ANIMATED BORDERS ────────────── */
@property --border-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@property --glow-pulse {
  syntax: '<number>';
  initial-value: 0;
  inherits: false;
}

/* ── VARIABLES ───────────────────────────────────── */
:root {
  --space-black: #04040d;
  --space-deep: #080814;
  --space-gray: #171726;
  --glass-bg: rgba(12,12,20,0.28);
  --glass-border: rgba(255,255,255,0.11);
  --glass-hover: rgba(20,20,32,0.44);
  --purple: #f43f5e;
  --purple-light: #fda4af;
  --purple-glow: rgba(244,63,94,0.36);
  --cyan: #8b5cf6;
  --cyan-light: #a78bfa;
  --cyan-glow: rgba(139,92,246,0.28);
  --pink: #fb7185;
  --pink-glow: rgba(251,113,133,0.24);
  --blue: #64748b;
  --gold: #fbbf24;
  --star-white: #f8f8ff;
  --text-primary: #f7f7ff;
  --text-secondary: rgba(255,255,255,0.72);
  --text-muted: rgba(255,255,255,0.5);
  --gradient-brand: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
  --gradient-main: linear-gradient(135deg, #f43f5e 0%, #e11d48 55%, #8b5cf6 100%);
  --gradient-accent: linear-gradient(135deg, #fb7185 0%, #f43f5e 50%, #be123c 100%);
  --gradient-glow: linear-gradient(135deg, var(--purple-glow), var(--cyan-glow));
  --font-heading: 'Sora', 'Inter', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --ease-out-expo: cubic-bezier(0.16,1,0.3,1);
}

/* ── RESET ───────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{
  font-family:var(--font-body);color:var(--text-primary);
  background:var(--space-black);overflow-x:hidden;line-height:1.6;
  cursor:auto;
}
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.36) 50%,transparent 50%),
    radial-gradient(1px 1px at 30% 60%,rgba(255,255,255,.24) 50%,transparent 50%),
    radial-gradient(1.5px 1.5px at 55% 15%,rgba(244,63,94,.14) 50%,transparent 50%),
    radial-gradient(1px 1px at 70% 45%,rgba(255,255,255,.28) 50%,transparent 50%),
    radial-gradient(1px 1px at 85% 75%,rgba(139,92,246,.2) 50%,transparent 50%),
    radial-gradient(1.5px 1.5px at 20% 80%,rgba(255,255,255,.2) 50%,transparent 50%),
    radial-gradient(1px 1px at 45% 40%,rgba(251,113,133,.1) 50%,transparent 50%),
    radial-gradient(1px 1px at 90% 10%,rgba(255,255,255,.24) 50%,transparent 50%),
    radial-gradient(0.8px 0.8px at 12% 90%,rgba(255,255,255,.22) 50%,transparent 50%),
    radial-gradient(0.8px 0.8px at 78% 18%,rgba(255,255,255,.2) 50%,transparent 50%),
    linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(251,113,133,.016) 1px, transparent 1px),
    radial-gradient(ellipse at 20% 50%,rgba(244,63,94,.05) 0%,transparent 60%),
    radial-gradient(ellipse at 80% 30%,rgba(139,92,246,.04) 0%,transparent 60%);
  background-size:200px 200px,300px 300px,250px 250px,180px 180px,220px 220px,280px 280px,320px 320px,160px 160px,210px 210px,150px 150px,120px 120px,120px 120px,100% 100%,100% 100%;
}
body::after{
  content:'';position:fixed;inset:-12%;z-index:2;pointer-events:none;
  background:
    repeating-linear-gradient(112deg, rgba(255,255,255,.02) 0 1px, transparent 1px 90px),
    radial-gradient(circle at 8% 0%, rgba(244,63,94,0.12), transparent 26%),
    radial-gradient(circle at 92% 12%, rgba(139,92,246,0.12), transparent 24%),
    radial-gradient(circle at 50% 100%, rgba(159,18,57,0.08), transparent 30%),
    linear-gradient(180deg,rgba(4,4,13,.22) 0%,rgba(4,4,13,.12) 45%,rgba(4,4,13,.2) 100%),
    radial-gradient(ellipse at 50% 12%,rgba(4,4,13,.04) 0%,rgba(4,4,13,.16) 75%);
  will-change:transform;
  transform:translate3d(0,0,0);
  animation:backdrop-drift 24s linear infinite;
}
@keyframes backdrop-drift{
  0%{transform:translate3d(-3%,0,0)}
  100%{transform:translate3d(3%,-2%,0)}
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}
ul,ol{list-style:none}

/* ── SCROLL PROGRESS BAR ─────────────────────────── */
#scroll-progress{
  position:fixed;top:0;left:0;width:100%;height:4px;
  background:var(--gradient-main);
  transform-origin:left;transform:scaleX(0);
  overflow:hidden;opacity:.9;
  z-index:102;
  box-shadow:0 0 16px var(--purple-glow),0 0 34px var(--cyan-glow);
  transition:opacity .2s ease,box-shadow .2s ease;
  will-change:transform,opacity;
}
#scroll-progress::after{
  content:'';position:absolute;inset:-2px -18%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  mix-blend-mode:screen;opacity:.55;
  animation:scroll-bar-glint 2.8s linear infinite;
}
@keyframes scroll-bar-glint{
  0%{transform:translateX(-60%)}
  100%{transform:translateX(70%)}
}

/* ── AURORA OVERLAY ──────────────────────────────── */
.aurora{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  opacity:0.37;
  background:
    radial-gradient(ellipse at 15% 0%,rgba(244,63,94,0.11) 0%,transparent 55%),
    radial-gradient(ellipse at 85% 0%,rgba(139,92,246,0.09) 0%,transparent 50%),
    radial-gradient(ellipse at 50% 0%,rgba(251,113,133,0.07) 0%,transparent 55%);
  filter:blur(16px) saturate(1.1);
  will-change:transform;
  animation:aurora-shift 18s ease-in-out infinite alternate;
}
@keyframes aurora-shift{
  0%{transform:translateX(-5%) scaleY(1)}
  50%{transform:translateX(5%) scaleY(1.15)}
  100%{transform:translateX(-3%) scaleY(1.05)}
}

/* ── FLOATING ORBS ───────────────────────────────── */
.floating-orb{
  position:absolute;border-radius:50%;
  filter:blur(88px);pointer-events:none;z-index:1;
  opacity:0.085;
  will-change:transform;
  animation:float-orb var(--dur,20s) ease-in-out infinite alternate;
}
.floating-orb--purple{background:var(--purple);width:350px;height:350px}
.floating-orb--cyan{background:var(--cyan);width:280px;height:280px}
.floating-orb--pink{background:var(--pink);width:300px;height:300px}
@keyframes float-orb{
  0%{transform:translate(0,0) scale(1)}
  33%{transform:translate(30px,-50px) scale(1.12)}
  66%{transform:translate(-25px,35px) scale(0.88)}
  100%{transform:translate(15px,-25px) scale(1.06)}
}

/* ── WAVE DIVIDER ────────────────────────────────── */
.wave-divider{
  position:relative;z-index:10;
  height:80px;overflow:hidden;margin-top:-1px;
}
.wave-divider svg{
  position:absolute;bottom:0;width:100%;height:100%;
  fill:none;stroke:url(#wave-grad);stroke-width:1;
  opacity:0.24;
}

/* ── LAYOUT ──────────────────────────────────────── */
.landing-container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem}
.landing-container--narrow{max-width:900px}

/* ── 3D CANVAS ───────────────────────────────────── */
#landing-canvas{
  position:fixed;inset:0;width:100%;height:100%;
  z-index:0;pointer-events:none;
}

/* ── LOADING SCREEN ──────────────────────────────── */
#loading-screen{
  position:fixed;inset:0;z-index:9999;background:var(--space-black);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;
  transition:opacity 1s var(--ease-out-expo),filter .8s ease;
}
#loading-screen.loaded{opacity:0;filter:blur(12px);pointer-events:none}
.loader-orbit{width:80px;height:80px;position:relative}
.loader-orbit::before,.loader-orbit::after{
  content:'';position:absolute;inset:0;border-radius:50%;border:2px solid transparent;
}
.loader-orbit::before{border-top-color:var(--purple);border-right-color:var(--purple);animation:spin 1.2s linear infinite}
.loader-orbit::after{border-bottom-color:var(--cyan);border-left-color:var(--cyan);animation:spin 1.8s linear infinite reverse;inset:8px}
.loader-core{
  position:absolute;top:50%;left:50%;width:12px;height:12px;
  background:var(--gradient-main);border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 20px var(--purple-glow),0 0 40px var(--cyan-glow);
  animation:pulse-glow 1.5s ease-in-out infinite;
}
.loader-text{
  font-family:var(--font-heading);font-size:0.85rem;letter-spacing:0.15em;
  text-transform:uppercase;color:var(--text-muted);animation:flicker 2s ease-in-out infinite;
}

/* ── NAVIGATION ──────────────────────────────────── */
.landing-nav{
  position:fixed;top:0;left:0;right:0;z-index:100;padding:0;
  background:
    linear-gradient(90deg,rgba(244,63,94,.1) 0%,rgba(244,63,94,.02) 24%,rgba(8,8,16,.72) 55%,rgba(139,92,246,.06) 100%),
    rgba(8,8,16,.76);
  backdrop-filter:blur(14px) saturate(1.2);
  transition:background .4s ease,backdrop-filter .4s ease,border-color .4s ease;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.landing-nav.scrolled{
  background:
    linear-gradient(90deg,rgba(244,63,94,.08) 0%,rgba(244,63,94,.015) 24%,rgba(8,8,16,.84) 55%,rgba(139,92,246,.05) 100%),
    rgba(8,8,16,.88);
  backdrop-filter:blur(24px) saturate(1.6);
  border-bottom-color:var(--glass-border);
}
.landing-nav__inner{
  max-width:1280px;margin:0 auto;padding:0 1.5rem;
  display:flex;align-items:center;justify-content:space-between;height:72px;
}
.landing-nav__logo{display:flex;align-items:center;gap:.75rem;font-family:var(--font-heading);font-weight:700;font-size:1.25rem;cursor:pointer}
.landing-nav__logo-icon{
  width:36px;height:36px;border-radius:12px;
  background:var(--gradient-brand);display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 20px rgba(244,63,94,.38);
  transition:box-shadow .4s ease,transform .4s ease;
}
.landing-nav__logo:hover .landing-nav__logo-icon{
  box-shadow:0 0 28px rgba(244,63,94,.4),0 0 54px rgba(225,29,72,.25);
  transform:rotate(12deg) scale(1.08);
}
.landing-nav__logo-text{background:linear-gradient(90deg,#f8fafc 0%,#f8fafc 38%,#fb7185 62%,#f43f5e 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.landing-nav__links{display:none;align-items:center;gap:2rem}
.landing-nav__link{
  font-size:0.875rem;color:rgba(245,245,245,.76);transition:color .3s ease;position:relative;cursor:pointer;
}
.landing-nav__link::after{
  content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;
  background:var(--gradient-main);border-radius:1px;transition:width .3s var(--ease-out-expo);
}
.landing-nav__link:hover{color:var(--text-primary)}
.landing-nav__link:hover::after{width:100%}
.landing-nav__actions{display:flex;align-items:center;gap:.75rem}
.landing-nav__lang{padding:.4rem .6rem;font-size:.75rem;font-weight:700;color:rgba(245,245,245,.62);border-radius:8px;transition:all .3s ease;cursor:pointer}
.landing-nav__lang:hover{color:var(--text-primary);background:var(--glass-bg)}
.landing-nav__mobile-btn{display:flex;padding:.5rem;color:rgba(245,245,245,.76)}

/* ── BUTTONS ─────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-body);font-weight:600;border-radius:14px;
  transition:all .35s var(--ease-out-expo);position:relative;overflow:hidden;white-space:nowrap;
  cursor:pointer;
}
.btn--primary{
  padding:.8rem 1.75rem;font-size:.9rem;
  background:var(--gradient-brand);color:#fff;
  box-shadow:0 4px 20px rgba(244,63,94,.36);
}
.btn--primary:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 34px rgba(244,63,94,.36),0 0 60px rgba(225,29,72,.2);
}
.btn--primary::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,0.3));
  opacity:0;transition:opacity .3s ease;
}
.btn--primary:hover::before{opacity:1}
/* shimmer sweep on primary buttons */
.btn--primary::after{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
  transition:none;
}
.btn--primary:hover::after{
  animation:btn-shimmer .8s ease forwards;
}
@keyframes btn-shimmer{to{left:100%}}
.btn--primary.btn--lg{padding:1rem 2.25rem;font-size:1.05rem;border-radius:16px}
.btn--ghost{
  padding:.8rem 1.75rem;font-size:.9rem;
  border:1px solid var(--glass-border);color:var(--text-primary);
  background:var(--glass-bg);backdrop-filter:blur(8px);
}
.btn--ghost:hover{
  background:var(--glass-hover);border-color:rgba(139,92,246,.35);
  transform:translateY(-3px);box-shadow:0 8px 30px rgba(139,92,246,.12);
}
.btn--sm{padding:.5rem 1rem;font-size:.8rem;border-radius:10px}

/* ── HERO SECTION ────────────────────────────────── */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  padding:7rem 1.5rem 4rem;z-index:10;
}
.hero::before{
  content:'';position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:min(1480px,100vw);height:500px;z-index:2;pointer-events:none;
  background:
    radial-gradient(ellipse at center,rgba(8,8,16,.58) 0%,rgba(8,8,16,.28) 48%,rgba(8,8,16,0) 78%),
    linear-gradient(90deg,rgba(8,8,16,0) 0%,rgba(8,8,16,.24) 14%,rgba(8,8,16,.28) 50%,rgba(8,8,16,.24) 86%,rgba(8,8,16,0) 100%);
  filter:blur(24px);
}
.hero__content{text-align:center;max-width:900px}
.hero__content{
  position:relative;z-index:3;
  padding:0 .7rem;
  border-radius:0;
  border:none;
  background:none;
  backdrop-filter:none;
  box-shadow:none;
}
.hero__badge{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem 1.25rem;border-radius:100px;font-size:.8rem;font-weight:600;
  letter-spacing:.05em;color:var(--purple-light);
  border:1px solid rgba(139,92,246,.25);background:rgba(139,92,246,.08);
  backdrop-filter:blur(8px);margin-bottom:2rem;
  animation:badge-glow 3s ease-in-out infinite alternate;
}
@keyframes badge-glow{
  0%{box-shadow:0 0 0 rgba(139,92,246,0)}
  100%{box-shadow:0 0 20px rgba(139,92,246,0.2),0 0 40px rgba(34,211,238,0.1)}
}
.hero__badge-dot{
  width:6px;height:6px;border-radius:50%;background:var(--cyan);
  box-shadow:0 0 8px var(--cyan-glow);animation:pulse-glow 2s ease-in-out infinite;
}
.hero__title{
  font-family:var(--font-heading);
  font-size:clamp(2.75rem,7.5vw,6.5rem);font-weight:800;
  line-height:1.02;letter-spacing:-0.035em;margin-bottom:1.75rem;
  text-shadow:0 8px 24px rgba(0,0,0,.45);
}
.hero__title .line{display:block;overflow:hidden}
.gradient-text{
  background:linear-gradient(135deg,var(--purple),var(--cyan),var(--pink));
  background-size:200% 200%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:gradient-flow 6s ease-in-out infinite;
}
@keyframes gradient-flow{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
.hero__subtitle{
  font-size:clamp(1rem,2vw,1.35rem);color:var(--text-secondary);
  max-width:650px;margin:0 auto 2.5rem;line-height:1.7;
}
.hero__buttons{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;margin-bottom:3rem}
.hero__badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem}
.hero__badges-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}
.hero__badges-check{color:var(--cyan);flex-shrink:0}

/* ── STATS BAR ───────────────────────────────────── */
.stats-bar{position:relative;z-index:10;padding:0 1.5rem;margin-top:1.75rem;margin-bottom:4.25rem}
.stats-bar__inner{
  max-width:980px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:2rem;background:transparent;border-radius:0;overflow:visible;
  border:none;
}
.stat-item{
  background:transparent;backdrop-filter:none;
  padding:0;text-align:center;
  transition:transform .3s ease;
}
.stat-item:hover{background:transparent;transform:translateY(-3px)}
.stat-item__number{
  font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;
  background:var(--gradient-main);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1.2;text-shadow:0 0 24px rgba(244,63,94,.2);
}
.stat-item__label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:.25rem}

/* ── SECTION COMMON ──────────────────────────────── */
.landing-section{position:relative;z-index:10;padding:6rem 0}
.section-header{position:relative;isolation:isolate;text-align:center;margin-bottom:4rem}
.section-header::before{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(640px,92vw);height:170px;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(8,8,15,.34) 0%,rgba(8,8,15,.08) 62%,transparent 100%);
}
.section-tag{
  display:inline-block;font-family:var(--font-heading);font-size:.75rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:1rem;
}
.section-title{
  font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.25rem);font-weight:700;
  letter-spacing:-0.02em;line-height:1.15;margin-bottom:1rem;
  text-shadow:0 6px 18px rgba(0,0,0,.35);
}
.section-subtitle{font-size:1.05rem;color:var(--text-secondary);max-width:550px;margin:0 auto}

/* ── GLASS CARD — with animated gradient border ──── */
.glass-card{
  --border-angle:0deg;
  background:linear-gradient(165deg,rgba(12,12,24,.46) 0%,rgba(9,9,18,.32) 100%);
  border:1px solid var(--glass-border);
  border-radius:20px;backdrop-filter:blur(14px) saturate(1.04);
  transition:all .45s var(--ease-out-expo);
  position:relative;
}
/* Animated conic-gradient border on hover */
.glass-card::before{
  content:'';position:absolute;inset:-1px;border-radius:inherit;
  padding:1px;
  background:conic-gradient(from var(--border-angle),transparent 30%,var(--purple),var(--cyan),var(--pink),transparent 70%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity .4s ease;pointer-events:none;
}
.glass-card:hover::before{
  opacity:1;
  animation:border-rotate 3s linear infinite;
}
@keyframes border-rotate{to{--border-angle:360deg}}

.glass-card:hover{
  background:var(--glass-hover);
  transform:translateY(-4px);
  box-shadow:0 24px 65px rgba(0,0,0,.42),0 0 32px rgba(244,63,94,.1);
}

/* ── FEATURES ────────────────────────────────────── */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.feature-card{padding:2rem}
.feature-card__icon{
  width:52px;height:52px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.25rem;position:relative;
  transition:transform .4s var(--ease-out-expo),box-shadow .4s ease;
}
.feature-card:hover .feature-card__icon{
  transform:scale(1.1) rotate(-5deg);
}
.feature-card__icon--purple{background:rgba(139,92,246,.12);color:var(--purple-light)}
.feature-card__icon--cyan{background:rgba(34,211,238,.12);color:var(--cyan)}
.feature-card__icon--pink{background:rgba(236,72,153,.12);color:var(--pink)}
.feature-card__icon--blue{background:rgba(59,130,246,.12);color:var(--blue)}
.feature-card:hover .feature-card__icon--purple{box-shadow:0 0 25px var(--purple-glow)}
.feature-card:hover .feature-card__icon--cyan{box-shadow:0 0 25px var(--cyan-glow)}
.feature-card:hover .feature-card__icon--pink{box-shadow:0 0 25px var(--pink-glow)}
.feature-card:hover .feature-card__icon--blue{box-shadow:0 0 25px rgba(59,130,246,.35)}
.feature-card__icon svg{width:24px;height:24px}
.feature-card__title{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;margin-bottom:.5rem}
.feature-card__desc{font-size:.875rem;color:var(--text-secondary);line-height:1.65}

/* ── MARQUEE (providers) ─────────────────────────── */
.marquee-wrap{
  overflow:hidden;position:relative;
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee-track{
  display:flex;gap:1rem;width:max-content;
  animation:marquee-scroll 25s linear infinite;
}
@keyframes marquee-scroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
.marquee-track:hover{animation-play-state:paused}

/* ── PROVIDERS ───────────────────────────────────── */
.providers-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.provider-card{padding:1.5rem 1rem;text-align:center;border-radius:16px;min-width:140px}
.provider-card__icon{
  width:52px;height:52px;border-radius:14px;margin:0 auto .75rem;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:1.1rem;color:#fff;
  transition:transform .4s var(--ease-out-expo),box-shadow .4s ease;
}
.provider-card__icon--1{background:linear-gradient(135deg,#10a37f,#1a7f5a)}
.provider-card__icon--2{background:linear-gradient(135deg,#d4a574,#b8860b)}
.provider-card__icon--3{background:linear-gradient(135deg,#4285f4,#34a853)}
.provider-card__icon--4{background:linear-gradient(135deg,#ff7000,#ff4500)}
.provider-card__icon--5{background:linear-gradient(135deg,#6366f1,#4f46e5)}
.provider-card__icon--6{background:linear-gradient(135deg,#6b7280,#374151)}
.provider-card__icon--7{background:linear-gradient(135deg,#a855f7,#7c3aed)}
.provider-card__icon--8{background:linear-gradient(135deg,#ec4899,#db2777)}
.provider-card__icon--9{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}
.provider-card__icon--10{background:linear-gradient(135deg,#00d4aa,#0891b2)}
.provider-card__icon--11{background:linear-gradient(135deg,#f59e0b,#d97706)}
.provider-card__icon--12{background:linear-gradient(135deg,#ef4444,#dc2626)}
.provider-card:hover .provider-card__icon{
  transform:scale(1.12) translateY(-3px);
  box-shadow:0 8px 25px rgba(0,0,0,.3);
}
.provider-card__name{font-family:var(--font-heading);font-weight:600;font-size:.9rem;margin-bottom:.25rem}
.provider-card__models{font-size:.7rem;color:var(--text-muted);line-height:1.4}

/* ── HOW IT WORKS ────────────────────────────────── */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative}
.steps-grid::before{
  content:'';position:absolute;top:40px;
  left:calc(16.67% + 1rem);right:calc(16.67% + 1rem);
  height:2px;
  background:linear-gradient(90deg,var(--purple),var(--cyan),var(--pink));
  opacity:.3;
}
.step-card{text-align:center;padding:2rem 1.5rem}
.step-card__number{
  width:52px;height:52px;border-radius:50%;background:var(--gradient-main);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-heading);font-weight:700;font-size:1.1rem;
  margin:0 auto 1.25rem;position:relative;z-index:1;
  box-shadow:0 0 30px var(--purple-glow);
  transition:transform .4s var(--ease-out-expo),box-shadow .4s ease;
}
.step-card:hover .step-card__number{
  transform:scale(1.15);
  box-shadow:0 0 40px var(--purple-glow),0 0 60px var(--cyan-glow);
}
.step-card__title{font-family:var(--font-heading);font-weight:600;font-size:1.1rem;margin-bottom:.5rem}
.step-card__desc{font-size:.85rem;color:var(--text-secondary);line-height:1.6}

/* ── PRICING ─────────────────────────────────────── */
.landing-section#pricing{
  position:relative;
}
.landing-section#pricing::before{
  content:'';position:absolute;inset:8% 6% 2% 6%;z-index:0;pointer-events:none;
  background:
    radial-gradient(circle at 22% 26%,rgba(244,63,94,.14) 0%,rgba(244,63,94,0) 44%),
    radial-gradient(circle at 78% 34%,rgba(139,92,246,.13) 0%,rgba(139,92,246,0) 42%),
    radial-gradient(ellipse at 50% 70%,rgba(251,113,133,.09) 0%,rgba(251,113,133,0) 55%);
  filter:blur(8px);
}
.landing-section#pricing .landing-container{position:relative;z-index:1}
.pricing-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}
.pricing-card{padding:2.5rem 2rem;border-radius:24px;position:relative;display:flex;flex-direction:column;min-height:460px;width:100%}
.pricing-card{
  background:
    linear-gradient(165deg,rgba(16,10,26,.82) 0%,rgba(11,8,22,.72) 100%),
    radial-gradient(circle at 12% 0%,rgba(244,63,94,.15) 0%,rgba(244,63,94,0) 42%);
  border-color:rgba(255,255,255,.14);
}
.pricing-card--featured{border-color:rgba(139,92,246,.35);box-shadow:0 0 50px rgba(139,92,246,.12)}
.pricing-card--featured::after{
  content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;
  background:var(--gradient-main);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
}
.pricing-card__popular{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  padding:.3rem 1rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:var(--gradient-main);color:#fff;border-radius:100px;z-index:2;
  box-shadow:0 4px 15px var(--purple-glow);
}
.pricing-card__name{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;margin-bottom:.5rem}
.pricing-card__price{
  font-family:var(--font-heading);font-size:2.75rem;font-weight:800;line-height:1.1;margin-bottom:.25rem;
}
.pricing-card__price span{font-size:1rem;font-weight:400;color:var(--text-muted)}
.pricing-card__desc{font-size:.85rem;color:var(--text-secondary);margin-bottom:1.5rem}
.pricing-card__features{margin-bottom:2rem}
.pricing-card__feature{
  display:flex;align-items:flex-start;gap:.6rem;font-size:.875rem;padding:.4rem 0;color:var(--text-secondary);
}
.pricing-card__feature svg{color:var(--cyan);flex-shrink:0;margin-top:2px}
.pricing-card .btn{margin-top:auto}

/* token packages are intentionally shorter than subscription plans */
.pricing-grid--tokens .pricing-card{
  min-height:280px;
  padding:2rem 1.8rem;
  justify-content:flex-start;
  background:
    linear-gradient(160deg,rgba(18,10,28,.84) 0%,rgba(9,8,24,.76) 100%),
    radial-gradient(circle at 18% -10%,rgba(244,63,94,.22) 0%,rgba(244,63,94,0) 52%),
    radial-gradient(circle at 88% 10%,rgba(139,92,246,.18) 0%,rgba(139,92,246,0) 46%);
  border-color:rgba(255,255,255,.16);
  box-shadow:0 16px 44px rgba(0,0,0,.34),0 0 28px rgba(244,63,94,.08);
}
.pricing-grid.pricing-grid--tokens{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  align-items:start;
}
.pricing-grid--tokens .pricing-card .btn{margin-top:1.25rem}
.pricing-grid--tokens .pricing-card__desc{margin-bottom:0;color:rgba(255,255,255,.78)}
.pricing-card__price--token{
  display:inline-flex;
  align-items:flex-end;
  gap:.35rem;
  flex-wrap:nowrap;
  white-space:nowrap;
  font-size:clamp(1.95rem,3.4vw,3.05rem);
  letter-spacing:-.015em;
}
.pricing-card__price-value{line-height:1}
.pricing-card__price-currency{
  font-size:.82em;
  line-height:1;
  transform:translateY(-1px);
}
.pricing-card--token .pricing-card__popular{
  background:linear-gradient(135deg,#fb7185 0%,#f43f5e 45%,#8b5cf6 100%);
}

/* ── FAQ ─────────────────────────────────────────── */
.faq-list{display:flex;flex-direction:column;gap:.75rem}
.faq-item{border-radius:16px;padding:1.25rem 1.5rem;cursor:pointer}
.faq-item__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.faq-item__question{font-family:var(--font-heading);font-weight:600;font-size:1rem}
.faq-item__icon{
  flex-shrink:0;width:24px;height:24px;color:var(--text-muted);
  transition:transform .3s var(--ease-out-expo),color .3s ease;
}
.faq-item__icon.open{transform:rotate(180deg);color:var(--cyan)}
.faq-item__answer{overflow:hidden;max-height:0;transition:max-height .4s var(--ease-out-expo),opacity .3s ease;opacity:0}
.faq-item__answer.open{max-height:300px;opacity:1}
.faq-item__answer-text{padding-top:1rem;font-size:.9rem;color:var(--text-secondary);line-height:1.7}

/* ── CTA SECTION ─────────────────────────────────── */
.cta-section{
  position:relative;z-index:10;padding:8rem 1.5rem;text-align:center;isolation:isolate;
}
.cta-section::before{
  content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(980px,92vw);height:360px;border-radius:34px;z-index:-1;
  background:
    radial-gradient(circle at 50% 10%, rgba(244,63,94,.2) 0%, rgba(244,63,94,.06) 36%, rgba(8,8,16,.68) 100%),
    linear-gradient(145deg, rgba(8,8,16,.72) 0%, rgba(8,8,16,.52) 100%);
  backdrop-filter:blur(16px) saturate(1.08);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 22px 60px rgba(0,0,0,.45),0 0 36px rgba(244,63,94,.15);
}
.cta-section__title{
  font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,4rem);font-weight:800;
  letter-spacing:-0.03em;margin-bottom:1rem;
  text-shadow:0 12px 36px rgba(0,0,0,.58);
}
.cta-section__subtitle{font-size:1.15rem;color:var(--text-secondary);margin-bottom:2.5rem}

/* ── FOOTER ──────────────────────────────────────── */
.landing-footer{
  position:relative;z-index:10;border-top:1px solid var(--glass-border);padding:3rem 0;
}
.landing-footer__inner{
  max-width:1280px;margin:0 auto;padding:0 1.5rem;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;
}
.landing-footer__links{display:flex;align-items:center;gap:1.5rem}
.landing-footer__link{font-size:.85rem;color:var(--text-muted);transition:color .3s ease;cursor:pointer}
.landing-footer__link:hover{color:var(--text-primary)}
.landing-footer__copy{font-size:.8rem;color:var(--text-muted)}

/* ── MOBILE MENU ─────────────────────────────────── */
.mobile-menu{
  position:fixed;inset:0;z-index:99;background:rgba(5,5,16,.96);
  backdrop-filter:blur(30px);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2rem;
  transition:opacity .4s ease,visibility .4s ease;opacity:0;visibility:hidden;
}
.mobile-menu.open{opacity:1;visibility:visible}
.mobile-menu__link{
  font-family:var(--font-heading);font-size:1.5rem;font-weight:600;
  color:var(--text-secondary);transition:color .3s ease;
}
.mobile-menu__link:hover{color:var(--text-primary)}
.mobile-menu__close{position:absolute;top:1.5rem;right:1.5rem;color:var(--text-muted);padding:.5rem}

/* ── KEYFRAMES ───────────────────────────────────── */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse-glow{
  0%,100%{opacity:1;box-shadow:0 0 20px var(--purple-glow),0 0 40px var(--cyan-glow)}
  50%{opacity:.7;box-shadow:0 0 35px var(--purple-glow),0 0 70px var(--cyan-glow)}
}
@keyframes flicker{0%,100%{opacity:.4}50%{opacity:.8}}
@keyframes float-slow{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ── TILT CARD ───────────────────────────────────── */
.tilt-card{
  transition:transform .3s var(--ease-out-expo),box-shadow .4s ease;
  transform-style:preserve-3d;will-change:transform;
}

/* ── UTILITY ─────────────────────────────────────── */
.text-gradient{background:var(--gradient-main);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.glow-purple{box-shadow:0 0 30px var(--purple-glow)}
.glow-cyan{box-shadow:0 0 30px var(--cyan-glow)}

/* ── RESPONSIVE ──────────────────────────────────── */
@media(min-width:768px){
  .landing-nav__links{display:flex}
  .landing-nav__mobile-btn{display:none}
  .pricing-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1023px){
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .providers-grid{grid-template-columns:repeat(3,1fr)}
  .steps-grid::before{display:none}
}
@media(max-width:767px){
  body,a,button,.btn,.landing-nav__logo,.landing-nav__link,.landing-nav__lang,.landing-footer__link{cursor:auto!important}
  .features-grid,.steps-grid{grid-template-columns:1fr}
  .providers-grid{grid-template-columns:repeat(2,1fr)}
  .stats-bar{margin-top:1rem;margin-bottom:3rem}
  .stats-bar__inner{grid-template-columns:repeat(2,1fr);gap:1.25rem}
  .hero{padding-top:6rem;min-height:auto;padding-bottom:3rem}
  .hero::before{height:340px;top:44%;filter:blur(16px)}
  .hero__content{padding:0 .35rem;border-radius:0}
  .landing-section{padding:4rem 0}
  .cta-section{padding:5rem 1.5rem}
  .floating-orb{display:none}
  .aurora{opacity:.2}
  .wave-divider{height:50px}
  .pricing-grid.pricing-grid--tokens{grid-template-columns:1fr}
  .pricing-grid--tokens .pricing-card{min-height:250px}
  .pricing-card__price--token{font-size:clamp(1.8rem,8.4vw,2.5rem)}
}
@media(min-width:768px) and (max-width:1023px){
  .pricing-grid.pricing-grid--tokens{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1024px){
  .pricing-grid.pricing-grid--tokens{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  body::after,.aurora,.floating-orb,#scroll-progress::after{animation:none!important}
}
@media(min-width:1024px){
  .pricing-grid{grid-template-columns:repeat(3,1fr)}
}
@media(min-width:1200px){
  .pricing-grid{grid-template-columns:repeat(4,1fr)}
}

/* token packs have their own compact layout independent from subscription grid */
@media(max-width:767px){
  .pricing-grid.pricing-grid--tokens{grid-template-columns:1fr}
}

/* ── SCROLLBAR ───────────────────────────────────── */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:var(--space-black)}
::-webkit-scrollbar-thumb{background:var(--space-gray);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(139,92,246,.4)}

/* ── SELECTION ───────────────────────────────────── */
::selection{background:rgba(139,92,246,.3);color:#fff}
