@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Inter:wght@400;500;600&display=swap");

:root {
  --page-bg: #f5f1e9;
  --text: #1f221f;
  --muted: #6e736d;
  --line: rgba(31, 34, 31, 0.13);
  --glass: rgba(18, 18, 16, 0.42);
  --glass-border: rgba(255, 255, 255, 0.18);
  --hero-overlay: 0.34;
  --timeline-scale: 1;
  --shell: min(1500px, calc(100vw - 72px));
  --reading: min(820px, calc(100vw - 48px));
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 16px;
  --shadow-soft: 0 24px 70px rgba(15, 14, 11, 0.18);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--page-bg);
  color: var(--text);
  font-family: "Inter", system-ui, sans-serif;
  line-height: 1.55;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  color: inherit;
}

img {
  max-width: 100%;
  display: block;
}

[hidden] {
  display: none !important;
}

.shell {
  width: var(--shell);
  margin-inline: auto;
}

.section-heading {
  padding: 84px 0 42px;
}

.section-heading--narrow {
  width: var(--reading);
  margin-inline: auto;
}

.section-heading__eyebrow {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--muted);
}

.section-heading h2 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.7rem, 5vw, 5.6rem);
  line-height: 0.95;
  font-weight: 600;
}

.section-heading p:last-child {
  max-width: 760px;
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 1.04rem;
}

@media (max-width: 900px) {
  :root {
    --shell: min(100% - 28px, 1500px);
  }

  .section-heading {
    padding-top: 62px;
  }
}


body.constellation-open{overflow:hidden}.hero-stage{position:relative;height:86vh;overflow:hidden;background:#111}.hero-stage__rail{height:172vh;transform:translateY(-86vh);transition:transform 1350ms cubic-bezier(.22,1,.36,1);will-change:transform}body.constellation-open .hero-stage__rail{transform:translateY(0)}@media(max-width:980px){.hero-stage{height:100vh}.hero-stage__rail{height:200vh;transform:translateY(-100vh)}}
