/* CAP Home landing — Literata/Sora + warm accent; atmospheric, brand-first hero */

body.home-landing {
  /* Warm-forward atmosphere (avoid purple cluster) */
  background:
    radial-gradient(1100px 560px at 72% -8%, rgba(240, 163, 90, 0.22), transparent 58%),
    radial-gradient(720px 480px at -5% 35%, rgba(240, 163, 90, 0.08), transparent 52%),
    radial-gradient(640px 400px at 100% 70%, rgba(154, 166, 189, 0.08), transparent 50%),
    linear-gradient(165deg, #12151c, #1a2030 55%, #10141d);
}

.hl-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem clamp(1rem, 4vw, 2.5rem);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  backdrop-filter: blur(14px);
  background: color-mix(in srgb, var(--bg) 78%, transparent);
  z-index: 10;
}

.hl-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1.15rem;
  font-size: 0.9rem;
}

.hl-nav a {
  color: var(--fog);
  text-decoration: none;
}

.hl-nav a:hover { color: var(--text); }

/* First viewport: one composition — brand, headline, lede, CTAs */
.hl-hero {
  min-height: min(92vh, 820px);
  display: flex;
  align-items: center;
  padding: clamp(3rem, 10vh, 6rem) clamp(1.25rem, 5vw, 3rem) clamp(2.5rem, 6vh, 4rem);
  position: relative;
  overflow: hidden;
}

.hl-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, transparent 40%, rgba(240, 163, 90, 0.05) 100%),
    radial-gradient(ellipse 70% 55% at 85% 40%, rgba(240, 163, 90, 0.12), transparent 70%);
  pointer-events: none;
}

.hl-hero-inner {
  position: relative;
  max-width: 38rem;
  z-index: 1;
}

.hl-kicker {
  margin: 0 0 1rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
}

.hl-hero .brand-hero {
  margin: 0 0 0.75rem;
  font-family: var(--font-display);
  font-size: clamp(2.75rem, 8vw, 4.1rem);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--text);
}

.hl-hero h1 {
  margin: 0 0 1.1rem;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 3.5vw, 1.95rem);
  font-weight: 500;
  line-height: 1.28;
  color: var(--fog);
  max-width: 22ch;
}

.hl-hero .lede {
  max-width: 36ch;
  margin: 0 0 1.6rem;
  font-size: 1.05rem;
}

/* Thin “what is CAP” band — purpose without slowing the hero */
.hl-story {
  margin: 0;
  padding: 1.35rem clamp(1.25rem, 5vw, 3rem) 1.6rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--bg) 55%, #0c0e14);
}

.hl-story-line {
  margin: 0 auto;
  max-width: 52ch;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--fog);
}

.hl-story-line strong {
  color: var(--text);
  font-weight: 600;
}

.hl-section { max-width: var(--max); }

.hl-path-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.35rem;
  max-width: 52ch;
}

.hl-path-list li {
  display: grid;
  gap: 0.25rem;
  padding-left: 1rem;
  border-left: 2px solid color-mix(in srgb, var(--accent) 55%, var(--line));
}

.hl-path-list strong {
  font-size: 1.02rem;
  color: var(--text);
}

.hl-path-list span {
  color: var(--fog);
  font-size: 0.98rem;
}

.hl-steps {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
  max-width: 52ch;
  color: var(--fog);
}

.hl-steps li {
  margin: 0.55rem 0;
  padding-left: 0.25rem;
}

.hl-steps strong { color: var(--text); }

.hl-cta .section-lede { margin-bottom: 1.25rem; }

.hl-foot {
  margin-top: 0;
}

body.home-landing .btn {
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 0.95rem;
}

body.home-landing .btn-primary {
  border: none;
}

@media (prefers-reduced-motion: no-preference) {
  .hl-kicker,
  .hl-hero .brand-hero,
  .hl-hero h1,
  .hl-hero .lede,
  .hl-hero .cta-row {
    animation: hl-rise 0.9s ease both;
  }
  .hl-hero .brand-hero { animation-delay: 0.06s; }
  .hl-hero h1 { animation-delay: 0.14s; }
  .hl-hero .lede { animation-delay: 0.22s; }
  .hl-hero .cta-row { animation-delay: 0.3s; }
}

@keyframes hl-rise {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 720px) {
  .hl-nav { display: none; }
  .hl-hero { min-height: auto; padding-top: 3.5rem; }
}
