/* ==================================================
   GEKOS — CRITICAL CSS (DESKTOP-STABLE)
   Authority: Layout, Stacking, Viewport
   Status: FINAL / SEALED
================================================== */

/* ==================================================
   ROOT — GLOBAL CONTROLS
================================================== */

:root {
  --header-height: 72px;

  --hero-opacity: 1;
  --hero-brightness: 1;

  --hero-text-shift: 6px;
  --dust-opacity: 0.12;
}

/* ==================================================
   BASE DOCUMENT — NO COLLAPSE
================================================== */

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;

  background: #000;
  color: #e6e6e6;

  overflow-x: hidden;
}

/* ==================================================
   APP ROOT — DESKTOP SAFE
================================================== */

#app {
  position: relative;
  min-height: 100vh;
  isolation: isolate;
}

/* ==================================================
   HEADER — ABOVE HERO (NO SUPPRESSION)
================================================== */

#gekos-header {
  position: sticky;
  top: 0;
  z-index: 2000;

  background: rgba(0,0,0,0.65);
  backdrop-filter: blur(6px) saturate(120%);
}

/* ==================================================
   HERO — DESKTOP VIEWPORT LOCK
================================================== */

.hero {
  position: relative;
  width: 100%;
  height: calc(100vh - var(--header-height));
  min-height: calc(100vh - var(--header-height));

  display: flex;
  align-items: center;
  justify-content: center;

  background: #000;
  overflow: hidden;

  isolation: isolate;
}

/* ==================================================
   HERO VISUAL STACK — FIXED
================================================== */

.hero-visual {
  position: absolute;
  inset: 0;

  z-index: 0;
  pointer-events: none;
}

.hero-video {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center center;

  transform: translateZ(0);
  backface-visibility: hidden;

  opacity: var(--hero-opacity);
  filter: brightness(var(--hero-brightness));
}

/* ==================================================
   HERO OVERLAY — CONTRAST CONTROL
================================================== */

.hero-overlay {
  position: absolute;
  inset: 0;

  z-index: 1;
  pointer-events: none;

  background:
    radial-gradient(
      circle at 60% 45%,
      rgba(0,0,0,0.2),
      rgba(0,0,0,0.65) 70%
    );
}

/* ==================================================
   HERO DUST — NON-DESTRUCTIVE
================================================== */

.hero-dust {
  position: absolute;
  inset: 0;

  z-index: 2;
  pointer-events: none;

  opacity: var(--dust-opacity);
}

/* ==================================================
   HERO COPY — ALWAYS VISIBLE
================================================== */

.hero-core {
  position: relative;
  z-index: 3;

  text-align: center;
}

.hero-copy {
  max-width: 920px;
  margin-inline: auto;
}

.hero-title {
  margin: 0;
  line-height: 1.1;
}

/* ==================================================
   SCROLL CUE — STABLE
================================================== */

.hero-scroll-cue {
  margin-top: 32px;
  opacity: 0.6;
}

/* ==================================================
   DESKTOP ONLY — FINAL SAFETY
================================================== */

@media (min-width: 1025px) {
  .hero {
    height: calc(100vh - var(--header-height));
  }

  .hero-video {
    object-fit: cover;
  }
}

/* ==================================================
   REDUCED MOTION — COMPLIANT
================================================== */

@media (prefers-reduced-motion: reduce) {
  .hero-video {
    transform: none;
  }
}
