/* Start custom CSS *//* ---------- CONTACT PAGE (page 551, user 2026-10-09: separate page for now, same header/footer as the homepage, maps = images) ----------
   Layout (user mockup 2026-10-29): title + intro, the map as a full-width band, then the person: name, surname, e-mail /
   phone and icons on the left (L0), the photo on the right, ending on the content edge. */
:root body.elementor-page-551 .ms-contact-page { padding-top: calc(var(--bar-h) + 7 * var(--u)); }   /* clear the pinned bar */
:root body.elementor-page-551 .ms-contact-h1 { display: block; width: 100%; text-align: right; padding: 0 calc(var(--g) + var(--m)); font-size: max(28px, calc(4.6 * var(--u))); line-height: .95; margin: 0 0 calc(7 * var(--u)); }   /* right-aligned (user 2026-10-10) */
/* intro under the title (user 2026-10-12): secondary text, right-aligned on columns 2–3 like the homepage intros */
:root body.elementor-page-551 { --fs-body: max(12px, calc(2 * var(--u))); }   /* 32 px at 1600+, as the homepage (user 2026-10-28; was 2.2u) */
:root body.elementor-page-551 .ms-contact-h1 + .ms-body { max-width: var(--span2); margin: calc(-4 * var(--u)) calc(var(--g) + var(--m)) calc(3.5 * var(--u)) auto; text-align: right; }

:root body.elementor-page-551 .ms-office {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--gut); align-items: start;
  padding: 0 calc(var(--g) + var(--m)); margin: 0 0 calc(10 * var(--u)); width: 100%;
}
/* no city title (user 2026-10-28: "BUDAPEST" removed; hidden, not deleted, as Frankfurt) */
:root body.elementor-page-551 .ms-office-city { display: none; }
/* the map: a band across the whole page width (out through the office's side padding), 4:1 (user 2026-10-29: taller than the mockup's 32:5) */
:root body.elementor-page-551 .ms-office > a, :root body.elementor-page-551 .ms-office > .msx-map { grid-column: 1 / -1; grid-row: 1; display: block; width: calc(100% + 2 * (var(--g) + var(--m))); margin: 0 calc(-1 * (var(--g) + var(--m))); aspect-ratio: 4 / 1; }
:root body.elementor-page-551 .ms-office-map { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; transition: filter .2s ease; }
:root body.elementor-page-551 .ms-office > a:hover .ms-office-map, :root body.elementor-page-551 .ms-office > a:focus-visible .ms-office-map { filter: brightness(1.2); }
/* the person (name as on the director pages, user 2026-10-28): first name ExtraWide at the CONTACT title size (Title 1,
   type scale in the snippet), surname under it in the body font; surname, e-mail / phone and the intro share --fs-body */
:root body.elementor-page-551 .ms-office-info { grid-column: 1; grid-row: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding: 0; margin-top: calc(5 * var(--u)); }
:root body.elementor-page-551 .ms-office-name { font-family: var(--display); font-weight: var(--display-w); text-transform: uppercase; line-height: .9; letter-spacing: -.01em; white-space: nowrap; margin: 0 0 calc(2.4 * var(--u)); }
:root body.elementor-page-551 .ms-office-name span { display: block; margin-top: calc(.6 * var(--u)); font-family: var(--body); font-weight: var(--body-w); text-transform: none; letter-spacing: .01em; font-size: var(--fs-body); line-height: 1.2; }
:root body.elementor-page-551 .ms-office-info .ms-small { font-size: var(--fs-body); }
:root body.elementor-page-551 .ms-office .ms-icon:nth-child(2) a { background-image: var(--ms-ico-map); }
:root body.elementor-page-551 .ms-office-photo { grid-column: 2; grid-row: 2; justify-self: end; display: block; width: calc(5 * var(--tile)); max-width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; margin: calc(5 * var(--u)) 0 0; }

@media (max-width: 767px) and (orientation: portrait) {
  :root body.elementor-page-551 .ms-office { grid-template-columns: minmax(0, 1fr); row-gap: 0; margin-bottom: calc(21 * var(--u)); }   /* 1.5x the space between the offices (user 2026-10-10) */
  :root body.elementor-page-551 .ms-contact-h1 + .ms-body { max-width: var(--content); margin-top: -12px; margin-bottom: 32px; }
  :root body.elementor-page-551 .ms-office > a, :root body.elementor-page-551 .ms-office > .msx-map { aspect-ratio: 3 / 2; }
  :root body.elementor-page-551 .ms-office-info { margin-top: 32px; }
  :root body.elementor-page-551 .ms-office-name { margin-bottom: 16px; }
  :root body.elementor-page-551 .ms-office-name span { margin-top: 4px; font-size: 16.1px; }   /* = the e-mail / phone and the intro on phones */
  :root body.elementor-page-551 .ms-office-photo { grid-column: 1; grid-row: 3; justify-self: start; width: calc(7 * var(--tile)); margin-top: 28px; }   /* half the content width (bigger phone tiles) */
  :root body.elementor-page-551 .ms-office .ms-icon a { width: 21px; min-width: 21px; height: 21px; padding: 6px; margin: -6px; }   /* same size as the footer icons (user 2026-10-09) */
}

/* only Budapest / Wouter for now (user 2026-10-13): the Frankfurt office (person + map) is hidden, not removed */
:root body.elementor-page-551 .elementor-element-4dda16d3 { display: none; }
/* no footer on the contact page (user 2026-10-13): the page itself is the contact block */
:root body.elementor-page-551 .ms-footer { display: none; }

/* header: no mail icon here, we are already on the contact page (user 2026-10-09); hidden, not removed, so the logo stays centred */
:root body.elementor-page-551 .msx-mail { visibility: hidden !important; opacity: 0 !important; pointer-events: none; }/* End custom CSS */