/* Bryan's shared heading/title rules. Loaded last on every page. */
h1,h2,h3,h4,h5,h6,legend,caption,.eyebrow,.guide-number,.guide-link,.offer-value,summary,.scene-grid figcaption strong,.offer>span{text-transform:capitalize}
/* Document contents remain the author's wording, including typed headings. */
[contenteditable] h1,[contenteditable] h2,[contenteditable] h3,[contenteditable] h4,[contenteditable] h5,[contenteditable] h6{text-transform:none}
.location-kicker .location-end{display:none}
@media(max-width:800px){
 /* All page headings, including service, area, blog, form and dialog titles. */
 h1,h2,h3,h4,h5,h6,legend,caption,.eyebrow,.guide-number,.guide-link,.offer-value{text-align:center!important}
 .section-head{display:flex;flex-direction:column;align-items:stretch!important;text-align:center;gap:18px}
 .section-head>div{width:100%;min-width:0}
 .section-head>p{width:100%;max-width:48ch!important;margin:0 auto!important;text-align:center!important;line-height:1.65}
 legend{max-width:100%;margin-inline:auto}
 .page-intro,.article-intro{margin-inline:auto}
 .hero-copy{text-align:center}
 .hero-actions,.page-actions,.article-actions,.blog-guide-links{justify-content:center;text-align:center}
 .hero-actions>.text-link{flex:0 0 100%;text-align:center}
 .location-kicker{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;letter-spacing:.12em;line-height:1.6}
 .location-kicker>span:not(.red-dot){min-width:0;flex:0 1 auto}
 .location-kicker .red-dot{display:inline-block!important;flex:0 0 9px;width:9px;height:9px;border-radius:50%;margin:0;background:var(--red,#d82719)}
 /* Standalone service/guide actions are centered within their whole card. */
 main :is(.text-link,.inline-link,.blog-context-link,.summary-help){text-align:center;display:block;width:fit-content;max-width:100%;margin-inline:auto;text-transform:capitalize}
 .blog-guide-links{display:flex;flex-direction:column;align-items:center;gap:16px}
 .blog-guide-links>a{text-align:center}
 .property-guide .guide-number{display:block;width:100%}
 .property-guide .guide-link{justify-content:center;text-align:center;flex-wrap:wrap}
 .property-intro>div{text-align:center}
 .property-intro>div>p{margin-inline:auto}
 .planner-title{justify-content:center;text-align:center}
 .capacity-fact{border-left:0;padding-left:0;align-items:center;text-align:center}
 .extra-explorer>summary{text-align:center;list-style-position:inside}
 .summary-heading{justify-content:center;align-items:center;flex-wrap:wrap;text-align:center}
 .summary-heading>.eyebrow{flex-basis:100%;margin-bottom:0}
 .plan-summary>h3,.plan-summary>.small,.summary-help{text-align:center}
 .offer>span,.offer-value,.offer .inline-link{text-align:center}
 .offer .inline-link{display:block;margin-inline:auto}
 .scene-grid figcaption{text-align:center}
 .scene-grid figcaption strong{display:block;text-align:center}
 .audience-grid :is(h3,figcaption),.audience-card :is(h3,strong),.audience-tile :is(h3,strong){text-align:center}
 .audience :is(h3,figcaption),.audience-strip :is(h3,figcaption){text-align:center}
 .areas-layout .text-link{margin-inline:auto;text-align:center}
 /* Keep informational text and form inputs readable rather than centering long bodies. */
 .article-body,.blog-content,.terms-content,input,textarea{text-align:start}
 [contenteditable] h1,[contenteditable] h2,[contenteditable] h3,[contenteditable] h4,[contenteditable] h5,[contenteditable] h6{text-align:inherit!important}
}

/* Use the header artwork directly, with no logo container decoration. */
main :is(.service-card,.local-service-card)>.service-card-brand{display:block;position:relative;align-self:center;box-sizing:border-box;width:100%;max-width:360px;padding:0!important;margin:0 auto 24px;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
main :is(.service-card,.local-service-card)>.service-card-brand>svg{display:block;width:100%;height:auto;overflow:hidden;aspect-ratio:920/270;mix-blend-mode:multiply}
main .service-card-brand>.service-mark{right:0;top:0;color:var(--ink);font:700 12px/1 Arial,sans-serif;letter-spacing:0;text-decoration:none}
/* Black header lettering needs a light service-card surface, without a separate logo panel. */
main .service-card.featured{background:var(--soft);color:var(--ink)}
main .service-card.featured p:not(.eyebrow){color:var(--muted)}
main .service-card.featured .blog-context-link{color:#0000ee!important}
@media(max-width:800px){main .service-card-brand>.service-mark{font-size:8px;top:4px;right:0}}

/* Center the service-area details link beneath both city columns. */
.area-list>a.inline-link[href="/areas/"]{grid-column:1 / -1;justify-self:center;width:fit-content;max-width:100%;margin-inline:auto;text-align:center}

/* Share the space below the city list equally above and below its link. */
@media(max-width:800px){#areas.areas-section{padding-bottom:0}#areas .area-list>a.inline-link[href="/areas/"]{margin-block:0;padding-block:calc(var(--section-space,64px) / 2);align-self:stretch}}
