@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  --bg: #faf9f7;
  --surface: #ffffff;
  --ink: #16181d;
  --ink-2: #4b5160;
  --ink-3: #80869a;
  --line: #e6e4df;
  --accent: #003B5C;
  --accent-ink: #002944;
  --accent-soft: #e5edf2;
  --good: #43B763;
  --good-ink: #2d7d45;
  --font-head: "Jost", "Futura PT", Arial, sans-serif;
  --font-body: "Manrope", "Avenir Next LT Pro", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: var(--font-head); letter-spacing: -0.015em; text-wrap: balance; }
p { text-wrap: pretty; }
img { max-width: 100%; }
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] > summary .faq-icon { transform: rotate(45deg); display: inline-block; }

input[type=range] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: var(--line);
  outline: none;
  cursor: pointer;
  accent-color: var(--accent);
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--accent);
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
  cursor: grab;
}

@media (max-width: 900px) {
  .hero-grid, .paths, .who-grid, .foot-grid, .feat-grid { grid-template-columns: 1fr !important; }
  .nav-links { display: none !important; }
  .h1resp { font-size: 38px !important; }
  .grid2, .grid3, .two, .prov-grid { grid-template-columns: 1fr !important; }
  .stat-row { grid-template-columns: 1fr 1fr !important; }
}
