/* Minimal reconstruction layer for the cleaned export.
   The original vendor CSS files were external and are therefore not reproduced here. */
:root {
  --page-bg: #f8f8f8;
  --page-fg: #151515;
  --accent: #005eb8;
  --muted: #717171;
  --content-max: 1280px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--page-bg); color: var(--page-fg); font-family: SourceSansPro, Arial, sans-serif; line-height: 1.5; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--accent); }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 10000; background: #fff; padding: .5rem .75rem; }
.page-root { min-height: 100vh; background: var(--page-background-color, var(--page-bg)); color: var(--page-color, var(--page-fg)); }
.section-root { width: 100%; }
.section-inner-width { width: min(100%, var(--content-max)); margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.section-content { width: 100%; }
.grid-row-root { display: flex; flex-wrap: wrap; width: 100%; }
.grid-row-has-rows { flex-direction: column; }
.grid-row-has-columns { flex-direction: row; align-items: stretch; }
.grid-column-root { min-width: 0; padding: 8px; }
.grid-column-small-12, .grid-column-medium-12, .grid-column-large-12 { flex: 0 0 100%; max-width: 100%; }
.grid-column-small-6 { flex: 0 0 50%; max-width: 50%; }
.grid-column-small-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.navigation-root { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; }
.navigation-item { text-decoration: none; color: inherit; padding: .35rem .5rem; }
.navigation-menu-toggle-trigger { display: none; }
.heading-root h1, .heading-root h2, .heading-root h3, .heading-root h4, .heading-root h5, .heading-root h6 { margin-top: 0; }
.heading-root { font-family: var(--font-family, PlayfairDisplay, Georgia, serif); }
.text-root p { margin: 0 0 1rem; }
.image-container { width: 100%; }
.image-wrapper { width: 100%; overflow: hidden; }
.image-geometry-circle-1 { border-radius: 50%; }
.image-geometry-rectangle-1 { border-radius: 0; }
.logo-image { max-width: 100%; }
.logo-image-container { position: relative; width: 100%; }
.section-sticky { position: relative; z-index: 10; }
footer { margin-top: 3rem; }
.map-placeholder { min-height: 300px; display: grid; place-items: center; align-content: center; gap: .5rem; background: #e9ecef; border: 1px solid #d0d4d8; text-align: center; padding: 2rem; }
.button-button { display: inline-block; padding: .7rem 1.1rem; border: 1px solid currentColor; border-radius: .25rem; text-decoration: none; }
@media (min-width: 768px) {
  .grid-column-medium-3 { flex: 0 0 25%; max-width: 25%; }
  .grid-column-medium-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .grid-column-medium-6 { flex: 0 0 50%; max-width: 50%; }
  .grid-column-medium-9 { flex: 0 0 75%; max-width: 75%; }
  .grid-column-medium-12 { flex: 0 0 100%; max-width: 100%; }
}
@media (min-width: 1024px) {
  .section-inner-width { max-width: 1920px; }
  .grid-column-large-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .grid-column-large-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .grid-column-large-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .grid-column-large-6 { flex: 0 0 50%; max-width: 50%; }
  .grid-column-large-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .grid-column-large-12 { flex: 0 0 100%; max-width: 100%; }
}
@media (max-width: 767px) {
  .navigation-root { justify-content: flex-start; flex-wrap: wrap; }
  .grid-column-small-12 { flex-basis: 100%; max-width: 100%; }
  .grid-column-small-6 { flex-basis: 50%; max-width: 50%; }
  .grid-column-small-4 { flex-basis: 33.333333%; max-width: 33.333333%; }
}
