/* ==========================================================================
   LAUNCHOVA — Premium Robinhood Chain Launchpad Website
   Visual identity: Black / charcoal surfaces, metallic silver & chrome,
   white typography, subtle gradients, orbital motif.
   No green, no rockets, no cartoons, no colorful gradients.
   ========================================================================== */

/* --- Design tokens --- */
:root{
  /* Surfaces */
  --bg:#040406;
  --surface:#070709;
  --panel:#0c0c11;
  --panel-soft:rgba(12,12,17,0.6);
  --panel-border:rgba(255,255,255,0.06);
  --panel-border-hover:rgba(255,255,255,0.14);

  /* Silver / chrome */
  --silver:#c9cfd6;
  --silver-dim:#8c939b;
  --silver-bright:#e4e8ee;
  --chrome:#ffffff;
  --ink:#0a0a0c;

  /* Text */
  --text:#ffffff;
  --text-soft:#e8ecf1;
  --muted:#8a919a;
  --muted-soft:#616870;

  /* Status */
  --status:#b8bec5;

  /* Accents (silver only) */
  --accent:#c9cfd6;
  --accent-soft:rgba(201,207,214,0.10);
  --accent-line:rgba(255,255,255,0.08);

  /* Geometry */
  --r-xl:28px;
  --r-lg:22px;
  --r-md:16px;
  --r-sm:10px;

  /* Shadows (subtle, no heavy glow) */
  --shadow-sm:0 8px 24px rgba(0,0,0,0.45);
  --shadow-md:0 16px 48px rgba(0,0,0,0.5);
  --shadow-lg:0 30px 80px rgba(0,0,0,0.55);

  /* Transitions */
  --ease-smooth:cubic-bezier(0.23,1,0.32,1);
  --ease-elegant:cubic-bezier(0.16,1,0.3,1);

  /* Fonts */
  --font-display:"Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-body:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*,
*::before,
*::after{box-sizing:border-box;margin:0;padding:0}

html{
  scroll-behavior:smooth;
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
}

body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.62;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

img,svg,video,canvas{display:block;max-width:100%;height:auto}

a{color:inherit;text-decoration:none}

h1,h2,h3,h4,h5{
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.06;
  letter-spacing:-0.02em;
  color:var(--text);
}

p{margin:0 0 12px}

ul{list-style:none}

.wrap{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 22px;
}

.section{
  padding:60px 0;
  position:relative;
}

.section-head{
  max-width:68ch;
  margin:0 auto 40px;
  text-align:center;
}

.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--silver-dim);
  border:1px solid var(--panel-border);
  background:var(--accent-soft);
  border-radius:999px;
  padding:7px 14px;
  margin-bottom:16px;
  width:-moz-fit-content;
  width:fit-content;
}

.section-head h2{
  font-size:clamp(26px,5vw,46px);
  margin:0 0 14px;
}

.section-head p{
  color:var(--muted);
  font-size:15px;
  margin:0;
}

/* --- Reveal on scroll --- */
.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity 0.85s var(--ease-elegant),transform 0.85s var(--ease-elegant);
}

.reveal.in{
  opacity:1;
  transform:none;
}

.reveal-delay-1{transition-delay:0.1s}
.reveal-delay-2{transition-delay:0.22s}
.reveal-delay-3{transition-delay:0.34s}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  *{animation:none!important}
}

/* --- Background atmosphere --- */
.bg{
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(1100px 600px at 15% -10%, rgba(201,207,214,0.07), transparent 55%),
    radial-gradient(900px 500px at 100% 0%, rgba(201,207,214,0.05), transparent 50%),
    radial-gradient(1200px 700px at 50% 120%, rgba(201,207,214,0.04), transparent 55%),
    var(--bg);
}

.bg::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(900px 700px at 50% 0%, black, transparent 72%);
  pointer-events:none;
}

/* --- Navigation --- */
.nav{
  position:sticky;
  top:0;
  z-index:100;
  backdrop-filter:blur(18px);
  background:rgba(4,4,6,0.72);
  border-bottom:1px solid var(--panel-border);
}

.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:68px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.brand-mark{
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid var(--panel-border);
  background:linear-gradient(180deg,#14141a,#0c0c11);
  box-shadow:var(--shadow-sm);
  position:relative;
}

.brand-mark svg{
  width:100%;
  height:100%;
  fill:var(--silver);
}

.brand-text{
  font-family:var(--font-display);
  font-size:16px;
  font-weight:800;
  letter-spacing:-0.01em;
  color:var(--text);
  filter:drop-shadow(0 1px 2px rgba(0,0,0,0.4));
}

.nav-links{
  display:none;
  gap:30px;
  align-items:center;
}

.nav-links a{
  font-size:14px;
  font-weight:600;
  color:var(--muted);
  transition:color 0.25s ease;
  position:relative;
}

.nav-links a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-2px;
  width:0;
  height:2px;
  background:var(--silver);
  border-radius:1px;
  transition:all 0.35s var(--ease-elegant);
}

.nav-links a:hover{
  color:var(--silver);
}

.nav-links a:hover::after{
  left:0;
  width:100%;
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.status-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--status);
  border:1px solid var(--panel-border);
  background:var(--accent-soft);
  border-radius:999px;
  padding:6px 14px;
}

.pill-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--silver);
  box-shadow:0 0 14px rgba(201,207,214,0.45);
  animation:pulse 3s ease-in-out infinite;
}

@keyframes pulse{
  0%,100%{opacity:0.55;transform:scale(1)}
  50%{opacity:1;transform:scale(1.15)}
}

.btn{
  appearance:none;
  border:1px solid var(--panel-border);
  background:linear-gradient(180deg,#14141a,#0c0c11);
  color:var(--text);
  border-radius:var(--r-md);
  padding:12px 22px;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.02em;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:transform 0.22s ease,border-color 0.22s ease,background 0.22s ease,box-shadow 0.22s ease;
}

.btn:hover{
  transform:translateY(-1px);
  border-color:var(--panel-border-hover);
  box-shadow:0 12px 30px rgba(0,0,0,0.5);
}

.btn:active{transform:scale(0.985)}

.btn-ghost{
  background:transparent;
}

.btn-silver{
  background:linear-gradient(180deg,#1c1f24,#14161b);
  border-color:var(--panel-border-hover);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.06);
}

.btn-silver:hover{
  border-color:var(--silver);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12),0 12px 30px rgba(0,0,0,0.55);
}

.btn-full{width:100%;padding:14px 22px}

.menu-btn{
  display:none;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid var(--panel-border);
  background:var(--surface);
  color:var(--text);
  cursor:pointer;
  place-items:center;
  font-size:18px;
}

.mobile-menu{
  display:none;
  position:fixed;
  inset:0;
  z-index:99;
  background:rgba(4,4,6,0.96);
  backdrop-filter:blur(16px);
  padding:80px 24px 40px;
  overflow-y:auto;
}

.mobile-menu.open{display:block}

.mobile-menu .nav-close{
  position:absolute;
  top:18px;
  right:20px;
  background:none;
  border:none;
  color:var(--muted);
  font-size:24px;
  cursor:pointer;
  padding:6px;
  line-height:1;
}

.mobile-menu a{
  display:block;
  padding:15px 4px;
  font-size:17px;
  font-weight:600;
  color:var(--text);
  border-bottom:1px solid var(--panel-border);
}

.mobile-menu .mobile-cta{
  margin-top:26px;
  padding:20px 0;
  border-top:1px solid var(--panel-border);
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* --- Hero --- */
.hero{
  position:relative;
  padding:56px 0 64px;
  overflow:hidden;
}

.hero-grid{
  display:grid;
  gap:46px;
  align-items:center;
  margin-top:24px;
}

.hero-content{
  position:relative;
  z-index:3;
}

.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  font-weight:800;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--silver-dim);
  border:1px solid var(--panel-border);
  background:var(--surface);
  border-radius:999px;
  padding:8px 16px;
  box-shadow:var(--shadow-sm);
  margin-bottom:20px;
  width:-moz-fit-content;
  width:fit-content;
}

.status-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--silver-bright);
  border:1px solid var(--panel-border-hover);
  background:linear-gradient(180deg,#121218,#0d0d12);
  border-radius:999px;
  padding:9px 18px;
  box-shadow:0 0 30px rgba(201,207,214,0.08);
  margin-bottom:22px;
  width:-moz-fit-content;
  width:fit-content;
}

.status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--silver);
  box-shadow:0 0 16px rgba(201,207,214,0.5);
  animation:pulse 3s ease-in-out infinite;
}

.hero h1{
  font-size:clamp(36px,9vw,72px);
  line-height:1.0;
  margin:0 0 18px;
  letter-spacing:-0.03em;
}

.hero p.lead{
  color:var(--muted);
  font-size:16px;
  max-width:56ch;
  margin:0 0 30px;
  line-height:1.7;
}

.hero-actions{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:26px;
}

.hero-actions .btn{width:100%;padding:15px 24px;font-size:15px}

.hero-actions .btn-outline{
  background:transparent;
  border-color:var(--panel-border-hover);
  color:var(--text-soft);
}

.hero-actions .btn-outline:hover{
  border-color:var(--silver);
  color:var(--silver-bright);
}

.hero-stats{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:24px;
}

.stat-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--muted);
  border:1px solid var(--panel-border);
  border-radius:999px;
  padding:6px 14px;
  background:var(--surface);
}

.stat-pill b{color:var(--silver-bright);font-variant-numeric:tabular-nums}

/* Hero right — orbital animation */
.hero-visual{
  position:relative;
  height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.orbital-stage{
  position:relative;
  width:100%;
  max-width:560px;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Orbital rings */
.orbit-ring{
  position:absolute;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:50%;
  animation:orbit linear infinite;
}

.orbit-ring.small{
  width:220px;height:220px;animation-duration:14s;animation-direction:clockwise;
}
.orbit-ring.medium{
  width:340px;height:340px;animation-duration:22s;animation-direction:counter;
  opacity:0.5;
}
.orbit-ring.large{
  width:460px;height:460px;animation-duration:30s;animation-direction:clockwise;
  opacity:0.35;
}

@keyframes clockwise{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes counter{from{transform:rotate(360deg)}to{transform:rotate(0deg)}}
@keyframes orbit{
  0%{transform:rotate(0deg)}
  100%{transform:rotate(360deg)}
}

/* Orbital nodes */
.orbit-node{
  position:absolute;
  top:50%;left:50%;
  width:14px;height:14px;
  border-radius:50%;
  background:var(--silver);
  box-shadow:0 0 18px rgba(201,207,214,0.6);
  transform:translate(-50%,-50%);
}

.orbit-node::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:1px solid rgba(201,207,214,0.35);
}

.orbit-node.small{width:10px;height:10px;background:var(--silver-dim);box-shadow:none}
.orbit-node.medium{width:18px;height:18px}
.orbit-node.pulse-node{
  animation:nodePulse 4s ease-in-out infinite;
}

@keyframes nodePulse{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:0.7}
  50%{transform:translate(-50%,-50%) scale(1.3);opacity:1}
}

/* Central brand mark in hero */
.hero-logo-wrap{
  position:relative;
  width:170px;height:170px;
  display:flex;align-items:center;justify-content:center;
  z-index:4;
}

.hero-logo-wrap .brand-mark{
  width:100%;height:100%;border:none;background:transparent;box-shadow:none;
  animation:logoSpin 24s linear infinite;
}

@keyframes logoSpin{
  from{transform:rotate(0deg)}to{transform:rotate(360deg)}
}

.hero-logo-wrap .brand-mark svg{
  fill:var(--silver);
  filter:drop-shadow(0 0 24px rgba(201,207,214,0.35));
}

.hero-logo-wrap .star-core{
  position:absolute;
  width:26px;height:26px;
  background:var(--chrome);
  border-radius:50%;
  box-shadow:0 0 28px var(--chrome),0 0 56px rgba(201,207,214,0.55);
  animation:starTwinkle 4s ease-in-out infinite;
}

@keyframes starTwinkle{
  0%,100%{opacity:0.9;transform:scale(1)}
  50%{opacity:1;transform:scale(1.12)}
}

/* Background swooshes behind hero */
.hero-swoosh{
  position:absolute;
  inset:-20%;
  z-index:0;
  background:
    radial-gradient(900px 500px at 20% -5%, rgba(255,255,255,0.05), transparent 60%),
    radial-gradient(700px 400px at 110% 10%, rgba(255,255,255,0.04), transparent 55%),
    radial-gradient(1000px 600px at 50% 110%, rgba(255,255,255,0.03), transparent 55%);
  pointer-events:none;
}

@media(min-width:900px){
  .hero-grid{grid-template-columns:1fr 1fr;gap:60px}
  .hero-actions{flex-direction:row;gap:14px}
  .hero-actions .btn{width:auto}
  .hero-visual{height:620px}
}

/* --- Problem --- */
.problem-grid{
  display:grid;
  gap:20px;
  grid-template-columns:1fr;
  margin-top:30px;
}

.problem-card{
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:var(--panel);
  padding:28px 26px;
  transition:transform 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease;
}

.problem-card:hover{
  transform:translateY(-3px);
  border-color:var(--panel-border-hover);
  box-shadow:var(--shadow-md);
}

.problem-head{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}

.problem-num{
  width:38px;height:38px;
  border-radius:50%;
  border:1px solid var(--panel-border-hover);
  background:linear-gradient(180deg,#14141a,#0c0c11);
  color:var(--silver-bright);
  font-size:16px;font-weight:800;
  display:grid;place-items:center;
  flex:0 0 auto;
}

.problem-card h3{
  font-size:17px;
  margin:0 0 8px;
}

.problem-card p{
  color:var(--muted);
  font-size:14.5px;
  line-height:1.65;
  margin:0;
}

.problem-connect{
  margin-top:44px;
  text-align:center;
}

.problem-connect p{
  color:var(--muted);
  font-size:15px;
  margin-bottom:18px;
  max-width:60ch;
  margin-left:auto;margin-right:auto;
}

@media(min-width:700px){
  .problem-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .problem-grid{grid-template-columns:repeat(3,1fr)}
}

/* --- Free launches (process steps) --- */
.steps-intro{
  max-width:62ch;
  margin:0 auto 42px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.process{
  display:flex;
  flex-direction:column;
  gap:30px;
  align-items:center;
  margin-top:34px;
  position:relative;
}

.process::before{
  content:"";
  position:absolute;
  top:96px;bottom:96px;left:50%;
  width:2px;
  background:linear-gradient(to bottom,transparent,var(--panel-border),transparent);
  z-index:0;
}

.process-item{
  position:relative;
  z-index:2;
  width:100%;
  max-width:760px;
  display:flex;
  gap:26px;
  align-items:flex-start;
  opacity:0;
  transform:translateY(20px);
  transition:opacity 0.7s ease,transform 0.7s ease;
}

.process-item.in{opacity:1;transform:none}

.step-marker{
  flex:0 0 auto;
  width:52px;height:52px;
  border-radius:50%;
  border:2px solid var(--silver);
  background:var(--panel);
  color:var(--silver-bright);
  font-family:var(--font-display);
  font-size:20px;font-weight:800;
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm);
  position:relative;
}

.step-marker::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:1px solid rgba(201,207,214,0.35);
  opacity:0.6;
}

.step-content{
  flex:1;
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent),var(--panel);
  padding:26px 28px;
  box-shadow:var(--shadow-sm);
  transition:transform 0.3s ease,border-color 0.3s ease;
}

.step-content:hover{
  transform:translateY(-2px);
  border-color:var(--panel-border-hover);
  box-shadow:var(--shadow-md);
}

.step-head{
  display:flex;align-items:center;gap:12px;margin-bottom:10px;
}

.step-kicker{
  font-size:11px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;color:var(--silver-dim);
}

.step-content h3{
  font-size:17px;margin:0 0 8px;
}

.step-content p{
  color:var(--muted);
  font-size:14.5px;
  line-height:1.65;
  margin:0;
}

.fee-clarification{
  margin-top:46px;
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:var(--panel);
  padding:28px 30px;
  box-shadow:var(--shadow-sm);
}

.fee-clarification h4{
  font-family:var(--font-display);
  font-size:16px;
  margin:0 0 12px;
  color:var(--silver-bright);
}

.fee-clarification p{
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
  margin:0 0 10px;
}

.fee-clarification p:last-child{margin-bottom:0}

.fee-clarification strong{color:var(--silver-bright)}

@media(min-width:700px){
  .process-item{max-width:900px}
}

/* --- Mechanisms comparison --- */
.mech-intro{
  max-width:66ch;
  margin:0 auto 38px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.mech-panels{
  display:grid;
  gap:24px;
  grid-template-columns:1fr;
  margin-top:26px;
}

.mech-panel{
  border:1px solid var(--panel-border);
  border-radius:var(--r-xl);
  background:var(--panel);
  padding:34px 30px;
  box-shadow:var(--shadow-md);
  transition:transform 0.35s ease,border-color 0.35s ease;
}

.mech-panel:hover{
  transform:translateY(-4px);
  border-color:var(--panel-border-hover);
  box-shadow:var(--shadow-lg);
}

.mech-panel h3{
  font-size:21px;
  margin:0 0 10px;
  letter-spacing:-0.01em;
}

.mech-tag{
  display:inline-block;
  font-size:10px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--silver-dim);
  border:1px solid var(--panel-border);
  background:var(--surface);
  border-radius:999px;
  padding:5px 14px;
  margin-bottom:16px;
}

.mech-panel p{
  color:var(--muted);
  font-size:14.5px;
  line-height:1.7;
  margin-bottom:18px;
}

.mech-features{
  margin-top:22px;
}

.mech-features li{
  display:flex;align-items:flex-start;gap:12px;
  padding:9px 0;
  font-size:14px;
  color:var(--text-soft);
  border-bottom:1px solid rgba(255,255,255,0.03);
}

.mech-features li:last-child{border-bottom:0}

.mech-features b{
  color:var(--silver-bright);
  font-variant-numeric:tabular-nums;
  width:26px;
  flex:0 0 auto;
}

.mech-features span{color:var(--muted);line-height:1.6}

.mech-note{
  margin-top:34px;
  text-align:center;
  color:var(--muted-soft);
  font-size:13px;
  max-width:66ch;
  margin-left:auto;margin-right:auto;
}

@media(min-width:900px){
  .mech-panels{grid-template-columns:repeat(2,1fr)}
}

/* --- Holder rewards --- */
.rewards-intro{
  max-width:66ch;
  margin:0 auto 40px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.rewards-highlights{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
  margin-top:30px;
  margin-bottom:42px;
}

.reward-highlight{
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:var(--panel);
  padding:24px 26px;
  display:flex;gap:16px;align-items:flex-start;
}

.rh-icon{
  flex:0 0 auto;
  width:42px;height:42px;
  border-radius:12px;
  border:1px solid var(--panel-border-hover);
  background:linear-gradient(180deg,#14141a,#0c0c11);
  color:var(--silver-bright);
  font-size:19px;
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm);
}

.rh-text h4{
  font-size:15px;
  margin:0 0 6px;
  color:var(--text-soft);
}

.rh-text p{
  color:var(--muted);
  font-size:13.5px;
  line-height:1.6;
  margin:0;
}

.rewards-visual{
  border:1px solid var(--panel-border);
  border-radius:var(--r-xl);
  background:var(--panel);
  padding:40px 30px;
  box-shadow:var(--shadow-md);
  margin-top:30px;
  position:relative;
  overflow:hidden;
}

.rewards-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(800px 400px at 15% 10%, rgba(201,207,214,0.05), transparent 60%);
  pointer-events:none;
}

.rewards-visual .illustrative-label{
  position:absolute;
  top:18px;right:22px;
  font-size:10px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--muted);
  border:1px dashed var(--panel-border);
  background:rgba(255,255,255,0.02);
  border-radius:6px;
  padding:4px 10px;
}

.rewards-visual h4{
  font-size:17px;
  margin:0 0 10px;
  color:var(--text-soft);
}

.rewards-visual p{
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
  margin-bottom:26px;
}

.reward-grid{
  display:grid;
  gap:16px;
  grid-template-columns:repeat(2,1fr);
}

.reward-cell{
  border:1px solid var(--panel-border);
  border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent),var(--surface);
  padding:22px;
  text-align:center;
}

.reward-cell b.label{
  display:block;
  font-size:11px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--silver-dim);
  margin-bottom:10px;
}

.reward-cell .value{
  display:block;
  font-family:var(--font-display);
  font-size:30px;
  font-weight:800;
  color:var(--silver-bright);
  letter-spacing:-0.02em;
  margin-bottom:6px;
}

.reward-cell .sub{
  font-size:12px;
  color:var(--muted-soft);
}

@media(min-width:700px){
  .rewards-highlights{grid-template-columns:repeat(2,1fr)}
  .reward-grid{grid-template-columns:repeat(4,1fr)}
}

/* --- Creator incentives --- */
.creator-intro{
  max-width:66ch;
  margin:0 auto 40px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.creator-highlights{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
  margin-top:30px;
  margin-bottom:44px;
}

.creator-highlight{
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:var(--panel);
  padding:24px 26px;
  display:flex;gap:16px;align-items:flex-start;
}

.ch-icon{
  flex:0 0 auto;
  width:42px;height:42px;
  border-radius:12px;
  border:1px solid var(--panel-border-hover);
  background:linear-gradient(180deg,#14141a,#0c0c11);
  color:var(--silver-bright);
  font-size:19px;
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm);
}

.ch-text h4{
  font-size:15px;
  margin:0 0 6px;
  color:var(--text-soft);
}

.ch-text p{
  color:var(--muted);
  font-size:13.5px;
  line-height:1.6;
  margin:0;
}

.creator-preview{
  border:1px solid var(--panel-border);
  border-radius:var(--r-xl);
  background:var(--panel);
  padding:34px 30px;
  box-shadow:var(--shadow-md);
  margin-top:30px;
  position:relative;
  overflow:hidden;
}

.creator-preview::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(700px 350px at 85% 10%, rgba(201,207,214,0.05), transparent 60%);
  pointer-events:none;
}

.preview-label{
  position:absolute;
  top:18px;right:22px;
  font-size:10px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--muted);
  border:1px dashed var(--panel-border);
  background:rgba(255,255,255,0.02);
  border-radius:6px;
  padding:4px 10px;
}

.creator-preview h4{
  font-size:17px;
  margin:0 0 12px;
  color:var(--text-soft);
}

.creator-preview p{
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
  margin-bottom:22px;
}

.dashboard-grid{
  display:grid;
  gap:14px;
  grid-template-columns:1fr;
}

.dash-card{
  border:1px solid var(--panel-border);
  border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent),var(--surface);
  padding:20px;
  display:flex;align-items:center;gap:14px;
}

.dash-icon{
  flex:0 0 auto;
  width:36px;height:36px;
  border-radius:10px;
  border:1px solid var(--panel-border-hover);
  background:var(--surface);
  color:var(--silver-bright);
  font-size:16px;
  display:grid;place-items:center;
}

.dash-info h5{
  font-size:13px;
  margin:0 0 4px;
  color:var(--text-soft);
  font-weight:700;
}

.dash-info p{
  font-size:12.5px;
  color:var(--muted);
  margin:0;
}

.dash-value{
  margin-left:auto;
  font-family:var(--font-display);
  font-size:15px;
  font-weight:800;
  color:var(--silver-bright);
  text-align:right;
}

.dash-value small{
  font-size:11px;
  font-weight:600;
  color:var(--muted);
  display:block;
  margin-top:2px;
}

@media(min-width:700px){
  .creator-highlights{grid-template-columns:repeat(2,1fr)}
  .dashboard-grid{grid-template-columns:repeat(2,1fr)}
}

/* --- Token discovery --- */
.discovery-intro{
  max-width:66ch;
  margin:0 auto 34px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.discovery-tabs{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:34px;
}

.discovery-tab{
  appearance:none;
  border:1px solid var(--panel-border);
  background:transparent;
  color:var(--muted);
  font-size:13px;
  font-weight:600;
  border-radius:999px;
  padding:8px 18px;
  cursor:pointer;
  transition:all 0.25s ease;
}

.discovery-tab:hover{
  border-color:var(--panel-border-hover);
  color:var(--silver);
}

.discovery-tab.active{
  background:var(--silver);
  color:var(--ink);
  border-color:var(--silver);
}

.token-list{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
}

.token-card{
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent),var(--panel);
  padding:22px 24px;
  display:flex;gap:18px;align-items:center;
  transition:transform 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease;
}

.token-card:hover{
  transform:translateY(-2px);
  border-color:var(--panel-border-hover);
  box-shadow:var(--shadow-md);
}

.token-badge{
  flex:0 0 auto;
  width:44px;height:44px;
  border-radius:12px;
  border:1px solid var(--panel-border-hover);
  background:linear-gradient(180deg,#14141a,#0c0c11);
  color:var(--silver-bright);
  font-size:18px;
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm);
}

.token-info{
  flex:1;
  min-width:0;
}

.token-head{
  display:flex;align-items:center;gap:10px;margin-bottom:6px;
}

.token-name{
  font-family:var(--font-display);
  font-size:16px;
  font-weight:800;
  color:var(--text-soft);
}

.token-ticker{
  font-size:11px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--silver-dim);
  background:rgba(255,255,255,0.04);
  border:1px solid var(--panel-border);
  border-radius:6px;
  padding:2px 8px;
}

.token-body{
  display:flex;gap:26px;
  color:var(--muted);
  font-size:13px;
}

.token-body div{
  display:flex;align-items:center;gap:7px;
}

.token-body b{
  color:var(--silver-bright);
  font-variant-numeric:tabular-nums;
  font-size:13.5px;
}

.token-body span{font-size:12.5px}

.token-meta{
  margin-top:12px;
  font-size:11px;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--muted-soft);
  border-top:1px solid rgba(255,255,255,0.04);
  padding-top:10px;
}

.discovery-note{
  margin-top:34px;
  text-align:center;
  color:var(--muted-soft);
  font-size:13px;
  max-width:66ch;
  margin-left:auto;margin-right:auto;
}

.discovery-rankings{
  margin-top:44px;
  text-align:center;
}

.discovery-rankings p{
  color:var(--muted);
  font-size:15px;
  max-width:62ch;
  margin:0 auto 22px;
  line-height:1.7;
}

.rank-cards{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
}

.rank-card{
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:var(--panel);
  padding:24px 26px;
  text-align:center;
  box-shadow:var(--shadow-sm);
}

.rank-card b.k{
  display:block;
  font-family:var(--font-display);
  font-size:22px;
  font-weight:800;
  color:var(--silver-bright);
  margin-bottom:6px;
}

.rank-card span{
  color:var(--muted);
  font-size:13.5px;
}

@media(min-width:700px){
  .rank-cards{grid-template-columns:repeat(2,1fr)}
  .token-list{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .token-list{grid-template-columns:repeat(3,1fr)}
  .rank-cards{grid-template-columns:repeat(3,1fr)}
}

/* --- Community ecosystem --- */
.community-intro{
  max-width:66ch;
  margin:0 auto 38px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.community-grid{
  display:grid;
  gap:20px;
  grid-template-columns:1fr;
  margin-top:30px;
}

.community-card{
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:var(--panel);
  padding:26px 26px;
  display:flex;gap:16px;align-items:flex-start;
  transition:transform 0.3s ease,border-color 0.3s ease;
}

.community-card:hover{
  transform:translateY(-2px);
  border-color:var(--panel-border-hover);
}

.cc-icon{
  flex:0 0 auto;
  width:40px;height:40px;
  border-radius:12px;
  border:1px solid var(--panel-border-hover);
  background:linear-gradient(180deg,#14141a,#0c0c11);
  color:var(--silver-bright);
  font-size:17px;
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm);
}

.cc-text h4{
  font-size:16px;
  margin:0 0 6px;
  color:var(--text-soft);
}

.cc-text p{
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
  margin:0;
}

.community-connect{
  margin-top:44px;
  text-align:center;
}

.community-connect p{
  color:var(--muted);
  font-size:15px;
  max-width:60ch;
  margin:0 auto 24px;
  line-height:1.7;
}

@media(min-width:700px){
  .community-grid{grid-template-columns:repeat(2,1fr)}
}

/* --- Competitions --- */
.comp-intro{
  max-width:66ch;
  margin:0 auto 40px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.comp-highlights{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
  margin-top:30px;
  margin-bottom:44px;
}

.comp-highlight{
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:var(--panel);
  padding:24px 26px;
  display:flex;gap:16px;align-items:flex-start;
}

.co-icon{
  flex:0 0 auto;
  width:42px;height:42px;
  border-radius:12px;
  border:1px solid var(--panel-border-hover);
  background:linear-gradient(180deg,#14141a,#0c0c11);
  color:var(--silver-bright);
  font-size:19px;
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm);
}

.co-text h4{
  font-size:15px;
  margin:0 0 6px;
  color:var(--text-soft);
}

.co-text p{
  color:var(--muted);
  font-size:13.5px;
  line-height:1.6;
  margin:0;
}

.leaderboard-preview{
  border:1px solid var(--panel-border);
  border-radius:var(--r-xl);
  background:var(--panel);
  padding:34px 30px;
  box-shadow:var(--shadow-md);
  margin-top:30px;
  position:relative;
  overflow:hidden;
}

.leaderboard-preview::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(800px 350px at 20% 10%, rgba(201,207,214,0.04), transparent 60%);
  pointer-events:none;
}

.leaderboard-preview h4{
  font-size:17px;
  margin:0 0 10px;
  color:var(--text-soft);
}

.leaderboard-preview p{
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
  margin-bottom:22px;
}

.leaderboard-preview .illustrative-label{
  position:absolute;
  top:18px;right:22px;
  font-size:10px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--muted);
  border:1px dashed var(--panel-border);
  background:rgba(255,255,255,0.02);
  border-radius:6px;
  padding:4px 10px;
}

.lb-table{
  width:100%;
  border-collapse:collapse;
  font-size:13.5px;
}

.lb-table th{
  text-align:left;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--silver-dim);
  padding:12px 10px;
  border-bottom:1px solid var(--panel-border);
}

.lb-table td{
  padding:14px 10px;
  border-bottom:1px solid rgba(255,255,255,0.04);
  color:var(--text-soft);
}

.lb-table tr:last-child td{border-bottom:0}

.lb-rank{
  font-family:var(--font-display);
  font-weight:800;
  color:var(--silver-dim);
  width:28px;
  flex:0 0 auto;
}

.lb-entry{
  display:flex;align-items:center;gap:12px;
}

.lb-avatar{
  width:34px;height:34px;
  border-radius:50%;
  border:1px solid var(--panel-border-hover);
  background:linear-gradient(180deg,#14141a,#0c0c11);
  color:var(--silver-bright);
  font-size:15px;
  font-weight:800;
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm);
  flex:0 0 auto;
}

.lb-name{font-weight:700;color:var(--silver-bright)}

.lb-sub{font-size:12px;color:var(--muted);display:block}

.lb-value{
  font-family:var(--font-display);
  font-weight:800;
  color:var(--text-soft);
  font-variant-numeric:tabular-nums;
  text-align:right;
}

.comp-note{
  margin-top:30px;
  text-align:center;
  color:var(--muted-soft);
  font-size:13px;
  max-width:66ch;
  margin-left:auto;margin-right:auto;
}

@media(min-width:700px){
  .comp-highlights{grid-template-columns:repeat(2,1fr)}
}

/* --- Referral --- */
.referral-intro{
  max-width:66ch;
  margin:0 auto 40px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.referral-highlights{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
  margin-top:30px;
  margin-bottom:44px;
}

.referral-highlight{
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:var(--panel);
  padding:24px 26px;
  display:flex;gap:16px;align-items:flex-start;
}

.rf-icon{
  flex:0 0 auto;
  width:42px;height:42px;
  border-radius:12px;
  border:1px solid var(--panel-border-hover);
  background:linear-gradient(180deg,#14141a,#0c0c11);
  color:var(--silver-bright);
  font-size:19px;
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm);
}

.rf-text h4{
  font-size:15px;
  margin:0 0 6px;
  color:var(--text-soft);
}

.rf-text p{
  color:var(--muted);
  font-size:13.5px;
  line-height:1.6;
  margin:0;
}

.referral-flow{
  border:1px solid var(--panel-border);
  border-radius:var(--r-xl);
  background:var(--panel);
  padding:40px 30px;
  box-shadow:var(--shadow-md);
  margin-top:30px;
  position:relative;
  overflow:hidden;
}

.referral-flow h4{
  font-size:17px;
  margin:0 0 10px;
  color:var(--text-soft);
}

.referral-flow p{
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
  margin-bottom:26px;
}

.flow-steps{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding-bottom:10px;
  scrollbar-width:none;
}

.flow-steps::-webkit-scrollbar{display:none}

.flow-step{
  flex:0 0 auto;
  width:200px;
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent),var(--surface);
  padding:20px;
  display:flex;flex-direction:column;gap:10px;
}

.flow-num{
  font-family:var(--font-display);
  font-size:15px;
  font-weight:800;
  color:var(--silver-dim);
  border:1px solid var(--panel-border-hover);
  border-radius:50%;
  width:28px;height:28px;
  display:grid;place-items:center;
  flex:0 0 auto;
}

.flow-step h5{
  font-size:14px;
  margin:0 0 6px;
  color:var(--text-soft);
}

.flow-step p{
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
  margin:0;
}

.flow-arrow{
  flex:0 0 auto;
  color:var(--silver-dim);
  font-size:16px;
  font-weight:800;
  align-self:center;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  opacity:0.6;
}

.referral-note{
  margin-top:30px;
  text-align:center;
  color:var(--muted-soft);
  font-size:13px;
  max-width:66ch;
  margin-left:auto;margin-right:auto;
}

@media(min-width:900px){
  .flow-steps{overflow:visible;display:flex;justify-content:center;padding-bottom:0}
  .flow-arrow{writing-mode:horizontal-tb;transform:rotate(90deg);margin:0 6px}
}

/* --- Transparency --- */
.trans-intro{
  max-width:66ch;
  margin:0 auto 34px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.trans-grid{
  display:grid;
  gap:20px;
  grid-template-columns:1fr;
  margin-top:30px;
}

.trans-card{
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:var(--panel);
  padding:26px 26px;
}

.trans-card h4{
  font-size:16px;
  margin:0 0 10px;
  color:var(--text-soft);
}

.trans-card ul{
  margin:0;
  padding:0;
  list-style:none;
}

.trans-card li{
  padding:8px 0;
  font-size:14px;
  color:var(--muted);
  border-bottom:1px solid rgba(255,255,255,0.03);
  display:flex;align-items:center;gap:10px;
}

.trans-card li:last-child{border-bottom:0}

.trans-card li::before{
  content:"";
  width:8px;height:8px;
  border-radius:50%;
  background:var(--silver-dim);
  flex:0 0 auto;
}

.trans-card li strong{color:var(--silver-bright)}

.trans-warning{
  margin-top:42px;
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,0.02);
  padding:26px 28px;
  box-shadow:var(--shadow-sm);
}

.trans-warning h4{
  font-size:16px;
  margin:0 0 10px;
  color:var(--silver-bright);
}

.trans-warning p{
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
  margin:0;
}

@media(min-width:700px){
  .trans-grid{grid-template-columns:repeat(2,1fr)}
}

/* --- Ecosystem connects --- */
.eco-intro{
  max-width:66ch;
  margin:0 auto 46px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.eco-flow{
  max-width:780px;
  margin:0 auto;
  position:relative;
}

.eco-stage{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:46px;
  position:relative;
}

.eco-stage:last-child{margin-bottom:0}

.eco-connector{
  position:absolute;
  left:88px;
  top:42px;
  width:2px;
  height:42px;
  background:linear-gradient(to bottom,transparent,var(--panel-border),transparent);
}

.eco-node{
  flex:0 0 auto;
  width:76px;height:76px;
  border-radius:50%;
  border:2px solid var(--silver);
  background:radial-gradient(circle at 35% 35%,#1e2126,#0c0c11);
  color:var(--silver-bright);
  font-family:var(--font-display);
  font-size:14px;
  font-weight:800;
  display:grid;place-items:center;
  text-align:center;
  line-height:1.3;
  box-shadow:var(--shadow-sm);
  position:relative;
  z-index:2;
}

.eco-node::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:50%;
  border:1px solid rgba(201,207,214,0.3);
  opacity:0.5;
}

.eco-label{
  flex:1;
  min-width:0;
}

.eco-label h4{
  font-size:17px;
  margin:0 0 6px;
  color:var(--text-soft);
}

.eco-label p{
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
  margin:0;
}

.eco-arrow{
  flex:0 0 auto;
  color:var(--silver-dim);
  font-size:17px;
  font-weight:800;
  opacity:0.5;
}

.eco-summary{
  margin-top:56px;
  border:1px solid var(--panel-border);
  border-radius:var(--r-xl);
  background:var(--panel);
  padding:36px 34px;
  box-shadow:var(--shadow-lg);
  text-align:center;
}

.eco-summary h4{
  font-size:18px;
  margin:0 0 10px;
  color:var(--text-soft);
}

.eco-summary p{
  color:var(--muted);
  font-size:14.5px;
  line-height:1.7;
  margin:0;
  max-width:60ch;
  margin-left:auto;margin-right:auto;
}

@media(min-width:700px){
  .eco-stage{flex-direction:row;justify-content:space-between}
  .eco-node{align-self:center}
  .eco-arrow{align-self:center}
  .eco-connector{left:calc(50% - 1px);top:88px;width:2px;height:42px}
  .eco-flow{align-items:center}
}

@media(max-width:699px){
  .eco-stage{flex-direction:column;align-items:center;text-align:center}
  .eco-stage:last-child{margin-bottom:0}
  .eco-connector{display:none}
  .eco-arrow{writing-mode:vertical-rl;text-orientation:mixed;margin:10px 0;opacity:0.5}
  .eco-label{width:100%;max-width:260px}
}

/* --- Roadmap --- */
.roadmap-intro{
  max-width:66ch;
  margin:0 auto 44px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.roadmap-stages{
  display:flex;
  flex-direction:column;
  gap:34px;
  margin-top:30px;
}

.roadmap-stage{
  border:1px solid var(--panel-border);
  border-radius:var(--r-xl);
  background:var(--panel);
  padding:34px 34px;
  box-shadow:var(--shadow-md);
  transition:transform 0.35s ease,border-color 0.35s ease;
}

.roadmap-stage:hover{
  transform:translateY(-3px);
  border-color:var(--panel-border-hover);
  box-shadow:var(--shadow-lg);
}

.rm-head{
  display:flex;align-items:center;gap:16px;margin-bottom:18px;
}

.rm-number{
  flex:0 0 auto;
  width:46px;height:46px;
  border-radius:50%;
  border:2px solid var(--silver);
  background:radial-gradient(circle at 35% 35%,#1e2126,#0c0c11);
  color:var(--silver-bright);
  font-family:var(--font-display);
  font-size:18px;
  font-weight:800;
  display:grid;place-items:center;
  box-shadow:var(--shadow-sm);
}

.rm-title{
  flex:1;
}

.rm-title h3{
  font-size:19px;
  margin:0 0 4px;
  color:var(--text-soft);
}

.rm-title p{
  font-size:12.5px;
  color:var(--muted);
  margin:0;
  text-transform:uppercase;
  letter-spacing:0.12em;
}

.rm-items{
  display:grid;
  gap:10px;
  grid-template-columns:1fr;
  margin-top:16px;
}

.rm-items li{
  padding:10px 12px;
  border-radius:var(--r-md);
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.04);
  font-size:14px;
  color:var(--text-soft);
  display:flex;align-items:center;gap:10px;
}

.rm-items li::before{
  content:"";
  width:7px;height:7px;
  border-radius:50%;
  background:var(--silver-dim);
  flex:0 0 auto;
}

.rm-status{
  margin-top:40px;
  text-align:center;
  color:var(--muted-soft);
  font-size:13px;
}

@media(min-width:900px){
  .rm-items{grid-template-columns:repeat(2,1fr)}
}

/* --- FAQ --- */
.faq-intro{
  max-width:66ch;
  margin:0 auto 40px;
  text-align:center;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.7;
}

.faq-list{
  display:grid;
  gap:12px;
  margin-top:30px;
  max-width:820px;
  margin-left:auto;margin-right:auto;
}

.faq-item{
  border:1px solid var(--panel-border);
  border-radius:var(--r-lg);
  background:var(--panel);
  transition:all 0.3s ease;
}

.faq-item:hover{
  border-color:var(--panel-border-hover);
  box-shadow:var(--shadow-sm);
}

.faq-question{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  padding:20px 24px;
  cursor:pointer;
  font-family:var(--font-display);
  font-size:16px;
  font-weight:700;
  color:var(--text-soft);
  display:flex;justify-content:space-between;align-items:center;
  transition:color 0.25s ease;
}

.faq-question:hover{color:var(--silver-bright)}

.faq-q-icon{
  width:22px;height:22px;
  border-radius:50%;
  border:1px solid var(--panel-border-hover);
  color:var(--silver-dim);
  font-size:13px;
  font-weight:800;
  display:grid;place-items:center;
  flex:0 0 auto;
  transition:transform 0.3s ease,color 0.25s ease;
}

.faq-item.open .faq-q-icon{transform:rotate(45deg);color:var(--silver-bright)}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.45s var(--ease-elegant),opacity 0.35s ease;
  opacity:0;
  padding:0 24px;
  border-top:1px solid rgba(255,255,255,0.04);
}

.faq-item.open .faq-answer{
  max-height:600px;
  opacity:1;
  padding:18px 24px 22px;
}

.faq-answer p{
  color:var(--muted);
  font-size:14.5px;
  line-height:1.7;
  margin:0 0 10px;
}

.faq-answer p:last-child{margin-bottom:0}

.faq-note{
  margin-top:40px;
  text-align:center;
  color:var(--muted-soft);
  font-size:13px;
  max-width:66ch;
  margin-left:auto;margin-right:auto;
}

/* --- Final CTA --- */
.final-cta{
  position:relative;
  padding:70px 0 90px;
  overflow:hidden;
  text-align:center;
}

.final-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(1000px 600px at 30% -10%, rgba(201,207,214,0.06), transparent 55%),
    radial-gradient(800px 500px at 100% 0%, rgba(201,207,214,0.04), transparent 50%);
  pointer-events:none;
}

.final-content{position:relative;z-index:2}

.final-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  font-weight:800;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--silver-dim);
  border:1px solid var(--panel-border);
  background:var(--surface);
  border-radius:999px;
  padding:8px 16px;
  margin-bottom:20px;
  width:-moz-fit-content;
  width:fit-content;
  margin-left:auto;margin-right:auto;
}

.final-cta h2{
  font-size:clamp(30px,6vw,48px);
  margin:0 0 16px;
}

.final-cta p{
  color:var(--muted);
  font-size:16px;
  max-width:56ch;
  margin:0 auto 24px;
  line-height:1.7;
}

.final-status{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--silver-bright);
  border:1px solid var(--panel-border-hover);
  background:linear-gradient(180deg,#121218,#0d0d12);
  border-radius:999px;
  padding:9px 18px;
  box-shadow:0 0 30px rgba(201,207,214,0.08);
  margin-bottom:24px;
  width:-moz-fit-content;
  width:fit-content;
  margin-left:auto;margin-right:auto;
}

.final-actions{
  display:flex;
  flex-direction:column;
  gap:14px;
  justify-content:center;
  margin-bottom:30px;
}

.final-actions .btn{width:100%;padding:15px 24px;font-size:15px}

.final-note{
  font-size:12.5px;
  color:var(--muted-soft);
  max-width:56ch;
  margin:0 auto;
  line-height:1.65;
}

@media(min-width:700px){
  .final-actions{flex-direction:row;gap:14px}
  .final-actions .btn{width:auto}
}

/* --- Footer --- */
footer{
  border-top:1px solid var(--panel-border);
  margin-top:30px;
  padding:42px 0 38px;
  background:var(--surface);
  position:relative;
}

footer::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--panel-border-hover),transparent);
}

.footer-grid{
  display:grid;
  gap:30px;
  grid-template-columns:1fr;
}

.footer-brand .brand{
  gap:12px;
}

.footer-brand .brand-mark{
  width:36px;height:36px;border-radius:10px;
}

.footer-brand .brand-text{font-size:15px}

.footer-brand p{
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
  margin:14px 0 16px;
  max-width:42ch;
}

.footer-links{
  display:flex;flex-direction:column;gap:14px;
}

.footer-links a,
.footer-links span.off{
  font-size:13px;
  border:1px solid var(--panel-border);
  border-radius:var(--r-md);
  padding:10px 14px;
  text-decoration:none;
  color:var(--muted);
  transition:all 0.25s ease;
}

.footer-links a:hover{
  color:var(--silver-bright);
  border-color:var(--panel-border-hover);
  background:rgba(255,255,255,0.03);
}

.footer-links span.off{
  opacity:0.55;
  cursor:not-allowed;
}

.footer-ecosystem{
  display:flex;flex-direction:column;gap:14px;
}

.footer-ecosystem h5{
  font-size:12px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--silver-dim);
  margin-bottom:8px;
}

.footer-ecosystem p{
  font-size:13px;
  color:var(--muted);
  line-height:1.7;
  margin:0;
}

.footer-legal{
  display:flex;flex-direction:column;gap:10px;
}

.footer-legal h5{
  font-size:12px;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--silver-dim);
  margin-bottom:8px;
}

.footer-legal a{
  font-size:12.5px;
  color:var(--muted);
  border-bottom:1px solid rgba(255,255,255,0.04);
  padding-bottom:2px;
  transition:color 0.25s ease,border-color 0.25s ease;
}

.footer-legal a:hover{
  color:var(--silver-bright);
  border-color:var(--silver-bright);
}

.footer-disclaimer{
  margin-top:34px;
  border-top:1px solid var(--panel-border);
  padding-top:22px;
  color:var(--muted-soft);
  font-size:12px;
  line-height:1.65;
  text-align:center;
}

.copy{
  margin-top:28px;
  font-size:11.5px;
  color:var(--muted-soft);
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
}

@media(min-width:900px){
  .footer-grid{grid-template-columns:1.4fr 0.9fr 0.9fr 1fr}
  .footer-links{flex-direction:row;flex-wrap:wrap}
  .footer-ecosystem{flex-direction:row;align-items:flex-start}
  .footer-legal{flex-direction:row;align-items:flex-start}
}

/* --- Utilities --- */
.text-center{text-align:center}
.illustrative-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:10.5px;
  font-weight:800;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
  border:1px dashed var(--panel-border);
  background:rgba(255,255,255,0.02);
  border-radius:6px;
  padding:4px 10px;
  margin-bottom:10px;
}

.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  border:0;
  white-space:nowrap;
}

/* --- Responsive --- */
@media(min-width:700px){
  .nav-links{display:flex}
  .status-pill{display:inline-flex}
  .menu-btn{display:none}
  .mobile-menu{display:none!important}
  .nav-actions{display:flex;align-items:center;gap:14px}
}

@media(max-width:699px){
  .nav-links{display:none}
  .status-pill{display:none}
  .nav-actions{display:flex;align-items:center;gap:10px}
  .menu-btn{display:grid}
  .hero{padding:44px 0 40px}
  .hero-visual{height:420px}
  .hero h1{font-size:34px}
  .hero-actions .btn{font-size:14px;padding:13px 20px}
  .section{padding:46px 0}
  .process::before{top:72px;bottom:72px}
  .eco-flow{margin:0 10px}
  .eco-stage{margin-bottom:34px}
  .footer-grid{gap:26px}
}

@media(min-width:1440px){
  .wrap{max-width:1240px}
  .hero h1{font-size:80px}
  .final-cta h2{font-size:56px}
}
