/* One navigation layout for the home, agency and fees pages. */
body > header.shared-header{height:100px;width:100%;max-width:none;padding:0 var(--gutter);z-index:30}
body > header.shared-header .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;width:235px;z-index:2}
body > header.shared-header .brand-symbol{width:45px;height:49px;flex-shrink:0}
body > header.shared-header .brand-wordmark{width:180px;height:auto;min-width:0}
body > header.shared-header #navigation{width:100%;display:flex;justify-content:space-between;align-items:center;gap:260px}
.shared-header .header-side{display:flex;align-items:center;gap:clamp(16px,1.6vw,28px)}
.shared-header .header-side>a:not(.button){position:relative;display:flex;align-items:center;min-height:44px;font-size:12px;font-weight:500;white-space:nowrap}
.shared-header .header-side>.button{font-size:12px;min-height:46px;padding:14px 18px;white-space:nowrap;gap:12px}
.shared-header.scrolled{background:#fff;border-bottom-color:var(--line)}
.shared-header.scrolled .header-side>a:not(.button){color:var(--ink)}
.shared-header .header-side>[aria-current="page"]{color:var(--blue)}
@media(min-width:1025px) and (max-width:1200px){
 body > header.shared-header #navigation{gap:215px}
 body > header.shared-header .brand{width:200px;gap:7px}
 body > header.shared-header .brand-symbol{width:38px;height:44px}
 body > header.shared-header .brand-wordmark{width:155px}
 .shared-header .header-side{gap:14px}.shared-header .header-side>a:not(.button){font-size:11px}.shared-header .header-side>.button{font-size:11px;padding:13px}
}
@media(max-width:1024px){
 body > header.shared-header{height:80px}
 body > header.shared-header .brand{width:194px;gap:8px}
 body > header.shared-header .brand-symbol{width:36px;height:42px}
 body > header.shared-header .brand-wordmark{width:150px}
 body > header.shared-header .menu-toggle{display:flex;align-items:center;justify-content:center;position:absolute;right:var(--gutter);top:18px;font-size:0;min-width:44px;min-height:44px;padding:8px}
 .shared-header .menu-toggle>span{font-size:23px;line-height:1}
 body > header.shared-header #navigation{display:none;position:absolute;top:100%;left:0;right:0;width:100%;padding:15px var(--gutter) 24px;background:#fff;max-height:calc(100dvh - 80px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}
 body > header.shared-header #navigation.open{display:flex}
 .shared-header .header-side{flex-direction:column;align-items:stretch;gap:0}
 .shared-header .header-side>a:not(.button){font-size:15px;color:var(--ink);min-height:48px;padding:12px 0;border-bottom:1px solid var(--line)}
 .shared-header .header-side>.button{margin-top:18px;min-height:48px;font-size:14px}
}
@media(max-width:700px){
 body > header.shared-header{height:72px}
 body > header.shared-header .brand{width:179px;gap:7px}
 body > header.shared-header .brand-symbol{width:33px;height:38px}
 body > header.shared-header .brand-wordmark{width:139px}
 body > header.shared-header .menu-toggle{top:14px}
 body > header.shared-header #navigation{max-height:calc(100dvh - 72px)}
}
/* Subtle site-wide tightening, with comfortable side margins. */
:root{--gutter:max(clamp(24px,6vw,100px),calc((100vw - 1680px)/2))}
body:has(>header.shared-header){max-width:none}
@media(min-width:761px){
 .editorial-home main>.section{padding-block:clamp(50px,6vw,84px)}
 .editorial-home .section-heading h2,.editorial-home .contact-heading h2{font-size:clamp(38px,4.6vw,64px)}
 .editorial-home .services>.section-heading{margin-bottom:32px}
 .agency-page .agency-hero{padding-top:22px;padding-bottom:48px;gap:4vw}
 .agency-page .agency-hero h1{font-size:clamp(42px,4.4vw,72px)}
 .agency-page .agency-hero-photo{height:clamp(380px,39vw,570px)}
 .agency-page .agency-welcome{padding-block:40px}
 .agency-welcome .agency-portrait img{height:460px}
 .agency-welcome .agency-welcome-copy{padding:30px clamp(28px,3.5vw,55px)}
 .agency-welcome .agency-welcome-copy h2{font-size:clamp(33px,3.35vw,51px)}
 .fees-page{max-width:1160px;padding-inline:40px}
 .fees-intro h1{font-size:clamp(40px,5vw,66px)}
 .fees-section{padding:28px}
}
/* Preserve the paired agency panels after the general spacing adjustments. */
body.agency-page .agency-hero{gap:0;padding:40px var(--gutter)}
body.agency-page .agency-hero h1{font-size:clamp(33px,3.35vw,51px)}
body.agency-page .agency-hero-photo{height:460px}
@media(max-width:760px){body.agency-page .agency-hero{padding:30px var(--gutter)}body.agency-page .agency-hero h1{font-size:34px}body.agency-page .agency-hero-photo{height:330px}}
