/* Original cinematic light ribbons. Scoped to the public homepage. */
.site-page .hero { background: #020712; min-height: 1090px; padding-top: 194px; }
.site-page .hero::before { display: none; }
.cinematic-atmosphere {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  background: #020712 url('assets/cinematic-ribbons-poster.svg') center top / cover no-repeat;
}
.cinematic-canvas { display: block; width: 100%; height: 100%; opacity: 0; }
.cinematic-atmosphere.is-ready .cinematic-canvas { opacity: 1; }
.cinematic-vignette {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 35% 23% at 50% 30%, rgba(1,5,14,.62), transparent 100%),
    linear-gradient(180deg, rgba(1,5,14,.16), transparent 58%, rgba(3,6,10,.12) 78%, #03060a 100%);
}
.site-page .hero-copy { width: min(1160px,100%); max-width: 1160px; }
.site-page .hero h1 { font-size: clamp(3.5rem,5.7vw,5.7rem); font-weight: 450; line-height: 1.04; text-shadow: 0 2px 40px rgba(0,0,0,.35); }
.site-page .hero h1 em { display: block; color: #b1cae9; background: linear-gradient(105deg,#83a5d4 12%,#d4eaff 48%,#7fa0d5 90%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.site-page .hero-copy > p { max-width: 630px; color: #c1cede; font-size: 16px; line-height: 1.7; margin-top: 26px; }
.site-page .hero-visual { width: min(860px,calc(100% - 80px)); margin-top: 88px; }
.site-page .hero-console { border-color: rgba(191,222,255,.6); box-shadow: 0 50px 120px rgba(0,0,0,.8), 0 0 0 8px rgba(129,175,237,.04), 0 -12px 80px rgba(59,139,244,.24); }
.site-page .hero-actions .button-light { background:#1769ef; border-color:#6b9ef2; color:#fff; box-shadow:0 8px 32px rgba(18,103,255,.22); }
.site-page .hero-actions .button-light:hover { background:#2b7bff; }
.site-page .hero-foot { margin-top: 28px; }
.cinematic-controls {
  position: absolute;
  top: 118px;
  left: max(32px, calc((100vw - 1360px)/2));
  right: max(32px, calc((100vw - 1360px)/2));
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #a0b2c9;
}
.cinematic-controls[hidden] { display: none; }
.cinematic-label { display: inline-flex; align-items: center; gap: 10px; font-size: 9px; letter-spacing: .19em; text-transform: uppercase; }
.cinematic-label i { width: 5px; height: 5px; background: #83afdf; border-radius: 50%; box-shadow: 0 0 12px #287fd9; }
.cinematic-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid rgba(155,185,225,.28);
  border-radius: 30px;
  background: rgba(5,16,34,.75);
  color: #c0cfe1;
  cursor: pointer;
  font-size: 11px;
}
.cinematic-controls button:hover { background: #102640; color: #fff; border-color: #7396bf; }
.cinematic-controls button:disabled { cursor: default; opacity: .75; }
.cinematic-controls [data-motion-icon] { width: 12px; font-size: 13px; }
/* A deliberate pause includes adjacent decorative movement. */
.site-page.motion-paused .floating-card,
.site-page.motion-paused .provider-track { animation-play-state: paused; }
.site-page.motion-paused .hero-console { transform: none; transition: none; }
.site-page.motion-paused .hero-atmosphere { transform: none; }
@media (max-width: 680px) {
  .site-page .hero { padding-top: 176px; min-height: 1020px; }
  .site-page .hero h1 { font-size: clamp(2.65rem,11.8vw,4rem); line-height: 1.03; }
  .site-page .hero-copy > p { font-size: 14px; line-height: 1.7; max-width: 340px; }
  .site-page .hero-visual { width: 100%; margin-top: 54px; }
  .cinematic-controls { top: 112px; left: 16px; right: 16px; gap: 10px; }
  .cinematic-label { max-width: 140px; font-size: 8px; line-height: 1.7; letter-spacing: .12em; }
  .cinematic-vignette { background: radial-gradient(ellipse 65% 24% at 50% 31%, rgba(2,7,18,.7), transparent 100%), linear-gradient(180deg, transparent 70%, #03060a 100%); }
}
@media (prefers-reduced-motion: reduce) {
  .site-page .hero-console { transform: none; transition: none; }
}
