/* Content-led sizing preserves the original colours, assets and text at every width. */
html { scroll-padding-top: 120px; }

/* The original lower background was absolutely positioned at a fixed height.
   Placing it in the same grid as the cards ties its boundary to their content. */
.framer-ND3fL .framer-ijomyy { padding-bottom: 0; }
.framer-ND3fL .framer-1e8pbie {
  display: grid; grid-template-columns: minmax(24px, 1fr) repeat(2, minmax(0, 566px)) minmax(24px, 1fr);
  gap: 0; padding: 0; align-items: stretch; isolation: isolate;
}
.framer-ND3fL .framer-2lzz71 { display: contents; }
.framer-ND3fL .framer-18vtbua {
  position: relative; grid-column: 1 / -1; grid-row: 2;
  inset: auto; width: 100%; height: auto; align-self: stretch; z-index: 0;
}
.framer-ND3fL :is(.framer-1t0ufwt, .framer-13qnv8g, .framer-ph6mle, .framer-1p4z7xo) {
  width: auto; min-width: 0; height: auto; padding: 40px 24px;
  display: flex; flex-direction: row; align-items: flex-start; gap: 24px;
  overflow: visible; z-index: 1;
}
.framer-ND3fL .framer-1t0ufwt { grid-area: 1 / 2; }
.framer-ND3fL .framer-13qnv8g { grid-area: 1 / 3; }
.framer-ND3fL .framer-ph6mle { grid-area: 2 / 2; }
.framer-ND3fL .framer-1p4z7xo { grid-area: 2 / 3; }
.framer-ND3fL :is(.framer-1euklx6, .framer-jvas5q, .framer-w3dtd5, .framer-1b4nfj2) {
  flex: 1 1 0; width: auto; min-width: 0; gap: 16px; overflow: visible;
}
.framer-ND3fL :is(.framer-1euklx6, .framer-jvas5q, .framer-w3dtd5, .framer-1b4nfj2) > div {
  width: 100%; min-width: 0;
}
.framer-ND3fL .framer-1e8pbie :is(h4, p, ul, li) { max-width: 100%; overflow-wrap: break-word; }
.framer-ND3fL :is(.framer-qmygp7-container, .framer-13byplg-container, .framer-f5ylcz-container, .framer-1qtksgo-container) {
  flex: 0 0 64px; width: 64px; height: 64px;
}
/* This photographic section must grow when its stacked content becomes taller. */
@media (max-width: 1199.98px) {
  .framer-ND3fL .framer-541gor { height: auto; min-height: 0; }
  .framer-ND3fL .framer-drupbd { padding-top: 64px; gap: 48px; }
  .framer-ND3fL .framer-100a7es { width: 100%; }
}
@media (max-width: 809.98px) {
  html { scroll-padding-top: 112px; }
  .framer-ND3fL .framer-1aex344 { padding: 0; }
  .framer-ND3fL .framer-1y41byk { flex: none; width: 100%; max-width: none; gap: 0; overflow: visible; }
  .framer-ND3fL .framer-100a7es { display: none; }
  .framer-ND3fL .framer-j3vi9n { background: #002e21; padding: 64px 24px 48px; gap: 32px; }
  .framer-ND3fL .framer-1ocwjez { background: #f9fdfe; padding: 48px 24px 64px; height: auto; gap: 32px; }
  .framer-ND3fL :is(.framer-1p7us71, .framer-1t0jh2t) { height: auto; gap: 24px; }
  .framer-ND3fL :is(.framer-1lzi76j, .framer-19mne9r) { width: 100%; height: auto; aspect-ratio: 4 / 3; max-height: 360px; }
  .framer-ND3fL .framer-pxn7jj h2 { font-size: clamp(34px, 8.5vw, 46px); line-height: 1.15; }
  .framer-ND3fL h1 { font-size: clamp(42px, 12vw, 60px); line-height: 1.12; }
  .framer-ND3fL .framer-1e8pbie { grid-template-columns: 24px minmax(0, 1fr) 24px; }
  .framer-ND3fL .framer-18vtbua { grid-column: 1 / -1; grid-row: 3 / 5; }
  .framer-ND3fL :is(.framer-1t0ufwt, .framer-13qnv8g, .framer-ph6mle, .framer-1p4z7xo) {
    grid-column: 2; flex-direction: column; padding: 32px 0; gap: 20px;
  }
  .framer-ND3fL .framer-1t0ufwt { grid-row: 1; }
  .framer-ND3fL .framer-13qnv8g { grid-row: 2; }
  .framer-ND3fL .framer-ph6mle { grid-row: 3; }
  .framer-ND3fL .framer-1p4z7xo { grid-row: 4; }
  .framer-ND3fL :is(.framer-1euklx6, .framer-jvas5q, .framer-w3dtd5, .framer-1b4nfj2) { flex: none; width: 100%; }
  .framer-ND3fL .framer-ijomyy { gap: 32px; padding-top: 64px; }
  .framer-ND3fL .framer-drupbd { gap: 40px; padding-top: 48px; }
  /* Form controls retain readable type and do not trigger mobile Safari zoom. */
  input, textarea, select { font-size: 16px !important; }
}
/* Animated artwork must not temporarily widen the mobile layout viewport. */
html, body { overflow-x: clip; }
@media (max-width: 809.98px) {
  .framer-YbNYg .framer-94csor { width: calc(100% - 48px); max-width: 328px; }
}
/* Two original breakpoint variants accidentally show the city field twice. */
label.framer-2kt4nj, label.framer-b8bqi6 { display: none !important; }
