/* Baltimore editorial layout: local overrides, shared brand and navigation preserved. */
.baltimore-page main > .client-band { background: #100e29; padding-bottom: 34px; }
.baltimore-page main { background: #fbfbf8; }
.baltimore-page :is(.baltimore-audience,.baltimore-services,.baltimore-scope,.baltimore-process) { padding: 104px max(6.7vw,24px); }
.baltimore-page :is(.baltimore-audience,.baltimore-services,.baltimore-scope,.baltimore-process,.baltimore-office) h2 { font-size: clamp(36px,4.3vw,64px); line-height: 1.04; letter-spacing: -.035em; margin: 14px 0 24px; color: var(--navy); }
.baltimore-page :is(.baltimore-audience,.baltimore-services,.baltimore-scope) .section-heading { max-width: 820px; margin: 0 0 52px; }
.baltimore-page :is(.baltimore-audience,.baltimore-services,.baltimore-scope,.baltimore-proof,.baltimore-process,.baltimore-office) p { line-height: 1.75; }
.baltimore-page .audience-composition { display:grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items:start; }
.baltimore-page .audience-photo { margin:0; position:sticky; top:130px; }
.baltimore-page .audience-photo img { width:100%; height:580px; object-fit:cover; display:block; }
.baltimore-page .audience-photo figcaption { border-left:3px solid var(--brand-green); padding:4px 0 4px 18px; margin-top:24px; font-size:18px; line-height:1.5; max-width:340px; }
.baltimore-page .audience-list article { padding:24px 0; border-top:1px solid #d7d6df; }
.baltimore-page .audience-list article:first-child { padding-top:0; border:0; }
.baltimore-page .audience-list article > span { text-transform:uppercase; font-size:11px; letter-spacing:.13em; font-weight:800; color:var(--brand-blue); }
.baltimore-page .audience-list h3 { font-size:27px; line-height:1.15; margin:10px 0; }
.baltimore-page .audience-list h3 span { color:var(--brand-green); }
.baltimore-page .audience-list p { margin:0; color:var(--muted); font-size:15px; }
.baltimore-page .baltimore-services { background:#eeeee6; display:grid; grid-template-columns:.8fr 1.3fr; gap:7vw; }
.baltimore-page .baltimore-services .section-heading { margin:0; }
.baltimore-page .service-rows article { display:grid; grid-template-columns:74px 1fr; column-gap:20px; padding:27px 0; border-top:1px solid #cccad3; }
.baltimore-page .service-index { grid-row:1 / 3; color:var(--brand-blue); font-family:"Bricolage Grotesque",sans-serif; font-size:30px; }
.baltimore-page .service-index small { display:block; font-family:"Raleway",sans-serif; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; margin-top:7px; }
.baltimore-page .service-rows h3 { font-size:27px; line-height:1.12; margin:0 0 10px; }
.baltimore-page .service-rows h3 a { text-decoration:underline; text-decoration-color:#c2a24e; text-decoration-thickness:1px; text-underline-offset:6px; }
.baltimore-page .service-rows p { font-size:15px; margin:0; }
.baltimore-page .baltimore-scope { display:grid; grid-template-columns:1fr 1.2fr; gap:7vw; }
.baltimore-page .baltimore-scope .section-heading { margin:0; }
.baltimore-page .scope-checklist { display:grid; grid-template-columns:1fr 1fr; column-gap:32px; }
.baltimore-page .scope-checklist article { padding:23px 0; border-top:1px solid #d7d6df; }
.baltimore-page .scope-checklist b { display:block; font-size:18px; }
.baltimore-page .scope-checklist b:before { content:'✓'; color:var(--brand-blue); margin-right:10px; }
.baltimore-page .scope-checklist p { color:var(--muted); font-size:15px; margin:12px 0 0; }
.baltimore-page .baltimore-proof { padding:104px max(6.7vw,24px); background:var(--deep-sea-gradient); color:#e8e7f0; }
.baltimore-page .proof-story { display:grid; grid-template-columns:1.12fr .88fr; column-gap:9vw; }
.baltimore-page .proof-story > .eyebrow { grid-column:1; color:#d7ba71; }
.baltimore-page .proof-story > h2 { grid-column:1; grid-row:2; font-size:clamp(38px,4.5vw,66px); line-height:1.05; letter-spacing:-.035em; color:white; margin:12px 0 24px; }
.baltimore-page .proof-story > p:not(.eyebrow) { grid-column:1; grid-row:3; max-width:570px; margin:0; }
.baltimore-page .account-story { grid-column:2; grid-row:1 / 4; border-left:1px solid #ffffff30; padding-left:44px; align-self:center; }
.baltimore-page .story-label { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#d7ba71; font-weight:800; }
.baltimore-page .account-story h3 { color:#fff; font-size:30px; line-height:1.15; margin:18px 0; }
.baltimore-page .account-story p { font-size:15px; }
.baltimore-page .account-story .story-note { color:#bcb9d1; font-size:12px; }
.baltimore-page .proof-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-top:64px; padding-top:36px; border-top:1px solid #ffffff30; }
.baltimore-page .proof-principles span { font-family:"Bricolage Grotesque",sans-serif; font-size:30px; color:#d7ba71; display:block; margin-bottom:14px; }
.baltimore-page .proof-principles b { display:block; color:white; font-size:20px; }
.baltimore-page .proof-principles p { font-size:15px; margin:12px 0 0; }
.baltimore-page .baltimore-process { background:#efefe8; }
.baltimore-page .baltimore-process > div:first-child { max-width:740px; }
.baltimore-page .baltimore-process a { text-decoration:underline; text-underline-offset:4px; }
.baltimore-page .baltimore-timeline { display:grid; grid-template-columns:repeat(4,1fr); margin-top:56px; gap:0; }
.baltimore-page .baltimore-timeline article { position:relative; padding:32px 28px 0 0; border-top:1px solid #b9b5c8; }
.baltimore-page .baltimore-timeline article:before { content:''; width:11px; height:11px; background:var(--brand-green); border-radius:50%; position:absolute; top:-6px; left:0; }
.baltimore-page .baltimore-timeline span { font-size:11px; text-transform:uppercase; letter-spacing:.07em; font-weight:800; color:var(--brand-blue); display:block; margin-bottom:17px; }
.baltimore-page .baltimore-timeline b { display:block; font-family:"Bricolage Grotesque",sans-serif; font-size:25px; line-height:1.13; }
.baltimore-page .baltimore-timeline p { font-size:15px; }
.baltimore-page .baltimore-office { padding:54px max(6.7vw,24px); display:grid; grid-template-columns:1.1fr 1fr .8fr; gap:38px; border-top:1px solid #d7d6df; border-bottom:1px solid #d7d6df; background:#efefe8; align-items:center; }
.baltimore-page .baltimore-office h2 { font-size:32px; margin:12px 0; }
.baltimore-page .baltimore-office h3 { font-size:18px; margin:0 0 12px; }
.baltimore-page .baltimore-office p { font-size:13px; margin:12px 0 0; }
.baltimore-page .baltimore-office .eyebrow { font-size:10px; }
.baltimore-page .baltimore-office address { font-style:normal; font-size:15px; line-height:1.7; }
.baltimore-page .office-contact { display:flex; flex-direction:column; gap:12px; }
.baltimore-page .office-contact > span { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.baltimore-page .office-phone { font-family:"Bricolage Grotesque",sans-serif; font-size:25px; white-space:nowrap; }
.baltimore-page .office-contact a:last-child { font-size:15px; }
.baltimore-page .baltimore-office a:not(.office-phone) { text-decoration:underline; text-underline-offset:4px; }
@media (max-width:1000px) {
 .baltimore-page :is(.baltimore-services,.baltimore-scope) { grid-template-columns:1fr; gap:36px; }
 .baltimore-page .audience-composition { gap:36px; }
 .baltimore-page .audience-photo img { height:510px; }
 .baltimore-page .baltimore-office { grid-template-columns:1fr 1fr; }
 .baltimore-page .office-intro { grid-column:1 / -1; }
 .baltimore-page .proof-story { column-gap:40px; }
 .baltimore-page .account-story { padding-left:28px; }
}
@media (max-width:760px) {
 .baltimore-page :is(.baltimore-audience,.baltimore-services,.baltimore-scope,.baltimore-proof,.baltimore-process) { padding:64px 24px; }
 .baltimore-page :is(.baltimore-audience,.baltimore-services,.baltimore-scope) .section-heading { margin-bottom:30px; }
 .baltimore-page .audience-composition { grid-template-columns:1fr; gap:36px; }
 .baltimore-page .audience-photo { position:static; }
 .baltimore-page .audience-photo img { height:320px; }
 .baltimore-page .audience-photo figcaption { font-size:16px; }
 .baltimore-page .audience-list h3 { font-size:25px; }
 .baltimore-page .service-rows article { grid-template-columns:58px 1fr; gap:0 16px; }
 .baltimore-page .service-rows h3 { font-size:25px; }
 .baltimore-page .scope-checklist { grid-template-columns:1fr; }
 .baltimore-page .proof-story { display:block; }
 .baltimore-page .account-story { margin-top:36px; padding:28px 0 0; border-left:0; border-top:1px solid #ffffff30; }
 .baltimore-page .proof-principles { grid-template-columns:1fr; margin-top:38px; gap:28px; }
 .baltimore-page .proof-principles span { float:left; width:52px; margin:0; }
 .baltimore-page .proof-principles b,.baltimore-page .proof-principles p { margin-left:52px; }
 .baltimore-page .baltimore-timeline { grid-template-columns:1fr; margin-top:36px; }
 .baltimore-page .baltimore-timeline article { border-top:0; border-left:1px solid #b9b5c8; padding:0 0 30px 28px; }
 .baltimore-page .baltimore-timeline article:before { left:-6px; top:3px; }
 .baltimore-page .baltimore-timeline article:last-child { padding-bottom:0; }
 .baltimore-page .baltimore-office { padding:38px 24px; grid-template-columns:1fr; gap:28px; }
 .baltimore-page .office-intro { grid-column:auto; }
 .baltimore-page .office-address,.baltimore-page .office-contact { border-top:1px solid #d7d6df; padding-top:24px; }
}
