
:root {
  --opaline-ink: #050f0f;
  --opaline-paper: #f7fff7;
  --opaline-sand: #e8dab2;
  --opaline-blue: #c0d6df;
}
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { overflow-x: hidden; }
body, .display-1, .display-2, .display-4, .display-5, .display-7 {
  font-family: Arial, Helvetica, sans-serif;
}
img { display: block; max-width: 100%; height: auto; }
section { scroll-margin-top: 88px; }
.navbar-caption { overflow-wrap: anywhere; }
.footer-legal-links {
  display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 12px 24px; height: 100%;
}
.footer-legal-links a { color: #000; text-decoration: underline; text-underline-offset: 4px; }
.footer-legal-links a:hover, .footer-legal-links a:focus { opacity: .72; }
.local-photo-section {
  min-height: 620px; position: relative; background-size: cover; background-position: center; display: flex; align-items: flex-end;
}
.local-photo-section .container-fluid { min-height: 620px; position: relative; display: flex; align-items: flex-end; width: 100%; padding: 4rem; }
.local-photo-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,15,15,.05), rgba(5,15,15,.72)); }
.local-photo-caption { position: relative; z-index: 1; max-width: 760px; color: #fff; }
.local-photo-caption h2, .local-photo-caption p { color: #fff; }
.location-card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); overflow: hidden; background: #fff; }
.location-card > img { width: 100%; height: 100%; min-height: 460px; object-fit: cover; }
.location-card__content { padding: clamp(28px, 5vw, 64px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.location-card__content p { margin: 16px 0 28px; }
.form-note { margin-top: 18px; opacity: .75; }
.cookie-notice {
  position: fixed; z-index: 1200; left: 20px; right: 20px; bottom: 20px; max-width: 760px; margin: 0 auto;
  padding: 16px; background: #f7fff7; border: 3px solid #000; box-shadow: 5px 5px 0 #000;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.cookie-notice p { margin: 0; }
.cookie-notice[hidden] { display: none !important; }
.section-site-menu .navbar-toggler { position: relative; z-index: 1102; }
.section-site-menu .navbar-collapse { z-index: 1101; }
@media (max-width: 991px) {
  .section-site-menu .navbar-toggler { display: block !important; flex: 0 0 48px; }
  .section-site-menu .navbar-collapse { width: 100%; max-height: calc(100vh - 88px); overflow-y: auto; background: var(--opaline-paper) !important; }
  .section-site-menu .navbar-collapse.show { display: block !important; }
  .section-site-menu .navbar-nav { width: 100%; padding-left: 0 !important; }
  .section-site-menu .nav-link { color: #000 !important; padding: 12px 0 !important; }
  .footer-legal-links { justify-content: flex-start; margin-top: 24px; }
  .local-photo-section, .local-photo-section .container-fluid { min-height: 430px; }
  .local-photo-section .container-fluid { padding: 2rem 1rem; }
  .location-card { grid-template-columns: 1fr; }
  .location-card > img { min-height: 300px; }
  .cookie-notice { flex-direction: column; align-items: stretch; left: 12px; right: 12px; bottom: 12px; }
  .cookie-notice .btn { width: 100%; margin: 0; }
}
@media (max-width: 575px) {
  .section-site-menu .navbar-caption { font-size: 1.25rem; }
  .local-photo-caption h2 { font-size: 2rem; }
}
