/* Shared audit enhancements. Keep the existing site's palette and section composition. */
:root { --site-focus:#c9a66b; }
html,body { margin:0; min-width:0; }
body { overflow-x:clip; }
img { max-width:100%; height:auto; }
:where(.cinematic-hero-img,.staggered-destination-img,.staggered-fragment-img,.tabbed-experiences-img,.events-cinematic-img,.landscape-why-us-img,.dest-hero-media,.dest-card-img,.dest-cta-img,.events-hero-image,.featured-top-image,.events-gallery-img,.events-edge-img,.events-portrait-visual,.events-inquiry-image) { width:100%; height:100%; object-fit:cover; }
.hero-title { font-size:var(--font-size-4xl); overflow-wrap:anywhere; white-space:normal; }
.section-title { font-size:var(--font-size-3xl); overflow-wrap:anywhere; white-space:normal; }
a,a:visited { color:inherit; text-decoration:none; }
a:hover { color:var(--color-accent); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible {outline:2px solid var(--site-focus);outline-offset:3px;}
a:active {opacity:.87;}
.site-skip-link {position:fixed;left:1rem;top:-8rem;z-index:99999;padding:.6rem 1rem;background:var(--color-accent);color:#111827;border-radius:.5rem;}
.site-skip-link:focus {top:1rem;color:#111827;}
.site-header.navigation-section {width:100%;z-index:1000;position:sticky;top:0;left:0;right:0;background:var(--color-primary);border-bottom:1px solid color-mix(in srgb,var(--color-accent) 33%,transparent);}
.site-header-inner {width:100%;max-width:1500px;margin:0 auto;min-height:76px;padding:0 clamp(1rem,2.7vw,3.5rem);display:flex;align-items:center;gap:clamp(1rem,1.8vw,2rem);box-sizing:border-box;}
.site-brand {color:var(--color-on-primary);display:inline-flex;gap:.55rem;align-items:center;flex-shrink:0;min-width:0;}
.site-brand:hover {color:var(--color-on-primary);opacity:.9;}
.site-logo-mark {width:35px;height:35px;flex-shrink:0;color:var(--color-accent);}
.site-brand-name {font-family:var(--font-family-heading,Georgia,serif);font-size:clamp(1.08rem,1.7vw,1.42rem);font-weight:700;line-height:1.1;white-space:nowrap;letter-spacing:-.025em;}
.site-brand-name span {color:var(--color-accent);}
.site-nav {display:flex;justify-content:center;align-items:center;gap:clamp(.55rem,1.3vw,1.15rem);margin-left:auto;min-width:0;}
.site-nav a {color:var(--color-on-primary);font:500 clamp(.75rem,.85vw,.875rem)/1.3 var(--font-family-body,system-ui);white-space:nowrap;position:relative;padding:.65rem 0;opacity:.9;}
.site-nav a:hover,.site-nav a[aria-current="page"] {color:var(--color-accent);opacity:1;}
.site-nav a[aria-current="page"]::after {content:"";position:absolute;height:2px;left:0;right:0;bottom:0;background:var(--color-accent);}
.site-header-cta {background:var(--color-accent);color:var(--color-on-accent,#101b2d)!important;padding:.85rem 1.15rem;border-radius:var(--border-radius-md,.5rem);font-size:.82rem;font-weight:700;line-height:1.15;text-align:center;white-space:nowrap;}
.site-header-cta:hover {filter:brightness(1.08);}
.site-menu-toggle {display:none;position:relative;z-index:5;border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent);border-radius:8px;width:44px;height:44px;background:transparent;flex-shrink:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;}
.site-menu-toggle span {width:21px;height:2px;display:block;background:var(--color-on-primary);transition:transform .2s,opacity .2s;}
.site-menu-toggle[aria-expanded="true"] span:first-child {transform:translateY(7px) rotate(45deg);}
.site-menu-toggle[aria-expanded="true"] span:nth-child(2) {opacity:0;}
.site-menu-toggle[aria-expanded="true"] span:last-child {transform:translateY(-7px) rotate(-45deg);}
.site-mobile-nav[hidden] {display:none!important;}
.site-mobile-nav {display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - 72px);overflow-y:auto;padding:1rem clamp(1rem,3vw,2rem) 1.75rem;background:var(--color-primary);box-shadow:0 14px 25px rgba(0,0,0,.25);z-index:1100;}
.site-mobile-nav a {color:var(--color-on-primary);display:block;padding:.92rem .5rem;border-bottom:1px solid rgba(255,255,255,.1);font-size:1rem;}
.site-mobile-nav a[aria-current="page"],.site-mobile-nav a:hover {color:var(--color-accent);}
.site-mobile-nav p {font-size:.81rem;color:var(--color-on-primary);opacity:.76;margin-top:1.25rem;}
.site-company-details {margin-top:2rem;padding:1.4rem 0 0;border-top:1px solid color-mix(in srgb,var(--color-accent) 32%,transparent);}
.site-company-details h3 {font-family:var(--font-family-heading,Georgia,serif);font-size:1.1rem;margin:0 0 .85rem;color:inherit;}
.site-company-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem 1.75rem;}
.site-company-grid p {display:flex;flex-direction:column;gap:.15rem;font-size:.82rem;line-height:1.55;min-width:0;overflow-wrap:anywhere;margin:0;}
.site-company-grid strong {font-weight:600;opacity:.75;}
.site-footer-legal-links {display:flex;align-items:center;gap:.7rem 1.4rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);margin-top:1.6rem;padding:1.25rem 0 0;color:var(--color-on-primary);font-size:.82rem;}
.site-footer-legal-links a {color:var(--color-on-primary);}
.site-footer-legal-links a:hover,.site-footer-legal-links a:focus-visible {color:var(--color-accent);}
.site-footer-legal-links span {margin-left:auto;opacity:.7;}
.site-footer-responsibility {font-size:.82rem;opacity:.7;}
.site-legal-main {width:100%;background:var(--color-surface);color:var(--color-on-surface);font-family:var(--font-family-body,system-ui);}
.site-legal-hero {width:100%;padding:clamp(3rem,7vw,6rem) max(24px,calc((100% - 1120px)/2));background:var(--color-primary);color:var(--color-on-primary);}
.site-legal-hero .site-legal-heading {font-family:var(--font-family-heading,Georgia,serif);margin:.85rem 0 1rem;color:var(--color-on-primary);line-height:1.18;}
.site-legal-kicker {color:var(--color-accent);font-size:.82rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;}
.site-legal-intro {max-width:760px;line-height:1.7;opacity:.85;font-size:1rem;}
.site-legal-back {display:inline-block;margin-top:1.5rem;padding:.8rem 1.1rem;border:1px solid var(--color-accent);border-radius:6px;color:var(--color-on-primary)!important;font-weight:600;}
.site-legal-back:hover {background:var(--color-accent);color:var(--color-on-accent,#101b2d)!important;}
.site-legal-content {width:min(100% - 48px,1120px);margin:0 auto;padding:clamp(2rem,5vw,4rem) 0 clamp(3.5rem,6vw,5rem);}
.site-legal-content .site-company-details {margin:0 0 2.4rem;background:var(--color-surface);padding:1.5rem;border:1px solid var(--color-border);border-radius:var(--border-radius-md,12px);}
.site-legal-content .site-company-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.site-legal-section {padding:1.35rem 0 1.5rem;border-bottom:1px solid color-mix(in srgb,var(--color-on-surface) 13%,transparent);}
.site-legal-section h2 {font-family:var(--font-family-heading,Georgia,serif);color:var(--color-on-surface);font-size:var(--font-size-3xl);line-height:1.3;margin:0 0 .7rem;}
.site-legal-section p {font-size:var(--font-size-base);line-height:1.85;margin:0 0 .7rem;max-width:85ch;overflow-wrap:anywhere;}
.site-form-status {font-size:.82rem;line-height:1.5;margin-top:1rem;opacity:.8;}
@media(max-width:1320px){.site-nav{gap:.8rem}.site-header-inner{gap:.9rem}.site-header-cta{padding:.8rem .85rem;}}
@media(max-width:1100px){.site-nav,.site-header-cta{display:none}.site-menu-toggle{display:flex;margin-left:auto}.site-mobile-nav:not([hidden]){display:block}.site-header-inner{min-height:72px}.site-brand-name{font-size:1.25rem}}
@media(max-width:767px){
 .site-legal-hero,.hero-section,.hero-title,.section-title {overflow-wrap:anywhere;word-break:break-word;white-space:normal;}
 .site-brand-name{font-size:clamp(1rem,5.2vw,1.25rem)}
 .site-header-inner{padding:0 1rem;gap:.6rem;}
 .site-logo-mark{width:30px;height:30px;}
 .site-company-grid,.site-legal-content .site-company-grid{grid-template-columns:minmax(0,1fr);}
 .site-company-details{padding-top:1.25rem;}
 .site-footer-legal-links span{margin-left:0;width:100%;}
 .site-legal-content{width:min(100% - 32px,1120px);}
 .site-legal-hero{padding:3rem 1rem;}
 .site-legal-content .site-company-details{padding:1rem;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.site-menu-toggle span{transition:none}}

.site-contact-faq{width:100%;padding:clamp(2.75rem,5vw,5rem) 0;background:var(--color-surface);color:var(--color-on-surface)}
.site-contact-faq-inner{width:min(100% - 40px,1080px);margin:0 auto}.site-contact-faq h2{margin:.75rem 0 1.25rem;font-family:var(--font-family-heading,Georgia,serif)}
.site-contact-faq details{padding:1.1rem 0;border-bottom:1px solid var(--color-border)}.site-contact-faq summary{cursor:pointer;font-weight:650}.site-contact-faq details p{margin-top:.75rem;max-width:80ch;line-height:1.7}
.site-anchor-target{position:relative;display:block;scroll-margin-top:90px;height:0;}
/* Keep the experience tabs scrollable within their own rail on narrow screens. */
.tabbed-experiences-tabs { max-width:100%; min-width:0; }
@media(max-width:767px){
 .tabbed-experiences-tabs {width:100%;max-width:100%;box-sizing:border-box;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;}
 .tabbed-experiences-tabs > * {flex-shrink:0;}
}
@media(max-width:767px){
 .contact-resources-center-btn {max-width:calc(100vw - 32px);width:auto;box-sizing:border-box;white-space:normal;text-align:center;}
 .events-why-header {max-width:100%;width:100%;min-width:0;}
 .events-why-header .events-tabs-segmented {width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;}
 .events-why-header .events-tab-btn {min-width:0;width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;}
}
