/* Booking-led landing pages. Isolated from shared site/privacy styles. */
.landing-home,.landing-region{font-family:Arial,Helvetica,sans-serif;color:#173e32;background:#f7f1e3}.landing-announcement{background:#173e32;color:#f7f1e3;text-align:center;padding:8px 20px;font-size:11px;letter-spacing:.03em}.landing-nav{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 5%;border-bottom:1px solid #173e3226}.landing-nav .brand img{width:168px;height:auto}.landing-nav .brand span{font-size:9px;letter-spacing:.08em}.landing-navlinks{display:flex;align-items:center;gap:28px}.landing-navlinks>a{font-size:13px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.landing-navlinks>.pill{padding:13px 21px;font-size:13px}.landing-home .pill,.landing-region .pill{font:700 13px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none;min-height:48px}.landing-hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;gap:7%;padding:45px 5% 55px;align-items:start}.landing-hero-copy>.eyebrow{font-size:12px;margin-bottom:18px}.landing-hero h1,.regional-intro h1{font-size:clamp(56px,6vw,82px);letter-spacing:-.055em;line-height:1.02;margin:0 0 24px}.landing-hero h1 em,.regional-intro h1 em{color:#315a6c;font-style:normal}.landing-lede{font-size:18px;line-height:1.6;max-width:460px;margin:0 0 18px}.launch-state{max-width:430px;font-size:12px;line-height:1.65;color:#4a6257}.landing-hero-image{position:relative;margin:25px 0 0;max-width:485px;border-radius:10px 80px 10px 10px;overflow:hidden}.landing-hero-image img{width:100%;height:235px;object-fit:cover;display:block}.landing-hero-image figcaption,.regional-photo figcaption{position:absolute;bottom:12px;left:14px;padding:5px 9px;background:#173e32dc;color:#fffdf7;font-size:9px;border-radius:3px}.location-finder{scroll-margin-top:24px;background:#fffdf7;padding:30px;border:1px solid #a7bbaa;border-radius:12px;box-shadow:0 6px 0 #173e320b}.location-finder h2{font-size:35px;letter-spacing:-.04em;line-height:1.08;margin:10px 0 23px}.location-finder>label{margin:0 0 8px;font-size:13px}.postcode-row{display:flex;align-items:stretch;gap:9px}.postcode-row input{margin:0;min-width:0;flex:1;background:white;text-transform:uppercase;font-size:17px;letter-spacing:.03em;padding:12px;border-color:#8ba08b}.postcode-row input::placeholder{text-transform:none;font-size:14px;letter-spacing:0}.postcode-row .pill{padding:12px 16px;border-radius:6px;white-space:nowrap;border:1px solid #173e32}.location-finder .fine{font-size:11px;line-height:1.6;margin-top:10px}.location-error{font-size:12px;color:#842d20;line-height:1.5}.location-error:empty{display:none}.finder-status{border-top:1px solid #cad3c5;font-size:12px;line-height:1.65;padding-top:17px;margin:20px 0 0;color:#4a6257}.postcode-hint{background:#e3ece2;border:1px solid #c0d0bf;border-radius:6px;padding:13px;font-size:12px;line-height:1.6;margin:20px 0}.location-finder select{background:white}.location-found-label{font-size:11px;color:#4a6257;margin:23px 0 7px}.location-finder h3{font-size:26px;margin:0 0 9px;letter-spacing:-.03em}.location-finder #location-cross-hills>p{font-size:13px;line-height:1.6}.location-finder .checkbox-label{margin:17px 0}.location-finder #location-continue{margin:4px 0 0;border:1px solid #173e32;padding:12px 18px}.landing-services,.landing-trust{padding:66px 5%;max-width:1440px;margin:auto}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 8%;align-items:end;margin-bottom:28px}.section-intro>.eyebrow{grid-column:1/-1;font-size:12px;margin-bottom:14px}.section-intro h2,.location-feature h2,.landing-trust h2,.landing-education h2,.regional-place h2{font-size:clamp(35px,4.3vw,54px);letter-spacing:-.04em;line-height:1.08;margin:0 0 16px}.section-intro>p:last-child{font-size:15px;line-height:1.65;max-width:460px}.landing-service-grid,.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.landing-service-grid article{border-top:1px solid #a2b6a2;padding-top:23px}.landing-service-grid article>span{font-size:11px;color:#4a6257}.landing-service-grid h3{font-size:26px;letter-spacing:-.03em;line-height:1.15;margin:18px 0 12px}.landing-service-grid p{font-size:14px;line-height:1.7;max-width:320px}.landing-service-grid a{font-size:13px}.location-feature{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;background:#d7e7df;padding:55px 5%;max-width:1440px;margin:auto}.location-feature>div{max-width:470px}.location-feature .eyebrow{font-size:12px;margin:0 0 17px}.location-feature p:not(.eyebrow){font-size:16px;line-height:1.7}.location-feature img{width:100%;height:340px;object-fit:cover;border-radius:90px 8px 8px 8px}.location-feature .pill{margin-top:8px}.trust-grid{gap:30px}.trust-grid article{border-top:1px solid #a5b7a2;padding-top:24px}.trust-grid article>.icon{width:25px;height:25px;margin:0 0 18px}.trust-grid h3{font-size:23px;line-height:1.25;letter-spacing:-.03em;margin:0 0 12px}.trust-grid p{font-size:14px;line-height:1.7;color:#405b4c;max-width:340px}.landing-education{display:grid;grid-template-columns:1.15fr .85fr;gap:9%;padding:55px 5%;max-width:1440px;margin:auto;background:#e8ece1}.landing-education>.eyebrow,.landing-education .eyebrow{font-size:12px;margin-bottom:16px}.education-stat{display:flex;align-items:center;gap:24px;margin:24px 0 20px}.education-stat strong{font-size:56px;line-height:1;letter-spacing:-.05em}.education-stat span{font-size:13px;line-height:1.65;max-width:300px}.landing-education p{font-size:13px;line-height:1.7}.education-note{border-top:1px solid #8da28a;padding-top:23px;margin-top:31px}.education-note h3{font-size:27px;letter-spacing:-.03em;margin:0 0 15px;line-height:1.2}.landing-education .text-link{font-size:12px}.landing-final{background:#173e32;color:#f7f1e3;text-align:center;padding:65px 6%}.landing-final h2{font-size:clamp(39px,5vw,65px);letter-spacing:-.045em;line-height:1.04;margin:17px 0 21px}.landing-final>.eyebrow{font-size:12px}.landing-final>p{max-width:540px;margin-inline:auto;font-size:14px;line-height:1.7}.landing-final>.pill{margin:14px 0 0;background:#f7f1e3;color:#173e32;border-color:#f7f1e3}.landing-final>.fine{color:#d5e1d2;font-size:11px;margin-top:16px}.landing-footer{max-width:1440px;margin:0 auto;padding:35px 5%;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:22px;align-items:start;border-top:1px solid #173e3225;font-size:12px}.landing-footer .footer-links{display:flex;flex-wrap:wrap;gap:8px 22px;flex-direction:row}.landing-footer .footer-links a{font-size:12px;min-height:44px;display:inline-flex;align-items:center;padding:6px 0}.landing-footer p{font-size:11px;line-height:1.7;margin:7px 0 0}.landing-footer>a:last-child{font-size:12px;min-height:44px;display:inline-flex;align-items:center}.landing-footer .brand img{width:150px;height:auto}.landing-footer .brand span{font-size:9px}.landing-region [data-panel=service] .service-card{padding:13px;grid-template-columns:22px 1fr 23px;gap:5px 10px}.landing-region [data-panel=service] .service-card[aria-pressed=true]{padding:12px}.landing-region [data-panel=service] .service-card>strong{font-size:20px}.landing-region [data-panel=service] .service-card>span:not(.service-number):not(.selection-mark):not(.price){display:none}.landing-region [data-panel=service] .service-card .price{font-size:11px;margin-top:2px}.landing-region [data-panel=service] .service-options{gap:10px}.landing-region .venue-choice{font-size:12px;line-height:1.55;margin:17px 0 0}.landing-region .venue-choice input{margin-top:1px}.landing-region [data-panel=service] .actions{margin-top:18px}.landing-region .booking-setup-note{background:#e1eadf;border-radius:6px;padding:10px 13px;font-size:11px;line-height:1.6;margin:0 0 18px}.landing-region .steps{gap:10px;margin-bottom:22px}.landing-region .steps button{font-size:12px;padding-bottom:12px;min-height:40px}.landing-region .steps span{width:24px;height:24px;font-size:11px}.landing-region .stage-wrap h2{font-size:30px;line-height:1.12}.landing-region .section-copy{font-size:13px;line-height:1.6;margin-bottom:19px}.landing-region .step-kicker{display:none}.landing-region .summary{position:static}.landing-region[data-booking-step=service] .summary{display:none}.landing-region[data-booking-step=service] .booking-layout{grid-template-columns:1fr}.landing-region .button{font-size:13px}.landing-region .review-note{padding:17px}.landing-region .review-note h3{font-size:19px}.landing-region .review-details>div{padding:14px 0}.landing-home input:focus-visible,.landing-home select:focus-visible,.landing-region input:focus-visible{outline:3px solid #315a6c;outline-offset:3px}
@media(max-width:1000px){.landing-hero{gap:4%}.location-finder{padding:24px}.landing-hero h1{font-size:66px}.landing-service-grid,.trust-grid{gap:20px}.landing-footer{grid-template-columns:1fr 2fr}.landing-footer>p{grid-column:1}.education-stat{gap:17px}.education-stat strong{font-size:49px}.landing-region [data-panel=service] .service-card>strong{font-size:18px}}
@media(max-width:740px){.landing-announcement{padding:7px 15px;font-size:10px}.landing-nav{padding:15px 6%;gap:12px}.landing-nav .brand img{width:145px}.landing-nav .brand span{margin-left:33px;font-size:8px}.landing-navlinks{gap:0}.landing-navlinks .nav-location{display:none}.landing-navlinks>.pill{font-size:11px;padding:11px 14px;min-height:44px}.landing-navlinks .icon{width:17px;height:17px;margin-left:0}.landing-navlinks>.pill{gap:7px}.landing-hero{grid-template-columns:1fr;padding:26px 6% 38px;gap:24px}.landing-hero-copy>.eyebrow{margin-bottom:12px;font-size:11px}.landing-hero h1{font-size:clamp(44px,10.7vw,63px);line-height:1.02;margin-bottom:17px;letter-spacing:-.045em}.landing-lede{font-size:16px;line-height:1.5;margin-bottom:12px}.launch-state{font-size:11px;line-height:1.6;margin-bottom:0;max-width:340px}.landing-hero-image{display:none}.location-finder{padding:21px;border-radius:8px}.location-finder h2{font-size:27px;margin:8px 0 20px}.location-finder h2 br{display:none}.location-finder .step-kicker{font-size:11px}.postcode-row{gap:7px}.postcode-row .pill{font-size:11px;padding:12px}.postcode-row input{font-size:16px;padding:10px}.postcode-row input::placeholder{font-size:12px}.location-finder .fine{font-size:10px}.finder-status{font-size:11px;padding-top:13px;margin-top:15px}.landing-services,.landing-trust{padding:42px 6%}.section-intro{grid-template-columns:1fr;gap:0;margin-bottom:21px}.section-intro h2,.location-feature h2,.landing-trust h2,.landing-education h2,.regional-place h2{font-size:38px;margin-bottom:14px}.section-intro>.eyebrow{font-size:11px;margin-bottom:12px}.section-intro>p:last-child{font-size:14px;margin:0 0 9px}.landing-service-grid,.trust-grid{grid-template-columns:1fr;gap:20px}.landing-service-grid article{padding-top:19px}.landing-service-grid h3{font-size:25px;margin:12px 0 10px}.landing-service-grid p{max-width:none;font-size:14px;margin-bottom:6px}.location-feature{grid-template-columns:1fr;gap:25px;padding:40px 6%}.location-feature>div{max-width:none}.location-feature p:not(.eyebrow){font-size:14px}.location-feature img{height:260px;border-radius:60px 8px 8px 8px}.trust-grid article{padding-top:21px}.trust-grid article>.icon{width:23px;height:23px;margin-bottom:13px}.trust-grid h3{font-size:24px;margin-bottom:9px}.trust-grid p{max-width:none;margin-bottom:0;font-size:14px}.landing-education{grid-template-columns:1fr;padding:42px 6%;gap:12px}.education-stat{gap:17px}.education-stat strong{font-size:50px}.education-stat span{font-size:12px}.education-note{margin-top:10px}.education-note h3{font-size:25px}.landing-final{padding:47px 6%}.landing-final h2{font-size:41px}.landing-final>p{font-size:13px}.landing-footer{padding:27px 6%;grid-template-columns:1fr;gap:16px}.landing-footer .footer-links{gap:3px 20px;max-width:360px}.landing-footer .footer-links a{min-height:42px;font-size:12px}.landing-footer p{margin:0}.landing-region .steps button{flex-direction:row;justify-content:flex-start;gap:7px}.landing-region .steps span{width:23px;height:23px}.landing-region .stage-wrap h2{font-size:27px}.landing-region [data-panel=service] .section-copy{font-size:12px;margin-bottom:16px}.landing-region [data-panel=service] .service-card{padding:12px;grid-template-columns:18px 1fr 22px;gap:4px 8px}.landing-region [data-panel=service] .service-card[aria-pressed=true]{padding:11px}.landing-region [data-panel=service] .service-card>strong{font-size:18px}.landing-region .venue-choice{font-size:11px;margin-top:15px}.landing-region .booking-setup-note{font-size:10px;line-height:1.55;margin-bottom:15px}.landing-region .section-copy{font-size:13px}.landing-region .summary h2 br{display:none}.landing-region .button{font-size:12px}.landing-region .review-details>div{grid-template-columns:100px 1fr;gap:14px}.landing-region .review-details dd{font-size:13px}}
@media(max-width:380px){.landing-nav .brand img{width:132px}.landing-navlinks>.pill{padding:10px 11px;font-size:11px}.landing-navlinks .icon{display:none}.landing-hero{padding-top:21px;gap:18px}.landing-hero h1{font-size:43px}.landing-lede{font-size:15px}.location-finder{padding:17px}.location-finder h2{font-size:25px}.postcode-row .pill{font-size:10px;padding:10px}.postcode-row input{padding:10px 8px}.location-finder .step-kicker{font-size:10px}.landing-final h2{font-size:36px}.education-stat{flex-direction:column;align-items:flex-start;gap:10px}.education-stat span{font-size:13px}.landing-region [data-panel=service] .service-card{grid-template-columns:1fr 22px}.landing-region [data-panel=service] .service-number{display:none}.landing-region [data-panel=service] .service-card>strong,.landing-region [data-panel=service] .service-card>.price{grid-column:1}.landing-region [data-panel=service] .selection-mark{grid-column:2}.landing-region .review-details>div{grid-template-columns:86px 1fr;gap:11px}}
.landing-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;max-width:1440px;margin:auto;padding:55px 5%}.landing-faq h2{font-size:clamp(32px,4vw,47px);letter-spacing:-.04em;line-height:1.1}.landing-faq .eyebrow{font-size:12px}.landing-faq .faqs summary{font-size:17px;line-height:1.5;padding-block:20px;min-height:60px}.landing-faq .faqs details p{font-size:14px;line-height:1.7}.landing-faq .faqs{min-width:0}@media(max-width:740px){.landing-faq{grid-template-columns:1fr;gap:10px;padding:40px 6%}.landing-faq h2{font-size:35px;margin-bottom:10px}.landing-faq .faqs summary{font-size:16px}.landing-faq .faqs details p{font-size:13px}}
/* Image-first landing: content-sized hero, then the booking form. No reserved viewport gap. */
.image-first-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:5%;align-items:center;max-width:1440px;margin:auto;padding:34px 5% 28px;min-height:0}.hero-photo{position:relative;margin:0;min-width:0;overflow:hidden;border-radius:10px 90px 10px 10px}.hero-photo img{display:block;width:100%;height:clamp(380px,54vh,580px);object-fit:cover;object-position:center}.hero-photo figcaption{position:absolute;bottom:15px;left:15px;background:#173e32bf;color:#fffdf7;padding:6px 10px;border-radius:3px;font-size:10px}.image-hero-copy{min-width:0}.image-hero-copy>.eyebrow{font-size:12px;margin:0 0 20px}.image-hero-copy h1{font-size:clamp(51px,5.6vw,78px);line-height:1.02;letter-spacing:-.055em;margin:0 0 24px}.image-hero-copy h1 em{font-style:normal;color:#315a6c}.hero-lede{font-size:19px;line-height:1.6;max-width:360px;margin:0 0 26px}.image-first-hero .hero-book{padding:16px 30px;font-size:16px;min-height:54px}.hero-status{font-size:12px;color:#4a6257;margin:15px 0 0;line-height:1.5}.below-hero-location{background:#dce8df;padding:32px 6%}.below-hero-location .location-finder{max-width:640px;margin:auto;padding:35px}.landing-navlinks .brand-sibling{font-weight:700;border-bottom:1px solid #173e3255;min-height:34px}.image-first-hero + .below-hero-location{border-top:1px solid #173e3226}
@media(max-width:1000px){.image-first-hero{gap:4%;grid-template-columns:1.15fr 1fr}.image-hero-copy h1{font-size:55px}.hero-lede{font-size:17px}}
@media(max-width:740px){.image-first-hero{display:flex;flex-direction:column;align-items:stretch;gap:23px;padding:22px 6% 24px;min-height:0}.hero-photo{border-radius:8px 65px 8px 8px}.hero-photo img{height:clamp(230px,34vh,330px);object-position:center 46%}.hero-photo figcaption{font-size:8px;bottom:10px;left:10px;padding:4px 7px}.image-hero-copy>.eyebrow{font-size:10px;margin-bottom:10px}.image-hero-copy h1{font-size:clamp(39px,10.7vw,57px);letter-spacing:-.045em;line-height:1.02;margin:0 0 15px}.hero-lede{font-size:15px;line-height:1.5;margin-bottom:19px;max-width:390px}.image-first-hero .hero-book{min-height:50px;padding:13px 26px;font-size:14px}.hero-status{font-size:10px;margin-top:11px}.below-hero-location{padding:28px 6%}.below-hero-location .location-finder{padding:23px}.landing-navlinks .brand-sibling{font-size:12px}.image-hero-copy{padding-bottom:0}}
@media(max-width:380px){.image-first-hero{padding:18px 6% 24px;gap:19px}.hero-photo img{height:240px}.image-hero-copy h1{font-size:40px}.hero-lede{font-size:14px;margin-bottom:17px}.image-first-hero .hero-book{width:100%;justify-content:center}.hero-status{text-align:center}.below-hero-location .location-finder{padding:18px}}
/* A brief hook stays with the photograph; the primary action follows it. */
.hero-photo:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#102f28dd);pointer-events:none}.hero-photo .hero-image-heading{position:absolute;z-index:1;inset:auto 25px 25px;background:none;padding:0;border-radius:0;color:#fffdf7}.hero-image-heading .eyebrow{font-size:12px;margin:0 0 12px;color:#fffdf7}.hero-image-heading h1{font-size:clamp(46px,5.5vw,74px);line-height:1.02;letter-spacing:-.055em;margin:0;color:#fffdf7}.hero-image-heading h1 em{color:#fffdf7;font-style:normal}.hero-photo .image-note{position:absolute;z-index:1;right:12px;top:12px;color:#fffdf7;background:#173e32a6;font-size:9px;padding:5px 8px;border-radius:3px}.image-hero-copy .hero-lede{font-size:clamp(23px,2.8vw,38px);font-weight:700;line-height:1.25;letter-spacing:-.025em;max-width:380px;margin-bottom:30px}
@media(max-width:740px){.image-first-hero{gap:17px}.hero-photo .hero-image-heading{inset:auto 18px 20px}.hero-image-heading .eyebrow{font-size:10px;margin-bottom:9px}.hero-image-heading h1{font-size:clamp(36px,10.3vw,50px);letter-spacing:-.04em}.image-hero-copy{display:flex;flex-direction:column;align-items:flex-start}.image-hero-copy .hero-book{order:0;width:100%;justify-content:center}.image-hero-copy .hero-lede{order:2;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:0;margin:17px 0 0}.image-hero-copy .hero-status{order:1;margin:10px 0 0;width:100%;text-align:center}.hero-photo img{height:clamp(260px,36vh,350px)}.landing-home .privacy-banner,.landing-region .privacy-banner{left:10px;bottom:10px;width:calc(100% - 20px);padding:12px 14px;border-radius:9px}.landing-home .privacy-banner h2,.landing-region .privacy-banner h2{font-size:17px;margin-bottom:7px}.landing-home .privacy-banner p,.landing-region .privacy-banner p{font-size:11px;line-height:1.45;margin:7px 0}.landing-home .privacy-banner .privacy-small,.landing-region .privacy-banner .privacy-small{font-size:10px}.landing-home .privacy-banner .privacy-actions,.landing-region .privacy-banner .privacy-actions{margin:10px 0 3px;gap:8px}.landing-home .privacy-banner .privacy-actions button,.landing-region .privacy-banner .privacy-actions button{font-size:11px;min-height:44px;padding:8px}.landing-home .privacy-banner .privacy-links,.landing-region .privacy-banner .privacy-links{gap:13px}.landing-home .privacy-banner .privacy-links a,.landing-home .privacy-banner .privacy-links button,.landing-region .privacy-banner .privacy-links a,.landing-region .privacy-banner .privacy-links button{font-size:10px;min-height:32px;padding:6px 0}}
@media(max-width:740px) and (max-height:700px){.landing-announcement{padding:4px 12px;font-size:9px}.landing-nav{padding:10px 6%}.landing-nav .brand img{width:124px}.landing-nav .brand span{font-size:7px}.image-first-hero{padding-top:12px;gap:12px;min-height:0}.hero-photo img{height:150px;object-position:center 35%}.hero-photo{border-radius:7px 45px 7px 7px}.hero-photo .hero-image-heading{inset:auto 14px 13px}.hero-image-heading .eyebrow{font-size:9px;margin-bottom:5px}.hero-image-heading h1{font-size:32px;line-height:1.02}.hero-photo .image-note{font-size:7px;top:8px;right:8px;padding:3px 5px}.image-hero-copy .hero-lede{display:none}.image-first-hero .hero-book{min-height:46px;padding:11px 24px}.image-hero-copy .hero-status{margin-top:7px;font-size:10px}}
/* Isolate the new hero from the original site's .hero-photo component. */
.image-first-hero .hero-photo{display:block;min-height:0;height:auto;aspect-ratio:auto;flex:none}.image-first-hero .hero-photo img{position:static;inset:auto;min-height:0;max-height:none}.image-first-hero .hero-photo .image-note{margin:0}.image-first-hero .hero-photo .hero-image-heading{width:auto;max-width:none}
.image-first-hero .hero-photo{align-self:center;width:100%;max-width:100%}
