@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..600;1,9..144,300..500&family=Hanken+Grotesk:wght@400;500;600;700&display=swap";:root{--sand-50: #faf6ee;--sand-100: #f4ecdd;--sand-200: #ece0cb;--sand-300: #ddccae;--ink: #16211d;--ink-soft: #2f3d37;--ink-muted: #5c6a62;--ink-faint: #8a958d;--teal-deep: #0c5b53;--teal: #1f857a;--seaglass: #79c2b6;--seaglass-tint: #c8e6df;--coral: #e08456;--bg: var(--sand-50);--bg-alt: var(--sand-100);--surface: #fffdf8;--text: var(--ink);--text-soft: var(--ink-soft);--text-muted: var(--ink-muted);--accent: var(--teal-deep);--accent-bright:var(--teal);--line: #e3d8c4;--line-strong: #d3c4a8;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;--step--1: clamp(.84rem, .8rem + .18vw, .95rem);--step-0: clamp(1.04rem, .99rem + .24vw, 1.2rem);--step-1: clamp(1.25rem, 1.16rem + .45vw, 1.55rem);--step-2: clamp(1.55rem, 1.38rem + .85vw, 2.1rem);--step-3: clamp(1.95rem, 1.66rem + 1.45vw, 3.05rem);--step-4: clamp(2.45rem, 1.95rem + 2.5vw, 4.4rem);--step-5: clamp(3rem, 2.2rem + 4vw, 6rem);--measure: 38rem;--wide: 72rem;--gutter: clamp(1.25rem, .8rem + 2.2vw, 2.75rem);--section-y: clamp(4rem, 2.5rem + 6vw, 8.5rem);--radius: 14px;--radius-lg: 22px;--shadow-soft: 0 1px 2px rgba(22,33,29,.04), 0 8px 24px -12px rgba(22,33,29,.12);--shadow-lift: 0 2px 6px rgba(22,33,29,.05), 0 22px 48px -20px rgba(12,91,83,.22)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:6rem}body{font-family:var(--font-body);font-size:var(--step-0);line-height:1.65;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;background-image:radial-gradient(115% 70% at 8% -8%,#79c2b64d,#79c2b600 46%),radial-gradient(95% 55% at 100% 0%,#e084561a,#e0845600 40%),radial-gradient(120% 90% at 90% 110%,#1f857a1a,#1f857a00 50%);background-attachment:fixed}img,picture,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}::selection{background:var(--seaglass);color:var(--ink)}:focus-visible{outline:2.5px solid var(--accent-bright);outline-offset:3px;border-radius:3px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:380;line-height:1.06;letter-spacing:-.018em;color:var(--ink);font-optical-sizing:auto;text-wrap:balance}p{text-wrap:pretty}strong{font-weight:600;color:var(--ink)}em{font-style:italic}.wrap{width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter)}.wrap--narrow{max-width:50rem}.prose{max-width:var(--measure)}.center{margin-inline:auto}.eyebrow{font-family:var(--font-body);font-size:var(--step--1);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep);display:inline-flex;align-items:center;gap:.6em}.eyebrow:before{content:"";width:1.8rem;height:1px;background:currentColor;opacity:.6}.btn{--_bg: var(--ink);--_fg: var(--sand-50);font-family:var(--font-body);font-size:var(--step--1);font-weight:600;letter-spacing:.01em;display:inline-flex;align-items:center;gap:.55em;padding:.85em 1.5em;background:var(--_bg);color:var(--_fg);border-radius:100px;border:1px solid transparent;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,background .3s ease;will-change:transform}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.btn .arrow{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.btn:hover .arrow{transform:translate(4px)}.btn--accent{--_bg: var(--teal-deep);--_fg: #f3fbf8}.btn--ghost{--_bg: transparent;--_fg: var(--ink);border-color:var(--line-strong)}.btn--ghost:hover{background:var(--surface);border-color:var(--teal)}.link-underline{color:var(--teal-deep);font-weight:600;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-repeat:no-repeat;background-position:0 1.15em;transition:background-size .35s ease,color .25s ease;padding-bottom:1px}.link-underline:hover{color:var(--teal);background-size:100% 2px}.link-underline .arrow{transition:transform .3s ease;display:inline-block}.link-underline:hover .arrow{transform:translate(3px)}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease}.site-header[data-scrolled=true]{border-bottom-color:var(--line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.1rem}.brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:1.2rem;font-weight:450;letter-spacing:-.01em;color:var(--ink)}.brand__mark{width:26px;height:26px;flex:none}.nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.25rem);font-size:var(--step--1);font-weight:500}.nav a:not(.btn){color:var(--text-soft);transition:color .2s ease;position:relative}.nav a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1.5px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.nav a:not(.btn):hover{color:var(--ink)}.nav a:not(.btn):hover:after{transform:scaleX(1)}.nav__cta{padding:.6em 1.15em}.nav__links{display:contents}@media(max-width:720px){.nav__hide-sm{display:none}.nav__cta{padding:.55em 1em;font-size:.82rem}}.site-footer{border-top:1px solid var(--line);margin-top:var(--section-y);padding-block:clamp(2.5rem,5vw,4rem);font-size:var(--step--1);color:var(--text-muted)}.site-footer__inner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1.5rem 2rem}.site-footer a{color:var(--teal-deep);font-weight:600}.site-footer a:hover{color:var(--teal)}.site-footer__entity{font-style:italic;font-family:var(--font-display);color:var(--text-soft)}.site-footer__nav{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem}@media(prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.js .reveal.is-in{opacity:1;transform:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}hr.rule{border:none;height:1px;background:var(--line);margin-block:var(--section-y)}
