:root{--forest:#0D3B2E;--sage:#6B8E70;--gold:#D4AF37;--paper:#F7F5EF;--wash:#E8EEE6;--white:#FFFFFF;--ink:#152E25;--muted:#4C6055;--line:#C7D0C4;--hover:#174F3D;--active:#08291F;--light-muted:#D0DCD1;}
/* Direction B: forest/paper editorial system, public components only. */
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.1}
h1{font-size:clamp(44px,5.5vw,78px)}
h2{font-size:clamp(34px,3.6vw,52px)}
h3{font-size:clamp(25px,2.4vw,34px)}
p{max-width:65ch}p+p{margin-top:16px}
a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}
button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--forest);outline-offset:4px;box-shadow:0 0 0 7px var(--white)}
[hidden]{display:none!important}
.wrap{max-width:1248px;margin:auto;padding-inline:clamp(24px,5.6vw,88px)}
.section{padding-block:clamp(56px,7vw,104px)}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,80px)}
.split>*{min-width:0}
.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin-bottom:22px}
.lead{font-size:18px;line-height:1.7;margin-top:24px;max-width:47ch}
.muted{color:var(--muted)}.small,small{font-size:13px;line-height:1.6}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:32px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;gap:22px;border:1px solid var(--forest);border-radius:4px;background:var(--forest);color:var(--white);font-size:13px;font-weight:700;text-decoration:none}
.button:hover{background:var(--hover)}.button:active{background:var(--active)}
.button.gold{background:var(--gold);color:var(--forest);border-color:var(--gold)}.button.gold:hover{background:var(--paper)}
.textlink{display:inline-flex;align-items:center;min-height:44px;gap:12px;font-size:13px;font-weight:700}
.dark{background:var(--forest);color:var(--paper)}
.dark a:focus-visible,.dark button:focus-visible{outline-color:var(--gold);box-shadow:0 0 0 7px var(--forest)}
.white{background:var(--white)}.wash{background:var(--wash)}
.skip{position:fixed;top:-100px;left:24px;z-index:100;background:var(--white);padding:12px}.skip:focus{top:12px}
.site-head{border-bottom:1px solid var(--line)}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:108px}
.logo{display:block;flex-shrink:0;padding:18px 0}.logo img{display:block;width:230px;height:auto}
.site-head nav{display:flex;align-items:center;gap:28px}
.site-head nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:none}
.site-head nav a:hover,.site-head nav a[aria-current=page]{text-decoration:underline}.site-head nav a[aria-current=page]{font-weight:700}
.menu-toggle{display:none;min-height:44px;padding:9px 15px;background:transparent;border:1px solid var(--forest);color:var(--forest)}
.b-hero{padding-block:64px 76px;display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}
.b-hero>*{min-width:0}.b-hero h1{font-size:clamp(46px,5.5vw,78px);max-width:12ch}.b-hero h1 em{color:#426747}
.b-directory{padding:34px 36px 22px;position:relative;min-width:0}
.b-directory:before{content:'';position:absolute;right:30px;top:25px;width:64px;height:64px;border:1px solid var(--gold);border-radius:50%}
.b-directory .eyebrow{color:var(--gold);padding-right:80px}.b-directory h2{font-size:29px;max-width:13ch;margin-bottom:28px}
.b-directory a{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:69px;padding-block:12px;border-top:1px solid var(--sage);font-size:15px;text-decoration:none}.b-directory a:hover{text-decoration:underline}
.b-note{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.b-note .eyebrow{margin:0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:40px}.section-heading p{max-width:36ch;font-size:14px}
.service-row{display:grid;grid-template-columns:40px 1fr 1.1fr 24px;gap:24px;align-items:center;border-top:1px solid var(--line);padding-block:28px;text-decoration:none}
.service-row:last-child{border-bottom:1px solid var(--line)}.service-row h3{font-size:28px}.service-row p{font-size:14px;color:var(--muted)}.service-row:hover h3{text-decoration:underline;text-underline-offset:6px}
.num{font-size:12px;color:var(--muted)}.arrow{font-size:22px}
.cta-block{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:56px}.cta-block h2{font-size:clamp(32px,3.4vw,48px)}.cta-block .eyebrow{color:var(--light-muted)}
.detail-head{background:var(--wash);padding-block:52px}.detail-head .textlink{margin-bottom:24px}.detail-head h1{max-width:18ch}
.detail-main{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.detail-main>*{min-width:0}
.scope-list{list-style:none;margin:0;padding:0}.scope-list li{font-family:Georgia,serif;font-size:24px;line-height:1.35;border-top:1px solid var(--line);padding-block:20px}.scope-list li:last-child{border-bottom:1px solid var(--line)}
.detail-aside{background:var(--white);border:1px solid var(--line);padding:28px;margin-top:32px}.detail-aside p{margin-top:12px;font-size:14px}
.scope-boundary{font-size:14px;color:var(--muted);margin-top:24px}
.founder-portrait{display:block;width:200px;height:auto;max-width:100%;margin-top:24px}
.engagement-steps section+section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.engagement-steps h3{font-size:28px}.engagement-steps p{margin-top:12px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.contact-grid>*{min-width:0}
.contact-channels section+section{border-top:1px solid var(--line);margin-top:32px;padding-top:32px}.contact-channels h2{font-size:32px}.contact-channels a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;max-width:100%}.contact-channels address{font-style:normal;margin-top:24px;max-width:43ch}
.reading{max-width:760px}.reading h2{font-size:32px;margin-bottom:20px}.reading section+section{margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding-block:16px}summary{cursor:pointer;font-weight:700;min-height:44px;padding-block:10px}details p{margin-top:12px;padding-bottom:16px;color:var(--muted)}
.footer{padding-block:52px 24px}.footer-top{display:flex;justify-content:space-between;gap:48px}.footer-mark{max-width:100%;min-width:0}.footer img{width:340px;max-width:100%;height:auto;display:block}.footer-mark p{margin-top:22px;color:var(--light-muted)}
.footer nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:0 32px}.footer nav a{font-size:13px;display:flex;align-items:center;min-height:44px}.footer-bottom{margin-top:40px;padding-top:24px;border-top:1px solid var(--sage);display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--light-muted)}
@media(min-width:1600px){.wrap{max-width:1424px}}
@media(max-width:1000px){.b-hero{gap:40px}.b-directory{padding:28px}.contact-grid,.detail-main{gap:40px}.site-head nav{gap:20px}}
@media(max-width:740px){
.header-inner{flex-wrap:wrap;min-height:92px;gap:0;justify-content:space-between}.logo img{width:min(205px,calc(100vw - 160px))}
.site-head nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:20px}.site-head nav a{border-bottom:1px solid var(--line);padding-block:12px}
.js-ready .menu-toggle{display:block}.js-ready #main-nav:not(.is-open){display:none}
.b-hero,.split,.detail-main,.contact-grid{grid-template-columns:1fr;gap:36px}.b-hero{padding-block:44px}.b-hero h1{max-width:13ch}.b-directory h2{max-width:none;font-size:27px}
.b-note{grid-template-columns:1fr;gap:12px}.section-heading{display:block}.section-heading p{margin-top:24px}
.service-row{grid-template-columns:27px 1fr 24px;gap:12px;padding-block:24px}.service-row h3{font-size:25px}.service-row p{grid-column:2;grid-row:2}.service-row .arrow{grid-column:3;grid-row:1}
.cta-block{align-items:start;flex-direction:column}.footer-top,.footer-bottom{flex-direction:column}.footer nav{gap:0 24px}.detail-head{padding-block:40px}.detail-head h1{font-size:44px}.scope-list li{font-size:22px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
