@import "https://fonts.googleapis.com/css2?family=Jura:wght@300;400;500&family=Work+Sans:wght@400;500;600&family=Instrument+Serif&display=swap";
:root{--color-charcoal:#2c3e4a;--color-slate:#3d4f5f;--color-teal:#2a5d67;--color-stone:#8b9a8f;--color-mist:#e8ebe9;--color-warm-white:#fafbfa;--color-text-primary:var(--color-charcoal);--color-text-secondary:var(--color-slate);--color-text-tertiary:var(--color-stone);--color-accent:var(--color-teal);--color-background:var(--color-warm-white);--color-surface:white;--color-border:var(--color-mist);--color-teal-hover:#235249;--color-teal-light:#2a5d6714;--font-display:"Jura",sans-serif;--font-body:"Work Sans",sans-serif;--font-accent:"Instrument Serif",serif;--text-display:clamp(2.5rem,5vw + 1rem,4rem);--text-h1:clamp(2rem,3vw + 1rem,2.75rem);--text-h2:clamp(1.5rem,2vw + .75rem,2rem);--text-h3:clamp(1.125rem,1.5vw + .5rem,1.375rem);--text-body:clamp(1rem,.5vw + .875rem,1.125rem);--text-small:clamp(.875rem,.25vw + .75rem,.9375rem);--text-caption:.8125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--space-10:4rem;--space-12:5rem;--space-16:6rem;--space-20:8rem;--section-padding-y:clamp(5rem,12vh,10rem);--section-padding-x:clamp(1.5rem,5vw,4rem);--container-max:1200px;--container-narrow:720px;--container-text:600px;--ease-out-soft:cubic-bezier(.25,.1,.25,1);--ease-out-expo:cubic-bezier(.16,1,.3,1);--shadow-sm:0 1px 2px #2c3e4a0d;--shadow-md:0 4px 12px #2c3e4a14}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-body);color:var(--color-text-secondary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text-primary);line-height:1.2}a{color:var(--color-accent);text-decoration:none;transition:color .2s}a:hover{color:var(--color-teal-hover)}img{max-width:100%;height:auto;display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes revealLine{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}
