/* A single identity system, with the compact mark tied to navigation at 768px. */
.site-header .brand-mark { color: inherit; gap: 0; min-inline-size: 0; }
.site-header .brand-mark::after, .site-footer .footer-symbol::before,
.site-intro-loader::before { content: none; }
.site-header .identity-wordmark { display: block; width: max(220px, 16.9270833333vw); }
.site-header .identity-monogram { display: none; }
.identity-wordmark svg, .identity-monogram svg, .intro-wordmark svg,
.site-footer .footer-symbol svg { display: block; width: 100%; height: auto; fill: currentColor; stroke: none; transform: none !important; }
.site-header .identity-wordmark svg { max-width: none; }
.site-footer .footer-symbol { display: block; width: min(100%, 260px); inline-size: min(100%, 260px); color: #7b7b7b; filter: none; }
.site-intro-loader { display: flex; background: var(--footer-grey); color: #5d5d5d; }
.intro-active { overflow: hidden; }
.intro-skip .site-intro-loader { display: none; }
.intro-wordmark { display: block; width: max(260px, 28.75vw); }

@keyframes identity-appear { from { opacity: 0; } to { opacity: 1; } }
/* One opaque grey surface shares the footer colour. */
#nav-dialog .menu-panel { background: var(--footer-grey); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; }
#nav-dialog::backdrop { background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
#nav-dialog .menu-glass-wash { display: none; }
#nav-dialog .menu-dim { background: rgba(0,0,0,.3); }
#nav-dialog .menu-shell, #nav-dialog .menu-navigation, #nav-dialog .menu-list,
#nav-dialog .menu-list a, #nav-dialog .close-menu { color: #5d5d5d; }

/* The first photograph resolves over an immediate tonal poster instead of a blank frame. */
.banda-layout .hero {
  background:
    radial-gradient(circle at 70% 35%, rgba(196, 220, 213, .42), transparent 31%),
    linear-gradient(155deg, #314b4c 0%, #668b86 45%, #b9b9a2 100%);
}
.banda-layout .slide-island img { opacity: 0; transition: opacity 420ms ease; }
.banda-layout .hero.hero-ready .slide-island img { opacity: 1; }

/* The footer body copy is normal-sized text; this is the nearest grey that clears 4.5:1. */
.site-footer, .site-footer .footer-symbol { color: #5d5d5d; }

@media (max-width: 30rem) {
 .contact-page .contact-details > div:first-child { grid-column: 1 / -1; }
 .contact-page .contact-details a[href^="mailto:"] { white-space: nowrap; }
}

@media (max-width: 47.9375rem) and (orientation: portrait) {
 .banda-layout .slide-chalet::after {
  display: block;
  background: radial-gradient(ellipse 64% 30% at 50% 72%, rgba(2, 7, 14, .17), transparent 76%);
 }
}
/* Give the photography a barely perceptible shared finish without flattening
   the individual colour character of each source image. */
.slide img, .editorial-photo img, .page-photo img, .service-image img,
.service-wide-image img, .service-detail-hero img, .contact-backdrop img,
.gallery-about-page img { filter: saturate(.98) contrast(1.01) !important; }
.contact-backdrop { filter: none !important; }
@media (max-width: 767px) {
 .site-header .identity-wordmark { display: none; }
 .site-header .identity-monogram { display: block; width: 43px; }
 .site-header .brand-mark { justify-self: center; }
 .mobile-menu-toggle > span:not(.menu-icon) { display: none; }
 .enquiry-desktop { display: none; }
 .enquiry-mobile { display: inline; }
 .intro-wordmark { width: 62.8019323671vw; }
}
@media (prefers-reduced-motion: reduce) {
 .site-intro-loader { display: none; }
 .site-intro-loader.is-drawing .intro-wordmark { animation: none; }
}
@media (prefers-reduced-transparency: reduce) {
 #nav-dialog .menu-panel { background: var(--footer-grey); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
.editorial-header.is-on-white .brand-mark { color: #7b7b7b; }

/* Identity artwork release: OFL Tenor Sans + Bodoni Moda, 2026-10-18. */
