/* ═══════════════════════════════════════════
   Eight Eight Studio — style.css (final)
   ═══════════════════════════════════════════ */

/* ── Dark theme ── */
[data-theme="dark"] {
  --bg:            #080808;
  --text:          #f0ede8;
  --text-muted:    rgba(240,237,232,0.50);
  --text-dim:      rgba(240,237,232,0.22);
  --accent:        #e8ff47;
  --accent-rgb:    232,255,71;
  --border:        rgba(240,237,232,0.09);
  --border-hi:     rgba(240,237,232,0.18);
  --glass-bg:      rgba(255,255,255,0.06);
  --glass-border:  rgba(255,255,255,0.14);
  --glass-shadow:  0 8px 48px rgba(0,0,0,0.55);
  --input-bg:      rgba(255,255,255,0.05);
  --input-border:  rgba(255,255,255,0.15);
  --btn-bg:        #e8ff47;
  --btn-text:      #080808;
  --scan:          rgba(0,0,0,0.055);
  --chip-bg:       rgba(255,255,255,0.06);
  --chip-border:   rgba(255,255,255,0.12);
  --chip-text:     rgba(240,237,232,0.65);
}

/* ── Light theme ── */
[data-theme="light"] {
  --bg:            #f4f1ec;
  --text:          #0e0e0e;
  --text-muted:    rgba(14,14,14,0.54);
  --text-dim:      rgba(14,14,14,0.28);
  --accent:        #1a1a1a;
  --accent-rgb:    26,26,26;
  --border:        rgba(14,14,14,0.09);
  --border-hi:     rgba(14,14,14,0.20);
  --glass-bg:      rgba(255,255,255,0.55);
  --glass-border:  rgba(14,14,14,0.13);
  --glass-shadow:  0 8px 40px rgba(0,0,0,0.09);
  --input-bg:      rgba(255,255,255,0.72);
  --input-border:  rgba(14,14,14,0.18);
  --btn-bg:        #0e0e0e;
  --btn-text:      #f4f1ec;
  --scan:          rgba(0,0,0,0.018);
  --chip-bg:       rgba(14,14,14,0.05);
  --chip-border:   rgba(14,14,14,0.12);
  --chip-text:     rgba(14,14,14,0.60);
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { overflow-x: hidden; -webkit-font-smoothing: antialiased; }

body {
  font-family: 'Syne', sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100dvh;
  transition: background 0.35s ease, color 0.35s ease;
}

a { color: inherit; text-decoration: none; }

/* ── Canvas + scanlines ── */
#bgCanvas {
  position: fixed; inset: 0; z-index: 0;
  pointer-events: none; opacity: 0.32;
  transition: opacity 0.35s ease;
}
[data-theme="light"] #bgCanvas { opacity: 0.09; }

.scanlines {
  position: fixed; inset: 0; z-index: 1; pointer-events: none;
  background: repeating-linear-gradient(0deg,
    transparent, transparent 2px,
    var(--scan) 2px, var(--scan) 4px);
}

/* ════════════════════════════
   HEADER
   ════════════════════════════ */
.header {
  position: fixed;
  top: 20px; left: 0; right: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  pointer-events: none;
}

.header-glass {
  pointer-events: all;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 22px 14px 18px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 999px;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow: var(--glass-shadow);
  max-width: 560px;
  width: 100%;
  transition: background 0.35s ease, border-color 0.35s ease;
}

.hg-wordmark {
  display: flex; align-items: center; gap: 12px; flex-shrink: 0;
}

.hg-88 {
  font-size: 1.95rem; font-weight: 800;
  color: var(--accent); letter-spacing: -3px; line-height: 1;
  transition: color 0.35s ease;
}

.hg-divider {
  width: 1px; height: 26px;
  background: var(--border-hi); flex-shrink: 0;
}

.hg-namelines { display: flex; flex-direction: column; line-height: 1.2; }

.hg-top {
  font-size: 0.62rem; font-weight: 700; letter-spacing: 0.2em;
  color: var(--text); transition: color 0.35s ease;
}
.hg-bot {
  font-size: 0.60rem; font-weight: 400; letter-spacing: 0.18em;
  color: var(--text-muted); transition: color 0.35s ease;
}

.hg-nav { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }

.hg-icon-link {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 50%;
  border: 1px solid transparent;
  color: var(--text-muted);
  /* no active/touch feedback */
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}
.hg-icon-link:hover {
  color: var(--text);
  border-color: var(--border-hi);
  background: rgba(255,255,255,0.05);
}

/* Theme toggle */
.theme-toggle {
  pointer-events: all;
  position: absolute; right: 20px;
  width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid var(--glass-border);
  background: var(--glass-bg);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  box-shadow: var(--glass-shadow);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: var(--text);
  /* no touch feedback */
  -webkit-tap-highlight-color: transparent;
  outline: none;
  transition: transform 0.25s ease, background 0.35s ease;
}
.theme-toggle:hover { transform: rotate(22deg) scale(1.1); }

/* ════════════════════════════
   HERO
   ════════════════════════════ */
.hero {
  position: relative; z-index: 10;
  min-height: 100dvh;
  display: flex; align-items: center; justify-content: center;
  padding: 120px 24px 80px;
}

.hero-inner {
  width: 100%; max-width: 680px;
  display: flex; flex-direction: column;
  align-items: center; text-align: center;
}

/* Status pill */
.status-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 16px; border-radius: 999px;
  border: 1px solid var(--border-hi);
  background: var(--glass-bg); backdrop-filter: blur(12px);
  font-size: 0.66rem; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 36px;
  opacity: 0; animation: fadeUp 0.6s ease 0.3s forwards;
}

.sp-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px rgba(var(--accent-rgb),0.8);
  animation: pulse 2s ease-in-out infinite;
  flex-shrink: 0; transition: background 0.35s ease;
}

@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.2} }

/* ── Headline ── */
.headline {
  display: flex; flex-direction: column; align-items: center;
  line-height: 0.9; letter-spacing: -0.03em;
  margin-bottom: 24px;
}

.hl { display: block; opacity: 0; transform: translateY(36px); }

/* "We Build" — noticeably smaller than BRANDS */
.hl-1 {
  font-size: clamp(2rem, 5.5vw, 4.5rem);
  font-weight: 700;
  color: var(--text-muted);
  animation: subtleUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.45s forwards;
  transition: color 0.35s ease;
}

/* "Brands" — the hero word */
.hl-2 {
  font-size: clamp(4.2rem, 13vw, 11rem);
  font-weight: 800;
  color: var(--text);
  animation: subtleUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.62s forwards;
  transition: color 0.35s ease;
}
.hl-2 em {
  font-style: italic; color: var(--accent);
  transition: color 0.35s ease;
}

/* "That Dominate." — secondary weight */
.hl-3 {
  font-size: clamp(1.5rem, 4vw, 3.4rem);
  font-weight: 600;
  color: var(--text-muted);
  animation: subtleUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.79s forwards;
  transition: color 0.35s ease;
}

/* Subtle drift-up (not crash) */
@keyframes subtleUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Subtext */
.subtext {
  font-family: 'Barlow', sans-serif;
  font-size: clamp(0.88rem, 1.8vw, 1rem);
  font-weight: 300; line-height: 1.78;
  color: var(--text-muted);
  max-width: 460px;
  margin-bottom: 44px;
  opacity: 0; animation: fadeUp 0.7s ease 0.95s forwards;
  transition: color 0.35s ease;
}

/* ════════════════════════════
   CHIPS — scroll reveal
   ════════════════════════════ */
.chips-row {
  display: flex; flex-wrap: wrap;
  gap: 9px; justify-content: center;
  max-width: 560px;
  margin-bottom: 48px;
}

.chip {
  display: inline-flex; align-items: center;
  padding: 7px 16px; border-radius: 999px;
  border: 1px solid var(--chip-border);
  background: var(--chip-bg);
  backdrop-filter: blur(8px);
  font-family: 'Syne', sans-serif;
  font-size: 0.64rem; font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--chip-text);
  /* hidden until JS adds .in */
  opacity: 0; transform: translateY(14px) scale(0.94);
  transition:
    opacity 0.5s ease,
    transform 0.5s cubic-bezier(0.16,1,0.3,1),
    border-color 0.22s ease,
    color 0.22s ease,
    background 0.35s ease;
  -webkit-tap-highlight-color: transparent;
}

.chip.in {
  opacity: 1; transform: translateY(0) scale(1);
}

.chip:hover {
  border-color: var(--border-hi);
  color: var(--text);
}

.chip-accent {
  border-color: rgba(var(--accent-rgb),0.35);
  background: rgba(var(--accent-rgb),0.07);
  color: var(--accent);
}
.chip-accent:hover { background: rgba(var(--accent-rgb),0.14); }

/* ════════════════════════════
   NOTIFY CARD — glass box
   ════════════════════════════ */
.notify-card {
  width: 100%; max-width: 540px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 20px;
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  box-shadow: var(--glass-shadow);
  padding: 30px;
  display: flex; flex-direction: column;
  opacity: 0; animation: fadeUp 0.7s ease 1.05s forwards;
  transition: background 0.35s ease, border-color 0.35s ease;
}

/* Card header */
.nc-header {
  display: flex; align-items: flex-start;
  justify-content: space-between; gap: 14px;
  margin-bottom: 20px;
}

.nc-title-group { display: flex; flex-direction: column; gap: 6px; }

.nc-eyebrow {
  display: flex; align-items: center; gap: 8px;
  font-size: 0.6rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--accent); transition: color 0.35s ease;
}

.nc-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 6px rgba(var(--accent-rgb),0.8);
  animation: pulse 2s ease-in-out infinite;
  flex-shrink: 0; transition: background 0.35s ease;
}

.nc-sub {
  font-family: 'Barlow', sans-serif;
  font-size: 0.8rem; font-weight: 300;
  color: var(--text-muted); line-height: 1.55;
  transition: color 0.35s ease;
}

.nc-badge {
  font-size: 1.55rem; font-weight: 800;
  letter-spacing: -3px; color: var(--accent);
  opacity: 0.5; flex-shrink: 0; line-height: 1;
  transition: color 0.35s ease;
}

/* Dividers */
.nc-divider {
  width: 100%; height: 1px;
  background: var(--border);
  margin: 20px 0;
  transition: background 0.35s ease;
}

/* Form grid */
.nc-form { display: flex; flex-direction: column; gap: 12px; }

.nc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.nc-field { display: flex; flex-direction: column; gap: 6px; }

.nc-label {
  font-size: 0.57rem; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--text-dim); padding-left: 1px;
  transition: color 0.35s ease;
}

.nc-input {
  width: 100%;
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  border-radius: 10px;
  color: var(--text);
  font-family: 'Syne', sans-serif;
  font-size: 0.86rem; font-weight: 400;
  padding: 12px 14px; outline: none;
  /* no tap highlight */
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.22s ease, box-shadow 0.22s ease,
              background 0.35s ease, color 0.35s ease;
}
.nc-input::placeholder { color: var(--text-dim); }
.nc-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb),0.13);
}

/* CTA — "Notify Me" only, no touch feedback */
.nc-btn {
  width: 100%;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--btn-bg); border: none;
  color: var(--btn-text);
  font-family: 'Syne', sans-serif;
  font-size: 0.82rem; font-weight: 800; letter-spacing: 0.1em;
  padding: 14px 24px; border-radius: 10px;
  cursor: pointer; margin-top: 2px;
  /* no active state, no tap highlight */
  -webkit-tap-highlight-color: transparent;
  outline: none;
  transition: opacity 0.2s ease, background 0.35s ease, color 0.35s ease;
}
.nc-btn:hover { opacity: 0.84; }

.nc-arrow { display: inline-block; font-size: 1rem; transition: transform 0.2s ease; }
.nc-btn:hover .nc-arrow { transform: translateX(4px); }

/* Success */
.nc-success {
  display: none; align-items: center; gap: 14px;
  padding: 15px; border: 1px solid rgba(var(--accent-rgb),0.3);
  border-radius: 10px; animation: fadeIn 0.4s ease;
}
.nc-success.show { display: flex; }

.nc-success-icon { font-size: 1.3rem; color: var(--accent); flex-shrink: 0; }
.nc-success-title { font-size: 0.86rem; font-weight: 700; color: var(--accent); }
.nc-success-sub {
  font-size: 0.74rem; font-weight: 300;
  color: var(--text-muted); margin-top: 2px;
}

/* ── Follow section — separate CSS grid ── */
.nc-follow-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 16px;
}

.nc-follow-label {
  font-size: 0.57rem; font-weight: 700;
  letter-spacing: 0.2em; color: var(--text-dim);
  white-space: nowrap;
  transition: color 0.35s ease;
}

.nc-follow-links {
  display: flex; gap: 8px; flex-wrap: wrap;
}

.nc-follow-link {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 13px; border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--input-bg);
  font-size: 0.73rem; font-weight: 600;
  letter-spacing: 0.04em; color: var(--text-muted);
  -webkit-tap-highlight-color: transparent;
  outline: none;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.35s ease;
}
.nc-follow-link:hover { border-color: var(--border-hi); color: var(--text); }

/* ════════════════════════════
   FOOTER
   ════════════════════════════ */
.footer {
  position: relative; z-index: 10;
  border-top: 1px solid var(--border);
  padding: 22px 24px;
  transition: border-color 0.35s ease;
}
.footer-inner {
  max-width: 720px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 10px;
  font-size: 0.70rem; font-weight: 500; letter-spacing: 0.04em;
  color: var(--text-dim); transition: color 0.35s ease;
}
.ft-tag { font-style: italic; font-weight: 400; }

/* ════════════════════════════
   KEYFRAMES
   ════════════════════════════ */
@keyframes fadeIn  { from{opacity:0} to{opacity:1} }
@keyframes fadeUp  { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }

/* ════════════════════════════
   RESPONSIVE
   ════════════════════════════ */
@media (max-width: 768px) {
  .header-glass { max-width: 420px; padding: 12px 16px; gap: 16px; }
  .nc-grid { grid-template-columns: 1fr; }
  .nc-follow-grid { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 520px) {
  .header { top: 14px; padding: 0 14px; justify-content: flex-start; }
  .header-glass { max-width: calc(100% - 62px); padding: 10px 14px; gap: 8px; }
  .hg-namelines { display: none; }
  .hg-divider { display: none; }
  .hg-88 { font-size: 1.65rem; }
  .theme-toggle { right: 14px; width: 42px; height: 42px; }
  .hero { padding: 96px 16px 56px; }
  .notify-card { padding: 22px 18px; border-radius: 16px; }
  .nc-header { flex-direction: column; }
  .nc-badge { display: none; }
  .footer-inner { flex-direction: column; text-align: center; gap: 6px; }
}

@media (max-width: 360px) {
  .hg-nav { gap: 0; }
  .chip { font-size: 0.6rem; padding: 6px 12px; }
}

/* Selection + scrollbar */
::selection { background: rgba(var(--accent-rgb),0.28); color: var(--text); }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--border-hi); border-radius: 99px; }
