/* Shared type, rhythm and responsive layout. All sizes are defined here. */
:root{--text-xs:12px;--text-sm:14px;--text-base:17px;--text-md:18px;--text-lg:20px;--nav-size:17px;--button-size:14px;--h6:16px;--h5:20px;--h4:26px;--h3:34px;--h2:clamp(38px,3.3vw,46px);--h1:clamp(58px,4.6vw,68px);--hero-title:clamp(62px,5vw,74px);--display:64px;--stat:52px;--body-leading:1.75;--heading-leading:1.1;--label-tracking:.14em;--container:1320px;--gutter:56px;--section-space:104px;--header-height:105px;--logo-height:85px}
body{font:400 var(--text-base)/var(--body-leading) var(--sans)}button,input,textarea,select{font:inherit}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:var(--heading-leading);letter-spacing:-.02em}h1,.page-hero h1{font-size:var(--h1)}h2,.intro-copy h2,.section-head h2,.offer-section h2,.contact-details h2{font-size:var(--h2)}h3,.service-text h3,.location-panel h3,.contact-social h3{font-size:var(--h3);line-height:1.2}h4,.fleet-card h3,.fleet-grid .fleet-card h3{font-size:var(--h4);line-height:1.25}small{font-size:var(--text-sm)}.hero h1{font-size:var(--hero-title)}.final-cta h2{font-size:var(--display)}.prose,.hero-copy,.hero-sub,.page-hero .hero-sub,.service-text .prose,.review blockquote,.offer-section p,.why-section .prose li{font-size:var(--text-base);line-height:var(--body-leading)}.prose{max-width:72ch}.hero-copy{max-width:490px}.hero-sub{max-width:60ch}.eyebrow,.fleet-top .eyebrow,.modal-head .eyebrow{font:600 var(--text-xs)/1.6 var(--sans);letter-spacing:var(--label-tracking)}.btn,.text-link,.small-book,.fleet-bottom .text-link,.service-text .text-link{font:600 var(--button-size)/1.4 var(--sans);letter-spacing:.06em}.site-header nav a{font:500 var(--nav-size)/1.5 var(--sans);letter-spacing:0}.announcement,.hero-note,.hero-bottom,.breadcrumb,.index,.service-text .index,.stats>div>span,.rating>small,.footer-bottom{font-size:var(--text-xs);line-height:1.6;letter-spacing:.03em}.trust-strip span,.image-caption,.capacity,.capacity>span>span,.capacity .or,.rating>span:not(.stars),.review figcaption,.review figcaption small,.more-reviews summary,.cta-phone,.footer-brand p,.footer-brand>a:not(.brand),.footer-col a,.footer-legal,.socials,.contact-card p,.contact-card a,.enquiry-form label,.enquiry-form label small,.journey-options summary,.form-privacy,.form-required,.form-status:not(:empty),.modal-intro,.location-panel p{font-size:var(--text-sm);line-height:1.7;letter-spacing:0}.review figcaption{font-weight:600}.review figcaption small{font-weight:400}.footer-col h2,.contact-card h2{font:600 var(--text-base)/1.5 var(--sans);letter-spacing:0}.footer-brand>a.footer-phone{font-size:var(--text-lg)}.stats strong,.image-caption span,.rating strong{font:400 var(--stat)/1.1 var(--serif)}.stats strong span,.rating strong small,.seal strong{font:400 var(--h3)/1.2 var(--serif)}.seal{font-size:var(--text-xs);letter-spacing:var(--label-tracking)}.stars{display:flex;gap:3px}.stars .icon{width:16px;height:16px;fill:currentColor}.faq-list summary{font-size:var(--text-base);font-weight:500;line-height:1.6}.faq-list summary span{font-size:var(--h4)}.final-cta p:not(.eyebrow){font-size:var(--text-base)}.enquiry-panel h2,.modal-head h2{font-size:var(--h2)}.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{font-size:var(--h6);line-height:1.5}.cta-monogram{font:400 400px/1 var(--serif)}
.wrap,.header-inner{width:min(var(--container),calc(100% - 2 * var(--gutter)));margin-inline:auto}.section{padding:var(--section-space) 0}.stats-heading{padding-bottom:48px}.stats{padding-bottom:var(--section-space)}.offer-section,.final-cta{padding:88px 0}.site-header{height:var(--header-height)}html{scroll-padding-top:calc(var(--header-height) + 18px)}.header-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}.brand{justify-self:start}.brand img{width:auto;height:auto;max-height:var(--logo-height);max-width:120px;object-fit:contain}.header-actions{justify-self:end}.site-header nav{gap:28px}.site-header nav .nav-book{display:none}.header-actions .btn{min-height:50px;padding:14px 22px;gap:22px}.hero{height:min(800px,calc(100svh - 143px));min-height:690px}.hero-content{padding-top:90px}.hero h1{max-width:800px}.hero-note{margin-top:28px}.hero-bottom{bottom:26px}.intro-grid{gap:80px}.intro-image>img{height:auto;aspect-ratio:4/5;object-position:center}.split-photo img{height:auto;aspect-ratio:4/5;object-position:center}.service-photo img,.page-services .service-photo img{height:auto;aspect-ratio:3/2;filter:none}.service-text{padding:28px 0}.service-text .text-link{gap:16px}.service-text .text-link .icon{width:18px}.fleet-card h3{min-height:65px}.fleet-track .fleet-card{display:flex;flex-direction:column}.fleet-bottom{margin-top:auto;padding-top:18px}.capacity{padding-bottom:20px}.fleet-top .eyebrow{letter-spacing:.09em}.fleet-bottom .text-link,.small-book{letter-spacing:.01em;gap:8px}.fleet-bottom a{min-height:44px}.footer-main{grid-template-columns:1.45fr 1fr 1fr 1fr;gap:40px}.footer-brand .brand{margin-bottom:24px}.footer-col a{padding-block:3px}.footer-bottom{padding-right:70px}.site-footer{padding-top:80px}.floating-actions{right:18px;bottom:24px;gap:0;padding:5px;background:#19271e;border:1px solid #ad9365;border-radius:32px;box-shadow:0 5px 24px #0003}.floating-actions a{width:44px;height:48px;background:transparent;border:0;border-radius:24px;box-shadow:none}.floating-actions a+a{border-top:1px solid #a9906355}.enquiry-modal{max-height:calc(100dvh - 40px)}.modal-head .eyebrow{letter-spacing:.09em}.modal-close{width:44px;height:44px}.modal-head h2{font-size:var(--h3)}.btn{min-height:54px}.enquiry-form label small{font-size:var(--text-xs)}body.menu-open{overflow:hidden}.keyboard-open .mobile-booking-bar,.modal-open .mobile-booking-bar{visibility:hidden}.contact-card{padding:26px 20px}.contact-card h2{font-size:var(--text-md)}
@media(min-width:1700px){:root{--container:1380px;--section-space:116px}.hero{height:800px}.hero-content{padding-top:105px}}
@media(max-width:1150px){:root{--gutter:32px}.intro-grid,.prose-grid{gap:50px}.site-header nav{gap:22px}.header-inner{gap:20px}.footer-main{gap:28px}.header-actions .btn{padding-inline:18px}}
@media(max-width:1050px){:root{--header-height:94px;--logo-height:74px;--nav-size:17px}.header-inner{grid-template-columns:1fr auto}.menu-toggle{display:block}.header-actions>.btn{display:none}.site-header nav{position:absolute;top:var(--header-height);left:0;right:0;display:none;max-height:calc(100dvh - var(--header-height) - 84px);overflow-y:auto;background:#141c15;padding:18px var(--gutter) 28px;box-shadow:0 15px 20px #0003}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:15px 0;border-bottom:1px solid #ffffff16}.site-header nav .nav-book{display:flex;color:var(--ink);margin-top:20px;padding:16px 24px;align-self:start}.nav-book::after{display:none}.announcement>span,.announcement>a:last-child{display:none}.announcement{justify-content:center}}
@media(max-width:900px){:root{--section-space:80px;--h1:56px;--hero-title:60px;--h3:30px}.intro-grid{grid-template-columns:1fr 1fr;gap:38px}.prose-grid{gap:32px}.hero{min-height:730px}.hero-content{padding-top:80px}.footer-main{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:1/-1}.offer-section,.final-cta{padding:80px 0}.contact-card{padding:28px}.fleet-card h3{min-height:65px}}
@media(max-width:600px){:root{--text-base:16px;--text-md:17px;--text-lg:20px;--nav-size:18px;--h1:clamp(40px,10.5vw,48px);--hero-title:clamp(40px,10.5vw,48px);--h2:clamp(34px,9vw,40px);--h3:28px;--h4:26px;--display:48px;--stat:44px;--gutter:20px;--section-space:64px;--header-height:82px;--logo-height:62px}.header-inner{width:calc(100% - 2 * var(--gutter))}.announcement{padding:8px 12px}.hero{height:760px;min-height:760px}.hero-content{padding-top:54px}.hero h1{max-width:100%;margin-bottom:24px}.hero-copy{max-width:38ch}.hero-note{gap:8px;flex-wrap:wrap}.hero .eyebrow{letter-spacing:.09em}.hero .actions{gap:12px}.hero .btn{padding:15px 17px;gap:15px}.hero-bottom{bottom:24px}.trust-strip .wrap{gap:20px 14px;padding-block:26px}.trust-strip span{font-size:var(--text-sm);align-items:start}.trust-strip .icon{margin-top:2px}.intro-grid,.split-photo{grid-template-columns:1fr;gap:42px}.intro-image>img,.split-photo img{height:auto;aspect-ratio:4/5}.image-caption{padding:18px}.section-head{flex-wrap:wrap;gap:22px}.section-head h2 br{display:none}.carousel-buttons{margin-left:auto}.carousel-buttons button{width:44px;height:44px}.services-grid,.page-services .services-grid{grid-template-columns:1fr;gap:40px}.service-photo img,.page-services .service-photo img{height:auto;aspect-ratio:3/2}.service-text{padding:24px 0}.service-text .index{font-size:var(--text-xs)}.service-text>.icon{height:28px;width:28px}.fleet-card h3{min-height:0}.fleet-track .fleet-card{flex-basis:94%}.fleet-card{padding-inline:22px}.fleet-bottom{flex-wrap:wrap;gap:0 12px}.fleet-image{height:215px}.capacity{padding-bottom:20px}.stats{gap:32px 10px}.stats>div>span{letter-spacing:.04em}.offer-section,.final-cta{padding:var(--section-space) 0}.review{padding:26px}.review figcaption small{font-size:var(--text-xs)}.footer-main{grid-template-columns:1fr 1fr;gap:36px 24px}.footer-bottom{padding-right:0}.site-footer{padding-top:64px}.floating-actions{display:none}.mobile-booking-bar{gap:16px;padding-inline:var(--gutter)}.mobile-booking-bar>a:not(.btn){font-size:var(--text-xs);min-width:44px}.mobile-booking-bar .btn{font-size:var(--button-size);gap:10px;padding:14px;min-height:50px}.mobile-booking-bar{min-height:82px}body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.page-hero{padding:38px 0 58px}.page-hero.has-image{min-height:480px}.page-hero .actions{gap:12px}.contact-cards{grid-template-columns:1fr}.contact-card{padding:26px}.contact-card .icon{margin-bottom:16px}.enquiry-panel{padding:28px 20px}.enquiry-modal{padding:24px 20px;width:calc(100% - 20px);max-height:calc(100dvh - 24px)}.modal-head{gap:8px}.modal-head h2{font-size:var(--h3)}.modal-head .eyebrow{letter-spacing:.06em}.modal-close{margin-right:-10px}.cta-monogram{font-size:230px}.form-grid{gap:20px}.enquiry-form .checkbox{align-items:flex-start}.checkbox input{flex-shrink:0;margin-top:4px}}
@media(max-width:360px){:root{--gutter:16px;--h1:40px;--hero-title:40px;--h2:34px}.hero{height:790px;min-height:790px}.hero .btn{padding:14px 12px;gap:12px}.hero-note{font-size:var(--text-xs)}.mobile-booking-bar{gap:10px}.mobile-booking-bar .btn{padding-inline:12px}.fleet-card{padding-inline:18px}.fleet-bottom{display:grid;grid-template-columns:1fr}.fleet-bottom a{justify-content:space-between}.legal-links{grid-template-columns:1fr}.stats>div>span{font-size:var(--text-xs)}}
@media(max-height:500px) and (orientation:landscape){.site-header{position:relative}.site-header nav{max-height:calc(100dvh - 100px)}.enquiry-modal{max-height:calc(100dvh - 16px)}}
@media print{body{font-size:12pt;padding:0}.wrap{width:100%}.section{padding:24px 0}}
/* Keep the quick-action dock in the outer gutter, clear of reading columns. */
@media(min-width:1151px){.floating-actions{right:4px;padding:3px}.floating-actions a{width:44px;height:48px}}
@media(min-width:601px) and (max-width:1150px){.floating-actions{display:none}}
.service-card{display:flex;flex-direction:column}.service-text{display:flex;flex-direction:column;flex:1;position:relative}.service-text .index{position:absolute;right:0;top:28px}.service-text .text-link{margin-top:auto;align-self:flex-start}.service-text .prose{margin-bottom:20px}
/* Content stays readable before observation, including printing and full-page capture. */
.reveal-ready{opacity:1;transform:none;transition:none}.reveal-ready.is-visible{animation:enter-section .55s ease-out both}@keyframes enter-section{from{opacity:.65;transform:translateY(10px)}to{opacity:1;transform:none}}
.footer-brand>a.footer-book{display:inline-flex;font-size:var(--button-size);line-height:1.4;margin:4px 0 24px;color:var(--ink)}.site-header nav.open{animation:menu-enter .2s ease-out}@keyframes menu-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.prose .btn{color:var(--ink);text-decoration:none}.prose .btn-outline{color:#765826}
