/* Center contact links beneath the logo group; reserve a full-height mobile menu column. */
.header>.header-additions{grid-column:1/-1;grid-row:3;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:16px;min-width:0;width:100%;padding:0 0 4px;text-align:center;font-size:15px}
.header .header-additions>.header-request-service{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;margin:0;padding:2px 0;font-size:inherit;font-weight:700;line-height:1.4;color:#bf1f14;text-align:center;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;background:transparent;border:0;border-radius:0;white-space:nowrap}
.header .header-additions>.header-request-service:hover,.header .header-additions>.header-request-service:active{color:#bf1f14;background:transparent;filter:none;transform:none}
.header .header-additions>.header-mobile-line{display:none}
.header .header-contact-dot{display:none}
.header .header-additions>a:focus-visible{outline:3px solid #171918;outline-offset:3px}
@media(max-width:800px){
 .header .header-additions>.header-request-service{font-size:calc(1em + 1px);letter-spacing:-.055em}
 .location-kicker>span:not(.red-dot){font-size:calc(1.1em + 2px)}
 .header{grid-template-columns:minmax(0,1fr) 52px;column-gap:12px;row-gap:0}
 .header>.header-additions{grid-column:1;grid-row:2;gap:12px;padding:0;min-height:52px;font-size:calc(clamp(10px,3.4vw,16px) + .2px);letter-spacing:-.04em}
 .header>.menu-toggle{grid-column:2;grid-row:1/3;align-self:stretch;position:relative;width:52px;height:auto;min-height:88px;margin:0;padding:0;font-size:0;color:transparent;line-height:0}
 .header>.menu-toggle::before{content:"";position:absolute;left:50%;top:50%;width:34px;height:26px;transform:translate(-50%,-50%);background:linear-gradient(to bottom,#171918 0 4px,transparent 4px 11px,#171918 11px 15px,transparent 15px 22px,#171918 22px 26px);pointer-events:none}
 .header>.menu-toggle::after{content:none}
 .header>.menu-toggle[aria-expanded="true"]::before,.header>.menu-toggle[aria-expanded="true"]::after{content:"";position:absolute;inset:auto;left:50%;top:50%;display:block;width:40px;height:4px;border-radius:1px;background:#171918;color:transparent;pointer-events:none}
 .header>.menu-toggle[aria-expanded="true"]::before{transform:translate(-50%,-50%) rotate(45deg)}
 .header>.menu-toggle[aria-expanded="true"]::after{transform:translate(-50%,-50%) rotate(-45deg)}
 .header .header-contact-dot{display:block;flex:0 0 9px;width:9px;height:9px;border-radius:0;background:#000}
 .header .header-additions>.header-mobile-line{display:inline-flex;flex:none;flex-wrap:nowrap;align-items:center;justify-content:center;gap:2px;max-width:none;min-height:44px;margin:0;padding:0;text-align:center;color:#171918;text-decoration:none;line-height:1.4;white-space:nowrap;font-size:inherit}
 .header .header-mobile-line>span{font-size:inherit;font-weight:500;white-space:nowrap}
 .header .header-mobile-line>strong{font-size:inherit;font-weight:700;color:#0000ee;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;white-space:nowrap}
 .header #navigation.open[data-two-page-menu]{grid-row:3}
}

@media(max-width:360px){
 .header{grid-template-columns:minmax(0,1fr) 48px;column-gap:8px}
 .header>.menu-toggle{width:48px}
 .header>.header-additions{gap:12px;font-size:3.28vw}
}

@media(max-width:380px){.header>.header-additions{letter-spacing:-.05em}}

@media(max-width:380px){.header .header-additions>.header-request-service{letter-spacing:-.1em}}

/* Location text +2; fixed 9px decorative dots on both sides. */
@media(min-width:801px){.location-kicker{display:flex;align-items:center;gap:12px}.location-kicker>span:not(.red-dot){font-size:calc(1em + 2px)}.location-kicker .red-dot{display:inline-block;flex:0 0 9px;width:9px;height:9px;margin:0;border-radius:50%;background:var(--red,#d82719)}.location-kicker .location-end{display:inline-block}}

/* Location heading: one-fifth the prior heading size; retain 9px red markers. */
.hero .location-kicker{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;font-family:'Manrope',Arial,sans-serif;font-size:calc((clamp(56px,6vw,84px) * var(--text-scale,1) - 8px) / 5 + 5px);font-weight:800;letter-spacing:-.045em;line-height:1.12;text-align:center;text-transform:none}
.hero .location-kicker>span:not(.red-dot){min-width:0;flex:0 1 auto;font-size:inherit;overflow-wrap:normal;word-break:normal}
.hero .location-kicker .red-dot{display:block!important;flex:0 0 9px;width:9px;height:9px;margin:0;border-radius:0;background:var(--red,#d82719)}
@media(max-width:1050px){.hero .location-kicker{font-size:calc((66px * var(--text-scale,1) - 8px) / 5 + 5px)}}
@media(max-width:800px){.hero .location-kicker{font-size:calc((48px * var(--text-scale,1) - 8px) / 5 + 5px)}}
@media(max-width:580px){.hero .location-kicker{font-size:calc((clamp(47px,12vw,66px) * var(--text-scale,1) - 8px) / 5 + 5px)}html[data-large-text] .hero .location-kicker{font-size:calc((47px * var(--text-scale,1) - 8px) / 5 + 5px)}}

/* Exact shared mobile contact spacing: one gap on either side of the square. */
@media(max-width:800px){
 .header>.header-additions{display:grid;grid-template-columns:max-content 9px max-content;column-gap:12px;align-items:center;justify-content:center;font-size:min(3.28vw,16.2px)}
 .header .header-additions>.header-request-service{--request-tracking:-.055em;letter-spacing:var(--request-tracking);padding-inline-end:calc(-1 * var(--request-tracking));justify-self:end}
 .header .header-contact-dot{margin:0;padding:0;width:9px;height:9px}
 .header .header-additions>.header-mobile-line{justify-self:start}
 .header .header-mobile-line>strong{font-weight:900!important;-webkit-text-stroke:.15px currentColor}
}

@media(max-width:380px){.header .header-additions>.header-request-service{--request-tracking:-.1em}}

/* A clear black boundary beneath the shared website header. */
html body>.header{border-bottom:2px solid #171918}
