*{box-sizing:border-box;margin:0}body{background:#F7F6F1;color:#171916;font:16px/1.6 Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}
:focus-visible{outline:2px solid #30473B;outline-offset:3px}.w{max-width:1280px;margin:auto;padding:0 clamp(20px,4vw,40px)}h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1}
h1{font-size:clamp(2.5rem,8vw,7rem);line-height:.95}h2{font-size:clamp(2rem,5vw,4rem)}.sec{padding:clamp(56px,9vw,110px) 0}.cream{background:#F1F0EA}.dark{background:#20231F;color:#F7F6F1}.green{background:#30473B;color:#F7F6F1}.sage{background:#DCE4DC}
header{position:sticky;top:0;z-index:50;background:#F7F6F1ee;border-bottom:1px solid #B9B7AE66;backdrop-filter:blur(8px)}header .w{display:flex;height:64px;align-items:center;justify-content:space-between}
.logo img{height:24px;width:auto}nav.d{display:flex;gap:22px;align-items:center;font-size:14px}nav.d a:hover{color:#30473B}.cta{background:#30473B;color:#F7F6F1!important;padding:9px 16px}.cta:hover{background:#171916}
#mb{display:none;background:none;border:0;font:inherit;cursor:pointer}#mm{display:none;position:fixed;inset:64px 0 0;background:#171916;color:#F7F6F1;padding:40px 20px;overflow:auto}#mm.o{display:block}#mm a{display:block;font:2.2rem 'DM Serif Display',serif;margin-bottom:18px}
@media(max-width:1100px){nav.d{display:none}#mb{display:block}}
.btn{display:inline-block;padding:12px 24px;font-size:14px;background:#30473B;color:#F7F6F1;transition:.2s}.btn:hover{background:#171916}.btn.l{background:#F7F6F1;color:#171916}.btn.l:hover{background:#DCE4DC}.btn.o{background:none;border:1px solid currentColor;color:inherit}.btn.o:hover{background:#F7F6F1;color:#171916}.btn::after{content:" →";display:inline-block;transition:transform .2s}.btn:hover::after{transform:translateX(4px)}.row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.ph{overflow:hidden;background:#DCE4DC}.ph img{transition:transform .7s}.ph:hover img{transform:scale(1.04)}
.hero{position:relative;min-height:calc(100dvh - 64px);display:flex;align-items:flex-end;color:#F7F6F1;overflow:hidden}.hero .ph{position:absolute;inset:0}.hero:before{content:"";position:absolute;inset:0;background:#171916a0;z-index:1}.hero .w{position:relative;z-index:2;padding-bottom:64px}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.list{border-top:1px solid #B9B7AE99;margin-top:36px;list-style:none;padding:0}.list li{border-bottom:1px solid #B9B7AE99}.list a{display:flex;gap:clamp(14px,3vw,40px);align-items:baseline;padding:26px 8px;transition:.25s}.list a:hover{background:#30473B;color:#fff}.list b{font:400 14px Inter;color:#B9B7AE;width:28px}.list span{flex:1;font:clamp(1.5rem,4vw,3rem) 'DM Serif Display',serif}.list i{font-style:normal;transition:transform .25s}.list a:hover i{transform:translateX(8px)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}.g5{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin-top:40px}.g3{display:grid;grid-template-columns:repeat(3,1fr)}.g4{display:grid;grid-template-columns:repeat(4,1fr)}
@media(max-width:800px){.g2,.g3,.g4{grid-template-columns:1fr}.g5{grid-template-columns:1fr 1fr}}
.m{border-top:1px solid #30473B;padding-top:14px}.m b{font:400 clamp(2.4rem,5vw,3.6rem) 'DM Serif Display',serif;display:block}.cell{border-bottom:1px solid #B9B7AE99;padding:22px 12px 22px 0}.stone{color:#B9B7AE}
footer{background:#171916;color:#F7F6F1;padding:64px 0 0}footer .g4{gap:40px}footer li{list-style:none;color:#B9B7AE;font-size:14px;margin-top:8px}footer ul{padding:0}footer h3{font-size:1.3rem}footer form{display:flex;margin-top:14px}footer input{flex:1;min-width:0;background:none;border:1px solid #B9B7AE80;color:#fff;padding:9px}footer button{background:#F7F6F1;border:0;padding:0 16px}.fb{border-top:1px solid #B9B7AE40;margin-top:48px;padding:18px;text-align:center;font-size:12px;color:#B9B7AE}
form.c{display:grid;gap:18px;max-width:640px}form.c label{display:grid;gap:4px;font-size:14px}form.c input,form.c textarea{border:1px solid #B9B7AE;background:#FBFAF7;padding:12px;font:inherit}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}