@font-face{font-family:Proxima;src:url('assets/proxima-bold.woff2')}@font-face{font-family:ProximaX;src:url('assets/proxima-extra.woff2')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#1769ad;font-family:Arial,sans-serif;background:#fff}h1,h2,h3,b,strong,.pill,summary,label{font-family:Proxima,Arial,sans-serif}p{color:#394b59;line-height:1.5}.site-header{height:100px;background:#196caf}.header-inner{max-width:1080px;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 10px}.brand img{width:154px;height:auto;display:block}.header-actions{display:flex;gap:20px}.pill{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:40px;background:#f45a36;color:#fff;text-decoration:none;font-size:24px;line-height:1;padding:17px 39px;white-space:nowrap}.pill span{font-size:20px;margin-right:12px}.hero{max-width:1080px;min-height:620px;margin:auto;padding:60px 0 25px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.hero h1{font-family:ProximaX,Arial,sans-serif;font-size:59px;line-height:1.02;margin:0 0 32px;color:#1e70b8}.hero h1 span,.how h2 span,.faq h2 span{color:#31b7dc}.hero h1 b{color:#f15b3e}.hero-copy{z-index:1}.tick-list{list-style:none;padding:0;margin:0 0 28px}.tick-list li{position:relative;padding:0 0 11px 27px;font-size:19px;font-family:Proxima,Arial,sans-serif;color:#1769ad}.tick-list li::before{content:'✓';position:absolute;left:0;color:#57af51;font-size:23px}.tick-list .coral{color:#f05b3d}.hero-button{width:400px;margin-left:70px}.hero-image{width:100%;margin-top:0}.google-card{width:226px;margin-top:20px;border-top:7px solid #44c96b;background:#fff;box-shadow:0 2px 10px #bbb;padding:12px;text-align:center;color:#575757}.google-card>div{font-size:17px;margin:4px}.google-g,.google-word{color:#4285f4;font-family:Arial}.stars{display:block;color:#f5bd18;letter-spacing:1px}.pale-section{background:#effbfe}.testimonials{text-align:center;padding:55px 0 65px}.testimonials h2,.how h2,.faq h2{font-family:ProximaX,Arial,sans-serif;font-size:44px;margin:0 0 8px}.testimonials>p{margin:0 0 35px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1080px;margin:auto}.video-card{position:relative;height:465px;overflow:hidden;background:#111}.video-card img{width:100%;height:100%;object-fit:cover}.play{position:absolute;left:22px;bottom:18px;color:#fff;font-size:25px;text-shadow:0 2px 4px #000}.review-strip{background:#176eb4;color:#fff;padding:68px max(calc((100% - 1080px)/2),24px);display:grid;grid-template-columns:.8fr repeat(3,1fr);gap:15px}.review-summary{text-align:center;display:flex;flex-direction:column;gap:7px;justify-content:center}.review-strip article{background:#161616;border-radius:8px;padding:18px;min-height:210px;font-size:14px}.review-strip article b{display:block;color:#fff}.review-strip article b span{float:right}.review-strip article p{color:#fff;font-size:14px}.section-pad{max-width:1080px;margin:auto;padding:70px 0}.how{text-align:center}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.round-icon{margin:20px auto;width:110px;height:110px;border-radius:50%;background:#ebf8fc;display:flex;align-items:center;justify-content:center;font-size:34px;color:#f05b3d;font-family:Proxima,Arial,sans-serif}.three-col h3{margin:8px 0;color:#1769ad;font-size:21px}.three-col p{font-size:15px}.know-card{background:#5eb555;border-radius:10px;padding:38px 44px 32px;display:grid;grid-template-columns:45% 55%;align-items:center;color:#fff}.know-card img{width:100%;max-height:450px;object-fit:contain}.know-card h2{font-family:ProximaX;font-size:38px;margin:0 0 20px}.know-card h3{margin:13px 0 0}.know-card p{color:#fff;margin:2px 0;font-size:15px}.know-card .pill{font-size:17px;padding:13px 35px;margin-top:20px}.faq{padding-top:30px}.faq>h2{text-align:center}.accordion{margin-top:35px}.accordion details{border-bottom:1px solid #cfd8dd;padding:14px 6px}.accordion summary{cursor:pointer;list-style:none;color:#1166aa;font-size:16px}.accordion summary::after{content:'+';float:right}.accordion details[open] summary::after{content:'−'}.accordion p{font-size:14px}.final-cta{background:#ef5b37;border-radius:9px;color:#fff;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;padding:48px 42px 0}.final-cta h2{font-family:ProximaX;font-size:39px;line-height:1.05;margin:0 0 10px}.final-cta p{color:#fff;font-size:15px}.final-cta img{width:100%;align-self:end}.white-ticks{padding:0;list-style:none;font-family:Proxima}.white-ticks li{margin:8px 0}.white-ticks li::before{content:'●';color:#fff;margin-right:10px}.white-button{display:inline-flex;background:white;color:#1769ad;text-decoration:none;border-radius:35px;padding:14px 45px;font-family:Proxima;margin:12px 0 32px}.site-footer{background:#123f63;color:#fff;text-align:center}.footer-grid{max-width:1080px;margin:auto;padding:48px 0 38px;display:grid;grid-template-columns:repeat(3,1fr)}.footer-grid>div{display:flex;flex-direction:column;align-items:center;gap:10px}.footer-grid i{font-style:normal;background:#32b8df;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font-size:25px}.footer-grid small{font-size:10px}.site-footer>p{color:#8ea9bd;border-top:1px solid #2f5b7c;margin:0;padding:22px}.sticky-mobile{display:none}.cookie{position:fixed;z-index:10;left:40px;bottom:20px;width:440px;padding:21px 27px;background:#fff;box-shadow:0 3px 20px #aaa;border-radius:7px;color:#171717}.cookie h3{margin:0 0 12px;font-size:21px}.cookie p{color:#171717;font-size:14px}.cookie>div{display:flex;gap:8px}.cookie button{flex:1;padding:14px 4px;border:2px solid #1260e5;color:#0756d7;background:#fff;font-weight:bold}.cookie button:last-child,.cookie button:nth-child(2){background:#1260e5;color:#fff}.cookie.hidden{display:none}

/* Booking page */
.booking-main{min-height:396px;padding:40px 20px 20px}.booking-shell{max-width:970px;margin:auto;display:grid;grid-template-columns:290px 1fr;border:1px solid #cad9e4}.filters{padding:18px 15px;border-right:1px solid #cad9e4}.filters label{display:block;color:#0062a9;font-size:14px;margin:0 0 10px}.filters label:not(:first-child){margin-top:17px}.filters label small{font-size:11px}.search,.filters select{width:100%;height:42px;border:1px solid #cad9e4;border-radius:3px;background:#fff;color:#0865ad;font-size:15px;padding:10px}.days{height:60px;display:grid;grid-template-columns:24px repeat(5,1fr) 24px;border-bottom:1px solid #1769ad}.days>div{text-align:center;padding:10px 0}.days>div:nth-of-type(odd){background:#eef2f4}.days b,.days small{display:block}.days button{border:0;background:#fff;color:#1769ad}.location-row{height:224px;display:grid;grid-template-columns:166px repeat(5,1fr);border-bottom:1px solid #1769ad}.loc{padding:11px;display:flex;justify-content:space-between}.loc span,.extra-loc span{color:#666;font-size:14px}.slot-col{padding:12px 3px;display:flex;gap:5px;flex-wrap:wrap;align-content:flex-start}.slot-col.shaded{background:#e9ecee}.slot-col button{border:0;border-radius:2px;background:#51ad4a;color:#fff;height:30px;padding:0 7px}.slot-col a{width:100%;text-align:center;font-size:14px;padding-top:5px}.extra-loc{height:70px;padding:12px;border-bottom:1px solid #1769ad;display:flex;justify-content:space-between}.show-more{display:block;margin:12px auto;border:0;background:#1769ad;color:#fff;border-radius:2px;padding:8px 22px}.booking-page .site-footer{margin-top:0}

@media(max-width:700px){.site-header{height:83px}.header-inner{padding:0 18px}.brand img{width:129px}.header-actions{gap:8px}.header-actions .pill{font-size:0;width:47px;height:47px;padding:0}.header-actions .pill span,.header-actions .pill::first-letter{font-size:20px;margin:0}.hero{display:flex;flex-direction:column;padding:35px 25px 45px;min-height:0}.hero h1{font-size:39px;margin-bottom:22px}.tick-list li{font-size:16px;padding-bottom:8px}.hero-button{margin:8px 0;width:100%;font-size:19px}.google-card{margin:20px auto 0}.hero-image{order:-1;width:78%;margin:0 auto 5px}.testimonials{padding:40px 18px}.testimonials h2,.how h2,.faq h2{font-size:34px}.video-grid{grid-template-columns:1fr;gap:16px}.video-card{height:340px}.review-strip{padding:38px 20px;grid-template-columns:1fr}.review-strip article:nth-of-type(n+3){display:none}.section-pad{padding:45px 24px}.three-col{grid-template-columns:1fr}.know-card{grid-template-columns:1fr;padding:24px}.know-card h2{font-size:31px}.faq{padding-top:45px}.faq h2{line-height:1.05}.final-cta{grid-template-columns:1fr;padding:32px 25px 0}.final-cta h2{font-size:34px}.site-footer{padding-bottom:60px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-grid>div:first-child{display:none}.sticky-mobile{position:fixed;z-index:7;bottom:0;left:0;right:0;height:60px;background:#1769ad;display:flex;align-items:center;justify-content:space-around}.sticky-mobile img{width:95px}.sticky-mobile a{background:#f05b3d;border-radius:20px;color:#fff;text-decoration:none;padding:9px 12px;font:12px Proxima}.cookie{left:15px;right:15px;bottom:75px;width:auto;padding:20px}.cookie>div{gap:5px}.cookie button{font-size:11px;padding:11px 1px}.booking-main{padding:25px 12px}.booking-shell{display:block;border:0}.filters{border:1px solid #cad9e4}.schedule{margin-top:16px;overflow-x:auto;border:1px solid #cad9e4}.days,.location-row{min-width:680px}.booking-page .footer-grid>div:first-child{display:flex}.booking-page .site-footer{margin-top:25px;padding-bottom:0}.booking-page .cookie{bottom:15px}.booking-page .header-actions .pill{display:none}}

/* Exact type and vector-icon corrections */
body,button,select,input,textarea,p{font-family:Proxima,Arial,sans-serif}
.pill svg{width:19px;height:19px;fill:currentColor;margin-right:12px;flex:0 0 auto}
.hero-button::before,.know-card .pill::before,.white-button::before{content:'';width:17px;height:17px;margin-right:10px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm0 394H48V160h352z'/%3E%3C/svg%3E") center/contain no-repeat}
.process-icon{display:block;width:100px;height:100px;margin:20px auto;object-fit:contain}
.booking-main{height:396px;min-height:396px;padding:40px 20px 20px}
.booking-frame{display:block;width:100%;height:100%;margin:0;border:0;background:#fff}
@media(max-width:700px){.header-actions .pill svg{width:20px;height:20px;margin:0}.booking-main{height:720px;padding:25px 0}.booking-frame{width:100%}}

.cookie{display:none!important}
.sticky-mobile{display:none!important}
@media(max-width:700px){.site-footer{padding-bottom:0}}

/* Google rating card */
.google-card{width:226px;height:113px;margin-top:20px;padding:9px 12px 10px;border-top:7px solid #45c96b;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.22);text-align:center;color:#555}
.rating-title{font:700 14px Proxima,Arial,sans-serif;line-height:18px}
.rating-body{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:3px}
.rating-g{width:38px;height:38px;object-fit:contain}
.rating-line{display:flex;align-items:center;gap:7px;height:23px}
.rating-line strong{font-size:17px;color:#555}
.rating-stars{display:flex;gap:1px}
.rating-stars img{width:16px;height:16px}
.rating-body small{display:block;margin-top:0;text-align:left;font:700 11px Proxima,Arial,sans-serif;color:#666}
.footer-grid i img{display:block;width:24px;height:24px;object-fit:contain}
.video-card video{display:block;width:100%;height:100%;object-fit:cover;background:#111}

/* Page behaviour */
body:not(.booking-page) .site-header{position:sticky;top:0;z-index:100}
.booking-page .booking-main{height:720px;min-height:720px;padding:60px 0 30px;background:#fff}
.booking-page .booking-frame{width:100%;height:100%;border:0}
.booking-page .site-footer{margin-top:0}

/* Review strip — matched to the live site */
@media(min-width:701px){
  .hero-button{width:470px;margin-left:0}
  .review-strip{min-height:346px;padding:68px 0;grid-template-columns:170px repeat(3,272px);gap:15px;justify-content:center;align-items:center;background:#1f73b7}
  .review-summary{height:210px;justify-content:center;gap:8px;color:#fff;font-size:14px}
  .review-summary>b{font-size:16px;line-height:20px}
  .review-summary .stars{font-size:17px;line-height:18px}
  .review-summary small{font-size:13px;line-height:18px}
  .review-summary .google-word{font:700 16px Arial,sans-serif;color:#4285f4}
  .review-strip article{width:272px;height:210px;min-height:210px;padding:18px;border-radius:8px;background:#171717;color:#fff;font-size:14px;overflow:hidden}
  .review-strip article b{font-size:14px;line-height:18px}
  .review-strip article .stars{font-size:14px;line-height:20px}
  .review-strip article p{margin:8px 0 0;color:#fff;font-size:14px;line-height:21px}
}

@media(max-width:700px){
  .booking-page .booking-main{height:1400px;min-height:1400px;padding:25px 0}
}

/* Refined Google reviews */
.review-strip{background:linear-gradient(135deg,#176aad 0%,#2381c4 100%)}
.review-summary{align-self:stretch;background:#fff;border-radius:14px;padding:22px 16px;box-shadow:0 12px 28px rgba(6,44,76,.2);color:#173f60}
.review-summary>img{width:36px;height:36px;object-fit:contain;margin:0 auto 4px}
.review-summary>b{color:#173f60;font-size:18px;text-transform:none}
.review-summary .stars{color:#fbbc04;font-size:18px;letter-spacing:2px}
.review-summary small{color:#5f7180;font:700 12px Proxima,Arial,sans-serif}
.review-summary small strong{color:#173f60}
.review-summary .verified{color:#4285f4;font:700 12px Proxima,Arial,sans-serif}
.review-strip article{background:#fff;color:#243746;border:1px solid rgba(255,255,255,.4);border-radius:14px;box-shadow:0 12px 28px rgba(6,44,76,.2);padding:20px}
.review-strip article header{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.review-strip article header>span:nth-child(2){min-width:0;flex:1}
.review-strip article header b{display:block;overflow:hidden;color:#173f60;font-size:14px;line-height:17px;text-overflow:ellipsis;white-space:nowrap}
.review-strip article header small{display:block;color:#7b8c99;font:700 11px Proxima,Arial,sans-serif;line-height:16px}
.review-strip article header img{width:22px;height:22px;object-fit:contain}
.review-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#e8f2ff;color:#2474b8;font:700 12px Proxima,Arial,sans-serif}
.review-avatar.purple{background:#f0e9ff;color:#7651b5}.review-avatar.green{background:#e5f6eb;color:#278b4d}
.review-strip article>.stars{color:#fbbc04;font-size:16px;letter-spacing:1.5px;line-height:18px}
.review-strip article p{color:#435563;font-size:13px;line-height:19px;margin:10px 0 0}
@media(min-width:701px){.review-strip{grid-template-columns:190px repeat(3,272px);gap:18px}.review-summary,.review-strip article{height:220px;min-height:220px}}
@media(max-width:700px){.review-strip{gap:16px;padding:38px 20px}.review-strip article:nth-of-type(n){display:block}.review-summary,.review-strip article{width:100%;height:auto;min-height:0}.review-summary{padding:24px}}

/* Live-site desktop sizing for the two feature panels */
@media(min-width:1025px){
  .know-wrap.section-pad{max-width:1300px;padding:60px 0 70px}
  .know-card{height:530px;padding:48px 90px;grid-template-columns:48% 52%;border-radius:10px}
  .know-card img{width:500px;height:425px;max-height:none;justify-self:start;object-fit:contain}
  .know-card>div{padding-left:26px}
  .know-card h2{margin:0 0 27px;font-size:40px;line-height:1.1}
  .know-card h3{margin:19px 0 2px;font-size:21px;line-height:1.15}
  .know-card p{max-width:590px;margin:0;color:#fff;font-family:Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.55}
  .know-card .pill{width:300px;height:61px;margin-top:20px;padding:0 30px;font-size:21px}
  .final-wrap.section-pad{max-width:1300px;padding:85px 0 70px}
  .final-cta{height:513px;padding:49px 45px 0;grid-template-columns:53% 47%;border-radius:9px}
  .final-cta>div{padding-top:0}
  .final-cta h2{margin:0 0 12px;font-size:40px;line-height:1.05}
  .final-cta p{max-width:560px;margin:0 0 24px;color:#fff;font-family:Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.72}
  .final-cta .white-ticks{margin:0 0 19px;font-size:19px;line-height:1.35}
  .final-cta .white-ticks li{margin:8px 0}
  .final-cta .white-ticks li::before{content:'✓';display:inline-grid;place-items:center;width:19px;height:19px;margin-right:14px;border-radius:50%;background:#fff;color:#ef5b37;font-size:13px}
  .final-cta .white-button{width:300px;height:62px;margin:0;padding:0;align-items:center;justify-content:center;font-size:21px}
  .final-cta>img{width:570px;height:auto;max-height:455px;justify-self:end;align-self:end;object-fit:contain}
}

/* Pixel-aligned SVG ticks */
.tick-list li{display:block}
.tick-list li::before{content:'';position:absolute;left:0;top:1px;display:block;width:18px;height:18px;margin:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m3 10 4.2 4.2L17 4.8' fill='none' stroke='%2357af51' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.white-ticks li{display:flex;align-items:center;min-height:20px}
.white-ticks li::before,.final-cta .white-ticks li::before{content:'';display:block;flex:0 0 19px;width:19px;height:19px;margin:0 14px 0 0;border:0;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='%23ef5b37' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px 13px no-repeat;color:transparent;font-size:0}

/* Booking guidance and responsive iframe shell */
.booking-page .booking-main{height:auto;min-height:0;padding:44px 12px 34px;background:#fff}
.booking-intro{max-width:970px;margin:0 auto 26px;text-align:center}
.booking-intro h1{margin:0 0 9px;color:#1769ad;font-family:ProximaX,Proxima,Arial,sans-serif;font-size:32px;line-height:1.15}
.booking-intro p{max-width:770px;margin:0 auto;color:#526879;font-family:Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.55}
.booking-intro ol{display:flex;justify-content:center;gap:36px;margin:20px 0 0;padding:0;list-style:none;counter-reset:booking-step}
.booking-intro li{display:flex;align-items:center;color:#1769ad;font-size:15px;line-height:22px;counter-increment:booking-step}
.booking-intro li::before{content:counter(booking-step);display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin-right:9px;border-radius:50%;background:#33b9de;color:#fff;font-size:14px}
.booking-frame-wrap{width:100%;margin:0 auto;padding:0;overflow:hidden}
.booking-page .booking-frame{display:block;width:100%;height:720px;border:0;background:#fff}
@media(max-width:700px){
  .booking-page .booking-main{height:auto;min-height:0;padding:28px 5px 24px}
  .booking-intro{margin:0 10px 22px}
  .booking-intro h1{font-size:27px}
  .booking-intro p{font-size:15px;line-height:1.5}
  .booking-intro ol{align-items:stretch;gap:8px;margin-top:18px}
  .booking-intro li{flex:1;flex-direction:column;justify-content:flex-start;font-size:12px;line-height:16px;text-align:center}
  .booking-intro li::before{margin:0 0 7px}
  .booking-frame-wrap{width:100%;padding:0}
  .booking-page .booking-frame{height:1400px}
}
@media(min-width:701px) and (max-width:1024px){
  .booking-page .booking-main{padding-right:10px;padding-left:10px}
  .booking-page .booking-frame{height:900px}
}

@media(min-width:701px) and (max-width:1024px){
  .review-strip{min-height:0;padding:48px 24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;justify-content:stretch}
  .review-summary,.review-strip article{width:100%;height:220px;min-height:220px}
}

@media(max-width:700px){
  .know-card .pill,.final-cta .white-button{display:flex;width:100%;max-width:none;margin-right:0;margin-left:0;align-items:center;justify-content:center}
  .hero h1{font-size:clamp(29px,8vw,36px);line-height:1.08;white-space:nowrap}
}

/* Mobile review carousel */
.review-carousel{display:contents}.carousel-controls{display:none}
@media(max-width:700px){
  .review-strip{display:block;padding:38px 18px}
  .review-summary{margin-bottom:16px}
  .review-carousel{display:flex;width:100%;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .review-carousel::-webkit-scrollbar{display:none}
  .review-carousel article,.review-strip .review-carousel article:nth-of-type(n){display:block;flex:0 0 100%;width:100%;min-width:100%;height:220px;min-height:220px;scroll-snap-align:start;scroll-snap-stop:always}
  .carousel-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:15px}
  .carousel-controls button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font:700 27px/1 Arial,sans-serif;cursor:pointer}
  .carousel-dots{display:flex;align-items:center;gap:7px}
  .carousel-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.45);transition:width .2s ease,background .2s ease}
  .carousel-dots span.active{width:21px;border-radius:7px;background:#fff}
}
