@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/manrope-cyrillic.8fc0aa17e129.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../fonts/manrope-latin.101877a7a906.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("../fonts/unbounded-cyrillic.4cfb17abc7db.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("../fonts/unbounded-latin.edd24a2b43a9.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --pine-950: #072a20;
  --pine-900: #0b3428;
  --pine-800: #103f2f;
  --pine-700: #15513d;
  --green-600: #07885a;
  --green-500: #10a86c;
  --green-400: #3bd28d;
  --lime-300: #d8ff43;
  --lime-200: #e6ff83;
  --mint-200: #a9dfb8;
  --sage-200: #bddbae;
  --sage-300: #a9cfa6;
  --cream-100: #eeeade;
  --cream-50: #f7f4ea;
  --white: #fff;
  --ink: #15201c;
  --muted: #64726b;
  --line: #d9ded9;
  --danger: #b42318;
  --font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: "Unbounded", "Manrope", sans-serif;
  --shell: 100%;
  --gutter: 0px;
  --edge: clamp(22px, 3.2vw, 58px);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --shadow: 0 12px 36px rgba(7, 42, 32, .08);
}

*, *::before, *::after { box-sizing: border-box; min-width: 0; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; margin: 0; min-width: 320px; color: var(--ink); background: var(--cream-50); font-family: var(--font); line-height: 1.5; text-rendering: optimizeLegibility; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3 { text-wrap: balance; }
p, li, dd { text-wrap: pretty; }
::selection { color: var(--pine-950); background: var(--lime-300); }
[hidden] { display: none !important; }

.shell { width: min(100%, var(--shell)); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: clamp(76px, 9vw, 144px); }

@media (max-width: 900px) {
  :root { --gutter: 20px; }
}

@media (max-width: 640px) {
  :root { --gutter: 16px; }
  h1, h2, h3 { hyphens: auto; overflow-wrap: anywhere; word-break: normal; }
}

.skip-link { position: fixed; top: 12px; left: 12px; z-index: 9999; padding: 12px 16px; color: var(--white); background: var(--pine-950); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--lime-300); outline-offset: 3px; }

.eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow span { color: var(--green-600); }
.eyebrow--light { color: rgba(255,255,255,.58); }
.eyebrow--light span { color: var(--lime-300); }

.button { display: inline-flex; min-height: 52px; max-width: 100%; align-items: center; justify-content: center; gap: 18px; padding: 13px 20px; border: 1px solid transparent; border-radius: 0; font-size: 13px; font-weight: 800; letter-spacing: .01em; text-decoration: none; cursor: pointer; transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease; }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 44px; padding: 10px 17px; }
.button--primary { color: var(--white); background: var(--pine-800); }
.button--primary:hover { background: var(--pine-950); }
.button--lime { color: var(--pine-950); background: var(--lime-300); }
.button--lime:hover { background: var(--lime-200); }
.button--outline { border-color: var(--pine-800); color: var(--pine-800); background: transparent; }
.button--outline:hover { color: var(--white); background: var(--pine-800); }
.button--ghost-light { border-color: rgba(255,255,255,.38); color: var(--white); background: transparent; }
.button--ghost-light:hover { border-color: var(--white); background: rgba(255,255,255,.08); }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: clamp(38px, 5vw, 72px); }
.section-heading h2 { margin: 0; font-family: var(--display); font-size: clamp(42px, 5.4vw, 80px); font-stretch: condensed; font-weight: 720; line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.section-heading > p { max-width: 470px; margin: 0 0 5px; color: var(--muted); font-size: clamp(16px, 1.4vw, 19px); }
.section-action { display: flex; justify-content: center; margin-top: 42px; }
.text-link { display: inline-flex; gap: 12px; align-items: center; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-weight: 750; text-decoration: none; white-space: nowrap; }

@media (max-width: 640px) {
  .section-heading { align-items: stretch; }
  .section-heading h2 { width: 100%; font-size: 34px; hyphens: auto; overflow-wrap: anywhere; }
}

[data-reveal] { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
