/* ========================================
   LANDING PAGE STYLES
   ======================================== */

/* ── Hero Section ── */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 80px; /* Offset for navbar */
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(circle at 50% 30%, rgba(167, 139, 250, 0.15) 0%, rgba(12, 10, 20, 1) 70%);
  z-index: 0;
}
.hero-bg::after {
  content: '';
  position: absolute;
  top: -50%; left: -50%; width: 200%; height: 200%;
  background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><filter id="noiseFilter"><feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noiseFilter)" opacity="0.03"/></svg>');
  pointer-events: none;
}

.hero .container {
  position: relative;
  z-index: 1;
}

.hero h1 {
  margin-bottom: var(--space-md);
}

.hero .subtitle {
  margin-bottom: var(--space-2xl);
  font-size: var(--fs-xl);
  max-width: 700px;
}

.hero-actions {
  display: flex;
  gap: var(--space-md);
  justify-content: center;
  flex-wrap: wrap;
}

/* ── How it Works ── */
.how-it-works {
  position: relative;
  z-index: 1;
  background: var(--bg-primary);
}

.steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-xl);
  margin-top: var(--space-3xl);
}

.step-card {
  padding: var(--space-2xl);
  border-radius: var(--radius-xl);
  text-align: center;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.step-card:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-glow);
}

.step-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--space-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--accent-violet-dim);
  color: var(--accent-violet);
}

.step-card h3 {
  margin-bottom: var(--space-sm);
}

/* ── Pricing ── */
.pricing {
  position: relative;
  z-index: 1;
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--space-xl);
  margin-top: var(--space-3xl);
  align-items: center;
}

.pricing-card {
  padding: var(--space-2xl);
  border-radius: var(--radius-xl);
  position: relative;
  display: flex;
  flex-direction: column;
}

.pricing-card.popular {
  border-color: var(--accent-violet);
  box-shadow: var(--shadow-glow);
  transform: scale(1.05);
  background: linear-gradient(180deg, var(--bg-card) 0%, rgba(26, 23, 48, 0.9) 100%);
}
@media (max-width: 992px) {
  .pricing-card.popular {
    transform: none;
  }
}

.popular-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, var(--accent-violet), var(--accent-pink));
  color: white;
  padding: 4px 16px;
  border-radius: var(--radius-full);
  font-size: var(--fs-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.pricing-card h3 {
  font-family: var(--font-body);
  font-size: var(--fs-xl);
  margin-bottom: var(--space-sm);
}

.pricing-card .price {
  font-size: var(--fs-4xl);
  font-weight: 700;
  font-family: var(--font-heading);
  color: var(--text-primary);
  margin-bottom: var(--space-md);
}
.pricing-card .price .currency {
  font-size: var(--fs-base);
  color: var(--text-secondary);
  font-family: var(--font-body);
}

.pricing-card .tier-desc {
  margin-bottom: var(--space-xl);
  font-size: var(--fs-sm);
  min-height: 48px;
}

.features {
  margin-bottom: var(--space-2xl);
  flex-grow: 1;
}

.features li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
  font-size: var(--fs-sm);
  color: var(--text-secondary);
}

.features li i {
  color: var(--accent-violet);
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

/* ── Polished landing ── */
.landing-page .hero {
  min-height: min(900px,100dvh);
  padding-top: 96px;
}
.landing-page .hero-bg {
  background:
    radial-gradient(circle at 72% 35%,rgba(117,74,205,.2),transparent 26rem),
    radial-gradient(circle at 25% 42%,rgba(179,75,154,.11),transparent 26rem),
    linear-gradient(180deg,rgba(8,7,16,.05),var(--bg-deep));
}
.landing-page .hero-bg::before {
  content:"";
  position:absolute;
  inset:9% 4% auto auto;
  width:min(52vw,720px);
  aspect-ratio:1;
  border:1px solid rgba(202,189,255,.08);
  border-radius:50%;
  box-shadow:0 0 100px rgba(124,58,237,.08),inset 0 0 80px rgba(124,58,237,.05);
}
.hero-layout {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(380px,.78fr);
  align-items:center;
  gap:clamp(48px,7vw,104px);
}
.hero-copy { max-width:680px; }
.hero-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:22px;
  padding:8px 12px;
  border:1px solid rgba(202,189,255,.16);
  border-radius:999px;
  color:var(--accent-lavender);
  background:rgba(169,139,255,.065);
  font-size:12px;
  font-weight:600;
  letter-spacing:.035em;
}
.hero-eyebrow svg { width:15px; height:15px; }
.hero-copy h1 {
  max-width:660px;
  margin:0;
  font-size:clamp(3.25rem,6.3vw,6.25rem);
  line-height:.93;
  letter-spacing:-.06em;
}
.hero-copy .subtitle {
  max-width:610px;
  margin:26px 0 30px;
  font-size:clamp(1.05rem,1.7vw,1.3rem);
  line-height:1.65;
}
.hero-actions { justify-content:flex-start; }
.hero-proof {
  display:flex;
  flex-wrap:wrap;
  gap:14px 24px;
  margin-top:30px;
  color:var(--text-muted);
  font-size:12px;
}
.hero-proof span { display:flex;align-items:center;gap:7px; }
.hero-proof svg { width:15px;height:15px;color:var(--accent-violet); }
.hero-proof strong { color:var(--text-secondary);font-weight:600; }
.hero-visual { position:relative; }
.hero-visual::before {
  content:"";
  position:absolute;
  inset:8% -8% -8% 8%;
  z-index:-1;
  border-radius:50%;
  background:rgba(113,68,200,.22);
  filter:blur(72px);
}
.world-card {
  overflow:hidden;
  border:1px solid rgba(202,189,255,.18);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(27,22,43,.96),rgba(12,10,20,.96));
  box-shadow:0 42px 100px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.08);
  transform:perspective(1100px) rotateY(-4deg) rotateX(2deg);
}
.world-card-art {
  position:relative;
  min-height:310px;
  overflow:hidden;
  background:
    linear-gradient(to top,rgba(10,8,17,.84),transparent 62%),
    radial-gradient(circle at 68% 32%,rgba(238,180,255,.8) 0 2%,rgba(147,100,233,.42) 3%,transparent 18%),
    linear-gradient(145deg,#251d45,#49315d 42%,#16152a 78%);
}
.world-card-art::before,.world-card-art::after {
  content:"";
  position:absolute;
  left:-8%;
  right:-8%;
  bottom:-30%;
  height:62%;
  border-radius:50% 50% 0 0;
  background:linear-gradient(150deg,#191828,#090912);
  transform:rotate(-5deg);
  box-shadow:0 -2px 30px rgba(166,118,237,.13);
}
.world-card-art::after {
  left:35%;
  bottom:-38%;
  height:68%;
  background:#0e0d19;
  transform:rotate(11deg);
}
.world-orb {
  position:absolute;
  top:58px;
  right:62px;
  width:76px;
  height:76px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff,#dab6ff 18%,#8665ce 50%,#35235e 72%);
  box-shadow:0 0 38px rgba(220,183,255,.58),0 0 110px rgba(139,92,246,.32);
}
.world-status,.world-location {
  position:absolute;
  z-index:2;
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#f7f4ff;
  background:rgba(13,10,22,.48);
  backdrop-filter:blur(12px);
  font-size:11px;
}
.world-status { top:18px;left:18px; }
.world-status i { width:7px;height:7px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 10px #6ee7b7; }
.world-location { left:18px;bottom:18px; }
.world-location svg { width:13px; }
.world-card-body {
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px 20px;
  padding:24px;
}
.world-kicker { color:var(--accent-lavender);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase; }
.world-card-body h2 { margin-top:4px;font-size:28px; }
.world-card-body>a {
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid var(--border-active);
  border-radius:14px;
  color:white;
  background:rgba(169,139,255,.1);
  cursor:pointer;
}
.world-card-body>a:hover { color:white;background:rgba(169,139,255,.2); }
.world-card-body>a svg { width:18px; }
.world-card-body>p { grid-column:1/-1;font-family:var(--font-narrative);font-size:17px;color:var(--text-narrative); }
.world-party { grid-column:1/-1;display:flex;align-items:center;margin-top:8px; }
.world-party>span { display:grid;place-items:center;width:30px;height:30px;margin-left:-7px;border:2px solid var(--bg-card);border-radius:50%;color:white;background:linear-gradient(145deg,#7658cf,#b75eab);font-size:11px;font-weight:700; }
.world-party>span:first-child { margin-left:0; }
.world-party small { margin-left:10px;color:var(--text-muted); }
.how-it-works { background:linear-gradient(180deg,var(--bg-deep),rgba(16,13,27,.82)); }
.step-card { text-align:left; }
.step-icon { margin:0 0 24px;border-radius:18px; }
.pricing-grid { grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;align-items:stretch; }
.pricing-card { min-width:0;padding:26px 22px; }
.pricing-card.popular { transform:translateY(-10px); }

@media (max-width:1100px) {
  .hero-layout { grid-template-columns:1fr .78fr;gap:40px; }
  .pricing-grid { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:820px) {
  .landing-page .hero { padding-top:118px; }
  .hero-layout { grid-template-columns:1fr; }
  .hero-copy { text-align:center;margin-inline:auto; }
  .hero-copy .subtitle { margin-inline:auto; }
  .hero-actions,.hero-proof { justify-content:center; }
  .hero-visual { width:min(100%,520px);margin-inline:auto; }
  .world-card { transform:none; }
  .pricing-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px) {
  .hero-copy h1 { font-size:clamp(2.7rem,15vw,4rem); }
  .hero-proof { display:grid;justify-content:start;text-align:left;margin-inline:auto;width:max-content; }
  .world-card-art { min-height:240px; }
  .steps-grid { grid-template-columns:minmax(0,1fr); }
  .pricing-grid { grid-template-columns:1fr; }
  .pricing-card.popular { transform:none; }
}

.continue-story{display:flex;align-items:center;gap:11px;width:min(420px,100%);margin:16px 0 2px;padding:12px 14px;border:1px solid rgba(52,211,153,.25);border-radius:15px;color:#ecfdf5;background:linear-gradient(100deg,rgba(52,211,153,.11),rgba(124,58,237,.1));box-shadow:0 12px 30px rgba(0,0,0,.14)}.continue-story[hidden]{display:none}.continue-story>svg:first-child{width:26px;color:#6ee7b7}.continue-story span{display:grid;flex:1;gap:2px;min-width:0}.continue-story small{font-size:10px;color:#a7f3d0;text-transform:uppercase;letter-spacing:.08em}.continue-story strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.continue-story>svg:last-child{width:18px;color:#c4b5fd}
