/* Mazgan Pro: HVAC profile layouts adapted from the platform's October 2026 panels.
   Tenant palette is deliberately independent of the aluminium theme. */
body.mp-profile-page {
  --mp-blue: #003f87; --mp-blue-hover: #0056b3; --mp-teal: #006a62;
  --mp-surface: #fff; --mp-soft: #f1f6fb; --mp-line: #d8e3ed;
  --mp-ink: #172e47; --mp-muted: #526679; --mp-pale: #e8fbf9;
  --mp-shadow: 0 6px 22px rgb(0 63 135 / 5%);
  background: #f6f8fb;
}
html.dark body.mp-profile-page {
  --mp-blue: #96bbff; --mp-blue-hover: #b9d2ff; --mp-teal: #6fe0d6;
  --mp-surface: #16202b; --mp-soft: #1c2b3b; --mp-line: #32485e;
  --mp-ink: #edf4fc; --mp-muted: #b9c9d8; --mp-pale: #193c3b;
  --mp-shadow: 0 6px 22px rgb(0 0 0 / 15%); background: #0f151c;
}
body.mp-profile-page main.container { width: 100%; max-width: none; padding: 0; }
body.mp-profile-page [hidden] { display: none !important; }
body.mp-profile-page :is(#about,#gallery,#reviews,#faq,#details) { scroll-margin-top: 110px; }
body.mp-profile-page :is(button,a,summary,input,textarea):focus-visible { outline: 3px solid var(--mp-teal); outline-offset: 4px; }
.mp-profile-container { width: 100%; min-width: 0; margin-inline: auto; }
.mp-profile-hero,.mp-about-panel,.mp-gallery-panel,.mp-reviews-panel,.mp-details-panel,.mp-selection-guide,.mp-direct-contact,.mp-faq-wrap {
  width: min(1320px, calc(100% - 48px)); margin: 24px auto; padding: 32px;
  border: 1px solid var(--mp-line); border-radius: 20px; background: var(--mp-surface);
  box-shadow: var(--mp-shadow); color: var(--mp-ink);
}
.mp-profile-hero { position: relative; border-top: 4px solid var(--mp-blue); }
.mp-profile-hero__grid { display: grid; grid-template-columns: minmax(0,1fr) 324px; column-gap: 36px; row-gap: 24px; align-items: start; }
.mp-profile-hero__content { min-width: 0; grid-column: 1; grid-row: 1; }
.mp-profile-hero__grid > .mp-identity-card { grid-column: 2; grid-row: 1 / span 3; }
.mp-profile-heading { display: grid; gap: 12px; }
.mp-profile-hero h1 { margin: 0; max-width: none; font-size: clamp(27px,3vw,37px); line-height: 1.25; font-weight: 800; letter-spacing: -.6px; color: var(--mp-ink); overflow-wrap: anywhere; }
.mp-profile-intro { margin: 0; max-width: 700px; font-size: 16px; line-height: 1.75; color: var(--mp-muted); }
.mp-profile-breadcrumbs { display: flex; flex-wrap: wrap; gap: 6px 9px; margin: 0 0 20px; padding: 0; font-size: 13px; }
.mp-profile-breadcrumbs a { color: var(--mp-muted); font-weight: 500; }
.mp-profile-breadcrumbs .active { color: var(--mp-ink); font-weight: 600; }
.mp-profile-breadcrumbs .crumb-sep { color: var(--mp-muted); opacity: .5; }
.mp-profile-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.mp-domain-badge,.mp-open-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; min-height: 30px; border-radius: 8px; font-size: 13px; line-height: 20px; font-weight: 600; }
.mp-domain-badge { background: var(--mp-soft); color: var(--mp-blue); }
.mp-open-status { background: var(--mp-pale); color: var(--mp-teal); }
.mp-open-status__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.mp-profile-meta { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: 0; padding: 14px 16px; border: 1px solid var(--mp-line); border-radius: 12px; background: var(--mp-soft); font-size: 15px; color: var(--mp-muted); }
.mp-profile-meta__item { display: flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%; }
.mp-profile-meta__item > svg { flex: 0 0 20px; color: var(--mp-blue); }
.mp-profile-meta__item > span { min-width: 0; overflow-wrap: anywhere; }
.mp-profile-meta a { color: var(--mp-blue); font-weight: 600; }
.mp-profile-meta bdi { white-space: nowrap; }
.mp-profile-services { grid-column: 1; grid-row: 2; min-width: 0; }
.mp-profile-services__title { margin: 0 0 12px; font-size: 14px; font-weight: 700; color: var(--mp-muted); }
.mp-profile-trust { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 22px; list-style: none; padding: 0; margin: 0; font-size: 15px; line-height: 1.6; }
.mp-profile-trust li { display: flex; gap: 9px; align-items: flex-start; min-width: 0; overflow-wrap: anywhere; }
.mp-profile-trust li > span { display: inline-grid; place-items: center; width: 20px; height: 20px; flex: 0 0 20px; margin-top: 2px; color: var(--mp-teal); background: var(--mp-pale); border-radius: 6px; font-size: 12px; }
.mp-profile-topics { grid-column: 1; grid-row: 3; display: flex; gap: 10px; align-items: baseline; min-width: 0; }
.mp-profile-topics__label { color: var(--mp-muted); font-size: 13px; }
.mp-profile-topics ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.mp-profile-topics li { min-width: 0; max-width: 100%; }
.mp-profile-topics a { display: block; padding: 6px 12px; border: 1px solid var(--mp-line); border-radius: 7px; color: var(--mp-blue); background: var(--mp-surface); font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
.mp-profile-topics a:hover { background: var(--mp-soft); }
.mp-admin-edit { display: inline-flex; margin-top: 16px; min-height: 44px; }
.mp-identity-card { display: flex; flex-direction: column; gap: 18px; padding: 22px; border: 1px solid var(--mp-line); border-radius: 16px; background: var(--mp-soft); min-width: 0; }
.mp-identity-header { display: contents; }
.mp-avatar { display: flex; justify-content: center; align-items: center; height: 156px; padding: 16px; background: var(--mp-surface); border: 1px solid var(--mp-line); border-radius: 12px; overflow: hidden; }
.mp-avatar img { display: block; width: 100%; height: 100%; max-width: 240px; object-fit: contain; }
.mp-name-tile { display: grid; place-items: center; width: 100%; height: 100%; padding: 14px; background: var(--mp-soft); color: var(--mp-blue); font-size: clamp(18px,2vw,25px); font-weight: 800; line-height: 1.3; text-align: center; overflow-wrap: anywhere; border-radius: 10px; }
.mp-identity-rating { display: flex; justify-content: center; align-items: center; gap: 12px; color: var(--mp-ink); }
.mp-identity-rating:hover { color: var(--mp-blue); }
.mp-identity-rating__score { font-size: 40px; line-height: 1; font-weight: 800; }
.mp-identity-rating__summary { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; color: var(--mp-muted); font-size: 13px; line-height: 1.4; }
.mp-identity-header > .mp-share-link { order: 3; }
.mp-identity-content { min-width: 0; }
.mp-profile-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.mp-identity-card .mp-profile-actions { flex-direction: column; }
.mp-profile-actions .btn { min-width: 0; min-height: 48px; display: inline-flex; justify-content: center; align-items: center; gap: 9px; border-radius: 10px; font-weight: 700; font-size: 16px; padding: 12px 16px; cursor: pointer; }
body:not(.admin-body) .btn.mp-call-btn,body:not(.admin-body) .btn.mp-call-btn:hover { background: #003f87; color: white; border: 1px solid #003f87; box-shadow: none; }
body:not(.admin-body) .btn.mp-call-btn:hover { background: #0056b3; border-color: #0056b3; }
body:not(.admin-body) .btn.mp-whatsapp-btn { background: var(--mp-pale); color: var(--mp-teal); border: 1px solid var(--mp-teal); box-shadow: none; }
body:not(.admin-body) .btn.mp-whatsapp-btn:hover { background: var(--mp-surface); color: var(--mp-teal); }
body:not(.admin-body) .btn.mp-lead-btn { background: #003f87; color: white; border: 1px solid #003f87; }
.mp-whatsapp-label--mobile { display: none; }
.mp-profile-actions svg { flex-shrink: 0; }
.mp-phone-number { direction: ltr; unicode-bidi: isolate; font-variant-numeric: tabular-nums; }
.mp-star-meter { --rating-percent: 0%; display: inline-block; width: max-content; position: relative; direction: ltr; color: #bdcbd8; letter-spacing: 1px; white-space: nowrap; line-height: 1; }
.mp-star-meter::before,.mp-star-meter::after { content: "★★★★★"; }
.mp-star-meter::after { position: absolute; left: 0; top: 0; overflow: hidden; white-space: nowrap; width: min(100%,max(0%,var(--rating-percent))); color: var(--mp-teal); }
.mp-share-link { display: inline-flex; justify-content: center; align-items: center; gap: 6px; width: fit-content; min-height: 36px; margin: 0 auto; padding: 4px 8px; border: 0; background: transparent; font: inherit; font-size: 14px; color: var(--mp-blue); cursor: pointer; }
.mp-share-link:hover { text-decoration: underline; }
.mp-share-dialog { width: min(460px,calc(100% - 32px)); max-height: calc(100dvh - 40px); padding: 24px; overflow: auto; border: 1px solid var(--mp-line); border-radius: 18px; color: var(--mp-ink); background: var(--mp-surface); box-shadow: 0 24px 80px rgb(0 28 60 / 25%); }
.mp-share-dialog::backdrop,.mp-gallery-lightbox::backdrop { background: rgb(9 28 48 / 78%); backdrop-filter: blur(4px); }
.mp-share-dialog__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.mp-share-dialog__head h2 { margin: 0; font-size: 22px; }
.mp-share-close { width: 40px; height: 40px; border: 1px solid var(--mp-line); border-radius: 50%; background: var(--mp-soft); color: var(--mp-ink); font-size: 24px; cursor: pointer; }
.mp-share-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 18px; }
.mp-share-options a { padding: 12px; text-align: center; border: 1px solid var(--mp-line); border-radius: 10px; color: var(--mp-blue); background: var(--mp-soft); }
.mp-share-copy { width: 100%; }
.mp-share-status { display: block; margin-top: 12px; font-size: 14px; text-align: center; color: var(--mp-muted); }
.mp-share-status:empty { display: none; }
.mp-share-url { width: 100%; margin-top: 12px; direction: ltr; }
.mp-about-panel > .mp-profile-container { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 32px; }
.mp-about-content { grid-column: 1; grid-row: 1; min-width: 0; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; color: var(--mp-muted); }
.mp-about-content > h2 { margin: 0 0 16px; color: var(--mp-ink); font-size: 24px; }
.mp-about-content p:last-child { margin-bottom: 0; }
.mp-about-content img { max-width: 100%; height: auto; }
.mp-about-content table { display: block; max-width: 100%; overflow-x: auto; }
.mp-facts { grid-column: 2; grid-row: 1; padding-inline-start: 28px; border-inline-start: 1px solid var(--mp-line); min-width: 0; }
.mp-facts h2 { margin: 0 0 18px; font-size: 20px; color: var(--mp-ink); }
.mp-facts dl { margin: 0; display: grid; gap: 16px; }
.mp-facts dl > div { padding-bottom: 14px; border-bottom: 1px solid var(--mp-line); }
.mp-facts dl > div:last-child { border: 0; padding-bottom: 0; }
.mp-facts dt { font-size: 13px; color: var(--mp-muted); margin: 0 0 4px; }
.mp-facts dd { margin: 0; font-size: 17px; font-weight: 700; color: var(--mp-blue); overflow-wrap: anywhere; }
.mp-about-panel--no-facts > .mp-profile-container,.mp-about-panel--facts-only > .mp-profile-container { grid-template-columns: minmax(0,1fr); }
.mp-about-panel--facts-only .mp-facts { grid-column: 1; padding: 0; border: 0; }
.mp-section-head { margin: 0 0 22px; text-align: start; }
.mp-section-head h2 { margin: 0; font-size: 24px; line-height: 1.4; color: var(--mp-ink); }
.mp-section-head p { margin: 6px 0 0; font-size: 14px; color: var(--mp-muted); }
.mp-profile-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.mp-profile-gallery a { display: block; min-width: 0; overflow: hidden; border-radius: 12px; background: var(--mp-soft); }
.mp-profile-gallery img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .2s ease; }
.mp-profile-gallery a:hover img { transform: scale(1.025); }
.mp-gallery-more { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 16px; padding: 12px; border: 1px solid var(--mp-line); border-radius: 10px; color: var(--mp-blue); background: var(--mp-soft); font: inherit; cursor: pointer; }
.mp-gallery-lightbox { width: min(1100px,calc(100% - 28px)); max-height: calc(100dvh - 28px); padding: 16px; overflow: auto; border: 1px solid var(--mp-line); border-radius: 16px; color: var(--mp-ink); background: var(--mp-surface); }
.mp-gallery-lightbox__header,.mp-gallery-lightbox__controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.mp-gallery-lightbox__header p { margin: 0; }
.mp-gallery-lightbox__button { display: inline-grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid var(--mp-line); border-radius: 10px; color: var(--mp-blue); background: var(--mp-soft); cursor: pointer; }
.mp-gallery-lightbox figure { margin: 12px 0; min-height: 150px; text-align: center; }
.mp-gallery-lightbox figure img { display: block; width: 100%; height: min(65dvh,760px); object-fit: contain; }
.mp-gallery-lightbox figcaption { margin: 10px 0; color: var(--mp-muted); font-size: 14px; }
.mp-gallery-lightbox__controls a { color: var(--mp-blue); }
.mp-reviews-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); column-gap: 30px; row-gap: 18px; align-items: start; }
.mp-reviews-layout > h2 { grid-column: 2; margin: 0; font-size: 24px; color: var(--mp-ink); line-height: 1.4; }
.mp-rating-card { grid-column: 1; grid-row: 1 / span 4; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding-inline-end: 28px; border-inline-end: 1px solid var(--mp-line); min-width: 0; }
.mp-rating-number { font-size: 46px; font-weight: 800; line-height: 1; color: var(--mp-ink); }
.mp-rating-card > .mp-star-meter { font-size: 20px; }
.mp-rating-card p { margin: 0; font-size: 14px; color: var(--mp-muted); }
.mp-research-label { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 7px; background: var(--mp-soft); color: var(--mp-blue); font-size: 13px; }
.mp-rating-breakdown { width: 100%; display: grid; gap: 10px; }
.mp-rating-row { display: grid; grid-template-columns: 65px minmax(20px,1fr) 26px; align-items: center; gap: 8px; font-size: 12px; }
.mp-rating-bar { height: 5px; background: var(--mp-line); border-radius: 10px; overflow: hidden; }
.mp-rating-bar > span { display: block; height: 100%; background: var(--mp-teal); }
.mp-review-summary { grid-column: 2; color: var(--mp-muted); min-width: 0; font-size: 15px; line-height: 1.7; }
.mp-review-summary h3 { margin: 0 0 6px; color: var(--mp-ink); font-size: 16px; }
.mp-review-summary p { margin: 0; }
.mp-quote-grid { grid-column: 2; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.mp-quote-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; padding: 18px; border: 1px solid var(--mp-line); border-radius: 12px; background: var(--mp-soft); }
.mp-quote-mark { display: none; }
.mp-quote-card p { margin: 0; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; color: var(--mp-ink); }
.mp-quote-card small { margin-top: auto; font-size: 12px; color: var(--mp-muted); }
.mp-reviews-layout > .mp-research-note { grid-column: 2; margin: 0; font-size: 12px; line-height: 1.7; color: var(--mp-muted); }
.mp-details-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.mp-details-card { min-width: 0; }
.mp-details-card h3 { margin: 0 0 14px; color: var(--mp-ink); font-size: 17px; }
.mp-detail-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 15px; }
.mp-detail-list li { display: flex; align-items: flex-start; gap: 12px; }
.mp-detail-list li > span { color: var(--mp-blue); }
.mp-detail-list small { display: block; color: var(--mp-muted); font-size: 13px; }
.mp-detail-list strong { font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.mp-detail-list a { color: var(--mp-blue); }
.mp-hours-list { display: grid; gap: 6px; color: var(--mp-muted); font-size: 15px; }
.mp-details-note { font-size: 13px; color: var(--mp-muted); margin: 12px 0 0; }
.mp-selection-guide { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 32px; }
.mp-selection-guide__eyebrow { display: block; margin-bottom: 10px; color: var(--mp-teal); font-size: 13px; font-weight: 700; }
.mp-selection-guide__heading h2 { margin: 0; font-size: 24px; line-height: 1.4; color: var(--mp-ink); }
.mp-selection-guide__heading p { margin: 10px 0 0; font-size: 14px; color: var(--mp-muted); }
.mp-selection-guide__items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 26px; padding: 0; margin: 0; list-style: none; }
.mp-selection-guide__items li { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.mp-selection-guide__number { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 9px; background: var(--mp-pale); color: var(--mp-teal); font-size: 12px; font-weight: 800; }
.mp-selection-guide__items h3 { margin: 0; font-size: 15px; color: var(--mp-ink); }
.mp-selection-guide__items p { margin: 5px 0 0; color: var(--mp-muted); font-size: 14px; line-height: 1.6; }
.mp-direct-contact { display: grid; grid-template-columns: 96px minmax(0,1fr) 270px; gap: 12px 24px; align-items: center; border-inline-start: 4px solid var(--mp-teal); }
.mp-direct-contact__logo { grid-column: 1; grid-row: 1 / span 2; padding: 8px; background: var(--mp-soft); border: 1px solid var(--mp-line); border-radius: 12px; }
.mp-direct-contact__logo img { display: block; width: 100%; height: 82px; object-fit: contain; }
.mp-direct-contact__logo .mp-name-tile { font-size: 14px; height: 82px; padding: 4px; }
.mp-direct-contact__text { grid-column: 2; min-width: 0; }
.mp-direct-contact__eyebrow { color: var(--mp-teal); font-size: 13px; font-weight: 700; }
.mp-direct-contact h2 { margin: 6px 0; font-size: 23px; line-height: 1.4; }
.mp-direct-contact__text p,.mp-direct-contact__note { margin: 0; font-size: 14px; line-height: 1.7; color: var(--mp-muted); }
.mp-direct-contact__note { grid-column: 2; font-size: 12px; }
.mp-direct-contact .mp-profile-actions { grid-column: 3; grid-row: 1 / span 2; flex-direction: column; }
.mp-direct-contact__call-prefix { display: none; }
.mp-direct-contact .js-business-phone[aria-disabled="false"] .mp-direct-contact__call-prefix { display: inline; }
.mp-faq-wrap { padding: 32px; }
.mp-profile-section:has(.mp-faq-wrap) { padding: 0; }
.mp-faq-panel__heading { margin: 0 0 20px; font-size: 24px; color: var(--mp-ink); }
.mp-faq-list { display: grid; gap: 12px; }
.mp-faq-item { border: 1px solid var(--mp-line); border-radius: 12px; overflow: hidden; background: var(--mp-surface); }
.mp-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px; list-style: none; cursor: pointer; color: var(--mp-ink); font-size: 16px; font-weight: 700; }
.mp-faq-item summary::-webkit-details-marker { display: none; }
.mp-faq-item[open] summary { color: var(--mp-blue); background: var(--mp-soft); }
.mp-faq-item__toggle { flex: 0 0 24px; width: 24px; text-align: center; color: var(--mp-blue); font-size: 22px; }
.mp-faq-item__toggle::before { content: '+'; }
.mp-faq-item[open] .mp-faq-item__toggle::before { content: '−'; }
.mp-faq-item__answer { padding: 14px 18px 18px; font-size: 15px; line-height: 1.8; color: var(--mp-muted); }
.mp-mobile-actions { display: none; }
.mp-lead-modal { position: fixed; z-index: 500; inset: 0; place-items: center; padding: 18px; }
.mp-lead-modal.open { display: grid; }
.mp-lead-modal__backdrop { position: absolute; inset: 0; border: 0; background: rgb(9 28 48 / 78%); cursor: pointer; }
.mp-lead-modal__dialog { position: relative; z-index: 1; width: min(650px,100%); max-height: calc(100dvh - 36px); overflow: auto; padding: 28px; border: 1px solid var(--mp-line); border-radius: 20px; background: var(--mp-surface); color: var(--mp-ink); box-shadow: var(--mp-shadow); }
.mp-lead-modal__dialog h2 { margin: 0 0 22px; padding-inline-end: 28px; font-size: 24px; }
.mp-lead-modal__close { position: absolute; top: 12px; left: 12px; width: 36px; height: 36px; border: 1px solid var(--mp-line); border-radius: 50%; color: var(--mp-ink); background: var(--mp-soft); font-size: 22px; cursor: pointer; }
body.modal-open { overflow: hidden; }
@media(min-width:941px) { .mp-profile-actions .js-business-phone[aria-disabled="false"] .call-label { display: none; } }
@media(max-width:1100px) { .mp-quote-grid { grid-template-columns: 1fr; }.mp-selection-guide { grid-template-columns: 220px minmax(0,1fr); }.mp-direct-contact { grid-template-columns: 70px minmax(0,1fr) 230px; } }
@media(max-width:940px) {
 .mp-profile-hero,.mp-about-panel,.mp-gallery-panel,.mp-reviews-panel,.mp-details-panel,.mp-selection-guide,.mp-direct-contact,.mp-faq-wrap { width: calc(100% - 28px); margin: 16px auto; padding: 22px; border-radius: 16px; }
 .mp-profile-hero__grid { grid-template-columns: minmax(0,1fr); gap: 22px; }
 .mp-profile-hero__content { grid-column: 1; grid-row: 1; }
 .mp-profile-hero__grid > .mp-identity-card { grid-column: 1; grid-row: 2; }
 .mp-profile-services { grid-column: 1; grid-row: 3; }
 .mp-profile-topics { grid-column: 1; grid-row: 4; }
 .mp-profile-hero h1 { font-size: 29px; }
 .mp-profile-breadcrumbs { margin-bottom: 18px; font-size: 12px; }
 .mp-profile-badges { margin-bottom: 0; }
 .mp-identity-card { padding: 16px; gap: 16px; }
 .mp-identity-header { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 8px 16px; align-items: center; }
 .mp-identity-header > .mp-avatar { grid-column: 1; grid-row: 1 / span 2; width: 112px; height: 104px; padding: 10px; }
 .mp-identity-rating { grid-column: 2; grid-row: 1; justify-content: flex-start; gap: 10px; }
 .mp-identity-rating__score { font-size: 32px; }
 .mp-identity-header > .mp-share-link { grid-column: 2; grid-row: 2; margin: 0; justify-content: flex-start; }
 .mp-identity-header:not(:has(.mp-identity-rating)) > .mp-share-link { grid-row: 1 / span 2; }
 .mp-identity-content .mp-profile-meta { margin-bottom: 16px; padding: 12px; background: var(--mp-surface); font-size: 14px; gap: 10px; }
 .mp-identity-card .mp-profile-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .mp-identity-card .mp-profile-actions > :only-child { grid-column: 1 / -1; }
 .mp-profile-actions .btn { font-size: 15px; padding: 12px 9px; }
 .mp-profile-actions .mp-phone-number { display: none; }
 .mp-whatsapp-label--desktop { display: none; }.mp-whatsapp-label--mobile { display: inline; }
 .mp-about-panel > .mp-profile-container { grid-template-columns: minmax(0,1fr); gap: 24px; }
 .mp-facts { grid-column: 1; grid-row: 2; border: 0; border-top: 1px solid var(--mp-line); padding: 24px 0 0; }
 .mp-facts dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
 .mp-facts dl > div { border: 0; padding: 0; }
 .mp-about-content { font-size: 15px; }
 .mp-profile-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .mp-reviews-layout { grid-template-columns: 1fr; gap: 20px; }
 .mp-reviews-layout > h2,.mp-review-summary,.mp-quote-grid,.mp-reviews-layout > .mp-research-note { grid-column: 1; }
 .mp-rating-card { grid-column: 1; grid-row: auto; padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--mp-line); align-items: center; }
 .mp-rating-breakdown { max-width: 380px; }.mp-quote-grid { grid-template-columns: 1fr; }
 .mp-selection-guide { grid-template-columns: 1fr; gap: 22px; }
 .mp-selection-guide__items { gap: 16px; }
 .mp-direct-contact { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .mp-direct-contact__logo { display: none; }
 .mp-direct-contact__text,.mp-direct-contact__note,.mp-direct-contact .mp-profile-actions { grid-column: 1; grid-row: auto; }
 .mp-direct-contact .mp-profile-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
 .mp-direct-contact .mp-profile-actions > :only-child { grid-column: 1 / -1; }
 .mp-direct-contact .js-business-phone[aria-disabled="false"] .mp-direct-contact__call-prefix { display: none; }
}
@media(max-width:648px) {
 body.mp-profile-page main { padding-bottom: 85px !important; }
 .mp-profile-hero,.mp-about-panel,.mp-gallery-panel,.mp-reviews-panel,.mp-details-panel,.mp-selection-guide,.mp-direct-contact,.mp-faq-wrap { padding: 20px 16px; }
 .mp-profile-hero h1 { font-size: 27px; }.mp-profile-intro { font-size: 15px; }
 .mp-profile-trust { grid-template-columns: 1fr; gap: 12px; font-size: 14px; }
 .mp-profile-topics { display: block; }.mp-profile-topics__label { display: block; margin-bottom: 8px; }
 .mp-details-layout { grid-template-columns: 1fr; gap: 26px; }
 .mp-selection-guide__items { grid-template-columns: 1fr; }
 .mp-selection-guide__items li { padding: 14px; border: 1px solid var(--mp-line); border-radius: 12px; background: var(--mp-soft); }
 .mp-section-head h2,.mp-about-content > h2,.mp-reviews-layout > h2,.mp-faq-panel__heading { font-size: 22px; }
 .mp-mobile-actions { display: grid; position: fixed; z-index: 220; right: 10px; left: 10px; bottom: calc(10px + env(safe-area-inset-bottom,0px) + var(--cookie-consent-offset,0px)); grid-template-columns: 1fr; gap: 8px; padding: 8px; border: 1px solid var(--mp-line); border-radius: 16px; background: var(--mp-surface); box-shadow: 0 10px 35px rgb(0 28 60 / 20%); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(calc(100% + 20px)); transition: opacity .18s,visibility .18s,transform .18s; }
 .mp-mobile-actions--two { grid-template-columns: 1fr 1fr; }
 .mp-mobile-actions.has-contact-actions.is-sticky-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
 .mp-mobile-call,.mp-mobile-whatsapp { display: flex; justify-content: center; align-items: center; gap: 8px; min-height: 50px; padding: 10px; border-radius: 10px; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
 .mp-mobile-call { background: #003f87; color: white; border: 1px solid #003f87; }
 .mp-mobile-whatsapp { background: var(--mp-pale); color: var(--mp-teal); border: 1px solid var(--mp-teal); }
 .mp-mobile-actions .call-number { display: none; }
 .mp-lead-modal__dialog { padding: 24px 18px; }.mp-lead-modal__dialog .form-grid { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) { .mp-profile-gallery img,.mp-mobile-actions { transition: none; } }

/* Contact service unavailable: preserve a meaningful, accessible next action. */
.mp-contact-fallback { margin-top: 12px; padding: 12px; border: 1px solid var(--mp-line); border-radius: 10px; background: var(--mp-surface); color: var(--mp-muted); }
.mp-contact-fallback p { margin: 0 0 8px; font-size: 13px; line-height: 1.6; }
.mp-contact-fallback__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.mp-contact-fallback button { min-height: 44px; padding: 6px 10px; border: 1px solid var(--mp-line); border-radius: 8px; background: var(--mp-soft); color: var(--mp-blue); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.mp-contact-fallback button:disabled { cursor: wait; opacity: .7; }

.mp-profile-actions.has-single-contact-action > .btn:not([hidden]), .mp-mobile-actions.has-single-contact-action > button:not([hidden]) { grid-column: 1 / -1; }

.mp-contact-noscript { margin: 12px 0 0; color: var(--mp-muted); font-size: 13px; line-height: 1.6; }
