@font-face{font-family:"Source Serif 4";src:url("/fonts/source-serif-4-latin-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("/fonts/source-serif-4-latin-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url("/fonts/inter-latin-variable.woff2") format("woff2");font-style:normal;font-weight:400 600;font-display:swap}

:root{--navy:#1b365d;--navy-deep:#152c4b;--slate:#4a5568;--lake:#5f7f8c;--lake-pale:#a8bdc5;--teal:#1f766c;--brass:#a6822f;--paper:#f4f1e9;--white:#fff;--ink:#2b2d42;--line:#d7d8d0;--serif:"Source Serif 4",Charter,Georgia,serif;--sans:Inter,"Avenir Next","Segoe UI",sans-serif;--max:1256px;--gutter:48px;--ease:cubic-bezier(.2,.65,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:#d9e5df;color:var(--navy)}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
:focus-visible{outline:3px solid var(--teal);outline-offset:6px}
img{display:block;max-width:100%;height:auto}
svg{flex:none;width:24px;height:24px}
p,h1,h2,h3,ol,ul{margin-top:0}
p{margin-bottom:22px}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--navy);line-height:1.12;letter-spacing:-.028em;text-wrap:balance}
h1{font-size:clamp(44px,4.85vw,64px);margin-bottom:28px}
h2{font-size:clamp(32px,3.15vw,44px);margin-bottom:26px}
h3{font-size:28px;margin-bottom:18px;line-height:1.18}
em{font-weight:400;color:var(--lake)}
.wrap{width:min(var(--max),calc(100% - var(--gutter)*2));margin-inline:auto}
.section{padding-block:112px}
.eyebrow{display:flex;align-items:center;gap:15px;color:var(--slate);font:600 12px/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:24px}
.eyebrow>span:first-child:not(.small-rule){color:var(--lake);font-weight:400;letter-spacing:0}
.small-rule{width:30px;height:1px;background:var(--brass);display:inline-block}
.lead{font-size:18px;line-height:1.7;color:var(--slate);max-width:560px}
.body-large{font-size:20px;line-height:1.65;color:var(--navy)}
.button{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:14px 23px;background:var(--teal);color:white;text-decoration:none;border:1px solid var(--teal);font-weight:500;font-size:14px;line-height:1.5;cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease);border-radius:0}
.button:hover{background:#195e57;border-color:#195e57}
.button svg,.text-link svg{width:22px;height:22px;transition:transform .2s var(--ease)}
.button:hover svg,.text-link:hover svg{transform:translateX(4px)}
.button--small{font-size:13px;min-height:48px;padding:11px 17px;gap:18px}
.text-link{display:inline-flex;align-items:center;gap:22px;color:var(--teal);font-size:14px;font-weight:500;text-decoration:none;min-height:44px;border-bottom:1px solid var(--teal);padding-block:8px}
.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:32px}
.skip-link{position:absolute;left:20px;top:-100px;padding:14px 20px;background:var(--white);color:var(--navy);z-index:10}
.skip-link:focus{top:16px}
.preview-notice{background:var(--navy);color:var(--paper);text-align:center;padding:8px 20px;font-size:12px;line-height:1.7}
.preview-notice span{margin-inline:9px}
.site-header{background:var(--paper);position:relative;z-index:5}
.header-inner{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);height:164px;gap:32px}
.brand{display:block;position:relative;width:360px;height:160px;flex-shrink:0;text-decoration:none}
.desktop-brand{width:360px;max-width:none;height:216px;position:absolute;left:0;top:50%;transform:translateY(-50%)}
.mobile-brand{display:none}
.site-nav{display:flex;gap:31px;align-items:center}
.site-nav>a:not(.button){font-size:14px;color:var(--navy);text-decoration:none;white-space:nowrap;min-height:44px;display:flex;align-items:center;border-bottom:1px solid transparent;transition:border-color .2s}
.site-nav>a:not(.button):hover,.site-nav>a[aria-current="page"]{border-color:var(--teal)}
.menu-toggle{display:none}
.home-hero{display:grid;grid-template-columns:1.04fr 1fr;gap:80px;padding-block:64px 72px;align-items:center}
.hero-copy{padding-block:15px}
.hero-copy .lead{max-width:520px}
.hero-location{margin:37px 0 0;color:var(--slate);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.hero-location span{margin-inline:14px;color:var(--brass)}
.hero-visual{align-self:stretch;display:flex;flex-direction:column;min-height:494px}
.image-frame{position:relative;flex:1;min-height:450px;overflow:hidden;background:var(--lake);border-top:3px solid var(--brass)}
.image-frame picture,.image-frame img{width:100%;height:100%;position:absolute;inset:0}
.image-frame img{object-fit:cover;object-position:52% center;animation:image-arrive 1.2s var(--ease) both}
.image-index{position:absolute;bottom:20px;left:24px;color:white;letter-spacing:.14em;text-transform:uppercase;font-size:11px;line-height:1.5;text-shadow:0 1px 3px #1b365d}
.image-caption{display:flex;justify-content:space-between;gap:20px;padding-top:13px;color:var(--slate);font-size:11px;letter-spacing:.035em}
.principle-strip{background:var(--navy);color:var(--paper)}
.principle-strip>.wrap{display:grid;grid-template-columns:repeat(3,1fr);min-height:90px;align-items:center}
.principle-strip span{text-align:center;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:5px 16px}
.principle-strip span+span{border-left:1px solid #536780}
.intro-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px}
.intro-grid>.eyebrow{align-self:start;margin-top:10px}
.intro-grid>div{max-width:720px}
.intro-grid h2{font-size:clamp(36px,3.5vw,48px)}
.intro-grid p:not(.eyebrow){max-width:650px}
.intro-grid .text-link{margin-top:8px}
.services-section{background:#fffefa;border-block:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:56px}
.section-heading h2{margin-bottom:0}
.section-heading>p{max-width:360px;margin:0 0 4px;color:var(--slate)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.service-card{border-top:1px solid var(--navy);padding:33px 35px 15px 0;display:flex;flex-direction:column;align-items:start}
.service-card+.service-card{border-left:1px solid var(--line);padding-left:35px}
.service-number{font-size:12px;color:var(--lake);margin-bottom:46px;letter-spacing:.08em}
.service-card h3{max-width:300px;min-height:66px}
.service-card p{max-width:280px;color:var(--slate);margin-bottom:38px}
.service-card .text-link{margin-top:auto}
.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:125px}
.approach-grid>div>p:not(.eyebrow){max-width:420px;color:var(--slate)}
.approach-grid .text-link{margin-top:14px}
.principle-list{list-style:none;padding:0;margin:0}
.principle-list li{display:grid;grid-template-columns:36px 1fr;gap:18px;padding-block:24px;border-top:1px solid var(--line)}
.principle-list li:first-child{padding-top:0;border:0}
.principle-list li>span{padding-top:7px;color:var(--lake);font-size:12px;letter-spacing:.07em}
.principle-list h3{margin-bottom:12px}
.principle-list p{color:var(--slate);margin-bottom:0}
.statement-band{background:var(--navy);padding-block:85px;text-align:center;color:var(--paper);overflow:hidden}
.statement-band .eyebrow{justify-content:center;color:#c7d4d9}
.statement{font-family:var(--serif);font-size:clamp(32px,4vw,52px);line-height:1.25;letter-spacing:-.02em;margin-bottom:33px}
.statement-rule{display:block;width:54px;height:1px;background:var(--brass);margin:auto}
.cta-section{padding-block:95px}
.cta-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:115px}
.cta-inner h2{margin-bottom:0}
.cta-inner>div+div>p{color:var(--slate);max-width:430px}
.site-footer{background:var(--navy-deep);color:#d4dce5;padding-block:40px 24px;font-size:14px}
.footer-grid{display:grid;grid-template-columns:1.1fr .6fr 1fr;gap:85px;align-items:start;padding-bottom:52px}
.footer-brand{margin-top:-18px}
.footer-brand>img{width:360px;max-width:none}
.footer-brand>p{margin:-12px 0 0 30px;line-height:1.7}
.footer-mobile-name{display:none}
.footer-grid>div:not(.footer-brand){padding-top:38px}
.footer-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#d4dce5;margin-bottom:25px}
.footer-grid nav{display:flex;flex-direction:column;align-items:start;gap:11px}
.footer-grid a{text-decoration:none;overflow-wrap:anywhere}
.footer-grid a:hover{text-decoration:underline}
.footer-contact>p:not(.footer-label){max-width:300px}
.footer-contact .muted{color:#aebdce;font-size:12px}
.footer-bottom{border-top:1px solid #41536b;padding-top:23px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:11px;color:#b5c2d1}
.footer-bottom>a{text-decoration:none}
.footer-bottom>a:hover{text-decoration:underline}
.page-hero{padding-block:78px 70px;max-width:var(--max)}
.page-hero h1{max-width:950px}
.page-hero .lead{max-width:660px}
.page-hero>.button{margin-top:16px}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:24px;font-size:14px;color:var(--slate)}
.breadcrumbs a{padding-block:8px;text-underline-offset:4px}
.breadcrumbs+.page-hero{padding-top:32px}
.service-jump{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding-block:22px;gap:22px}
.service-jump a{display:flex;align-items:center;gap:14px;line-height:1.5;font-size:13px;text-decoration:none;color:var(--navy);padding-block:10px}
.service-jump a>span{color:var(--lake);font-size:11px}
.service-jump svg{margin-left:auto;width:18px;height:18px;transform:rotate(90deg)}
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:115px;padding-block:85px;border-bottom:1px solid var(--line);scroll-margin-top:40px}
.service-detail h2{max-width:470px}
.service-detail .body-large{max-width:400px}
.service-detail>div+div>p{color:var(--slate)}
.line-list{list-style:none;padding:0;margin-block:27px}
.line-list li{padding-block:14px;border-bottom:1px solid var(--line);display:flex;gap:16px;font-size:15px;line-height:1.65}
.line-list li:before{content:"";flex:0 0 5px;width:5px;height:5px;margin-top:11px;background:var(--brass)}
.scope-note{margin-block:50px;display:grid;grid-template-columns:1fr 2fr;gap:30px;background:#e9eeeb;padding:30px 38px;color:var(--slate)}
.scope-note>p{margin-bottom:0}
.scope-note>.eyebrow{align-self:start;margin:5px 0 0}
.approach-feature{padding-block:80px;background:var(--navy);color:var(--paper)}
.approach-feature .eyebrow{color:#b6cbd1}
.approach-feature h2{color:var(--paper);max-width:850px}
.approach-feature p:last-child{max-width:650px;color:#c7d4e1;margin-bottom:0}
.process-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.process-list li{padding:27px 28px 0 0;border-top:1px solid var(--navy)}
.process-list li+li{padding-left:28px;border-left:1px solid var(--line)}
.process-number{display:block;font-size:13px;letter-spacing:.06em;color:var(--lake);margin-bottom:35px}
.process-list h3{font-size:25px;min-height:60px}
.process-list p{font-size:15px;color:var(--slate);margin-bottom:0}
.boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:115px;border-top:1px solid var(--line);padding-block:72px 20px}
.boundary-grid>div+div{padding-top:42px;color:var(--slate)}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}
.consultant-portrait{width:100%;max-width:400px;margin:0;align-self:center}
.about-photo{aspect-ratio:1;background:var(--lake)}
.about-photo img{width:100%;height:auto;object-fit:contain}
.consultant-portrait figcaption{display:flex;flex-direction:column;gap:3px;border-top:2px solid var(--brass);padding-top:18px;margin-top:20px;font-size:16px;line-height:1.6;color:var(--navy)}
.consultant-portrait figcaption span+span{color:var(--slate)}
.about-grid>div{padding-block:20px}
.about-grid>div p:not(.eyebrow){color:var(--slate)}
.matter-context{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:65px;border-top:1px solid var(--line)}
.matter-context>div+div{color:var(--slate)}
.footer-contact>a{display:block;width:fit-content;margin-top:10px;min-height:32px}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}
.values-grid article{border-top:1px solid var(--line);padding-top:25px}
.values-grid article>p:last-child{margin:0;color:var(--slate)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:115px;align-items:start;padding-bottom:40px}
.contact-grid>aside>p:not(.eyebrow){color:var(--slate)}
.contact-grid aside h2{font-size:32px}
.contact-channel{padding-block:20px;border-bottom:1px solid var(--line)}
.contact-channel .eyebrow{margin-bottom:9px}
.contact-channel>a{display:flex;align-items:center;gap:15px;color:var(--teal);font-size:17px;text-decoration:none;overflow-wrap:anywhere}
.contact-channel svg{width:20px}
.privacy-callout{margin-top:30px;border-left:2px solid var(--brass);padding-left:22px;color:var(--slate)}
.privacy-callout .eyebrow{font-size:11px;margin-bottom:12px}
.privacy-callout p:last-child{font-size:14px;margin-bottom:0}
.contact-pending,.inquiry-form{padding:40px;background:#fffefa;border:1px solid var(--line)}
.contact-pending h2,.inquiry-form h2{font-size:32px}
.contact-pending>p:not(.eyebrow),.inquiry-form>p{color:var(--slate)}
.contact-pending .line-list{margin-bottom:0}
.contact-pending .line-list li:last-child{border:0;padding-bottom:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px;margin-top:30px}
.form-grid label{display:flex;flex-direction:column;gap:9px;color:var(--navy);font-size:13px}
.form-grid .full{grid-column:1/-1}
input,select,textarea{border:1px solid #a7b4b5;background:white;color:var(--ink);padding:11px 12px;min-height:49px;width:100%;min-width:0;border-radius:0;font-size:16px}
textarea{resize:vertical;line-height:1.6}
input::placeholder,textarea::placeholder{color:var(--slate);opacity:1}
.inquiry-form fieldset{min-width:0;border:0;border-top:1px solid var(--line);padding:20px 0 0;margin:32px 0 0}
.inquiry-form legend{padding:0 12px 0 0;color:var(--navy);font-weight:500;font-size:16px}
.inquiry-form fieldset .form-grid{margin-top:0}
.inquiry-form .form-key{font-size:16px;margin-bottom:0}
.inquiry-form button:disabled{background:var(--slate);border-color:var(--slate);cursor:not-allowed}
.inquiry-form .form-notice{font-size:13px;line-height:1.6;margin-block:25px}
.inquiry-form .form-status{font-size:13px;margin:20px 0 0}
.form-status:empty{display:none}
.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:90px;border-top:1px solid var(--line);margin-top:54px}
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding-block:24px;cursor:pointer;color:var(--navy);font-size:16px;font-weight:500}
summary::-webkit-details-marker{display:none}
summary>span{font-size:24px;font-weight:400;transition:transform .2s;color:var(--teal)}
details[open] summary>span{transform:rotate(45deg)}
details>p{color:var(--slate);padding-right:34px;line-height:1.7;margin-bottom:26px}
.prose{max-width:800px;padding-bottom:100px}
.prose h2{font-size:28px;padding-top:30px;margin-bottom:18px}
.prose p{color:var(--slate)}
@keyframes image-arrive{from{transform:scale(1.035);opacity:.5}to{transform:scale(1);opacity:1}}

@media(min-width:1500px){.home-hero{padding-block:82px 88px;gap:100px}.image-frame{min-height:500px}}
@media(max-width:1180px){:root{--gutter:32px}.site-nav{gap:22px}.brand{width:360px}.home-hero{gap:45px}.intro-grid{gap:65px}.approach-grid,.cta-inner,.service-detail,.boundary-grid,.contact-grid{gap:65px}.footer-grid{gap:45px}.about-grid{gap:65px}.process-list li{padding-right:20px}.process-list li+li{padding-left:20px}.hero-copy h1{font-size:56px}}
@media(max-width:1020px){.header-inner{height:132px;flex-wrap:wrap;gap:0}.brand{height:130px}.site-nav{width:100%;padding:16px 0 26px;border-top:1px solid var(--line);flex-wrap:wrap;background:var(--paper)}.js .site-nav{display:none}.js .site-nav.is-open{display:flex}.js .header-inner:has(.is-open){height:auto}.js .menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:none;color:var(--navy);padding:12px 0 12px 20px;min-height:48px;font-size:13px;cursor:pointer}.menu-toggle svg{fill:none;stroke:currentColor;stroke-width:1.5}.home-hero{gap:32px;padding-block:48px 54px}.hero-copy h1{font-size:48px}.hero-copy .lead{font-size:16px}.hero-visual{min-height:450px}.image-frame{min-height:400px}.button-row{gap:18px}.button{font-size:13px;gap:18px;padding-inline:19px}.section{padding-block:80px}.intro-grid{grid-template-columns:.45fr 1fr;gap:40px}.service-card{padding-right:22px}.service-card+.service-card{padding-left:22px}.service-card h3{font-size:25px}.service-card p{font-size:15px}.approach-grid{gap:50px}.cta-inner{gap:50px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px 65px}.footer-brand{grid-column:1/-1}.footer-brand>img{margin-left:-30px}.footer-brand>p{margin-left:0}.footer-grid>div:not(.footer-brand){padding-top:0}.footer-contact>p:not(.footer-label){max-width:400px}.process-list{grid-template-columns:1fr 1fr;gap:42px 0}.process-list li:nth-child(3){padding-left:0;border-left:0}.process-list h3{min-height:auto}.about-grid{gap:40px}.about-photo{height:540px}.values-grid{gap:30px}.contact-grid{gap:45px}.contact-pending,.inquiry-form{padding:28px}.form-grid{grid-template-columns:1fr}.faq-section{gap:45px}.header-inner:has(.site-nav:not(.is-open)){height:132px}html:not(.js) .header-inner{height:auto}}
@media(max-width:760px){:root{--gutter:24px}.wrap{width:calc(100% - var(--gutter)*2)}h1,.hero-copy h1{font-size:48px;line-height:1.12}h2{font-size:36px}h3{font-size:27px}.home-hero{grid-template-columns:1fr;gap:35px;padding-top:42px}.hero-copy{padding:0}.hero-copy h1{max-width:560px}.hero-copy .lead{font-size:18px;max-width:580px}.hero-location{margin-top:28px}.hero-visual{min-height:360px}.image-frame{min-height:330px}.image-frame img{object-position:center 53%}.image-caption{font-size:10px}.eyebrow{font-size:11px;margin-bottom:20px;gap:12px}.principle-strip>.wrap{min-height:78px}.principle-strip span{font-size:10px;letter-spacing:.06em;padding-inline:10px;line-height:1.8}.intro-grid{grid-template-columns:1fr;gap:15px}.intro-grid h2{font-size:40px}.intro-grid .eyebrow{margin-top:0}.section{padding-block:68px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:24px;max-width:470px}.service-grid{grid-template-columns:1fr}.service-card,.service-card+.service-card{padding:28px 0 32px;border-left:0;border-top:1px solid var(--line)}.service-card:first-child{border-top:1px solid var(--navy)}.service-number{margin-bottom:22px}.service-card h3{min-height:0;max-width:100%;font-size:30px}.service-card p{max-width:100%;font-size:16px;margin-bottom:20px}.approach-grid{grid-template-columns:1fr;gap:48px}.approach-grid>div>p:not(.eyebrow){max-width:580px}.principle-list li{padding-block:25px}.principle-list li:first-child{padding-top:25px;border-top:1px solid var(--line)}.statement-band{padding-block:65px}.statement{font-size:38px}.cta-section{padding-block:68px}.cta-inner{grid-template-columns:1fr;gap:30px}.cta-inner>div+div>p{max-width:600px}.footer-grid{gap:40px}.footer-bottom{flex-direction:column;gap:16px}.footer-bottom>span:last-child{display:none}.page-hero{padding-block:54px 42px}.page-hero .lead{font-size:18px}.page-hero h1{font-size:46px}.service-jump{grid-template-columns:1fr;gap:0;padding-block:8px}.service-jump a{font-size:14px;padding-block:15px}.service-jump a+a{border-top:1px solid var(--line)}.service-detail{grid-template-columns:1fr;gap:15px;padding-block:54px}.service-detail .body-large{max-width:100%}.service-detail h2{font-size:36px}.scope-note{grid-template-columns:1fr;gap:15px;padding:26px;margin-block:30px}.scope-note>p{font-size:15px}.approach-feature{padding-block:54px}.process-list{gap:30px 0}.process-list li{padding-top:20px}.process-list h3{font-size:25px}.boundary-grid{grid-template-columns:1fr;gap:15px;padding-block:50px 0}.boundary-grid>div+div{padding-top:0}.about-grid{grid-template-columns:1fr;gap:38px}.about-photo{height:370px}.about-grid>div+div{padding:0}.values-grid{grid-template-columns:1fr;gap:32px}.contact-grid{grid-template-columns:1fr;gap:34px}.contact-grid>aside{max-width:600px}.contact-pending,.inquiry-form{padding:28px}.contact-pending .eyebrow{font-size:10px}.form-grid{grid-template-columns:1fr 1fr}.faq-section{grid-template-columns:1fr;gap:25px;margin-top:25px}.faq-section h2{margin:0}.prose{padding-bottom:65px}.prose h2{font-size:26px}.prose p{font-size:16px}}
@media(max-width:460px){:root{--gutter:22px}.header-inner,.header-inner:has(.site-nav:not(.is-open)){height:100px}.brand{width:auto;height:100px;flex:1}.desktop-brand{display:none}.mobile-brand{display:flex;align-items:center;gap:11px;height:100%;color:var(--navy);font-size:19px;line-height:1.2;font-family:var(--serif);letter-spacing:.005em}.mobile-brand img{width:39px;height:39px;max-width:none}.mobile-brand small{font-family:var(--sans);font-size:9px;letter-spacing:.025em;line-height:1.5}.js .menu-toggle{font-size:0;padding-left:14px}.menu-toggle svg{width:25px;height:25px}.site-nav{gap:10px;flex-direction:column;align-items:stretch}.site-nav>a:not(.button){justify-content:flex-start;padding-inline:5px;font-size:16px}.site-nav .button{justify-content:space-between;margin-top:10px}.preview-notice{font-size:10px;padding-inline:15px}.preview-notice span{margin-inline:5px}.home-hero{padding-top:34px}.hero-copy h1{font-size:43px;letter-spacing:-.035em}.hero-copy .eyebrow{font-size:10px;letter-spacing:.09em;gap:9px}.small-rule{width:19px}.hero-copy .lead{font-size:16px}.hero-copy .button-row{gap:19px;flex-wrap:wrap}.button-row .text-link{font-size:13px}.hero-location{font-size:10px;letter-spacing:.08em}.hero-location span{margin-inline:10px}.hero-visual{min-height:306px}.image-frame{min-height:280px}.image-caption{font-size:10px}.image-caption>span:last-child{display:none}.principle-strip span{font-size:9px;padding-inline:8px;letter-spacing:.03em}.principle-strip>.wrap{width:calc(100% - 20px);min-height:74px}.intro-grid h2{font-size:36px}.body-large{font-size:18px}.section{padding-block:56px}.section-heading h2,.approach-grid h2,.cta-inner h2{font-size:34px}.statement{font-size:32px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-brand>img{display:none}.footer-brand{margin-top:14px}.footer-mobile-name{display:block;font:400 27px/1.2 var(--serif);color:var(--paper);margin-bottom:24px}.footer-brand>p{margin:0}.footer-contact>p:not(.footer-label){max-width:100%}.footer-label{margin-bottom:16px}.site-footer{padding-top:32px}.page-hero h1{font-size:40px}.page-hero .lead{font-size:16px}.process-list{grid-template-columns:1fr}.process-list li,.process-list li+li{border-left:0;padding:25px 0 0}.process-number{margin-bottom:22px}.process-list p{font-size:16px}.process-list h3{font-size:28px}.about-photo{height:320px}.contact-pending,.inquiry-form{padding:25px}.form-grid{grid-template-columns:1fr}.contact-channel>a{font-size:15px}.contact-grid aside h2{font-size:30px}.faq-section h2{font-size:32px}summary{font-size:15px;line-height:1.6}details>p{font-size:15px;padding-right:0}.contact-pending h2,.inquiry-form h2{font-size:28px}}
/* Brand readability floor: reading copy stays at 16px at every breakpoint. */
.line-list li,.process-list p,.service-card p,.scope-note>p,details>p,.privacy-callout p:last-child{font-size:16px}
.eyebrow>span:first-child:not(.small-rule),.service-number,.process-number,.principle-list li>span,.service-jump a>span{color:var(--slate)}
.site-footer :focus-visible{outline-color:var(--paper)}
/* The original full logo needs one cap height outside its visible shoreline. */
@media(min-width:461px){.header-inner,.header-inner:has(.site-nav:not(.is-open)){height:224px}.brand{height:220px}.footer-brand>p{margin-top:0}.js .header-inner:has(.is-open){height:auto}}
.about-photo{height:auto}
.image-caption>span:only-child{display:block}
@media(max-width:1020px){.matter-context{gap:40px}}
@media(max-width:760px){.matter-context{grid-template-columns:1fr;gap:16px;padding-block:45px}.about-grid>div{padding:0}.consultant-portrait{justify-self:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.preview-notice,.menu-toggle,.site-nav,.site-footer,.cta-section,.hero-visual{display:none}.site-header{border-bottom:1px solid #999}.header-inner{height:140px}.wrap{width:100%}.home-hero,.intro-grid,.approach-grid,.contact-grid,.faq-section{display:block}.section{padding-block:30px}a{color:var(--navy)}body{background:white}.service-card,.principle-list li,details{break-inside:avoid}}

/* White / dimensional web extension, October 25, 2026.
   The approved vector logos remain flat, unfiltered, and unchanged. */
:root {
  --paper: #fff;
  --surface: #fff;
  --surface-soft: #f4f8fa;
  --surface-tint: #edf4f5;
  --line: #dce5e9;
  --control-line: #b8c9ce;
  --input-line: #7c919b;
  --input-hover: #6f8e99;
  --action-top: #1f766c;
  --action-bottom: #135951;
  --action-edge: #104a44;
  --radius-control: 8px;
  --radius-panel: 16px;
  --shadow-soft: 0 2px 4px rgba(27,54,93,.035), 0 14px 32px -18px rgba(27,54,93,.2);
  --shadow-panel: 0 2px 5px rgba(27,54,93,.04), 0 20px 44px -22px rgba(27,54,93,.25);
  --shadow-action: inset 0 1px 0 rgba(255,255,255,.2), 0 3px 0 var(--action-edge), 0 8px 16px -5px rgba(16,74,68,.3);
}

body,.site-header { background: var(--surface); }
.site-header { box-shadow: 0 10px 24px -26px rgba(27,54,93,.4); }
.header-inner { border-color: var(--line); }
.site-nav { gap: 22px; }
.site-nav>a:not(.button) { padding-inline: 9px; border-radius: 5px 5px 0 0; }
.site-nav>a[aria-current="page"] { background: var(--surface-soft); }

/* A restrained raised edge, not a glossy or oversized bevel. */
.button,.button:hover {
  min-height: 58px;
  padding: 13px 20px;
  gap: 22px;
  border: 1px solid #175f57;
  border-bottom-color: var(--action-edge);
  border-radius: var(--radius-control);
  background: linear-gradient(165deg,var(--action-top) 0%,#1b6c63 48%,var(--action-bottom) 100%);
  color: #fff;
  box-shadow: var(--shadow-action);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  text-shadow: 0 1px 1px rgba(0,0,0,.12);
  transition: transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);
}
.button svg,.button:hover svg {
  width: 30px;
  height: 30px;
  padding: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
  transform: none;
}
.button--small,.button--small:hover { min-height: 48px; padding: 9px 15px; gap: 15px; font-size: 13px; }
.button--small svg { width: 26px; height: 26px; padding: 4px; }
.button--secondary,.button--secondary:hover {
  background: linear-gradient(180deg,#fff 0%,#f3f7f8 100%);
  color: var(--navy);
  border-color: var(--control-line);
  text-shadow: none;
  box-shadow: inset 0 1px 0 #fff, 0 2px 0 #dce6e9, 0 6px 14px -8px rgba(27,54,93,.3);
}
.button--secondary svg { color: var(--teal); background: #e7f0f0; box-shadow: inset 0 1px 1px rgba(27,54,93,.06); }
.button-row { gap: 16px; }
.text-link { border-bottom-color: #b7cecc; font-weight: 600; gap: 18px; transition: color .18s var(--ease), border-color .18s var(--ease); }
.text-link:hover { color: #155c54; border-bottom-color: var(--teal); }
.button:focus-visible { outline: 3px solid var(--navy); outline-offset: 6px; }
.text-link:focus-visible { border-radius: 3px; }

@media (hover:hover) and (pointer:fine) {
  .button:not(:disabled):not([aria-disabled="true"]):hover {
    transform: translateY(-2px);
    background: linear-gradient(165deg,#1d7066,#104f49);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 5px 0 var(--action-edge), 0 14px 22px -8px rgba(16,74,68,.38);
  }
  .button--secondary:not(:disabled):not([aria-disabled="true"]):hover {
    background: linear-gradient(180deg,#fff,#edf5f5);
    border-color: #93b5b4;
    box-shadow: inset 0 1px 0 #fff, 0 4px 0 #d7e3e7, 0 12px 20px -12px rgba(27,54,93,.32);
  }
  .site-nav>a:not(.button):hover { background: var(--surface-soft); }
}
.button:not(:disabled):not([aria-disabled="true"]):active {
  transform: translateY(2px);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 0 var(--action-edge);
}
.button--secondary:not(:disabled):not([aria-disabled="true"]):active { box-shadow: inset 0 2px 4px rgba(27,54,93,.08), 0 1px 0 #d7e3e7; }
.button:disabled,.button[aria-disabled="true"],.inquiry-form .button:disabled {
  background: var(--slate);
  border-color: var(--slate);
  color: #fff;
  box-shadow: none;
  text-shadow: none;
  transform: none;
  cursor: not-allowed;
}

/* Image surfaces and quiet layered section depth. */
.hero-visual { position: relative; }
.image-frame {
  border-radius: var(--radius-panel);
  box-shadow: 0 5px 0 -2px #edf3f5, 0 6px 0 -2px #d4e0e5, 0 24px 48px -24px rgba(27,54,93,.45);
}
.image-frame::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.28); border-radius: inherit; pointer-events: none; }
.image-caption { padding-top: 20px; }
.principle-strip { background: linear-gradient(115deg,#152c4b 0%,#1b365d 55%,#20435a 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(0,0,0,.15); }
.services-section { background: linear-gradient(180deg,#f5f9fb 0%,#fff 100%); border-color: var(--line); }
.service-grid { gap: 24px; }
.service-card,.service-card+.service-card,.service-card:first-child {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: linear-gradient(150deg,#fff 0%,#fff 64%,#f4f8fa 100%);
  box-shadow: inset 0 1px 0 #fff, var(--shadow-panel);
}
.service-card:focus-within { border-color: #8db4b0; }
.service-card h3 { font-size: 29px; }
.service-card p { margin-bottom: 26px; }
/* Lucide line icons replace decorative counters. Flat, not button-like. */
.site-icon { display: block; flex: none; width: 24px; height: 24px; }
.icon-mark { display: inline-flex; align-items: center; justify-content: center; color: var(--teal); background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
.service-icon,.process-icon,.value-icon { width: 40px; height: 40px; margin-bottom: 24px; }
.service-icon .site-icon,.process-icon .site-icon,.value-icon .site-icon { width: 34px; height: 34px; }
.service-detail-icon { margin-bottom: 22px; }
.principle-list li>.principle-icon { width: 32px; height: 32px; margin-top: 3px; padding: 0; color: var(--teal); }
.principle-icon .site-icon { width: 27px; height: 27px; }
.process-list h3 { min-height: 0; margin-bottom: 18px; }
.process-list { column-gap: 32px; }
.process-list li,.process-list li+li { border: 0; border-top: 1px solid var(--line); padding: 28px 0 0; }
.process-list li:first-child { border-top-color: var(--teal); }
.statement-band,.approach-feature { background: radial-gradient(ellipse at 15% 0%,rgba(95,127,140,.25),transparent 60%),linear-gradient(120deg,#152c4b,#1b365d 60%,#18334d); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.cta-inner { padding: 44px 48px; gap: 65px; border: 1px solid var(--line); border-radius: var(--radius-panel); background: linear-gradient(120deg,#fff 25%,#f3f8fa); box-shadow: var(--shadow-panel); }
.site-footer { background: linear-gradient(145deg,#182f4d,#11253f); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.footer-grid nav { gap: 0; }
.footer-grid nav a,.footer-contact>a,.footer-bottom>a { min-height: 44px; display: inline-flex; align-items: center; padding-block: 8px; }
.footer-contact>a { display: flex; margin-top: 2px; }
.footer-contact>a { gap: 10px; }
.footer-contact>a .site-icon { width: 17px; height: 17px; }

/* The same material language continues on service, about, and inquiry pages. */
.service-jump { gap: 18px; border: 0; padding-block: 4px 24px; }
.service-jump a,.service-jump a+a { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-control); background: linear-gradient(150deg,#fff,#f4f8fa); box-shadow: var(--shadow-soft); }
.service-jump a:hover { border-color: #8db4b0; }
.service-jump .service-jump-icon { color: var(--teal); }
.service-jump .service-jump-icon .site-icon { width: 24px; height: 24px; margin: 0; transform: none; }
.service-jump a>.service-jump-label { color: var(--navy); font-size: 13px; }
.service-jump a>.icon-arrow { margin-left: auto; width: 18px; height: 18px; transform: rotate(90deg); }
.scope-note { border: 1px solid var(--line); border-left: 3px solid var(--brass); border-radius: 10px; background: linear-gradient(120deg,#fff,#f3f8fa); }

/* Two clear starting points, using the existing type and restrained surfaces. */
.audience-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.audience-card { display: flex; flex-direction: column; align-items: flex-start; padding: 36px; border: 1px solid var(--line); border-top: 3px solid var(--teal); border-radius: 10px; background: #fff; scroll-margin-top: 28px; }
.audience-card h2 { font-size: 34px; line-height: 1.2; max-width: 18ch; }
.audience-card p:not(.eyebrow) { color: var(--slate); font-size: 17px; }
.audience-card .text-link { margin-top: auto; }
@media (max-width: 760px) {
  .audience-grid { grid-template-columns: 1fr; gap: 20px; }
  .audience-card { padding: 28px; }
  .audience-card h2 { font-size: 30px; }
}
@media (forced-colors: active) {
  .audience-card { background: Canvas; border-color: CanvasText; }
  .audience-card p:not(.eyebrow) { color: CanvasText; }
}
.about-photo { border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-panel); }
.profile-links { display: flex; flex-wrap: wrap; gap: 12px 32px; }
.about-grid .cv-details { margin-top: 12px; margin-bottom: 0; font-size: 16px; }
.page-hero>.text-link { margin-top: 12px; }
.experience-section { scroll-margin-top: 28px; }
.experience-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.experience-card { display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid var(--line); border-top: 3px solid var(--teal); border-radius: 12px; background: linear-gradient(150deg,#fff 65%,#f7fafb); box-shadow: var(--shadow-soft); }
.experience-icon { width: 36px; height: 36px; margin-bottom: 24px; }
.experience-icon .site-icon { width: 32px; height: 32px; }
.experience-card>.eyebrow { margin-bottom: 16px; }
.experience-card h3 { font-size: 29px; line-height: 1.22; }
.experience-context { color: var(--slate); font-size: 16px; line-height: 1.6; margin-bottom: 20px; }
.experience-description { color: var(--slate); font-size: 17px; }
.experience-card>.text-link { margin-top: auto; }
.experience-note { border-top: 1px solid var(--line); margin: 32px 0 0; padding-top: 24px; max-width: 900px; color: var(--slate); font-size: 16px; }
.about-values { padding-top: 0; }
@media (max-width: 1020px) {
  .experience-grid { grid-template-columns: 1fr; gap: 20px; }
  .experience-card { padding: 28px; }
  .experience-card h3 { max-width: 26ch; }
  .experience-description { max-width: 65ch; }
}
@media (max-width: 460px) {
  .experience-card { padding: 24px; }
  .experience-card h3 { font-size: 27px; }
  .experience-description { font-size: 16px; }
}
@media (forced-colors: active) {
  .experience-card { background: Canvas; color: CanvasText; border-color: CanvasText; box-shadow: none; }
  .experience-context,.experience-description,.experience-note { color: CanvasText; }
}
@media print {
  .experience-grid { display: block; }
  .experience-card { break-inside: avoid; margin-bottom: 20px; background: #fff; box-shadow: none; }
}
.values-grid { gap: 28px; }
.values-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(150deg,#fff,#f8fafb); box-shadow: var(--shadow-soft); }
.values-grid article>.eyebrow { display: block; margin-bottom: 18px; }
.contact-pending,.inquiry-form { border-color: var(--line); border-radius: var(--radius-panel); background: var(--surface); box-shadow: inset 0 3px 0 #e6f0f1, var(--shadow-panel); }
input,select,textarea { border-color: var(--input-line); border-radius: 6px; background: linear-gradient(180deg,#f9fbfc,#fff 12px); box-shadow: inset 0 1px 2px rgba(27,54,93,.045); }
input:hover,select:hover,textarea:hover { border-color: var(--input-hover); }
input:focus-visible,select:focus-visible,textarea:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; border-color: var(--teal); }
.faq-list { border-top: 0; display: grid; align-content: start; gap: 12px; }
.faq-list details { padding-inline: 22px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: var(--shadow-soft); }
.faq-list details[open] { border-color: #b2cacf; background: linear-gradient(145deg,#fff,#f6fafb); }
.faq-list summary { padding-block: 20px; }
.faq-list summary>span { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: var(--surface-tint); font-size: 20px; line-height: 1; }
.faq-list details>p { padding-right: 0; }
.faq-list summary .site-icon { width: 18px; height: 18px; }
.contact-channel .eyebrow { gap: 10px; }
.contact-channel .eyebrow .site-icon { color: var(--teal); width: 18px; height: 18px; }

@media (max-width:1020px) {
  .js .menu-toggle { min-width: 48px; min-height: 48px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); background: linear-gradient(180deg,#fff,#f3f7f8); box-shadow: 0 2px 0 #e3ebee; }
  .site-nav { background: var(--surface); }
  .service-grid { grid-template-columns: 1fr; gap: 18px; }
  .service-card,.service-card+.service-card,.service-card:first-child { padding: 28px; }
  .service-card h3 { min-height: 0; max-width: none; }
  .service-card p { max-width: 680px; }
  .service-icon { margin-bottom: 22px; }
  .hero-copy .button { flex: 1 1 210px; }
  .cta-inner { gap: 38px; padding: 34px; }
  .values-grid { gap: 18px; }
  .values-grid article { padding: 22px; }
}
@media (max-width:760px) {
  .button-row { align-items: stretch; }
  .service-jump { gap: 12px; }
  .cta-inner { padding: 28px; gap: 28px; }
  .values-grid article { padding: 26px; }
  .process-list { column-gap: 24px; row-gap: 32px; }
  .process-list h3 { margin-bottom: 14px; }
  .process-icon { margin-bottom: 18px; }
  .image-frame { border-radius: 12px; }
  .footer-bottom { gap: 10px; }
}
@media (max-width:460px) {
  .js .menu-toggle { padding: 10px; }
  .hero-copy .button-row { gap: 14px; }
  .button,.button:hover { font-size: 14px; padding-inline: 18px; }
  .site-nav .button { min-height: 54px; }
  .service-card,.service-card+.service-card,.service-card:first-child { padding: 24px; }
  .cta-inner { padding: 25px 22px; }
  .cta-inner .button { width: 100%; }
  .scope-note { padding: 24px; }
  .faq-list details { padding-inline: 18px; }
  .faq-list summary { gap: 12px; }
}
@media (prefers-reduced-motion:reduce) {
  .button,.button:hover,.button:active,.button:not(:disabled):not([aria-disabled="true"]):hover,.button:not(:disabled):not([aria-disabled="true"]):active,.button svg,.text-link svg,.text-link:hover svg { transform: none; }
}
@media (forced-colors:active) {
  body,.site-header,.site-nav,.service-card,.service-card:first-child,.service-card+.service-card,.cta-inner,.values-grid article,.scope-note,.contact-pending,.inquiry-form,.faq-list details,.faq-list details[open],input,select,textarea { background: Canvas; color: CanvasText; box-shadow: none; }
  .button,.button:hover,.button--secondary,.button--secondary:hover,.js .menu-toggle,.button:not(:disabled):not([aria-disabled="true"]):hover { background: ButtonFace; color: ButtonText; border: 1px solid ButtonText; box-shadow: none; text-shadow: none; }
  .button svg,.button--secondary svg,.icon-mark,.principle-list li>.principle-icon,.service-jump .service-jump-icon,.contact-channel .eyebrow .site-icon,.faq-list summary>span { background: Canvas; color: CanvasText; box-shadow: none; }
  .button:disabled,.inquiry-form .button:disabled { color: GrayText; background: Canvas; border-color: GrayText; }
  .button:focus-visible,.text-link:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline: 3px solid Highlight; }
}
@media print {
  .service-card,.cta-inner,.values-grid article,.scope-note,.inquiry-form,.faq-list details,.about-photo { background: #fff; box-shadow: none; }
  .button { color: #000; background: #fff; box-shadow: none; border: 1px solid #000; text-shadow: none; }
}
