
:root{--blue:#1978f2;--blue2:#0c5dc0;--cyan:#0cc7e8;--green:#72c900;--green2:#94e600;--navy:#071a30;--navy2:#03101e;--ink:#0c2036;--muted:#617184;--line:#dfe8f0;--soft:#f5f9fc;--ice:#eaf6ff;--yellow:#ffcc49;--white:#fff;--shadow:0 26px 70px rgba(7,26,48,.14);--radius:24px}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.shell{width:min(1240px,calc(100% - 44px));margin-inline:auto}
.scroll-progress{position:fixed;z-index:200;left:0;right:0;top:0;height:3px;background:transparent;pointer-events:none}
.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan),var(--green))}
.topbar{background:linear-gradient(90deg,var(--navy2),#0a3157);color:#dceaf5;font-size:12px}
.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.top-contact,.top-meta{display:flex;gap:24px;align-items:center}
.topbar a{transition:.2s}
.topbar a:hover{color:#fff}
.top-icon{color:#52a7ff;margin-right:6px}
.top-meta b{color:var(--green2);font-size:10px;letter-spacing:.12em}
.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(8,42,72,.08)}
.header-row{height:82px;display:flex;align-items:center;gap:22px}
.logo{width:272px;flex:0 0 272px}
.logo img{width:100%;height:auto}
.desktop-nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav-link{font-size:13px;font-weight:700;position:relative;padding:30px 0;white-space:nowrap}
.nav-link:after{content:"";position:absolute;left:50%;right:50%;bottom:20px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--green));transition:.28s}
.nav-link:hover:after,.nav-link.active:after{left:0;right:0}
.header-cta{display:flex;gap:10px;align-items:center}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:999px;font-weight:850;font-size:12px;letter-spacing:.025em;text-transform:uppercase;border:1px solid transparent;transition:transform .22s,box-shadow .22s,background .22s;cursor:pointer}
.pill span{font-size:16px}
.pill:hover{transform:translateY(-2px)}
.pill-primary{background:linear-gradient(135deg,#2c8fff,#0f65dc);color:#fff;box-shadow:0 12px 28px rgba(25,120,242,.25)}
.pill-green{background:linear-gradient(135deg,#92e313,#60bd00);color:#082115;box-shadow:0 12px 28px rgba(114,201,0,.22)}
.pill-ghost{border-color:#c9d7e3;background:#fff;color:var(--ink)}
.pill-glass{background:rgba(255,255,255,.11);color:#fff;border-color:rgba(255,255,255,.32);backdrop-filter:blur(10px)}
.pill-white{background:#fff;color:var(--navy)}
.pill-outline-light{border-color:rgba(255,255,255,.42);color:#fff;background:transparent}
.menu-toggle{display:none;width:46px;height:46px;margin-left:auto;border:1px solid #dfe8f0;background:#f6faff;border-radius:13px;align-items:center;justify-content:center;flex-direction:column;gap:5px;box-shadow:0 8px 24px rgba(7,26,48,.07);transition:.28s}
.menu-toggle span{width:22px;height:2px;background:var(--navy);transition:.3s;transform-origin:center}
.site-header.open .menu-toggle{background:var(--navy);border-color:var(--navy)}
.site-header.open .menu-toggle span{background:#fff}
.site-header.open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header.open .menu-toggle span:nth-child(2){opacity:0;transform:scaleX(.3)}
.site-header.open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-drawer{max-height:0;overflow:hidden;background:#fff;transition:max-height .35s ease;border-top:1px solid transparent}
.mobile-menu{padding:16px 22px 26px}
.mobile-link{display:flex;justify-content:space-between;padding:15px 2px;border-bottom:1px solid var(--line);font-weight:800}
.mobile-link.active{color:var(--blue)}
.mobile-cta-row{display:flex;gap:10px;padding-top:18px;flex-wrap:wrap}
.hero{position:relative;height:min(680px,calc(100vh - 120px));min-height:610px;background:var(--navy2);color:#fff;overflow:hidden}
.hero-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;z-index:1;pointer-events:none}
.g1{width:420px;height:420px;background:#006eff;left:-180px;top:50px}
.g2{width:360px;height:360px;background:#75d400;right:-140px;bottom:-100px}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity .75s ease}
.hero-slide.active{opacity:1;visibility:visible}
.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.01);transition:transform 7s ease}
.hero-slide.active>img{transform:scale(1.055)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,30,.96) 0%,rgba(3,16,30,.83) 34%,rgba(3,16,30,.28) 68%,rgba(3,16,30,.12) 100%)}
.hero-shade:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.2))}
.hero-inner{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.hero-copy{max-width:690px;padding-bottom:38px}
.kicker{display:inline-block;margin-bottom:16px;color:#a7f236;font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.kicker.dark{color:var(--blue2)}
.kicker.light{color:#bceaff}
.hero h1,.hero h2{font-size:clamp(58px,6.7vw,96px);line-height:.91;letter-spacing:-.064em;margin:0 0 24px;font-weight:900}
.hero h1 em,.hero h2 em{font-style:normal;background:linear-gradient(90deg,#5badff,#98e61b);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy>p{font-size:18px;line-height:1.62;max-width:610px;color:#dce9f4}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-proof{display:flex;gap:22px;margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}
.hero-proof span{display:flex;align-items:baseline;gap:6px;font-size:12px;color:#c9d8e4}
.hero-proof b{font-size:20px;color:#fff}
.hero-stamp{position:absolute;right:5%;top:50%;translate:0 -50%;width:180px;height:180px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(4,30,51,.58);backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 0 0 10px rgba(255,255,255,.04)}
.hero-stamp:after{content:"";position:absolute;inset:11px;border-radius:50%;border:1px dashed rgba(161,236,54,.75);animation:spin 18s linear infinite}
.hero-stamp small,.hero-stamp span{font-size:9px;letter-spacing:.18em}
.hero-stamp strong{font-size:44px;line-height:1;color:#fff}
.hero-stamp.alt strong{color:#a7f236}
.hero-nav{position:absolute;z-index:8;top:50%;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(3,16,30,.35);color:#fff;backdrop-filter:blur(8px);font-size:19px}
.hero-prev{left:24px}
.hero-next{right:24px}
.hero-bottom{position:absolute;left:50%;bottom:56px;translate:-50% 0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:16px}
.slide-count{display:flex;align-items:center;gap:9px;min-width:82px;font-size:11px;font-weight:800;line-height:1;color:#fff}
.slide-count .current{font-size:17px;color:#a7f236;line-height:1}
.slide-count i{width:34px;height:1px;background:rgba(255,255,255,.45)}
.hero-dots{display:flex;gap:7px}
.hero-dots button{width:9px;height:9px;border-radius:50%;border:0;background:#fff;opacity:.3}
.hero-dots button.active{opacity:1;background:#8edc18}
.hero-progress{width:180px;height:3px;background:rgba(255,255,255,.22);overflow:hidden;border-radius:99px}
.hero-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--blue),var(--green));animation:heroProgress 7s linear infinite}
.quick-book-wrap{position:relative;z-index:12;margin-top:-38px}
.panel-glass{background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:0 26px 70px rgba(7,26,48,.16);border:1px solid rgba(255,255,255,.6)}
.quick-book{border-radius:24px;padding:22px 24px;display:grid;grid-template-columns:1.1fr 2.3fr .65fr auto;gap:22px;align-items:center}
.quick-copy .micro{font-size:9px;font-weight:900;letter-spacing:.18em;color:var(--green);text-transform:uppercase}
.quick-copy h2{font-size:24px;margin:5px 0}
.quick-copy p{margin:0;color:var(--muted);font-size:12px}
.vehicle-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.vehicle-tab{border:1px solid var(--line);background:#f8fbfd;border-radius:14px;min-height:70px;font-size:11px;font-weight:800;display:flex;gap:6px;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);transition:.25s}
.vehicle-tab span{font-size:19px}
.vehicle-tab:hover,.vehicle-tab.active{background:linear-gradient(135deg,#edf7ff,#f5ffe9);border-color:#8dc8ff;box-shadow:inset 0 0 0 1px rgba(114,201,0,.18);transform:translateY(-2px)}
.quick-price{text-align:right}
.quick-price small,.quick-price span{display:block;color:var(--muted);font-size:10px}
.quick-price strong{font-size:34px;line-height:1}
.section-pad{padding:86px 0}
.intro-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:center}
.intro-copy h2,.section-title h2,.split-copy h2,.guide-intro h2,.form-copy h2,.contact-info h2{font-size:clamp(42px,5vw,68px);line-height:1;letter-spacing:-.052em;margin:0 0 24px}
.intro-copy h2 em,.split-copy h2 em{font-style:normal;color:var(--blue)}
.intro-copy p,.split-copy p,.guide-intro p,.form-copy p{color:var(--muted);font-size:17px;line-height:1.78}
.intro-copy .lead{font-size:20px;color:#35485b}
.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:12px;color:var(--blue2);font-weight:900}
.text-link span{transition:.25s}
.text-link:hover span{transform:translate(4px,-3px)}
.intro-collage{position:relative;min-height:500px}
.photo-card{position:absolute;margin:0;overflow:hidden;border-radius:26px;box-shadow:var(--shadow)}
.photo-card img{width:100%;height:100%;object-fit:cover}
.photo-a{left:0;top:0;width:70%;height:410px}
.photo-b{right:0;bottom:0;width:54%;height:275px;border:9px solid #fff}
.stat-chip{position:absolute;left:48px;bottom:16px;width:190px;height:190px;border-radius:50%;background:linear-gradient(145deg,var(--blue),#0f5cba);color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:3;border:8px solid #fff;box-shadow:var(--shadow)}
.stat-chip span,.stat-chip small{font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.stat-chip strong{font-size:58px;line-height:1}
.orbit{position:absolute;border:1px solid rgba(25,120,242,.22);border-radius:50%;pointer-events:none}
.orbit-a{width:230px;height:230px;right:-40px;top:-40px}
.orbit-b{width:120px;height:120px;left:-35px;bottom:70px;border-color:rgba(114,201,0,.34)}
.bento-section{background:linear-gradient(180deg,#f6fbff 0%,#fff 100%)}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:38px;margin-bottom:30px}
.section-title>div{max-width:760px}
.section-title p{max-width:430px;color:var(--muted);line-height:1.7}
.section-title.light{color:#fff}
.section-title.light p{color:#b9c9d9}
.bento-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;grid-template-rows:1fr 1fr;gap:18px}
.bento{position:relative;min-height:235px;padding:26px;border-radius:24px;overflow:hidden;transform-style:preserve-3d;transition:transform .18s ease,box-shadow .3s ease;box-shadow:0 10px 40px rgba(7,26,48,.07)}
.bento:before{content:"";position:absolute;inset:0;background:radial-gradient(360px circle at var(--x,50%) var(--y,50%),rgba(255,255,255,.28),transparent 45%);opacity:0;transition:.25s}
.bento:hover:before{opacity:1}
.bento-wide{grid-row:span 2;min-height:488px}
.bento h3{font-size:28px;line-height:1.05;margin:54px 0 10px;letter-spacing:-.03em;position:relative}
.bento p{line-height:1.6;font-size:14px;position:relative}
.bento a{position:absolute;left:30px;bottom:28px;font-weight:900;font-size:12px}
.bento-num{position:absolute;right:25px;top:25px;font-size:11px;font-weight:900;opacity:.7}
.bento-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.18);font-size:22px}
.bento-blue{background:linear-gradient(145deg,#147df8,#0c54b2);color:#fff}
.bento-green{background:linear-gradient(145deg,#94e81c,#62bc00);color:#0d3110}
.bento-light{background:#fff;border:1px solid var(--line)}
.bento-dark{background:linear-gradient(145deg,#0a2745,#03111f);color:#fff}
.bento-photo{color:#fff}
.bento-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bento-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,12,22,.08),rgba(1,12,22,.9))}
.bento-photo>div:last-child{position:absolute;inset:auto 30px 30px}
.bento-photo h3{margin:10px 0;font-size:38px}
.bento-photo a{position:static}
.classes-section{background:radial-gradient(circle at 80% 20%,#0c3a66,#06192d 42%,#03101d 100%);color:#fff;overflow:hidden}
.classes-section>.shell{margin-bottom:34px}
.class-carousel{position:relative;width:100%;overflow:hidden;padding:8px 0 26px;scrollbar-width:none;-ms-overflow-style:none}
.class-carousel::-webkit-scrollbar{display:none;width:0;height:0}
.class-carousel:before,.class-carousel:after{content:"";position:absolute;z-index:4;top:0;bottom:0;width:max(28px,calc((100vw - 1240px)/2 + 28px));pointer-events:none}
.class-carousel:before{left:0;background:linear-gradient(90deg,#03101d 0%,rgba(3,16,29,.82) 28%,transparent 100%)}
.class-carousel:after{right:0;background:linear-gradient(270deg,#03101d 0%,rgba(3,16,29,.82) 28%,transparent 100%)}
.class-track{display:flex;width:max-content;gap:26px;will-change:transform;padding-left:max(22px,calc((100vw - 1240px)/2))}
.class-track.is-ready{animation:classMarquee 42s linear infinite}
.class-group{display:flex;gap:26px;flex:0 0 auto}
.class-card{flex:0 0 460px;width:460px;background:#fff;border-radius:28px;overflow:hidden;color:var(--ink);position:relative;box-shadow:0 22px 58px rgba(0,0,0,.22);transition:transform .35s,box-shadow .35s;border:1px solid rgba(255,255,255,.36)}
.class-card:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 0 rgba(25,120,242,.4);transition:.35s;pointer-events:none}
.class-card:hover{transform:translateY(-10px) scale(1.012);box-shadow:0 30px 72px rgba(0,0,0,.3)}
.class-card:hover:after{box-shadow:inset 0 0 0 3px rgba(25,120,242,.26)}
.class-card>img{width:100%;height:282px;object-fit:cover;transform:scale(1.01);transition:transform .55s ease}
.class-card:hover>img{transform:scale(1.045)}
.class-body{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:27px 28px 30px}
.class-body span{font-size:12px;color:var(--blue2);font-weight:950;letter-spacing:.05em}
.class-body h3{font-size:20px;line-height:1.25;margin:7px 0 0;max-width:280px}
.class-body strong{font-size:42px;line-height:.95;letter-spacing:-.04em;color:var(--navy)}
.class-card>a{display:flex;justify-content:space-between;background:#ecf8df;color:#2d6200;padding:16px 22px;font-weight:900;font-size:12px;transition:.25s}
.class-card:hover>a{background:var(--green);color:#0c2600}
.parallax-story{position:relative;min-height:560px;color:#fff;overflow:hidden;display:flex;align-items:center}
.parallax-story.short{min-height:450px}
.parallax-img{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;will-change:transform}
.parallax-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,14,25,.94),rgba(2,14,25,.62) 55%,rgba(2,14,25,.15))}
.story-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .8fr;gap:52px;align-items:center}
.story-copy h2{font-size:clamp(48px,5.5vw,76px);line-height:.95;letter-spacing:-.055em;margin:0 0 22px}
.story-copy p{font-size:18px;line-height:1.7;color:#d9e6ef;max-width:630px}
.story-stats{display:grid;grid-template-columns:1fr;gap:10px}
.story-stats article{display:flex;align-items:center;gap:18px;padding:22px 24px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);border-radius:18px}
.story-stats strong{font-size:48px;line-height:1;color:#a6ef34;min-width:90px}
.story-stats span{font-size:13px;color:#fff}
.explainer-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:58px;align-items:center}
.explainer-media{position:relative}
.explainer-media>img{height:510px;width:100%;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}
.test-point{position:absolute;display:flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:9px 12px;box-shadow:0 12px 35px rgba(7,26,48,.16);font-size:11px;font-weight:900}
.test-point i{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(114,201,0,.16)}
.p1{top:18%;left:14%}
.p2{bottom:18%;left:8%}
.p3{bottom:25%;right:8%}
.p4{top:34%;right:4%}
.explainer-copy h2{font-size:clamp(42px,4.6vw,66px);line-height:1;letter-spacing:-.052em;margin:0 0 22px}
.explainer-copy h2 em{font-style:normal;color:var(--green)}
.explainer-copy p{color:var(--muted);font-size:17px;line-height:1.78}
.check-list{display:grid;gap:9px;margin:26px 0}
.check-list span{padding:12px 14px;background:#f3f9fd;border-radius:12px;font-weight:750;font-size:13px}
.trade-section{padding:84px 0;background:linear-gradient(135deg,#eaf6ff 0%,#f8ffec 100%);position:relative;overflow:hidden}
.trade-section:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:#d7f9ff;right:-180px;top:-220px}
.trade-grid,.trade-page{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:center}
.trade-copy h2,.trade-page-copy h2{font-size:clamp(46px,5vw,70px);line-height:.98;letter-spacing:-.055em;margin:0 0 22px}
.trade-copy p,.trade-page-copy p{font-size:17px;line-height:1.75;color:var(--muted)}
.trade-points{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
.trade-points span{padding:10px 12px;border-radius:999px;background:#fff;border:1px solid #d6e5ef;font-size:11px;font-weight:850}
.trade-points.big{display:grid;grid-template-columns:1fr 1fr}
.trade-points.big span{border-radius:14px;padding:15px}
.trade-image,.trade-page-media{position:relative}
.trade-image img,.trade-page-media img{width:100%;height:440px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}
.fleet-badge,.trade-quote{position:absolute;left:-28px;bottom:28px;background:var(--navy);color:#fff;padding:20px;border-radius:18px;box-shadow:var(--shadow);max-width:240px}
.fleet-badge b{display:block;color:#9ee52c;font-size:12px;letter-spacing:.18em}
.fleet-badge span{font-size:13px}
.trade-quote{font-weight:800;line-height:1.5}
.review-controls{display:flex;gap:8px}
.review-controls button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px}
.review-window{overflow:hidden}
.review-track{display:flex;gap:18px;transition:transform .5s ease}
.review-card{flex:0 0 calc(33.333% - 12px);padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff;min-height:245px;display:flex;flex-direction:column}
.review-card p{font-size:16px;line-height:1.78;color:#405365}
.review-card strong{margin-top:auto}
.review-top{display:flex;justify-content:space-between;align-items:center}
.review-top span{font-size:10px;color:var(--muted);text-transform:uppercase}
.stars{color:#ffb400;letter-spacing:.1em}
.faq-home{background:#f6f9fc}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:62px}
.faq-copy h2{font-size:clamp(44px,5vw,68px);line-height:1;letter-spacing:-.055em;margin:0 0 20px}
.faq-copy p{color:var(--muted);line-height:1.7}
.accordion details,.faq-item{border-bottom:1px solid #cfdae3}
.accordion summary,.faq-item summary{display:flex;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;padding:22px 0;font-size:17px;font-weight:850}
.accordion summary span,.faq-item summary span{font-size:22px;color:var(--blue)}
.accordion details[open] summary span,.faq-item[open] summary span{transform:rotate(45deg)}
.accordion p,.faq-item p{color:var(--muted);line-height:1.7;padding:0 0 20px;margin:0}
.cta-stage{background:linear-gradient(105deg,#0967cf 0%,#0e84f0 45%,#68c800 120%);color:#fff;position:relative;overflow:hidden}
.cta-stage:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-160px;top:-280px;box-shadow:0 0 0 70px rgba(255,255,255,.04),0 0 0 140px rgba(255,255,255,.025)}
.cta-stage-grid{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:50px}
.cta-copy{max-width:720px}
.cta-copy h2{font-size:clamp(46px,5.4vw,72px);line-height:.96;letter-spacing:-.055em;margin:0 0 15px}
.cta-copy p{color:#e2f0fa}
.cta-buttons{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;max-width:430px}
.footer{background:#03101d;color:#aebfcd;padding:58px 0 92px}
.footer-grid{display:grid;grid-template-columns:1.25fr .65fr 1fr .8fr;gap:40px}
.footer h3{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.12em}
.footer a{display:block;margin:10px 0}
.footer a:hover{color:#fff}
.footer p{line-height:1.75}
.footer-brand img{width:300px;max-width:100%;height:auto;object-fit:contain;background:transparent;border-radius:0;padding:0;margin-bottom:20px;display:block;filter:drop-shadow(0 6px 18px rgba(0,0,0,.18))}
.status-pill{display:inline-flex;margin-top:10px;padding:9px 12px;border-radius:999px;background:rgba(114,201,0,.14);color:#9de628;font-size:11px;font-weight:900;text-transform:uppercase}
.status-pill.light{background:rgba(255,255,255,.14);color:#fff}
.footer-book{color:#9de628!important;font-weight:900}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:48px;font-size:11px}
.mobile-dock{display:none}
.inner-hero{position:relative;min-height:420px;color:#fff;overflow:hidden;display:flex;align-items:flex-end;background:var(--navy)}
.inner-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.inner-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,29,.95),rgba(3,16,29,.6) 55%,rgba(3,16,29,.2))}
.inner-orb{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#0b85ff55,transparent 68%);right:-100px;top:-100px}
.inner-copy{position:relative;z-index:2;padding-bottom:66px}
.inner-copy h1{font-size:clamp(56px,7vw,92px);line-height:.9;letter-spacing:-.064em;margin:0 0 18px;max-width:920px}
.inner-copy h1 em{font-style:normal;background:linear-gradient(90deg,#58a8ff,#a4eb32);-webkit-background-clip:text;background-clip:text;color:transparent}
.inner-copy p{font-size:18px;color:#d5e4ef;max-width:700px;line-height:1.65}
.inner-stripe{position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--blue) 0 55%,var(--green) 55%)}
.timeline-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:62px}
.timeline-intro{position:sticky;top:130px;align-self:start}
.timeline-intro h2{font-size:52px;line-height:1;letter-spacing:-.05em}
.timeline-intro p{color:var(--muted);line-height:1.75}
.timeline{position:relative}
.timeline:before{content:"";position:absolute;left:78px;top:30px;bottom:30px;width:2px;background:linear-gradient(var(--blue),var(--green))}
.timeline-row{display:grid;grid-template-columns:120px 1fr;gap:34px;padding:24px 0}
.timeline-row time{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900;position:relative;z-index:2;box-shadow:0 0 0 8px #fff}
.timeline-row h3{font-size:26px;margin:7px 0}
.timeline-row p{color:var(--muted);line-height:1.7}
.about-values,.fail-section,.contact-form-section{background:linear-gradient(180deg,#f6fbff,#fff)}
.split-panel{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}
.media-frame{position:relative}
.media-frame img{width:100%;height:485px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}
.media-label{position:absolute;left:22px;bottom:22px;background:#fff;padding:12px 15px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.12em}
.price-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.price-tile{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 10px 36px rgba(7,26,48,.06);transition:.3s}
.price-photo{height:210px;overflow:hidden}
.price-photo img{width:100%;height:100%;object-fit:cover;transition:.45s}
.price-tile:hover .price-photo img{transform:scale(1.04)}
.price-content{padding:23px}
.price-content>span{font-size:11px;font-weight:900;color:var(--blue)}
.price-content h3{font-size:18px;min-height:48px}
.price-row{display:flex;align-items:end;justify-content:space-between;gap:18px}
.price-row strong{font-size:38px}
.price-row a{font-size:12px;font-weight:900;color:#397600}
.info-note{margin-top:30px;padding:18px 20px;border-radius:15px;background:#fff6dc;border:1px solid #ffe09d;color:#725200}
.facility-feature{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;background:#eff8ff;border-radius:28px;overflow:hidden}
.facility-feature img{width:100%;height:450px;object-fit:cover}
.facility-feature>div{padding:45px}
.facility-feature h2{font-size:48px;line-height:1;letter-spacing:-.05em}
.facility-feature p{color:var(--muted);line-height:1.7}
.facility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
.mini-card{padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}
.mini-card>span{font-size:11px;color:var(--blue);font-weight:900}
.mini-card h3{font-size:19px}
.mini-card p{font-size:14px;line-height:1.6;color:var(--muted)}
.mot-guide{display:grid;grid-template-columns:.72fr 1.28fr;gap:52px}
.guide-intro{position:sticky;top:130px;align-self:start}
.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.guide-card{padding:28px;background:#f7fbfe;border:1px solid var(--line);border-radius:20px;transition:.3s}
.guide-card:hover{background:#fff;transform:translateY(-5px);box-shadow:var(--shadow)}
.guide-card b{font-size:34px;color:var(--blue)}
.guide-card h3{font-size:20px}
.guide-card p{color:var(--muted);line-height:1.6}
.trade-page-media .trade-quote{bottom:20px;left:-24px}
.faq-page{max-width:950px}
.faq-search{margin-bottom:30px}
.faq-search label{display:block;font-weight:900;margin-bottom:9px}
.faq-search>div{position:relative}
.faq-search input{width:100%;border:1px solid var(--line);border-radius:16px;padding:18px 50px 18px 18px;font-size:16px}
.faq-search span{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--blue)}
.faq-item{border:1px solid var(--line);border-radius:16px;padding:0 20px;margin-bottom:10px;background:#fff}
.gallery-grid{columns:3;column-gap:18px}
.gallery-item{display:block;width:100%;padding:0;border:0;background:none;position:relative;margin:0 0 18px;break-inside:avoid;border-radius:20px;overflow:hidden;cursor:pointer}
.gallery-item img{width:100%;transition:.45s}
.gallery-item span{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(3,16,29,.82);color:#fff;padding:12px 14px;border-radius:13px;display:flex;justify-content:space-between;font-size:12px;font-weight:800;opacity:0;transform:translateY(10px);transition:.3s;backdrop-filter:blur(10px)}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-item:hover span{opacity:1;transform:none}
.lightbox{position:fixed;inset:0;z-index:180;background:rgba(2,10,18,.94);display:none;align-items:center;justify-content:center;flex-direction:column;padding:30px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1150px,92vw);max-height:82vh;border-radius:18px}
.lightbox p{color:#fff}
.lightbox-close{position:absolute;right:22px;top:16px;background:none;border:0;color:#fff;font-size:44px}
.contact-layout{display:grid;grid-template-columns:1fr .9fr;gap:40px}
.contact-info,.hours-panel{border-radius:26px;padding:44px}
.contact-info{background:#fff;border:1px solid var(--line)}
.contact-info address{font-style:normal;color:var(--muted);font-size:18px;line-height:1.65}
.contact-links{display:grid;gap:10px;margin:28px 0}
.contact-links a{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;background:#f4f9fc}
.contact-links a>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e6f2ff;color:var(--blue)}
.contact-links small{display:block;color:var(--muted);font-size:9px}
.contact-links b{font-size:14px}
.hours-panel{background:linear-gradient(145deg,#0b3156,#03111f);color:#fff}
.hours-panel h2{font-size:48px}
.hours-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.14);padding:16px 0}
.hours-row span{color:#d4e3ee}
.form-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:8px}
.field.full,.form-action.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:900}
.field input,.field textarea,.field select{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:16px}
.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid rgba(25,120,242,.12);border-color:var(--blue)}
.form-action{display:flex;align-items:center;gap:16px}
.form-message{color:#4b8e00;font-weight:800}
.booking-page{background:#f4f9fc}
.booking-shell{max-width:1000px;margin:auto;background:#fff;border-radius:28px;padding:38px;box-shadow:var(--shadow)}
.booking-head h2{font-size:44px;line-height:1;margin:0 0 10px}
.booking-head p{color:var(--muted)}
.booking-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:26px 0}
.book-option{position:relative;display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:18px;cursor:pointer;transition:.25s}
.book-option input{position:absolute;opacity:0}
.book-option img{width:110px;height:76px;object-fit:cover;border-radius:12px}
.book-option span{font-size:12px;color:var(--muted)}
.book-option span b{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}
.book-option strong{font-size:26px}
.book-option.active{border-color:#6cb5ff;background:#f3f9ff;box-shadow:inset 0 0 0 1px #6cb5ff}
.booking-next{display:flex;justify-content:space-between;align-items:center;padding-top:22px;border-top:1px solid var(--line)}
.booking-next small{display:block;color:var(--muted);font-size:9px}
.booking-stage-two{margin-top:30px;padding-top:30px;border-top:1px solid var(--line)}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.booking-fields label{font-size:12px;font-weight:900;display:grid;gap:7px}
.booking-fields input{padding:14px;border:1px solid var(--line);border-radius:12px}
.booking-success{text-align:center;padding:40px 10px}
.booking-success>span{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#edffd9;color:#4f9d00;font-size:34px}
.booking-success h3{font-size:30px}
.booking-success p{color:var(--muted)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in-view{opacity:1;transform:none}

@keyframes heroProgress{to{width:100%}
}
@keyframes spin{to{transform:rotate(360deg)}
}
@keyframes classMarquee{to{transform:translate3d(calc(-50% - 13px),0,0)}
}

@media(max-width:1180px){.desktop-nav{display:none}
.header-cta{margin-left:auto}
.menu-toggle{display:flex}
.site-header.open .mobile-drawer{max-height:720px;border-color:var(--line)}
.logo{width:240px;flex-basis:240px}
.hero-stamp{right:3%;width:150px;height:150px}
.quick-book{grid-template-columns:1fr 2fr .6fr}
.quick-book>.pill{grid-column:1/-1;justify-self:end}
.bento-grid{grid-template-columns:1fr 1fr}
.bento-wide{grid-row:auto}
.facility-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:900px){.top-meta span,.top-contact a:nth-child(2){display:none}
.header-cta{display:none}
.hero{min-height:660px;height:660px}
.hero h1,.hero h2{font-size:62px}
.hero-stamp{display:none}
.hero-shade{background:linear-gradient(90deg,rgba(3,16,30,.93),rgba(3,16,30,.54))}
.quick-book{grid-template-columns:1fr}
.quick-book>.pill{grid-column:auto;justify-self:stretch}
.vehicle-tabs{grid-template-columns:repeat(4,1fr)}
.quick-price{text-align:left}
.intro-grid,.explainer-grid,.trade-grid,.trade-page,.story-grid,.timeline-layout,.split-panel,.mot-guide,.contact-layout,.form-layout{grid-template-columns:1fr;gap:46px}
.intro-collage{min-height:520px}
.section-title{align-items:flex-start;flex-direction:column;gap:10px}
.section-title p{max-width:650px}
.bento-grid{grid-template-columns:1fr 1fr}
.class-card{flex-basis:410px;width:410px}
.class-card>img{height:252px}
.story-stats{grid-template-columns:repeat(3,1fr)}
.story-stats article{display:block}
.story-stats strong{display:block}
.review-card{flex-basis:calc(50% - 9px)}
.faq-grid{grid-template-columns:1fr;gap:40px}
.footer-grid{grid-template-columns:1fr 1fr}
.timeline-intro,.guide-intro{position:static}
.price-tiles{grid-template-columns:repeat(2,1fr)}
.facility-feature{grid-template-columns:1fr}
.facility-feature img{height:400px}
.gallery-grid{columns:2}
}

@media(max-width:640px){.shell{width:min(100% - 28px,1240px)}
.topbar-inner{min-height:34px}
.top-meta a{display:none}
.header-row{height:74px}
.logo{width:205px;flex-basis:205px}
.hero{height:610px;min-height:610px}
.hero-inner{align-items:flex-end}
.hero-copy{padding-bottom:110px}
.hero h1,.hero h2{font-size:46px}
.hero-copy>p{font-size:15px}
.hero-shade{background:linear-gradient(0deg,rgba(3,16,30,.97) 0%,rgba(3,16,30,.78) 55%,rgba(3,16,30,.32) 100%)}
.hero-slide>img{object-position:58% center}
.hero-proof{gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-proof span{font-size:10px}
.hero-proof b{font-size:16px}
.hero-nav{width:42px;height:42px;top:auto;bottom:22px}
.hero-prev{left:14px}
.hero-next{right:14px}
.hero-bottom{bottom:31px;width:calc(100% - 130px)}
.slide-count{display:none}
.hero-progress{width:85px}
.quick-book-wrap{margin-top:-18px}
.quick-book{padding:18px;border-radius:18px}
.vehicle-tabs{grid-template-columns:repeat(2,1fr)}
.section-pad{padding:78px 0}
.intro-copy h2,.section-title h2,.split-copy h2,.guide-intro h2,.form-copy h2,.contact-info h2{font-size:42px}
.intro-collage{min-height:430px}
.photo-a{width:80%;height:340px}
.photo-b{width:58%;height:230px}
.stat-chip{width:130px;height:130px;left:8px}
.stat-chip strong{font-size:40px}
.bento-grid{grid-template-columns:1fr}
.bento{min-height:250px}
.bento-wide{min-height:360px}
.class-carousel:before,.class-carousel:after{width:18px}
.class-track{gap:18px;padding-left:14px}
.class-group{gap:18px}
.class-card{flex-basis:min(86vw,360px);width:min(86vw,360px);border-radius:23px}
.class-card>img{height:220px}
.class-body{padding:22px 22px 25px}
.class-body h3{font-size:17px}
.class-body strong{font-size:36px}
.class-track.is-ready{animation-duration:36s}
.parallax-story{min-height:620px}
.story-copy h2{font-size:46px}
.story-stats{grid-template-columns:1fr 1fr}
.story-stats article:last-child{grid-column:1/-1}
.explainer-media>img{height:420px}
.test-point{font-size:9px;padding:7px 9px}
.trade-image img,.trade-page-media img{height:330px}
.fleet-badge,.trade-quote{left:10px;bottom:10px}
.review-card{flex-basis:100%}
.cta-stage-grid{flex-direction:column;align-items:flex-start}
.cta-copy h2{font-size:46px}
.cta-buttons{justify-content:flex-start}
.footer-grid{grid-template-columns:1fr}
.footer-bottom{flex-direction:column;gap:8px}
.footer-brand img{width:260px}
.inner-hero{min-height:420px}
.inner-copy{padding-bottom:50px}
.inner-copy h1{font-size:48px}
.timeline:before{left:29px}
.timeline-row{grid-template-columns:70px 1fr;gap:16px}
.timeline-row time{width:58px;height:58px;font-size:11px}
.price-tiles{grid-template-columns:1fr}
.facility-grid{grid-template-columns:1fr}
.facility-feature>div{padding:28px}
.facility-feature h2{font-size:38px}
.guide-grid{grid-template-columns:1fr}
.gallery-grid{columns:1}
.contact-info,.hours-panel{padding:28px}
.contact-form,.booking-fields{grid-template-columns:1fr}
.field.full,.form-action.full{grid-column:auto}
.form-action{align-items:flex-start;flex-direction:column}
.booking-shell{padding:24px}
.booking-options{grid-template-columns:1fr}
.book-option{grid-template-columns:85px 1fr auto}
.book-option img{width:85px;height:62px}
.booking-next{align-items:flex-start;gap:15px;flex-direction:column}
.mobile-dock{position:fixed;left:10px;right:10px;bottom:10px;z-index:140;background:#061728;border:1px solid rgba(255,255,255,.08);border-radius:18px;display:grid;grid-template-columns:1fr 1.25fr 1fr;padding:7px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.mobile-dock a,.mobile-dock button{min-height:52px;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;border-radius:12px}
.mobile-dock b{font-size:18px}
.mobile-dock span{font-size:9px;text-transform:uppercase;font-weight:850}
.mobile-dock .dock-main{background:linear-gradient(135deg,var(--blue),#0d64cf)}
.footer{padding-bottom:130px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
.reveal{opacity:1!important;transform:none!important;transition:none!important}
.hero-slide>img,.hero-stamp:after,.hero-progress span{animation:none!important;transition:none!important}
.parallax-img{transform:none!important}
.class-carousel{overflow-x:auto}
.class-track.is-ready{animation:none!important}
}



/* Booking plugin CTA only — no booking form or selector is provided by the HTML site. */
.booking-plugin-banner{position:relative;z-index:8;margin-top:-34px}

.booking-plugin-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:21px 26px;border-radius:20px;background:linear-gradient(120deg,rgba(255,255,255,.98),rgba(236,248,255,.97));border:1px solid rgba(25,120,242,.16);box-shadow:0 20px 54px rgba(3,31,54,.14);backdrop-filter:blur(14px)}

.booking-plugin-copy{max-width:760px}
.booking-plugin-copy .micro{display:block;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.16em;margin-bottom:5px}
.booking-plugin-copy h2{margin:0 0 5px;font-size:clamp(28px,3vw,42px);letter-spacing:-.04em}
.booking-plugin-copy p{margin:0;color:var(--muted);line-height:1.6}
.booking-plugin-button{flex:0 0 auto;border:0}

button.pill{font:inherit;cursor:pointer}
.footer-book[data-booking-plugin-trigger]{background:none;border:0;padding:0;color:inherit;cursor:pointer;font-weight:inherit}
.mobile-dock button{border:0}

@media(max-width:900px){.booking-plugin-panel{align-items:flex-start;flex-direction:column}
.booking-plugin-button{width:100%}
}

@media(max-width:640px){.booking-plugin-banner{margin-top:-18px}
.booking-plugin-panel{padding:20px;border-radius:19px}
.booking-plugin-copy h2{font-size:30px}
}




/* ==========================================================
   V2.3 — ADVANCED INTERACTION & ROLLOVER SYSTEM
   Applies across homepage and all inner pages.
   ========================================================== */

/* Section-level ambient interaction */
main > section,
.booking-plugin-banner,
.cta-stage{
  --section-x:50%;
  --section-y:50%;
  position:relative;
  isolation:isolate;
}
main > section.section-pad::before,
.trade-section::after,
.reviews::before,
.faq-home::before,
.booking-plugin-banner::before{
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  left:var(--section-x);
  top:var(--section-y);
  translate:-50% -50%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,120,242,.075),rgba(12,199,232,.035) 38%,transparent 70%);
  opacity:0;
  pointer-events:none;
  z-index:-1;
  transition:opacity .45s ease;
}
main > section.section-pad:hover::before,
.trade-section:hover::after,
.reviews:hover::before,
.faq-home:hover::before,
.booking-plugin-banner:hover::before{opacity:1}

/* More cinematic reveal choreography */
.reveal{
  filter:blur(7px);
  transform:translate3d(0,34px,0) scale(.985);
  transition:opacity .72s cubic-bezier(.2,.75,.2,1),
             transform .78s cubic-bezier(.2,.75,.2,1),
             filter .7s ease;
  transition-delay:var(--reveal-delay,0ms);
}
.reveal.in-view{filter:blur(0);transform:translate3d(0,0,0) scale(1)}
.section-title.reveal.in-view h2,
.intro-copy.reveal.in-view h2,
.split-copy.reveal.in-view h2,
.guide-intro.reveal.in-view h2,
.form-copy.reveal.in-view h2,
.story-copy.reveal.in-view h2{
  animation:titleSettle .82s cubic-bezier(.2,.75,.2,1) both;
}
@keyframes titleSettle{0%{letter-spacing:-.075em;transform:translateX(-14px)}100%{letter-spacing:-.052em;transform:none}}

/* Shared premium hover surface */
.hover-surface{
  --hx:50%;--hy:50%;
  position:relative;
  overflow:hidden;
}
.hover-surface::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(320px circle at var(--hx) var(--hy),rgba(92,181,255,.16),transparent 48%);
  opacity:0;
  transition:opacity .28s ease;
}
.hover-surface:hover::before{opacity:1}
.hover-surface > *{position:relative;z-index:1}

/* Feature / mini cards */
.mini-card,.guide-card,.review-card,.price-tile,.contact-info,.hours-panel,.booking-plugin-panel{
  transition:transform .36s cubic-bezier(.2,.75,.2,1),box-shadow .36s ease,border-color .3s ease,background .3s ease;
}
.mini-card:hover,.guide-card:hover,.review-card:hover,.price-tile:hover,.contact-info:hover,.hours-panel:hover,.booking-plugin-panel:hover{
  transform:translateY(-9px);
  box-shadow:0 28px 66px rgba(7,26,48,.14);
  border-color:rgba(25,120,242,.38);
}
.mini-card>span,.guide-card>b{
  display:inline-flex;
  transition:transform .35s ease,color .3s ease;
}
.mini-card:hover>span,.guide-card:hover>b{transform:translateX(7px) rotate(-4deg);color:var(--green)}
.mini-card h3,.guide-card h3,.review-card strong{transition:color .3s ease,transform .3s ease}
.mini-card:hover h3,.guide-card:hover h3,.review-card:hover strong{color:var(--blue2);transform:translateX(3px)}

/* Large facility feature gets an image wipe + content shift */
.facility-feature{box-shadow:0 18px 55px rgba(7,26,48,.08);transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease}
.facility-feature:hover{transform:translateY(-8px);box-shadow:0 34px 80px rgba(7,26,48,.16)}
.facility-feature img{transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.facility-feature:hover img{transform:scale(1.055);filter:saturate(1.08) contrast(1.03)}
.facility-feature>div{transition:transform .45s ease}
.facility-feature:hover>div{transform:translateX(7px)}

/* Bento cards: richer layered movement */
.bento{transition:transform .26s cubic-bezier(.2,.75,.2,1),box-shadow .38s ease,filter .3s ease}
.bento:hover{box-shadow:0 30px 76px rgba(7,26,48,.18);filter:saturate(1.06)}
.bento-icon{transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s ease}
.bento:hover .bento-icon{transform:translateY(-7px) rotate(-7deg) scale(1.08);background:rgba(255,255,255,.3)}
.bento h3,.bento p,.bento a{transition:transform .35s ease}
.bento:hover h3{transform:translateX(6px)}
.bento:hover p{transform:translateX(3px)}
.bento:hover a{transform:translateX(7px)}
.bento-photo>img{transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.bento-photo:hover>img{transform:scale(1.075);filter:saturate(1.1)}

/* Price tiles */
.price-tile{position:relative}
.price-tile::after{
  content:"";position:absolute;left:-35%;top:-70%;width:34%;height:230%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  transform:rotate(20deg);transition:left .8s ease;pointer-events:none;
}
.price-tile:hover::after{left:125%}
.price-content,.price-row{transition:transform .35s ease}
.price-tile:hover .price-content{transform:translateY(-2px)}
.price-tile:hover .price-row{transform:translateX(5px)}

/* Infinite MOT class cards — richer rollover while marquee continues */
.class-card{isolation:isolate}
.class-card::before{
  content:"";position:absolute;z-index:3;left:-45%;top:-70%;width:32%;height:230%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  transform:rotate(18deg);transition:left .85s ease;pointer-events:none;
}
.class-card:hover::before{left:125%}
.class-card:hover .class-body strong{color:var(--blue2);transform:scale(1.05)}
.class-body strong{transition:color .3s ease,transform .35s ease}
.class-card:hover .class-body h3{transform:translateX(4px)}
.class-body h3{transition:transform .3s ease}

/* Story stats and parallax copy */
.story-stats article{transition:transform .35s ease,background .35s ease,border-color .35s ease}
.story-stats article:hover{transform:translateX(9px);background:rgba(255,255,255,.16);border-color:rgba(167,242,54,.55)}
.story-stats strong{transition:transform .35s ease,text-shadow .35s ease}
.story-stats article:hover strong{transform:scale(1.07);text-shadow:0 0 28px rgba(166,239,52,.38)}
.story-copy .pill{transition:transform .3s ease,box-shadow .3s ease}

/* MOT explainer points */
.test-point{animation:softFloat 4.6s ease-in-out infinite;transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
.test-point:nth-of-type(2){animation-delay:.5s}.test-point:nth-of-type(3){animation-delay:1s}.test-point:nth-of-type(4){animation-delay:1.5s}
.test-point:hover{animation-play-state:paused;transform:scale(1.08);box-shadow:0 18px 45px rgba(7,26,48,.24);background:#f6ffeb}
@keyframes softFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
.explainer-media>img,.media-frame img,.trade-image img,.trade-page-media img{
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .55s ease,box-shadow .45s ease;
}
.explainer-media:hover>img,.media-frame:hover img,.trade-image:hover img,.trade-page-media:hover img{
  transform:scale(1.035);filter:saturate(1.08);box-shadow:0 34px 86px rgba(7,26,48,.2)
}

/* Check-list and trade pills */
.check-list span,.trade-points span{
  transition:transform .3s ease,background .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease;
}
.check-list span:hover,.trade-points span:hover{
  transform:translateX(7px);background:#fff;border-color:#91c9ff;color:var(--blue2);box-shadow:0 12px 30px rgba(7,26,48,.08)
}

/* Timeline */
.timeline-row>div{padding:12px 16px;border-radius:18px;transition:transform .36s ease,background .36s ease,box-shadow .36s ease}
.timeline-row:hover>div{transform:translateX(9px);background:#f7fbff;box-shadow:0 16px 40px rgba(7,26,48,.07)}
.timeline-row time{transition:transform .4s cubic-bezier(.2,.8,.2,1),background .35s ease,box-shadow .35s ease}
.timeline-row:hover time{transform:scale(1.1) rotate(-4deg);background:linear-gradient(145deg,var(--blue),var(--green));box-shadow:0 0 0 8px #fff,0 16px 35px rgba(25,120,242,.28)}

/* Review cards */
.review-card{position:relative;overflow:hidden}
.review-card::after{content:"“";position:absolute;right:20px;bottom:-32px;font-size:140px;font-family:Georgia,serif;color:rgba(25,120,242,.06);line-height:1;transition:transform .4s ease,color .4s ease}
.review-card:hover::after{transform:translateY(-10px) rotate(-4deg);color:rgba(114,201,0,.09)}
.review-card .stars{transition:letter-spacing .35s ease,transform .35s ease}
.review-card:hover .stars{letter-spacing:.18em;transform:translateX(4px)}
.review-controls button{transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.review-controls button:hover{transform:scale(1.08);background:var(--navy);color:#fff;border-color:var(--navy)}

/* FAQ */
.faq-item,.accordion details{transition:background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}
.faq-item:hover,.accordion details:hover{background:#fff;border-color:#9dcbf5;transform:translateX(5px);box-shadow:0 12px 30px rgba(7,26,48,.06)}
.faq-item summary,.accordion summary{transition:color .28s ease,padding-left .28s ease}
.faq-item:hover summary,.accordion details:hover summary{color:var(--blue2);padding-left:5px}

/* Gallery */
.gallery-item{box-shadow:0 10px 35px rgba(7,26,48,.08);transition:transform .42s cubic-bezier(.2,.75,.2,1),box-shadow .42s ease}
.gallery-item:hover{transform:translateY(-8px) rotate(.25deg);box-shadow:0 30px 72px rgba(7,26,48,.18)}
.gallery-item img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.gallery-item:hover img{transform:scale(1.065);filter:saturate(1.08) contrast(1.03)}

/* Contact panels */
.contact-links a{transition:transform .28s ease,color .28s ease}
.contact-links a:hover{transform:translateX(6px);color:var(--blue2)}
.hours-row{transition:transform .28s ease,background .28s ease}
.hours-row:hover{transform:translateX(5px);background:rgba(255,255,255,.07)}
.field input,.field textarea,.field select{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.field input:hover,.field textarea:hover,.field select:hover{border-color:#9fcfff;transform:translateY(-1px)}

/* Header + logo polish */
.logo img{transition:transform .35s ease,filter .35s ease}
.logo:hover img{transform:scale(1.025);filter:saturate(1.08)}
.nav-link{transition:color .28s ease,transform .28s ease}
.nav-link:hover{color:var(--blue2);transform:translateY(-1px)}

/* CTA section */
.cta-stage-grid{transition:transform .5s ease}
.cta-stage:hover .cta-stage-grid{transform:translateY(-3px)}
.cta-stage::before{content:"";position:absolute;inset:-30%;background:conic-gradient(from 180deg,transparent,rgba(255,255,255,.06),transparent 25%);animation:ctaSweep 12s linear infinite;pointer-events:none}
@keyframes ctaSweep{to{transform:rotate(360deg)}}

/* Inner hero ambient drift */
.inner-hero>img{transition:transform 8s ease,filter .8s ease}
.inner-hero:hover>img{transform:scale(1.035);filter:saturate(1.06)}
.inner-orb{animation:orbDrift 7s ease-in-out infinite alternate}
@keyframes orbDrift{to{transform:translate(-35px,35px) scale(1.08)}}

/* Facilities page parallax replacement framing */
.parallax-story.short .parallax-img{object-position:center 54%;filter:saturate(.96) contrast(1.04)}

/* Desktop-only pointer affordances */
@media(hover:hover) and (pointer:fine){
  .mini-card,.guide-card,.review-card,.price-tile,.bento,.gallery-item,.class-card,.timeline-row,.facility-feature,.booking-plugin-panel,.contact-info,.hours-panel{cursor:default}
}

/* Responsive: keep interaction elegant rather than excessive */
@media(max-width:900px){
  main > section.section-pad::before,.trade-section::after,.reviews::before,.faq-home::before,.booking-plugin-banner::before{display:none}
  .timeline-row:hover>div,.faq-item:hover,.accordion details:hover,.check-list span:hover,.trade-points span:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .test-point,.cta-stage::before,.inner-orb{animation:none!important}
  .reveal{filter:none!important}
  .facility-feature:hover,.mini-card:hover,.guide-card:hover,.review-card:hover,.price-tile:hover,.contact-info:hover,.hours-panel:hover,.booking-plugin-panel:hover,.gallery-item:hover{transform:none!important}
}


/* V2.5 — compact spacing, safer slider controls and premium right-aligned responsive navigation */
@media(max-width:1180px){
  .site-header{position:sticky}
  .header-cta{margin-left:auto}
  .menu-toggle{display:flex;margin-left:0}
  .mobile-drawer{position:absolute;top:calc(100% + 8px);right:22px;width:min(390px,calc(100% - 44px));max-height:none;opacity:0;visibility:hidden;overflow:hidden;background:rgba(255,255,255,.98);border:1px solid rgba(9,47,80,.1);border-radius:20px;box-shadow:0 26px 70px rgba(5,25,44,.2);transform:translateY(-10px) scale(.985);transform-origin:top right;transition:opacity .25s ease,transform .25s ease,visibility .25s ease;backdrop-filter:blur(18px)}
  .site-header.open .mobile-drawer{max-height:min(720px,calc(100vh - 125px));opacity:1;visibility:visible;overflow:auto;border-color:rgba(9,47,80,.12);transform:none}
  .mobile-menu{padding:10px 16px 16px}
  .mobile-link{padding:13px 5px;font-size:14px}
  .mobile-link span{color:var(--blue);transition:.22s}
  .mobile-link:hover span{transform:translate(3px,-2px)}
  .mobile-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding-top:14px}
  .mobile-cta-row .pill{min-height:46px;padding:0 12px;font-size:10px}
}

@media(max-width:900px){
  .menu-toggle{margin-left:auto}
  .section-pad{padding:68px 0}
  .trade-section{padding:68px 0}
  .header-row{height:76px}
  .logo{width:218px;flex-basis:218px}
  .hero{height:610px;min-height:590px}
  .hero-copy{padding-bottom:88px}
  .hero-bottom{bottom:58px}
  .intro-grid,.explainer-grid,.trade-grid,.trade-page,.story-grid,.timeline-layout,.split-panel,.mot-guide,.contact-layout,.form-layout{gap:36px}
  .intro-collage{min-height:455px}
  .inner-hero{min-height:370px}
  .facility-feature img{height:350px}
}

@media(max-width:640px){
  .topbar-inner{justify-content:center}
  .top-contact{width:100%;justify-content:center}
  .top-meta{display:none}
  .header-row{height:68px;gap:12px}
  .logo{width:188px;flex-basis:188px}
  .menu-toggle{width:43px;height:43px;margin-left:auto;border-radius:12px}
  .mobile-drawer{right:14px;width:calc(100% - 28px);top:calc(100% + 7px);border-radius:18px}
  .mobile-menu{padding:8px 14px 14px}
  .mobile-link{padding:12px 4px;font-size:13px}
  .mobile-cta-row{grid-template-columns:1fr 1fr}
  .mobile-cta-row .pill{min-height:44px;font-size:9px}

  .hero{height:555px;min-height:555px}
  .hero-copy{padding-bottom:118px;max-width:100%}
  .hero h1,.hero h2{font-size:42px}
  .hero-copy>p{font-size:14px;line-height:1.55}
  .hero-actions{margin-top:20px;gap:9px}
  .hero-actions .pill{min-height:44px;padding:0 16px;font-size:10px}
  .hero-proof{margin-top:18px;padding-top:14px}
  .hero-nav{bottom:18px;width:40px;height:40px}
  .hero-bottom{bottom:64px;width:calc(100% - 28px);gap:10px;justify-content:center}
  .slide-count{display:flex;min-width:58px;gap:6px;font-size:10px}
  .slide-count i{display:none}
  .slide-count .current{font-size:15px}
  .slide-count .current + i + span:before{content:'/ ';color:rgba(255,255,255,.55)}
  .hero-dots{gap:6px}
  .hero-dots button{width:7px;height:7px}
  .hero-progress{width:68px}
  .booking-plugin-banner{margin-top:-12px}
  .booking-plugin-panel{padding:17px 18px;border-radius:17px;gap:16px}
  .booking-plugin-copy h2{font-size:26px}
  .booking-plugin-copy p{font-size:13px}
  .booking-plugin-button{width:100%;margin-top:2px}

  .section-pad{padding:56px 0}
  .trade-section{padding:56px 0}
  .section-title{margin-bottom:24px}
  .intro-copy h2,.section-title h2,.split-copy h2,.guide-intro h2,.form-copy h2,.contact-info h2{font-size:36px}
  .intro-collage{min-height:390px}
  .photo-a{height:305px}
  .photo-b{height:205px}
  .bento{min-height:210px;padding:23px}
  .bento-wide{min-height:300px}
  .parallax-story{min-height:500px}
  .parallax-story.short{min-height:410px}
  .story-copy h2,.cta-copy h2{font-size:40px}
  .explainer-media>img{height:360px}
  .trade-image img,.trade-page-media img{height:300px}
  .inner-hero{min-height:330px}
  .inner-copy{padding-bottom:36px}
  .inner-copy h1{font-size:42px}
  .media-frame img{height:350px}
  .footer{padding-top:50px}
}

@media(max-width:390px){
  .logo{width:170px;flex-basis:170px}
  .hero h1,.hero h2{font-size:38px}
  .hero-copy{padding-bottom:122px}
  .hero-proof{gap:9px}
  .hero-bottom{gap:8px}
  .hero-progress{width:54px}
  .mobile-cta-row{grid-template-columns:1fr}
}

/* V2.6 — padding audit + polished FAQ rollover cards */

/* Homepage FAQ: convert the answers into properly padded rollover cards. */
.faq-home .faq-grid{align-items:start;gap:52px}
.faq-home .accordion{display:grid;gap:12px}
.faq-home .accordion details{
  margin:0;
  padding:0 22px;
  border:1px solid #d8e5ef;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  overflow:hidden;
  box-shadow:0 8px 24px rgba(7,26,48,.035);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease;
}
.faq-home .accordion summary{
  min-height:64px;
  align-items:center;
  padding:19px 4px;
}
.faq-home .accordion p{
  padding:0 4px 20px;
  margin:0;
}
.faq-home .accordion details:hover{
  transform:translateY(-3px);
  border-color:#9dcbf5;
  background:#fff;
  box-shadow:0 16px 38px rgba(7,26,48,.08);
}
.faq-home .accordion details:hover summary{padding-left:4px}
.faq-home .accordion details[open]{border-color:#a9d6ff;box-shadow:0 16px 40px rgba(25,120,242,.08)}

/* Full FAQ page: keep the same comfortable internal spacing. */
.faq-page .faq-item{padding:0 22px;margin-bottom:12px}
.faq-page .faq-item summary{padding:20px 3px;align-items:center}
.faq-page .faq-item p{padding:0 3px 20px}
.faq-page .faq-item:hover{transform:translateY(-2px)}
.faq-page .faq-item:hover summary{padding-left:3px}

/* Global card/content padding audit. */
.bento:not(.bento-photo){padding:26px 26px 72px}
.bento:not(.bento-photo) a{left:26px;bottom:26px}
.review-card{padding:28px 30px}
.mini-card{padding:28px 30px}
.guide-card{padding:29px 30px}
.price-content{padding:26px 27px 28px}
.timeline-row>div{padding:17px 20px}
.check-list span{padding:13px 16px}
.trade-points.big span{padding:16px 18px}
.contact-links a{padding:15px 16px}
.story-stats article{padding:23px 25px}
.booking-plugin-panel{padding:22px 28px}

/* Ensure text never sits visually against card edges after rollover movement. */
.mini-card,.guide-card,.review-card,.price-tile,.contact-info,.hours-panel,.booking-plugin-panel,.faq-item,.accordion details{overflow-wrap:anywhere}

/* Tablet padding tuning. */
@media(max-width:900px){
  .faq-home .faq-grid{gap:32px}
  .faq-home .accordion{gap:10px}
  .faq-home .accordion details{padding:0 19px}
  .faq-home .accordion summary{min-height:60px;padding:18px 3px}
  .faq-home .accordion p{padding:0 3px 18px}
  .faq-page .faq-item{padding:0 19px}
  .review-card{padding:26px}
  .mini-card,.guide-card{padding:25px 26px}
  .price-content{padding:24px 25px 26px}
  .timeline-row>div{padding:16px 18px}
  .booking-plugin-panel{padding:20px 22px}
}

/* Mobile: slightly larger page gutters and carefully reduced, consistent card padding. */
@media(max-width:640px){
  .shell{width:min(100% - 32px,1240px)}
  .mobile-drawer{right:16px;width:calc(100% - 32px)}
  .mobile-menu{padding:10px 15px 15px}
  .mobile-link{padding:13px 9px}
  .faq-home .faq-grid{gap:26px}
  .faq-home .faq-copy p{margin-bottom:20px}
  .faq-home .accordion details{padding:0 16px;border-radius:15px}
  .faq-home .accordion summary{min-height:56px;padding:16px 2px;font-size:15px;line-height:1.35;gap:12px}
  .faq-home .accordion p{padding:0 2px 16px;font-size:14px;line-height:1.65}
  .faq-page .faq-item{padding:0 16px;border-radius:15px}
  .faq-page .faq-item summary{padding:17px 2px;font-size:15px;line-height:1.4}
  .faq-page .faq-item p{padding:0 2px 17px;font-size:14px}
  .bento:not(.bento-photo){padding:23px 23px 66px}
  .bento:not(.bento-photo) a{left:23px;bottom:23px}
  .review-card{padding:23px 22px}
  .mini-card,.guide-card{padding:22px}
  .price-content{padding:22px}
  .timeline-row>div{padding:14px 15px}
  .check-list span{padding:12px 14px}
  .trade-points.big span{padding:14px 15px}
  .contact-links a{padding:14px 15px}
  .story-stats article{padding:18px 19px}
  .booking-plugin-panel{padding:18px 19px}
  .contact-info,.hours-panel{padding:26px 24px}
}

/* V2.7 — MOT class hover redesign + numbered bento badge spacing */

/* "Find your vehicle. See the price." — keep the infinite marquee, but replace
   the previous lifting/sliding rollover with a calmer framed focus treatment. */
.class-card{
  transition:border-color .32s ease,box-shadow .38s ease,background .32s ease;
}
.class-card:hover{
  transform:none;
  border-color:rgba(111,208,0,.72);
  box-shadow:0 24px 66px rgba(0,0,0,.28),0 0 0 1px rgba(22,135,248,.12);
}
.class-card::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  width:auto;
  height:auto;
  left:0;
  top:0;
  transform:none;
  background:radial-gradient(420px circle at var(--hx,50%) var(--hy,45%),rgba(22,135,248,.12),transparent 56%);
  opacity:0;
  transition:opacity .32s ease;
  pointer-events:none;
}
.class-card:hover::before{left:0;opacity:1}
.class-card::after{
  content:"";
  position:absolute;
  z-index:4;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 0 0 0 rgba(111,208,0,0);
  transition:box-shadow .34s ease;
  pointer-events:none;
}
.class-card:hover::after{box-shadow:inset 0 0 0 2px rgba(111,208,0,.62)}
.class-card>img{
  transform:none;
  transition:filter .5s ease,opacity .45s ease,transform .5s cubic-bezier(.2,.75,.2,1);
}
.class-card:hover>img{
  transform:scale(1.018);
  filter:saturate(1.12) contrast(1.035);
}
.class-body{position:relative;isolation:isolate}
.class-body::before{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--blue),var(--green));
  transform:scaleX(.16);
  transform-origin:center;
  opacity:.42;
  transition:transform .42s cubic-bezier(.2,.75,.2,1),opacity .32s ease;
}
.class-card:hover .class-body::before{transform:scaleX(1);opacity:1}
.class-card .class-body h3{
  transition:color .3s ease;
}
.class-card:hover .class-body h3{
  transform:none;
  color:var(--blue2);
}
.class-body strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  min-height:58px;
  padding:9px 14px;
  border-radius:18px;
  background:#f1f7fc;
  color:var(--navy);
  transition:color .3s ease,background .34s ease,box-shadow .34s ease,transform .34s ease;
}
.class-card:hover .class-body strong{
  color:#fff;
  background:linear-gradient(135deg,var(--blue2),var(--blue));
  box-shadow:0 12px 30px rgba(22,135,248,.24);
  transform:scale(1.045);
}

/* Give the 01 / 02 / 03 / 04 / 05 bento numbering proper breathing room and
   make it read as an intentional small badge on every colour treatment. */
.bento-num{
  top:22px;
  right:22px;
  min-width:40px;
  padding:7px 10px;
  text-align:center;
  line-height:1;
  border-radius:999px;
  opacity:1;
  letter-spacing:.08em;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.bento-light .bento-num{
  color:var(--blue2);
  background:#edf6ff;
  border-color:#cfe7fb;
}
.bento-green .bento-num{
  color:#183900;
  background:rgba(255,255,255,.38);
  border-color:rgba(255,255,255,.48);
}
.bento-photo .bento-num{
  color:#fff;
  background:rgba(3,17,31,.46);
  border-color:rgba(255,255,255,.30);
}

@media(max-width:640px){
  .class-body::before{left:22px;right:22px}
  .class-body strong{min-width:82px;min-height:52px;border-radius:15px;padding:8px 12px}
  .bento-num{top:18px;right:18px;min-width:38px;padding:7px 9px}
}
\n\n/* V2.8 — selective image depth parallax */
.depth-parallax{--depth-y:0px;--depth-scale:1.075}
.depth-parallax>img{
  transform:translate3d(0,var(--depth-y),0) scale(var(--depth-scale))!important;
  will-change:transform;
  transition:filter .55s ease,opacity .55s ease!important;
}
.photo-card.depth-parallax,
.bento-photo.depth-parallax,
.inner-hero.depth-parallax,
.facility-feature.depth-parallax{overflow:hidden}
.photo-card.depth-parallax:hover,
.bento-photo.depth-parallax:hover,
.explainer-media.depth-parallax:hover,
.trade-image.depth-parallax:hover,
.media-frame.depth-parallax:hover,
.trade-page-media.depth-parallax:hover,
.facility-feature.depth-parallax:hover{--depth-scale:1.105}
.explainer-media.depth-parallax>img,
.trade-image.depth-parallax>img,
.media-frame.depth-parallax>img,
.trade-page-media.depth-parallax>img{transform-origin:center center}
.inner-hero.depth-parallax{--depth-scale:1.11}
.inner-hero.depth-parallax>img{transform-origin:center center}
.facility-feature.depth-parallax>img{align-self:stretch;min-height:100%}

@media (max-width:900px){
  .depth-parallax{--depth-scale:1.055}
  .inner-hero.depth-parallax{--depth-scale:1.075}
  .depth-parallax:hover{--depth-scale:1.055}
}
@media (max-width:640px){
  /* Keep a very small amount of depth on phones without creating crop/jank. */
  .depth-parallax{--depth-scale:1.035}
  .inner-hero.depth-parallax{--depth-scale:1.05}
}
@media (prefers-reduced-motion:reduce){
  .depth-parallax{--depth-y:0px!important;--depth-scale:1!important}
  .depth-parallax>img{transform:none!important;will-change:auto!important}
}


/* V2.9 — slightly smaller brand marks + wider contact-page Google map */
.logo{width:245px;flex:0 0 245px}
.footer-brand img{width:255px}

.location-map-section{padding:0 0 64px;background:#fff}
.location-map-shell{width:min(1380px,calc(100% - 44px))}
.location-map-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}
.location-map-head h2{margin:5px 0 0;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.045em}
.location-map-frame{position:relative;width:100%;height:480px;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 20px 55px rgba(7,26,48,.11);background:var(--soft)}
.location-map-frame:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.42)}
.location-map-frame iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.92) contrast(1.02)}
.location-map-frame:hover iframe{filter:saturate(1) contrast(1.02)}

@media(max-width:1180px){
  .logo{width:220px;flex-basis:220px}
}
@media(max-width:900px){
  .logo{width:198px;flex-basis:198px}
  .location-map-section{padding-bottom:56px}
  .location-map-head{align-items:flex-start;flex-direction:column;margin-bottom:18px}
  .location-map-frame{height:420px}
}
@media(max-width:640px){
  .logo{width:174px;flex-basis:174px}
  .footer-brand img{width:220px}
  .location-map-shell{width:min(100% - 28px,1380px)}
  .location-map-section{padding-bottom:48px}
  .location-map-head{gap:14px}
  .location-map-head h2{font-size:34px}
  .location-map-head .pill{width:100%}
  .location-map-frame{height:350px;border-radius:17px}
}
@media(max-width:390px){
  .logo{width:158px;flex-basis:158px}
  .footer-brand img{width:205px}
  .location-map-frame{height:320px}
}


/* V3.0 — responsive header + CTA redesign */
@media(max-width:900px){
  /* Remove the narrow contact strip on responsive layouts.
     Phone access remains available in the menu and action dock. */
  .topbar{display:none}

  .site-header{top:0}
  .header-row{min-height:70px}

  /* Cleaner mobile menu CTA area */
  .mobile-cta-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding-top:16px;
    margin-top:8px;
    border-top:1px solid #e5edf4;
  }
  .mobile-menu-book,
  .mobile-menu-call{
    width:100%;
    min-height:62px;
    display:grid;
    grid-template-columns:42px 1fr 20px;
    align-items:center;
    gap:12px;
    padding:10px 14px;
    border-radius:15px;
    text-align:left;
    border:1px solid transparent;
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
  }
  .mobile-menu-book{
    background:linear-gradient(135deg,var(--blue),#0b68d5);
    color:#fff;
    box-shadow:0 12px 26px rgba(25,120,242,.20);
  }
  .mobile-menu-call{
    background:#f5f9fc;
    color:var(--navy);
    border-color:#dce8f1;
  }
  .mobile-cta-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:rgba(255,255,255,.16);
  }
  .mobile-menu-call .mobile-cta-icon{background:#e6f2ff;color:var(--blue)}
  .mobile-cta-icon svg{width:21px;height:21px}
  .mobile-menu-book span:nth-child(2),
  .mobile-menu-call span:nth-child(2){display:grid;gap:2px}
  .mobile-menu-book b,
  .mobile-menu-call b{font-size:12px;letter-spacing:.02em}
  .mobile-menu-book small,
  .mobile-menu-call small{font-size:9px;font-weight:700;opacity:.72}
  .mobile-menu-book i,
  .mobile-menu-call i{font-style:normal;font-size:18px;justify-self:end}

  /* Redesigned floating mobile CTA dock */
  .mobile-dock{
    left:12px;
    right:12px;
    bottom:12px;
    grid-template-columns:.86fr 1.28fr .94fr;
    gap:6px;
    padding:7px;
    border-radius:20px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(7,26,48,.10);
    box-shadow:0 20px 46px rgba(4,20,35,.22);
    backdrop-filter:blur(18px);
  }
  .mobile-dock .dock-action{
    min-width:0;
    min-height:58px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:7px 8px;
    border-radius:14px;
    color:var(--navy);
    background:transparent;
    border:0;
    transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
  }
  .mobile-dock .dock-main{
    color:#fff;
    background:linear-gradient(135deg,var(--blue),#0b67d2);
    box-shadow:0 9px 20px rgba(25,120,242,.24);
  }
  .mobile-dock .dock-directions{
    color:#397900;
    background:#f2fae9;
  }
  .mobile-dock .dock-call{
    background:#f2f7fb;
  }
  .mobile-dock .dock-icon{
    flex:0 0 30px;
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#e8f3fe;
    color:var(--blue);
  }
  .mobile-dock .dock-main .dock-icon{
    background:rgba(255,255,255,.17);
    color:#fff;
  }
  .mobile-dock .dock-directions .dock-icon{
    background:#e4f6d3;
    color:#4f9d0d;
  }
  .mobile-dock .dock-icon svg{width:17px;height:17px}
  .mobile-dock .dock-label{
    min-width:0;
    display:grid;
    gap:1px;
    text-align:left;
    line-height:1.05;
  }
  .mobile-dock .dock-label b{
    font-size:10px;
    white-space:nowrap;
  }
  .mobile-dock .dock-label small{
    font-size:7px;
    font-weight:750;
    opacity:.58;
    white-space:nowrap;
  }
}

@media(max-width:640px){
  .header-row{min-height:66px}
  .mobile-dock{
    left:9px;
    right:9px;
    bottom:9px;
    gap:5px;
    padding:6px;
    border-radius:18px;
  }
  .mobile-dock .dock-action{
    min-height:56px;
    padding:6px;
    gap:5px;
  }
  .mobile-dock .dock-icon{
    flex-basis:28px;
    width:28px;
    height:28px;
    border-radius:8px;
  }
  .mobile-dock .dock-icon svg{width:16px;height:16px}
  .mobile-dock .dock-label b{font-size:9px}
  .mobile-dock .dock-label small{font-size:6.5px}
}

@media(max-width:390px){
  .mobile-dock{grid-template-columns:.8fr 1.32fr .92fr}
  .mobile-dock .dock-action{gap:4px;padding:5px 4px}
  .mobile-dock .dock-icon{flex-basis:27px;width:27px;height:27px}
  .mobile-dock .dock-label small{display:none}
  .mobile-dock .dock-label b{font-size:8.5px}
}


/* V3.1 — inner hero headings locked to two lines */
.inner-copy h1{
  white-space:nowrap;
  max-width:none;
}

/* Keep the intentional <br> as the only line break. */
.inner-copy h1 br{
  display:block;
}

/* Make the two-line treatment reliable on smaller screens without overflow. */
@media(max-width:900px){
  .inner-copy h1{
    font-size:clamp(38px,6.3vw,48px);
    line-height:.94;
    letter-spacing:-.058em;
  }
}

@media(max-width:640px){
  .inner-copy h1{
    font-size:clamp(27px,8vw,39px);
    line-height:.96;
    letter-spacing:-.052em;
  }
  .inner-copy{
    padding-right:4px;
  }
}

@media(max-width:360px){
  .inner-copy h1{
    font-size:26px;
  }
}


/* V3.3 — responsive horizontal stability / overflow fix */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
  overscroll-behavior-x:none;
}

body{
  position:relative;
  touch-action:pan-y pinch-zoom;
}

img,
picture,
video,
canvas,
svg,
iframe{
  max-width:100%;
}

main,
.site-header,
.topbar,
.hero,
.inner-hero,
.trade-section,
.reviews,
.faq-home,
.booking-plugin-banner,
.cta-stage,
.footer{
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
}

.depth-parallax,
.parallax-stage,
.parallax-wrap,
.media-frame,
.trade-image,
.trade-page-media,
.explainer-media,
.facility-feature,
.photo-card,
.bento-photo{
  max-width:100%;
  overflow:hidden;
  contain:paint;
}

/* Infinite class carousel stays automatic; prevent it from dragging the whole page sideways. */
.class-carousel{
  width:100%;
  max-width:100%;
  overflow:hidden !important;
  overscroll-behavior-x:none;
  touch-action:pan-y;
}

.class-track{
  max-width:none;
}

.header-row > *,
.split > *,
.intro-grid > *,
.bento-grid > *,
.trade-grid > *,
.explainer-grid > *,
.footer-grid > *,
.contact-grid > *,
.form-grid > *,
.facility-grid > *,
.price-grid > *,
.guide-grid > *,
.timeline-item > *{
  min-width:0;
}

.inner-copy{
  max-width:100%;
  min-width:0;
}

.inner-copy h1{
  max-width:100%;
}

@media(max-width:900px){
  .shell{
    width:calc(100% - 32px);
    max-width:1240px;
    min-width:0;
  }

  .header-row{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .mobile-drawer{
    box-sizing:border-box;
    max-width:calc(100% - 28px);
    overflow-x:hidden !important;
  }

  .mobile-menu,
  .mobile-links,
  .mobile-cta-row{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .hero-copy,
  .inner-copy,
  .section-title,
  .split-copy,
  .trade-copy,
  .faq-copy{
    min-width:0;
    max-width:100%;
  }

  .mobile-dock{
    box-sizing:border-box;
    max-width:calc(100% - 24px);
  }
}

@media(max-width:640px){
  .shell{
    width:calc(100% - 28px);
  }

  .inner-copy h1{
    font-size:clamp(23px,7.4vw,38px);
    max-width:100%;
  }

  .hero-copy h1,
  .hero-copy h2{
    max-width:100%;
  }

  .mobile-drawer{
    left:auto;
    right:14px;
    width:calc(100% - 28px);
    max-width:calc(100% - 28px);
  }

  .mobile-dock{
    left:9px;
    right:9px;
    width:auto;
    max-width:calc(100% - 18px);
  }

  .fleet-badge,
  .trade-quote{
    left:10px !important;
    right:10px;
    max-width:calc(100% - 20px);
  }

  .photo-card,
  .media-frame,
  .trade-image,
  .trade-page-media,
  .explainer-media,
  .facility-feature{
    max-width:100%;
  }
}

@media(max-width:390px){
  .inner-copy h1{
    font-size:clamp(22px,7vw,27px);
    letter-spacing:-.045em;
  }

  .mobile-drawer{
    right:12px;
    width:calc(100% - 24px);
    max-width:calc(100% - 24px);
  }
}


/* V3.4 — focused parallax only on Built to keep MOT testing moving */
.target-parallax{
  position:relative;
  overflow:hidden !important;
  overflow:clip !important;
  isolation:isolate;
}

.target-parallax .parallax-img{
  position:absolute;
  left:0;
  right:0;
  top:-20%;
  width:100%;
  max-width:100%;
  height:140%;
  object-fit:cover;
  object-position:center 52%;
  will-change:transform;
  transform:translate3d(0,0,0) scale(1.08);
  backface-visibility:hidden;
}

/* Facilities image is intentionally static now. */
.story-static-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 54%;
  filter:saturate(.96) contrast(1.04);
}

@media(max-width:900px){
  .target-parallax .parallax-img{
    top:-16%;
    height:132%;
    object-position:center 50%;
  }
}

@media(max-width:640px){
  .target-parallax .parallax-img{
    top:-13%;
    height:126%;
    transform:translate3d(0,0,0) scale(1.06);
  }
}

@media(prefers-reduced-motion:reduce){
  .target-parallax .parallax-img{
    top:0;
    height:100%;
    transform:none!important;
    will-change:auto;
  }
}


/* V3.5 — image scrolling under text effect for Built to keep MOT testing moving */
.target-parallax{
  min-height:120vh;
  display:flex;
  align-items:stretch;
}

.target-parallax .story-scroll-layout{
  position:relative;
  z-index:3;
  min-height:120vh;
  align-items:center;
}

.target-parallax .story-copy{
  position:sticky;
  top:110px;
  align-self:start;
  margin-block:110px;
  z-index:5;
  background:linear-gradient(135deg,rgba(4,19,34,.88),rgba(4,19,34,.72));
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.10);
  border-radius:26px;
  padding:28px 30px;
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}

.target-parallax .story-copy h2,
.target-parallax .story-copy p,
.target-parallax .story-copy .story-actions{
  position:relative;
  z-index:2;
}

.target-parallax .story-stats{
  align-self:end;
  margin-bottom:110px;
  z-index:4;
}

.target-parallax .parallax-img{
  top:-26%;
  height:158%;
  object-position:center 54%;
  transform:translate3d(0,0,0) scale(1.12);
}

.target-parallax .story-shade{
  background:
    linear-gradient(90deg,rgba(2,16,30,.88) 0%,rgba(2,16,30,.78) 36%,rgba(2,16,30,.28) 72%,rgba(2,16,30,.50) 100%),
    linear-gradient(180deg,rgba(2,16,30,.06),rgba(2,16,30,.18));
}

@media(max-width:1180px){
  .target-parallax,
  .target-parallax .story-scroll-layout{
    min-height:112vh;
  }
  .target-parallax .story-copy{
    top:100px;
    margin-block:90px;
  }
  .target-parallax .story-stats{
    margin-bottom:90px;
  }
}

@media(max-width:900px){
  .target-parallax,
  .target-parallax .story-scroll-layout{
    min-height:auto;
  }

  .target-parallax .story-copy{
    position:relative;
    top:auto;
    margin-block:86px 26px;
    padding:24px 22px;
    border-radius:22px;
  }

  .target-parallax .story-stats{
    margin-bottom:84px;
  }

  .target-parallax .parallax-img{
    top:-18%;
    height:138%;
    transform:translate3d(0,0,0) scale(1.08);
  }
}

@media(max-width:640px){
  .target-parallax .story-copy{
    margin-block:76px 22px;
    padding:20px 18px;
    border-radius:18px;
  }

  .target-parallax .story-stats{
    margin-bottom:74px;
  }

  .target-parallax .parallax-img{
    top:-12%;
    height:125%;
    object-position:center 50%;
    transform:translate3d(0,0,0) scale(1.05);
  }
}

@media(prefers-reduced-motion:reduce){
  .target-parallax,
  .target-parallax .story-scroll-layout{
    min-height:auto;
  }

  .target-parallax .story-copy{
    position:relative;
    top:auto;
    margin-block:70px 24px;
  }
}


/* V3.6 — longer, smoother image-under-text parallax */
@media(min-width:901px){
  .target-parallax{
    min-height:155vh;
  }

  .target-parallax .story-scroll-layout{
    min-height:155vh;
    align-items:start;
  }

  /* Keep the copy pinned through more of the section. */
  .target-parallax .story-copy{
    position:sticky;
    top:118px;
    margin-top:120px;
    margin-bottom:180px;
  }

  .target-parallax .story-stats{
    position:sticky;
    top:170px;
    align-self:start;
    margin-top:330px;
    margin-bottom:180px;
  }

  /* Extra image height prevents any blank edge while the image glides. */
  .target-parallax .parallax-img{
    top:-32%;
    height:172%;
    transform:translate3d(0,0,0) scale(1.13);
  }
}

@media(min-width:1181px){
  .target-parallax{
    min-height:165vh;
  }

  .target-parallax .story-scroll-layout{
    min-height:165vh;
  }

  .target-parallax .story-copy{
    top:122px;
    margin-top:135px;
    margin-bottom:220px;
  }

  .target-parallax .story-stats{
    top:175px;
    margin-top:365px;
    margin-bottom:210px;
  }

  .target-parallax .parallax-img{
    top:-34%;
    height:178%;
  }
}

/* Keep tablet/mobile controlled and stable. */
@media(max-width:900px){
  .target-parallax,
  .target-parallax .story-scroll-layout{
    min-height:auto;
  }

  .target-parallax .story-copy,
  .target-parallax .story-stats{
    position:relative;
    top:auto;
  }
}


/* V3.7 — compact header navigation, no header CTA buttons */
@media(min-width:1181px){
  .header-row{
    height:68px;
    min-height:68px;
    gap:18px;
  }

  .logo{
    width:205px;
    flex:0 0 205px;
  }

  .desktop-nav{
    margin-left:auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:17px;
    min-width:0;
  }

  .nav-link{
    padding:24px 0 22px;
    font-size:12px;
    line-height:1;
  }

  .nav-link:after{
    bottom:15px;
  }
}

@media(min-width:901px) and (max-width:1180px){
  .header-row{
    height:66px;
    min-height:66px;
    gap:14px;
  }

  .logo{
    width:188px;
    flex:0 0 188px;
  }
}

@media(max-width:900px){
  .header-row{
    min-height:62px;
    height:62px;
    gap:10px;
  }

  .logo{
    width:158px;
    flex:0 0 158px;
  }

  .menu-toggle{
    margin-left:auto;
  }

  .mobile-menu{
    padding:8px 14px 12px;
  }

  .mobile-link{
    padding:11px 8px;
    font-size:13px;
  }
}

@media(max-width:390px){
  .header-row{
    min-height:60px;
    height:60px;
  }

  .logo{
    width:148px;
    flex-basis:148px;
  }
}


/* V3.8 — responsive experience badge containment fix */
.stat-chip{
  text-align:center;
}

.stat-chip span,
.stat-chip small{
  display:block;
  width:78%;
  max-width:78%;
  margin-inline:auto;
  white-space:normal;
  overflow-wrap:normal;
  line-height:1.18;
}

@media(max-width:640px){
  .stat-chip{
    width:142px;
    height:142px;
    left:10px;
    bottom:12px;
    padding:16px 12px;
    border-width:6px;
    box-sizing:border-box;
    justify-content:center;
    gap:2px;
  }

  .stat-chip span{
    width:76%;
    max-width:76%;
    font-size:7.5px;
    letter-spacing:.10em;
    line-height:1.1;
  }

  .stat-chip strong{
    font-size:41px;
    line-height:.92;
    margin:2px 0 3px;
  }

  .stat-chip small{
    width:82%;
    max-width:82%;
    font-size:7.2px;
    letter-spacing:.075em;
    line-height:1.2;
  }
}

@media(max-width:390px){
  .stat-chip{
    width:128px;
    height:128px;
    left:7px;
    bottom:10px;
    padding:13px 10px;
    border-width:5px;
  }

  .stat-chip span{
    width:78%;
    max-width:78%;
    font-size:6.8px;
    letter-spacing:.085em;
  }

  .stat-chip strong{
    font-size:36px;
    margin:1px 0 2px;
  }

  .stat-chip small{
    width:86%;
    max-width:86%;
    font-size:6.5px;
    letter-spacing:.055em;
    line-height:1.16;
  }
}

@media(max-width:340px){
  .stat-chip{
    width:120px;
    height:120px;
    left:5px;
    padding:11px 9px;
  }

  .stat-chip strong{
    font-size:33px;
  }

  .stat-chip span{
    font-size:6.3px;
  }

  .stat-chip small{
    font-size:6px;
  }
}


/* V3.9 — footer credit */
.footer-credit{
  display:inline-flex;
  align-items:center;
  gap:4px;
}

.footer-credit a{
  color:#fff;
  font-weight:800;
  transition:color .25s ease;
}

.footer-credit a:hover{
  color:var(--green);
}

@media(max-width:640px){
  .footer-bottom{
    gap:8px;
  }

  .footer-credit{
    justify-content:center;
    text-align:center;
    flex-wrap:wrap;
  }
}


/* V4.1 — desktop menu spacing/alignment only */
@media(min-width:1181px){
  .header-row{
    display:flex;
    align-items:center;
  }

  .desktop-nav{
    margin-left:auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:25px;
    height:100%;
  }

  .nav-link{
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    padding:0;
    line-height:1;
  }

  .nav-link:after{
    bottom:12px;
  }
}


/* V4.2 — desktop menu spread and left-gap correction */
@media(min-width:1181px){
  .header-row{
    gap:22px;
  }

  .desktop-nav{
    flex:1 1 auto;
    margin-left:22px;
    margin-right:0;
    justify-content:space-between;
    gap:18px;
    width:auto;
  }

  .nav-link{
    flex:0 0 auto;
  }
}


/* V4.3 — footer contact icons */
.footer-detail{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:10px 0;
  min-width:0;
}

.footer-detail-icon{
  flex:0 0 32px;
  width:32px;
  height:32px;
  border-radius:10px;
  display:grid;
  place-items:center;
  color:#67c8ff;
  background:rgba(25,120,242,.12);
  border:1px solid rgba(103,200,255,.14);
}

.footer-detail-icon svg{
  width:16px;
  height:16px;
}

.footer-detail a,
.footer-detail p{
  margin:0;
  min-width:0;
}

.footer-detail a{
  align-self:center;
}

.footer-location p,
.footer-hours p{
  line-height:1.65;
}

.footer-hours .footer-detail-icon{
  color:#9ee52c;
  background:rgba(158,229,44,.10);
  border-color:rgba(158,229,44,.14);
}

@media(max-width:640px){
  .footer-detail{
    gap:9px;
  }

  .footer-detail-icon{
    flex-basis:30px;
    width:30px;
    height:30px;
    border-radius:9px;
  }

  .footer-detail-icon svg{
    width:15px;
    height:15px;
  }
}


/* V5.4 — content-sized slider; reserved control and booking overlap space. */
.hero{--booking-overlap:34px;position:relative;isolation:isolate;height:auto;min-height:0;background:#03101e;overflow:hidden;color:#fff}
.hero-slides{position:relative;inset:auto;display:grid;touch-action:pan-y}
.hero-slide{position:relative;inset:auto;grid-area:1/1;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s}
.hero-slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition:opacity .7s ease,visibility 0s}
.hero-slide>img{object-position:center;transform:scale(1);transition:transform 8s linear;will-change:transform}
.hero-slide.active>img{transform:scale(1.035)}
.hero-inner{height:100%;min-height:600px;align-items:center;padding:64px 58px 152px}
.hero-copy{width:100%;max-width:720px;padding:0;transform:none}
.hero h1,.hero h2{font-size:clamp(50px,5.5vw,80px);line-height:1.04;letter-spacing:-.045em;margin:0 0 22px;overflow-wrap:normal}
.hero-copy>p{font-size:17px;line-height:1.65;max-width:580px;margin:0}
.hero .hero-actions{margin-top:26px;gap:12px}
.hero .hero-actions .pill{min-height:48px}
.hero-nav{top:calc(50% - 50px);bottom:auto;width:46px;height:46px;display:grid;place-items:center;cursor:pointer}
.hero-prev{left:18px}.hero-next{right:18px}
.hero-bottom{position:absolute;left:50%;right:auto;bottom:calc(var(--booking-overlap) + 24px);translate:-50% 0;transform:none;width:max-content;max-width:calc(100% - 32px);margin:0;padding:5px 16px;display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid #ffffff30;border-radius:99px;background:#03101ecc;backdrop-filter:blur(12px);z-index:12}
.slide-count{display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.slide-count .current{font-size:19px}.slide-count i{width:18px;flex:0 0 18px}
.hero-dots{display:flex;gap:0}.hero-dots button{position:relative;width:32px;height:40px;padding:0;border:0;border-radius:0;background:transparent;opacity:1;cursor:pointer}
.hero-dots button::after{content:'';position:absolute;width:7px;height:7px;border-radius:99px;background:#a5b0bc;left:50%;top:50%;transform:translate(-50%,-50%);transition:width .25s,background .25s}
.hero-dots button.active{background:transparent}.hero-dots button.active::after{width:20px;background:#94e600}
.hero-progress{width:90px;min-width:0;height:3px;margin:0}.hero-progress span{animation:none}
.hero button:focus-visible,.hero a:focus-visible{outline:2px solid #94e600;outline-offset:4px}
.booking-plugin-banner{position:relative;z-index:8;margin-top:-34px;padding-top:0}
.booking-plugin-panel.reveal{opacity:1;transform:none}.booking-plugin-panel:hover{transform:none}
@media(max-width:900px){
 .hero{--booking-overlap:24px}.hero-inner{min-height:560px;padding:52px 22px 136px}
 .hero h1,.hero h2{font-size:clamp(44px,7vw,64px)}
 .hero-nav{display:none}.booking-plugin-banner{margin-top:-24px}
}
@media(max-width:640px){
 .hero{--booking-overlap:18px}.hero-inner{min-height:510px;padding:42px 8px 128px;align-items:center}
 .hero-copy{max-width:100%}.hero h1,.hero h2{font-size:clamp(34px,9.5vw,52px);line-height:1.08;letter-spacing:-.04em;margin-bottom:18px}
 .hero-copy>p{font-size:14px;line-height:1.65}.hero .hero-actions{margin-top:22px;gap:9px}.hero .hero-actions .pill{padding:0 15px;font-size:10px;min-height:46px}
 .hero-shade{background:linear-gradient(90deg,rgba(3,16,30,.88),rgba(3,16,30,.5)),linear-gradient(0deg,#03101e,transparent 80%)}
 .hero-slide>img{object-position:60% center}.hero-bottom{gap:10px;padding:3px 12px}.hero-progress{width:42px}.slide-count .current{font-size:16px}.slide-count{font-size:10px}
 .hero-dots button{width:28px;height:40px}.booking-plugin-banner{margin-top:-18px}
}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide>img,.hero-slide.active>img{transform:none;transition:none}.hero-progress{display:none}}

/* V5.5 — WhatsApp desktop shortcut and colourful mobile quick actions. */
.desktop-whatsapp{position:fixed;right:24px;bottom:24px;z-index:135;display:flex;align-items:center;gap:11px;padding:13px 20px 13px 15px;border:1px solid #ffffff55;border-radius:50px;color:#fff;background:linear-gradient(135deg,#128c4e,#075e3a);box-shadow:0 8px 28px #075e3a44;transition:transform .2s ease,box-shadow .2s ease}
.desktop-whatsapp>svg{width:32px;height:32px;flex-shrink:0}.desktop-whatsapp>span{display:grid;gap:3px}.desktop-whatsapp b{font-size:15px;line-height:1.2}.desktop-whatsapp small{font-size:11px;line-height:1.3;color:#e4ffed}
.desktop-whatsapp:hover{transform:translateY(-3px);box-shadow:0 12px 30px #075e3a55}
.desktop-whatsapp:focus-visible,.mobile-dock .dock-action:focus-visible{outline:3px solid #ffcf49;outline-offset:4px}
@media(max-width:640px){
 .desktop-whatsapp{display:none}
 .mobile-dock{grid-template-columns:1fr 1.2fr 1.15fr;bottom:max(9px,env(safe-area-inset-bottom));background:#fff;border:1px solid #dce7f2}
 .mobile-dock .dock-action{flex-direction:column;gap:4px;padding:7px 3px;min-height:65px;color:#fff}
 .mobile-dock .dock-call{background:linear-gradient(135deg,#7443cd,#5030a5)}
 .mobile-dock .dock-main{background:linear-gradient(135deg,#1475e6,#0756b0)}
 .mobile-dock .dock-whatsapp{background:linear-gradient(135deg,#128c4e,#075e3a)}
 .mobile-dock .dock-action .dock-icon{width:24px;height:24px;flex:0 0 24px;background:transparent;color:#fff;border-radius:0}
 .mobile-dock .dock-action .dock-icon svg{width:23px;height:23px}
 .mobile-dock .dock-label{text-align:center;line-height:1.2}
 .mobile-dock .dock-label b{font-size:10px;text-transform:none;letter-spacing:0}
 .mobile-dock .dock-label small{display:none}
}
@media(prefers-reduced-motion:reduce){.desktop-whatsapp{transition:none}.desktop-whatsapp:hover{transform:none}}

/* WordPress CMS additions; inactive unless social links are configured. */
.footer-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.footer-socials a{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:12px}
.entry-content{max-width:900px}.entry-content>*+*{margin-top:1em}

/* Section-wide testimonials link. */
.reviews-view-all{display:flex;justify-content:center;margin-top:30px}

/* Display the original footer logo without image effects or forced dimensions. */
.footer-brand{min-width:0}
.footer .footer-brand img.footer-original-logo{
 height:auto!important;min-height:0!important;max-height:none!important;
 max-width:100%!important;aspect-ratio:auto!important;object-fit:contain!important;
 object-position:left center;transform:none!important;filter:none!important;
 border:0!important;border-radius:0!important;padding:0!important;
 box-shadow:none!important;animation:none!important;transition:none!important
}
