:root{--ease-out-expo:cubic-bezier(.16, 1, .3, 1)}@layer base{html:has(.site){interpolate-size:allow-keywords;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:96px}.site{background:var(--sand-100);color:var(--ink-700);font-family:var(--font-sans), Geist, system-ui, sans-serif;font-feature-settings:"kern" 1, "liga" 1;line-height:1.65}.site h1,.site h2,.site h3{font-family:var(--font-sans), Geist, system-ui, sans-serif;font-weight:var(--display-weight);letter-spacing:-.022em;color:var(--ink-900);text-wrap:balance;line-height:1.1}.site h4,.site h5,.site h6{font-family:var(--font-sans), Geist, system-ui, sans-serif;letter-spacing:-.012em;color:var(--ink-900);font-weight:600}.site a{color:inherit;text-decoration:none}.site :where(a,button,input,textarea,select,summary):not([class*=focus-visible\:ring],[class*=focus-visible\:shadow]):focus-visible{outline:2px solid var(--line);outline-offset:3px;border-radius:8px}.site ::selection{background:var(--forest-200);color:var(--forest-900)}.site ::placeholder{color:var(--ink-500)}.site :is(img,svg,video){max-width:100%;display:block}}@layer components{.shell{width:100%;max-width:1240px;padding-inline:calc(var(--spacing,.25rem) * 4);margin-inline:auto}@media (min-width:40rem){.shell{padding-inline:calc(var(--spacing,.25rem) * 8)}}@media (min-width:64rem){.shell{padding-inline:calc(var(--spacing,.25rem) * 12)}}.reveal{opacity:0;transition:opacity .8s var(--ease-out-expo), transform .8s var(--ease-out-expo);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(22px)}.reveal-scale{opacity:0;transition:opacity .9s var(--ease-out-expo), transform .9s var(--ease-out-expo);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(26px)scale(.975)}.reveal-in{opacity:1;will-change:auto;transform:translate(0)scale(1)}.step-in{animation:step-in .4s var(--ease-out-expo) both}.marquee-track{animation:marquee var(--motion-duration-marquee) linear infinite}.marquee-wrap:hover .marquee-track{animation-play-state:paused}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes step-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.reveal,.reveal-scale{opacity:1!important;transition:none!important;transform:none!important}.step-in,.marquee-track{animation:none!important}}