html, body {
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
}
/* =========================
   48/ GLOBAL DESIGN SYSTEM
   ========================= */

/* Root variables */
:root {
  /* Brand colors */
  --color-bg: #f5f7f9;
  --color-surface: #ffffff;
  --color-surface-soft: #f0f2f4;
  --color-border-subtle: #e1e5ea;

  --color-text-main: #111827;
  --color-text-soft: #6b7280;
  --color-text-muted: #9ca3af;

  --color-dark: #1e1e1e;  /* from moodboard */
  --color-navy: #0a1a2f;  /* from moodboard */
  --color-accent: #3b82f6;/* from moodboard – use sparingly */
  --color-light-gray: #e5ebec;
  --color-white: #ffffff;

  /* Radii */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 18px;
  --radius-pill: 999px;

  /* Shadows (very soft, Apple-ish) */
  --shadow-soft: 0 14px 40px rgba(15, 23, 42, 0.06);
  --shadow-subtle: 0 10px 30px rgba(0, 0, 0, 0.04);

  /* Typography */
  --font-heading: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  --text-xs: 11px;
  --text-sm: 13px;
  --text-base: 15px;
  --text-lg: 18px;
  --text-xl: 22px;
  --text-2xl: 28px;
  --text-3xl: 34px;
  --text-4xl: 44px;
  --text-5xl: 56px;

  /* Layout */
  --header-height: 76px;
  --page-max-width: 1120px;
  --section-y: 80px;
}

/* =========================
   RESET
   ========================= */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.6;
  color: var(--color-text-main);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

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

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

/* Remove default button styles */
button {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
}

/* =========================
   LAYOUT HELPERS
   ========================= */

.container {
  width: min(100% - 40px, var(--page-max-width));
  margin-inline: auto;
}


main.page {
  padding-top: calc(var(--header-height) + 10px);
  padding-bottom: 0;
  background-color: var(--color-navy);
}

/* Generic sections */
.section {
  padding-block: 48px; /* reduced from var(--section-y) (80px) to 48px */
}

.section--tight {
  padding-block: 56px;
}

.section--flush-top {
  padding-top: 0;
}

.section--dark {
  background: #050816;
  color: #f9fafb;
}

.section--soft {
  background: var(--color-surface-soft);
}

/* Stacked layout for headings + content */
.section-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 32px;
}

.section-eyebrow {
  font-size: var(--text-xs);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.section-title {
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  letter-spacing: 0.02em;
}

.section-subtitle {
  max-width: 520px;
  font-size: var(--text-sm);
  color: var(--color-text-soft);
}

.examples-subtitle {
  color: var(--color-white);
  font-size: var(--text-lg);
}

/* =========================
   TYPOGRAPHY
   ========================= */

h1, h2, h3, h4 {
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--color-text-main);
}

h1 {
  font-size: var(--text-5xl);
  line-height: 0.98;
}

h2 {
  font-size: var(--text-3xl);
  line-height: 1.06;
}

h3 {
  font-size: var(--text-xl);
  line-height: 1.14;
}

h4 {
  font-size: var(--text-lg);
}

p {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--color-text-soft);
}

/* Label-like tiny text */
.text-eyebrow {
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: var(--color-text-muted);
}

/* Muted body text */
.text-muted {
  color: var(--color-text-muted);
}

/* =========================
   RESPONSIVE TWEAKS
   ========================= */

@media (max-width: 720px) {
  :root {
    --section-y: 64px;
  }

  /* Keep content below header on mobile (but DO NOT affect body.page) */
  main.page {
    padding-top: calc(var(--header-height) + 10px);
  }

  /* Typography scaling */
  h1 {
    font-size: 34px;
  }
}
