:root{
--paper:#F4F0E8; --paper-raised:#FBF8F2; --ink:#16201E; --ink-muted:#5B635F; --rule:#CFC6B6;
--leman:#3D5F5A; --on-leman:#F7F4EE; --leman-soft:#E3E9E4; --stone:#EAE4D9; --seal:#9E3B26; --on-seal:#FBF8F2;
--serif:"Newsreader","Iowan Old Style",Georgia,serif;
--sans:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
--s1:4px; --s2:8px; --s3:16px; --s4:24px; --s5:40px; --s6:64px; --s7:104px;
--max:1200px;
}
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){
--paper:#121918; --paper-raised:#1A2321; --ink:#EEE8DD; --ink-muted:#A3A9A4; --rule:#2E3936;
--leman:#8DB0A9; --on-leman:#141A19; --leman-soft:#1F2826; --stone:#1C2322; --seal:#D9785E; --on-seal:#121918;
}
}
:root[data-theme="dark"]{
--paper:#121918; --paper-raised:#1A2321; --ink:#EEE8DD; --ink-muted:#A3A9A4; --rule:#2E3936;
--leman:#8DB0A9; --on-leman:#141A19; --leman-soft:#1F2826; --stone:#1C2322; --seal:#D9785E; --on-seal:#121918;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/28px var(--sans)}
img{max-width:100%;display:block}
a{color:var(--leman)}
:focus-visible{outline:2px solid var(--leman);outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--s4)}
@media (max-width:640px){.wrap{padding:0 var(--s3)}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.display{font:400 64px/68px var(--serif);letter-spacing:-0.01em;margin:0}
.headline{font:400 44px/50px var(--serif);margin:0}
.heading{font:500 28px/34px var(--serif);margin:0}
.lead{font:italic 400 21px/32px var(--serif);margin:0}
.title{font:500 18px/26px var(--sans);margin:0}
.small{font-size:14px;line-height:22px}
.label{font:500 12px/16px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.muted{color:var(--ink-muted)}
.prose p{margin:0 0 var(--s3)}
.prose h2{font:500 28px/34px var(--serif);margin:var(--s6) 0 var(--s3)}
.prose h2:first-child{margin-top:0}
.prose h3{font:500 18px/26px var(--sans);margin:var(--s5) 0 var(--s2)}
.prose ul{margin:0 0 var(--s3);padding:0;list-style:none}
.prose li{padding:var(--s2) 0 var(--s2) var(--s4);border-top:1px solid var(--rule);position:relative}
.prose li:last-child{border-bottom:1px solid var(--rule)}
.prose li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:1px;background:var(--leman)}
@media (max-width:760px){
.display{font-size:42px;line-height:46px}
.headline{font-size:32px;line-height:38px}
.heading,.prose h2{font-size:24px;line-height:30px}
}
.btn{display:inline-block;font:500 16px/24px var(--sans);text-decoration:none;padding:var(--s2) var(--s4);border-radius:2px;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--leman);color:var(--on-leman)}
.btn-seal{background:var(--seal);color:var(--on-seal)}
.btn-ghost{color:var(--ink);border-color:var(--rule);background:transparent}
.btn:hover{filter:brightness(1.08)}
.more{font:500 15px/24px var(--sans);color:var(--leman);text-decoration:none;display:inline-flex;gap:var(--s2);align-items:center}
.more::after{content:"→";transition:transform .2s}
.more:hover::after{transform:translateX(4px)}
header.site{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--rule)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);height:80px}
.brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none;color:var(--ink)}
.brand img{height:52px;width:auto}
.brand .sep{width:1px;height:32px;background:var(--rule)}
.menu{display:flex;gap:var(--s4);list-style:none;margin:0;padding:0;align-items:center}
.menu>li{position:relative}
.menu a{color:var(--ink);text-decoration:none;font-size:15px;padding:var(--s2) 0;display:inline-block}
.menu a:hover,.menu a[aria-current="page"]{color:var(--leman)}
.menu a[aria-current="page"]{box-shadow:inset 0 -1px 0 var(--leman)}
.sub{position:absolute;top:100%;left:calc(var(--s4) * -1);min-width:280px;list-style:none;margin:0;padding:var(--s2) 0;background:var(--paper-raised);border:1px solid var(--rule);display:none}
.menu>li:hover .sub,.menu>li:focus-within .sub{display:block}
.sub a{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);width:100%}
.sub a:hover{background:var(--paper)}
.sub svg{width:24px;height:24px;flex:none}
.nav-toggle{display:none;background:none;border:1px solid var(--rule);border-radius:2px;padding:var(--s2) var(--s3);font:500 15px/24px var(--sans);color:var(--ink);cursor:pointer}
@media (max-width:960px){
.brand .sep,.brand .label{display:none}
.nav-toggle{display:block}
.nav .cta{display:none}
.menu{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--rule);padding:var(--s2) var(--s3) var(--s4)}
.menu.open{display:flex}
.menu>li{border-top:1px solid var(--rule)}
.menu a{padding:var(--s3) 0;width:100%}
.sub{position:static;display:block;border:0;background:none;padding:0 0 var(--s2) var(--s3);min-width:0}
.sub a{padding:var(--s2) 0}
}
section{padding:var(--s7) 0}
@media (max-width:760px){section{padding:var(--s6) 0}}
.sec-head{display:flex;gap:var(--s3);align-items:baseline;border-top:1px solid var(--rule);padding-top:var(--s2);margin-bottom:var(--s6)}
.sec-head .num{color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s4)}
@media (max-width:900px){.grid{grid-template-columns:1fr}.grid>*{grid-column:auto !important}}
.page-hero{padding:var(--s6) 0 var(--s6);border-bottom:1px solid var(--rule)}
.crumbs{display:flex;gap:var(--s2);margin-bottom:var(--s5)}
.crumbs a{color:var(--ink-muted);text-decoration:none}
.crumbs a:hover{color:var(--leman)}
.page-hero .grid{align-items:end}
.page-hero .ph-text{grid-column:1 / span 8}
.page-hero .ph-text .lead{margin-top:var(--s4);color:var(--ink-muted);max-width:640px}
.page-hero .ph-icon{grid-column:10 / span 3;justify-self:end;color:var(--leman)}
.page-hero .ph-icon svg{width:120px;height:120px;stroke-width:1}
@media (max-width:900px){.page-hero .ph-icon{justify-self:start;order:-1}.page-hero .ph-icon svg{width:72px;height:72px}}
.ico{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hero{padding:var(--s7) 0 0}
.hero .grid{align-items:end}
.hero-text{grid-column:1 / span 7}
.hero-text .lead{margin-top:var(--s4);color:var(--ink-muted);max-width:560px}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
.hero-aside{grid-column:9 / span 4}
.meridians{margin-top:var(--s6);border-bottom:1px solid var(--rule)}
.meridian{display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:var(--s4);padding:var(--s3) 0;border-top:1px solid var(--rule)}
.meridian .city{font:400 24px/30px var(--serif)}
.meridian .line{position:relative;height:1px;background:var(--rule)}
.meridian .line::after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-radius:999px;background:var(--leman)}
.meridian:nth-child(1) .line::after{left:62%}
.meridian:nth-child(2) .line::after{left:44%}
.meridian:nth-child(3) .line::after{left:81%}
@media (max-width:640px){.meridian{grid-template-columns:1fr auto}.meridian .line{display:none}}
.areas{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.area{position:relative;display:flex;flex-direction:column;padding:var(--s5) var(--s4) var(--s4);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);min-height:360px;transition:background .25s,color .25s}
.area svg{width:64px;height:64px;color:var(--leman);margin-bottom:var(--s5);transition:color .25s}
.area .label{margin-bottom:var(--s2)}
.area p{margin:var(--s3) 0 var(--s4);font-size:15px;line-height:24px;color:var(--ink-muted)}
.area .more{margin-top:auto}
.area:hover{background:var(--leman-soft)}
@media (max-width:1024px){.areas{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.areas{grid-template-columns:1fr}.area{min-height:0}}
.area-row{display:grid;grid-template-columns:96px 1fr 1.4fr;gap:var(--s5);padding:var(--s6) 0;border-top:1px solid var(--rule)}
.area-row:last-child{border-bottom:1px solid var(--rule)}
.area-row svg{width:72px;height:72px;color:var(--leman)}
.area-row .lead{margin-top:var(--s3);color:var(--ink-muted);font-size:19px;line-height:28px}
.area-row p{margin:0 0 var(--s3)}
.area-row .tags{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0 var(--s4);padding:0;list-style:none}
.area-row .tags li{font:500 12px/16px var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule);padding:6px 10px;color:var(--ink-muted)}
@media (max-width:900px){.area-row{grid-template-columns:1fr;gap:var(--s3)}}
.detail{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s4)}
.detail .prose{grid-column:1 / span 7}
.detail aside{grid-column:9 / span 4}
.glance{position:sticky;top:112px;background:var(--paper-raised);padding:var(--s5) var(--s4)}
.glance ul{list-style:none;margin:var(--s3) 0 var(--s4);padding:0}
.glance li{padding:var(--s2) 0;border-top:1px solid var(--rule);font-size:15px;line-height:24px}
.glance li:last-child{border-bottom:1px solid var(--rule)}
@media (max-width:900px){.detail{grid-template-columns:1fr}.detail>*{grid-column:auto !important}.glance{position:static}}
.draft{background:var(--leman-soft);padding:var(--s3) var(--s4);font-size:14px;line-height:22px;margin-bottom:var(--s5)}
.related{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}
.related a{display:flex;gap:var(--s3);align-items:center;padding:var(--s4) var(--s4) var(--s4) 0;text-decoration:none;color:var(--ink);font:500 22px/28px var(--serif);border-right:1px solid var(--rule)}
.related a+a{padding-left:var(--s4)}
.related a:last-child{border-right:0}
.related a:hover{color:var(--leman)}
.related svg{width:40px;height:40px;color:var(--leman);flex:none}
@media (max-width:760px){.related{grid-template-columns:1fr}.related a,.related a+a{padding-left:0;border-right:0;border-bottom:1px solid var(--rule)}}
.who-portrait{grid-column:1 / span 4;margin:0}
.who-portrait img{width:100%;aspect-ratio:2/3;object-fit:cover;filter:saturate(.7) brightness(.86) contrast(1.05);background:var(--leman-soft)}
.who-portrait figcaption{margin-top:var(--s2)}
.who-text{grid-column:6 / span 7}
.who-text p{margin:0 0 var(--s3)}
.who-text .lead{margin-bottom:var(--s5)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-top:var(--s5);border-top:1px solid var(--rule);padding-top:var(--s4)}
.fact .n{font:400 56px/1 var(--serif);color:var(--leman)}
.fact .label{display:block;margin-top:var(--s2)}
@media (max-width:640px){.facts{grid-template-columns:1fr}}
.soft{background:var(--leman-soft)}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5) var(--s4)}
.pillars div{border-top:1px solid var(--ink-muted);padding-top:var(--s3)}
.pillars p{margin:var(--s2) 0 0;font-size:15px;line-height:24px}
@media (max-width:640px){.pillars{grid-template-columns:1fr}}
.quote{font:italic 400 28px/36px var(--serif);max-width:760px;margin:var(--s6) 0 0}
details{border-bottom:1px solid var(--rule)}
.faq-list{border-top:1px solid var(--rule)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s4);padding:var(--s4) 0;font:500 18px/26px var(--sans)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:400 24px/26px var(--serif);color:var(--ink-muted)}
details[open] summary::after{content:"–"}
details[open]{background:var(--paper-raised);margin:0 calc(var(--s4) * -1);padding:0 var(--s4)}
details p{margin:0;padding:0 0 var(--s4);max-width:640px}
.cta-band{background:var(--paper);color:var(--ink);padding:var(--s6) 0}
.cta-band .wrap>div{border-top:1px solid var(--ink);padding-top:var(--s4)}
.cta-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s4)}
.cta-band .headline{color:var(--ink);max-width:640px}
.cta-band .label{display:block;margin-bottom:var(--s3)}
.cta-band .btn{background:var(--leman);color:var(--on-leman)}
.offices{margin-top:var(--s5)}
.office{display:grid;grid-template-columns:1fr auto;gap:var(--s2);padding:var(--s3) 0;border-top:1px solid var(--rule)}
.office:last-child{border-bottom:1px solid var(--rule)}
.office address{font-style:normal;font-size:15px;line-height:24px;color:var(--ink-muted)}
.office .city{font:400 22px/28px var(--serif);color:var(--ink)}
.reach{margin-top:var(--s4);display:grid;gap:var(--s1)}
.reach a{color:var(--ink);text-decoration:none}
.reach a:hover{color:var(--leman)}
form.contact-form{background:var(--paper-raised);padding:var(--s5);display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);align-content:start}
@media (max-width:640px){form.contact-form{grid-template-columns:1fr;padding:var(--s4)}}
form .full{grid-column:1 / -1}
label{display:grid;gap:var(--s2)}
input,textarea,select{font:400 16px/24px var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:12px var(--s3);width:100%}
input:focus,textarea:focus,select:focus{outline:2px solid var(--leman);outline-offset:0;border-color:var(--leman)}
textarea{min-height:160px;resize:vertical}
.affil{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s5)}
footer.site .affil .label{margin:0;display:inline}
.affil-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s4)}
.affil-row img{height:40px;width:auto;mix-blend-mode:multiply;filter:saturate(.5) brightness(.82) contrast(1.05);transition:filter .2s}
.affil-row a:hover img{filter:saturate(.9) brightness(.95)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .affil-row img{mix-blend-mode:normal;background:#E6E0D4;padding:4px;border-radius:2px}}
:root[data-theme="dark"] .affil-row img{mix-blend-mode:normal;background:#E6E0D4;padding:4px;border-radius:2px}
footer.site{background:var(--stone);color:var(--ink);border-top:1px solid var(--rule);padding:var(--s6) 0 var(--s5)}
footer.site .label{display:block;margin-bottom:var(--s3)}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
footer.site a{color:var(--ink);text-decoration:none;font-size:15px}
footer.site a:hover{color:var(--leman)}
footer.site .fine{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3);font-size:13px;color:var(--ink-muted)}
header.site{top:env(safe-area-inset-top,0px)}
.wrap{padding-left:max(var(--s4),env(safe-area-inset-left,0px));padding-right:max(var(--s4),env(safe-area-inset-right,0px))}
@media (max-width:640px){.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
:root{color-scheme:light}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){color-scheme:dark}}
:root[data-theme="dark"]{color-scheme:dark}
.brand .logo{width:52px;height:52px;display:block;flex:none}
.brand .sep{display:none}
.brand-name{font:400 20px/1 var(--serif);color:var(--ink);white-space:nowrap}
.brand-name span{font-weight:500;letter-spacing:.04em;color:var(--leman)}
@media (max-width:960px){.brand-name{display:inline}}
@media (max-width:420px){.brand-name{font-size:17px}}
.spec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.spec article{border-top:2px solid var(--ink);padding-top:var(--s4);display:flex;flex-direction:column;gap:var(--s3)}
.spec p{margin:0;color:var(--ink-muted);font-size:16px;line-height:26px}
.spec .more{margin-top:auto}
@media (max-width:900px){.spec{grid-template-columns:1fr}}
.prose h2[id]{scroll-margin-top:110px}
.spec-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}
.spec-main article{border-top-width:3px}
.spec-main p{font-size:17px;line-height:28px}
.spec-sub{margin-top:var(--s6);padding:var(--s5) var(--s5) var(--s5);background:var(--paper-raised)}
.spec-sub>.label{display:block;margin-bottom:var(--s4)}
.spec-sub .spec{grid-template-columns:repeat(2,minmax(0,1fr))}
.spec-sub .spec article{border-top:1px solid var(--rule)}
@media (max-width:900px){.spec-main,.spec-sub .spec{grid-template-columns:1fr;gap:var(--s5)}.spec-sub{padding:var(--s4)}}
.hero-photo{position:relative;isolation:isolate;background-color:#1C2826;background-size:cover;background-position:center 40%;background-repeat:no-repeat;color:#F4F0E8;padding:var(--s7) 0 var(--s6)}
.hero-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(17,26,24,.9) 0%,rgba(17,26,24,.8) 60%,rgba(17,26,24,.7) 100%)}
.hero-photo .display{color:#F7F4EE}
.hero-photo .lead{color:#D9DED8}
.hero-photo .label,.hero-photo .small.muted,.hero-photo .muted{color:#BFC7C1}
.hero-photo .btn-ghost{color:#F7F4EE;border-color:rgba(247,244,238,.45)}
.hero-photo .btn-ghost:hover{border-color:#F7F4EE}
.hero-photo .meridians{border-bottom-color:rgba(247,244,238,.25)}
.hero-photo .meridian{border-top-color:rgba(247,244,238,.25)}
.hero-photo .meridian .city{color:#F7F4EE}
.hero-photo .meridian .line{background:rgba(247,244,238,.3)}
.hero-photo .meridian .line::after{background:#E79A82}
.hero-photo + section{padding-top:var(--s7)}
.hero-points{grid-column:1 / -1;list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.hero-points li{border-top:1px solid rgba(247,244,238,.35);padding-top:var(--s3);font:400 17px/26px var(--sans);color:#F4F0E8}
.hero-points .label{display:block;margin-bottom:var(--s1);color:#C9D1CB}
@media (max-width:760px){.hero-points{grid-template-columns:1fr;gap:var(--s3)}}
footer.site .foot-top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s6)}
.foot-id{display:inline-flex;align-items:center;gap:var(--s3);text-decoration:none}
footer.site .foot-id{color:var(--ink);font:400 20px/1.2 var(--serif)}
.foot-id strong{font-weight:500;color:var(--leman);letter-spacing:.04em}
.foot-logo{width:44px;height:44px;flex:none;display:block}
.foot-brand p{margin:var(--s3) 0 var(--s4);color:var(--ink-muted);max-width:340px;font-size:15px;line-height:24px}
.foot-reach{display:grid;gap:var(--s1)}
.foot-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}
.foot-offices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--rule)}
footer.site .foot-offices a{display:block;color:var(--ink-muted);font-size:14px;line-height:22px}
footer.site .foot-offices a:hover{color:var(--leman)}
footer.site .foot-offices .label{display:block;margin-bottom:var(--s1);color:var(--ink)}
footer.site .affil{margin-top:var(--s5)}
footer.site .fine a{font-size:13px;color:var(--ink-muted)}
@media (max-width:900px){footer.site .foot-top{grid-template-columns:1fr;gap:var(--s5)}}
@media (max-width:560px){.foot-nav,.foot-offices{grid-template-columns:1fr}}
.field-error{font-size:13px;line-height:18px;color:var(--seal);min-height:0}
.form-foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.form-thanks{grid-column:7 / span 6;background:var(--paper-raised);padding:var(--s5);font:italic 400 21px/32px var(--serif)}
.form-thanks p{margin:0 0 var(--s2)}
@media (max-width:900px){.form-thanks{grid-column:auto}}

@media (max-width:440px){.brand{gap:10px}.brand .logo{width:44px;height:44px}.brand-name{font-size:15px}.nav{gap:12px}.nav-toggle{padding:8px 12px}}

.lang-switch{font:500 12px/16px var(--mono);letter-spacing:.08em;color:var(--ink);text-decoration:none;border:1px solid var(--rule);border-radius:2px;padding:6px 8px;margin-left:auto}
.lang-switch:hover{border-color:var(--leman);color:var(--leman)}
@media (min-width:961px){.lang-switch{margin-left:0}}
@media (max-width:960px){.nav .lang-switch{order:2;margin-left:auto}.nav .nav-toggle{order:3}}
@media (max-width:440px){.nav .lang-switch{padding:6px 6px}}
