:root {
  --color-navy-950: #03111f;
  --color-navy-900: #061a2d;
  --color-navy-800: #08243d;
  --color-teal-600: #008b8f;
  --color-teal-500: #00a9ad;
  --color-teal-400: #19d1d1;
  --color-orange-500: #ff7a1a;
  --color-blue-500: #2764d8;
  --color-purple-500: #6f4bd8;
  --color-green-500: #189c72;
  --color-white: #ffffff;
  --color-slate-900: #0e1b31;
  --color-slate-700: #33435f;
  --color-slate-500: #64718a;
  --color-slate-100: #eef5f8;
  --color-slate-50: #f7fbfd;
  --shadow-soft: 0 18px 50px rgba(9, 34, 59, .12);
  --shadow-card: 0 12px 30px rgba(6, 26, 45, .10);
  --radius-lg: 24px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --container: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--color-slate-900);
  background: var(--color-slate-50);
  line-height: 1.5;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
svg {
  display: block;
  max-width: 100%;
}

button,
input {
  font: inherit;
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 12px;
  background: #fff;
  color: #000;
  padding: 8px 12px;
  z-index: 1000;
}

.skip-link:focus {
  left: 12px;
}

.container {
  width: min(100% - 40px, var(--container));
  margin-inline: auto;
}

.section {
  padding: 72px 0;
}

.section-dark {
  background: var(--color-navy-950);
  color: var(--color-white);
}

.section-heading {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 34px;
}

.section-heading.compact {
  margin-bottom: 18px;
}

.section-heading h2,
h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  font-size: clamp(2.85rem, 4.9vw, 4.85rem);
  line-height: .98;
  letter-spacing: -0.055em;
  margin-bottom: 22px;
  max-width: 760px;
}

h1 span,
.orange-text {
  color: var(--color-teal-400);
}

h2 {
  font-size: clamp(1.85rem, 3.1vw, 2.85rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  margin-bottom: 14px;
}

h3 {
  font-size: 1.15rem;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

p {
  color: var(--color-slate-700);
}

.section-dark p {
  color: rgba(255,255,255,.78);
}

.eyebrow {
  color: var(--color-teal-400);
  text-transform: uppercase;
  font-weight: 800;
  font-size: .78rem;
  letter-spacing: .14em;
}



/* v8 - Hero fold optimization */
@media (min-width: 1101px) {
  h1 {
    font-size: clamp(3.15rem, 4.55vw, 4.45rem);
    line-height: .99;
    max-width: 810px;
  }
}


/* v10 - Hero headline final balance */
@media (min-width: 1101px) {
  h1 {
    font-size: clamp(3rem, 4.35vw, 4.35rem);
    line-height: 1;
    max-width: 640px;
  }
}
