/* Coordinated business shell. Geometry is shared; palette follows the project theme. */
body.app-shell-header--center-split-logo-topbar { --app-header-composition-layout-height:186px; }
#header.app-business-header--solid .header-body { background:var(--app-color-header-bg, #212529); }
#header.app-business-header--no-topbar { --app-header-composition-layout-height:122px; }
body.app-shell-page-header-overlap.app-shell-header--center-split-logo-topbar.app-shell-header--without-topbar { --app-page-header-shell-offset:7.625rem; }
#header.app-business-header .header-nav-main nav > ul > li > a { color:var(--app-color-header-text, #fff); }
#header.app-business-header .header-nav-main nav > ul > li > a:hover,
#header.app-business-header .header-nav-main nav > ul > li > a:focus-visible { color:var(--primary); }
/* Raise the dropdown's ancestor, not only the menu trapped within that stacking context. */
#header.app-business-header .app-header-composition__topbar:has(.business-hours-menu.show),
#header.app-business-header .app-header-composition__topbar:focus-within { z-index:2; }
#header.app-business-header .header-nav-main nav > ul > li > a[aria-current="page"] { color:var(--primary); text-decoration:none; }
#header.app-business-header .business-hours-summary { display:inline-flex; align-items:center; gap:.5rem; border:0; background:transparent; color:inherit; font:inherit; font-size:1.125rem; padding:0; white-space:nowrap; }
#header.app-business-header .business-hours-summary::after { display:none; }
#header.app-business-header .business-hours-summary:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
#header.app-business-header .business-hours-menu { min-width:25rem; max-width:calc(100vw - 2rem); padding:1rem; color:var(--app-color-text, #fff); background:var(--app-color-header-bg, #212529); border:1px solid var(--app-color-border, #555); }
#header.app-business-header .business-hours-menu table { width:100%; font-size:.8125rem; }
#header.app-business-header .business-hours-menu caption { caption-side:top; color:inherit; font-weight:600; }
#header.app-business-header .business-hours-menu th,
#header.app-business-header .business-hours-menu td { padding:.4rem; text-align:left; white-space:nowrap; }
#header.app-business-header .business-hours-menu [aria-current="date"] { font-weight:700; background:var(--app-color-surface-alt, #333); }
#footer.feature-footer-contact-rails { color:var(--app-color-footer-muted, #ccc); background:var(--app-color-footer, #101010) !important; }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__brand-link { display:inline-flex; }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__logo { display:block; width:152px; height:152px; object-fit:contain; }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__contact { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; align-items:center; padding-bottom:1.5rem; border-bottom:1px solid var(--light-rgba-20, #ffffff33); }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__contact > a,
#footer.feature-footer-contact-rails .feature-footer-contact-rails__hours { display:flex; align-items:center; gap:.75rem; min-width:0; color:inherit; text-decoration:none; }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__contact i { font-size:1.75rem; flex-shrink:0; }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__contact small { color:var(--app-color-footer-muted, #ccc); display:block; font-size:.6875rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__value { color:var(--light, #fff); display:block; font-size:.875rem; overflow-wrap:anywhere; }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__status { font-weight:700; }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__nav ul { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; margin:1.5rem 0 0; padding:0; list-style:none; }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__nav a { color:var(--light, #fff); text-decoration:none; }
#footer.feature-footer-contact-rails .feature-footer-contact-rails__contact > a:hover .feature-footer-contact-rails__value,
#footer.feature-footer-contact-rails .feature-footer-contact-rails__contact > a:focus-visible .feature-footer-contact-rails__value,
#footer.feature-footer-contact-rails a:hover,
#footer.feature-footer-contact-rails a:focus-visible { color:var(--primary); }
#footer.feature-footer-contact-rails .footer-copyright { background:var(--app-color-footer-copyright, var(--app-color-footer, #101010)); }
@media(max-width:991px) {
 body.app-shell-header--center-split-logo-topbar { --app-header-composition-layout-height:134px; }
 #header.app-business-header--no-topbar { --app-header-composition-layout-height:78px; }
 body.app-shell-page-header-overlap.app-shell-header--center-split-logo-topbar.app-shell-header--without-topbar { --app-page-header-shell-offset:4.875rem; }
 #footer.feature-footer-contact-rails .feature-footer-contact-rails__brand { text-align:center; }
}
@media(max-width:575px) {
 body.app-shell-header--center-split-logo-topbar { --app-header-composition-layout-height:78px; }
 #header.app-business-header .business-hours-menu { min-width:0; width:calc(100vw - 2rem); overflow-x:auto; }
 #footer.feature-footer-contact-rails .feature-footer-contact-rails__contact { grid-template-columns:1fr; }
}

#header.app-business-header .app-business-header__hours{display:flex;align-items:center;gap:1rem}
#header.app-business-header .app-business-header__hours > i{font-size:1.75rem}
#header.app-business-header .app-business-header__hours-label{display:block;font-size:.75rem;line-height:1.2}

#header.app-business-header .business-hours-summary strong{color:var(--primary)}

@media(min-width:992px) {
 #header.app-business-header #mainNav{column-gap:clamp(.1rem,.55vw,.55rem)}
 #header.app-business-header #mainNav > .app-header-composition__nav-item--left{margin-left:0}
}

/* Optional brand-above layout reuses the centered shell's navigation and More menu. */
#header.app-business-header--brand-above { --app-header-composition-layout-height:auto; }
#header.app-business-header--brand-above .app-business-header__brand-row { display:flex; justify-content:center; padding:1.5rem 1rem; }
@media (min-width:992px) { #header.app-business-header--brand-row-mobile-only .app-business-header__brand-row { display:none; } }
#header.app-business-header--brand-above .app-brand { color:var(--app-color-header-text, var(--primary)); text-decoration:none; }
#header.app-business-header--brand-above .app-brand__name { font-family:var(--mp-heading-font, var(--app-font-display, inherit)); font-size:var(--app-brand-display-size,3.125rem); line-height:1.1; }
#header.app-business-header--brand-above .app-brand__logo { width:auto; max-width:min(70vw,22rem); max-height:5rem; object-fit:contain; }
#header.app-business-header--brand-above .app-header-composition__nav-tier { height:auto; min-height:5rem; border-top:1px solid var(--app-color-border,#ddd); }
#header.app-business-header--brand-above .app-header-composition__nav-column { flex:1; }
#header.app-business-header--brand-above .app-header-composition__nav-column > .header-row { width:100%; justify-content:center; }
#header.app-business-header--brand-above #mainNav { display:flex; justify-content:center; flex-wrap:nowrap; gap:clamp(.25rem,1vw,1rem); }
#header.app-business-header--brand-above #mainNav > .app-header-composition__nav-item { flex:0 0 auto; margin:0; }
#header.app-business-header--brand-above #mainNav > li > a { letter-spacing:.15em; font-weight:400; }
@media(max-width:991px) {
 #header.app-business-header--brand-above .app-business-header__brand-row { justify-content:flex-start; padding:1rem 4.5rem 1rem 1rem; }
 #header.app-business-header--brand-above .app-brand__name { font-size:clamp(1.6rem,7vw,2.5rem); }
 #header.app-business-header--brand-above .app-header-composition__nav-tier { min-height:0; border:0; }
 #header.app-business-header--brand-above .app-header-composition__menu-toggle { position:absolute; right:1rem; top:1rem; margin:0; }
 #header.app-business-header--brand-above #mainNav { display:block; }
}

/* contact-columns footer: light brochure footer (Base demo-accounting-1 footer) */
#footer.app-contact-columns-footer { background:#fff !important; color:#777; }
#footer.app-contact-columns-footer a { color:inherit; text-decoration:none; }
#footer.app-contact-columns-footer a:not(.btn):not(.no-footer-css):hover { color:var(--primary,#24a857); }
#footer .app-contact-columns-footer__top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; padding:2rem 0 2.25rem; border-bottom:1px solid rgba(0,0,0,.1); }
#footer .app-contact-columns-footer__brand img { display:block; max-height:96px; width:auto; }
#footer .app-contact-columns-footer__contact { display:flex; flex-wrap:wrap; gap:1.25rem 2rem; }
#footer .app-contact-columns-footer__contact a { display:flex; align-items:center; gap:.75rem; }
#footer .app-contact-columns-footer__icon { display:inline-flex; align-items:center; justify-content:center; width:3.75rem; height:3.75rem; border-radius:50%; background:var(--secondary,#1f6b46); color:#fff; flex:none; font-size:1.5rem; box-shadow:0 .5rem 1.25rem rgba(0,0,0,.16); }
#footer .app-contact-columns-footer__contact small { display:block; font-size:.75rem; font-weight:700; letter-spacing:.02em; text-transform:uppercase; color:var(--secondary,#1f6b46); line-height:1.2; }
#footer .app-contact-columns-footer__contact strong { display:block; color:#111; font-size:1.375rem; font-weight:600; letter-spacing:-.03em; line-height:1.15; }
#footer .app-contact-columns-footer__columns { display:grid; grid-template-columns:1.7fr 1fr 1.2fr 1.5fr; gap:2rem; padding:3.5rem 0 3rem; }
#footer h2.app-contact-columns-footer__title { font-size:1.3125rem !important; font-weight:600; color:#111; margin:0 0 1.25rem; line-height:1.3; letter-spacing:0; }
#footer .app-contact-columns-footer__about p, #footer .app-contact-columns-footer__newsletter p { margin:0 0 1.25rem; line-height:1.8; color:#777; font-size:.9375rem; }
#footer .app-contact-columns-footer__badge { display:flex; align-items:center; gap:.5rem; margin-top:1.5rem; }
#footer .app-contact-columns-footer__badge strong { font-size:2.5rem; line-height:1; font-weight:800; color:#111; background:linear-gradient(to top, var(--primary-rgba-30, rgba(36,168,87,.3)) 0 38%, transparent 38%); padding-inline:.1em; }
#footer .app-contact-columns-footer__badge span { max-width:11rem; font-family:var(--mp-font-display, Georgia, serif); font-style:italic; font-weight:400; font-size:1.3rem; color:#111; line-height:1.2; }
#footer .app-contact-columns-footer__group ul { list-style:none; margin:0; padding:0; }
#footer .app-contact-columns-footer__group li { margin-bottom:.9rem; font-size:.9375rem; }
#footer .app-contact-columns-footer__field { position:relative; display:block; margin-bottom:.75rem; }
#footer .app-contact-columns-footer__field input { width:100%; height:3.25rem; padding:0 2.75rem 0 1rem; border:2px solid #e6e8ea; border-radius:.75rem; background:#fff; color:#111; font-size:.875rem; }
#footer .app-contact-columns-footer__field i { position:absolute; right:1rem; top:50%; transform:translateY(-50%); color:#999; pointer-events:none; }
#footer .app-contact-columns-footer__newsletter .btn { background:var(--secondary,#1f6b46); border-color:var(--secondary,#1f6b46); color:#fff; font-weight:600; padding:.8rem 1.4rem; }
#footer .app-contact-columns-footer__legal { background:transparent; color:#999; font-size:.875rem; }
#footer .app-contact-columns-footer__legal > .container { border-top:1px solid rgba(0,0,0,.1); }
#footer .app-contact-columns-footer__legal a { text-decoration:none; }
#footer .app-contact-columns-footer__legal span a { color:var(--secondary,#1f6b46); text-decoration:underline; }
@media (max-width:991.98px) {
 #footer .app-contact-columns-footer__columns { grid-template-columns:1fr 1fr; }
 #footer .app-contact-columns-footer__about, #footer .app-contact-columns-footer__newsletter { grid-column:1 / -1; }
}

/* Centered transparent-header banner: breadcrumb above a centered, bold title (opt-in via hero options.align: center). */
.page-header.app-page-header--centered .app-page-header__centered { max-width: 60rem; margin-inline: auto; padding-top: 48px; }
.page-header.app-page-header--centered .app-page-header__breadcrumbs { margin-bottom: 2px; }
.page-header.app-page-header--centered .app-page-header__breadcrumbs .breadcrumb { justify-content: center; padding: 0; }
.page-header.page-header-modern.app-page-header--centered h1 { margin: 0; font-weight: 700 !important; text-align: center; }
.page-header.page-header-modern.page-header-background.app-page-header--background-transparent-header.app-page-header--centered { min-height: 0; padding-bottom: 152px; }
.page-header.app-page-header--centered .app-page-header__lead { display: block; margin-top: .75rem; text-align: center; }

/* Detail sidebar panel-list / contact-panel (Base accounting-1 services sidebar). Values measured on the original at 1400px:
   320px cards, 60px gutter to the main column, 10px radius, Lexend 21px titles, 14px nav rows with a 24px circle marker. */
@media (min-width: 992px) {
 .mp-sidebar-layout:has(.app-aside-card--panel-list), .mp-sidebar-layout:has(.app-aside-card--contact-panel) { grid-template-columns: 320px minmax(0, 1fr); column-gap: 60px; padding-block: 6rem 3rem; }
 .mp-sidebar-layout--end:has(.app-aside-card--panel-list), .mp-sidebar-layout--end:has(.app-aside-card--contact-panel) { grid-template-columns: minmax(0, 1fr) 320px; }
}
.app-detail-sidebar .app-aside-card--panel-list, .app-detail-sidebar .app-aside-card--contact-panel { width: 100%; box-sizing: border-box; border-radius: 10px !important; margin: 0 0 24px !important; padding: 24px; line-height: 26px; box-shadow: none; }
.app-detail-sidebar .app-aside-card--panel-list { background: #f4f4f4; color: #777; }
.app-detail-sidebar .app-aside-card--contact-panel { background: var(--secondary, #1f6b46); color: #fff; }
.app-detail-sidebar .row.g-4:has(.app-aside-card--panel-list), .app-detail-sidebar .row.g-4:has(.app-aside-card--contact-panel) { --bs-gutter-y: 0; --bs-gutter-x: 0; }
.app-detail-sidebar .app-aside-card--panel-list :is(h3, h4), .app-detail-sidebar .app-aside-card--contact-panel :is(h3, h4) { font-family: var(--mp-heading-font, "Lexend", sans-serif); font-size: 21px !important; line-height: 1 !important; font-weight: 600; letter-spacing: -.05em !important; text-transform: none; margin: 0 0 24px; color: #111; }
.app-detail-sidebar .app-aside-card--contact-panel :is(h3, h4) { color: #fff !important; text-align: center; }
.app-detail-sidebar .app-aside-card--panel-list .nav-list { padding: 0; margin: 0; list-style: none; }
.app-detail-sidebar .app-aside-card--panel-list .nav-link { color: #666; font-size: 14px; line-height: 20px; padding: 12px 0; font-weight: 400; border: 0; letter-spacing: normal; }
.app-detail-sidebar .app-aside-card--panel-list .nav-link[href*="#"]:not(.active) { color: #111; }
.app-detail-sidebar .app-aside-card--panel-list .nav-link.active { color: var(--primary); font-weight: 700; }
.app-detail-sidebar .app-aside-card--panel-list .nav-link:hover { color: var(--primary); }
.app-detail-sidebar .app-aside-card--panel-list .nav-list-arrows > li > a::after { background-color: rgba(17, 17, 17, .1); }
.app-detail-sidebar .app-aside-card--panel-list .nav-list-arrows > li > a.active::after { background-color: var(--primary); }
.app-detail-sidebar .app-aside-card--contact-panel .app-aside-card__lead { margin: 0; padding: 24px 8px 0; font-size: 14px; line-height: 26px; letter-spacing: normal; font-weight: 700; text-transform: uppercase; text-align: center; color: #fff; }
.app-detail-sidebar .app-aside-card--contact-panel .app-aside-card__contacts { padding-top: 24px; }
.app-detail-sidebar .app-aside-card--contact-panel .app-aside-card__contact { margin: 0 4px; padding-top: 0; }
.app-detail-sidebar .app-aside-card--contact-panel .app-aside-card__contact + .app-aside-card__contact { padding-top: 24px; }
.app-detail-sidebar .app-aside-card--contact-panel .feature-box-icon { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 43px; height: 43px; padding: 0; border-radius: 100%; background: var(--primary); box-shadow: 0 5px 20px rgba(0, 0, 0, .1); }
.app-detail-sidebar .app-aside-card--contact-panel .feature-box-icon::before { content: ""; width: 25px; height: 25px; background: #fff; -webkit-mask: var(--app-aside-icon) center / contain no-repeat; mask: var(--app-aside-icon) center / contain no-repeat; }
.app-detail-sidebar .app-aside-card--contact-panel .feature-box-icon i { display: none; }
.app-detail-sidebar .app-aside-card--contact-panel .feature-box-info { padding-left: 8px; line-height: 26px; }
.app-detail-sidebar .app-aside-card--contact-panel .app-aside-card__contact-label { display: block; font-size: 14px; line-height: 26px; letter-spacing: normal; font-weight: 700; text-transform: uppercase; color: var(--tertiary, #1c2e23); position: relative; top: 2px; }
.app-detail-sidebar .app-aside-card--contact-panel .feature-box-info a { font-size: 14px; line-height: 26px; font-weight: 600; letter-spacing: -.05em; color: #fff; position: relative; bottom: 2px; white-space: nowrap; }
.app-detail-sidebar .app-aside-card--contact-panel .app-aside-card__contact:first-of-type .feature-box-info a { font-size: 16.8px; }
.app-detail-sidebar .app-aside-card--contact-panel .app-aside-card__contact-phone { --app-aside-icon: url("/img/base/icons/phone-2.svg?v=a2e0a1f2f0435739"); }
.app-detail-sidebar .app-aside-card--contact-panel .app-aside-card__contact-email { --app-aside-icon: url("/img/base/icons/email.svg?v=77628060bc30ceeb"); }
.mp-sidebar-layout--end .app-detail-sidebar .app-aside-card--panel-list .nav-list-arrows > li > a::before { transform: scaleX(-1); }
.mp-sidebar-layout:has(.app-aside-card--panel-list) :is(.mp-sidebar-navigation, .mp-sidebar-support, .mp-sidebar-stack) { border: 0; padding: 0; background: transparent; border-radius: 0; }
.mp-sidebar-layout:has(.app-aside-card--panel-list) .app-detail-sidebar__sticky { margin-top: 0 !important; }
.mp-sidebar-layout:has(.app-aside-card--panel-list) .mp-sidebar-navigation > summary { display: none; }
.app-detail-sidebar .app-aside-card--panel-list .nav-link { border-bottom: 1px solid rgba(0, 0, 0, .06); }
.app-detail-sidebar .app-aside-card--panel-list .nav-item:last-child .nav-link { border-bottom: 0; }
.mp-sidebar-layout:has(.app-aside-card--panel-list) .mp-sidebar-stack { gap: 0; }
.app-detail-sidebar .app-aside-card--panel-list :is(h3, h4) { color: #111 !important; }
.app-detail-sidebar .app-aside-card--contact-panel .app-aside-card__lead { padding-inline: 16px; }

/* Contact-columns footer, measured on the Base accounting-1 footer at 1400px (px values; root font is 14px there). */
#footer.app-contact-columns-footer { margin-top: 50px; }
#footer .app-contact-columns-footer__top { position: relative; gap: 24px; padding: 13px 0 56px; border-bottom: 0; }
#footer .app-contact-columns-footer__top::after { content: ""; position: absolute; bottom: 0; left: 50%; width: calc(100vw - 96px); transform: translateX(-50%); border-bottom: 1px solid #eaeaea; }
@media (max-width: 991.98px) { #footer .app-contact-columns-footer__top::after { width: calc(100vw - 32px); } }
#footer .app-contact-columns-footer__brand img { height: 90px; max-height: none; width: auto; }
#footer .app-contact-columns-footer__contact { flex-wrap: nowrap; gap: 24px; padding-top: 15px; }
#footer .app-contact-columns-footer__contact a { gap: 9px; }
#footer .app-contact-columns-footer__icon { width: 59px; height: 59px; box-shadow: 0 5px 20px rgba(0, 0, 0, .1); font-size: 0; }
#footer .app-contact-columns-footer__icon i { display: none; }
#footer .app-contact-columns-footer__icon::before { content: ""; width: 30px; height: 30px; background: #fff; -webkit-mask: var(--app-footer-icon) center / contain no-repeat; mask: var(--app-footer-icon) center / contain no-repeat; }
#footer .app-contact-columns-footer__contact a:has(.fa-phone-alt) { --app-footer-icon: url("/img/base/icons/phone-2.svg?v=a2e0a1f2f0435739"); }
#footer .app-contact-columns-footer__contact a:has(.fa-at) { --app-footer-icon: url("/img/base/icons/email.svg?v=77628060bc30ceeb"); }
#footer .app-contact-columns-footer__contact small { height: 26px; margin-bottom: -6px; font-size: 14px; line-height: 26px; letter-spacing: normal; }
#footer .app-contact-columns-footer__contact strong { font-size: 21px; line-height: 26px; letter-spacing: -1.05px; }
@media (min-width: 992px) { #footer .app-contact-columns-footer__columns { grid-template-columns: 356fr 166fr 261fr 261fr; gap: 24px; padding: 64px 0 0; } }
#footer h2.app-contact-columns-footer__title { margin: 0 0 16px; font-size: 19.6px !important; font-weight: 700; line-height: 27px; letter-spacing: -.98px; }
#footer .app-contact-columns-footer__about p, #footer .app-contact-columns-footer__newsletter p { margin: 0 0 20px; font-size: 15.4px; line-height: 27.72px; letter-spacing: -.23px; color: #969696; }
#footer .app-contact-columns-footer__about p.app-contact-columns-footer__badge { margin: 28px 0 0; gap: 0; align-items: center; }
#footer .app-contact-columns-footer__badge strong { padding: 0; font-size: 36.8px; line-height: 36.8px; font-weight: 700; letter-spacing: -1.84px; }
#footer .app-contact-columns-footer__badge span { max-width: 150px; padding-left: 0; font-size: 21px; line-height: 26px; letter-spacing: -1px; }
#footer .app-contact-columns-footer__group li { margin-bottom: 13px; font-size: 14px; line-height: 24px; color: #969696; }
#footer .app-contact-columns-footer__group ul { margin-top: 18px; }
#footer.app-contact-columns-footer a { color: #969696; }
#footer .app-contact-columns-footer__field { margin-bottom: 16px; }
#footer .app-contact-columns-footer__field input { height: 46px; padding: 0 44px 0 12px; border: 2px solid #eaeaea; border-radius: 10px; font-size: 14px; }
#footer .app-contact-columns-footer__newsletter .btn { padding: 8px 16px; font-family: var(--mp-font-headings); font-size: 13.3px; font-weight: 500; line-height: 19.95px; border-radius: 35px; }
#footer .app-contact-columns-footer__legal > .container { margin-top: 0; padding-block: 0 25px; }
#footer .app-contact-columns-footer__legal { font-size: 14px; line-height: 25.2px; }
#footer .app-contact-columns-footer__legal a { color: #969696; }
#footer .app-contact-columns-footer__contact { padding-top: 5px; }
@media (min-width: 992px) { #footer .app-contact-columns-footer__columns { padding-bottom: 60px; } }
#footer .app-contact-columns-footer__about p, #footer .app-contact-columns-footer__newsletter p { margin-bottom: 22px; }
#footer .app-contact-columns-footer__newsletter .btn i { margin-left: 8px; font-size: 13.3px; }
#footer.app-contact-columns-footer { margin-top: 50px !important; }
#footer.app-contact-columns-footer .app-contact-columns-footer__legal a { color: #969696; }
#footer.app-contact-columns-footer .app-contact-columns-footer__legal span a { color: var(--secondary, #1f6b46); text-decoration: underline; }
#footer .app-contact-columns-footer__legal > .container { padding-bottom: 43px; }
#footer .app-contact-columns-footer__legal .row { padding-top: 27px !important; }
#footer .app-contact-columns-footer__legal > .container { padding-bottom: 40px; }
#footer .app-contact-columns-footer__legal p { color: #555; }
#footer .app-contact-columns-footer__legal .list-inline-item:not(:last-child) { margin-right: 19px; }
@media (max-width: 767.98px) { #footer .app-contact-columns-footer__contact { flex-direction: column; align-items: flex-start; gap: 16px; } #footer .app-contact-columns-footer__contact a { max-width: 100%; } #footer .app-contact-columns-footer__contact strong { overflow-wrap: anywhere; } }

/* Fixed-height header (opt-in via header option fixedHeight): the bar keeps its height when it turns solid on scroll. */
@media (min-width: 992px) {
  #header.app-site-header--fixed-height .header-body,
  html.sticky-header-active #header.app-site-header--fixed-height .header-body { height: var(--app-header-height); min-height: var(--app-header-height); }
  #header.app-site-header--fixed-height .header-container { height: var(--app-header-height); min-height: var(--app-header-height); }
  #header.app-site-header--fixed-height .header-row { height: 100%; }
}
#header.app-site-header--fixed-height .app-brand__logo.header-logo-non-sticky,
#header.app-site-header--fixed-height .app-brand__logo.header-logo-sticky { max-height: none; }
/* Fixed-height header: stay pinned from the first pixel so the sticky state only fades colours (no jump). */
#header.app-site-header--fixed-height .header-body { position: fixed; top: 0; left: 0; right: 0; transition: background-color .35s ease, box-shadow .35s ease, min-height .3s; }
html.sticky-header-active #header.app-site-header--fixed-height .header-body { box-shadow: 0 2px 20px rgba(0,0,0,.08); }
@media (max-width: 991.98px) {
  #header.app-site-header--fixed-height .header-logo { height: var(--app-logo-mobile-height, 44px) !important; width: calc(var(--app-logo-mobile-height, 44px) * var(--app-logo-ratio, 3)) !important; }
  #header.app-site-header--fixed-height .app-brand__logo.header-logo-non-sticky,
  #header.app-site-header--fixed-height .app-brand__logo.header-logo-sticky { height: var(--app-logo-mobile-height, 44px) !important; width: auto; }
}

/* Editorial sub-page header: eyebrow with rule, light title with a bold emphasis, larger lead, no breadcrumbs. */
.mp-site .page-header.page-header-modern.app-page-header--editorial { min-height: 34rem; display: flex; align-items: flex-end; padding-bottom: 4.5rem; }
.mp-site .app-page-header--editorial .container { --app-general-container-padding-inline: clamp(1.25rem, 4vw, 3rem); width: 100% !important; max-width: none !important; margin-inline: auto !important; padding-inline: var(--app-general-container-padding-inline) !important; }
/* Same widths as .app-general-section__container--default so the hero text starts where the section content starts. */
@media (min-width: 992px) { .mp-site .app-page-header--editorial .container { max-width: calc(936px + 2 * var(--app-general-container-padding-inline)) !important; } }
@media (min-width: 1250px) { .mp-site .app-page-header--editorial .container { max-width: calc(1116px + 2 * var(--app-general-container-padding-inline)) !important; } }
@media (min-width: 1400px) { .mp-site .app-page-header--editorial .container { max-width: calc(1600px + 2 * var(--app-general-container-padding-inline)) !important; } }
.mp-site .app-page-header--editorial .app-eyebrow { display: block; margin-bottom: 1.75rem; padding-bottom: 1.1rem; position: relative; font-size: .95rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: #fff; }
.mp-site .app-page-header--editorial .app-eyebrow::after { content: ""; position: absolute; left: 0; bottom: 0; width: 5rem; height: 2px; background: var(--primary); }
.mp-site .app-page-header--editorial h1 { max-width: 46rem; margin: 0 0 1.5rem; font-size: clamp(2.25rem, 5vw, 4rem) !important; font-weight: 300 !important; line-height: 1.12 !important; letter-spacing: -.01em; color: #fff; text-align: left; }
.mp-site .app-page-header--editorial h1 strong { font-weight: 700; }
.mp-site .app-page-header--editorial .app-page-header__lead { display: block; max-width: 40rem; margin: 0; font-size: 1.2rem; line-height: 1.55; color: #fff; text-align: left; opacity: 1; }
@media (max-width: 767.98px) { .mp-site .page-header.page-header-modern.app-page-header--editorial { min-height: 28rem; padding-bottom: 3rem; } }

/* Sidebar post blocks (categories, recent posts), derived from article pages. */
.app-detail-sidebar .app-sidebar-posts .nav-link { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; column-gap: 12px; }
.app-detail-sidebar .app-sidebar-posts__label { flex: 1 1 auto; min-width: 0; }
.app-detail-sidebar .app-sidebar-posts--recent-posts .nav-link { flex-direction: column; align-items: flex-start; row-gap: 4px; padding: 14px 0; }
.app-detail-sidebar .app-sidebar-posts--recent-posts .nav-item + .nav-item { border-top: 1px solid rgba(0, 0, 0, .08); }
.app-detail-sidebar .app-sidebar-posts--recent-posts .app-sidebar-posts__label { color: #111; font-weight: 600; }
.app-detail-sidebar .app-sidebar-posts__meta { color: #8a8a8a; font-size: 12.5px; line-height: 18px; }
.app-detail-sidebar .app-sidebar-posts--post-categories .app-sidebar-posts__meta { font-size: 13px; }
.app-detail-sidebar .app-sidebar-posts .nav-link::before, .app-detail-sidebar .app-sidebar-posts .nav-link::after { display: none; }
.app-detail-sidebar .app-sidebar-posts .nav-link { color: #111; font-weight: 500; }
.app-detail-sidebar .app-sidebar-posts__meta { color: #444; }
.app-detail-sidebar .app-sidebar-posts--post-categories .app-sidebar-posts__label { color: #111; font-weight: 500; }

/* Article layout (sidebar with an "On This Page" outline): wider composition, editorial typography and tables. */
.container.mp-sidebar-layout:has(.app-aside-card--page-contents) { max-width: 1320px !important; padding-inline: 24px; }
.mp-sidebar-layout--end:has(.app-aside-card--page-contents) { grid-template-columns: minmax(0, 800px) 300px; justify-content: center; column-gap: 80px; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content :is(p, li) { font-size: 18px; line-height: 1.7; color: #3d3d3d; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-general-content-flow p { margin-bottom: 1.35rem; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-list { margin: 0 0 1.75rem; padding-left: 1.4rem; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-list > li { margin-bottom: .7rem; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content h2.app-content-subheading { font-size: 32px !important; line-height: 1.2 !important; font-weight: 600 !important; letter-spacing: -.01em; color: #111; margin: 3.5rem 0 1.1rem !important; scroll-margin-top: 134px; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content h3.app-content-subheading { font-size: 22px !important; line-height: 1.3 !important; font-weight: 600 !important; color: #111; margin: 2.25rem 0 .7rem !important; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content a:not(.btn):not(.app-card-tag):not(.app-post__tag) { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-table { margin: 2rem 0 2.25rem; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-table__scroll { border-radius: 10px; border-color: rgba(0, 0, 0, .12); }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-table table { min-width: 36rem; font-size: 16px; font-variant-numeric: tabular-nums; color: #222; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-table :is(th, td) { padding: 1rem 1.35rem; font-size: 16px; line-height: 1.45; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-table caption { padding: 1rem 1.35rem; font-size: 17px; font-weight: 600; color: #111; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-table thead th { background: #1f6b47; color: #fff; font-size: 13px; letter-spacing: .05em; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-table tbody tr:nth-child(even) td { background: #f7f9f8; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-table tr.is-total td { background: #e8f1ec; border-top: 2px solid #1f6b47; font-weight: 700; color: #111; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content .app-content-table figcaption { margin-top: 1rem; padding-top: .85rem; border-top: 1px solid rgba(0, 0, 0, .1); font-size: 14.5px; line-height: 1.55; color: #555; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-main-content [data-document-heading] + * { margin-top: 0; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .app-aside-card--page-contents .nav-link.is-current { color: var(--primary); font-weight: 600; }
.mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-sidebar-support { position: sticky; top: 134px; align-self: start; }
@media (max-width: 991px) { .mp-sidebar-layout--end:has(.app-aside-card--page-contents) { grid-template-columns: minmax(0, 1fr); } .mp-sidebar-layout:has(.app-aside-card--page-contents) .mp-sidebar-support { position: static; } }

/* Footer newsletter signup: status message and consent line */
#footer .app-contact-columns-footer__status { margin: 0 0 .75rem; }
#footer .app-contact-columns-footer__status:empty { display: none; }
#footer .app-contact-columns-footer__consent { display: block; margin-top: .75rem; font-size: .8125rem; line-height: 1.45; opacity: .8; }

/* Outline progress: a thin bar per section fills in the primary colour as that section is read. */
.app-detail-sidebar .app-aside-card--page-contents .nav-link { position: relative; flex-direction: column; align-items: flex-start; padding-bottom: 16px; transition: color .2s ease; }
.app-detail-sidebar .app-aside-card--page-contents .app-outline__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 3px; background: rgba(0, 0, 0, .1); overflow: hidden; }
.app-detail-sidebar .app-aside-card--page-contents .app-outline__bar > span { display: block; width: 100%; height: 100%; background: var(--primary); transform-origin: left; transform: scaleX(0); }
.app-detail-sidebar .app-aside-card--page-contents li.is-active .nav-link, .app-detail-sidebar .app-aside-card--page-contents li.is-active .app-sidebar-posts__label { color: var(--primary) !important; font-weight: 700; }
.app-detail-sidebar .app-aside-card--page-contents li.is-read .nav-link { color: #111; }
.app-detail-sidebar .app-aside-card--page-contents .nav-item + .nav-item { border-top: 0; }
@media (prefers-reduced-motion: no-preference) { html:has(.app-aside-card--page-contents) { scroll-behavior: smooth; } }
