/* Parents, directory, profiles and editorial surfaces. Functional layouts stay
 * in their modules; this sheet shares their visual hierarchy and primitives. */
/* Wider Parents composition requested on 18 October; Pro keeps the base width. */
body.brand-site.parents-site { --mpb-content-max: 1440px; }
body.brand-site.parents-site .cms-search-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.brand-site.parents-site .cms-search-panel > :is(button, .button) { grid-column: 1 / -1; }
body.brand-site :is(.home-copy h1, .directory-search-main h1, .profile-v3-copy h1, .cms-hero h1, .seo-hero h1, .specialty-hero-copy h1, .local-seo-copy h1) { color: var(--mpb-color-encre); font-family: var(--font-body); font-size: var(--mpb-font-size-hero); font-weight: 200; letter-spacing: normal; line-height: 1.18; }
body.brand-site :is(.home-how-heading h2, .home-trust-copy h2, .home-nearby-copy h2, .home-guides-section h2, .home-pro-cta h2, .profile-v3-section-head h2, .seo-page h2) { color: var(--mpb-color-encre); font-family: var(--font-body); font-size: var(--mpb-font-size-section); font-weight: 200; letter-spacing: normal; line-height: 1.25; }
body.brand-site :is(.home-how-step h3, .photographer-card h2, .photographer-card h3, .guide-card h2, .guide-card h3, .profile-v3-price-card h3, .directory-map-card h2, .directory-sidebar h2) { color: var(--mpb-color-encre); font-family: var(--font-body); font-size: 20px; font-weight: 600; letter-spacing: normal; line-height: 1.3; }
body.brand-site :is(.home-copy .lead, .home-trust-text p, .home-how-heading > p:not(.eyebrow), .home-nearby-copy > p:not(.eyebrow), .home-pro-cta p:not(.eyebrow)) { color: var(--mpb-color-texte); font-size: 19px; font-weight: 300; line-height: 1.7; }
body.brand-site :is(.home-accent-note, .home-copy .home-accent-note) { color: var(--mpb-color-bordeaux); font-family: var(--font-body); font-size: 17px; font-style: normal; font-weight: 600; line-height: 1.65; margin: 0 0 14px; }
body.brand-site :is(.home-copy .eyebrow, .home-how-heading .eyebrow, .home-nearby-copy .eyebrow, .home-guides-section .eyebrow, .home-pro-cta .eyebrow, .directory-header .eyebrow, .profile-v3-page .eyebrow) { color: var(--mpb-color-bordeaux); font-size: 13px; font-weight: 600; letter-spacing: .16em; line-height: 16px; }

body.brand-site .home-hero-screen { background-color: var(--mpb-color-fond-poudre); background-image: var(--home-hero-image); padding-block: var(--mpb-section-space); }
body.brand-site .home-intro-image { max-width: var(--mpb-content-max); padding-block: 0; }
body.brand-site .home-copy { min-width: 0; }
body.brand-site .home-copy h1 { max-width: 12ch; }
body.brand-site .home-copy h1 .mpb-word { color: var(--mpb-color-bordeaux); font-family: var(--font-handwritten); font-size: 1.12em; font-weight: 400; line-height: 1; }
body.brand-site .hero-search { background: var(--mpb-color-fond); border: 1px solid var(--mpb-color-trait); border-radius: 24px; min-width: 0; }
body.brand-site .hero-search .field { background: transparent; border-color: var(--mpb-color-trait); min-width: 0; }
body.brand-site .hero-search label { color: var(--mpb-color-encre); font-size: 15px; font-weight: 600; }
body.brand-site .hero-search :is(input, select) { color: var(--mpb-color-encre); font-size: 17px; font-weight: 300; }
body.brand-site .home-hero-screen .hero-search > button { background: var(--mpb-color-bordeaux); border-color: var(--mpb-color-bordeaux); color: var(--mpb-color-sur-bordeaux); font-size: 13px; font-weight: 600; letter-spacing: .07em; line-height: 16px; }
body.brand-site :is(.home-how-section, .home-nearby-section, .home-guides-section, .home-pro-cta) { margin-block: 0; padding-block: var(--mpb-section-space); }
body.brand-site .home-how-section { background: var(--mpb-color-fond); }
body.brand-site .home-how-heading { margin-bottom: 40px; }
body.brand-site .home-how-grid { gap: 40px; }
body.brand-site .home-how-step { background: transparent; border: 0; border-radius: 0; min-width: 0; padding: 0; }
body.brand-site .home-how-step img { height: 64px; margin: 0 auto 14px; object-fit: contain; width: 64px; }
body.brand-site .home-how-step p { color: var(--mpb-color-texte); font-size: 17px; font-weight: 300; line-height: 1.65; }
body.brand-site .home-how-number { display: block; height: auto; margin: 0 0 14px; width: auto; background: transparent; border: 0; color: var(--mpb-color-bordeaux); font-family: var(--font-body); font-size: 56px; font-weight: 200; line-height: 1; }
body.brand-site .home-how-step::before, body.brand-site .home-how-step::after { display: none; }

body.brand-site .home-trust-section { align-items: center; background: var(--mpb-color-fond-poudre); background-image: none; display: grid; gap: 40px 56px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 0; min-height: 0; overflow: visible; padding: var(--mpb-section-space) max(var(--mpb-gutter), calc((100% - var(--mpb-content-max)) / 2 + var(--mpb-gutter))); }
body.brand-site .home-trust-copy { color: var(--mpb-color-texte); margin: 0; max-width: none; min-width: 0; padding: 0; position: static; width: auto; }
body.brand-site .home-trust-copy h2 { display: block; margin: 0 0 24px; }
body.brand-site .home-trust-accent { color: var(--mpb-color-encre); display: block; font-size: inherit; }
body.brand-site .home-trust-accent .mpb-word { color: var(--mpb-color-bordeaux); font-family: var(--font-handwritten); font-size: 1.12em; font-weight: 400; }
body.brand-site .home-trust-photo { align-self: stretch; background-image: var(--home-trust-image); background-position: 80% center; background-size: cover; border-radius: 24px; display: block; min-height: 420px; }
body.brand-site .home-trust-markers { align-items: start; display: grid; gap: 24px; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); inset: auto; margin: 0; max-width: none; padding: 0; position: static; transform: none; width: auto; }
body.brand-site .home-trust-marker { align-items: center; color: var(--mpb-color-encre); display: flex; flex-direction: row; font-size: 15px; font-weight: 600; gap: 14px; justify-content: flex-start; max-width: none; min-width: 0; position: static; text-align: left; transform: none; width: auto; }
body.brand-site .home-trust-marker-icon { background: var(--mpb-color-rose); border: 0; border-radius: 50%; color: var(--mpb-color-bordeaux); flex: 0 0 64px; height: 64px; width: 64px; }
body.brand-site .home-trust-marker:nth-child(2) .home-trust-marker-icon { background: var(--mpb-color-peche); }
body.brand-site .home-trust-marker:nth-child(3) .home-trust-marker-icon { background: var(--mpb-color-sauge); }
body.brand-site .home-trust-marker-icon svg { fill: none; height: 36px; stroke: var(--mpb-color-bordeaux); stroke-width: 1.5; width: 36px; }
body.brand-site .home-trust-marker-connector, body.brand-site .home-trust-section::before, body.brand-site .home-trust-section::after { display: none; }
body.brand-site .home-trust-charter-link::before { display: none; }
body.brand-site .home-nearby-section { background: var(--mpb-color-fond); }
body.brand-site .home-guides-section { background: var(--mpb-color-fond-poudre); }
body.brand-site .home-pro-cta { background: var(--mpb-color-fond); border: 0; border-radius: 0; color: var(--mpb-color-texte); }
body.brand-site .home-pro-cta :is(h2, p) { color: var(--mpb-color-encre); }
body.brand-site :is(.home-guide-card, .guide-card, .photographer-card) { background: var(--mpb-color-fond); border: 1px solid var(--mpb-color-trait); border-radius: 18px; }
body.brand-site :is(.home-guide-card img, .guide-card img) { border-radius: 18px; }

/* Directory and profile geometry stays with the search/gallery modules. */
body.brand-site :is(.directory-page, .profile-v3-page, .editorial-page, .cms-page, .guides-page, .seo-page) { background: var(--mpb-color-fond); padding-block: var(--mpb-section-space); }
body.brand-site :is(.directory-search-hero, .directory-search-aside, .filter-sidebar, .directory-map-card, .profile-v3-section, .profile-v3-sticky-card) { background: var(--mpb-color-fond); border-color: var(--mpb-color-trait); color: var(--mpb-color-texte); }
body.brand-site .directory-search-hero { background: var(--mpb-color-fond-poudre); border-radius: 24px; }
body.brand-site .directory-layout { display: grid; gap: 24px; grid-template-columns: 220px minmax(0, 1fr) 300px; }
body.brand-site .directory-layout.is-city-search { grid-template-columns: 240px minmax(0, 1fr); }
body.brand-site .directory-layout :is(.directory-results, .directory-side-panel, .directory-tools-column) { min-width: 0; }
body.brand-site .directory-layout .directory-card-grid { gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.brand-site .directory-card-grid .photographer-card .body { min-width: 0; padding-inline: 18px; }
body.brand-site .directory-card-grid .card-title-row h3 { font-size: 20px; font-weight: 600; line-height: 1.3; overflow-wrap: normal; }
body.brand-site .directory-card-grid .card-actions { align-items: stretch; flex-direction: column; }
body.brand-site .directory-card-grid .card-actions :is(.button, button) { flex: 0 0 auto; height: auto; min-height: 48px; padding: 15px 24px; width: 100%; }
body.brand-site .directory-map-meta { background: var(--mpb-color-fond-poudre); color: var(--mpb-color-encre); }
body.brand-site .directory-map-meta :is(strong, span) { color: var(--mpb-color-encre); }
body.brand-site .directory-map-pin { background: var(--mpb-color-bordeaux); color: var(--mpb-color-sur-bordeaux); }
body.brand-site :is(.directory-search-intro, .profile-v3-description, .profile-v3-copy p) { color: var(--mpb-color-texte); font-size: 17px; font-weight: 300; line-height: 1.65; }
body.brand-site :is(.directory-search-tags span, .chip, .badge, .profile-v3-price-chip, .profile-v3-trust) { background: var(--mpb-color-fond-poudre); border-color: var(--mpb-color-trait); color: var(--mpb-color-encre); }
body.brand-site :is(.filter-sidebar h2, .filter-sidebar h3, .profile-v3-sticky-card h2) { color: var(--mpb-color-encre); font-size: 20px; font-weight: 600; }
body.brand-site .filter-sidebar :is(label, .filter-option, p) { color: var(--mpb-color-texte); font-size: 15px; font-weight: 300; }
body.brand-site :is(.filter-option input:checked + span, .chip.active, .badge-selected) { background: var(--mpb-color-rose); border-color: var(--mpb-color-bordeaux); color: var(--mpb-color-encre); }
body.brand-site :is(.photographer-card p, .photographer-card .card-meta, .profile-v3-price-card p, .profile-v3-option-panel p) { color: var(--mpb-color-texte); font-size: 15px; font-weight: 300; line-height: 1.6; }
body.brand-site :is(.photographer-card strong, .profile-v3-trust strong) { color: var(--mpb-color-encre); font-weight: 600; }
body.brand-site :is(.card-actions .button, .profile-v3-actions .button, .profile-v3-sticky-card .button, .filter-sidebar button[type="submit"]) { border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .07em; line-height: 16px; }
body.brand-site :is(.profile-v3-trust p, .profile-v3-trust li, .profile-v3-trust h2, .profile-v3-trust h3) { color: var(--mpb-color-encre); }
body.brand-site :is(.profile-v3-frame, .profile-v3-portfolio-grid img) { border-radius: 24px; }
body.brand-site :is(.selection-cart-toggle, .selection-cart-panel, .selection-tray, .directory-selection-tray) { background: var(--mpb-color-fond-poudre); border-color: var(--mpb-color-trait); color: var(--mpb-color-encre); }
body.brand-site :is(.selection-cart-toggle strong, .selection-cart-count, .selection-tray strong, .selection-cart-panel h2) { color: var(--mpb-color-encre); font-family: var(--font-body); font-weight: 600; }
body.brand-site .selection-cart-count { background: var(--mpb-color-rose); }
body.brand-site .selection-cart-panel { border-radius: 24px; box-shadow: none; gap: 14px; grid-template-columns: minmax(0, 1fr); max-height: min(70dvh, 640px); padding: 24px; width: min(440px, calc(100vw - 48px)); }
body.brand-site .selection-cart-panel-head { gap: 14px; min-width: 0; }
body.brand-site .selection-cart-panel-head > div { min-width: 0; }
body.brand-site .selection-cart-panel h2 { font-size: 20px; line-height: 1.3; overflow-wrap: anywhere; }
body.brand-site .selection-cart-panel .eyebrow { color: var(--mpb-color-bordeaux); }
body.brand-site .selection-cart-panel :is(.selection-summary, .selection-summary strong, .selection-summary span, .selection-summary small, .selection-empty, .selection-list-copy strong) { color: var(--mpb-color-texte); }
body.brand-site .selection-cart-panel .selection-summary strong { font-size: 15px; font-weight: 600; line-height: 1.6; }
body.brand-site .selection-cart-panel .selection-summary :is(span, small) { font-size: 13px; font-weight: 300; line-height: 1.5; max-width: 100%; overflow: visible; overflow-wrap: anywhere; white-space: normal; }
body.brand-site .selection-cart-panel .selection-summary strong > span { display: inline; font-size: inherit; font-weight: inherit; }
body.brand-site .selection-cart-panel :is(.selection-list, .selection-list-item) { min-width: 0; }
body.brand-site .selection-cart-panel :is(.selection-list-item, .selection-empty) { background: var(--mpb-color-fond); border-color: var(--mpb-color-trait); border-radius: 18px; padding: 14px; }
body.brand-site .selection-cart-panel .selection-empty { font-size: 15px; font-weight: 300; line-height: 1.6; }
body.brand-site .selection-cart-panel .selection-list-item { gap: 8px; }
body.brand-site .selection-cart-panel .selection-list-rank { background: var(--mpb-color-bordeaux); color: var(--mpb-color-sur-bordeaux); font-size: 13px; font-weight: 600; }
body.brand-site .selection-cart-panel .selection-list-copy { margin: 0; padding: 0; }
body.brand-site .selection-cart-panel .selection-list-copy :is(strong, small) { overflow: visible; overflow-wrap: anywhere; white-space: normal; }
body.brand-site .selection-cart-panel .selection-list-copy strong { color: var(--mpb-color-encre); font-size: 15px; font-weight: 600; line-height: 1.4; }
body.brand-site .selection-cart-panel .selection-list-copy small { color: var(--mpb-color-texte-discret); font-size: 13px; font-weight: 300; line-height: 1.5; }
body.brand-site .selection-cart-panel :is(.selection-cart-close, .selection-list-remove) { background: var(--mpb-color-gris-bouton); border: 0; color: var(--mpb-color-encre); flex-shrink: 0; font-size: 13px; font-weight: 600; letter-spacing: .07em; line-height: 16px; min-height: 44px; padding: 8px 14px; text-transform: uppercase; }
body.brand-site .selection-cart-panel :is(.selection-cart-close, .selection-list-remove):hover { background: var(--mpb-color-rose); color: var(--mpb-color-encre); }
body.brand-site .selection-cart-panel :is(a, button):focus-visible { outline: 2px solid var(--mpb-color-bordeaux); outline-offset: 3px; }
body.brand-site .selection-cart-submit { min-height: 48px; min-width: 0; white-space: normal; }
body.brand-site .selection-cart-submit::after { content: none; }
@media (max-width: 860px) {
    body.brand-site .site-header .selection-cart-panel { left: 24px; max-height: calc(100dvh - 120px - var(--visual-viewport-bottom-offset, 0px)); position: fixed; right: 24px; top: 96px; width: auto; }
}
@media (max-width: 767px) {
    body.brand-site .selection-cart-panel .selection-list-item { grid-template-columns: 28px minmax(0, 1fr); }
    body.brand-site .selection-cart-panel .selection-list-remove { grid-column: 2; justify-self: start; }
}
body.brand-site :is(.mobile-flow-nav, .section-anchor-nav, .profile-v3-nav) { background: var(--mpb-color-fond); border-color: var(--mpb-color-trait); color: var(--mpb-color-encre); }
body.brand-site :is(.mobile-flow-nav a, .section-anchor-nav a, .profile-v3-nav a) { color: var(--mpb-color-texte); font-size: 13px; font-weight: 600; }
body.brand-site :is(.mobile-flow-nav a.is-active, .section-anchor-nav a.is-active, .profile-v3-nav a.is-active) { background: var(--mpb-color-rose); border-color: var(--mpb-color-bordeaux); color: var(--mpb-color-encre); }
body.brand-site :is(.city-geo-button, .directory-location-current) { background: var(--mpb-color-gris-bouton); border-color: var(--mpb-color-trait); color: var(--mpb-color-bordeaux); }
body.brand-site :is(.city-suggestions, .city-suggestion) { background: var(--mpb-color-fond); border-color: var(--mpb-color-trait); color: var(--mpb-color-encre); }
body.brand-site :is(.city-suggestion:hover, .city-suggestion.is-active) { background: var(--mpb-color-fond-poudre); }

/* The full-screen click target stays transparent; only the inner card is opaque. */
body.brand-site .home-charter-dialog { background: transparent; border: 0; border-radius: 0; }
body.brand-site .home-charter-dialog::backdrop { background: rgb(71 71 70 / 32%); backdrop-filter: none; }
body.brand-site .home-charter-dialog.is-dialog-fallback { background: rgb(71 71 70 / 32%); }
body.brand-site .home-charter-dialog-panel { background: var(--mpb-color-fond); border: 1px solid var(--mpb-color-trait); border-radius: 24px; }
body.brand-site .home-charter-dialog :is(h2, h3, p, li) { color: var(--mpb-color-texte); font-family: var(--font-body); }
body.brand-site .home-charter-dialog h2 { color: var(--mpb-color-encre); font-size: 44px; font-weight: 200; }
body.brand-site .home-charter-dialog h3 { color: var(--mpb-color-encre); font-size: 20px; font-weight: 600; }
body.brand-site .home-charter-dialog :is(p, li) { font-size: 17px; font-weight: 300; }
body.brand-site :is(.home-charter-dialog-header, .home-charter-dialog-footer, .home-charter-closing-statement) { background: var(--mpb-color-fond-poudre); background-image: none; border-color: var(--mpb-color-trait); color: var(--mpb-color-encre); }
body.brand-site .home-charter-dialog-close { background: var(--mpb-color-gris-bouton); color: var(--mpb-color-encre); }

body.brand-site :is(.training-page .training-hero, .training-status-locked, .training-locked-card aside) { background: var(--mpb-color-fond-poudre); color: var(--mpb-color-encre); }
body.brand-site .training-page .training-hero::after { display: none; }
body.brand-site :is(.training-hero-copy h1, .training-hero-copy h2, .training-hero-copy p:not(.eyebrow), .training-locked-card aside p) { color: var(--mpb-color-encre); }
body.brand-site :is(.training-status-done, .training-badge-stack span) { background: var(--mpb-color-sauge); color: var(--mpb-color-encre); }
body.brand-site .training-status-active { background: var(--mpb-color-rose); color: var(--mpb-color-bordeaux); }
body.brand-site .training-progress-track { background: var(--mpb-color-trait); }
body.brand-site .training-chapter-list span { color: var(--mpb-color-bordeaux); }

/* Replace high-weight metadata and dark panels left by the previous identity. */
body.brand-site .home-trust-title-main { color: var(--mpb-color-encre); }
body.brand-site .photographer-card :is(.photo-badge, .meta, .card-meta-strip span, .card-carousel-control) { color: var(--mpb-color-texte); font-size: 13px; font-weight: 300; line-height: 1.5; }
body.brand-site .photographer-card .photo-badge { background: var(--mpb-color-fond); color: var(--mpb-color-encre); font-weight: 600; }
body.brand-site .photographer-card :is(.rating-pill, .card-meta-strip span) { background: var(--mpb-color-fond-poudre); border-color: var(--mpb-color-trait); color: var(--mpb-color-encre); }
body.brand-site .photographer-card .card-carousel-control { background: var(--mpb-color-fond); color: var(--mpb-color-bordeaux); font-size: 24px; }
body.brand-site .photographer-card.is-selected { border-color: var(--mpb-color-bordeaux); }
body.brand-site :is(.home-guide-body > span, .home-guide-body > a, .cms-page a:not(.button), .cms-index-page a:not(.button), .specialty-page summary, .specialty-page a:not(.button), .specialty-page span, .local-seo-page a:not(.button), .local-seo-page span) { color: var(--mpb-color-bordeaux); font-weight: 600; }
body.brand-site :is(.directory-search-tags span, .directory-filter-head a, .directory-filters-summary span, .directory-page .chip) { font-size: 13px; font-weight: 600; line-height: 1.5; }
body.brand-site .directory-map { background: var(--mpb-color-fond-poudre); background-image: none; }
body.brand-site .directory-map :is(.map-pin-index, .directory-map-fallback-status), body.brand-site .directory-map-list-rank { font-size: 13px; font-weight: 600; }
body.brand-site .directory-map .map-pin-index { background: var(--mpb-color-bordeaux); color: var(--mpb-color-sur-bordeaux); }
body.brand-site .directory-map :is(.map-pin-card, .map-note), body.brand-site .directory-map-list-rank { background: var(--mpb-color-fond); border-color: var(--mpb-color-trait); color: var(--mpb-color-encre); }
body.brand-site .directory-map-card :is(.directory-map-count span, .directory-map-meta strong) { font-size: 13px; font-weight: 600; }
body.brand-site .directory-map-list-item button { background: var(--mpb-color-gris-bouton); border: 1px solid var(--mpb-color-trait); border-radius: 999px; color: var(--mpb-color-encre); font-size: 13px; font-weight: 600; }
body.brand-site .directory-map-list-item button[aria-pressed="true"] { background: var(--mpb-color-bordeaux); border-color: var(--mpb-color-bordeaux); color: var(--mpb-color-sur-bordeaux); }
body.brand-site .directory-map-list-item.is-selected { background: var(--mpb-color-rose); border-color: var(--mpb-color-bordeaux); }
body.brand-site .directory-map-placement-label { color: var(--mpb-color-bordeaux); display: block; font-size: 13px; font-weight: 600; line-height: 1.5; white-space: normal; }
body.brand-site .profile-v3-page :is(.profile-back-link, figcaption, .profile-v3-proof-row span, .profile-contest-distinction-rank, .profile-badge-icon, dt, dd) { color: var(--mpb-color-encre); font-size: 13px; font-weight: 600; line-height: 1.5; }
body.brand-site .profile-v3-page :is(.profile-v3-intro, .profile-v3-section-head > p:not(.eyebrow)) { color: var(--mpb-color-texte); font-size: 17px; font-weight: 300; line-height: 1.65; }
body.brand-site .profile-v3-page :is(.profile-v3-price-chip span, .profile-v3-decision-grid article > span, .profile-v3-review-score > span, .profile-v3-reviews small, .profile-badge-detail small) { color: var(--mpb-color-texte-discret); font-size: 13px; font-weight: 300; line-height: 1.5; }
body.brand-site .profile-v3-sticky-card { align-items: start; align-content: start; }
body.brand-site .profile-v3-sticky-card > .button { align-self: start; height: auto; }
body.brand-site .profile-v3-page :is(.profile-v3-section.profile-v3-trust, .profile-badge-detail, .profile-v3-badge-fallback .badge) { background: var(--mpb-color-fond-poudre); border-color: var(--mpb-color-trait); color: var(--mpb-color-encre); }
body.brand-site .profile-v3-page .profile-v3-section.profile-v3-trust :is(.profile-v3-reviews article, .profile-badge-detail[open]) { background: var(--mpb-color-fond); border-color: var(--mpb-color-trait); }
body.brand-site :is(.cms-index-page, .cms-page, .local-seo-page, .specialty-page) { padding-block: var(--mpb-section-space); }
/* Let editorial grids shrink inside the shared gutters, including empty results. */
body.brand-site :is(.cms-index-page, .cms-article-page) { grid-template-columns: minmax(0, 1fr); }
body.brand-site :is(.cms-index-page, .cms-article-page, .cms-hero, .cms-hero-copy, .cms-feature-layout, .cms-feature-card, .cms-guide-section, .cms-guide-grid, .cms-article-hero, .cms-article-hero-copy, .cms-article-layout, .cms-related-grid) > * { min-width: 0; }
body.brand-site :is(.cms-index-page, .cms-page, .local-seo-page, .specialty-page) p:not(.eyebrow) { color: var(--mpb-color-texte); font-size: 17px; font-weight: 300; line-height: 1.65; }
body.brand-site :is(.cms-search-panel .field > span, .local-seo-search .field > label) { color: var(--mpb-color-encre); font-size: 15px; font-weight: 600; }
body.brand-site :is(.cms-guide-tag, .cms-article-fact span, .specialty-collage-photo span, .specialty-proof-row span) { color: var(--mpb-color-texte-discret); font-size: 13px; font-weight: 300; }
body.brand-site :is(.cms-decision-card > span, .cms-article-aside .cms-article-fact > span) { color: var(--mpb-color-bordeaux); font-weight: 200; }
body.brand-site .cms-page.cms-article-page h2 { color: var(--mpb-color-encre); font-size: 44px; font-weight: 200; line-height: 1.25; }
body.brand-site .cms-page.cms-article-page h3 { color: var(--mpb-color-encre); font-size: 20px; font-weight: 600; line-height: 1.3; }
body.brand-site :is(.cms-side-cta, .cms-article-aside, .cms-article-city-search, .specialty-final-cta, .local-final-cta, .specialty-panel, .local-editorial-panel, .local-zone-panel) { background: var(--mpb-color-fond-poudre); background-image: none; border-color: var(--mpb-color-trait); color: var(--mpb-color-texte); }
body.brand-site :is(.cms-side-cta, .cms-article-aside, .cms-article-city-search, .specialty-final-cta, .local-final-cta) :is(h2, p, span, label) { color: var(--mpb-color-encre); }
body.brand-site :is(.cms-side-cta, .cms-article-aside) h2 { font-size: 20px; font-weight: 600; line-height: 1.3; }
body.brand-site :is(.cms-hero-visual, .cms-article-visual, .cms-hero-visual img, .cms-article-visual img, .specialty-collage-photo) { border-radius: 24px; }
body.brand-site.request-space .request-recipient-info span { color: var(--mpb-color-texte-discret); font-size: 13px; }
body.brand-site.request-space .request-recipient-toggle { font-size: 13px; }

body.brand-site .home-guide-card :is(div > span, a:not(.home-guide-thumb)), body.brand-site .filter-head a, body.brand-site .filter-option span { color: var(--mpb-color-encre); font-size: 13px; font-weight: 600; }
body.brand-site .home-guide-card a:not(.home-guide-thumb) { color: var(--mpb-color-bordeaux); }
body.brand-site .directory-map-card :is(.directory-map-head > div > span, .directory-map-meta span, .directory-map-fullscreen-toggle span, .directory-map-location strong) { color: var(--mpb-color-texte); font-size: 13px; font-weight: 300; }
body.brand-site .profile-v3-page :is(.profile-v3-proof span, .profile-v3-sidebar-price > span) { color: var(--mpb-color-texte); font-size: 13px; font-weight: 300; }
body.brand-site .cms-page :is(.cms-guide-takeaway-grid article > span, .cms-article-body summary) { color: var(--mpb-color-bordeaux); font-size: 13px; font-weight: 600; }
body.brand-site.request-space .request-header strong { color: var(--mpb-color-encre); }

body.brand-site .home-guide-card .home-guide-meta span { color: var(--mpb-color-texte-discret); font-size: 13px; font-weight: 300; }
body.brand-site .directory-map-card :is(.directory-map-toolbar span, .directory-map-toolbar strong, .map-center-label span) { color: var(--mpb-color-texte); font-size: 13px; font-weight: 300; }
body.brand-site.request-space .request-selection-count strong { color: var(--mpb-color-encre); }

body.brand-site :is(.cms-hero-copy, .cms-article-hero-copy, .local-seo-copy, .specialty-hero-copy) > p:not(.eyebrow) { font-size: 19px; line-height: 1.7; }
body.brand-site .cms-search-panel > button { align-self: center; flex: 0 0 auto; height: auto; min-height: 48px; }

body.brand-site .audience-footer .footer-text-link { font-weight: var(--mpb-font-weight-strong); }
body.brand-site .audience-footer .public-footer-area-links a { font-size: var(--mpb-font-size-caption); }

/* Unavailable profiles and error pages use the same quiet identity. */
body.brand-site .photo-placeholder { background: var(--mpb-color-fond-poudre); background-image: none; }
body.brand-site .public-status-page { background: var(--mpb-color-fond); background-image: none; border-color: var(--mpb-color-trait); padding: var(--mpb-section-space) var(--mpb-gutter); }
body.brand-site .public-status-copy > p:not(.eyebrow) { color: var(--mpb-color-texte); font-size: var(--mpb-font-size-lead); font-weight: 300; line-height: var(--mpb-font-line-lead); }
body.brand-site .public-status-copy .eyebrow { color: var(--mpb-color-bordeaux); }
body.brand-site .public-status-visual { background: var(--mpb-color-rose); border: 0; border-radius: 24px; justify-self: center; max-width: 240px; width: 100%; }
body.brand-site .public-status-code { color: var(--mpb-color-bordeaux); font-family: var(--font-body); font-size: var(--mpb-font-size-step); font-weight: 200; letter-spacing: normal; }
body.brand-site :is(.public-status-home-link, .public-status-home-link:hover) { color: var(--mpb-color-bordeaux); font-size: 15px; font-weight: 600; }
body.brand-site .public-status-footer { background: var(--mpb-color-fond-poudre); color: var(--mpb-color-texte); font-size: 13px; font-weight: 300; }
body.brand-site .public-status-footer a { color: var(--mpb-color-bordeaux); font-weight: 600; }

body.brand-site .profile-mobile-cta { background: var(--mpb-color-fond); border-color: var(--mpb-color-trait); color: var(--mpb-color-encre); }
body.brand-site .profile-mobile-cta > div > span { color: var(--mpb-color-texte-discret); font-size: var(--mpb-font-size-caption); font-weight: 300; }
body.brand-site .profile-mobile-cta > div > strong { color: var(--mpb-color-encre); font-size: var(--mpb-font-size-small); font-weight: 600; }
body.brand-site .profile-mobile-cta > .button.button-accent { background: var(--mpb-color-bordeaux); border-color: var(--mpb-color-bordeaux); color: var(--mpb-color-sur-bordeaux); font-size: var(--mpb-font-size-button); font-weight: 600; letter-spacing: .07em; line-height: 16px; }

@media (max-width: 1199px) {
    body.brand-site .directory-layout, body.brand-site .directory-layout.is-city-search { grid-template-columns: 240px minmax(0, 1fr); }
    body.brand-site .directory-layout:not(.is-city-search) > .directory-results { grid-column: 2; grid-row: 1 / span 2; }
    body.brand-site .directory-layout > .directory-side-panel { grid-column: 1; grid-row: 2; }
    body.brand-site .directory-layout .directory-card-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    body.brand-site .directory-layout, body.brand-site .directory-layout.is-city-search { grid-template-columns: minmax(0, 1fr); }
    body.brand-site .directory-layout > .directory-side-panel, body.brand-site .directory-layout:not(.is-city-search) > .directory-results { grid-column: 1; grid-row: auto; }
    body.brand-site .directory-layout :is(.filter-sidebar, .directory-tools-column, .directory-side-panel) { max-width: 100%; width: 100%; }
    body.brand-site .directory-layout .directory-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
    body.brand-site .cms-feature-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1023px) {
    body.brand-site .home-trust-section { gap: 40px; grid-template-columns: 1fr; }
    body.brand-site .home-trust-photo { min-height: 360px; }
    body.brand-site .home-trust-markers { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
    body.brand-site .directory-layout .directory-card-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    body.brand-site.parents-site .cms-search-panel { grid-template-columns: minmax(0, 1fr); }
    body.brand-site :is(.home-copy h1, .directory-search-main h1, .profile-v3-copy h1, .cms-hero h1, .seo-hero h1, .specialty-hero-copy h1, .local-seo-copy h1) { font-size: clamp(32px, 8vw, 44px); line-height: 1.25; }
    body.brand-site :is(.home-how-heading h2, .home-trust-copy h2, .home-nearby-copy h2, .home-guides-section h2, .home-pro-cta h2, .profile-v3-section-head h2, .home-charter-dialog h2) { font-size: 28px; }
    body.brand-site .cms-page.cms-article-page h2 { font-size: 28px; }
    body.brand-site .public-status-visual { max-width: 128px; }
    body.brand-site .home-copy h1 { max-width: none; }
    body.brand-site .home-trust-section { padding-inline: 24px; }
    body.brand-site .home-trust-photo { min-height: 280px; }
    body.brand-site .home-how-grid { gap: 40px; grid-template-columns: 1fr; }
    body.brand-site .home-how-step { align-items: start; column-gap: 14px; grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: auto auto auto; justify-items: start; text-align: left; }
    body.brand-site .home-how-step > img { grid-column: 1; grid-row: 1 / span 3; margin: 0; }
    body.brand-site .home-how-number { align-self: start; grid-column: 2; grid-row: 1; height: auto; margin: 0 0 8px; width: auto; }
    body.brand-site .home-how-step h3 { grid-column: 2; grid-row: 2; margin: 0 0 14px; }
    body.brand-site .home-how-step p { grid-column: 2; grid-row: 3; margin: 0; }
    body.brand-site :is(.hero-search, .home-pro-cta, .profile-v3-actions, .card-actions) { min-width: 0; }
    body.brand-site .hero-search { max-width: 100%; }
    body.brand-site .home-charter-dialog :is(h2, h3, p, li) { overflow-wrap: anywhere; }
}
