/* Approved English content. Existing palette, typefaces and breakpoints. */
.content-site .content-body { max-width: 100%; }
.content-body > p, .content-body > .content-list { max-width: 78ch; }
.content-body > h2 { margin: 2.4rem 0 1rem; font-size: 26px; line-height: 1.35; }
.content-body > h2:first-child { margin-top: 0; }
.content-body p { line-height: 1.85; }
.content-list { margin: 0 0 1.75rem; padding-left: 1.4rem; }
.content-list li { margin: .45rem 0; padding-left: .3rem; }
.content-actions { margin: 2rem 0 1rem; }
.content-title { position: relative; display: flex; justify-content: center; align-items: center; }
.content-title-art { position: absolute; object-fit: contain; max-height: 100%; }
.content-title .pbmit-title-bar-content-inner { position: relative; }
.content-title .pbmit-tbar-title { text-transform: none; overflow-wrap: break-word; line-height: 1.25; }
.content-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 2rem 0; }
.content-service-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid #d7d5d2; background: var(--pbmit-white-color); }
.content-service-card h3 { font-size: 21px; line-height: 1.4; margin: 0 0 1rem; }
.content-service-card p { font-size: 16px; line-height: 1.75; }
.content-card-link { margin-top: auto; align-self: flex-start; font-weight: 600; text-decoration: underline; text-underline-offset: .25em; }
.content-site .content-body p a, .content-site .content-list a { text-decoration: underline; text-underline-offset: .2em; }
.content-portrait { display: block; max-width: min(100%, 640px); height: auto; margin-top: 2rem; }
.content-service-image { display: block; width: min(100%, 380px); height: auto; margin-top: 2rem; }
.content-site .pbmit-btn-global, .content-site .pbmit-btn-global span { color: var(--pbmit-blackish-color); }
.content-site .pbmit-btn-global:hover, .content-site .pbmit-btn-global:hover span { color: var(--pbmit-white-color); }
.content-site :focus-visible, .content-header :focus-visible, .content-footer :focus-visible { outline: 3px solid #5277a3; outline-offset: 4px; }
.content-footer { padding: 60px 0 24px; background: var(--pbmit-blackish-color); color: #eef0f2; }
.content-footer a { color: #eef0f2; }
.content-footer a:hover { color: #fff; text-decoration: underline; }
.content-footer-name { margin: 18px 0 12px; font-size: 20px; font-family: var(--pbmit-btn-typography-font-family); }
.content-footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; list-style: none; margin: 0; padding: 0; }
.content-footer-contact { line-height: 2; overflow-wrap: anywhere; }
.content-footer-notice { border-top: 1px solid #586475; margin: 32px 0 16px; padding-top: 24px; font-size: 14px; }
.content-copyright { font-size: 13px; margin: 0; }
.content-header .company-name-header__title { color: var(--pbmit-blackish-color); }
.content-header .content-menu-toggle, .content-header .content-menu-close, .content-header .content-submenu-toggle { border: 0; color: var(--pbmit-blackish-color); background: transparent; min-width: 44px; min-height: 44px; }
.content-menu-toggle, .content-menu-close, .content-menu-backdrop { display: none; }
.content-header .navigation > li > a { text-transform: none; }
.content-header .content-services-menu { position: relative; }
.content-header .content-submenu-toggle { position: absolute; z-index: 3; right: -16px; top: 50%; transform: translateY(-50%); font-size: 20px; min-width: 28px; }
.content-header .navigation > .content-services-menu > ul { width: 340px; max-width: 85vw; }
.content-header .content-services-menu[data-open] > ul,
.content-header:not(.content-menu-ready) .content-services-menu:focus-within > ul { display: block; visibility: visible; opacity: 1; transform: none; }
.content-header .navigation a[aria-current="page"] { text-decoration: underline; text-underline-offset: .3em; }
@media (hover: hover) and (min-width: 1440px) {
    .content-header:not(.content-menu-ready) .content-services-menu:hover > ul { display: block; visibility: visible; opacity: 1; transform: none; }
}
@media (min-width: 1440px) {
    .content-header .navigation > .content-services-menu { margin-right: 22px; }
    .content-header .content-menu-panel { display: block; }
}
@media (max-width: 1439px) {
    .content-header .content-menu-toggle { display: block; font-size: 30px; }
    .content-header .content-menu-panel { position: fixed; inset: 0 0 0 auto; width: min(360px, 90vw); z-index: 1001; background: #fff; padding: 72px 0 24px; overflow-y: auto; }
    .content-header.content-menu-ready .content-menu-panel:not([data-open]) { display: none; }
    .content-header .content-menu-close { display: block; position: absolute; top: 12px; right: 14px; font-size: 32px; }
    .content-header .content-menu-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 1000; background: rgba(0,0,0,.65); }
    .content-header .navigation > li { float: none; border-bottom: 1px solid #d7d5d2; }
    .content-header .navigation > li > a { display: block; height: auto; margin: 0; padding: 16px 24px; line-height: 1.6; white-space: normal; }
    .content-header .navigation > .content-services-menu > a { padding-right: 65px; }
    .content-header .content-submenu-toggle { top: 6px; right: 12px; transform: none; min-width: 44px; }
    .content-header .navigation > .content-services-menu > ul { position: static; display: none; width: 100%; max-width: none; box-shadow: none; border: 0; padding: 0 12px 12px; transform: none; }
    .content-header .navigation > .content-services-menu[data-open] > ul { display: block; }
    .content-header .navigation > .content-services-menu > ul a { white-space: normal; padding: 12px; line-height: 1.6; }
    body.content-menu-open { overflow: hidden; }
    /* Without JS, the complete navigation stays in document flow. */
    .content-header:not(.content-menu-ready) .header-content { display: flex; flex-wrap: wrap; }
    .content-header:not(.content-menu-ready) .site-navigation { order: 3; width: 100%; padding: 0; }
    .content-header:not(.content-menu-ready) .content-menu-panel { position: static; width: 100%; padding: 0; }
    .content-header:not(.content-menu-ready) .content-menu-toggle, .content-header:not(.content-menu-ready) .content-menu-close, .content-header:not(.content-menu-ready) .content-submenu-toggle { display: none; }
    .content-header:not(.content-menu-ready) .navigation > .content-services-menu > ul { display: block; opacity: 1; visibility: visible; }
}
@media (max-width: 991px) {
    .content-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .content-section .sidebar { margin-top: 40px; }
}
@media (max-width: 767px) {
        .content-service-card { padding: 24px; }
    .content-title .pbmit-tbar-title { font-size: 28px; }
    .content-service-grid { grid-template-columns: 1fr; }
    .content-footer-links { grid-template-columns: 1fr; }
    }
@media (prefers-reduced-motion: reduce) {
    .content-site *, .content-header * { scroll-behavior: auto; transition-duration: 0s; animation-duration: 0s; }
}

.content-contact-overview { padding: 58px 0 76px; }
.content-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.content-contact-card { min-width: 0; }
.content-contact-card h2 { margin: 0 0 .45rem; font-size: 20px; line-height: 1.4; }
.content-contact-card p { margin: 0 0 1.2rem; line-height: 1.75; overflow-wrap: anywhere; }
.content-contact-card address { font-style: normal; line-height: 1.8; }
.content-contact-label { font-size: 14px; font-weight: 600; letter-spacing: .08em; }
.content-contact-hours { padding: 70px 0; background: var(--pbmit-light-color); }
.content-contact-hours-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: center; }
.content-contact-hours h2 { margin: 0 0 1.5rem; font-size: 30px; line-height: 1.3; }
.content-contact-hours p { line-height: 1.8; }
.content-contact-hours img { display: block; width: 100%; height: auto; }
@media (max-width: 991px) {
    .content-contact-grid { grid-template-columns: 1fr; gap: 20px; }
    .content-contact-card { padding-bottom: 20px; border-bottom: 1px solid #d7d5d2; }
    .content-contact-hours-grid { grid-template-columns: 1fr; gap: 28px; }
}
