*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-sans);font-size:16px;line-height:1.65;color:var(--c-text);background:var(--c-white);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}

h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.15;letter-spacing:-0.015em;color:var(--c-black)}
h1{font-size:clamp(2.2rem,5.2vw,3.8rem);font-weight:700;letter-spacing:-0.025em}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}
h3{font-size:1.25rem;font-family:var(--font-sans);font-weight:600;letter-spacing:-0.01em}
h4{font-size:1rem;font-family:var(--font-sans);font-weight:600}
p{color:var(--c-muted)}
strong{color:var(--c-black);font-weight:600}

.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--space-md)}
.container-narrow{max-width:var(--maxw-narrow);margin:0 auto;padding:0 var(--space-md)}
section{padding:var(--space-2xl) 0}
section.alt{background:var(--c-cream)}
.section-head{max-width:680px;margin:0 auto var(--space-xl);text-align:center}
.section-head .eyebrow{display:inline-block;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--c-primary);font-weight:600;margin-bottom:var(--space-sm)}
.section-head p{margin-top:var(--space-md)}

.fade-up{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.fade-up.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
.fade-up{opacity:1;transform:none;transition:none}
html{scroll-behavior:auto}
*,*::before,*::after{animation-duration:0!important;transition-duration:0!important}
}

@media (max-width:767px){
section{padding:var(--space-xl) 0}
body{padding-bottom:72px}
}
