:root{--paper:#faf6ee;--paper-alt:#f3eddf;--ink:#2a2620;--muted:#6b6257;--green:#1e4d3b;--green-deep:#173d2f;--green-soft:#2e6b52;--green-lt:#e8f0e4;--green-bd:#d4e2cd;--green-on:#cbdcc4;--apricot:#f4a25e;--apricot-lt:#fdebdc;--apricot-ink:#9a5b22;--sand:#f7c89b;--line:#ede5d4;--card:#fff;--card-warm:#fbf9f4;--head:"Bricolage Grotesque", system-ui, -apple-system, sans-serif;--sans:"Instrument Sans", system-ui, -apple-system, sans-serif;--r:22px;--r-sm:14px;--sh-soft:0 24px 48px -28px #1e4d3b47;--sh-lift:0 30px 56px -30px #1e4d3b8c;--maxw:1180px;--section-y:clamp(60px, 9vw, 110px)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body,html{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}::selection{background:var(--apricot-lt);color:var(--ink)}:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{max-width:var(--maxw);width:100%;margin:0 auto;padding-inline:20px}.section{padding-block:var(--section-y)}.skip-link{z-index:300;background:var(--green);color:var(--paper);border-radius:999px;padding:12px 18px;font-size:14px;font-weight:700;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:12px}.eyebrow{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:13.5px;font-weight:700}.eyebrow--on-green{color:var(--sand)}.h2{font-family:var(--head);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(30px,4vw,46px);font-weight:800;line-height:1.08}.lead{color:var(--muted);margin:0;font-size:16.5px;line-height:1.6}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;display:flex}.section-head .h2{max-width:22ch}.section-head .lead{max-width:38ch}.section-head--center{text-align:center;flex-direction:column;align-items:center}.section-head--center .h2{max-width:24ch}.section-head--center .lead{max-width:54ch;margin-top:14px}.btn{min-height:54px;font-family:var(--sans);cursor:pointer;text-align:center;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding-inline:30px;font-size:16px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s,opacity .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--apricot);color:var(--ink);box-shadow:0 14px 28px -14px #f4a25ee6}.btn--ghost{background:var(--card);color:var(--ink);border:1.5px solid var(--line);padding-inline:26px;font-weight:600}.btn--ghost:hover{border-color:var(--green-bd)}.btn--green{background:var(--green);color:var(--paper)}.btn--green:hover{background:var(--green-deep)}.btn--soft{background:var(--green-lt);color:var(--green)}.btn--ink{background:var(--ink);color:var(--paper)}.btn--sm{min-height:42px;padding-inline:22px;font-size:15px}.btn[disabled]{opacity:.6;cursor:progress;transform:none}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}.pill{border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:700;display:inline-flex}.pill--green{background:var(--green-lt);color:var(--green);border:1px solid var(--green-bd)}.pill--apricot{background:var(--apricot-lt);color:var(--apricot-ink);padding:5px 12px;font-size:12px}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.grid-auto--sm{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-fit{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--ease-out:cubic-bezier(.22, .61, .36, 1);--dur:.72s}.js .reveal{opacity:0;will-change:opacity,transform;transform:translateY(20px)}.js .reveal.is-visible{opacity:1;transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out);will-change:auto;transform:none}.js .reveal--left{transform:translate(-28px)}.js .reveal--right{transform:translate(28px)}.js .reveal--pop{transform:translateY(16px)scale(.97)}.js .rise{opacity:0;animation:bz-rise .85s var(--ease-out) both;animation-delay:var(--rise-delay,0s);transform:translateY(22px)}@keyframes bz-rise{to{opacity:1;transform:none}}.js .rise--soft{transform:translateY(14px)scale(.985)}@keyframes bz-float{0%,to{transform:translateY(0) rotate(var(--float-tilt,0deg))}50%{transform:translateY(-7px) rotate(var(--float-tilt,0deg))}}.js .float{animation:5.5s ease-in-out infinite bz-float}@keyframes bz-pulse{0%,to{opacity:1}50%{opacity:.35}}.js .pulse{animation:1.8s ease-in-out infinite bz-pulse}.js .grow{transform-origin:bottom;transform:scaleY(0)}.js .grow.is-visible{transition:transform .8s var(--ease-out);transform:scaleY(1)}.page-enter-active,.page-leave-active{transition:opacity .22s ease,transform .22s var(--ease-out)}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0}@media (prefers-reduced-motion:reduce){.js .grow,.js .reveal,.js .rise{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.js .float,.js .pulse{animation:none!important}}
