/* ATLAS · LightCone styles — warm-terracotta port of Aceternity "Lamp" */

.light-cone {
  position: relative;
  isolation: isolate;
  min-height: 520px;
  display: grid;
  place-items: center center;
  overflow: hidden;
  padding-bottom: 0;
}

.light-cone .lc-bg {
  position: absolute; inset: 0;
  pointer-events: none;
}

/* Two skewed gradient rectangles that meet at the horizon = the light cone */
.light-cone .lc-cone {
  position: absolute;
  left: 50%;
  top: 45%;
  width: 38vw;
  max-width: 720px;
  height: 44vh;
  min-height: 260px;
  transform-origin: bottom center;
  opacity: 0;
  filter: blur(52px);
  transition: opacity 1400ms var(--ease-out-expo, cubic-bezier(.16,1,.3,1)) 120ms,
              width 1200ms var(--ease-out-expo, cubic-bezier(.16,1,.3,1)) 200ms;
}
.light-cone .lc-cone-l {
  transform: translateX(-100%) rotate(-18deg);
  background: conic-gradient(
    from 290deg at 100% 100%,
    transparent 0deg,
    var(--lc-cone-a, rgba(11, 26, 62, 0.38)) 28deg,
    var(--lc-cone-b, rgba(42, 68, 114, 0.18)) 48deg,
    transparent 90deg
  );
}
.light-cone .lc-cone-r {
  transform: translateX(0%) rotate(18deg);
  background: conic-gradient(
    from 250deg at 0% 100%,
    transparent 0deg,
    var(--lc-cone-a, rgba(11, 26, 62, 0.38)) 28deg,
    var(--lc-cone-b, rgba(42, 68, 114, 0.18)) 48deg,
    transparent 90deg
  );
}

/* Hot spot where the cones meet */
.light-cone .lc-shine {
  position: absolute;
  left: 50%; top: 46%;
  width: 28vw; max-width: 520px; height: 180px;
  transform: translateX(-50%);
  background: radial-gradient(60% 80% at 50% 40%,
    var(--lc-shine-core, rgba(42, 68, 114, 0.45)) 0%,
    var(--lc-shine-mid, rgba(11, 26, 62, 0.28)) 35%,
    transparent 75%);
  filter: blur(24px);
  opacity: 0;
  transition: opacity 1400ms var(--ease-out-expo, ease) 400ms;
}

/* Horizon hairline — soft, no hard visible line against surrounding sections */
.light-cone .lc-line {
  display: none;
}

/* Floor removed — the ScrollStage background owns the entire backdrop. */
.light-cone .lc-floor {
  display: none;
}

/* Entry animation */
.light-cone.lc-active .lc-cone { opacity: 1; }
.light-cone.lc-active .lc-cone-l { width: 46vw; }
.light-cone.lc-active .lc-cone-r { width: 46vw; }
.light-cone.lc-active .lc-shine { opacity: 1; }
.light-cone.lc-active .lc-line { opacity: 1; transform: scaleX(1); }

/* Content */
.light-cone .lc-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 760px;
  padding: 0 24px;
  transform: translateY(4vh);
}
.light-cone .lc-content h2,
.light-cone .lc-content h1 {
  font-family: var(--f-display, "Space Grotesk", serif);
  font-size: clamp(42px, 5.5vw, 80px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  font-weight: 400;
  color: var(--text, #E8E6E1);
  margin: 0 0 16px;
  opacity: 1;
  transform: translateY(14px);
  transition: transform 1200ms var(--ease-out-expo, ease) 500ms;
}
.light-cone .lc-content h2 .accent-word,
.light-cone .lc-content h1 .accent-word {
  color: var(--accent, #2A4472);
  font-style: normal;
  font-weight: 500;
}
.light-cone .lc-content p {
  font-size: clamp(16px, 1.3vw, 19px);
  color: var(--text-dim, rgba(232,230,225,0.72));
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.55;
  opacity: 1;
  transform: translateY(10px);
  transition: transform 1100ms var(--ease-out-expo, ease) 700ms;
}
.light-cone.lc-active .lc-content h2,
.light-cone.lc-active .lc-content h1,
.light-cone.lc-active .lc-content p {
  transform: translateY(0);
}

/* Reduced-motion: static, no fade-in, just end state */
.light-cone.lc-reduced .lc-cone,
.light-cone.lc-reduced .lc-shine,
.light-cone.lc-reduced .lc-line,
.light-cone.lc-reduced .lc-content h2,
.light-cone.lc-reduced .lc-content p {
  transition: none !important;
}

@media (max-width: 900px) {
  .light-cone { min-height: 440px; }
  .light-cone .lc-cone { height: 36vh; }
  .light-cone .lc-content { transform: translateY(2vh); }
}
