/* WordPress-specific additions; original site.css is preserved. */
body.admin-bar .site-header{top:32px}body.admin-bar .jump-bar{top:calc(var(--header-height) + 32px)}
.footer-main-logo{max-width:200px;height:auto}.footer-brand-description{margin-top:16px}
.entry-content>*+*{margin-top:16px}.dce-form-notice{padding:20px;border:1px solid var(--C6);margin-bottom:24px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}body.admin-bar .jump-bar{top:calc(var(--header-height) + 46px)}}
@media(max-width:600px){body.admin-bar .site-header{top:0}body.admin-bar .jump-bar{top:var(--header-height)}}
/* Shared ACF hero: preserve the original home/title-band structures. */
.dce-acf-title-hero{position:relative;overflow:hidden}.dce-acf-title-hero .site-container{position:relative;z-index:1}.dce-acf-title-hero.has-banner{min-height:320px;display:flex;align-items:center}.dce-acf-title-hero.has-banner:before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.52)}
.dce-hero-content>*+*{margin-top:var(--S4)}.dce-hero-content p{max-width:none}.dce-hero-content h1{font-size:var(--H1-title);font-weight:700}.dce-acf-home-hero .dce-hero-content h1{font-size:var(--H1-hero)}.dce-acf-home-hero .page-label{color:var(--C1)}.dce-acf-home-hero:not(.has-banner){height:auto;min-height:0;padding-block:var(--S1)}.dce-acf-home-hero .button.secondary{color:var(--C1);border-color:var(--C1)}.dce-acf-home-hero .button.secondary:hover{background:var(--C1);color:var(--C4)}
@media(max-width:599px){.dce-acf-title-hero.has-banner{min-height:240px}.dce-hero-actions .button{width:100%}}

/* Keep inner-page hero images above their background and below text/overlay. */
.dce-acf-title-hero{isolation:isolate}.dce-acf-title-hero .hero-photo{z-index:0}.dce-acf-title-hero:before{pointer-events:none}.dce-acf-title-hero .site-container{z-index:2}
.about-intro p{max-width:none}.about-intro>*+*,.about-additional>*+*,.profile .biography>*+*{margin-top:1em}.about-additional p{max-width:none}.profile .biography{margin-top:var(--S4)}

/* ACF sector rich text retains the existing media-row layout. */
.sector-intro p{max-width:none}.sector-intro>*+*{margin-top:1em}.sector-work-list ul,.sector-work-list ol{padding-left:1.25em;margin-top:12px}.sector-work-list li+li{margin-top:0}.sector-icon{display:inline-flex;vertical-align:middle}.sector-icon svg{width:32px;height:32px;flex-shrink:0}.sector-work-list p+p{margin-top:1em}

.sector-feedback{margin-top:20px}.sector-feedback-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:12px}.sector-feedback-links a{font-size:var(--P3)}

.sector-work-list li{margin-block:0}.sector-work-list li>p{margin:0}.sector-work-list li>p+p{margin-top:0}

.office-map-canvas{position:relative;width:100%;max-width:336px;margin:auto}.office-map-canvas>img{width:100%;height:auto}.office-map-marker,.office-map-marker:visited{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:19px;height:19px;background:var(--C1);color:#fff;border-radius:50%;font-size:12px;line-height:1;text-decoration:none}.office-card address p{font-size:inherit;margin:0}.office-card address p+p{margin-top:0}.side-panel>*+*,.next-step>*+*{margin-top:12px}

.service-intro p{max-width:none}.service-intro>*+*{margin-top:1em}.service-intro+p{margin-top:var(--S4)}

.service-content .service-intro p{max-width:none}.service-content .service-intro>*+*{margin-top:1em}.service-content .work-grid{margin-top:var(--S2)}.work-group>*+*{margin-top:12px}.work-group ul li p{margin:0}

.service-feedback{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.service-feedback-links{display:flex;flex-wrap:wrap;gap:12px 24px}.service-feedback-links a{font-size:var(--P3)}@media(max-width:767px){.service-feedback{align-items:flex-start;flex-direction:column}}

/* Quiet location beacons: the number remains stationary and readable. */
.office-map-marker,.office-map-marker:visited{isolation:isolate;z-index:1;box-shadow:0 0 0 2px #fff;transition:box-shadow .2s ease,background-color .2s ease;outline-offset:5px}
.office-map-marker::before{content:"";position:absolute;inset:-4px;border:1px solid var(--C1);border-radius:50%;pointer-events:none;z-index:-1;opacity:0;animation:officeMarkerBeacon 3.6s ease-out infinite}
.office-map-marker:nth-of-type(3n + 2)::before{animation-delay:1.2s}
.office-map-marker:nth-of-type(3n)::before{animation-delay:2.4s}
.office-map-marker:hover,.office-map-marker:focus-visible{z-index:3;background:var(--C1);color:#fff;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--C1);text-decoration:none}
.office-map-marker:hover::before,.office-map-marker:focus-visible::before{animation:none;opacity:0}
.office-map-marker:focus-visible{outline:2px solid var(--C1)}
@keyframes officeMarkerBeacon{0%{transform:scale(.8);opacity:0}12%{opacity:.55}65%,100%{transform:scale(1.8);opacity:0}}
@media(prefers-reduced-motion:reduce){.office-map-marker::before{animation:none;opacity:0}.office-map-marker{transition:none}}

/* Compact mobile footer navigation and policy links. */
@media(max-width:767px){
 .site-footer .footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;padding-bottom:24px}
 .site-footer .footer-brand{grid-column:1/-1}
 .site-footer .footer-grid nav{min-width:0}
 .site-footer .footer-grid h3{margin-bottom:10px}
 .site-footer .footer-grid nav a{min-height:36px;padding-block:6px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
 .site-footer .footer-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;align-items:start;padding-block:20px}
 .site-footer .footer-bottom>span{grid-column:1/-1;margin-bottom:8px}
 .site-footer .footer-bottom a,.site-footer .footer-bottom button{display:flex;align-items:center;min-height:36px;padding:6px 0;border:0;text-align:left;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
}
