/* ---- Hero section ---- */
.hero {
  min-height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  padding: 0 40px 120px;
  pointer-events: none;
}
.hero > * { pointer-events: auto; }

.eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; color: var(--accent); letter-spacing: 0.28em;
  text-transform: uppercase; margin-bottom: 28px;
  display: flex; align-items: center; gap: 14px;
}
.eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--accent); }

.hero h1 {
  font-family: 'League Gothic', 'BBH Hegarty', serif;
  font-size: clamp(80px, 12.5vw, 175px);
  font-weight: 300; letter-spacing: -0.02em;
  line-height: 0.95; margin-bottom: 0;
}
.hero h1 .rest {
  font-family: 'Pathway Gothic One', sans-serif;
  font-weight: 400; letter-spacing: 0.04em;
  font-size: 24px; text-transform: uppercase;
  line-height: 1; display: block; margin-top: 4px;
}
.hero h1 .em { color: var(--accent); font-family: inherit; }

.hero .role {
  font-size: clamp(16px, 1.3vw, 20px); color: var(--ink-dim);
  font-weight: 300; max-width: 520px; line-height: 1.5;
  margin-top: 48px; margin-bottom: 48px;
}

/* CTA buttons */
.hero .cta-row {
  display: flex; align-items: center; gap: 20px;
  margin-top: 48px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
}
.cta {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 22px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink); background: rgba(255,255,255,0.02);
  transition: all .2s;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.cta:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-1px); }
.cta.primary { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.cta.primary:hover { background: var(--accent); border-color: var(--accent); color: var(--bg); }
.cta .arr { display: inline-block; transition: transform .2s; }
.cta:hover .arr { transform: translateX(3px); }

/* Scroll indicator */
.scroll-ind {
  position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; color: var(--ink-faint); letter-spacing: 0.3em;
  text-transform: uppercase; display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.scroll-ind .bar {
  width: 1px; height: 40px;
  background: linear-gradient(to bottom, var(--ink-faint), transparent);
  animation: drip 2.4s infinite ease-in-out;
}
@keyframes drip {
  0%   { transform: scaleY(0); transform-origin: top; }
  50%  { transform: scaleY(1); transform-origin: top; }
  51%  { transform: scaleY(1); transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; }
}
