:root {
 color-scheme: dark;
 --bg: #0b0d0c;
 --surface: #131714;
 --surface-2: #1a201b;
 --text: #f3f5f1;
 --muted: #afb9af;
 --accent: #c0f568;
 --accent-hover: #d2ff8e;
 --line: #343e34;
 --error: #ffaaa3;
 --radius: 6px;
 --max-width: 1220px;
 --header-height: 88px;
 --space: clamp(64px, 9vw, 132px);
 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
 font-synthesis: none;
}
@supports (font-variant-alternates: stylistic(ss01)) {
 :root { font-family: 'Inter', 'Segoe UI', system-ui, sans-serif; }
}
* {
 box-sizing: border-box;
}
html {
 scroll-behavior: smooth;
 scroll-padding-top: 112px;
}
body {
 margin: 0;
 background: var(--bg);
 color: var(--text);
 line-height: 1.65;
 -webkit-font-smoothing: antialiased;
}
body.menu-open {
 overflow: hidden;
}
button,
input,
select,
textarea {
 font: inherit;
}

button,
a,
input,
select,
textarea,
summary {
 -webkit-tap-highlight-color: transparent;
}
button {
 cursor: pointer;
}
button:disabled {
 cursor: not-allowed;
}
a {
 color: inherit;
 text-decoration-thickness: 1px;
 text-underline-offset: 5px;
}
a:hover {
 color: var(--accent);
}
:focus-visible {
 outline: 3px solid var(--accent);
 outline-offset: 5px;
}
img {
 display: block;
 max-width: 100%;
 height: auto;
}
h1,
h2,
h3,
p,
ul,
ol,
figure {

 margin-top: 0;
}
h1,
h2,
h3 {
 line-height: 1.08;
 letter-spacing: -0.045em;
 overflow-wrap: break-word;
 text-rendering: optimizeLegibility;
 -webkit-font-smoothing: antialiased;
}
h1 {
 font-size: clamp(2.7rem, 6.2vw, 5.8rem);
 max-width: 1000px;
 margin-bottom: 28px;
}
h2 {
 font-size: clamp(2rem, 4vw, 3.8rem);
 margin-bottom: 24px;
}
h3 {
 font-size: clamp(1.25rem, 2vw, 1.6rem);
 margin-bottom: 16px;
}
p {
 margin-bottom: 20px;
}
p,
li {
 overflow-wrap: anywhere;
}
small {
 font-size: 0.82rem;
}
::selection {
 background: var(--accent);
 color: var(--bg);
}
.container {

 width: min(var(--max-width), calc(100% - 40px));
 margin-inline: auto;
}
.section {
 padding-block: var(--space);
 border-bottom: 1px solid var(--line);
}
.section--soft {
 background: var(--surface);
}
.section-heading {
 max-width: 790px;
 margin-bottom: 40px;
}
.section-heading p,
.lead {
 color: var(--muted);
 font-size: clamp(1.05rem, 1.7vw, 1.2rem);
}
.eyebrow {
 display: block;
 color: var(--accent);
 font-size: 0.73rem;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 0.16em;
 margin-bottom: 24px;
}
.muted {
 color: var(--muted);
}
.accent {
 color: var(--accent);
}
.grid {
 display: grid;
 gap: 20px;
}

.split {
 display: grid;
 gap: 40px;
 align-items: start;
}
.stack > * + * {
 margin-top: 24px;
}
.actions {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 16px;
 margin-top: 30px;
}
.actions > * {
 max-width: 100%;
}
.sr-only {
 position: absolute;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: -1px;
 overflow: hidden;
 clip-path: inset(50%);
 white-space: nowrap;
 border: 0;
}
.skip-link {
 position: fixed;
 left: 16px;
 top: -100px;
 z-index: 100;
 padding: 12px 20px;
 background: var(--accent);
 color: var(--bg);
}
.skip-link:focus {

 top: 12px;
}
@media (min-width: 640px) {
 .grid--2,
 .grid--3,
 .grid--4 {
   grid-template-columns: repeat(2, minmax(0, 1fr));
 }
}
@media (min-width: 960px) {
 .grid--3 {
   grid-template-columns: repeat(3, minmax(0, 1fr));
 }
 .grid--4 {
   grid-template-columns: repeat(4, minmax(0, 1fr));
 }
 .split {
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 72px;
 }
}
@media (prefers-reduced-motion: reduce) {
 html {
   scroll-behavior: auto;
 }
 *,
 *::before,
 *::after {
   animation: none !important;
   transition: none !important;
 }
}
