*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open,body.modal-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
a{color:inherit;text-decoration-thickness:.09em;text-underline-offset:.22em}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
p,h1,h2,h3,h4,figure,dl,dd{margin:0}
h1,h2{text-wrap:balance}
ul{margin:0;padding:0}
::selection{background:var(--orange-500);color:var(--forest-950)}
*{scrollbar-width:thin;scrollbar-color:var(--leaf-700) var(--ivory)}
*::-webkit-scrollbar{width:11px;height:11px}
*::-webkit-scrollbar-track{background:var(--ivory)}
*::-webkit-scrollbar-thumb{background:var(--leaf-700);border:3px solid var(--ivory);border-radius:20px}
:focus-visible{outline:3px solid var(--orange-500);outline-offset:4px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:12px 16px;background:var(--white);color:var(--forest-900);font-weight:700;border-radius:10px;transform:translateY(-150%);box-shadow:var(--shadow)}
.skip-link:focus{transform:none}
.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}
.section{padding:112px 0}
.section-title{font-family:var(--font-display);font-size:var(--type-section);font-weight:700;line-height:1.06;letter-spacing:-.02em;color:var(--forest-950);max-width:18ch}
.section-intro{margin-top:24px;color:#405247;font-size:clamp(1.04rem,1.7vw,1.2rem);font-weight:500;max-width:68ch}
.entry-content{font-size:1.05rem}
.entry-content>*{max-width:760px;margin-inline:auto}
.entry-content>.alignwide{max-width:1220px}
.entry-content>.alignfull{max-width:none}
.entry-content p,.entry-content ul,.entry-content ol{margin-top:1.2em}
.entry-content h2,.entry-content h3{margin-top:2em;margin-bottom:.65em;font-family:var(--font-display);color:var(--forest-950);line-height:1.12;letter-spacing:-.02em}
.entry-content h2{font-size:clamp(2rem,4vw,3rem)}
.entry-content h3{font-size:clamp(1.4rem,2.5vw,2rem)}

@media (max-width:760px){
  :root{--header:74px;--type-hero:clamp(2.35rem,10vw,3.15rem);--type-section:clamp(2rem,8.8vw,2.9rem);--type-section-compact:2.1rem}
  .container{width:min(100% - 28px,var(--container))}
  .section{padding:82px 0}
  .section-intro{font-size:1rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
