:root{--green-700:#067f45;--green-600:#09a75c;--green-500:#0cd376;--green-400:#3ade91;--green-300:#6fe9ae;--teal-500:#00c9a3;--teal-400:#00e0b7;--teal-300:#4deed0;--mint-200:#8ff0c2;--mint-100:#a6f4bf;--mint-50:#d8fce8;--forest-950:#042a1d;--forest-900:#06241c;--forest-800:#0a3a2a;--neutral-0:#fff;--neutral-50:#f8fbf9;--neutral-100:#eef5f2;--neutral-200:#dfeae6;--neutral-300:#c6d5cf;--ink-900:#111;--ink-700:#313131;--ink-500:#566;--bg:var(--neutral-0);--bg-subtle:var(--neutral-0);--surface:var(--neutral-0);--surface-border:var(--neutral-200);--bg-dark:var(--forest-900);--bg-dark-2:var(--forest-950);--surface-dark:#ffffff0f;--border-dark:#ffffff24;--text:var(--ink-900);--text-muted:var(--ink-500);--text-on-dark:#fff;--text-on-dark-muted:#ffffffb3;--accent:var(--green-600);--accent-hover:var(--green-700);--accent-bright:var(--green-500);--accent-soft:var(--mint-50);--on-accent:var(--forest-950);--gradient-brand:linear-gradient(135deg, var(--green-500), var(--teal-400));--gradient-sheen:radial-gradient(120% 90% at 8% 0%, #ffffff6b 0%, #a6f4bf40 36%, transparent 70%);--gradient-text:linear-gradient(92deg, var(--green-600) 0%, var(--green-500) 48%, var(--teal-500) 100%);--glow-1:#0cd3768c;--glow-2:#00e0b759;--font-sans:var(--font-body), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-heading), var(--font-body), ui-sans-serif, system-ui, sans-serif;--font-chrome:var(--font-ui), var(--font-body), ui-sans-serif, system-ui, sans-serif;--fs-hero:clamp(38px, 6vw, 68px);--fs-section:clamp(34px, 4vw, 58px);--fs-case:clamp(26px, 2vw, 38px);--fs-service:clamp(19px, 1.5vw, 21px);--fs-lead:clamp(17px, 1.4vw, 20px);--fs-body:clamp(16px, 1.2vw, 18px);--fs-small:15px;--fs-eyebrow:12px;--container:1320px;--gutter:90px;--container-mobile:88%;--section-y:clamp(70px, 8vw, 90px);--section-y-lg:clamp(90px, 10vw, 120px);--header-h:157px;--logo-h:85px;--header-h-stuck:68px;--logo-h-stuck:40px;--radius-xs:8px;--radius-sm:10px;--radius:16px;--radius-lg:24px;--radius-pill:999px;--shadow-sm:0 2px 10px #042a1d0f;--shadow:0 14px 36px #042a1d1a;--shadow-lg:0 30px 70px #042a1d29;--ease-out:cubic-bezier(.2, .8, .2, 1);--dur:.35s}@media (max-width:1023px){:root{--header-h:84px;--logo-h:46px;--header-h-stuck:60px;--logo-h-stuck:36px}}
*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--fs-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.6}img,picture,video,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h6{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;font-weight:600;line-height:1.1}h5{font-family:var(--font-chrome);text-transform:uppercase;letter-spacing:2px;font-weight:700}nav a,label,button,select{font-family:var(--font-chrome)}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px;border-radius:4px}.container{width:min(var(--container), calc(100% - var(--gutter) * 2));margin-inline:auto}@media (max-width:999px){.container{width:var(--container-mobile)}}.section{padding-block:var(--section-y)}.accent-text{background:var(--gradient-text);color:#0000;-webkit-background-clip:text;background-clip:text}.eyebrow{border-radius:var(--radius-pill);font-size:var(--fs-eyebrow);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--mint-200);align-items:center;gap:10px;padding:10px 16px;font-weight:700;display:inline-flex}.eyebrow--on-dark{color:var(--mint-100);border-color:var(--border-dark);background:#ffffff0f}.skip-link{z-index:999;background:var(--accent);color:var(--on-accent);border-radius:0 0 var(--radius-sm) 0;padding:.75rem 1.25rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.reveal{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
