:root{--ink:#5a1119;--paper:#f6f0e7;--stone:#ebe2d4;--line:#d8cab6;--muted:#7b6258;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Jost','Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.nav{position:fixed;inset:0 0 auto 0;z-index:20;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,56px);background:rgba(246,240,231,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav__brand{display:flex;align-items:center;gap:16px;font-size:15px;letter-spacing:.32em;font-weight:400}
.nav__brand img{height:40px;width:auto}
.nav__name{display:flex;flex-direction:column;line-height:1.2}
.nav__name b{font-weight:400}
.nav__name small{font-size:9.5px;letter-spacing:.42em;margin-top:4px;color:var(--muted)}
.nav__menu{display:flex;align-items:center;gap:clamp(22px,3vw,42px);font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.nav__menu a{padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s}
.nav__menu a:hover,.nav__menu a.is-cur{border-color:var(--ink)}
.nav__menu .nav__cta{background:var(--ink);color:var(--paper);padding:11px 26px;border:1px solid var(--ink)}
.nav__menu .nav__cta:hover{background:transparent;color:var(--ink)}
.nav__menu .nav__cta.is-cur{border-color:var(--ink)}
.nav__toggle{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;position:relative}
.nav__toggle span{position:absolute;left:8px;right:8px;height:1px;background:var(--ink);transition:transform .25s,top .25s}
.nav__toggle span:first-child{top:15px}.nav__toggle span:last-child{top:24px}
.nav__toggle[aria-expanded="true"] span:first-child{top:20px;transform:rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:last-child{top:20px;transform:rotate(-45deg)}
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;background:var(--ink);color:var(--paper);padding:140px 0 90px;position:relative;overflow:hidden}
.hero__mark{position:absolute;right:-6%;bottom:-8%;width:min(760px,90vw);opacity:.07;pointer-events:none}
.hero__in{position:relative}
.hero .eyebrow{color:#cdb9a0}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,7vw,92px);line-height:1.05;letter-spacing:-.01em}
.hero__lead{max-width:540px;margin:30px 0 40px;font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);line-height:1.5;color:#e3d6c3}
.hero__btns{display:flex;flex-wrap:wrap;gap:16px}
.btn{display:inline-block;border:1px solid var(--ink);padding:14px 34px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;transition:background .25s,color .25s;background:transparent;color:var(--ink)}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn--ghost{border-color:#9a6a6e;color:var(--paper)}
.btn--ghost:hover{background:#eadfce;color:var(--ink);border-color:#eadfce}
.pagehead{padding:160px 0 56px;border-bottom:1px solid var(--line)}
.pagehead h1{font-family:var(--serif);font-weight:500;font-size:clamp(38px,6vw,72px);line-height:1.08}
.more{display:inline-block;margin-top:14px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px}
.cta{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.agroups{display:grid;grid-template-columns:1fr 1fr;gap:56px clamp(40px,8vw,110px)}
.agroup h3{font-family:var(--serif);font-weight:500;font-size:30px;padding-bottom:14px;border-bottom:1px solid var(--ink);margin-bottom:6px}
.agroup ul{list-style:none}
.agroup li{padding:14px 0;border-bottom:1px solid var(--line);font-size:18px;color:#3b2325}
.empty{padding:40px 0;text-align:left}
.empty p{font-family:var(--serif);font-size:28px;margin-bottom:28px}
.footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:0 0 22px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.footer__nav a:hover{color:#fff}
.areas a:hover{text-decoration:underline}
.values{margin-top:56px;display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(40px,8vw,110px)}
.value{padding:28px 0;border-top:1px solid #7a2b32}
.value h3{font-family:var(--serif);font-weight:500;font-size:28px;margin-bottom:8px}
.value p{color:#e3d6c3;font-size:17px;max-width:460px}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px}
.pcard{display:block}
.pcard__img{aspect-ratio:16/9;overflow:hidden;background:var(--stone);margin-bottom:18px}
.pcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pcard:hover .pcard__img img{transform:scale(1.04)}
.pcard__date{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.pcard h3{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.2;margin:6px 0 10px}
.pcard__ex{font-size:16px;color:#3b2325;margin-bottom:6px}
#blog-more{margin-top:48px}
.post{max-width:760px}
.post__meta{margin-top:12px;color:var(--muted);font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.post__cover{width:100%;margin-bottom:40px}
.post__body{font-size:19px;color:#3b2325}
.post__body p,.post__body ul,.post__body ol,.post__body blockquote,.post__body figure{margin-bottom:22px}
.post__body h2,.post__body h3,.post__body h4{font-family:var(--serif);font-weight:500;color:var(--ink);line-height:1.2;margin:36px 0 14px}
.post__body h2{font-size:36px}.post__body h3{font-size:28px}.post__body h4{font-size:22px}
.post__body ul,.post__body ol{padding-left:24px}
.post__body blockquote{border-left:2px solid var(--ink);padding-left:20px;font-family:var(--serif);font-size:24px}
.post__body a{border-bottom:1px solid var(--ink)}
.post__body img{width:100%}
.post__body hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.gcover{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;height:100%;aspect-ratio:16/9;background:var(--ink);color:#cdb9a0;overflow:hidden;text-align:center;padding:0 16px}
.gcover::after{content:"";position:absolute;inset:10px;border:1px solid #7a2b32;pointer-events:none}
.gcover img{width:22%;max-width:110px;height:auto;opacity:.92}
.gcover span{font-size:11px;letter-spacing:.3em;text-transform:uppercase;line-height:1.5}
.post__cover.gcover{margin-bottom:32px;height:auto;aspect-ratio:auto;flex-direction:row;justify-content:space-between;align-items:center;gap:20px;padding:16px 26px;text-align:left}
.post__cover.gcover::after{inset:5px}
.post__cover.gcover img{width:40px;max-width:40px;flex:none}
.gcover__brand{display:flex;align-items:center;gap:14px;min-width:0}
.gcover__nm{display:flex;flex-direction:column;line-height:1.2;text-align:left}
.gcover__nm b{font-weight:400;font-size:13px;letter-spacing:.3em;color:#eadfce;white-space:nowrap}
.gcover__nm small{font-size:8px;letter-spacing:.42em;margin-top:4px;color:#b79f88;white-space:nowrap}
.post__cover .gcover__area{font-size:12px;letter-spacing:.24em;text-align:right;color:#eadfce;text-transform:uppercase;line-height:1.4}
@media (max-width:560px){.post__cover.gcover{padding:14px 18px;gap:12px}.post__cover.gcover img{width:30px;max-width:30px}.gcover__brand{gap:10px}.gcover__nm b{font-size:10px;letter-spacing:.2em}.gcover__nm small{display:none}.post__cover .gcover__area{font-size:10px;letter-spacing:.14em}}
.section{padding:clamp(72px,11vw,140px) 0}
.section--dark{background:var(--ink);color:var(--paper)}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;margin-bottom:20px;color:var(--muted)}
.section--dark .eyebrow{color:#cdb9a0}
h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5vw,56px);line-height:1.12;letter-spacing:-.005em}
.grid{display:grid;gap:48px}
.grid--2{grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,110px);align-items:start}
.prose p{font-size:18px;color:#3b2325;margin-bottom:20px}
.muted{margin-top:22px;color:#cdb9a0;font-size:17px;max-width:380px}
.areas{list-style:none;margin-top:56px;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(40px,8vw,110px)}
.areas li{display:flex;align-items:baseline;gap:22px;padding:20px 0;border-bottom:1px solid #7a2b32;transition:padding-left .3s}
.areas li:nth-child(-n+2){border-top:1px solid #7a2b32}
.areas li:hover{padding-left:14px}
.areas span{font-size:12px;letter-spacing:.2em;color:#c3a98f;min-width:28px}
.areas h3{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2.3vw,26px);line-height:1.25}
.team{margin-top:56px;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,5vw,64px)}
.team__frame{background:var(--stone);margin-bottom:22px;overflow:hidden}
.team__photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 18%;mix-blend-mode:multiply}
.team__photo--lift{filter:brightness(1.13)}
.team h3{font-family:var(--serif);font-weight:500;font-size:28px}
.team p{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.contact>div{padding:22px 0;border-bottom:1px solid #7a2b32}
.contact>div:first-child{border-top:1px solid #7a2b32}
.contact dt{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:#cdb9a0;margin-bottom:6px}
.contact dd{font-family:var(--serif);font-size:24px;line-height:1.35}
.contact dd a{border-bottom:1px solid transparent;transition:border-color .2s}
.contact dd a:hover{border-color:#cdb9a0}
.contact .btn{margin-top:30px;padding:14px 34px}
.btn--light{border-color:var(--paper);color:var(--paper)}
.btn--light:hover{background:var(--paper);color:var(--ink)}
.cform{margin-top:36px;max-width:440px}
.cform__f{display:block;margin-bottom:22px}
.cform__f span{display:block;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#cdb9a0;margin-bottom:6px}
.cform input,.cform textarea{width:100%;font:inherit;font-size:17px;font-weight:300;color:var(--paper);background:transparent;border:0;border-bottom:1px solid #9a6a6e;padding:8px 0;border-radius:0;outline:0;transition:border-color .2s}
.cform textarea{resize:vertical;min-height:110px}
.cform input::placeholder{color:#a98a7f}
.cform input:focus,.cform textarea:focus{border-bottom-color:#eadfce}
.cform [aria-invalid="true"]{border-bottom-color:#f0b4a8}
.cform em{display:block;min-height:0;font-style:normal;font-size:13px;color:#f0b4a8;margin-top:4px}
.cform__note{font-size:13px;color:#cdb9a0;margin-bottom:18px}
.cform__err{font-size:14px;color:#f0b4a8;margin-bottom:14px}
.cform .btn{margin-top:0;cursor:pointer;font-family:inherit;background:transparent}
.cform .btn:hover{background:#eadfce;color:var(--ink)}
.cform .btn:disabled{opacity:.5;cursor:default}
.cform__ok{font-family:var(--serif);font-size:22px;line-height:1.4;color:var(--paper)}
.cform.is-done .cform__f,.cform.is-done .cform__note,.cform.is-done .cform__err,.cform.is-done .btn{display:none}
.footer{text-align:center;padding:56px 24px 48px;background:#3f0a10;color:#e3d6c3;font-size:14px}
.footer img{margin:0 auto 20px;height:34px;width:auto;opacity:.9}
.footer__brand{font-size:13px;letter-spacing:.32em;color:#eadfce;margin-bottom:18px}
.footer__brand small{display:block;font-size:9px;letter-spacing:.42em;margin-top:5px;color:#b79f88}
.footer__note{max-width:560px;margin:14px auto 0;font-size:12px;line-height:1.6;color:#b79f88}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero__scroll span{animation:none}html{scroll-behavior:auto}}
@media (max-width:1000px){.posts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){
.nav__toggle{display:block}
.nav__menu{position:fixed;top:84px;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .35s ease}
.nav__menu.open{max-height:420px}
.nav__menu a{padding:18px 24px;border-top:1px solid var(--line);border-bottom:0;width:100%}
.nav__menu .nav__cta{border:0;border-top:1px solid var(--line);padding:18px 24px;text-align:left}
.nav{height:72px}.nav__menu{top:72px}
.nav__brand{font-size:12px;letter-spacing:.22em}
.nav__brand img{height:32px}
.nav__name small{font-size:7px;letter-spacing:.32em}
.grid--2{grid-template-columns:1fr}
.team{grid-template-columns:1fr 1fr;gap:16px}
.team h3{font-size:21px}
.team p{font-size:10px;letter-spacing:.16em}
.areas{grid-template-columns:1fr}
.agroups{grid-template-columns:1fr}
.values{grid-template-columns:1fr}
.posts{grid-template-columns:1fr}
.hero{padding:120px 0 70px}
.pagehead{padding:130px 0 40px}
.areas li:nth-child(2){border-top:0}
.areas li{gap:16px;padding:18px 0}
.areas h3{font-size:21px}
}
.agroup h3 .agroup__n{font-family:var(--sans);font-size:12px;letter-spacing:.2em;color:var(--muted);margin-right:10px;vertical-align:middle}
.agroup li a{display:block;transition:padding-left .25s}
.agroup li a:hover{padding-left:10px;text-decoration:underline}
.areas__sub{font-size:15px;color:#c3a98f;margin-top:6px;line-height:1.5}
.section--stone{background:var(--stone)}
.aitems{list-style:none;margin-top:40px;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(40px,8vw,110px)}
.aitems li{padding:16px 0;border-bottom:1px solid var(--line);font-size:18px;color:#3b2325}
.prose .btn{margin-top:10px}
.faq__list{margin-top:36px;max-width:820px}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-weight:500;font-size:clamp(21px,2.4vw,26px);line-height:1.3;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-weight:300;font-size:26px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:12px;font-size:18px;color:#3b2325;max-width:700px}
.faq__note{margin-top:24px;font-size:14px;color:var(--muted)}
#area-posts{margin-top:44px}
.sibs{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px 28px}
@media (max-width:820px){.aitems{grid-template-columns:1fr}}
.cv__lead{margin-top:28px;max-width:760px}
.cv__grid{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:48px clamp(40px,8vw,110px);align-items:start}
.cv__wide{grid-column:1/-1}
.cv h3{font-family:var(--serif);font-weight:500;font-size:28px;padding-bottom:12px;border-bottom:1px solid var(--ink);margin:0 0 6px}
.cv__col>h3:not(:first-child){margin-top:40px}
.cv__item{padding:16px 0;border-bottom:1px solid var(--line)}
.cv__item b{display:block;font-weight:400;font-size:18px;line-height:1.35;color:var(--ink)}
.cv__item small{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:3px 0 0;line-height:1.5}
.cv__item p{font-size:16px;color:#3b2325;margin-top:8px}
@media (max-width:820px){.cv__grid{grid-template-columns:1fr}}

.footer__in{text-decoration:underline;text-underline-offset:3px;color:#eadfce}