.contact-mobile-map { display: none; }
/* Phone layout: contact details first, readable map labels, compact branch rows. */
@media (max-width: 760px) {
  .contact-page .branch-breadcrumb { padding-top: 12px; padding-bottom: 0; font-size: 12px; }
  .contact-page .contact-hero { padding: 16px 0 28px; }
  .contact-page .contact-hero-grid { gap: 22px; }
  .contact-page .contact-hero h1.contact-title { position: static; width: auto; height: auto; margin: 0 0 18px; padding: 0; overflow: visible; clip: auto; clip-path: none; white-space: normal; font-size: 26px; line-height: 1.2; letter-spacing: -.025em; }
  .contact-page .contact-info-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
  .contact-page .contact-info-list dt { font-size: 12px; margin-bottom: 3px; }
  .contact-page .contact-info-list dd { font-size: 17px; line-height: 1.45; overflow-wrap: anywhere; }
  .contact-page .contact-info-list > div:nth-child(n + 3) { grid-column: 1 / -1; display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 10px; align-items: baseline; }
  .contact-page .contact-info-list > div:nth-child(n + 3) dd { font-size: 14px; font-weight: 500; }
  .contact-page .contact-info-list > div:nth-child(3) dd a { display: inline-flex; align-items: center; min-height: 44px; color: #128c4a; font-size: 16px; font-weight: 700; }
  .contact-page .contact-info-list > div:nth-child(5) dd { font-size: 13px; }
  .contact-page .contact-info-note { display: none; }

  .contact-page .contact-map { display: none; }
  .contact-page .contact-mobile-map { position: relative; display: block; width: 100%; aspect-ratio: auto; margin: 16px 0 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #eef0f3; }
  .contact-page .contact-mobile-map::before { content: ""; display: block; padding-top: calc(75% + 72px); }
  .contact-mobile-map > img { position: absolute; left: 0; top: 36px; display: block; width: 100%; height: calc(100% - 72px); }
  /* Keep pins on the same projected road coordinates in the padded map. */
  .contact-page .contact-mobile-map .cm-pin--ks { top: calc(70.54% - 14.7888px); }
  .contact-page .contact-mobile-map .cm-pin--fsm { top: calc(72.58% - 16.2576px); }
  .contact-page .contact-mobile-map .cm-pin--yyy { top: calc(40.33% + 6.9624px); }
  .contact-page .contact-mobile-map { container-type: inline-size; }
  .contact-page .contact-mobile-map a.cm-pin { position: absolute; width: 0; height: 0; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: #111316; }
  .contact-page .contact-mobile-map .cm-pin-card { display: grid; grid-template-columns: 44px minmax(0, 1fr); width: clamp(136px, 38cqw, 180px); min-height: 56px; gap: 7px; padding: 6px; border-radius: 9px; background: #fff; box-shadow: 0 3px 12px rgb(17 19 22 / .15); }
  .contact-page .contact-mobile-map .cm-pin-card picture { width: 44px; height: 44px; border-radius: 5px; }
  .contact-page .contact-mobile-map .cm-pin-card strong { display: block; font-size: 12px; line-height: 1.2; white-space: normal; }
  .contact-page .contact-mobile-map .cm-pin-text { min-width: 0; gap: 2px; }
  .contact-page .contact-mobile-map .cm-pin-sub { display: block; font-size: 10px; line-height: 1.3; white-space: normal; }
  .contact-page .contact-mobile-map .cm-pin--ks .cm-pin-card { left: var(--ks-card-left, -58px); top: 8px; transform: none; }
  .contact-page .contact-mobile-map .cm-pin--fsm .cm-pin-card { left: 16px; top: -16px; transform: translateY(-50%); }
  .contact-page .contact-mobile-map .cm-pin--yyy .cm-pin-card { right: 16px; left: auto; top: -16px; transform: translateY(-50%); }
  /* The card pointer meets its own pin: below KS, right of FSM, left of YYY. */
  .contact-page .contact-mobile-map .cm-pin-card::before { content: ""; position: absolute; width: 0; height: 0; border: 4px solid transparent; }
  .contact-page .contact-mobile-map .cm-pin--ks .cm-pin-card::before { left: calc(-1 * var(--ks-card-left, -58px) - 4px); bottom: 100%; border-top: 0; border-bottom: 8px solid #fff; }
  .contact-page .contact-mobile-map .cm-pin--fsm .cm-pin-card::before { right: 100%; top: calc(50% - 4px); border-left: 0; border-right-color: #fff; }
  .contact-page .contact-mobile-map .cm-pin--yyy .cm-pin-card::before { left: 100%; top: calc(50% - 4px); border-right: 0; border-left-color: #fff; }
  @container (min-width: 480px) {
    .contact-page .contact-mobile-map .cm-pin--ks { --ks-card-left: min(-58px, calc(23.27cqw - 198px)); }
  }
  .contact-page .contact-mobile-map figcaption { position: absolute; bottom: 5px; left: auto; right: 8px; max-width: 120px; color: #697581; font-size: 8px; line-height: 1.3; }

  .contact-page .contact-branches-section { padding: 0 0 28px; }
  .contact-page .contact-branches-section .home-section-head { margin-bottom: 8px; }
  .contact-page .contact-branches-section .home-section-head { display: block; width: calc(100% - 32px); }
  .contact-page .contact-branches-section h2 { font-size: 22px; line-height: 1.25; }
  .contact-page .contact-branches { width: calc(100% - 32px); display: grid; gap: 12px; counter-reset: contact-branch; }
  .contact-page .contact-branch { grid-template-columns: 84px minmax(0, 1fr); gap: 8px 14px; align-items: start; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; counter-increment: contact-branch; scroll-margin-top: 90px; }
  .contact-page .contact-branch:target { border-color: #df3c13; }
  .contact-page .contact-branch-media { position: relative; grid-column: 1; grid-row: 1 / span 2; border-radius: 8px; }
  .contact-page .contact-branch-media img { display: block; width: 84px; height: 96px; aspect-ratio: 1; }
  .contact-page .contact-branch-body { display: contents; }
  .contact-page .contact-branch-body h3 { grid-column: 2; margin: 0; font-size: 17px; line-height: 1.3; }
  .contact-page .contact-branch-meta { grid-column: 2; display: block; margin: 0; }
  .contact-page .contact-branch-meta dt, .contact-page .contact-branch-meta > div:nth-child(n + 2) { display: none; }
  .contact-page .contact-branch-meta dd { font-size: 13px; font-weight: 400; line-height: 1.55; color: #566273; }
  .contact-page .contact-branch-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
  body.contact-page-body .contact-branch-actions a.btn.contact-link.contact-action { position: relative; flex: 0 0 auto; min-height: 40px; padding: 7px 12px; border-radius: 7px; font-size: 13px; line-height: 1.4; }
  body.contact-page-body .contact-branch-actions a.contact-action .contact-icon { width: 16px; height: 16px; flex-basis: 16px; }
  body.contact-page-body .contact-branch-actions a.contact-action::after { content: ""; position: absolute; inset: -2px 0; }
  .contact-page .contact-branch-more { display: none; }
  .contact-page .faq { padding: 16px 0 36px; }
  .contact-page .faq h2 { font-size: 22px; line-height: 1.3; }
  body.contact-page-body a.floating-whatsapp, body.contact-page-body .mobile-action-bar { display: none; }
  body.contact-page-body { padding-bottom: env(safe-area-inset-bottom); }
}
