/* Defaults are stored once; later edits in Visual Site remain authoritative. */
.dom-header { color: var(--dom-header-text,#000); }
.dom-header .dom-brand, .dom-header .dom-brand-caption, .dom-header .dom-icon-button { color: var(--dom-header-text,#000); }
.dom-menu a { font-family: var(--dom-menu-font,Arial,sans-serif); font-size: var(--dom-menu-size,18.5px); text-transform: uppercase; letter-spacing: .035em; line-height: 1.3; }
.dom-header-inner { gap: 16px; }
.dom-desktop-nav .dom-menu { gap: 8px 12px; }
.dom-desktop-nav .dom-menu > li { flex-wrap: nowrap; }
/* Only the top row is reduced; submenu and footer typography stay unchanged. */
.dom-desktop-nav .dom-menu > li > a { white-space: nowrap; font-size: max(6px,calc(var(--dom-menu-size,18.5px) - .5px)); }
.dom-desktop-nav .dom-menu a, .dom-desktop-nav .dom-submenu-toggle { color: var(--dom-menu-text,#000); }
.dom-desktop-nav .dom-menu a:hover { color: var(--dom-menu-hover,#5e303a); }
.dom-desktop-nav .dom-menu ul { background: var(--dom-submenu-bg,#fff); }
.dom-desktop-nav .dom-menu ul a { color: var(--dom-submenu-text,#000); font-size: min(var(--dom-menu-size,18.5px),15px); text-transform: uppercase; letter-spacing: 0; }
.dom-header-actions { flex-shrink: 0; }
.dom-header-booking, .dom-hero .dom-actions > .dom-button, .dom-feature-button, .dom-mobile-menu > .dom-button {
    background: var(--dom-cta-bg,#5e303a); color: var(--dom-cta-text,#fff); border-color: var(--dom-cta-bg,#5e303a);
}
.dom-header-booking svg, .dom-hero .dom-actions > .dom-button svg, .dom-feature-button svg { stroke: currentColor; }
.dom-header-booking:is(:hover,:focus-visible), .dom-hero .dom-actions > .dom-button:is(:hover,:focus-visible), .dom-feature-button:is(:hover,:focus-visible), .dom-mobile-menu > .dom-button:is(:hover,:focus-visible) {
    background: var(--dom-cta-hover-bg,#5e303a); color: var(--dom-cta-hover-text,#fff); border-color: var(--dom-cta-hover-bg,#5e303a);
}
.dom-feature-outline { background: transparent; color: var(--dom-cta-bg,#5e303a); border-color: currentColor; }
.dom-about-copy > .dom-button { margin-top: 20px; }
.dom-read-more > summary.dom-button { display: inline-flex; }
.dom-mobile-menu { background: var(--dom-mobile-bg,#fff); color: var(--dom-mobile-text,#000); }
.dom-mobile-menu .dom-menu a { color: var(--dom-mobile-text,#000); font-size: var(--dom-mobile-menu-size,28px); }
.dom-mobile-menu .dom-menu.dom-menu-enhanced ul a { font-size: 18px; }
.dom-footer { background: var(--dom-footer-bg,#fff); color: var(--dom-footer-text,#000); border-top: 1px solid #000; }
.dom-footer .dom-brand, .dom-footer .dom-brand-caption, .dom-footer .dom-menu a, .dom-footer-contacts > a, .dom-footer .dom-socials a, .dom-footer-bottom a { color: var(--dom-footer-text,#000); }
.dom-footer .dom-menu a { font-size: var(--dom-menu-size,18.5px); }
.dom-footer .dom-menu { gap: 10px 24px; }
.dom-footer-bottom { flex-wrap: wrap; border-top-color: #000; }
.dom-footer-bottom > nav { flex: 1 0 100%; width: 100%; }
.dom-legal-menu { display: flex; flex-wrap: wrap; gap: 8px 24px; padding: 0; margin: 0; list-style: none; }
.dom-legal-menu a { font-size: 13px; text-transform: none; }

/* The copy sets the row height; the photo cannot inflate it through its aspect ratio. */
.dom-hero .dom-hero-grid { min-height: clamp(520px,47vw,var(--dom-hero-height,640px)); min-height: clamp(520px,47cqw,var(--dom-hero-height,640px)); align-items: stretch; }
.dom-hero .dom-hero-copy { padding-top: 40px; padding-bottom: 40px; }
.dom-hero .dom-hero-photo { position: relative; min-height: 0; }
.dom-site-shell[data-site-layout=full] .dom-hero-photo { max-height: none; }
.dom-hero .dom-hero-photo picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.dom-hero .dom-hero-photo img { aspect-ratio: auto; width: 100%; height: 100%; object-fit: cover; }
@container dom-site (max-width:1439px) and (min-width:1025px) {
    .dom-header-inner { flex-wrap: wrap; gap: 8px 24px; }
    .dom-desktop-nav { order: 4; flex: 1 0 100%; margin: 0; }
    .dom-desktop-nav .dom-menu { justify-content: center; }
}
@media (max-width:1024px) {
    .dom-hero .dom-hero-grid { min-height: min(580px,var(--dom-hero-height-tablet,620px)); }
    .dom-hero .dom-hero-copy { padding-top: 30px; padding-bottom: 30px; }
}
@container dom-site (max-width:1024px) {
    .dom-hero .dom-hero-grid { min-height: min(580px,var(--dom-hero-height-tablet,620px)); }
    .dom-hero .dom-hero-copy { padding-top: 30px; padding-bottom: 30px; }
}
@media (max-width:680px) {
    .dom-hero .dom-hero-grid { min-height: 0; }
    .dom-hero .dom-hero-copy { padding-top: 22px; padding-bottom: 24px; }
    .dom-footer .dom-menu a { font-size: min(var(--dom-menu-size,18.5px),18.5px); overflow-wrap: anywhere; }
}
@container dom-site (max-width:680px) {
    .dom-hero .dom-hero-grid { min-height: 0; }
    .dom-hero .dom-hero-copy { padding-top: 22px; padding-bottom: 24px; }
    .dom-footer .dom-menu a { font-size: min(var(--dom-menu-size,18.5px),18.5px); overflow-wrap: anywhere; }
}

/* The current section and its parent stay burgundy after navigation. */
:is(.dom-header,.dom-mobile-menu,.dom-footer) .dom-menu li > a:is(:hover,:focus-visible,[aria-current="page"]),
:is(.dom-header,.dom-mobile-menu,.dom-footer) .dom-menu :is(.current-menu-item,.current-menu-parent,.current-menu-ancestor,.current_page_item,.current_page_parent,.current_page_ancestor,.dom-menu-open) > a {
    color: var(--dom-menu-hover,#5e303a);
    text-decoration: none;
}

.dom-button {transition:background-color .18s ease,border-color .18s ease,color .18s ease;}
.dom-button:not(:disabled):hover {filter:brightness(1.04);}
@media(prefers-reduced-motion:reduce){.dom-button{transition:none;}}
