/* One compact contact view, with the actual business pin and direct actions. */
@layer ds, components, contact;
@import url("/ds-v1.css?v=2026102949") layer(ds);
@import url("/ds-components-v1.css?v=2026102949") layer(components);

@layer contact {
  @font-face { font-family: Vazirmatn; src: url('/assets/fonts/Vazirmatn-Variable.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
  @font-face { font-family: Estedad; src: url('/assets/fonts/Estedad-Variable.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
  .ct-page, .ct-page * { box-sizing: border-box; }
  .ct-page { margin: 0; min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; color: var(--ds-ink-1); background: var(--ds-bg); font: 400 16px/1.75 var(--ds-font-sans); }
  .ct-page :is(h1, h2, p, figure, dl, dd) { margin: 0; }
  .ct-page a { color: inherit; }
  .ct-container { width: min(1024px, calc(100% - 40px)); margin-inline: auto; }
  .ct-skip { position: fixed; top: 10px; inset-inline-start: 10px; padding: 10px 16px; border-radius: 10px; background: var(--ds-secondary); transform: translateY(-160%); z-index: 10; }
  .ct-page .ct-skip { color: var(--ds-on-secondary); }
  .ct-skip:focus { transform: none; }
  .ct-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 80px; border-block-end: 1px solid var(--ds-line); }
  .ct-brand { display: inline-flex; min-height: 44px; align-items: center; }
  .ct-header nav { display: flex; gap: 8px; }
  .ct-header nav a { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 14px; text-decoration: none; font-size: 14px; font-weight: 600; border-radius: 10px; }
  .ct-header a[aria-current] { background: var(--ds-surface-1); box-shadow: var(--ds-elev-1); }
  .ct-main { display: flex; flex-direction: column; justify-content: center; padding-block: 24px 12px; }
  .ct-layout { display: grid; grid-template-columns: 1fr 1.15fr; align-items: stretch; gap: 24px; background: var(--ds-surface-1); border: 1px solid var(--ds-line); border-radius: 20px; padding: 24px; box-shadow: var(--ds-elev-1); }
  .ct-copy { display: flex; flex-direction: column; justify-content: center; gap: 20px; min-width: 0; }
  .ct-kicker { display: block; color: var(--ds-action-ink); font-size: 12px; font-weight: 700; }
  .ct-page h1 { font: 750 clamp(26px, 3vw, 32px)/1.6 var(--ds-font-display); letter-spacing: -.04em; }
  .ct-support { display: grid; gap: 12px; }
  .ct-call { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; padding: 12px 16px; border-radius: 14px; background: var(--ds-secondary); text-decoration: none; }
  .ct-page .ct-call { color: var(--ds-on-secondary); }
  .ct-call span { font-size: 12px; }
  .ct-call strong { font-size: 24px; line-height: 1.5; font-variant-numeric: tabular-nums; white-space: nowrap; }
  .ct-ivr { display: grid; gap: 8px; color: var(--ds-ink-2); }
  .ct-ivr > div { display: flex; align-items: center; gap: 10px; }
  .ct-ivr dt { display: grid; place-items: center; width: 26px; height: 26px; background: var(--ds-surface-2); border-radius: 8px; font-weight: 700; flex: none; }
  .ct-ivr dd { font-size: 14px; }
  .ct-address { padding-block-start: 20px; border-block-start: 1px solid var(--ds-line); }
  .ct-address h2 { font: 700 14px/1.8 var(--ds-font-display); margin-block-end: 4px; }
  .ct-address address { font-style: normal; color: var(--ds-ink-2); font-size: 16px; line-height: 1.75; }
  .ct-map { display: flex; flex-direction: column; min-width: 0; }
  .ct-map-frame { flex: 1; min-height: 290px; border: 1px solid var(--ds-line); border-radius: 16px; overflow: hidden; background: var(--ds-surface-2); }
  .ct-map iframe { display: block; width: 100%; height: 100%; min-height: 290px; border: 0; }
  .ct-map figcaption { padding-block-start: 12px; }
  .ct-map figcaption > div { display: flex; align-items: stretch; gap: 8px; }
  .ct-route { display: inline-flex; flex: 1; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; gap: 8px; padding: 8px; border: 1px solid var(--ds-line-2); border-radius: 10px; background: var(--ds-surface-1); font-size: 14px; font-weight: 600; text-decoration: none; }
  .ct-page .ct-route { color: var(--ds-action-ink); }
  .ct-route:hover { background: var(--ds-surface-2); }
  .ct-route svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
  .ct-page :is(a, button) { touch-action: manipulation; cursor: pointer; transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease, opacity 120ms ease; }
  .ct-page :is(a, button):active { opacity: .8; }
  .ct-call:hover { box-shadow: var(--ds-elev-2); }
  .ct-header nav a:hover { background: var(--ds-surface-2); }
  .ct-page :is(a, button):focus-visible { outline: 2px solid var(--ds-focus); outline-offset: 4px; }
  .ct-page .ct-notice { padding-block-start: 12px; text-align: center; font-size: 12px; color: var(--ds-ink-3); }
  .ct-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 52px; border-block-start: 1px solid var(--ds-line); font-size: 12px; color: var(--ds-ink-3); }
  .ct-footer nav { display: flex; gap: 20px; }
  .ct-footer a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; text-decoration: none; }
  @media (max-width: 700px) {
    .ct-container { width: calc(100% - 32px); }
    .ct-header { min-height: 64px; }
    .ct-header nav a { padding-inline: 8px; font-size: 13px; }
    .ct-main { justify-content: start; padding-block: 12px 8px; }
    .ct-layout { grid-template-columns: 1fr; gap: 16px; padding: 20px; border-radius: 20px; }
    .ct-copy { gap: 16px; }
    .ct-page h1 { font-size: 26px; }
    .ct-support { grid-template-columns: 1fr 1fr; gap: 12px; align-items: center; }
    .ct-call { flex-direction: column; justify-content: center; gap: 0; padding: 10px 6px; min-height: 68px; }
    .ct-call span { font-size: 12px; }
    .ct-call strong { font-size: 22px; }
    .ct-ivr { gap: 6px; }
    .ct-ivr > div { gap: 6px; }
    .ct-ivr dt { width: 24px; height: 24px; font-size: 12px; }
    .ct-ivr dd { font-size: 13px; line-height: 1.6; }
    .ct-address { padding-block-start: 12px; }
    .ct-address address { font-size: 16px; }
    .ct-address h2 { font-size: 14px; margin-block-end: 4px; }
    .ct-map-frame { flex: none; height: clamp(160px, calc(100svh - 560px), 400px); min-height: 0; }
    .ct-map iframe { min-height: 0; height: 100%; }
    .ct-map figcaption { padding-block-start: 8px; }
    .ct-route { font-size: 13px; }
    .ct-map figcaption > div { gap: 8px; }
    .ct-page .ct-notice { padding-block-start: 8px; font-size: 12px; }
    .ct-footer { min-height: 44px; }
  }
  @media (max-width: 360px) {
    .ct-layout { padding: 12px; gap: 10px; }
    .ct-call strong { font-size: 20px; }
  }
  @media (max-width: 700px) and (max-height: 700px) {
    .ct-header { min-height: 56px; }
    .ct-main { padding-block: 8px 4px; }
    .ct-layout { padding: 12px; gap: 8px; }
    .ct-copy { gap: 8px; }
    .ct-kicker { display: none; }
    .ct-page h1 { font-size: 23px; line-height: 1.4; }
    .ct-address { padding-block-start: 8px; }
    .ct-address h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .ct-map-frame { height: 104px; }
    .ct-address address { font-size: 14px; }
  }
  @media (min-width: 701px) and (max-height: 500px) {
    .ct-header { min-height: 56px; }
    .ct-main { padding-block: 8px 4px; }
    .ct-layout { gap: 16px; padding: 16px; }
    .ct-copy { gap: 8px; }
    .ct-kicker { display: none; }
    .ct-page h1 { font-size: 24px; line-height: 1.4; }
    .ct-support { grid-template-columns: 1.1fr 1fr; align-items: center; gap: 12px; }
    .ct-call { min-height: 60px; flex-direction: column; justify-content: center; gap: 0; padding: 8px; }
    .ct-call strong { font-size: 20px; }
    .ct-ivr { gap: 4px; }
    .ct-ivr dt { width: 24px; height: 24px; }
    .ct-ivr dd { font-size: 12px; }
    .ct-address { padding-block-start: 8px; }
    .ct-address h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .ct-address address { font-size: 14px; }
    .ct-map-frame, .ct-map iframe { min-height: 136px; }
    .ct-map figcaption { padding-block-start: 8px; }
    .ct-footer { min-height: 44px; }
    .ct-page .ct-notice { padding-block-start: 8px; }
  }
  @media (prefers-reduced-motion: reduce) { .ct-page :is(a, button) { transition: none; } }
}

/* Bridge the concurrent locale control, whose shared CSS is intentionally unlayered. */
.ct-page .ct-header nav .locale-switch { min-width: 44px; min-height: 44px; padding: 6px 8px; border-radius: 10px; background: var(--ds-surface-1); color: var(--ds-ink-1); font-size: 12px; }
.ct-page .ct-header nav .locale-switch:hover { background: var(--ds-surface-2); }
@media (max-width: 700px) {
  .ct-page .ct-header .meeow-logo { width: clamp(84px, calc(100vw - 244px), 136px); }
  .ct-page .ct-header nav a { padding-inline: 6px; }
}
