html{scroll-behavior:smooth;scroll-padding-top:7rem}body.site-body{margin:0;font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-body);background:var(--color-surface);color:var(--color-on-surface)}*,*::before,*::after{box-sizing:border-box}main{display:block;min-width:0;width:100%}a,a:visited{color:inherit;text-decoration:none}a:hover{ text-decoration:none }a:active{opacity:.85}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #b8802f;outline-offset:4px}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:1rem;z-index:1000;padding:.75rem 1rem;background:var(--color-primary);color:white!important}.skip-link:focus{top:1rem}
.site-header{width:100%;position:sticky;top:0;z-index:100;background:var(--color-surface);border-bottom:1px solid #d0cbbf;box-shadow:0 3px 20px #202c3408}.site-header-inner{max-width:var(--content-max-width);margin-inline:auto;padding:1rem 2rem;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.site-brand{display:flex;align-items:center;gap:.65rem;flex-shrink:0;color:var(--color-primary)!important;font-family:var(--font-family-heading);font-size:1.4rem;line-height:1.2}.site-brand svg{width:36px;height:36px;color:var(--color-accent);flex-shrink:0}.site-brand small{display:block;margin-top:.35rem;font-family:var(--font-family-body);font-size:.6rem;letter-spacing:.18em;color:var(--color-on-surface-secondary)}.site-nav{display:flex;gap:1.4rem;align-items:center}.site-nav a{display:flex;align-items:center;min-height:44px;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-accent);border-color:var(--color-accent)}.site-nav a:last-child{padding:.6rem 1.1rem;background:var(--color-primary);color:#fff;border-radius:var(--border-radius-control);border:2px solid var(--color-primary)}.site-nav a:last-child:hover{background:#354e68}.menu-toggle{display:none;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);padding:10px;color:var(--color-primary)}.menu-toggle span{display:block;width:22px;height:2px;background:currentColor;margin:4px 0}
.hero-title{font-size:var(--font-size-4xl)!important;font-family:var(--font-family-heading);line-height:1.2}.section-title{font-size:var(--font-size-3xl)!important;font-family:var(--font-family-heading);line-height:1.25}h3{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);line-height:1.3}h1,h2,h3,h4,p,dd{overflow-wrap:break-word}.btn{white-space:normal;text-align:center}.site-main>section{width:100%}.site-main img{max-width:100%}main section{scroll-margin-top:7rem}
.legal-main{padding:var(--spacing-4xl) var(--spacing-xl)}.legal-content{max-width:62rem;width:100%;margin-inline:auto}.legal-content>.hero-title{margin:.75rem 0 1rem}.eyebrow,.company-caption{text-transform:uppercase;font-size:.75rem;font-weight:700;letter-spacing:.12em}.eyebrow{color:var(--color-accent)}.legal-date{color:var(--color-on-surface-secondary);margin-bottom:2rem}.legal-content section{margin-top:2rem}.legal-content section h2{margin-bottom:1rem}.legal-content p{line-height:1.75}.legal-content a:not(.btn){font-weight:600;color:var(--color-accent);border-bottom:1px solid currentColor}.legal-content a:hover{color:var(--color-primary)}.legal-content>.btn{margin-top:1.5rem}.company-details{padding:1.5rem 0;margin:1.5rem 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.company-caption{margin-bottom:1rem}.company-details dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem 2rem;margin:0}.company-details dt{font-size:.8rem;opacity:.85;margin-bottom:.25rem}.company-details dd{margin:0;overflow-wrap:anywhere}.dvq-footer{width:100%}.dvq-footer-inner{width:100%}.dvq-footer-legal{flex-wrap:wrap;gap:1rem}.dvq-footer-legal a{font-size:.875rem;min-height:32px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}.dvq-footer a:hover{color:#efd39d;border-bottom-color:currentColor}.dvq-footer-cta-icon{flex-shrink:0}.dvq-footer .company-details{border-color:#ffffff40}.dvq-footer .company-logo-dark{color:white}.dvq-footer-nav{flex-wrap:wrap}.dvq-footer .section-title{color:white}.company-logo-text{overflow-wrap:anywhere}
.planning-notes,.contact-details-section{padding:var(--spacing-4xl) var(--spacing-xl);background:var(--color-surface-tint)}.planning-notes .section-title{margin:.75rem 0 2rem}.planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}.planning-grid h3{margin-bottom:.75rem}.planning-summary{margin-top:2rem}.form-explanation,.form-privacy{margin-bottom:1.5rem;line-height:1.65}.form-privacy{margin-top:1.5rem}.form-privacy a{color:var(--color-accent);border-bottom:1px solid currentColor}#enquiry-result{border-top:1px solid var(--color-border);padding-top:1.5rem}#enquiry-result label{display:block;margin:1rem 0 .5rem}#enquiry-draft{width:100%;padding:1rem;resize:vertical;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-surface);color:var(--color-on-surface);margin-bottom:1rem}.booking-fields-row>*{min-width:0}.form-input,.form-select,.form-textarea{max-width:100%}.form-check-input{flex-shrink:0;accent-color:var(--color-primary)}
.seasonal-rail-container{max-width:100%;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;overscroll-behavior-x:contain}.seasonal-rail-track{width:max-content;min-width:100%;justify-content:center;gap:var(--spacing-lg);padding:0 var(--spacing-xl)}.seasonal-card{scroll-snap-align:center;flex-shrink:0}.rail-controls{display:flex;justify-content:center;gap:1rem;padding:0 1rem 1.5rem}.rail-controls button{border:1px solid var(--color-primary);border-radius:var(--border-radius-control);padding:.6rem 1rem;min-height:44px;background:var(--color-surface);color:var(--color-primary)}.rail-controls button:hover{background:var(--color-primary);color:white}
@media(max-width:1050px){.site-header-inner{padding:1rem 1.5rem;flex-wrap:wrap;gap:0}.menu-toggle{display:block}.site-nav{display:none;width:100%;padding:1rem 0 .5rem;max-height:calc(100dvh - 90px);overflow:auto}.site-nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:.25rem}.site-nav a{padding:.5rem .75rem}.site-nav a:last-child{margin-top:.5rem;justify-content:center}.company-details dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.hero-section,.hero-title,.section-title{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.site-header-inner{min-height:76px;padding:.85rem 1rem}.site-brand{font-size:1.15rem;gap:.35rem}.site-brand svg{width:28px;height:28px}.site-brand small{font-size:.52rem;letter-spacing:.12em}.legal-main,.planning-notes,.contact-details-section{padding:2.5rem 1.25rem}.company-details dl{grid-template-columns:minmax(0,1fr);gap:1rem}.planning-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}.dvq-footer-inner{padding-inline:1.25rem}.dvq-footer-brand-row,.dvq-footer-bottom{flex-direction:column;align-items:flex-start;gap:1.5rem}.dvq-footer-nav{gap:1rem}.dvq-footer-legal{align-items:flex-start}.company-logo-text{font-size:1.3rem}.seasonal-rail-track{justify-content:flex-start;padding-inline:1.25rem}.seasonal-card{width:min(18rem,calc(100vw - 2.5rem))}.booking-fields-row{grid-template-columns:minmax(0,1fr)}.booking-submit-row button{width:100%}.rail-controls{justify-content:space-around}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.visit-gallery-track,.visit-seasons-track{min-width:100%;justify-content:center;padding-inline:var(--spacing-xl)}.visit-gallery-strip,.visit-seasons-rail{max-width:100%;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;overscroll-behavior-x:contain}.visit-gallery-tile,.visit-season-tile{scroll-snap-align:center}.visit-seasons-rail{max-width:var(--content-max-width);margin-inline:auto}.visit-gallery-strip img,.visit-seasons-rail img,.seasonal-rail-container img{user-select:none}
@media(max-width:767px){.visit-gallery-track,.visit-seasons-track{justify-content:flex-start;padding-inline:1rem}.booking-enquiry-panel{padding:1.25rem}.site-main [class*=grid]>*{min-width:0}.site-main [class*=inner]{max-width:100%}}
