/* ===== HERO V2 — full-width centered text + fancy background ===== */

.hero-section {
  position: relative;
  padding: clamp(7rem, 14vw, 10rem) 1rem clamp(4rem, 8vw, 6rem);
  background: var(--background);
  isolation: isolate;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* ===== Fancy background layer ===== */
.hero-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}

/* Animated aurora blobs */
.hero-aurora {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  mix-blend-mode: multiply;
  opacity: 0.55;
  will-change: transform;
}
.hero-aurora-1 {
  width: 50vw; height: 50vw;
  max-width: 720px; max-height: 720px;
  top: -18%; left: -10%;
  background: radial-gradient(circle, rgba(217, 119, 6, 0.45), transparent 65%);
  animation: aurora-1 18s ease-in-out infinite;
}
.hero-aurora-2 {
  width: 46vw; height: 46vw;
  max-width: 680px; max-height: 680px;
  bottom: -20%; right: -8%;
  background: radial-gradient(circle, rgba(177, 137, 88, 0.45), transparent 65%);
  animation: aurora-2 22s ease-in-out infinite;
}
.hero-aurora-3 {
  width: 38vw; height: 38vw;
  max-width: 560px; max-height: 560px;
  top: 40%; left: 42%;
  background: radial-gradient(circle, rgba(217, 119, 6, 0.22), transparent 70%);
  animation: aurora-3 26s ease-in-out infinite;
}
@keyframes aurora-1 {
  0%, 100% { transform: translate(0,0) scale(1); }
  50% { transform: translate(8%, 6%) scale(1.12); }
}
@keyframes aurora-2 {
  0%, 100% { transform: translate(0,0) scale(1.05); }
  50% { transform: translate(-6%, -8%) scale(0.92); }
}
@keyframes aurora-3 {
  0%, 100% { transform: translate(0,0) scale(0.95); }
  50% { transform: translate(-10%, 8%) scale(1.15); }
}

/* Faint classroom-board grid */
.hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(176,137,104,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(176,137,104,0.08) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(circle at 50% 45%, #000 25%, transparent 75%);
  mask-image: radial-gradient(circle at 50% 45%, #000 25%, transparent 75%);
  animation: grid-pan 40s linear infinite;
}
@keyframes grid-pan {
  to { background-position: 48px 48px, 48px 48px; }
}

/* Glowing orbs (smaller, sharper) */
.hero-orb {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217, 119, 6, 0.7), rgba(217, 119, 6, 0));
  filter: blur(4px);
  animation: orb-float 9s ease-in-out infinite;
}
.hero-orb-1 { width: 14px; height: 14px; top: 22%; left: 18%; animation-delay: 0s; }
.hero-orb-2 { width: 10px; height: 10px; top: 68%; right: 22%; animation-delay: 2s; }
.hero-orb-3 { width: 18px; height: 18px; bottom: 28%; left: 28%; animation-delay: 4s; }
@keyframes orb-float {
  0%, 100% { transform: translate(0,0); opacity: 0.5; }
  50% { transform: translate(18px, -22px); opacity: 1; }
}

/* ===== Centered container ===== */
.hero-container {
  position: relative;
  z-index: 1;
  max-width: min(92vw, 920px);
  margin: 0 auto;
  width: 100%;
  display: flex;
  justify-content: center;
}

.hero-content {
  max-width: 760px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Eyebrow with pulsing dot */
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-family: 'Fira Code', monospace;
  font-size: clamp(0.74rem, 1vw, 0.85rem);
  font-weight: 600;
  color: var(--primary);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  margin-bottom: 1.5rem;
  padding: 0.45rem 1rem;
  border: 1px solid var(--glass-border-2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: var(--elev-1);
}
.eyebrow-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--secondary);
  box-shadow: 0 0 10px var(--secondary);
  animation: pulse-live 1.8s ease-in-out infinite;
}

.hero-headline {
  font-family: 'Satoshi', sans-serif;
  font-weight: 900;
  font-size: clamp(2.6rem, 6.5vw, 5.2rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--text);
  margin-bottom: 1.5rem;
}

.hero-highlight {
  color: var(--primary);
  position: relative;
}

.hero-subheadline {
  font-family: 'Inter', sans-serif;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 2rem;
  max-width: 620px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-bottom: 1.5rem;
  justify-content: center;
}

.hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.95rem 2rem;
  border-radius: 999px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 1.02rem;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
  border: 1px solid transparent;
  min-height: 48px;
  position: relative;
  box-shadow: 0 8px 24px rgba(176, 137, 104, 0.28), 0 0 0 0 rgba(217, 119, 6, 0.4);
  overflow: hidden;
}
.hero-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.35) 50%, transparent 70%);
  background-size: 200% 100%;
  animation: cta-sheen 5s ease-in-out infinite;
  pointer-events: none;
}
.hero-cta i { transition: transform 0.3s var(--ease-out-expo); position: relative; z-index: 1; }
.hero-cta span { position: relative; z-index: 1; }
.hero-cta:hover i { transform: translateX(4px); }
.hero-cta:hover {
  box-shadow: 0 12px 32px rgba(176, 137, 104, 0.35), 0 0 28px rgba(217, 119, 6, 0.45);
  transform: translateY(-2px);
}
@keyframes cta-sheen {
  0%, 100% { background-position: 200% 0; }
  50% { background-position: -200% 0; }
}

.hero-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.95rem 2rem;
  border-radius: 999px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 1.02rem;
  background: rgba(255, 255, 255, 0.55);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--text);
  text-decoration: none;
  transition: all 0.3s ease;
  border: 1px solid var(--glass-border-2);
  min-height: 48px;
}
.hero-cta-secondary i { transition: transform 0.3s var(--ease-out-expo); }
.hero-cta-secondary:hover i { transform: translateX(4px); }
.hero-cta-secondary:hover {
  border-color: var(--primary);
  color: var(--primary);
  transform: translateY(-2px);
  box-shadow: var(--glow-soft);
}

.hero-beta-note {
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--muted);
  max-width: 520px;
}

/* Scroll hint at the bottom */
.hero-scroll-hint {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  color: var(--text-secondary);
  font-family: 'Fira Code', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.7;
  z-index: 1;
}
.scroll-mouse {
  width: 22px; height: 36px;
  border: 2px solid var(--text-secondary);
  border-radius: 12px;
  display: flex;
  justify-content: center;
  padding-top: 6px;
}
.scroll-wheel {
  width: 3px; height: 8px;
  border-radius: 2px;
  background: var(--primary);
  animation: scroll-wheel 1.6s ease-in-out infinite;
}
@keyframes scroll-wheel {
  0% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(12px); opacity: 0; }
}

/* ===== Responsive ===== */
@media (max-width: 900px) {
  .hero-section { min-height: auto; padding: 6rem 1rem 4rem; }
  .hero-headline { font-size: clamp(2.2rem, 8vw, 3.4rem); }
}

@media (max-width: 480px) {
  .hero-section { padding: 5rem 1rem 3rem; }
  .hero-cta,
  .hero-cta-secondary {
    width: 100%;
    justify-content: center;
  }
  .hero-scroll-hint { display: none; }
  .hero-eyebrow { font-size: 0.7rem; letter-spacing: 0.12em; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-aurora, .hero-grid, .hero-orb, .hero-cta::before,
  .scroll-wheel, .eyebrow-dot { animation: none !important; }
  .hero-aurora { opacity: 0.4; }
}
