*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#F7F7F5}
body{font-family:Jost,system-ui,-apple-system,sans-serif;color:#5F6663;-webkit-font-smoothing:antialiased}
a{color:#3A5A55;text-decoration:none}
a:hover{color:#2E4A46}
header a,footer a{color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:1560px;margin:0 auto;padding:0 44px}
.narrow{max-width:1300px;margin:0 auto;padding:0 44px}
header{position:sticky;top:0;z-index:50;background:rgba(247,247,245,.94);backdrop-filter:blur(12px);padding:34px 44px 28px;border-bottom:1px solid transparent;transition:padding .4s cubic-bezier(.22,1,.36,1),border-color .4s ease;animation:up .9s cubic-bezier(.22,1,.36,1) both}
header.small{padding:16px 44px 14px;border-bottom-color:#E6E4DF}
.hrow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}
nav{display:flex;gap:30px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
nav.right{justify-content:flex-end}
nav a{color:#5F6663;padding-bottom:4px;background-image:linear-gradient(#2E4A46,#2E4A46);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .4s cubic-bezier(.22,1,.36,1),color .3s ease}
nav a:hover,nav a[aria-current]{color:#2E4A46;background-size:100% 1px}
.brandbox{position:relative;display:flex;align-items:center}
.brand{display:flex;align-items:center;gap:14px;transition:transform .4s cubic-bezier(.22,1,.36,1);transform-origin:center}
header.small .brand{transform:scale(.56)}
.brand img{height:52px;width:auto}
.brand span{font-size:52px;letter-spacing:.02em;color:#2E4A46;line-height:1}
.byline{position:absolute;left:100%;bottom:-2px;margin-left:12px;display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#9AA19C;transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}
header.small .byline{opacity:0;transform:translateY(6px)}
.byline b{width:44px;height:14px;border:1px solid #D5D9D6;display:flex;align-items:center;justify-content:center;font-size:6px;letter-spacing:.12em;color:#AEB4B0;font-weight:400}
.band{position:relative;overflow:hidden;background:#EFEDE8}
.band>i{position:absolute;left:0;right:0;top:-8%;bottom:-8%;background-position:center;background-repeat:no-repeat;background-size:cover;will-change:transform}
.lede{max-width:1080px;margin:84px auto;padding:0 44px;text-align:center;font-size:26px;line-height:1.7;font-weight:300;color:#5F6663;text-wrap:pretty}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.stat{text-align:center}
.stat b{display:block;font-size:82px;font-weight:600;line-height:1;color:#2E4A46;letter-spacing:-.02em}
.stat s{display:block;text-decoration:none;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#8D948F;margin-top:18px}
.pr{text-align:center}
.pr b{display:block;font-size:82px;font-weight:600;line-height:1;color:#2E4A46}
.pr s{display:block;text-decoration:none;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#8D948F;margin:18px 0 26px}
.pr p{font-size:15px;line-height:1.85;color:#6F7672;margin:0;text-wrap:pretty}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 34px}
.tile{cursor:pointer}
.tile .fr{position:relative;overflow:hidden;background:#EFEDE8}
.tile .fr>i{position:absolute;inset:0;background-position:center;background-repeat:no-repeat;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.tile:hover .fr>i{transform:scale(1.045)}
.tile em{display:block;font-style:normal;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#6F7672;margin-top:20px;transition:color .3s ease}
.tile:hover em{color:#2E4A46}
h1{font-size:46px;font-weight:600;color:#2E3330;letter-spacing:-.02em;margin:0 0 30px}
.eyebrow{text-align:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#6F7672;margin-bottom:44px}
.detail p.body{font-size:22px;line-height:1.8;font-weight:300;color:#5F6663;margin:56px auto 64px;max-width:78ch;text-wrap:pretty}
blockquote{margin:0 auto;max-width:62ch;border-left:1px solid #2E4A46;padding-left:26px}
blockquote p{font-size:20px;line-height:1.7;font-weight:300;font-style:italic;color:#3F4643;margin:0 0 14px;text-wrap:pretty}
blockquote footer{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8D948F}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:56px}
.member .fr{position:relative;aspect-ratio:1/1;overflow:hidden;background:#EFEDE8}
.member .fr>i{position:absolute;inset:0;background-repeat:no-repeat;background-size:cover}
.member h2{font-size:15px;font-weight:500;color:#3F4643;margin:22px 0 0}
.member h3{font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:#8D948F;margin:10px 0 0}
.member p{font-size:15px;line-height:1.8;color:#6F7672;margin:16px 0 0;text-wrap:pretty}
form{max-width:620px;display:grid;gap:26px}
label{display:grid;gap:9px}
label span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8D948F}
input,textarea{font-family:Jost,sans-serif;font-size:16px;color:#2E3330;background:transparent;border:0;border-bottom:1px solid #D5D9D6;padding:9px 0;outline:none;transition:border-color .3s ease}
textarea{line-height:1.7;resize:vertical}
input:focus,textarea:focus{border-bottom-color:#2E4A46}
button{font-family:Jost,sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#F7F7F5;background:#2E4A46;border:0;padding:15px 34px;cursor:pointer;transition:background .3s ease}
button:hover{background:#24403C}
footer.site{padding:44px 44px 54px;display:flex;justify-content:center;gap:30px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8D948F;border-top:1px solid #E6E4DF}
footer.site a{transition:color .3s ease}
footer.site a:hover{color:#2E4A46}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}
[data-reveal].in{opacity:1;transform:none}
@keyframes up{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
@keyframes heroIn{from{transform:scale(1.06);opacity:0}to{transform:scale(1);opacity:1}}
.heroIn{animation:heroIn 1.2s cubic-bezier(.22,1,.36,1) both}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}
@media (max-width:900px){
 .hrow{grid-template-columns:1fr;justify-items:center;gap:18px}
 nav,nav.right{justify-content:center}
 .byline{position:static;margin:8px 0 0}
 .cols,.grid,.pair{grid-template-columns:1fr}
 .tile{grid-column:auto!important}
 .lede{font-size:21px;margin:56px auto}
 .stat b,.pr b{font-size:60px}
 h1{font-size:34px}
 .detail p.body{font-size:19px}
 header,header.small{padding:20px 20px 16px}
 .wrap,.narrow,.lede{padding:0 20px}
}