/* Approved public catalogue, 25 September 2026. Scoped to six existing templates.
   Original CMS content, links and form contracts remain owned by Laravel.
   Native photos use contain; no generated logo or mockup text is substituted. */
html:root body.psfm-approved-shell .approved-project-proof-grid {display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); gap: 18px;}
html:root body.psfm-approved-shell .approved-project-proof-grid > a {display: flex; flex-direction: column; gap: 12px; text-decoration: none;}
html:root body.psfm-approved-shell .approved-project-proof-grid > a > span {margin-top: auto; color: #9e1027; font-weight: 650;}

/* Service detail: balanced below-fold rows; no copy or route changes. */
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-request-guide {grid-column: 1 / -1;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-project-proof-grid > a > span {margin-top: auto;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-final-cta .row {display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; margin: 0;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-final-cta .row > div {width: 100%; margin: 0; padding: 0;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-final-cta .seo-cta-group {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-final-cta .seo-cta-group > a {width: 100%; min-width: 0; justify-content: center;}
@media (min-width: 768px) {
    html:root body.psfm-approved-shell .psfm-approved-catalogue.psfm-approved-service :is(.city-service-link-grid,.seo-blog-grid) {grid-template-columns: repeat(3,minmax(0,1fr)) !important;}
    html:root body.psfm-approved-shell .psfm-approved-service :is(.service-operating-model-grid,.approved-service-conversion-grid) > :last-child:nth-child(odd) {grid-column: 1 / -1;}
}
@media (max-width: 991px) {
    html:root body.psfm-approved-shell .psfm-approved-service .approved-service-request-guide {order: 4; width: 100%;}
}
@media (max-width: 767px) {
    html:root body.psfm-approved-shell .psfm-approved-service .approved-service-final-cta .seo-cta-group {grid-template-columns: minmax(0,1fr);}
}

html:root body.psfm-approved-shell .psfm-approved-catalogue {
    --catalogue-red: #c8102e;
    --catalogue-blue: #1263e8;
    --catalogue-navy: #142d4e;
    --catalogue-ink: #111111;
    --catalogue-copy: #41464e;
    --catalogue-line: #dfe4ea;
    background: #fff !important;
    color: var(--catalogue-copy) !important;
    padding-bottom: 28px;
    overflow-wrap: anywhere;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    border-inline: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
/* Full-bleed page surface; readable content remains disciplined inside .container. */
html:root body.psfm-approved-shell main.main:has(> .psfm-approved-catalogue),
html:root body.psfm-approved-shell main.main > .psfm-approved-catalogue {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(h1,h2,h3,h4,h5) {
    color: var(--catalogue-ink) !important;
    background: none !important;
    text-shadow: none !important;
    text-transform: none;
    letter-spacing: -.025em;
    line-height: 1.2;
}
html:root body.psfm-approved-shell .psfm-approved-catalogue p {
    color: var(--catalogue-copy) !important;
    line-height: 1.65;
}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(h1) {
    font-size: clamp(28px, 2.65vw, 36px) !important;
    line-height: 1.14 !important;
    font-weight: 750;
    margin: 12px 0 18px;
}
html:root body.psfm-approved-shell .psfm-approved-catalogue h2 {font-size: clamp(23px, 2vw, 28px) !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue h3 {font-size: 21px !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .container {width: 100%; max-width: 1240px; padding-inline: 24px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-page,.psfm-services-page) {background: #fff !important; padding-top: 0 !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-section,.psfm-service-group) {padding-block: 24px !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-card,.seo-list-card,.seo-panel,.seo-faq-card,.seo-banner,.psfm-service-buying-panel,.psfm-service-seo-routes) {
    background: #fff !important;
    color: var(--catalogue-copy) !important;
    border: 1px solid var(--catalogue-line) !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    padding: 24px !important;
}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-hero,.approved-local-overview) {padding: 0 !important; border: 0 !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-kicker,.site-title-tagline,.psfm-service-group-head>span,.psfm-service-seo-head>span) {
    color: var(--catalogue-red) !important; background: none !important; padding: 0 !important; font-size: 13px !important; font-weight: 700;
}
html:root body.psfm-approved-shell .psfm-approved-catalogue .theme-btn {
    background: var(--catalogue-red) !important;
    border: 1px solid var(--catalogue-red) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    color: #fff !important;
    min-height: 48px;
    padding: 12px 19px !important;
    font-size: 15px !important;
    font-weight: 650;
    line-height: 1.3;
    display: inline-flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    white-space: normal;
    text-align: center;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}
html:root body.psfm-approved-shell .psfm-approved-catalogue .theme-btn::before,
html:root body.psfm-approved-shell .psfm-approved-catalogue .theme-btn::after {display: none !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .theme-btn-white {background: #fff !important; color: var(--catalogue-navy) !important; border-color: var(--catalogue-navy) !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .theme-btn[href*="wa.me"] {background: #007d50 !important; color: #fff !important; border-color: #007d50 !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(a,button,input,select,textarea):focus-visible {outline: 3px solid var(--catalogue-blue) !important; outline-offset: 4px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-breadcrumb {padding-block: 24px 8px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .breadcrumb-menu {display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; font-size: 13px; background: none !important; justify-content: flex-start;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .breadcrumb-menu :is(li,a) {color: #5b6370 !important; text-shadow: none;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .breadcrumb-menu li+li::before {color: #858c96 !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero {display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); align-items: center; gap: 28px; padding-block: 18px 22px !important; border-bottom: 2px solid var(--catalogue-red); background: #f8f9fa;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero-copy {min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero-copy>p {font-size: 15px; line-height:1.6; margin-bottom: 8px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-catalogue-hero-copy>p {font-size:14px;line-height:1.55;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero h1 {font-size:clamp(28px,2.25vw,32px)!important; margin-block:8px 10px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero .seo-cta-group {margin-top:12px;}
@media (min-width: 768px) {
    html:root body.psfm-approved-shell :is(.psfm-approved-service,.psfm-approved-locations) .approved-catalogue-hero .seo-cta-group {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 10px;}
    html:root body.psfm-approved-shell :is(.psfm-approved-service,.psfm-approved-locations) .approved-catalogue-hero .seo-cta-group > a {min-width: 0; width: 100%; height: 100%;}
}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero-image {min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero-image :is(img,picture) {display: block; width: 100% !important; height: auto !important; max-height: 230px; object-fit: contain !important; border-radius: 6px; margin: 0 !important; transform: none !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero-image img.psfm-location-owner-hero { aspect-ratio: 16/9; object-fit: cover !important; object-position: center 18% !important; }
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-hero-media {padding: 0 !important; margin: 0 !important; aspect-ratio: auto !important; height: auto !important; border: 0 !important; border-radius: 6px; background: #fff !important;}
/* Approved service photographs fill the detail hero without side gutters.
   Preserve the upper subject when the short hero frame crops a square image;
   branded poster layouts keep their separate framing rule. */
html:root body.psfm-approved-shell .psfm-approved-service .approved-catalogue-hero-image .seo-hero-media picture:has(img.psfm-service-hero-photo) {max-height: none !important;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-catalogue-hero-image .seo-hero-media img.psfm-service-hero-photo {aspect-ratio: 4 / 3 !important; max-height: none !important; object-fit: cover !important; object-position: center top !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-hero-media-badge {display: none !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-note {font-size: 13px !important; margin-top: 12px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-cta-group {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-jumps {display: flex; gap: 24px; overflow-x: auto; padding-block: 14px; margin-block: 0 24px; border-block: 1px solid var(--catalogue-line);}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-jumps a {flex: 0 0 auto; min-height: 44px; display: inline-flex; align-items: center; color: var(--catalogue-navy); font-size: 14px; font-weight: 650; text-decoration: underline; text-underline-offset: 7px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-jumps a:hover {color: var(--catalogue-red);}
html:root body.psfm-approved-shell .psfm-approved-catalogue [id] {scroll-margin-top: 108px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-body {display: grid; grid-template-columns: minmax(0,1fr) 350px; align-items: start; gap: 28px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content,
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar {min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content .container {padding: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content :is(.seo-card,.seo-list-card,.seo-faq-card) {padding: 18px !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content .row {--bs-gutter-x: 16px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar .seo-panel {padding: 20px !important; background-image: none !important; box-shadow: none !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar .seo-form-grid {display: block !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar .form-label {color: #24282e; font-size: 14px; font-weight: 600;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.form-control,.form-select) {min-height: 46px; border: 1px solid #cfd6df; border-radius: 4px; box-shadow: none; background: #fff; color: #20242a; width: 100%; font-size: 15px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .service-intent-strip {background: #f8f9fb !important; color: var(--catalogue-copy); padding: 18px; border: 1px solid var(--catalogue-line); border-radius: 6px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .service-intent-item :is(strong,span) {color: var(--catalogue-copy) !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-highlight-row {margin-block: 16px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-highlight {background: #fff !important; border: 1px solid var(--catalogue-line);}
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-highlight :is(strong,span) {color: var(--catalogue-copy) !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-link-card,.psfm-buying-card,.psfm-service-route-card) {background: #fff !important; color: var(--catalogue-copy) !important; border: 1px solid var(--catalogue-line) !important; border-radius: 6px !important; box-shadow: none !important; transform: none !important; padding: 20px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-link-card,.psfm-buying-card,.psfm-service-route-card):hover {border-color: #a8b7c9 !important; box-shadow: 0 6px 18px rgba(16,35,63,.07) !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-chip,.psfm-service-benefit) {background: #f8f9fb !important; color: var(--catalogue-copy) !important; border-color: var(--catalogue-line) !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-list li::before {color: var(--catalogue-red) !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.contact-line,.local-contact-row) {display: grid !important; grid-template-columns: 22px minmax(0,1fr); gap: 10px; align-items: start; align-self: start; min-width: 0; margin-block: 10px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; transform: none; font-size: 14px; line-height: 24px; color: var(--catalogue-copy); text-align: start;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.contact-line,.local-contact-row)>i {display: inline-flex; align-items: center; justify-content: center; grid-column: 1; grid-row: 1; width: 22px; height: 24px; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none !important; box-shadow: none; transform: none; animation: none; color: var(--catalogue-red) !important; font-size: 18px; line-height: 24px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.contact-line,.local-contact-row)>:is(div,span) {grid-column: 2; grid-row: 1; min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-phone-support-stack {display: block; min-width: 0; line-height: 24px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .local-contact-row>div>span {display: block; margin: 0; font-size: 12px; line-height: 24px; letter-spacing: 0; text-transform: none;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .local-contact-row :is(a,strong) {display: block; font-size: 14px; line-height: 24px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-contact-support-standalone {font-weight: 600;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-contact-support-standalone>div>span {font-size: 14px; font-weight: 600;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.contact-line,.local-contact-row) a:is([href^="tel:"],[href^="mailto:"],[href*="wa.me"]) {direction: ltr; unicode-bidi: isolate; display: inline-block; max-width: 100%;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.contact-line,.local-contact-row) i.fa-whatsapp {color: #008a58 !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.contact-line,.local-contact-row) :is(a,strong,span) {color: #252d39 !important; white-space: normal; overflow-wrap: anywhere;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.contact-line,.local-contact-row) a {text-decoration: underline; text-underline-offset: 3px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .accordion-item {border: 1px solid var(--catalogue-line); border-radius: 4px; margin-bottom: 10px; overflow: hidden;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .accordion-button {background: #fff !important; color: #151b24 !important; box-shadow: none; font-size: 16px; min-height: 52px;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-index-intro {padding-block: 18px 22px; --bs-gutter-x: clamp(28px, 3.4vw, 42px); row-gap: 24px; position: relative; border-bottom: 2px solid var(--catalogue-red); background: #f8f9fa;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-index-hero {text-align: start !important; margin: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-finder {padding-block: 24px 6px; border-top: 1px solid var(--catalogue-line);}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-search {display: flex; gap: 14px; align-items: center; border: 1px solid #cdd5df; border-radius: 5px; padding-inline: 16px; margin-block: 18px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-search input {flex: 1; min-width: 0; min-height: 48px; border: 0; background: #fff; color: #20242a; font-size: 16px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-search i {color: #5a6575;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-filters {display: flex; overflow-x: auto; gap: 14px; border-bottom: 1px solid var(--catalogue-line);}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-filters button {flex: 0 0 auto; border: 0; border-bottom: 3px solid transparent; padding: 12px 14px; min-height: 48px; background: #fff; color: #39475a; font-size: 15px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-filters button.is-active {color: var(--catalogue-red); border-bottom-color: var(--catalogue-red); font-weight: 700;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-count {font-size: 13px; margin-block: 12px 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue [hidden] {display: none !important;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-group {margin-top: 0;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-group-head {max-width: none; margin: 0 0 20px; padding: 0 0 16px; border: 0; border-bottom: 1px solid var(--catalogue-line); border-radius: 0; background: none; box-shadow: none; text-align: start;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-grid {margin-top: 0; row-gap: 24px;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-card {display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.6fr); gap: 18px; height: 100%; background: #fff !important; border: 0 !important; border-bottom: 1px solid var(--catalogue-line) !important; border-radius: 0 !important; box-shadow: none !important; overflow: hidden;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-media {display: block; height: auto !important; aspect-ratio: auto !important; padding: 0 !important; background: #f7f8fa !important; border-radius: 4px !important; align-self: start;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-media::after {content: none; display: none;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-media :is(img,picture) {display: block; width: 100% !important; height: auto !important; aspect-ratio: 4/3; object-fit: contain !important; transform: none !important;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-badge {position: static !important; display: block; max-width: none; white-space: normal; font-size: 11px; padding: 6px 0; color: #334155; background: #fff; border: 0;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-body {padding: 0 0 18px !important; min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-icon {color: var(--catalogue-red) !important; background: none !important; font-size: 20px; width: auto; height: auto; padding: 0; margin-bottom: 8px; align-self: flex-start;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-body h3 {margin: 0 0 8px; font-size: clamp(18px,1.5vw,21px) !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-service-body h3 a {color: #111 !important;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-body p {display: block; overflow: visible; -webkit-line-clamp: unset; min-height: 0; margin-bottom: 12px; font-size: 14px; line-height: 1.55;}
html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-actions {display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; align-items: stretch; gap: 8px !important; margin-top: auto; padding-top: 14px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-service-actions .theme-btn {font-size: 13px !important; padding: 9px 12px !important; min-height: 44px;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-details {margin-block: 20px; border: 1px solid var(--catalogue-line); border-radius: 6px; background: #f8fafc;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-details>summary {display: flex; align-items: center; gap: 14px; min-height: 54px; padding: 14px 18px; color: var(--catalogue-navy); font-weight: 700; cursor: pointer; list-style: none;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-details>summary::-webkit-details-marker {display: none;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-details>summary::after {content: '+'; margin-inline-start: auto; font-size: 24px; line-height: 1; color: var(--catalogue-red);}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-details[open]>summary::after {content: '−';}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-details>summary:focus-visible {outline: 3px solid var(--catalogue-blue); outline-offset: 3px;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-detail-body {padding: 0 18px 18px;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-detail-body .psfm-service-seo-routes {margin-bottom: 18px;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-detail-body .psfm-service-seo-routes:last-child {margin-bottom: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-grid {display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-grid .seo-link-card {padding: 0 0 14px; overflow: hidden;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-grid p {font-size: 14px; padding-inline: 16px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-image {width: 100%; aspect-ratio: 16/10; object-fit: contain;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-card-title {display: grid; grid-template-columns: 22px minmax(0,1fr) 18px; align-items: start; gap: 8px; padding: 18px 16px 10px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-card-title h3 {font-size: 18px !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-card-title i {color: var(--catalogue-blue);}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-badge {grid-column: 1/-1; justify-self: start; padding: 3px 8px; border-radius: 3px; font-size: 12px; color: #fff; background: var(--catalogue-red);}
/* One flow owner for city/service-area pages. Existing readiness fills the
 * overview column; the contact card cannot retain legacy sticky offsets. */
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-local-body {display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); grid-template-areas: "overview contact" "readiness contact"; align-items: start; gap: 24px 32px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-local-overview {grid-area: overview; min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-local-contact {grid-area: contact; min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-local-readiness {grid-area: readiness; min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-locations .local-contact-card {position: static; inset: auto; height: auto; min-height: 0; margin: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-industry-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 28px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-industry-grid .seo-link-card {display: grid; grid-template-columns: 38px minmax(0,1fr) 20px; gap: 7px 14px; border: 0 !important; border-bottom: 1px solid var(--catalogue-line) !important; border-radius: 0 !important; padding: 24px 0 !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-industry-icon {grid-row: 1/3; color: var(--catalogue-red); font-size: 30px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-industry-grid h3 {grid-column: 2; grid-row: 1; font-size: 20px !important; margin: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-industry-grid p {grid-column: 2; grid-row: 2; margin: 0; font-size: 14px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-industry-arrow {grid-column: 3; grid-row: 1; color: var(--catalogue-blue);}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-contacts {display: grid; gap: 12px; margin-top: 24px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-contacts a {color: var(--catalogue-copy); text-decoration: underline; overflow-wrap: anywhere;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-contacts i {color: var(--catalogue-red); margin-inline-end: 8px;}
@media (max-width: 1100px) {
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-body {grid-template-columns: minmax(0,1fr) 310px; gap: 22px;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero {gap: 28px;}
    html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-card {grid-template-columns: minmax(0,.65fr) minmax(0,1.7fr); gap: 12px;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-grid {grid-template-columns: repeat(3,minmax(0,1fr));}
}
@media (max-width: 991px) {
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-local-body {grid-template-columns: minmax(0,1fr); grid-template-areas: "overview" "contact" "readiness";}
}
@media (max-width: 767px) {
    html:root body.psfm-approved-shell .psfm-approved-catalogue .container {padding-inline: 16px !important; max-width: 100% !important;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero {grid-template-columns: minmax(0,1fr); gap: 22px; padding-block: 18px 24px !important;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero-copy>p {font-size: 15px;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-body,
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-local-body {grid-template-columns: minmax(0,1fr); gap: 24px;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content .container {padding-inline: 0 !important;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-body {display: flex; flex-direction: column;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content {display: contents;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content > * {order: 4; width: 100%;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content > .approved-service-overview {order: 1;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content > .approved-service-scope {order: 2;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar {order: 3; width: 100%;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-card-title {grid-template-columns: minmax(0,1fr) 18px; padding: 14px 12px 8px;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-card-title>i:first-of-type {display: none;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-card-title h3 {font-size: 16px !important;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-city-grid p {font-size: 13px; padding-inline: 12px;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-industry-grid {grid-template-columns: minmax(0,1fr);}
    html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-card,.seo-list-card,.seo-panel,.seo-faq-card,.seo-banner,.psfm-service-buying-panel,.psfm-service-seo-routes) {padding: 18px !important;}
    html:root body.psfm-approved-shell .psfm-approved-service .approved-service-index-intro {padding-block: 18px 24px; --bs-gutter-x: 24px;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-index-hero :is(h1,p) {max-width: none !important; width: 100% !important; margin-inline: 0 !important;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-cta-group .theme-btn {flex: 1 1 180px;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero-image img {max-height: none; height: auto !important;}
    html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-breadcrumb {padding-block: 20px 0;}
}
@media (max-width: 575px) {
    html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-card {grid-template-columns: minmax(0,1fr); gap: 16px;}
    html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-media {width: 100%;}
    html:root body.psfm-approved-shell .psfm-approved-service .psfm-service-media :is(img,picture) {max-height: 220px;}
    html:root body.psfm-approved-shell .psfm-approved-service .approved-service-details>summary {padding-inline: 14px;}
    html:root body.psfm-approved-shell .psfm-approved-service .approved-service-detail-body {padding-inline: 12px;}
}
@media (prefers-reduced-motion: reduce) {
    html:root body.psfm-approved-shell .psfm-approved-catalogue * {scroll-behavior: auto !important; transition: none !important; animation: none !important;}
}

/* Locations index: approved photo-card composition, scoped away from city details. */
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-hero {padding-block: 18px 20px !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-hero .seo-hero {max-width: 850px; padding: 0 !important; background: #fff !important; opacity: 1 !important; transform: none !important; animation: none !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-hero .seo-hero::before,
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-hero .seo-hero::after {content: none !important; display: none !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-hero .seo-hero :is(h1,p) {color: var(--catalogue-ink) !important; opacity: 1 !important; text-shadow: none !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-hero .seo-hero p {color: var(--catalogue-copy) !important; max-width: 72ch; margin-bottom: 0;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-hero .theme-btn i {background: transparent !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; width: auto !important; height: auto !important; line-height: 1 !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-catalogue-breadcrumb .breadcrumb-menu {justify-content: flex-start !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-catalogue-breadcrumb .breadcrumb-menu li {flex: 0 0 auto !important; width: auto !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-cities {padding-block: 12px 28px !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-grid {grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-grid .seo-link-card {display: flex; flex-direction: column; min-width: 0; height: 100%; padding: 0 0 14px !important; overflow: hidden; box-shadow: 0 5px 17px rgba(20,45,78,.08) !important; opacity: 1 !important; transform: none !important; animation: none !important; text-decoration: none;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-grid .seo-link-card:hover {box-shadow: 0 10px 24px rgba(20,45,78,.13) !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-media {display: block; position: relative; width: 100%; aspect-ratio: 16/10; overflow: hidden; background: #e8edf2;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-image {display: block; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: contain !important; object-position: center; opacity: 1 !important; transform: none !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-badge {position: absolute; inset-block-start: 12px; inset-inline-start: 12px; z-index: 1; color: #fff !important; background: var(--catalogue-red) !important; padding: 6px 9px; font-weight: 700; line-height: 1.15;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-card-title {display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 15px 15px 4px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-card-title h3 {margin: 0; font-size: 19px !important; font-weight: 750;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-card-title i {flex: 0 0 auto; color: var(--catalogue-blue) !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-grid p {margin: 0; padding-inline: 15px; font-size: 13px; line-height: 1.45; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-photo-credits {margin-block: 16px 0; font-size: 12px; color: #5b6370;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-photo-credits summary {cursor: pointer; width: fit-content; color: #465267; text-decoration: underline; text-underline-offset: 2px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-photo-credits ul {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 20px; margin: 9px 0 0; padding-inline-start: 20px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-photo-credits a {color: #265b9a;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-directory .seo-section-title {margin-bottom: 14px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-more-coverage-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px 24px; border-block: 1px solid var(--catalogue-line); padding-block: 9px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-more-coverage-grid a {display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 43px; padding-block: 6px; color: #24364d !important; font-weight: 600; font-size: 14px; text-decoration: none; border-bottom: 1px solid #edf0f3;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-more-coverage-grid a:hover {color: var(--catalogue-red) !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-more-coverage-grid i {color: var(--catalogue-blue); flex: 0 0 auto;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-services-heading {margin-top: 32px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-groups {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: start;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-group {min-width: 0; background: #fff; border: 1px solid var(--catalogue-line); border-radius: 6px; box-shadow: none;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-group>summary {display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 16px 18px; color: var(--catalogue-ink); font-weight: 700; cursor: pointer; list-style: none;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-group>summary::-webkit-details-marker {display: none;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-group>summary::after {content: '+'; color: var(--catalogue-blue); font-size: 20px; margin-inline-start: auto;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-group[open]>summary::after {content: '−';}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-group>summary span {font-size: 12px; color: #697587; flex: 0 0 auto; white-space: nowrap;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-links {display: grid; gap: 0; padding: 0 18px 6px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-links .seo-link-card {padding: 14px 0 !important; border: 0 !important; border-top: 1px solid var(--catalogue-line) !important; border-radius: 0 !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-links h3 {font-size: 16px !important; margin-bottom: 6px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-links p {font-size: 13px; line-height: 1.55; margin: 0;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-support-stack {display: grid; gap: 20px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services {height: auto !important; padding: 0 !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services>summary {display: flex; align-items: center; gap: 16px; min-height: 66px; padding: 18px 24px; color: var(--catalogue-ink); font-size: clamp(20px,2vw,26px); font-weight: 700; cursor: pointer; list-style: none;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services>summary::-webkit-details-marker {display: none;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services>summary::after {content: '+'; margin-inline-start: auto; color: var(--catalogue-blue); font-size: 24px; line-height: 1;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services[open]>summary::after {content: '−';}
html:root body.psfm-approved-shell .psfm-approved-locations :is(.approved-location-core-services,.approved-location-service-group)>summary:focus-visible {outline: 3px solid var(--catalogue-blue); outline-offset: 3px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services .seo-link-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; margin: 0; padding: 0 24px 10px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services .seo-link-card {padding: 16px 0 !important; border: 0 !important; border-top: 1px solid var(--catalogue-line) !important; border-radius: 0 !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services h3 {font-size: 19px !important; margin-bottom: 8px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services p {font-size: 14px; margin: 0;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-contact {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); gap: 28px; align-items: start; background: #f8fafc !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-contact-intro {min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-contact-intro .seo-section-title {margin: 0 0 12px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-contact-intro p {margin: 0; font-size: 15px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-contact-lines {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 24px; min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-contact-lines .contact-line {margin: 0;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-contact-lines .psfm-contact-support-standalone {margin-top: 8px; font-size: 12px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-office {grid-column: 1/-1; padding-top: 14px; border-top: 1px solid var(--catalogue-line);}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-insights .seo-card {padding: 0 !important; border: 0 !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-insights .seo-blog-grid {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-insights .seo-link-card {padding: 18px 0 !important; border: 0 !important; border-top: 1px solid var(--catalogue-line) !important; border-radius: 0 !important;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-insights h3 {font-size: 20px !important; line-height: 1.3; margin-bottom: 10px;}
html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-insights p {font-size: 14px; margin: 0;}
html:root body.psfm-approved-shell .psfm-approved-locations .seo-faq-card {background: #fff !important; color: var(--catalogue-copy) !important;}
html:root body.psfm-approved-shell .psfm-approved-locations :is(.seo-faq-card,.seo-panel,.seo-card,.seo-link-card)::before,
html:root body.psfm-approved-shell .psfm-approved-locations :is(.seo-faq-card,.seo-panel,.seo-card,.seo-link-card)::after {content: none !important; display: none !important;}
html:root body.psfm-approved-shell .psfm-approved-locations :is(.seo-faq-card,.seo-panel,.seo-link-card,.seo-card) {animation: none !important; opacity: 1 !important; transform: none !important;}
html:root body.psfm-approved-shell .psfm-approved-locations :is(.approved-location-service-links,.approved-location-core-services,.approved-locations-insights) .seo-link-card:hover {box-shadow: none !important; text-decoration: underline; text-underline-offset: 4px;}
@media (max-width: 1100px) {
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-more-coverage-grid,
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-groups {grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media (max-width: 767px) {
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-hero {padding-block: 14px 16px !important;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-hero .seo-cta-group {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 9px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-hero .seo-cta-group .theme-btn {grid-column: auto !important; min-width: 0; min-height: 48px !important; padding: 10px 7px !important; font-size: 12px !important; gap: 5px; white-space: nowrap !important; flex: none;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-media {aspect-ratio: 16/10;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-grid .seo-link-card {padding-bottom: 10px !important;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-card-title {padding: 11px 9px 0;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-card-title h3 {font-size: 15px !important;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-grid p {display: none;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-city-badge {inset-block-start: 7px; inset-inline-start: 7px; padding: 4px 6px; font-size: 10px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-more-coverage-grid {grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-more-coverage-grid a {font-size: 12px; line-height: 1.3; min-height: 46px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-groups {grid-template-columns: minmax(0,1fr);}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-group>summary {padding-inline: 16px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-service-links {padding-inline: 16px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services>summary {padding: 16px 18px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-core-services .seo-link-grid {grid-template-columns: minmax(0,1fr); padding-inline: 18px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-contact {grid-template-columns: minmax(0,1fr); gap: 22px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-contact-lines {grid-template-columns: minmax(0,1fr); gap: 16px;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-locations-insights .seo-blog-grid {grid-template-columns: minmax(0,1fr); gap: 0;}
    html:root body.psfm-approved-shell .psfm-approved-locations .approved-location-photo-credits ul {grid-template-columns: minmax(0,1fr);}
}
/* Below-fold components own their layout after legacy effect retirement. */
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-section-heading,.psfm-corporate-readiness-head) {margin-bottom: 20px; max-width: 76ch;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-section-heading,.psfm-corporate-readiness-head) h2 {margin: 8px 0 12px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-link-grid,.seo-process-grid,.seo-blog-grid,.service-operating-model-grid,.psfm-corporate-readiness-grid) {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px;}
/* City details show up to three insights; fill the row without altering the index or Service grids. */
html:root body.psfm-approved-shell .psfm-approved-locations .seo-page[data-psfm-city] .seo-blog-grid {grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr));}
@media (min-width: 768px) and (max-width: 1199.98px) {
 html:root body.psfm-approved-shell .psfm-approved-locations .seo-page[data-psfm-city] .seo-blog-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
 html:root body.psfm-approved-shell .psfm-approved-locations .seo-page[data-psfm-city] .seo-blog-grid > :last-child:nth-child(odd) {grid-column: 1 / -1;}
}
@media (max-width: 767.98px) {
 html:root body.psfm-approved-shell .psfm-approved-locations .seo-page[data-psfm-city] .seo-blog-grid {grid-template-columns: minmax(0,1fr);}
}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-link-card,.seo-process-card,.seo-blog-card,.service-operating-model-card,.psfm-corporate-readiness-item) {display: flex; flex-direction: column; min-width: 0; gap: 8px; height: 100%; padding: 18px; background: #fff; border: 1px solid var(--catalogue-line); border-radius: 5px; box-shadow: none; transform: none;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-link-card,.seo-process-card,.seo-blog-card,.service-operating-model-card,.psfm-corporate-readiness-item) :is(h3,strong) {display: block; color: #20252c; font-size: 18px !important; line-height: 1.35; margin: 0 0 6px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-link-card,.seo-process-card,.seo-blog-card,.service-operating-model-card,.psfm-corporate-readiness-item) :is(p,span) {font-size: 14px; line-height: 1.65; margin: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.service-operating-model-icon,.psfm-corporate-readiness-item>span,.seo-process-number) {color: var(--catalogue-red); font-size: 24px; line-height: 1.5; font-weight: 700;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-list,.service-operating-model-list,.psfm-corporate-quote-checklist ul) {list-style: none; margin: 12px 0 0; padding: 0;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-list,.service-operating-model-list) li {position: relative; padding-inline-start: 17px; margin-bottom: 8px; font-size: 14px; line-height: 1.65;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-list,.service-operating-model-list) li::before {content: ""; position: absolute; inset-inline-start: 0; top: .65em; width: 5px; height: 5px; border-radius: 50%; background: var(--catalogue-red);}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.service-intent-strip,.seo-highlight-row) {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-highlight-row {grid-template-columns: repeat(4,minmax(0,1fr));}
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-highlight {padding: 14px 10px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.service-intent-item,.seo-highlight) :is(strong,span) {display: block; font-size: 13px; line-height: 1.55;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.service-intent-item,.seo-highlight) strong {margin-bottom: 4px; font-size: 15px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-corporate-readiness-card {padding: 22px; background: #f7f8fa; border: 1px solid var(--catalogue-line); border-radius: 6px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-corporate-quote-checklist {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; padding-block: 20px; margin-top: 20px; border-block: 1px solid var(--catalogue-line);}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-corporate-quote-checklist li {display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 8px; margin-bottom: 8px; font-size: 14px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-corporate-quote-checklist i {color: var(--catalogue-red); line-height: 1.65;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-corporate-readiness-footer {display: grid; gap: 18px; padding-top: 18px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.psfm-corporate-link-row,.psfm-corporate-cta-row) {display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-corporate-link-row a {font-size: 13px; line-height: 1.6; color: #9e1027; text-decoration: underline; text-underline-offset: 3px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content :is(p,li) {font-size: 14px; line-height: 1.65;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content .seo-list-card h2 {font-size: 21px !important; line-height: 1.3; margin-bottom: 14px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content .row.g-4>[class*="col-lg-4"] {width: 50%;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content .row.g-4>[class*="col-lg-4"]:last-child:nth-child(odd) {width: 100%;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content :is(.seo-blog-grid,.city-service-link-grid) img {display: block; max-width: 100%; aspect-ratio: 16/9; object-fit: contain; height: auto;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-service-index-hero p {font-size: 15px; line-height: 1.65; margin-bottom: 12px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.approved-service-index-intro,.approved-catalogue-hero) .theme-btn {font-size: 13px !important; min-height: 44px; padding: 10px 14px !important; gap: 8px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-note a {color: #9e1027; text-decoration: underline; text-underline-offset: 3px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-banner {border-inline-start: 3px solid var(--catalogue-red) !important; background: #f7f8fa !important;}
@media (max-width: 991px) {
 html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-body {grid-template-columns: minmax(0,1fr);}
 html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero {grid-template-columns: minmax(0,1.5fr) minmax(0,1fr);}
}
@media (max-width: 767px) {
 html:root body.psfm-approved-shell .psfm-approved-catalogue :is(.seo-link-grid,.seo-process-grid,.seo-blog-grid,.service-operating-model-grid,.psfm-corporate-readiness-grid,.psfm-corporate-quote-checklist,.service-intent-strip) {grid-template-columns: minmax(0,1fr);}
 html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-highlight-row {grid-template-columns: repeat(2,minmax(0,1fr));}
 html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content .row.g-4>[class*="col-lg-4"] {width: 100%;}
 html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero {grid-template-columns: minmax(0,1fr);}
 html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-catalogue-hero-image :is(img,picture) {max-height: 180px; width: 100%; object-fit: contain;}
 html:root body.psfm-approved-shell .psfm-approved-catalogue .psfm-corporate-readiness-card {padding: 18px;}
}

/* The enquiry panel accompanies the introduction; subsequent sections regain full width. */
html:root body.psfm-approved-shell .psfm-approved-service .approved-detail-content {display: contents;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-detail-content > section {grid-column: 1 / -1; min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-detail-content > :is(.approved-service-overview,.approved-service-scope,.approved-service-signals) {grid-column: 1;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-intro {grid-column: 1; display: grid; gap: 24px; align-content: start; min-width: 0;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-intro > .seo-section {padding-block: 0 !important;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-detail-sidebar {grid-column: 2; grid-row: 1;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-detail-content .col-lg-6 .seo-link-grid {grid-template-columns: minmax(0,1fr);}
html:root body.psfm-approved-shell .psfm-approved-service .city-service-link-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
@media (max-width: 991px) {
 html:root body.psfm-approved-shell .psfm-approved-service .approved-detail-sidebar {grid-column: 1; grid-row: auto;}
 html:root body.psfm-approved-shell .psfm-approved-service .approved-detail-body {display: flex; flex-direction: column;}
 html:root body.psfm-approved-shell .psfm-approved-service .approved-detail-content > * {order: 4; width: 100%;}
 html:root body.psfm-approved-shell .psfm-approved-service .approved-detail-sidebar {order: 3; width: 100%;}
 html:root body.psfm-approved-shell .psfm-approved-service .approved-service-intro {display: contents;}
 html:root body.psfm-approved-shell .psfm-approved-service .approved-service-intro > .approved-service-overview {order: 1; width: 100%;}
 html:root body.psfm-approved-shell .psfm-approved-service .approved-service-intro > .approved-service-scope {order: 2; width: 100%;}
 html:root body.psfm-approved-shell .psfm-approved-service .approved-service-intro > .approved-service-signals {order: 4; width: 100%;}
}
@media (max-width: 767px) {
 html:root body.psfm-approved-shell .psfm-approved-service .city-service-link-grid {grid-template-columns: minmax(0,1fr);}
}

/* Compact enquiry fields keep the introduction and sidebar at comparable depth. */
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar h2 {font-size: 24px !important; margin: 0 0 12px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar :is(p,li,label,a,span) {font-size: 13px; line-height: 1.6;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar .form-label {margin-bottom: 5px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar :is(.mb-3,.mb-4) {margin-bottom: 12px !important;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar :is(.form-control,.form-select) {min-height: 42px; padding: 9px 11px; font-size: 14px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar textarea {height: 100px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar .contact-line {margin-block: 10px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-sidebar .seo-panel p {margin-bottom: 14px;}
html:root body.psfm-approved-shell .psfm-approved-catalogue .seo-section-heading {margin-inline: 0; text-align: start;}

html:root body.psfm-approved-shell .psfm-approved-service .approved-service-supporting {grid-column: 1 / -1; width: 100%; min-width: 0; border: 1px solid var(--catalogue-line); border-radius: 5px; background: #f7f8fa; margin-block: 12px;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-supporting > summary {display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; min-height: 60px; color: #20252c; font-size: 18px; font-weight: 650; cursor: pointer; list-style: none;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-supporting > summary::-webkit-details-marker {display: none;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-supporting > summary::after {content: "+"; color: var(--catalogue-red); font-size: 26px; flex-shrink: 0;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-supporting[open] > summary::after {content: "−";}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-supporting > summary:focus-visible {outline: 3px solid var(--catalogue-blue); outline-offset: 3px;}
html:root body.psfm-approved-shell .psfm-approved-service .approved-service-supporting-body {padding: 0 20px 20px; background: #fff;}
@media (max-width: 767px) {
 html:root body.psfm-approved-shell .psfm-approved-service .approved-service-supporting {order: 4;}
 html:root body.psfm-approved-shell .psfm-approved-service .approved-service-supporting-body {padding: 0 14px 14px;}
}

/* Accessible search recovery without changing service destinations. */
.approved-service-feedback { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.approved-service-reset { min-height: 44px; padding: 8px 14px; border: 1px solid #cfd7e1; border-radius: 5px; background: #fff; color: #a70b25; }
.approved-service-reset[hidden] { display: none !important; }

/* Shared public catalogue rail follows the approved Home/About measurements. */
html:root body.psfm-approved-shell .psfm-approved-catalogue {
    --psfm-service-gutter: clamp(16px, 2vw, 32px);
}
html:root body.psfm-approved-shell .psfm-approved-catalogue .container,
html:root body.psfm-approved-shell .psfm-corporate-readiness-service-index .container {
    width: 100% !important;
    max-width: 1664px !important;
    margin-inline: auto !important;
    padding-inline: var(--psfm-service-gutter, clamp(16px, 2vw, 32px)) !important;
    box-sizing: border-box;
}
html:root body.psfm-approved-shell .psfm-approved-catalogue .approved-detail-content .container {
    max-width: 100% !important;
    padding-inline: 0 !important;
}
/* Service index: simplify the procurement path without changing destinations. */
html:root body.psfm-approved-shell .psfm-approved-service-index .approved-catalogue-breadcrumb {
    padding-block: 14px 10px !important;
}
html:root body.psfm-approved-shell .psfm-approved-service-index .approved-catalogue-breadcrumb .breadcrumb-menu {
    display: inline-flex;
    width: auto;
    min-height: 44px;
    align-items: center;
    gap: 8px;
    padding: 4px 10px;
    border: 1px solid #dfe4ea !important;
    border-radius: 5px;
    background: #f8f9fa !important;
    font-size: 14px;
}
html:root body.psfm-approved-shell .psfm-approved-service-index .approved-catalogue-breadcrumb .breadcrumb-menu a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    color: #142d4e !important;
    font-weight: 650;
    text-decoration: none;
}
html:root body.psfm-approved-shell .psfm-approved-service-index .approved-catalogue-breadcrumb .breadcrumb-menu a i {
    color: #c8102e;
}
html:root body.psfm-approved-shell .psfm-approved-service-index .approved-catalogue-breadcrumb .breadcrumb-menu .active {
    color: #4b5563 !important;
    font-weight: 650;
}
html:root body.psfm-approved-shell .psfm-approved-service-index .approved-service-index-intro {
    align-items: center;
    padding-block: clamp(24px, 3vw, 42px) !important;
}
html:root body.psfm-approved-shell .psfm-approved-service-index .approved-service-index-intro .approved-catalogue-hero-image img {
    max-height: 340px !important;
}
html:root body.psfm-approved-shell :is(.psfm-corporate-readiness-service-index, .psfm-corporate-readiness-service-area, .psfm-corporate-readiness-service-detail) .psfm-corporate-readiness-card {
    border: 1px solid #dfe4ea;
    border-radius: 6px;
    background: #f7f8fa;
    box-shadow: none;
}
html:root body.psfm-approved-shell :is(.psfm-corporate-readiness-service-index, .psfm-corporate-readiness-service-area, .psfm-corporate-readiness-service-detail) .psfm-corporate-readiness-item {
    border-radius: 5px;
    box-shadow: none;
}
html:root body.psfm-approved-shell :is(.psfm-corporate-readiness-service-index, .psfm-corporate-readiness-service-area, .psfm-corporate-readiness-service-detail) .psfm-corporate-link-row a {
    min-height: 44px;
    border: 1px solid #cbd5e1;
    border-radius: 5px;
    background: #fff;
    color: #142d4e;
    text-decoration: none;
    font-weight: 650;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: start;
}
html:root body.psfm-approved-shell :is(.psfm-corporate-readiness-service-index, .psfm-corporate-readiness-service-area, .psfm-corporate-readiness-service-detail) .psfm-corporate-link-row a:is(:hover, :focus-visible) {
    border-color: #c8102e;
    background: #fff4f6;
    color: #9e1027;
}
@media (min-width: 992px) {
    html:root body.psfm-approved-shell .psfm-approved-catalogue {
        --psfm-service-gutter: max(32px, calc(88px - max(0px, (100vw - 1664px) / 2)));
    }
    html:root body.psfm-approved-shell .psfm-corporate-readiness-service-index {
        --psfm-service-gutter: max(32px, calc(88px - max(0px, (100vw - 1664px) / 2)));
    }
}
@media (min-width: 576px) and (max-width: 600px) {
    html:root body.psfm-approved-shell .psfm-approved-catalogue,
    html:root body.psfm-approved-shell .psfm-corporate-readiness-service-index { --psfm-service-gutter: 24px; }
}
@media (max-width: 767px) {
    html:root body.psfm-approved-shell .psfm-approved-service-index .approved-service-index-intro { padding-block: 22px !important; }
    html:root body.psfm-approved-shell :is(.psfm-corporate-readiness-service-index, .psfm-corporate-readiness-service-area, .psfm-corporate-readiness-service-detail) .psfm-corporate-readiness-footer { align-items: stretch; }
    html:root body.psfm-approved-shell :is(.psfm-corporate-readiness-service-index, .psfm-corporate-readiness-service-area, .psfm-corporate-readiness-service-detail) .psfm-corporate-link-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    html:root body.psfm-approved-shell :is(.psfm-corporate-readiness-service-index, .psfm-corporate-readiness-service-area, .psfm-corporate-readiness-service-detail) .psfm-corporate-link-row a {
        width: 100%;
        min-height: 52px;
        justify-content: flex-start;
        padding: 10px 12px;
        font-size: 14px;
        line-height: 1.35;
    }
    html:root body.psfm-approved-shell :is(.psfm-corporate-readiness-service-index, .psfm-corporate-readiness-service-area, .psfm-corporate-readiness-service-detail) .psfm-corporate-cta-row > a { flex: 1 1 100%; }
}
@media (max-width: 359px) {
    html:root body.psfm-approved-shell :is(.psfm-corporate-readiness-service-index, .psfm-corporate-readiness-service-area, .psfm-corporate-readiness-service-detail) .psfm-corporate-link-row { grid-template-columns: minmax(0, 1fr); }
}
