*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#203d35;background:#fcfcf8;font-family:'Manrope',sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}img{max-width:100%;display:block}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.12;letter-spacing:-.04em}h2{font-size:clamp(2.3rem,4vw,3.65rem)}h3{font-size:1.6rem}em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:0}p{color:#5c6d66}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}:focus-visible{outline:3px solid #ba722b;outline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;z-index:1000;background:white;padding:12px}.skip-link:focus{top:8px}.wrap{max-width:1240px;width:calc(100% - 112px);margin-inline:auto}.section{padding-block:104px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.17em;margin-bottom:23px;color:#587065}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-inline:38px;position:sticky;top:0;z-index:30;background:rgba(252,252,248,.94);transition:height .4s,background .4s,box-shadow .4s,border-color .4s;border-bottom:1px solid transparent}.site-header.is-scrolled{height:78px;background:rgba(252,252,248,.8);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border-color:#d8dfd38c;box-shadow:0 4px 28px #102d2510}.brand{display:flex;align-items:center;gap:9px;font-size:.74rem;line-height:1.32;font-weight:800;letter-spacing:.12em;flex-shrink:0}.brand span span{display:block;font-size:1rem;letter-spacing:.055em}.brand svg{width:35px;height:46px;stroke-width:1.25}.desktop-nav{display:flex;align-items:center;gap:26px;font-size:.8rem;font-weight:600}.desktop-nav a{position:relative;padding-block:10px;white-space:nowrap}.desktop-nav a:after,.hero-secondary:after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after{transform:scaleX(1)}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;padding:17px 24px;border:1px solid transparent;border-radius:6px;background:#214b3e;color:white;font-size:.875rem;font-weight:700;line-height:1.4;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{background:#153c30;transform:translateY(-3px);box-shadow:0 8px 20px #102d2512}.button span{font-size:1.15rem;transition:transform .25s}.button:hover span{transform:translate(2px,-2px)}.button-small{padding:13px 18px;font-size:.8rem;gap:17px}.button-apricot{background:#edb66f;color:#233b30}.button-apricot:hover{background:#f7c788}.button-outline{background:transparent;border-color:#cbd6cc;color:#294d3d}.button-outline:hover{background:#edf0e9}.menu-toggle,.mobile-nav{display:none}.hero{margin:0 22px;display:grid;grid-template-columns:47% 53%;min-height:635px;border-radius:14px;overflow:hidden;background:#183d35;color:white}.hero-copy{padding:63px 40px 50px 60px;display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:2}.hero .eyebrow{color:#c9d6c7;margin-bottom:30px;font-size:.69rem}.hero h1{font-size:clamp(3.5rem,5.9vw,5.5rem);line-height:1.06;letter-spacing:-.055em}.hero h1 em{display:block;color:#edc18c;font-size:1.16em;line-height:1.08;margin-top:3px}.hero-description{max-width:345px;color:#d1dcd5;font-size:.94rem;line-height:1.8;margin-top:26px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:29px}.hero-secondary{font-size:.8rem;color:#e2e9df;display:flex;gap:22px;padding-bottom:3px;position:relative}.hero-secondary:hover:after{transform:scaleX(1)}.hero-note{margin-top:auto;padding-top:35px;color:#b7cabc;font-size:.71rem;display:flex;align-items:center;gap:11px}.small-star{font-size:25px;color:#edc18c}.hero-image-wrap{position:relative;overflow:hidden;min-height:100%}.hero-image{width:100%;height:100%;object-fit:cover;object-position:40% 50%;position:absolute;animation:image-arrive 1.8s cubic-bezier(.2,.65,.25,1) both}.hero-image-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#081c1400 45%,#071e20b3)}.location-pill{position:absolute;top:28px;right:28px;z-index:2;display:flex;align-items:center;gap:8px;background:#ffffffba;border:1px solid #ffffffaa;backdrop-filter:blur(12px);padding:8px 15px;color:#204236;border-radius:100px;font-size:.76rem;font-weight:600}.location-pill svg{width:16px;height:16px}.photo-caption{position:absolute;left:35px;right:35px;bottom:35px;z-index:2}.photo-caption>span:first-child{font-size:.6rem;letter-spacing:.18em;font-weight:600}.photo-caption p{font-size:1.65rem;line-height:1.3;color:white;margin-top:9px;letter-spacing:-.025em}.photo-index{position:absolute;bottom:0;right:0;color:#d4e1d5;font-size:.62rem;letter-spacing:.12em}.intro-animate{animation:text-arrive .9s cubic-bezier(.2,.65,.25,1) both}.hero h1{animation-delay:.12s}.hero-description{animation-delay:.24s}.hero-actions{animation-delay:.36s}.hero-note{animation-delay:.48s}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);padding-block:34px;border-bottom:1px solid #dfe4da;gap:30px}.trust-strip>div{display:flex;align-items:center;justify-content:center;gap:15px;font-size:.71rem;color:#6b7a6d}.trust-strip strong{display:block;font-size:.8rem;font-weight:600;color:#365345}.trust-symbol{font-size:33px;color:#6c806c;line-height:1}.experience{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}.experience-copy p{font-size:.94rem;line-height:1.9}.experience-copy p+p{margin-top:16px}.text-link{display:inline-flex;align-items:center;gap:35px;font-size:.83rem;font-weight:700;border-bottom:1px solid #9aac9c;padding-bottom:8px;margin-top:25px}.text-link span{transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.offers-section{background:#f0f2eb}.offers-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.offers-heading>p{font-size:.8rem;line-height:1.8;padding-bottom:6px}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.offer-card{background:#fcfcf8;border:1px solid #dce2d6;border-radius:10px;padding:28px 27px;display:flex;flex-direction:column;transition:box-shadow .3s,translate .3s}.offer-card:hover{translate:0 -5px;box-shadow:0 15px 40px #233e3310}.offer-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:36px;font-size:.59rem;letter-spacing:.09em;font-weight:700}.offer-number{font-family:'Instrument Serif',serif;font-size:1.4rem;font-style:italic;color:#8e9f90}.offer-card h3{font-size:1.55rem}.offer-card>p{font-size:.8rem;line-height:1.8;margin-top:17px;min-height:68px}.price{font-size:2.7rem;letter-spacing:-.05em;margin-top:24px}.price span{font-size:.71rem;letter-spacing:0;color:#748173}.offer-card ul{list-style:none;padding:22px 0;margin:12px 0 15px;border-top:1px solid #dce2d6;font-size:.75rem;line-height:2.2}.offer-card li:before{content:'✓';margin-right:10px;color:#6d8d6a}.offer-card .button{margin-top:auto;font-size:.76rem;justify-content:space-between;padding-inline:15px}.offer-featured{background:#21483b;color:#fff;border-color:#21483b}.offer-featured>p,.offer-featured .price span{color:#c8d9c9}.offer-featured ul{border-color:#ffffff26;color:#d6e4d6}.offer-featured li:before{color:#edb66f}.offer-featured .offer-number{color:#edb66f}.source-note{font-size:.69rem;margin-top:22px}.section-heading>p:not(.eyebrow){margin-top:20px;font-size:.92rem}.booking-root{margin-top:40px;padding:36px;border:1px solid #dfe4da;border-radius:12px;min-height:180px}.site-footer{background:#16372e;color:#edf0e7;padding:60px 0 28px}.footer-brand{font-size:1.1rem}.site-footer p{margin-top:15px;font-size:.86rem;color:#bacdbe}.footer-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:35px;font-size:.76rem}.footer-links button{background:none;border:0;padding:0;color:inherit;font-size:inherit}.footer-links a:hover,.footer-links button:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff25;padding-top:23px;margin-top:40px;font-size:.65rem;color:#aebfb3}.mobile-booking-bar{display:none}.reveal{transition:opacity .85s cubic-bezier(.2,.65,.25,1),transform .85s cubic-bezier(.2,.65,.25,1)}.reveal.is-waiting{opacity:0;transform:translateY(28px)}.offer-card:nth-child(2){transition-delay:.08s}.offer-card:nth-child(3){transition-delay:.16s}dialog{background:#fcfcf8;color:#244535;border:1px solid #e0e4d8;border-radius:15px;padding:52px;max-width:620px;width:calc(100% - 32px);max-height:85dvh;box-shadow:0 30px 120px #0b281b30}dialog[open]{animation:text-arrive .3s both}dialog::backdrop{background:#102d2569;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:16px;top:10px;background:none;border:0;font-size:30px;width:44px;height:44px}.dialog-copy p{margin-top:18px}.dialog-copy h2{font-size:2.4rem}.dialog-copy a{text-decoration:underline}.dialog-copy .button{margin-top:25px;text-decoration:none}.dialog-copy small{display:block;margin-top:20px;color:#697b6c}
@keyframes text-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes image-arrive{from{transform:scale(1.065);filter:brightness(.85)}to{transform:scale(1);filter:brightness(1)}}
@media(min-width:1600px){.hero{max-width:1500px;margin-inline:auto}.site-header{padding-inline:max(40px,calc((100% - 1420px)/2))}.hero-copy{padding:75px}.hero{min-height:700px}}
@media(max-width:1150px){.desktop-nav{gap:15px;font-size:.72rem}.site-header{gap:15px;padding-inline:24px}.hero-copy{padding:50px 30px}.hero{min-height:610px}.wrap{width:calc(100% - 64px)}.experience{gap:45px}.offer-card{padding:25px 20px}.offer-top{font-size:.55rem}.offer-card .button{font-size:.7rem}.hero h1{font-size:4.4rem}}
@media(max-width:940px){.desktop-nav{display:none}.header-book{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:transparent;border:1px solid #cfd8ce;width:44px;height:44px;border-radius:5px}.menu-toggle span{width:20px;height:1px;background:#244535;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:flex;position:fixed;inset:96px 16px auto;background:#fcfcf8f5;backdrop-filter:blur(22px);border:1px solid #dfe4d8;border-radius:12px;padding:22px;z-index:29;flex-direction:column;box-shadow:0 18px 40px #203d3520;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.3s}.mobile-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-nav a{padding:12px;border-bottom:1px solid #dfe4d8}.mobile-nav a:last-child{border:0}.hero h1{font-size:3.7rem}.hero{grid-template-columns:50% 50%;min-height:610px}.hero-copy{padding:40px 26px}.hero .button{padding:16px;font-size:.78rem;gap:14px}.photo-index{display:none}.offer-grid{gap:13px}.offer-card h3{font-size:1.3rem}.offer-card ul{font-size:.68rem}.offers-heading{align-items:flex-start;flex-direction:column}.section{padding-block:80px}}
@media(max-width:700px){html{scroll-padding-top:95px}.site-header{height:80px;padding-inline:20px;gap:12px}.site-header.is-scrolled{height:70px}.brand{font-size:.6rem;gap:7px}.brand span span{font-size:.79rem}.brand svg{width:28px;height:39px}.header-book{font-size:.64rem;padding:11px 12px;gap:8px}.header-book span{font-size:.9rem}.menu-toggle{width:39px;height:39px}.mobile-nav{top:86px}.hero{margin:0 12px;grid-template-columns:1fr;min-height:0;border-radius:10px}.hero-copy{padding:38px 26px 31px}.hero .eyebrow{font-size:.62rem;margin-bottom:24px}.hero h1{font-size:clamp(3.5rem,11vw,4.8rem);line-height:1.04}.hero h1 em{display:inline;margin-left:3px}.hero-description{font-size:.83rem;max-width:320px;margin-top:24px}.hero-actions{margin-top:24px;flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap}.hero .button{font-size:.75rem;padding:15px 16px}.hero-secondary{font-size:.7rem;gap:9px}.hero-note{font-size:.65rem;padding-top:22px}.hero-image-wrap{height:345px;min-height:0}.hero-image{object-position:50% 57%}.location-pill{top:19px;right:20px;font-size:.66rem}.photo-caption{left:23px;right:23px;bottom:23px}.photo-caption p{font-size:1.35rem}.photo-caption>span:first-child{font-size:.52rem}.wrap{width:calc(100% - 44px)}.trust-strip{grid-template-columns:1fr;gap:20px;padding:28px 5px}.trust-strip>div{justify-content:flex-start;font-size:.7rem;gap:19px}.trust-symbol{width:32px;text-align:center;font-size:28px}.trust-strip strong{font-size:.79rem}.experience{grid-template-columns:1fr;gap:27px}.section{padding-block:64px}.eyebrow{font-size:.63rem;margin-bottom:18px}.experience-copy p{font-size:.88rem}.text-link{font-size:.77rem}.offers-heading{gap:15px}.offers-heading>p{font-size:.72rem}.offer-grid{grid-template-columns:1fr;gap:18px;margin-top:30px}.offer-card{padding:27px}.offer-top{font-size:.61rem;margin-bottom:25px}.offer-card h3{font-size:1.65rem}.offer-card>p{font-size:.85rem;min-height:0;max-width:350px}.offer-card ul{font-size:.8rem}.offer-card .button{font-size:.8rem}.price{margin-top:17px}.source-note{font-size:.66rem}.section-heading>p:not(.eyebrow){font-size:.86rem}.booking-root{padding:24px 19px}.site-footer{padding-bottom:100px}.footer-links{gap:17px 23px}.footer-bottom{flex-direction:column;font-size:.64rem;gap:10px}.mobile-booking-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fcfcf8eb;backdrop-filter:blur(18px);border-top:1px solid #e1e6da;z-index:25;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px max(12px,env(safe-area-inset-bottom));transform:translateY(120%);transition:transform .4s}.mobile-booking-bar.is-visible{transform:translateY(0)}.mobile-booking-bar>span{font-size:.63rem;color:#5c6d66}.mobile-booking-bar strong{display:block;font-size:.79rem;color:#21483b}.mobile-booking-bar .button{font-size:.73rem;padding:13px 17px}dialog{padding:45px 25px 30px}.dialog-copy h2{font-size:2rem}.dialog-copy p{font-size:.87rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.is-waiting{opacity:1;transform:none}}
/* Booking: a compact, accessible three-step flow with a persistent price overview. */
.booking-root{padding:0;overflow:hidden;scroll-margin-top:100px;background:#fff}.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:23px 35px;background:#f1f3ed;border-bottom:1px solid #dce4d7;gap:15px}.booking-progress li{display:flex;gap:12px;align-items:center;color:#8a9389;font-size:.8rem}.booking-progress li>span{display:flex;align-items:center;justify-content:center;border:1px solid #ced6c9;border-radius:50%;width:30px;height:30px;font-size:.65rem}.booking-progress li.active{color:#28513e;font-weight:600}.booking-progress li.active>span{background:#28513e;color:white;border-color:#28513e}.booking-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);align-items:start}.booking-layout form{padding:40px}.step-panel{animation:text-arrive .4s ease both;min-width:0}.step-panel h3{font-size:1.8rem;outline-offset:8px}.step-panel .eyebrow{font-size:.65rem;margin-bottom:16px}.step-description{margin-top:15px;font-size:.86rem;line-height:1.8}.choice-fieldset{border:0;padding:0;margin:27px 0}.choice-fieldset legend,.field>span{font-size:.82rem;font-weight:600;margin-bottom:10px;display:block;color:#2c493b}.purpose-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.radio-card{display:flex;position:relative;align-items:flex-start;gap:9px;padding:17px 13px;border:1px solid #d6dfd2;border-radius:7px;cursor:pointer;transition:background .2s,border-color .2s}.radio-card:has(input:checked){background:#f1f4eb;border-color:#64825f}.radio-card input{margin-top:5px;accent-color:#28513e}.radio-card strong{display:block;font-size:.78rem;font-weight:600}.radio-card small{font-size:.68rem;line-height:1.6;color:#71806d;display:block;margin-top:5px}.radio-card>span:last-child{font-size:1.2rem;margin-left:auto;line-height:1.2;color:#6c8667}.field{display:block;margin-top:22px;min-width:0}.field small{font-weight:400;color:#798374}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #cfd9c9;background:#fcfdf9;color:#2c493b;border-radius:5px;padding:12px 14px;font-size:.88rem;transition:border-color .2s,box-shadow .2s;min-height:49px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#6a875e;box-shadow:0 0 0 3px #6a875e1a}.field textarea{resize:vertical;min-height:100px}.field input[aria-invalid]{border-color:#ae554a;background:#fff9f7}.location-options{display:flex;flex-wrap:wrap;gap:8px}.location-option{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #d6dfd2;border-radius:5px;font-size:.75rem;cursor:pointer}.location-option:has(input:checked){background:#28513e;border-color:#28513e;color:#fff}.location-option input{accent-color:#718764;width:14px;height:14px;margin:0}.form-hint{font-size:.72rem;line-height:1.7;color:#6d7c67}.form-hint button{font-size:inherit;background:none;border:none;text-decoration:underline;padding:0}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:29px;margin-top:30px;border-top:1px solid #e5e9e0}.form-actions .button{font-size:.76rem;gap:16px;padding:15px 20px}.form-actions>.form-hint{max-width:120px;font-size:.65rem}.back-button{border:0;background:none;padding:12px 0;font-size:.77rem}.form-error{color:#a04235;background:#fff3ee;padding:12px 15px;margin-top:20px;font-size:.8rem;border-radius:5px}.order-summary{margin:25px 25px 25px 0;border:1px solid #dce4d7;border-radius:9px;background:#f7f8f2;overflow:hidden}.summary-image{position:relative;height:135px;overflow:hidden}.summary-image img{width:100%;height:100%;object-fit:cover;object-position:center 65%}.summary-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#123023a3)}.summary-image span{position:absolute;bottom:13px;left:23px;z-index:1;color:white;font-family:'Instrument Serif',serif;font-style:italic;font-size:1.6rem}.summary-body{padding:25px 23px}.summary-body .eyebrow{font-size:.56rem;letter-spacing:.12em;margin-bottom:13px}.summary-body h3{font-size:1.25rem}.summary-body dl{font-size:.73rem;margin:25px 0}.summary-body dl>div{display:flex;justify-content:space-between;gap:15px;margin-top:12px}.summary-body dt{color:#73816e}.summary-body dd{margin:0;text-align:right;font-weight:600}.summary-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:17px;border-top:1px solid #d9e0d3;font-size:.83rem}.summary-total strong{font-size:2.1rem;letter-spacing:-.04em;font-weight:500}.summary-tax{text-align:right;font-size:.65rem}.demo-badge{display:flex;gap:11px;border-top:1px solid #d9e0d3;margin-top:24px;padding-top:20px}.demo-badge>span{font-size:1.5rem;line-height:1.3}.demo-badge p{font-size:.65rem;line-height:1.8}.demo-badge strong{display:block;color:#34523f;font-size:.72rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.full-width{grid-column:1/-1}.sample-button{padding:0 0 4px;background:none;border:0;border-bottom:1px solid #94a78a;margin-top:17px;font-size:.77rem;font-weight:600}.required-note{margin-top:22px;font-size:.68rem}.checkbox-label{display:flex;align-items:flex-start;gap:12px;font-size:.8rem;cursor:pointer}.checkbox-label input{flex-shrink:0;margin-top:4px;accent-color:#28513e;width:17px;height:17px}.gift-fields{padding:1px 20px 20px;border:1px solid #e0e6d8;border-radius:5px;margin-top:25px;background:#f6f7f0}.gift-fields .checkbox-label{margin-top:20px}.gift-fields .form-hint{margin-top:10px}.review-block{margin-top:25px;padding-bottom:22px;border-bottom:1px solid #e2e7da;overflow-wrap:anywhere}.review-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.review-block h4{margin:0 0 12px;font-size:.87rem}.review-heading button{background:none;border:0;padding:4px 0;text-decoration:underline;font-size:.69rem;flex-shrink:0}.review-block p{font-size:.83rem;line-height:1.9}.preserve-lines{white-space:pre-wrap}.payment-note{margin:23px 0;padding:18px;background:#f1f4eb;border-radius:6px;font-size:.78rem}.payment-note p{font-size:.76rem;margin-top:5px}.demo-confirm{margin:27px 0 15px}.dialog-open{overflow:hidden}.success-icon{width:62px;height:62px;border-radius:50%;background:#e6ecda;display:grid;place-items:center;font-size:30px;margin-bottom:25px;color:#3a6240}.dialog-copy h3{font-size:1.3rem;margin-top:27px;letter-spacing:-.025em}.dialog-copy h3+p{margin-top:10px}.archive-notice{padding:15px;background:#eef2e6;border-radius:6px;font-size:.83rem}.archive-link-list{margin-top:24px;display:flex;flex-direction:column;gap:14px;font-size:.87rem}
/* The quieter, supporting content follows the main purchase journey. */
.locations-section{background:#f0f2eb}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:42px}.location-card{border:1px solid #dce3d5;border-radius:10px;overflow:hidden;background:#fcfcf8}.location-image{height:285px;overflow:hidden;position:relative}.location-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.25,1)}.location-card:hover img{transform:scale(1.045)}.location-image>span{position:absolute;left:22px;top:20px;font-size:.63rem;letter-spacing:.12em;background:#fcfcf8d4;backdrop-filter:blur(8px);padding:7px 12px;border-radius:3px;color:#284a3a}.location-content{padding:30px}.location-content .eyebrow{font-size:.62rem;margin-bottom:17px}.location-content h3{font-size:1.6rem}.location-content p:not(.eyebrow){font-size:.84rem;margin-top:16px}.text-link[type=button]{background:none;border:0;border-bottom:1px solid #9aac9c;padding:0 0 8px;text-align:left}.journey{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:stretch}.journey-visual{position:relative;overflow:hidden;border-radius:10px;min-height:520px}.journey-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50%}.journey-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#163729b8)}.journey-caption{position:absolute;z-index:1;bottom:35px;left:35px;color:white}.journey-caption>span{font-size:.6rem;letter-spacing:.12em}.journey-caption p{color:white;font-size:2rem;line-height:1.3;margin-top:13px;letter-spacing:-.03em}.journey-steps{list-style:none;padding:0;margin:35px 0 0}.journey-steps li{display:flex;gap:24px;padding-block:20px;border-bottom:1px solid #dfe4d7}.journey-steps li:first-child{padding-top:0}.journey-steps li:last-child{border:0;padding-bottom:0}.journey-steps li>span{font-family:'Instrument Serif',serif;font-style:italic;font-size:1.6rem;color:#8fa18b;line-height:1.2}.journey-steps h3{font-size:1.06rem;letter-spacing:-.02em;font-weight:600}.journey-steps p{font-size:.79rem;line-height:1.8;margin-top:8px}.gift-section{background:#21493d;padding-block:74px;color:#f9fbf4}.gift-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.gift-section .eyebrow{color:#b7cbb7;font-size:.61rem}.gift-section h2 em{color:#edbf88}.gift-section p:not(.eyebrow){color:#c8d9c9;font-size:.88rem;margin-top:24px;max-width:480px}.gift-action{display:flex;flex-direction:column;align-items:center}.gift-word{font-family:'Instrument Serif',serif;font-style:italic;font-size:5rem;color:#e5c18d;transform:rotate(-8deg);margin-bottom:20px}.gift-action>span:last-child{font-size:.64rem;color:#bdcfbf;margin-top:17px;text-align:center}.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:85px;align-items:start}.faq-list{border-top:1px solid #d9e0d2}.faq-list details{border-bottom:1px solid #d9e0d2}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:23px;font-size:.87rem;font-weight:600;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:1.35rem;font-weight:400;color:#7e9376;transition:transform .3s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>div{padding:0 25px 24px 0;animation:text-arrive .25s}.faq-list details p{font-size:.83rem;line-height:1.9}.discover-section{background:#f0f2eb}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:40px}.archive-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid #cfdaca;background:transparent;text-align:left;border-radius:7px;transition:background .3s,translate .3s;min-width:0}.archive-card:hover{background:#fcfcf8;translate:0 -4px}.archive-card>.eyebrow{font-size:.57rem;margin-bottom:28px}.archive-card h3{font-size:1.4rem;line-height:1.25}.archive-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.75rem;padding-top:40px;width:100%}.archive-bottom>span{font-size:1.3rem}
@media(min-width:701px){.offer-card>p,.offer-card li,.field>span,.choice-fieldset legend,.radio-card strong,.location-option,.form-actions .button,.summary-body dl,.form-hint,.journey-steps p,.summary-body .demo-badge p{font-size:.875rem}.offer-top{font-size:.65rem}.summary-body{padding:25px 22px}.summary-body dd{max-width:160px}}
@media(max-width:1100px){.booking-layout form{padding:30px 26px}.booking-layout{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr)}.purpose-options{grid-template-columns:1fr}.radio-card small{font-size:.72rem}.form-actions{flex-wrap:wrap}.form-actions>.button{margin-left:auto}.journey{gap:45px}.faq-section{gap:45px}.gift-inner{gap:35px}.location-image{height:250px}.archive-card{padding:23px}.archive-card h3{font-size:1.2rem}.archive-bottom{font-size:.68rem}}
@media(max-width:800px){.booking-layout{grid-template-columns:1fr}.order-summary{margin:0 28px 28px}.summary-image{display:none}.summary-body dl{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.booking-layout form{padding:32px 28px}.summary-body .eyebrow{font-size:.65rem}.summary-body h3{font-size:1.4rem}.journey{gap:35px}.journey-visual{min-height:580px}.journey-caption{left:24px}.gift-word{font-size:4rem}.gift-action .button{font-size:.77rem;gap:12px}.archive-grid{gap:13px}.archive-card{padding:23px 18px}}
@media(max-width:700px){.booking-progress{padding:20px 16px;gap:8px}.booking-progress li{font-size:.66rem;gap:7px}.booking-progress li>span{width:25px;height:25px;font-size:.58rem;flex-shrink:0}.booking-layout form{padding:28px 20px}.step-panel h3{font-size:1.6rem}.step-description{font-size:.84rem}.choice-fieldset legend,.field>span{font-size:.875rem}.radio-card strong{font-size:.875rem}.radio-card small{font-size:.77rem}.radio-card{padding:16px}.field input,.field select,.field textarea{font-size:1rem}.field-grid{gap:0 12px}.field-grid>.field{grid-column:1/-1}.field-grid>.field:has(#postcode){grid-column:auto}.field-grid>.field:has(#city){grid-column:auto}.location-option{font-size:.78rem;padding:12px}.location-options{gap:7px}.form-hint{font-size:.77rem}.form-actions{align-items:center}.form-actions>.form-hint{display:none}.form-actions>.button{font-size:.78rem;padding:15px 16px;gap:13px}.form-actions>.back-button{font-size:.74rem}.order-summary{margin:0 18px 22px}.summary-body{padding:23px 19px}.summary-body dl{display:block;font-size:.8rem}.summary-tax{font-size:.72rem}.summary-body .demo-badge p{font-size:.75rem}.demo-badge strong{font-size:.8rem}.checkbox-label{font-size:.83rem}.review-heading h4{font-size:.84rem}.review-heading button{font-size:.73rem}.review-block p{font-size:.85rem}.sample-button{font-size:.83rem}.gift-fields{padding-inline:14px}.location-grid{grid-template-columns:1fr;gap:22px;margin-top:30px}.location-image{height:240px}.location-content{padding:25px}.location-content h3{font-size:1.45rem}.location-content p:not(.eyebrow){font-size:.875rem}.location-content .eyebrow{font-size:.63rem}.journey{grid-template-columns:1fr;gap:35px}.journey-visual{min-height:340px}.journey-visual>img{object-position:50% 45%}.journey-caption p{font-size:1.75rem}.journey-copy h2 br{display:none}.journey-steps p{font-size:.875rem}.journey-steps{margin-top:30px}.gift-section{padding-block:55px}.gift-inner{grid-template-columns:1fr;gap:25px}.gift-section h2{font-size:2.45rem}.gift-section .eyebrow{line-height:1.8;max-width:230px}.gift-action{align-items:flex-start}.gift-word{display:none}.gift-action .button{font-size:.84rem}.gift-action>span:last-child{font-size:.7rem}.faq-section{grid-template-columns:1fr;gap:35px}.faq-list summary{font-size:.875rem;padding-block:22px}.faq-list details p{font-size:.875rem}.archive-grid{grid-template-columns:1fr;margin-top:30px;gap:15px}.archive-card{padding:26px}.archive-card>.eyebrow{font-size:.63rem;margin-bottom:22px}.archive-card h3{font-size:1.65rem}.archive-bottom{font-size:.8rem;padding-top:25px}.payment-note{font-size:.83rem}.payment-note p{font-size:.8rem}}
@media(max-width:370px){.header-book{display:none}.menu-toggle{margin-left:auto}.hero h1{font-size:3.3rem}.hero h1 em{display:block;margin-left:0}.hero-copy{padding-inline:22px}.booking-progress li{font-size:.6rem;gap:5px}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions>.button{margin:0}.back-button{text-align:left}.review-heading{flex-wrap:wrap;gap:0}}
/* Open, photographic arrival: the landscape is the canvas, not a card. */
.home .site-header:not(.is-scrolled){background:transparent;color:#fff;border-color:#ffffff20}.home .site-header:not(.is-scrolled) .header-book{background:#ffffff18;border-color:#ffffff66;backdrop-filter:blur(12px)}.home .site-header:not(.is-scrolled) .menu-toggle{border-color:#ffffff70}.home .site-header:not(.is-scrolled) .menu-toggle span{background:#fff}.hero{position:relative;display:block;margin:-96px 0 0;border-radius:0;min-height:780px;height:min(920px,100svh);max-width:none;overflow:hidden;background:#173f36}.hero-copy{position:relative;z-index:3;min-height:100%;width:49%;margin-left:51%;padding:175px max(45px,7vw) 100px 30px;justify-content:center;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(3.8rem,5.6vw,6rem);line-height:1.06;letter-spacing:-.045em}.hero h1 em{font-size:1.17em}.hero .eyebrow{font-size:.69rem;color:#d5e3d0}.hero-description{font-size:1rem;max-width:355px;color:#e0e9df}.hero-actions{gap:17px}.hero-note{margin-top:0;padding-top:30px;color:#cfddcc}.hero-image-wrap{position:absolute;inset:0;min-height:0;height:100%;z-index:1}.hero-image{object-position:center 52%;width:100%;height:100%;animation:image-arrive 2.1s cubic-bezier(.2,.65,.25,1) both}.hero-image-wrap:after{background:linear-gradient(90deg,#092b2300 10%,#092b2330 36%,#092b23bc 63%,#092b23ed 100%),linear-gradient(180deg,#0b2d2980 0%,transparent 34%,#0b2d2970 100%)}.location-pill{top:auto;right:auto;left:45px;bottom:120px;background:#ffffff16;color:#fff;border-color:#ffffff40;backdrop-filter:blur(12px);font-size:.78rem}.photo-caption{left:45px;right:auto;bottom:46px}.photo-caption>span:first-child{font-size:.61rem;color:#e1eade}.photo-caption p{font-family:'Instrument Serif',serif;font-style:italic;font-size:1.75rem;margin-top:6px}.photo-caption p br{display:none}.photo-index{display:none}.trust-strip{padding-block:35px}.nav-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:10px 0}.nav-more summary::-webkit-details-marker{display:none}.nav-more{position:relative}.mega-menu{position:absolute;right:-140px;top:50px;width:780px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;background:#fcfcf8f5;color:#284c3e;padding:30px;border:1px solid #dbe4d3;border-radius:9px;box-shadow:0 20px 55px #102d2525;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);animation:text-arrive .25s}.mega-menu>div{display:flex;flex-direction:column;align-items:flex-start}.mega-menu .eyebrow{font-size:.6rem;margin:0 0 15px}.mega-menu a{font-size:.82rem;padding:8px 0;white-space:normal}.mobile-nav{max-height:calc(100dvh - 110px);overflow:auto;color:#294d3e}.mobile-nav>details{border-bottom:1px solid #dfe4d8}.mobile-nav summary{display:flex;justify-content:space-between;cursor:pointer;padding:12px 0;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav details a{display:block;font-size:.86rem;padding:10px 14px;border:0}.business-teaser{display:grid;grid-template-columns:1.2fr 1fr;gap:75px;padding-block:85px;border-bottom:1px solid #dfe4d7}.business-teaser h2{font-size:clamp(2rem,3.5vw,3.2rem)}.business-teaser p:not(.eyebrow){margin-top:22px;max-width:490px;font-size:.9rem}.business-teaser .button{margin-top:25px}.business-options{display:flex;flex-direction:column;justify-content:center}.business-options>a{display:flex;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid #dce3d5}.business-options>a:last-child{border:0}.business-options>a>span:first-child{font:italic 1.5rem 'Instrument Serif',serif;color:#82957d}.business-options>a>span:last-child{margin-left:auto}.business-options h3{font-size:1.12rem;letter-spacing:-.02em}.business-options p{font-size:.77rem!important;margin-top:7px!important}
@media(max-width:1150px){.hero-copy{padding-right:35px;padding-left:20px;width:48%;margin-left:52%}.hero h1{font-size:4.5rem}.hero{min-height:780px}.mega-menu{width:710px;right:-115px;padding:25px;gap:20px}}
@media(max-width:940px){.hero-copy{width:52%;margin-left:48%;padding:145px 30px 95px 10px}.hero h1{font-size:4rem}.hero{min-height:790px}.hero-image-wrap:after{background:linear-gradient(90deg,#092b2310,#092b2350 35%,#092b23cf 73%),linear-gradient(180deg,#0b2d2980,transparent 40%,#0b2d2970)}.business-teaser{gap:40px}}
@media(max-width:700px){.hero{margin-top:-80px;min-height:900px;height:100svh;max-height:none}.hero-copy{width:auto;margin:0;padding:135px 28px 220px;justify-content:flex-start;min-height:900px}.hero h1{font-size:clamp(3.5rem,12vw,4.4rem);max-width:355px}.hero h1 em{display:block;margin:0}.hero .eyebrow{font-size:.62rem;margin-bottom:24px}.hero-description{font-size:.92rem;max-width:300px}.hero-actions{flex-direction:column;align-items:flex-start;gap:17px}.hero .button{padding:17px 21px;font-size:.85rem;gap:25px}.hero-note{font-size:.68rem;padding-top:26px}.hero-image{object-position:29% 50%;height:75%;top:auto;bottom:0;opacity:.9}.hero-image-wrap:after{background:linear-gradient(180deg,#123c33 0%,#123c33f2 20%,#123c33d9 40%,#123c3375 64%,#123c3320 80%,#123c3355 100%)}.location-pill{left:28px;bottom:65px;font-size:.73rem;padding:8px 13px}.photo-caption{left:28px;bottom:28px}.photo-caption p{display:none}.photo-caption>span:first-child{font-size:.6rem}.business-teaser{grid-template-columns:1fr;gap:28px;padding-block:60px}.business-teaser p:not(.eyebrow){font-size:.875rem}.business-teaser h2 br{display:none}.business-options>a{padding:20px 0}.business-options h3{font-size:1rem}.trust-strip{padding-block:30px}.home .site-header:not(.is-scrolled) .header-book{font-size:.66rem}}
/* Small screens get their own composition, with the photograph below the copy. */
@media(max-width:700px){
  .hero{height:auto;min-height:0;display:flex;flex-direction:column;background:#183d35}
  .hero-copy{width:100%;min-height:0;height:auto;padding:115px 24px 35px;margin:0}
  .hero .eyebrow{margin-bottom:21px;font-size:.59rem;letter-spacing:.13em}
  .hero h1{font-size:clamp(3.15rem,11vw,4.65rem);line-height:1.06;max-width:100%;letter-spacing:-.045em}
  .hero h1 em{font-size:1.1em;margin-top:4px}
  .hero-description{font-size:.92rem;line-height:1.8;margin-top:22px;max-width:370px}
  .hero-actions{margin-top:24px;gap:16px;flex-direction:row;align-items:center;flex-wrap:wrap}
  .hero .button{font-size:.8rem;padding:16px 20px;gap:19px;max-width:100%}
  .hero-secondary{font-size:.76rem;padding-block:6px}
  .hero-note{display:none}
  .hero-image-wrap{position:relative;inset:auto;width:100%;height:clamp(290px,80vw,450px);min-height:0;flex-shrink:0}
  .hero-image{inset:0;width:100%;height:100%;object-position:40% 58%;opacity:1}
  .hero-image-wrap:after{background:linear-gradient(180deg,#183d35 0%,#183d3520 20%,transparent 35%,#092b2370 100%)}
  .location-pill{left:24px;top:20px;bottom:auto;font-size:.7rem}
  .photo-caption{left:24px;bottom:23px;right:24px}
  .photo-caption>span:first-child{font-size:.56rem}
  .wrap{width:calc(100% - 40px)}
  .business-options>a{gap:14px}.business-options>a>div{min-width:0}
  h2{font-size:clamp(2rem,8.5vw,3.3rem);line-height:1.15}
  .gift-section h2{font-size:clamp(2.1rem,8.5vw,3rem)}
  .booking-layout form{min-width:0}.booking-progress li{min-width:0}
  .offer-top{flex-wrap:wrap}.offer-top>span:last-child{font-size:.57rem}
}
@media(max-width:370px){
  .hero-copy{padding-inline:22px;padding-top:112px;padding-bottom:30px}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:11px}
  .hero .button{width:100%;justify-content:space-between}
  .hero-description{font-size:.9rem}
  .location-pill,.photo-caption{left:22px}
  .offer-card{padding:23px}.offer-card .button{font-size:.75rem}
  .mobile-booking-bar{padding-inline:14px}.mobile-booking-bar .button{padding-inline:13px}
  .field-grid>.field:has(#postcode),.field-grid>.field:has(#city){grid-column:1/-1}
}

@media(max-width:940px){.site-header:not(.is-scrolled)+.mobile-nav{top:104px}}
@media(max-width:700px){.site-header:not(.is-scrolled)+.mobile-nav{top:88px}}

/* Focused navigation; the demo explanation lives at the decision points. */
.nav-more summary{white-space:nowrap}
.mega-menu.media-menu{grid-template-columns:1fr;width:305px;right:-28px;gap:0}
.mega-menu.more-menu{grid-template-columns:repeat(2,minmax(0,1fr));width:550px;right:-85px;gap:30px}
.mobile-nav>summary,.mobile-nav>details>summary{padding-inline:12px}
.mobile-nav-book{margin-top:10px;background:#214b3e;color:#fff;border-radius:5px;text-align:center;font-weight:600}
.demo-notice{display:flex;align-items:flex-start;gap:22px;padding:30px 34px;margin-bottom:48px;background:#f2e4ce;border:1px solid #ddbf90;border-left:4px solid #ac7733;border-radius:8px;color:#4b3924}
.demo-notice-icon{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid #a98450;border-radius:50%;font-family:Georgia,serif;font-size:1.3rem;font-style:italic;line-height:1}
.demo-notice .eyebrow{color:#77582e;font-size:.62rem;margin-bottom:12px}
.demo-notice h2{font-size:1.8rem;letter-spacing:-.025em;line-height:1.2}
.demo-notice p:not(.eyebrow){color:#6c5434;font-size:.9rem;line-height:1.85;margin-top:13px;max-width:840px}
.demo-notice-compact{padding:25px 30px;margin-bottom:36px}
.demo-notice-compact h2{font-size:1.45rem}
@media(max-width:1150px){.mega-menu.more-menu{right:-80px;width:525px;gap:25px}.mega-menu.media-menu{right:-35px}}
@media(max-width:700px){
  .mobile-nav{max-height:calc(100dvh - 104px)}
  .demo-notice{padding:23px 20px;gap:15px;flex-direction:column;margin-bottom:35px}
  .demo-notice-icon{width:28px;height:28px;font-size:1.1rem}
  .demo-notice .eyebrow{font-size:.58rem;line-height:1.7;margin-bottom:10px}
  .demo-notice h2{font-size:1.5rem}.demo-notice p:not(.eyebrow){font-size:.86rem;line-height:1.8}
  .demo-notice-compact h2{font-size:1.35rem}.demo-notice-compact{margin-bottom:30px}
}
.nav-more summary>span,.mobile-nav summary>span{display:inline-block;transition:transform .25s}
.nav-more[open]>summary>span{transform:rotate(180deg)}
.mobile-nav details[open]>summary>span{transform:rotate(45deg)}
