
        .material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
            vertical-align: middle;
        }
        .ripped-edge {
            mask-image: url("data:image/svg+xml,%3Csvg width='1000' height='100' viewBox='0 0 1000 100' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,100 L1000,100 L1000,20 Q950,50 900,20 Q850,0 800,30 Q750,60 700,25 Q650,5 600,40 Q550,75 500,30 Q450,-10 400,20 Q350,50 300,20 Q250,0 200,30 Q150,60 100,25 Q50,5 0,40 Z' fill='black'/%3E%3C/svg%3E");
            -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='1000' height='100' viewBox='0 0 1000 100' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,100 L1000,100 L1000,20 Q950,50 900,20 Q850,0 800,30 Q750,60 700,25 Q650,5 600,40 Q550,75 500,30 Q450,-10 400,20 Q350,50 300,20 Q250,0 200,30 Q150,60 100,25 Q50,5 0,40 Z' fill='black'/%3E%3C/svg%3E");
            mask-size: 100% 100px;
            mask-repeat: no-repeat;
            mask-position: bottom;
        }
        .topo-pattern {
            background-image: radial-gradient(circle at 2px 2px, rgba(114, 120, 118, 0.05) 1px, transparent 0);
            background-size: 40px 40px;
        }
        .text-reveal {
            animation: reveal 1.2s cubic-bezier(0.77, 0, 0.175, 1) forwards;
        }
        @keyframes reveal {
            0% { transform: translateY(100%); opacity: 0; }
            100% { transform: translateY(0); opacity: 1; }
        }
        .parallax-container {
            overflow: hidden;
        }
        .parallax-bg {
            transition: transform 0.1s ease-out;
        }

/* map-layout-autofix */
@media (max-width: 767px) {
  .map-slot:has(> .map-embed--fill),
  .map-slot:has(> .map-embed[data-map-embed]) {
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: 280px;
    width: 100%;
  }
  .map-shell:has(> .map-slot) {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: unset !important;
  }
}
@media (min-width: 768px) {
  .map-shell:has(> .map-slot) {
    display: flex;
    flex-direction: column;
  }
  .map-shell > .map-slot,
  .visit-grid > .visit-map-slot.map-slot {
    flex: 1 1 auto;
    height: 100% !important;
    aspect-ratio: unset !important;
    min-height: 280px;
    align-self: stretch;
  }
}
.map-slot > .map-embed.map-embed--fill,
.map-slot > .map-embed[data-map-embed] {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  aspect-ratio: unset !important;
}

/* mobile-layout-autofix */
html { overflow-x: clip; }
body { overflow-x: clip; max-width: 100%; }
img, video, svg, picture { max-width: 100%; height: auto; }
.map-slot iframe, .map-embed iframe, .map-embed--fill iframe {
  height: 100% !important;
  max-width: none !important;
  width: 100% !important;
}
main, section, header, footer, nav, article, form { max-width: 100%; }
.grid, .flex, [class*="grid"], [class*="flex"] { min-width: 0; max-width: 100%; }
.grid > *, .flex > *, [class*="col-span"] { min-width: 0; }
section, header, main, .split-hero-container, [class*="hero"] { overflow-x: clip; }
.absolute[class*="-right-"], .absolute[class*="-left-"], .absolute[class*="-top-"] {
  max-width: 100vw;
  pointer-events: none;
}
.mockup-notice { max-width: 100%; box-sizing: border-box; }
.full-width, [class*="full-width"], .w-screen, [class*="w-screen"] {
  width: 100% !important;
  max-width: 100% !important;
}
footer, nav.full-width, header.full-width { overflow-x: clip; box-sizing: border-box; }
@media (max-width: 1023px) {
  [class*="scale-105"], [class*="scale-110"], [class*="scale-125"], [class*="hover:scale"] {
    transform: none !important;
  }
  .grid[class*="md:grid-cols-12"], .grid[class*="md:grid-cols-6"] {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
  .grid[class*="md:grid-cols-12"] > [class*="md:col-span"],
  .grid[class*="md:grid-cols-6"] > [class*="md:col-span"] {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  [class*="px-margin-desktop"] {
    padding-left: max(1rem, env(safe-area-inset-left)) !important;
    padding-right: max(1rem, env(safe-area-inset-right)) !important;
  }
}
@media (max-width: 767px) {
  header nav.flex, nav.flex.justify-between, header > nav {
    gap: 0.5rem !important;
    min-width: 0 !important;
  }
  header nav.flex > :first-child,
  nav.flex > :first-child {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  header nav .nav-actions-mobile,
  nav .nav-actions-mobile {
    flex-shrink: 0 !important;
    gap: 0.5rem !important;
  }
  header nav .nav-menu-toggle,
  nav .nav-menu-toggle,
  nav button[id*="menu-toggle"],
  nav [data-nav-toggle] {
    flex-shrink: 0 !important;
  }
  nav:has(.nav-menu-toggle) .nav-cta-mobile-hide,
  nav:has([data-nav-toggle]) .nav-cta-mobile-hide,
  nav:has(#mobile-menu-toggle) .nav-cta-mobile-hide {
    display: none !important;
  }
  nav:has(.nav-menu-toggle) .nav-actions-mobile > :not(.nav-menu-toggle):not([data-nav-toggle]),
  nav:has(#mobile-menu-toggle) .nav-actions-mobile > :not(#mobile-menu-toggle) {
    display: none !important;
  }
  :where(p, span, li, a, label, small, button, input, textarea, h4, h5, h6) {
    font-size: max(12px, 1em);
  }
  [class*="text-[10px]"], [class*="text-[11px]"] {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
  [class*="-right-10"], [class*="-left-10"], [class*="-right-12"], [class*="-left-12"] {
    display: none !important;
  }
  .material-symbols-outlined[class*="200px"], [class*="text-[200px]"] {
    font-size: 4rem !important;
    line-height: 1 !important;
    max-width: 100%;
  }
  section#hero.flex:has(> #credibility),
  section#hero.flex:has(> section#credibility) {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    min-height: min(85vh, 720px) !important;
  }
  section#hero > .relative.z-10,
  section#hero > div.relative[class*="z-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    padding-top: 2rem !important;
  }
  section#hero #credibility,
  section#hero > section#credibility {
    margin-top: 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }
}



/* design-qa: emil — press feedback */
button:active,
a[class*="btn"]:active,
a[class*="button"]:active,
[role="button"]:active {
  transform: scale(0.97);
}
@media (prefers-reduced-motion: reduce) {
  button:active,
  a[class*="btn"]:active,
  a[class*="button"]:active,
  [role="button"]:active {
    transform: none;
  }
}

/* design-qa: brief brand fonts */
:root {
  --font-display: 'Oswald', Georgia, serif;
  --font-body: 'Source Sans 3', system-ui, sans-serif;
}
html, body {
  font-family: var(--font-body);
}
h1, h2, h3, h4, h5, h6,
.font-display, [class*="font-display"], [class*="headline"] {
  font-family: var(--font-display);
}
p, li, span, a, button, input, textarea, label, nav {
  font-family: var(--font-body);
}
