:root {
  --bg: #0a0a0a;
  --panel: #121612;
  --accent: #39ff14;
  --amber: #ffb020;
  --text: #dcffe6;
  --muted: #00b450;
  --edge: 20px;
  --max: 920px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); line-height: 1.55; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--accent); }
.page { padding: 0 var(--edge) 96px; max-width: calc(var(--max) + var(--edge) * 2); margin: 0 auto; }
.hero { position: relative; min-height: 72vh; display: grid; align-items: end; margin: 0 calc(var(--edge) * -1) 48px; padding: 48px var(--edge) 56px; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,.15) 0%, rgba(10,10,10,.92) 78%), url("assets/hero.jpg") center/cover no-repeat; }
.hero__scanlines { position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(57,255,20,.03) 0 1px, transparent 1px 4px); pointer-events: none; }
.hero__content { position: relative; z-index: 1; max-width: 640px; }
.hero__kicker { margin: 0 0 8px; font: 600 .78rem/1.2 ui-monospace, monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--amber); }
.hero h1 { margin: 0; font: 800 clamp(2.4rem, 8vw, 4rem)/1 ui-monospace, monospace; color: var(--accent); text-shadow: 0 0 24px rgba(57,255,20,.45); }
.hero__tagline { margin: 16px 0 0; max-width: 34ch; font-size: 1.05rem; }
section { margin-bottom: 56px; }
.section-head { margin-bottom: 20px; }
.section-head h2 { margin: 0 0 6px; font: 700 1.35rem/1.2 ui-monospace, monospace; color: var(--accent); }
.section-head p { margin: 0; color: var(--muted); font-size: .95rem; }
.stripe-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(57,255,20,.18); }
.stripe-list li { display: grid; grid-template-columns: 56px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid rgba(57,255,20,.12); }
.stripe-list__idx { font: 700 .9rem/1 ui-monospace, monospace; color: var(--amber); }
.stripe-list h3 { margin: 0 0 6px; font-size: 1.05rem; }
.stripe-list p { margin: 0; color: rgba(220,255,230,.82); }
.film-strip { display: flex; gap: 14px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.film-strip figure { flex: 0 0 min(240px, 72vw); margin: 0; scroll-snap-align: start; border-radius: 16px; overflow: hidden; border: 1px solid rgba(57,255,20,.22); background: var(--panel); }
.film-strip img { width: 100%; aspect-ratio: 9/19.5; object-fit: cover; object-position: top; }
.legal__body { background: var(--panel); border: 1px solid rgba(57,255,20,.16); border-radius: 16px; padding: 20px; }
.legal__body p { margin: 0 0 14px; }
.legal__body p:last-child { margin-bottom: 0; }
.dock { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); display: flex; gap: 8px; padding: 10px 14px; border-radius: 999px; background: rgba(18,22,18,.92); border: 1px solid rgba(57,255,20,.28); backdrop-filter: blur(10px); z-index: 10; }
.dock a { padding: 8px 14px; border-radius: 999px; text-decoration: none; font: 600 .78rem/1 ui-monospace, monospace; color: var(--text); }
.dock a:hover, .dock a:focus-visible { background: rgba(57,255,20,.12); color: var(--accent); }
