
.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-top h2{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards article{padding:35px 30px 30px;border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;align-items:start}.cards .blue-card{background:var(--blue);border-color:var(--blue)}.card-number{font-size:10px;letter-spacing:1.4px}h3{font-size:28px;letter-spacing:0;font-weight:600}.cards p{font-size:15px;flex:1}.cards a{margin-top:14px}.lesson-section{padding-top:30px}.gallery-section{background:#f0f6f8;max-width:none;padding-left:max(35px,calc((100vw - 1150px)/2));padding-right:max(35px,calc((100vw - 1150px)/2))}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo{position:relative;overflow:hidden;display:block;border:0;border-radius:12px;padding:0;background:var(--blue);cursor:zoom-in;width:100%;aspect-ratio:1.2}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo:hover img{transform:scale(1.045)}.photo span{position:absolute;bottom:12px;right:12px;background:white;border-radius:5px;padding:5px 10px;font-size:10px;letter-spacing:1px;color:var(--ink);opacity:0;transition:opacity .2s}.photo:hover span,.photo:focus-visible span{opacity:1}.review-link{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}.home-faq{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.home-faq h2{margin-top:23px}details{border-bottom:1px solid var(--line);padding:21px 0}summary{cursor:pointer;display:flex;justify-content:space-between;gap:30px;list-style:none;font-weight:500;font-size:16px}summary::-webkit-details-marker{display:none}summary span{font-size:23px;line-height:1}details[open] summary span{transform:rotate(45deg)}details p{font-size:15px}.cta{background:var(--blue);max-width:calc(100% - 48px);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:50px 6%;margin-bottom:60px}.cta h2{font-size:48px;margin:16px 0}.cta p{margin-bottom:0}footer{padding-bottom:55px}footer>div{display:flex;flex-direction:column;align-items:start;gap:10px}footer p{margin:6px 0}footer strong{margin-bottom:7px}footer small{font-size:12px;color:var(--muted)}.page-heading{background:var(--blue);margin:0 24px;border-radius:16px}.page-heading .wrap{padding-top:62px;padding-bottom:62px}.page-heading h1{font-size:64px;line-height:1.12}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature-photo{width:100%;height:470px;object-fit:cover;border-radius:16px;object-position:37% center}.pricing-note{margin-top:60px;padding:40px 0;display:flex;align-items:center;justify-content:space-between;gap:45px;border-top:1px solid var(--line)}.area-panel,.contact-note{padding:45px;border-radius:16px;background:var(--blue)}.area-panel>span{font-size:95px;font-weight:800;line-height:1;color:#94bdd2}.area-panel h3{font-size:36px}.phone-number{font-size:40px;letter-spacing:0;font-weight:600;display:block;margin:24px 0}.small-copy{font-size:13px;margin-top:25px}.contact-note ol{padding-left:22px}.contact-note li{padding-left:8px;margin:15px 0}.faq-list{max-width:900px}.reviews{text-align:center;padding-top:0}.reviews .eyebrow{justify-content:center}.reviews p{margin:20px auto}.resource-list>a{padding:25px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.resource-list h3{margin:0}.resource-list>a>span{font-size:30px}.prose{max-width:850px}.lightbox{border:0;border-radius:14px;padding:0;background:transparent;max-width:94vw;max-height:92vh;overflow:visible}.lightbox::backdrop{background:#09222de8}.lightbox img{max-width:90vw;max-height:85vh;display:block;border-radius:12px}.lightbox-close{position:absolute;right:8px;top:8px;width:42px;height:42px;border:0;border-radius:50%;background:white;color:#143747;font-size:30px;cursor:pointer}.price{font-size:44px;font-weight:700;letter-spacing:0;line-height:1.3;margin:15px 0}.price small{font-size:15px;font-weight:400;letter-spacing:0}.map{width:100%;height:480px;border:0;border-radius:15px;background:var(--blue)}.suburb-groups{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:45px;margin-top:45px}.suburb-groups ul{padding:0;list-style:none;columns:2;column-gap:24px}.suburb-groups li{margin-bottom:8px;break-inside:avoid;font-size:15px}.suburb-groups h3{font-size:24px}.suburb-groups>div:not(:first-child) ul{columns:1}@media(max-width:740px){.cards{grid-template-columns:1fr}.section-top{display:block}.section-top>.text-link{margin-top:20px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-section .gallery-grid .photo:last-child{display:none}.gallery-section{padding:55px 26px}.home-faq,.split{grid-template-columns:1fr;gap:30px}.home-faq h2 br{display:none}.cta{max-width:calc(100% - 24px);flex-direction:column;align-items:start;padding:35px 25px;margin-bottom:30px}.cta h2{font-size:37px}.page-heading{margin:0 12px}.page-heading .wrap{padding:38px 25px}.page-heading h1{font-size:46px}.feature-photo{height:340px}.pricing-note{display:block}.pricing-note .button{margin-top:15px}.phone-number{font-size:32px}.contact-note,.area-panel{padding:30px}.review-link{align-items:start;flex-direction:column;gap:0}.suburb-groups{grid-template-columns:1fr;gap:12px}.map{height:400px}footer{display:grid;grid-template-columns:1fr 1fr;font-size:13px}footer>div:first-child{grid-column:1/-1}footer .brand{font-size:16px}}
:root{--ink:#143747;--muted:#5b707c;--blue:#e3f2fa;--accent:#dafa91;--line:#dce5e9;--paper:#fbfcfd}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #277ba5;outline-offset:5px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1440px;margin:auto;padding:0 5%}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:17px;line-height:1.08;letter-spacing:0}.brand small{font-size:9px;letter-spacing:1.35px;display:block;margin-top:8px;font-weight:500}.brand-mark{font-size:52px;letter-spacing:0;margin-right:10px;line-height:1;font-style:italic}.brand-mark span{color:#6ea8c8}nav{display:flex;gap:29px;font-size:14px}nav a{padding:7px 0}nav a:hover,nav a[aria-current]{border-bottom:1px solid var(--ink)}.button{background:var(--ink);color:white;padding:17px 24px;border-radius:8px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;font-weight:600;font-size:15px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#25556c}.button span{font-size:23px;line-height:1}.button.small{font-size:14px;padding:12px 19px}.menu{display:none}.hero{margin:0 24px;min-height:660px;border-radius:18px;background:var(--blue);position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1.05fr;max-width:1552px}.hero-copy{padding:61px 0 28px 7%;z-index:2}.eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:2px;font-size:11px;font-weight:700}.mini-l{background:var(--accent);border:1px solid var(--ink);border-radius:4px;font-size:19px;line-height:26px;width:26px;text-align:center;letter-spacing:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;line-height:1.2;word-spacing:normal;letter-spacing:0}h1{font-size:clamp(48px,5.3vw,79px);font-weight:600;margin:26px 0 24px}h1 em{font-style:normal;color:#4e8dad}p{color:var(--muted);max-width:590px}.hero p{font-size:16px;line-height:1.7}.actions{display:flex;align-items:center;gap:24px;margin-top:30px}.text-link{font-size:14px;font-weight:600;display:inline-block;border-bottom:1px solid #78939f;padding-bottom:4px}.hero-foot{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.2px;max-width:460px;margin-top:57px}.hero-visual{position:relative;min-width:0}.giant-word{font-family:'Manrope',Arial,sans-serif;position:absolute;white-space:nowrap;top:74px;left:-10px;font-size:clamp(66px,8.5vw,130px);font-weight:800;letter-spacing:0;color:#c2dfef}.hero-car{position:absolute;width:120%;max-width:none;left:-16%;top:200px;filter:drop-shadow(0 28px 15px #52748330);animation:drive-in 1.35s cubic-bezier(.2,.7,.2,1) both}.floating-note{position:absolute;z-index:3;right:50px;top:37px;background:#ffffffde;box-shadow:0 8px 25px #4e728410;padding:12px 18px;border-radius:10px;display:flex;gap:13px;align-items:center;font-size:12px;line-height:1.5;transform:rotate(4deg)}.note-icon{background:var(--accent);padding:8px;border-radius:5px;font-size:18px;font-weight:700}.car-caption{position:absolute;bottom:36px;right:45px;font-size:10px;letter-spacing:2px}.wrap{max-width:1220px;margin:auto;padding:95px 35px}.intro{display:grid;grid-template-columns:1fr 1fr;column-gap:100px}.intro .eyebrow{grid-column:1/-1}h2{font-size:43px;font-weight:600;margin:24px 0}h2 span{color:#7198ad}.intro p{margin-top:29px}.intro .text-link{grid-column:2;width:max-content;margin-top:-26px}footer{border-top:1px solid var(--line);padding:40px 6%;display:flex;justify-content:space-between;gap:25px;font-size:14px}@keyframes drive-in{from{transform:translateX(55%);opacity:0}to{transform:translateX(0);opacity:1}}@media(min-width:1600px){.hero{margin:auto}}@media(max-width:1000px){.header{padding:0 28px}nav{gap:15px}.hero-copy{padding-left:8%}.hero{min-height:630px}.hero-car{top:250px;width:135%;left:-25%}.actions{align-items:flex-start;flex-direction:column;gap:15px}.hero-foot{font-size:9px}.giant-word{top:130px}.floating-note{right:20px}.intro{gap:20px 45px}.intro .text-link{margin:0}}@media(max-width:740px){.header{height:90px;padding:0 22px}.brand{font-size:14px}.brand small{font-size:8px}.brand-mark{font-size:44px}.header>.button{display:none}.menu{display:block;background:none;border:0;font-size:26px;color:var(--ink)}nav{display:none;position:absolute;top:82px;left:16px;right:16px;background:white;z-index:10;padding:25px;box-shadow:0 10px 30px #14374720;border-radius:12px}nav.open{display:flex;flex-direction:column}.hero{display:flex;flex-direction:column;margin:0 12px;min-height:0}.hero-copy{padding:35px 25px 0}.eyebrow{font-size:9px;letter-spacing:1.5px}h1{font-size:52px;letter-spacing:0;margin:24px 0 20px}.hero p{font-size:15px}.actions{flex-direction:row;align-items:center;gap:16px}.button{padding:14px 17px;font-size:13px;gap:20px}.text-link{font-size:12px}.hero-foot{display:none}.hero-visual{height:330px;margin-top:28px}.giant-word{top:0;left:26px;font-size:72px;letter-spacing:0}.hero-car{top:73px;left:0;width:103%}.floating-note{top:32px;right:24px;font-size:10px;padding:8px 10px}.note-icon{font-size:15px;padding:5px}.car-caption{bottom:20px;font-size:9px;right:26px}.wrap{padding:65px 26px}.intro{display:block}h2{font-size:34px;letter-spacing:0}.intro .text-link{margin-top:10px}footer{flex-direction:column;padding:35px 26px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Readable labels and stable responsive spacing. */
.eyebrow,.card-number,.hero-foot,.car-caption{font-size:12px;letter-spacing:1.25px}.brand small{font-size:10px;letter-spacing:1px}.text-link{font-size:14px}.photo span{font-size:12px}.hero-car{width:110%;left:-10%;top:200px}.hero-foot{max-width:500px}.home-faq h2 br:after{content:' '}.suburb-groups h3{line-height:1.3}.price{color:var(--ink)}
@media(max-width:1000px) and (min-width:741px){.hero-car{width:130%;left:-23%;top:265px}.header{gap:15px}nav{gap:12px;font-size:13px}.header>.button{display:none}}
@media(max-width:740px){.eyebrow{font-size:11px;letter-spacing:1px}.hero-car{width:103%;left:0;top:73px}.hero-visual{height:clamp(290px,68vw,445px)}.giant-word{font-size:clamp(61px,12vw,88px)}.hero-copy{padding-top:30px}h1{font-size:clamp(39px,8.8vw,56px)}.hero-copy .actions{flex-wrap:wrap}.hero-foot{display:none}.hero-visual .car-caption{font-size:11px;bottom:15px}.floating-note{top:24px}.home-faq h2 br{display:initial}.home-faq h2{max-width:340px}.cta{padding:38px 26px}.brand small{font-size:9px}}

:root{--sky:#83c7e7;--deep:#103447;--ease:cubic-bezier(.22,1,.36,1)}html{scroll-behavior:smooth;scroll-padding-top:115px}body{overflow-x:clip}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:15px}.skip-link:focus{top:10px}.utility-bar{background:#edf5f8;font-size:12px;position:relative}.utility-bar:before{content:"";position:absolute;inset:0 49% 0 0;background:var(--ink);clip-path:polygon(0 0,94% 0,100% 100%,0 100%)}.utility-inner{max-width:1440px;padding:0 4%;margin:auto;display:flex;justify-content:space-between;gap:30px;min-height:45px;position:relative}.utility-local,.utility-social{display:flex;align-items:center;gap:24px}.utility-local{color:#edf7fc}.utility-local>a,.utility-hours{display:flex;align-items:center;gap:8px}.utility-hours strong{margin-left:7px;font-weight:500}.utility-bar svg{height:16px;width:16px;fill:none;stroke:currentColor;stroke-width:1.7;flex-shrink:0}.utility-bar .filled{fill:currentColor;stroke:none}.utility-social{gap:16px}.utility-social>a{min-width:26px;min-height:36px;display:inline-flex;align-items:center;justify-content:center}.utility-phone{gap:8px;margin-right:14px}.utility-phone strong{font-weight:600}.social-label{text-transform:uppercase;font-size:10px;letter-spacing:1px}.google-icon{font-weight:800;font-size:18px}.utility-social>a:hover{color:#3684aa}.header{position:sticky;top:0;z-index:30;height:112px;max-width:none;padding:0 max(4%,calc((100vw - 1325px)/2));background:#fbfcfdeb;backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:height .4s var(--ease),box-shadow .4s,border-color .4s;gap:26px}.header.scrolled{height:84px;box-shadow:0 7px 28px #12374709;border-color:#dce8ef}.brand{flex-shrink:0}.header .brand img{width:226px;height:78px;object-fit:contain;display:block}.header nav{display:flex;gap:6px;align-items:center;padding:5px;border:1px solid #dce7ed;border-radius:100px;background:#f0f5f7;font-size:13px;white-space:nowrap}.header nav .nav-link,.nav-dropdown>summary{padding:11px 15px;border-radius:40px;transition:background .25s,color .25s,box-shadow .25s;border:0;font-size:13px}.header nav .nav-link:hover,.nav-dropdown>summary:hover{background:#e0edf4}.header nav .nav-link[aria-current]{background:white;box-shadow:0 2px 8px #153e5110;border:0;color:#143747}.nav-dropdown{position:relative;padding:0;border:0}.nav-dropdown>summary{display:flex;align-items:center;gap:8px;list-style:none;font-weight:400}.nav-dropdown summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .3s}.nav-dropdown[open] summary svg{transform:rotate(180deg)}.dropdown-panel{position:absolute;top:calc(100% + 18px);left:-50px;width:310px;background:white;padding:18px;border-radius:18px;border:1px solid #e0e9ef;box-shadow:0 18px 60px #12374724;animation:panel-in .25s var(--ease);white-space:normal}.dropdown-panel a{display:block;padding:12px 13px;border-radius:10px;font-size:14px;font-weight:600;border:0!important}.dropdown-panel a:hover{background:var(--blue)}.dropdown-panel a span{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:3px}.dropdown-label{font-size:10px;letter-spacing:1.2px;color:#6b8592;display:block;padding:6px 12px 9px}.button{border-radius:100px;position:relative;overflow:hidden;box-shadow:0 4px 0 #14374708;transition:background .3s,transform .3s,box-shadow .3s}.button:hover{transform:translateY(-3px);box-shadow:0 9px 23px #14374720}.button>span{transition:transform .3s}.button:hover>span{transform:translate(3px,-3px)}.connect-button{padding:13px 17px 13px 22px;gap:18px;font-size:14px;white-space:nowrap}.connect-button>span{border-radius:50%;background:var(--sky);color:var(--ink);height:30px;width:30px;text-align:center;line-height:30px;font-size:20px}.mobile-connect{display:none!important}.scroll-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:#70b7d8;pointer-events:none}.hero{background:radial-gradient(ellipse at 72% 48%,#f5fcff 0%,#e5f4fc 40%,#dceef8 100%);border:1px solid #d7eaf3;margin:0 22px;min-height:680px;isolation:isolate}.hero-copy{padding-top:63px;padding-left:8%}.hero h1{font-size:clamp(52px,5.1vw,78px);letter-spacing:0;line-height:1.07;font-weight:600;margin-top:29px}.hero h1 em{color:#518fab;display:inline-block;position:relative}.hero h1 em:after{content:"";position:absolute;bottom:-8px;left:0;width:100%;height:3px;border-radius:50%;background:#83c7e7;transform:rotate(-2deg);animation:underline-in 1.5s var(--ease) both;transform-origin:left}.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>p,.hero-copy>.actions{animation:copy-in 1s var(--ease) both}.hero-copy>h1{animation-delay:.1s}.hero-copy>p{animation-delay:.18s}.hero-copy>.actions{animation-delay:.26s}.hero-copy p{margin-top:30px}.hero .giant-word{color:#beddeb;top:94px;font-size:clamp(70px,8.4vw,128px);letter-spacing:0;will-change:transform}.hero-visual{isolation:isolate}.floating-note{top:42px;right:40px;border:1px solid #fff;backdrop-filter:blur(12px);transform:rotate(5deg);animation:note-float 7s ease-in-out infinite}.hero-car{position:static;width:100%;height:auto;max-width:100%;filter:none;animation:none;display:block}.car-stage{position:absolute;left:-12%;top:185px;width:114%;will-change:transform;z-index:2}.car-drive{position:relative;width:100%;filter:drop-shadow(0 25px 16px #23485325);animation:car-arrive 1.9s var(--ease) both;animation-delay:.18s;transform-origin:50% 80%}.car-caption{bottom:29px;right:32px;z-index:3;color:#4b768a}.hero-foot{margin-top:45px;color:#4b6878}.wheel{display:none;position:absolute;overflow:hidden;border-radius:50%;pointer-events:none}.wheel-rotor{width:100%;height:100%;background-repeat:no-repeat;animation:wheel-roll 1.9s var(--ease) both;animation-delay:.18s}.intro{padding-top:110px;padding-bottom:100px;position:relative}.intro:after{content:"";height:1px;background:linear-gradient(90deg,transparent,#ccdee7,transparent);position:absolute;bottom:0;left:35px;right:35px}.intro h2{font-size:clamp(35px,3.6vw,52px);letter-spacing:0}.lesson-section{padding-top:90px;padding-bottom:110px}.section-top{margin-bottom:40px}.section-top h2{font-size:clamp(34px,3.3vw,47px);letter-spacing:0}.cards{gap:23px}.cards article{position:relative;background:#fff;border-color:#dce8ee;padding:37px 32px;border-radius:20px;transition:transform .45s var(--ease),box-shadow .45s,border-color .45s;min-width:0}.cards article:hover{transform:translateY(-9px);box-shadow:0 20px 55px #16425412;border-color:#9fcbe0}.cards .blue-card{background:linear-gradient(140deg,#dceef9,#eaf6fc);border-color:#c3ddeb}.cards .card-number{padding:7px 11px;border:1px solid #d3e3eb;border-radius:100px;font-size:10px;letter-spacing:1px}.cards h3{margin:30px 0 5px}.cards .price{margin:10px 0 15px;font-size:48px}.cards .button{margin-top:23px;width:100%;font-size:14px}.cards p{font-size:16px}.gallery-section{background:#eff5f8;overflow:hidden;position:relative}.photo{border-radius:18px;isolation:isolate}.photo img{transition:transform .85s var(--ease),filter .6s}.photo:hover img{transform:scale(1.075);filter:saturate(1.06)}.photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#09263460);opacity:0;transition:opacity .4s;z-index:0}.photo:hover:after{opacity:1}.photo span{z-index:1;right:18px;bottom:18px;border-radius:100px;padding:9px 14px}.gallery-section .photo:nth-child(2){margin-top:36px}.gallery-section .photo:nth-child(3){margin-top:72px}.gallery-grid{align-items:start}.review-link{margin-top:45px}.home-faq{padding-top:110px;padding-bottom:110px;gap:90px}.home-faq details{padding:25px 0}.home-faq summary,.faq-list summary{font-size:17px}.cta{background:linear-gradient(120deg,#173e52,#0d2b3c);color:white;margin:0 22px 55px;max-width:none;position:relative;overflow:hidden;padding:70px max(5%,calc((100vw - 1150px)/2));border-radius:24px}.cta p{color:#c4dbe6}.cta .eyebrow{color:#91cae5}.cta .button{background:#dafa91;color:#143747;flex-shrink:0}.cta h2{font-size:clamp(38px,4vw,58px)}footer{padding:20px 6% 55px;border-top:0;max-width:1500px;margin:auto;gap:38px}footer .brand img{width:245px;height:90px;object-fit:contain;object-position:left center}.footer-social{display:flex;gap:14px;font-size:12px}footer a:not(.brand):hover{color:#307da3}footer strong{font-size:15px}.page-heading{background:radial-gradient(ellipse at 85% 10%,#f5fcff,#e0f0f9);border:1px solid #d7eaf3;overflow:hidden}.page-heading h1{animation:copy-in .9s var(--ease) both}.feature-photo{box-shadow:18px 18px 0 #e3f2fa;transition:transform .6s var(--ease)}.map{box-shadow:0 10px 30px #1437470e}.resource-list>a{transition:padding .3s,background .3s;padding:25px 15px;border-radius:12px}.resource-list>a:hover{padding-left:27px;background:var(--blue)}.back-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border:1px solid #b5d5e5;background:#fffffff2;backdrop-filter:blur(12px);border-radius:50%;color:var(--ink);font-size:23px;z-index:25;cursor:pointer;box-shadow:0 5px 18px #14374712;opacity:0;visibility:hidden;transform:translateY(15px);transition:.3s}.back-top.visible{opacity:1;visibility:visible;transform:none}.reveal-ready{opacity:0;transform:translateY(35px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.in-view{opacity:1;transform:translateY(0)}.cards article.reveal-ready.in-view:hover{transform:translateY(-9px)}@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes copy-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes underline-in{from{scale:0 1}to{scale:1 1}}@keyframes car-arrive{0%{transform:translateX(75%);opacity:0}15%{opacity:1}82%{transform:translateX(-.7%) rotate(-.2deg)}100%{transform:translateX(0) rotate(0)}}@keyframes wheel-roll{from{transform:rotate(420deg)}to{transform:rotate(0)}}@keyframes note-float{0%,100%{transform:translateY(0) rotate(5deg)}50%{transform:translateY(-8px) rotate(3deg)}}
@media(min-width:1600px){.hero{max-width:1552px;margin:auto}.header{padding-left:calc((100vw - 1440px)/2);padding-right:calc((100vw - 1440px)/2)}}
@media(max-width:1220px){.header{gap:17px;padding:0 3%}.header .brand img{width:190px;height:72px}.header nav .nav-link,.nav-dropdown>summary{padding:10px 11px;font-size:12px}.connect-button{gap:12px;padding:12px 15px;font-size:13px}.utility-local,.utility-social{gap:12px}.utility-hours{font-size:11px}.social-label{display:none}.utility-phone{margin-right:4px}.hero-copy{padding-left:7%}.hero h1{font-size:61px}.hero .actions{flex-direction:column;align-items:start}.car-stage{top:235px;width:120%;left:-16%}.hero .giant-word{top:140px}.hero-foot{font-size:10px}.hero{min-height:700px}.cards article{padding:30px 23px}.cards .price{font-size:42px}}
@media(max-width:1020px){.header{height:95px}.header .brand img{width:205px}.header.scrolled{height:79px}.header .connect-button{display:inline-flex;margin-left:auto}.header nav{display:none;position:absolute;top:calc(100% + 10px);left:16px;right:16px;background:#fafdff;border:1px solid #d8e7ef;border-radius:20px;padding:15px;box-shadow:0 18px 55px #1537472b;max-height:calc(100dvh - 120px);overflow:auto;white-space:normal}.header nav.open{display:flex;flex-direction:column;align-items:stretch;animation:panel-in .25s var(--ease);gap:4px}.header nav .nav-link,.nav-dropdown>summary{font-size:16px;padding:13px 16px;border-radius:10px}.nav-dropdown>summary{justify-content:space-between}.dropdown-panel{position:static;width:auto;box-shadow:none;background:#eaf3f8;margin:7px 0;border:0;animation:none;border-radius:12px;padding:12px}.menu{display:flex;width:44px;height:44px;border:1px solid #c9dce7;border-radius:50%;padding:12px;background:white;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}.menu span{width:18px;height:1.5px;background:var(--ink);transition:.25s}.menu[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.utility-bar:before{right:42%}.utility-inner{padding:0 3%}.utility-local>a{display:none}.utility-hours{font-size:12px}.utility-phone{font-size:12px}.utility-social{gap:8px}.utility-social>a{min-width:25px}.hero h1{font-size:52px;letter-spacing:0}.hero{grid-template-columns:1.05fr 1fr;min-height:640px}.car-stage{top:246px;width:137%;left:-33%}.hero .giant-word{font-size:82px;top:163px;left:-28px}.floating-note{right:23px;top:65px}.hero-foot{margin-top:35px;max-width:370px;font-size:9px}.intro{column-gap:40px}.cards{gap:14px}.cards article{padding:27px 20px}.cards h3{font-size:24px}.cards .price{font-size:37px}.cards .button{padding:15px;gap:10px;font-size:12px}footer{display:grid;grid-template-columns:1.2fr 1fr 1fr}footer>div:first-child{grid-column:1/-1}.home-faq{gap:40px}.utility-hours strong{margin-left:5px}}
@media(max-width:740px){html{scroll-padding-top:90px}.utility-inner{min-height:65px;display:grid;grid-template-columns:1fr;gap:0;padding:7px 18px}.utility-bar:before{inset:0;clip-path:none}.utility-local{justify-content:center}.utility-hours{font-size:11px;gap:6px}.utility-hours svg{height:13px;width:13px}.utility-social{justify-content:center;color:#e5f3fa;gap:12px}.utility-social>a{min-height:25px}.utility-phone{font-size:11px}.utility-phone strong{font-size:12px}.utility-social svg{width:13px;height:13px}.google-icon{font-size:15px}.header{height:88px;padding:0 20px;gap:13px}.header .brand img{width:195px;height:70px}.header .connect-button{display:none}.header .menu{margin-left:auto}.header.scrolled{height:76px}.header nav{max-height:calc(100dvh - 100px)}.mobile-connect{display:flex!important;margin:12px 5px 5px;border-radius:100px}.hero{margin:0 12px;min-height:0;display:flex;border-radius:20px}.hero-copy{padding:33px 25px 0}.hero h1{font-size:clamp(40px,8.6vw,60px);letter-spacing:0;line-height:1.08;margin-top:24px;margin-bottom:23px}.hero-copy p{margin-top:25px;font-size:16px;line-height:1.65}.hero .eyebrow{font-size:10px;letter-spacing:1.1px}.hero .actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:18px;margin-top:25px}.hero .actions .button{padding:15px 20px;gap:23px;font-size:13px}.hero .actions .text-link{font-size:13px}.hero-visual{height:clamp(290px,70vw,470px);margin-top:28px;width:100%}.car-stage{top:65px;left:0;width:102%}.hero .giant-word{font-size:clamp(65px,13vw,95px);left:24px;top:0;letter-spacing:0}.floating-note{right:20px;top:7px;font-size:10px;padding:9px 12px;z-index:4}.floating-note .note-icon{font-size:15px}.car-caption{bottom:13px;right:22px;font-size:10px!important}.hero-foot{display:none}.hero-car{width:100%;max-width:100%;height:auto;position:static;top:auto;left:auto}.wrap{padding:65px 25px}.intro{padding-top:70px;padding-bottom:65px}.intro h2{font-size:36px;letter-spacing:0}.intro p{font-size:16px;margin-top:20px}.intro .text-link{font-size:14px}.lesson-section{padding-top:65px}.section-top h2{font-size:35px;letter-spacing:0}.cards{grid-template-columns:1fr;gap:20px}.cards article{padding:30px}.cards h3{font-size:28px;margin-top:25px}.cards .price{font-size:46px}.cards .button{font-size:14px;padding:17px 22px}.gallery-section{padding:65px 25px}.gallery-section .gallery-grid{grid-template-columns:1fr 1fr;gap:13px}.gallery-section .photo:nth-child(2){margin-top:28px}.gallery-section .photo:nth-child(3){display:block;margin-top:0;grid-column:1/-1;aspect-ratio:1.6}.gallery-grid{gap:13px}.photo{border-radius:13px}.photo span{font-size:10px;right:9px;bottom:9px;padding:6px 9px}.review-link{margin-top:25px;gap:8px}.home-faq{gap:30px}.home-faq h2{font-size:35px}.home-faq h2 br{display:none}.home-faq h2 br:after{content:' '}.home-faq summary,.faq-list summary{font-size:16px}.cta{margin:0 12px 40px;max-width:none;padding:40px 28px;gap:26px;align-items:start}.cta h2{font-size:39px}.cta p{font-size:16px}.cta .button{font-size:14px;padding:17px 22px}footer{padding:0 26px 35px;grid-template-columns:1fr 1fr;gap:30px 22px}footer>div:first-child{grid-column:1/-1}footer>div:last-child{grid-column:1/-1}footer .brand img{width:220px;height:75px}.page-heading{margin:0 12px}.page-heading h1{font-size:clamp(39px,9vw,52px);letter-spacing:0;overflow-wrap:break-word}.page-heading .wrap{padding:40px 25px}.page-heading p{font-size:16px}.back-top{width:42px;height:42px;right:16px;bottom:16px}.feature-photo{box-shadow:10px 10px 0 #e3f2fa}.phone-number{font-size:clamp(26px,7.7vw,34px)}.contact-note{padding:28px}.resource-list h3{font-size:24px;line-height:1.2}.suburb-groups ul{columns:2}.lightbox img{max-width:94vw}.lightbox{max-width:96vw}}
@media(max-width:360px){.header .brand img{width:175px}.utility-phone{gap:4px}.utility-social{gap:8px}.hero-copy{padding-left:20px;padding-right:20px}.hero h1{font-size:38px}.hero .eyebrow{font-size:9px}.hero .actions{gap:14px}.cards article{padding:25px}.suburb-groups ul{columns:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready{opacity:1;transform:none;transition:none}.car-drive,.wheel-rotor,.floating-note,.hero-copy>*,.page-heading h1{animation:none!important}.car-stage,.giant-word{transform:none!important}.wheel{display:none!important}*,*:before,*:after{scroll-behavior:auto!important}}
/* Wheel textures rotate only during arrival, inside perspective-shaped masks. */
.wheel{display:block}.wheel-front{left:53.6%;top:61.2%;width:11.5%;height:25%;transform:rotate(4deg)}.wheel-rear{left:92.3%;top:51.8%;width:5.3%;height:19.9%;transform:rotate(2deg)}.wheel-rotor{background-image:url('/assets/vehicle-refined.png');animation:wheel-roll 1.9s var(--ease) both,wheel-fade 1.9s linear both;animation-delay:.18s}.wheel-front .wheel-rotor{background-size:869.57% 400%;background-position:60.565% 81.6%}.wheel-rear .wheel-rotor{background-size:1886.8% 502.51%;background-position:97.465% 64.67%}@keyframes wheel-fade{0%,75%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.wheel{display:none}}

/* Corrected identity, a quieter mobile utility strip, and a scroll journey. */
.header .brand img{width:250px;object-fit:contain}footer .brand img{width:270px}.footer-social{display:flex;gap:12px;margin-top:6px}.footer-social a{height:42px;width:42px;display:flex;align-items:center;justify-content:center;border:1px solid #c6dce7;border-radius:50%;background:#eef6fa;transition:background .25s,transform .25s}.footer-social a:hover{background:#d4eafa;transform:translateY(-3px)}.footer-social svg{width:19px;height:19px;fill:var(--ink)}.wheel{display:none!important}.car-drive{animation:car-glide 1.6s cubic-bezier(.16,1,.3,1) both;animation-delay:.15s}@keyframes car-glide{from{opacity:0;transform:translate3d(90px,12px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.drive-journey{position:fixed;right:5px;top:145px;bottom:90px;width:56px;z-index:20;pointer-events:none;opacity:0;transition:opacity .4s}.drive-journey.started{opacity:1}.drive-journey svg{height:100%;width:100%;overflow:visible}.journey-road{fill:none;stroke:#d9e9f0;stroke-width:10;stroke-linecap:round}.journey-dashes{fill:none;stroke:#fff;stroke-width:1.4;stroke-dasharray:5 7}.journey-trail{fill:none;stroke:#65afd0;stroke-width:4;stroke-linecap:round}.journey-car{filter:drop-shadow(0 3px 3px #12374740)}
.coverage{padding-top:80px}.coverage-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end}.coverage-intro h2{font-size:clamp(35px,3.2vw,47px);letter-spacing:0;margin-bottom:0}.coverage-intro p{font-size:17px;margin-bottom:3px}.region-nav{display:flex;position:static;gap:12px;margin:38px 0;box-shadow:none;padding:0;background:none}.region-nav a{display:inline-flex;align-items:center;gap:15px;border:1px solid #cedfe8;border-radius:40px;padding:10px 15px 10px 20px;font-size:14px;background:white;transition:background .25s,transform .25s}.region-nav a:hover{background:#e3f2fa;border:1px solid #9ec9df;transform:translateY(-2px)}.region-nav a span{background:#e9f3f8;border-radius:50%;font-size:12px;width:27px;height:27px;text-align:center;line-height:27px}.coverage-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:23px}.region-card{padding:35px;border:1px solid #d3e5ee;border-radius:24px;background:#edf6fb;scroll-margin-top:110px;position:relative;overflow:hidden}.region-north{grid-row:span 2;background:linear-gradient(140deg,#d7ecf8,#ecf7fc)}.region-west{background:#f4f8fa}.region-more{background:#173e52;color:white;border-color:#173e52}.region-heading{display:flex;align-items:center;justify-content:space-between}.region-number{font-size:13px;letter-spacing:2px;padding:7px 11px;border:1px solid #b7d4e3;border-radius:30px}.region-direction{font-size:42px;line-height:1;color:#6cabc9;font-weight:400}.region-card h3{font-size:32px;margin:20px 0 10px;letter-spacing:0}.region-card>p{margin:0 0 25px;font-size:15px}.region-card ul{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;list-style:none;padding:0;margin:0}.region-card li{border-bottom:1px solid #14374710;padding:10px 0;font-size:15px;line-height:1.45}.region-card li:last-child{border:0}.region-more p{color:#bcdbe9}.region-more li{border-color:#ffffff1c}.region-more .region-number{border-color:#658b9f}.coverage-question{padding:26px 3px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:22px}.coverage-question h3{font-size:24px;letter-spacing:0;margin:0 0 7px}.coverage-question p{margin:0}.coverage-question .button{font-size:14px}.coverage-map{margin-top:60px;padding-top:52px;border-top:1px solid #d9e7ee}.map-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.map-heading h2{margin:16px 0 0;font-size:42px}.coverage-map .map{height:530px;border:7px solid #e7f1f6;border-radius:24px}.region-card{transition:box-shadow .4s,transform .4s}.region-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #1437470e}
@media(max-width:1220px){.header .brand img{width:210px}.drive-journey{right:1px;width:38px}.coverage-intro{gap:35px}.region-card{padding:29px}.region-card h3{font-size:29px}}
@media(max-width:1020px){.header .brand img{width:225px}.coverage-layout{gap:17px}.region-card{padding:25px}.region-card ul{gap:0 13px}.region-card li{font-size:14px}.coverage-intro h2{font-size:35px}.coverage-intro{grid-template-columns:1.3fr 1fr;gap:30px}.region-nav{flex-wrap:wrap}.drive-journey{width:27px;right:0}}
@media(max-width:740px){.utility-social{display:none!important}.utility-inner{display:block;min-height:0;padding:10px 17px}.utility-local{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.utility-local>a{display:flex!important;font-size:11px;min-height:22px}.utility-hours{font-size:11px;gap:5px}.utility-hours>span{font-size:0}.utility-hours strong{font-size:11px;margin:0}.utility-local svg{width:13px;height:13px}.header .brand img{width:215px;height:72px}.header{padding:0 18px}.drive-journey{width:19px;right:0;top:115px;bottom:90px}.journey-road{stroke-width:8}.journey-trail{stroke-width:5}.coverage{padding:55px 24px}.coverage-intro{display:block}.coverage-intro h2{font-size:34px;letter-spacing:0}.coverage-intro p{font-size:16px;margin:23px 0 0}.region-nav{display:flex!important;position:static;margin:27px 0;gap:8px;border-radius:0;padding:0;box-shadow:none}.region-nav a{font-size:12px;padding:8px 12px;gap:8px;min-height:42px}.region-nav a span{font-size:11px;width:23px;height:23px;line-height:23px}.coverage-layout{grid-template-columns:1fr;gap:18px}.region-north{grid-row:auto}.region-card{padding:28px 24px;border-radius:20px}.region-card h3{font-size:29px}.region-card li{font-size:14px;padding:11px 0}.coverage-question{align-items:start;flex-direction:column;gap:20px;padding:27px 0}.coverage-question h3{font-size:24px}.coverage-map{margin-top:28px;padding-top:35px}.map-heading{flex-direction:column;align-items:start;gap:22px}.map-heading h2{font-size:34px}.coverage-map .map{height:420px;border-width:4px;border-radius:18px}footer .brand img{width:245px}.footer-social a{width:44px;height:44px}.home-faq h2 br{display:initial}}
@media(max-width:360px){.header .brand img{width:190px}.utility-local{gap:6px;justify-content:center}.region-card ul{grid-template-columns:1fr}.coverage{padding-left:22px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){.drive-journey{display:none}.car-drive{animation:none!important}.region-card:hover{transform:none}}
.journey-car{position:absolute;width:56px;height:56px;object-fit:contain;max-width:none;filter:drop-shadow(0 2px 2px #12374730)}@media(max-width:740px){.drive-journey{width:24px;right:4px}.journey-car{width:42px;height:42px}}

.header .brand img{width:245px;height:72px}.footer-brand img{width:270px!important;height:80px!important}.email-link{overflow-wrap:anywhere}.contact-email{display:block;font-size:17px;margin:15px 0 25px;width:fit-content;border-bottom:1px solid #a8cbdc}.coverage{padding-top:65px}.coverage-intro h1{font-size:clamp(38px,4.2vw,59px);line-height:1.14;letter-spacing:0;margin:21px 0 0}.coverage-intro{align-items:center}.contact-form-panel{padding:38px;background:#e8f3f9;border:1px solid #d2e5ef;border-radius:24px;box-shadow:0 18px 50px #14374708}.contact-form-panel h2{font-size:34px;margin:18px 0 28px;letter-spacing:0}.form-field{margin:17px 0}.form-field label{font-size:14px;font-weight:600;display:block;margin-bottom:7px}.form-field input,.form-field textarea,.form-field select{display:block;width:100%;border:1px solid #bdd4e1;background:#ffffffde;border-radius:10px;padding:13px 15px;color:#143747;font:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.form-field input::placeholder,.form-field textarea::placeholder{color:#718793}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:0;border-color:#3c8aaf;box-shadow:0 0 0 3px #68aed329}.form-field textarea{resize:vertical;min-height:76px}.form-submit{width:100%;border:0;margin-top:9px;cursor:pointer;font-size:15px}.form-help{font-size:13px;line-height:1.6;margin:14px 0}.email-draft{border:0;border-bottom:1px solid #759bad;padding:4px 0;background:none;color:#143747;font-size:13px;cursor:pointer}.form-status:empty{display:none}.form-status{font-size:14px;background:white;padding:15px;border-radius:10px;border:1px solid #bfd8e5}.form-status a{font-size:14px}.roaming-drive{position:fixed;inset:0;pointer-events:none;z-index:24;opacity:0;transition:opacity .65s;overflow:hidden}.roaming-drive.moving{opacity:.95}.roaming-drive svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.roaming-trail{fill:none;stroke:#69afce;stroke-width:2;stroke-dasharray:3 8;stroke-linecap:round;opacity:.6}.roaming-car{position:absolute;left:0;top:0;width:74px;height:74px;max-width:none;object-fit:contain;will-change:transform;filter:drop-shadow(0 5px 4px #153c5033)}.cursor-dot,.cursor-ring{display:none;pointer-events:none;position:fixed;top:0;left:0;border-radius:50%;z-index:1000;opacity:0}.cursor-dot{width:6px;height:6px;background:#143747}.cursor-ring{width:32px;height:32px;border:1px solid #6babc9;background:#83c7e712;transition:width .2s,height .2s,background .2s,border-color .2s;box-sizing:border-box}.cursor-active .cursor-dot,.cursor-active .cursor-ring{display:block;opacity:1}.cursor-hover .cursor-ring{width:46px;height:46px;background:#83c7e730;border-color:#3e8eaf}.cursor-press .cursor-ring{width:23px;height:23px}.cursor-ripple{position:fixed;pointer-events:none;z-index:999;width:9px;height:9px;border:1px solid #73b8d3;border-radius:50%;animation:cursor-wake .65s ease-out forwards;transform:translate(-50%,-50%)}@keyframes cursor-wake{from{opacity:.45;scale:.5}to{opacity:0;scale:2.5}}@media(hover:hover) and (pointer:fine){.cursor-active,.cursor-active a,.cursor-active button,.cursor-active summary{cursor:none}.cursor-active input,.cursor-active textarea{cursor:text}.cursor-writing .cursor-dot,.cursor-writing .cursor-ring{opacity:0}}
@media(max-width:1020px){.header .brand img{width:220px}.contact-form-panel{padding:28px}.contact-form-panel h2{font-size:30px}.contact-email{font-size:15px}.roaming-car{width:62px;height:62px}}
@media(max-width:740px){.header .brand img{width:220px;height:70px}.coverage{padding-top:40px}.coverage-intro h1{font-size:39px;letter-spacing:0}.contact-form-panel{padding:27px 23px;border-radius:19px}.contact-form-panel h2{font-size:31px}.contact-email{font-size:16px}.form-submit{font-size:14px;padding:17px 18px}.roaming-car{width:52px;height:52px}.roaming-trail{stroke-width:1.5;opacity:.4}.roaming-drive.moving{opacity:.75}}
@media(max-width:360px){.header .brand img{width:195px}.contact-form-panel{padding:24px 19px}.coverage-intro h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){.roaming-drive,.cursor-dot,.cursor-ring,.cursor-ripple{display:none!important}.cursor-active,.cursor-active a,.cursor-active button,.cursor-active summary{cursor:auto}}
/* Aligned learner gallery: consistent image frames, no staggered offsets. */
.gallery-section .gallery-grid{align-items:stretch;gap:24px}
.gallery-section .gallery-grid .photo{margin-top:0;aspect-ratio:4/3}
.google-community{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;margin-top:55px;padding-top:45px;border-top:1px solid #ccdee7;text-align:left}
.google-community-copy h2{font-size:clamp(29px,3vw,40px);line-height:1.14;letter-spacing:0;margin:18px 0}
.google-community-copy p{font-size:16px;max-width:410px;margin:20px 0}
.google-community-copy .eyebrow{justify-content:start}
.google-business{min-width:0;border:1px solid #c8dce7;border-radius:18px;overflow:hidden;background:#e5eff4}
.google-business iframe{display:block;width:100%;height:330px;border:0}
@media(max-width:740px){.gallery-section .gallery-grid{grid-template-columns:1fr;gap:18px}.gallery-section .gallery-grid .photo:last-child{display:block}.google-community{grid-template-columns:1fr;gap:25px;margin-top:32px;padding-top:32px}.google-business iframe{height:310px}}
/* Verified rating snapshot, positioned below the boot side of the hero car. */
.hero-google-rating{position:absolute;right:40px;bottom:28px;z-index:4;display:flex;align-items:center;gap:16px;background:none;border:0;border-radius:0;padding:0;box-shadow:none;color:#143747}
.hero-google-rating:hover .rating-count{text-decoration:underline;text-underline-offset:4px}
.hero-google-rating:focus-visible{outline:3px solid #245878;outline-offset:4px}
.google-g{width:38px;height:38px;flex-shrink:0}
.rating-details{display:flex;flex-direction:column;gap:5px}
.rating-top{display:flex;gap:18px;align-items:center}
.rating-top strong{font-size:24px;line-height:1;font-weight:600;letter-spacing:0}
.rating-top strong span{font-size:16px;font-weight:400;color:#516c7b}
.rating-stars{font-size:20px;letter-spacing:2px;color:#b76a05;white-space:nowrap}
.rating-count{font-size:13px;line-height:1.4}
.rating-details small{font-size:12px;color:#607581}
@media(max-width:1020px){.hero-google-rating{right:28px;bottom:25px;gap:12px}.rating-top{gap:12px}.rating-stars{font-size:18px;letter-spacing:1px}}
@media(max-width:740px){.hero-google-rating{right:25px;bottom:23px}.hero-visual{min-height:385px}.google-g{width:34px;height:34px}.rating-top strong{font-size:22px}}
/* The light sweep is clipped to the actual logo, including its transparent edges. */
.brand{position:relative}
.brand::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 40%,#b8e7ff 47%,#ffffff 50%,#b8e7ff 53%,transparent 60%);background-size:300% 100%;background-position:100% 0;-webkit-mask:url('/assets/optimized/logo-navy-720.webp') center/contain no-repeat;mask:url('/assets/optimized/logo-navy-720.webp') center/contain no-repeat}
@media(hover:hover) and (pointer:fine){.brand:hover::after{animation:brand-shine .95s ease-in-out}}
.brand:focus-visible::after{animation:brand-shine .95s ease-in-out}
@keyframes brand-shine{0%{background-position:100% 0;opacity:0}15%{opacity:.85}85%{opacity:.85}100%{background-position:0% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.brand:hover::after,.brand:focus-visible::after{animation:none}}
/* Soft glass behind the rating without a card border or shadow. */
.hero-google-rating{padding:12px 17px;border-radius:8px;background:linear-gradient(110deg,#ffffffa8,#ffffff50);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.gallery-section .learner-carousel .gallery-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 0 8px;overscroll-behavior-x:contain}
.learner-carousel .gallery-grid::-webkit-scrollbar{display:none}
.gallery-section .learner-carousel .photo{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;scroll-margin:0;opacity:1;transform:none;transition:none}
.learner-carousel .gallery-grid:focus-visible{outline:2px solid #245878;outline-offset:6px;border-radius:5px}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:18px}
.carousel-status{font-size:14px;color:#506d7b}
.carousel-controls>div{display:flex;gap:10px}
.carousel-controls button{width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid #b5d2e1;color:#143747;font-size:24px;transition:background .2s,color .2s}
.carousel-controls button:hover:not(:disabled){background:#143747;color:#fff}
.carousel-controls button:disabled{opacity:.35;cursor:default}
.carousel-controls button:focus-visible{outline:3px solid #245878;outline-offset:3px}
@media(max-width:1020px){.gallery-section .learner-carousel .photo{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:740px){.gallery-section .learner-carousel .photo{flex-basis:100%}.hero-google-rating{right:20px;bottom:20px;padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.learner-carousel *{scroll-behavior:auto!important}}
@media(max-width:740px){.drive-journey{display:none!important}}
.text-link{position:relative;text-decoration:none!important;transition:color .22s ease,transform .22s ease;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:5px;transition:background-size .3s ease,color .2s ease}.text-link:hover,.text-link:focus-visible{background-size:100% 1px;color:#26799d}.text-link .link-arrow{display:inline-block;margin-left:.25em;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.text-link:hover .link-arrow,.text-link:focus-visible .link-arrow{transform:translate(3px,-3px)}.text-link:focus-visible{outline:2px solid #26799d;outline-offset:5px;border-radius:2px}@media(prefers-reduced-motion:reduce){.text-link,.text-link .link-arrow{transition:none}.text-link:hover .link-arrow,.text-link:focus-visible .link-arrow{transform:none}}
/* Keep carousel announcements available to screen readers without a visual counter. */
.carousel-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.carousel-controls{justify-content:flex-end}
/* Preserve the supplied wide photograph without cropping the person or car. */
.about-layout{grid-template-columns:1.2fr 1fr;gap:55px}
.feature-photo.about-photo{height:auto;aspect-ratio:5/4;object-fit:contain;object-position:center;border-radius:20px;box-shadow:12px 12px 0 #e3f2fa}
@media(max-width:1020px){.about-layout{grid-template-columns:1fr}.about-layout>div{max-width:740px}}
@media(max-width:740px){.feature-photo.about-photo{height:auto;border-radius:15px;box-shadow:8px 8px 0 #e3f2fa}}
.licence-plate{display:inline-block;width:1.12em;height:1.12em;vertical-align:-.17em;border-radius:3px;margin:0 .08em;box-shadow:0 3px 7px #14374718}
.vort-full{display:block;font-size:14px;color:#506d7b;margin-top:8px;line-height:1.5}
.carousel-controls>.carousel-play{width:auto;padding:0 17px;font-size:14px;margin-right:auto}
.car-drive{animation:car-glide-in 2.8s cubic-bezier(.16,1,.3,1) both;animation-delay:.15s}
@keyframes car-glide-in{from{transform:translate3d(70%,0,0);opacity:0}18%{opacity:1}to{transform:translate3d(0,0,0);opacity:1}}
@media(prefers-reduced-motion:reduce){.car-drive{animation:none!important}}

.testimonials{padding-top:90px;padding-bottom:80px}.review-intro{font-size:16px;margin-bottom:0}.review-carousel{min-width:0}.review-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px 2px 12px;align-items:start}.review-track::-webkit-scrollbar{display:none}.review-track:focus-visible{outline:2px solid #245878;outline-offset:5px}.review-card{position:relative;isolation:isolate;flex:0 0 calc((100% - 44px)/3);min-width:0;scroll-snap-align:start;background:linear-gradient(150deg,#edf7fc,#fff);border:1px solid #d4e6ef;border-radius:20px;padding:28px;min-height:330px}.review-author{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.review-avatar{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:50%;background:#cde8f5;color:#173e52;font-size:14px;font-weight:600}.review-author a{font-size:15px;font-weight:600;line-height:1.4;display:block;overflow-wrap:anywhere}.review-author a:hover{text-decoration:underline}.review-author span:not(.review-avatar){display:block;font-size:12px;color:#577484;margin-top:4px}.review-quote{font-size:16px;line-height:1.75;color:#304e5e;margin:23px 0 0;position:relative;z-index:1;white-space:normal}.review-quote.is-shortened{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}.review-expand{background:none;border:0;border-bottom:1px solid #8fb4c6;padding:4px 0;margin-top:14px;color:#245878;font:inherit;font-size:14px;position:relative;z-index:1}.review-quote-mark{position:absolute;right:20px;top:55px;font-size:100px;line-height:1;color:#cce4f155;z-index:0;pointer-events:none}.reviews-more{text-align:center;padding-top:50px;margin-top:35px;border-top:1px solid #d4e6ef}.reviews-more p{font-size:16px}.footer-brand{background:#edf5f880;border:1px solid #d4e5efb3;border-radius:12px}.footer-brand::after{border-radius:12px}.review-carousel .carousel-controls{justify-content:flex-end}
@media(max-width:1020px){.review-card{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:740px){.testimonials{padding-top:65px;padding-bottom:55px}.review-card{flex-basis:100%;padding:25px;min-height:300px}.review-track{padding-left:0;padding-right:0}.review-author a{font-size:16px}.reviews-more{padding-top:30px;margin-top:20px}}
.review-stars{color:#b76a05;font-size:19px;letter-spacing:3px;line-height:1;margin-top:20px;position:relative;z-index:1}.review-stars+.review-quote{margin-top:15px}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.review-grid .review-card{min-height:0;height:100%}.review-grid .review-quote{display:block;overflow:visible}.review-grid .review-quote-mark{top:100px}
@media(max-width:1100px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.review-grid{grid-template-columns:minmax(0,1fr);gap:20px}}
@media(min-width:1021px) and (max-width:1220px){.header .brand img{width:190px}.header nav .nav-link,.nav-dropdown>summary{padding-left:9px;padding-right:9px}}

.drive-journey .journey-car{pointer-events:auto;cursor:grab!important;touch-action:none;user-select:none;border-radius:12px}.drive-journey:focus-within,.drive-journey.dragging{opacity:1}.journey-car:focus-visible{outline:2px solid #24749d;outline-offset:3px}.journey-dragging,.journey-dragging *{cursor:grabbing!important;user-select:none!important;scroll-behavior:auto!important}.drive-journey.dragging .journey-car{filter:drop-shadow(0 4px 5px #12374760)}

.gallery-section.wrap{padding-bottom:38px}.gallery-section .carousel-controls{margin-top:10px}.gallery-section .review-link{margin-top:16px}.gallery-section .review-link p{margin:8px 0}.gallery-section + .home-faq{padding-top:55px}@media(max-width:740px){.gallery-section.wrap{padding-bottom:26px}.gallery-section + .home-faq{padding-top:38px}}

.form-field small{display:block;font-size:12px;line-height:1.5;color:#506d7b;margin-top:7px}.form-field select{min-height:48px}.form-field input[type="date"]{min-width:0;min-height:48px}.pricing-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.pricing-cards h3{font-size:24px;line-height:1.2}.pricing-cards .button{font-size:13px;padding:14px;gap:12px}@media(max-width:1100px){.pricing-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:740px){.pricing-cards{grid-template-columns:1fr}}

@media(hover:hover) and (pointer:fine){.steering-enabled,.steering-enabled *{cursor:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2212%22%20fill%3D%22%23ffffff%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%225%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2211%22%20fill%3D%22none%22%20stroke%3D%22%23143747%22%20stroke-width%3D%223%22%2F%3E%3Cpath%20d%3D%22M5%2014l8%203m14-3-8%203m-3%202v8%22%20fill%3D%22none%22%20stroke%3D%22%23143747%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%223.8%22%20fill%3D%22%23143747%22%2F%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%221.3%22%20fill%3D%22%23ffffff%22%2F%3E%3Cpath%20d%3D%22M13%205h6%22%20stroke%3D%22%2362b3d8%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") 16 16,auto}.steering-enabled a,.steering-enabled a *,.steering-enabled button,.steering-enabled button *,.steering-enabled summary,.steering-enabled summary *{cursor:pointer}.steering-enabled input,.steering-enabled textarea,.steering-enabled [contenteditable=true]{cursor:text}.steering-enabled select,.steering-enabled button:disabled,.steering-enabled button:disabled *{cursor:default}}.tyre-track{position:fixed;pointer-events:none;z-index:999;width:13px;height:7px;background:repeating-linear-gradient(25deg,#397b994d 0 1.5px,transparent 1.5px 3px) left/4px 100% no-repeat,repeating-linear-gradient(-25deg,#397b994d 0 1.5px,transparent 1.5px 3px) right/4px 100% no-repeat;animation:tyre-fade .48s ease-out forwards}@keyframes tyre-fade{0%{opacity:var(--track-opacity,.65)}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.steering-enabled,.steering-enabled *{cursor:revert!important}.tyre-track{display:none}}
.hero-visual{isolation:isolate;background:radial-gradient(ellipse at 55% 55%,#d5f1ffcc,transparent 68%)}.hero-visual:before{content:"";position:absolute;left:8%;right:3%;bottom:19%;height:12%;border-radius:50%;background:radial-gradient(ellipse,#153f5426,transparent 70%);filter:blur(10px);z-index:-1}.hero-visual:after{content:"";position:absolute;left:4%;right:5%;bottom:17%;height:1px;background:linear-gradient(90deg,transparent,#7db7d088,transparent);z-index:-1}.hero-google-rating{animation:rating-arrive .7s 2s both}.intro-pending .hero-google-rating,.intro-pending .hero-copy>*{animation-play-state:paused!important}@keyframes rating-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.header nav{isolation:isolate}.nav-indicator{position:absolute;background:#d8edf8;box-shadow:0 2px 8px #1a50600a;border-radius:30px;pointer-events:none;z-index:-1;transition:left .3s ease,top .3s ease,width .3s ease,height .3s ease;opacity:0}.nav-indicator.is-ready{opacity:1}.header nav>.nav-link{position:relative;background:transparent!important}.header nav>.nav-link:after{content:"";position:absolute;bottom:8px;left:22%;right:22%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s}.header nav>.nav-link:hover:after,.header nav>.nav-link:focus-visible:after{transform:scaleX(1)}.dropdown-panel{animation:dropdown-arrive .2s ease-out}@keyframes dropdown-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.learning-journey{padding-top:45px;padding-bottom:75px}.learning-journey .section-top>p{max-width:240px;color:#587886}.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;position:relative;padding-top:28px}.journey-steps>svg{position:absolute;top:0;width:100%;height:120px;pointer-events:none}.step-road{fill:none;stroke:#d6eaf3;stroke-width:16;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}.step-lane{fill:none;stroke:white;stroke-width:2;stroke-dasharray:.009 .014}.journey-steps article{position:relative;padding-top:10px}.step-pin{display:grid;place-items:center;width:54px;height:54px;border:6px solid #f8fcfe;border-radius:50%;background:#183f51;color:white;font-size:13px;box-shadow:0 0 0 1px #c7e0ec;margin-bottom:38px}.journey-steps h3{font-size:25px;margin:0 0 16px}.journey-steps p{font-size:16px;line-height:1.8;margin-bottom:23px}.learning-journey.road-waiting .step-road{stroke-dashoffset:1}.learning-journey.road-drawn .step-road{transition:stroke-dashoffset 1.8s ease;stroke-dashoffset:0}
.gallery-section .spotlight-carousel .gallery-grid{gap:24px;padding:12px 18% 16px;align-items:center;scroll-padding-inline:18%}.gallery-section .spotlight-carousel .photo{flex:0 0 100%;aspect-ratio:16/10;scroll-snap-align:center;transform:scale(.93);opacity:.65;transition:transform .45s ease,opacity .45s ease;background:#dfedf4;box-shadow:0 9px 24px #14374712}.gallery-section .spotlight-carousel .photo.is-current{transform:scale(1);opacity:1}.gallery-section .spotlight-carousel .photo img{object-fit:contain;transform:none}.photo-progress{width:100px!important;height:3px;background:#c7dfeb;border-radius:3px;margin-right:auto;overflow:hidden;display:block!important}.photo-progress span{display:block;width:100%;height:100%;background:#285c73;transform:scaleX(.111);transform-origin:left;transition:transform .35s}
.instructor-intro strong{font-size:22px;color:#18485e}.teaching-values{padding-top:15px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:35px 0}.values-grid article{border-top:2px solid #a9d5e8;padding:26px 0}.values-grid article>span{font-size:11px;letter-spacing:1.5px;color:#507789}.values-grid h3{font-size:26px;margin:22px 0 15px}.values-grid p{font-size:16px;line-height:1.8}.cards article{transition:transform .25s,box-shadow .25s,border-color .25s}.cards article:hover{transform:translateY(-5px);box-shadow:0 16px 35px #173f5610;border-color:#a1ccdf}.cards .price{font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:600}.price-caption{font-size:12px;color:#537180;letter-spacing:.3px;margin:8px 0 4px}.cards .price small{letter-spacing:0;font-size:16px}.cards .text-link{margin-top:auto}
footer.road-footer{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#e9f5fb,#dceef6);padding-top:60px;padding-bottom:50px;border-top:1px solid #cee4ef;border-radius:32px 32px 0 0;gap:40px}.footer-road{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.45;pointer-events:none}.footer-road path{fill:none;stroke:#bfdce9;stroke-width:40}.footer-road path+path{stroke:#fff;stroke-width:2;stroke-dasharray:12 16}.road-footer>div{position:relative}.road-footer .footer-brand{background:#ffffff80;border-color:#ffffffc0}.road-footer a:not(.brand){transition:color .2s}.road-footer a:hover{color:#247da2}.mobile-booking{display:none}
@media(min-width:741px){.header nav{position:relative}}
@media(max-width:1020px){.journey-steps{gap:25px}.journey-steps h3{font-size:22px}.values-grid{gap:22px}.gallery-section .spotlight-carousel .gallery-grid{padding-inline:12%;scroll-padding-inline:12%}}
@media(max-width:740px){.nav-indicator{display:none}.learning-journey{padding-top:18px;padding-bottom:32px}.learning-journey .section-top{display:block}.journey-steps{display:block;padding:0 0 0 32px;margin-top:32px;border-left:2px dashed #bddbe9;margin-left:21px}.journey-steps>svg{display:none}.journey-steps article{padding:0 0 32px}.step-pin{position:absolute;left:-55px;top:-8px;width:43px;height:43px;font-size:11px;border-width:5px;margin:0}.journey-steps h3{padding-top:0;font-size:24px}.journey-steps p{margin-bottom:14px}.journey-steps article:last-child{padding-bottom:0}.gallery-section .spotlight-carousel .gallery-grid{padding-inline:5%;scroll-padding-inline:5%;gap:12px}.gallery-section .spotlight-carousel .photo{flex-basis:100%;aspect-ratio:4/3}.values-grid{grid-template-columns:1fr;gap:0;margin-top:28px}.values-grid article{padding:22px 0}.teaching-values{padding-top:0}.mobile-booking:not([hidden]){display:flex;position:fixed;bottom:12px;bottom:max(12px,env(safe-area-inset-bottom));left:16px;right:16px;z-index:50;padding:6px;gap:6px;background:#ffffffed;backdrop-filter:blur(14px);box-shadow:0 8px 32px #15394d30;border:1px solid #cde2ed;border-radius:50px}.mobile-booking a{flex:1;text-align:center;padding:13px 8px;border-radius:40px;font-size:14px;font-weight:600;background:#173f51;color:white;display:flex;justify-content:center;gap:10px}.mobile-booking a+a{background:#e1f1f8;color:#173f51}body.booking-visible .back-top{bottom:88px}body.booking-visible .cta .button{visibility:hidden}footer.road-footer{padding-top:40px;padding-bottom:35px;gap:30px 22px}.hero-visual:before{bottom:22%}}
@media(prefers-reduced-motion:reduce){.hero-google-rating{animation:none}.nav-indicator,.cards article,.spotlight-carousel .photo,.photo-progress span{transition:none!important}.cards article:hover{transform:none}.learning-journey .step-road{stroke-dashoffset:0!important}}

/* Keep the homepage's supporting sections comfortably within a typical viewport. */
.compact-home>.wrap{padding-top:44px;padding-bottom:44px}
.compact-home .section-top{margin-bottom:22px;gap:20px}
.compact-home .section-top h2{font-size:clamp(30px,3vw,40px);line-height:1.15}
.compact-home .testimonials .section-top h2 br,.compact-home .gallery-section .section-top h2 br{display:none}
.compact-home .review-intro{margin-top:10px;font-size:15px}
.compact-home .review-card{min-height:0;padding:22px;border-radius:16px}
.compact-home .review-author{gap:10px}
.compact-home .review-avatar{width:36px;height:36px;font-size:12px}
.compact-home .review-author a{font-size:14px}
.compact-home .review-stars{font-size:17px;margin-top:16px}
.compact-home .review-quote{font-size:15px;line-height:1.65;margin:13px 0 0}
.compact-home .review-quote.is-shortened{-webkit-line-clamp:4}
.compact-home .review-expand{margin-top:10px;font-size:13px}
.compact-home .carousel-controls{margin-top:10px}
.compact-home .carousel-controls button{width:40px;height:40px;font-size:21px}
.compact-home .gallery-section .spotlight-carousel .gallery-grid{padding-top:6px;padding-bottom:8px}
.compact-home .gallery-section .spotlight-carousel .photo{height:clamp(220px,36svh,330px);aspect-ratio:auto}
.compact-home .gallery-section .review-link{margin-top:12px}
.compact-home .gallery-section .review-link p{font-size:14px;margin:4px 0}
.compact-home .learning-journey .step-pin{margin-bottom:24px}
.compact-home .journey-steps{padding-top:18px}
.compact-home .cards article{padding:26px}
.compact-home .cards h3{margin-top:20px;margin-bottom:16px}
.compact-home .cards p{line-height:1.7}
@media(max-width:740px){
 .compact-home>.wrap{padding-top:32px;padding-bottom:32px}
 .compact-home .section-top{gap:14px;margin-bottom:18px;align-items:start;flex-direction:column}
 .compact-home .section-top h2{font-size:30px}
 .compact-home .review-intro{margin-top:8px}
 .compact-home .review-card{padding:20px}
 .compact-home .review-quote.is-shortened{-webkit-line-clamp:5}
 .compact-home .gallery-section .spotlight-carousel .photo{height:clamp(190px,30svh,260px)}
 .compact-home .gallery-section .review-link{align-items:start;flex-direction:column;gap:8px}
 .compact-home .learning-journey .step-pin{margin-bottom:0}
 .compact-home .journey-steps{padding-top:0}
}

/* Natural photo frames: no fixed canvas or letterboxing. */
.compact-home .gallery-section .spotlight-carousel .gallery-grid{padding-inline:16px;scroll-padding-inline:16px;align-items:center}
.compact-home .gallery-section .spotlight-carousel .photo{flex:0 0 auto;width:auto;max-width:none;height:auto;aspect-ratio:auto;padding:5px;border:1px solid #aecbd9;border-radius:14px;background:transparent;box-shadow:none;box-sizing:border-box;transform:none}
.compact-home .gallery-section .spotlight-carousel .photo img{display:block;width:auto;height:auto;max-width:min(76vw,660px);max-height:330px;max-height:clamp(200px,34svh,330px);border-radius:8px;object-fit:contain}
.breadcrumbs{max-width:1150px;margin:20px auto;padding:0 24px;display:flex;align-items:center;gap:12px;font-size:13px;color:#456778}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:740px){.compact-home .gallery-section .spotlight-carousel .gallery-grid{gap:14px;padding-inline:2px}.compact-home .gallery-section .spotlight-carousel .photo img{max-width:76vw;max-height:230px;max-height:clamp(170px,27svh,230px)}.breadcrumbs{margin:14px auto;font-size:12px}}

/* Gallery photos also retain their original proportions. */
main:not(.compact-home) .gallery-grid{display:block;columns:3;column-gap:20px}
main:not(.compact-home) .gallery-grid .photo{display:inline-block;break-inside:avoid;vertical-align:top;width:100%;height:auto;aspect-ratio:auto;padding:5px;border:1px solid #aecbd9;background:transparent;margin:0 0 20px;border-radius:14px;box-sizing:border-box}
main:not(.compact-home) .gallery-grid .photo img{display:block;width:100%;height:auto;transform:none;border-radius:8px}
@media(max-width:1020px){main:not(.compact-home) .gallery-grid{columns:2}}
@media(max-width:520px){main:not(.compact-home) .gallery-grid{columns:1}}
@supports not (overflow:clip){body{overflow-x:hidden}}
.mobile-booking{-webkit-backdrop-filter:blur(14px)}

/* Give pricing titles a readable hierarchy and align the prices. */
.cards.pricing-cards article h3{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:0;word-spacing:normal;margin:24px 0 20px;min-height:62px}
.cards.pricing-cards .plan-subtitle{display:block;font-size:14px;font-weight:400;line-height:1.5;letter-spacing:0;word-spacing:normal;color:#507080;margin-top:8px}
.cards.pricing-cards .card-number{font-size:10px;letter-spacing:1px;line-height:1.4}
@media(max-width:740px){.cards.pricing-cards article h3{font-size:25px;margin:22px 0 18px}}

/* Comfortable text spacing at every breakpoint. */
h3{line-height:1.3;word-spacing:normal}.journey-steps h3,.values-grid h3,.region-card h3,.resource-list h3{line-height:1.35}.journey-steps h3{font-size:24px}.cards .price{line-height:1.2}.phone-number{overflow-wrap:anywhere}

/* The decorative SVG is the footer's first child, so target the brand by type. */
footer.road-footer>div{min-width:0;max-width:100%}
footer.road-footer a,footer.road-footer p,footer.road-footer small{max-width:100%;overflow-wrap:anywhere}
footer.road-footer .brand{max-width:100%;box-sizing:border-box}
footer.road-footer .brand img{max-width:100%!important;object-fit:contain}
@media(max-width:1020px){footer.road-footer>div:first-of-type{grid-column:1/-1}}
@media(max-width:740px){
 footer.road-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-left:24px;padding-right:24px;gap:28px 20px}
 footer.road-footer>div:first-of-type,footer.road-footer>div:last-of-type{grid-column:1/-1}
 footer.road-footer .footer-social{flex-wrap:wrap}
 .contact-form-panel,.split>*,.section-top>*{min-width:0}
 .cta .button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
}

.utility-hours strong{display:inline-block;vertical-align:middle}.utility-hours .hours-line{display:block;font-size:inherit;line-height:1.5}.utility-inner{padding-top:6px;padding-bottom:6px}@media(max-width:740px){.utility-local{align-items:center}.utility-hours{flex-shrink:0}.utility-hours strong{margin-left:0}}

.welcome-loader{display:none;position:fixed;inset:0;z-index:10000;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#e4f4ff,#f8fcff 70%);align-items:center;justify-content:center;flex-direction:column;color:#173f56}.intro-pending .welcome-loader{display:flex;animation:welcome-exit .4s 1.35s forwards}.welcome-scene{position:relative;width:min(420px,80vw);height:155px}.welcome-road{position:absolute;width:100%;height:100%;inset:0;overflow:visible;animation:road-away .4s .85s forwards}.road-base{fill:none;stroke:#85c9e9;stroke-width:17;stroke-linecap:round;stroke-dasharray:1;animation:road-draw .8s ease-out both}.road-centre{fill:none;stroke:white;stroke-width:2;stroke-dasharray:.022 .024;opacity:.8}.welcome-car{position:absolute;width:36px;height:24px;left:0;top:0;offset-path:path('M15 100 C90 100 88 25 160 25 S245 115 310 75 S355 30 385 30');animation:car-journey .85s ease-in-out both,road-away .25s .85s forwards}.welcome-car svg{width:100%;height:100%}.welcome-logo{position:absolute;width:100%;height:100%;object-fit:contain;animation:brand-arrive .65s .8s both}.welcome-loader p{font-size:22px;font-weight:700;margin:15px 0 12px}.welcome-loader small{font-size:10px;letter-spacing:3px}.intro-pending .car-drive{animation-play-state:paused!important}@keyframes road-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes car-journey{from{offset-distance:0%}to{offset-distance:100%}}@keyframes road-away{to{opacity:0}}@keyframes brand-arrive{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(8px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes welcome-exit{to{opacity:0;visibility:hidden}}@media(max-width:520px){.welcome-scene{transform:scale(.76);width:400px;max-width:none;margin:-12px -45px}.welcome-loader p{font-size:20px}}@media(prefers-reduced-motion:reduce){.welcome-loader{display:none!important}}
