:root{--paper:#f5f1e9;--paper2:#fbf8f2;--ink:#403029;--olive:#526455;--olive-dark:#334238;--line:rgba(64,48,41,.18);--clay:#a56f55;--display:"Italiana",Didot,serif;--cs:"Bodoni Moda",serif;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:300 1rem/1.72 var(--sans)}img{width:100%;height:100%;display:block;object-fit:cover}a{color:inherit}.nav{height:78px;position:fixed;z-index:20;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;background:rgba(245,241,233,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{font:400 1.5rem var(--display);text-decoration:none;letter-spacing:.03em}.nav nav{display:flex;gap:30px}.nav nav a,.langs button{font:500 .7rem var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none}.langs{justify-self:end}.langs button{border:0;border-bottom:1px solid transparent;background:none;padding:8px 6px;opacity:.45;cursor:pointer}.langs button.active{opacity:1;border-color:currentColor}.hero{min-height:100svh;padding-top:78px;position:relative}.hero>img{position:absolute;inset:78px 0 0;height:calc(100% - 78px);filter:brightness(.72)}.hero-copy{position:relative;z-index:1;min-height:calc(100svh - 78px);display:flex;flex-direction:column;justify-content:flex-end;padding:10vh 8vw;color:#fff;max-width:880px}.eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin:0 0 18px}.hero h1,.intro h2,.house h2,.coming h2,.gather h2,.help h2,.guide-link h2{font:400 clamp(3.5rem,7vw,8rem)/.92 var(--display);letter-spacing:-.02em;margin:0}.hero-copy>p:last-child{font-size:1.12rem;max-width:580px;margin:30px 0 0}.intro{padding:150px 7vw;text-align:center;max-width:1100px;margin:auto}.intro>p:last-of-type{max-width:680px;margin:38px auto}.capacity{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:55px}.capacity strong{font:400 3.5rem var(--display)}.capacity span{max-width:125px;text-align:left;font-size:.78rem;line-height:1.35}.capacity i{height:50px;width:1px;background:var(--line);margin:0 24px}.houses{border-top:1px solid var(--line)}.house{display:grid;grid-template-columns:1.12fr .88fr;min-height:760px;border-bottom:1px solid var(--line)}.house.reverse{grid-template-columns:.88fr 1.12fr}.house.reverse .photo{order:2}.house .copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center;position:relative}.house .copy>p:not(.eyebrow){max-width:510px;margin:32px 0}.number{position:absolute;top:45px;right:45px;color:#8a8c86;font-size:.75rem}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{border:1px solid var(--line);padding:7px 12px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.coming{padding:140px 7vw;background:#e8e7df}.coming-head{max-width:880px;margin-bottom:80px}.coming-head>p:last-child{max-width:650px;margin-top:35px}.coming-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.future{min-height:480px;padding:60px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.future.salvia{background:#b9c0ad}.future.rosmarino{background:#879388;color:#fff}.future h3{font:400 clamp(3rem,5vw,5rem) var(--display);margin:0 0 20px}.future p:last-child{max-width:430px}.botanical{position:absolute;right:25px;top:-60px;font:400 20rem/1 var(--display);opacity:.12}.gather{display:grid;grid-template-columns:1fr 1fr;min-height:760px}.gather-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.gather-copy p:last-child{max-width:540px;margin-top:35px}.help{padding:130px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:var(--paper2)}.help h2{font-size:clamp(3.2rem,5vw,5.5rem)}.help>div:last-child{padding-top:35px;font-size:1.05rem}.guide-link{padding:150px 7vw;text-align:center;background:var(--olive-dark);color:#fff}.guide-link a{display:inline-block;margin-top:50px;padding-bottom:8px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;text-decoration:none;border-bottom:1px solid}footer{padding:85px 7vw 35px}.footer-brand{font:400 2.5rem var(--display)}footer p{margin:16px 0 50px}footer small{display:block;border-top:1px solid var(--line);padding-top:22px}body[data-lang="cs"] h1,body[data-lang="cs"] h2,body[data-lang="cs"] h3{font-family:var(--cs)}
@media(max-width:850px){.nav{grid-template-columns:1fr auto}.nav nav{display:none}.house,.house.reverse,.gather,.help{grid-template-columns:1fr}.house.reverse .photo{order:0}.house .photo,.gather-photo{height:68vh;min-height:500px}.house{min-height:0}.house .copy{padding:90px 25px}.coming-grid{grid-template-columns:1fr}.help{gap:35px}.hero-copy{padding:9vh 25px}.intro,.coming,.help,.guide-link{padding-left:25px;padding-right:25px}.capacity{gap:10px}.capacity i{margin:0 7px}}
@media(max-width:520px){.nav{height:68px;padding:0 16px}.brand{font-size:1.15rem}.hero{padding-top:68px}.hero>img{inset:68px 0 0;height:calc(100% - 68px)}.hero-copy{min-height:calc(100svh - 68px)}.langs button{padding:7px 4px}.intro{padding-top:105px;padding-bottom:105px}.coming{padding-top:105px;padding-bottom:105px}.future{padding:36px;min-height:420px}.capacity span{font-size:.68rem}.capacity strong{font-size:2.8rem}}

/* Editorial house galleries and orientation map */
.slider{position:relative;overflow:hidden;background:var(--olive-dark)}
.slides{position:absolute;inset:0}
.slides img{position:absolute;inset:0;opacity:0;transition:opacity .65s ease;pointer-events:none}
.slides img.active{opacity:1;pointer-events:auto}
.slide-prev,.slide-next{position:absolute;z-index:2;top:50%;width:46px;height:46px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(41,44,40,.28);color:#fff;font-size:1.2rem;cursor:pointer;backdrop-filter:blur(5px);transform:translateY(-50%);transition:background .2s ease}
.slide-prev:hover,.slide-next:hover{background:rgba(41,44,40,.58)}
.slide-prev{left:24px}.slide-next{right:24px}
.slide-count{position:absolute;z-index:2;right:24px;bottom:22px;padding:6px 11px;background:rgba(41,44,40,.5);color:#fff;font-size:.68rem;letter-spacing:.12em;backdrop-filter:blur(5px)}
.facts{display:flex;flex-wrap:wrap;gap:0;margin:0 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts span{min-width:92px;padding:16px 18px 14px 0;margin-right:18px;display:flex;flex-direction:column}
.facts strong{font:400 1.65rem var(--display);line-height:1}
.facts small{margin-top:7px;font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;color:#6b6e68}
.estate-map{padding:140px 7vw;background:var(--paper2)}
.map-copy{display:grid;grid-template-columns:.8fr 1.25fr 1fr;gap:5vw;align-items:start;margin-bottom:65px}
.map-copy h2{font:400 clamp(3.2rem,5vw,6rem)/.95 var(--display);letter-spacing:-.02em;margin:0}
.map-copy>p:last-child{margin:8px 0 0;max-width:480px}
.estate-map figure{margin:0}.estate-map figure img{height:auto;aspect-ratio:1.91/1;object-fit:cover}
.estate-map figcaption{margin-top:14px;text-align:right;color:#777a74;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}
.slides img,.life-grid img,.help-photo{filter:saturate(.88) contrast(.97) brightness(1.025)}
.olivia-house .slides img{filter:saturate(.7) contrast(.93) brightness(1.06) sepia(.06)}
.slider{touch-action:pan-y}.slide-prev:focus-visible,.slide-next:focus-visible{outline:2px solid #fff;outline-offset:4px}
.life,.rates{padding:100px 7vw}.life>p{max-width:620px}.life h2,.rates h2{font:400 clamp(2.8rem,5vw,5.5rem)/1.1 var(--display);margin:24px 0}
.life-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:45px}.life-grid img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover}.life-grid .wide{grid-column:1/-1;aspect-ratio:2.5/1;max-height:520px}
.help-photo{width:100%;height:clamp(360px,44vw,620px);object-fit:cover;object-position:center 58%;grid-column:1/-1;margin-top:30px}
.rates{background:var(--paper2)}.rates table{width:100%;max-width:850px;border-collapse:collapse;margin-top:35px}.rates th,.rates td{padding:22px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}.rates td,.rates th:last-child{text-align:right}.rates td{font:400 2rem var(--display)}.rates thead{font-size:14px}.cleaning{max-width:850px;display:flex;justify-content:space-between;gap:20px}.rate-note{max-width:750px;font-size:14px;color:#62675f}.estate-map figure img{aspect-ratio:auto;object-fit:contain}
@media(max-width:700px){.life,.rates{padding:70px 25px}.life-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.life-grid .wide{aspect-ratio:1.5/1}.nav nav{gap:10px}.rates th{max-width:220px}}
@media(max-width:850px){.map-copy{grid-template-columns:1fr}.estate-map{padding:100px 25px}.slider{height:68vh;min-height:500px}.slide-prev{left:14px}.slide-next{right:14px}}
@media(max-width:520px){.facts span{min-width:78px;margin-right:8px}.slide-prev,.slide-next{width:40px;height:40px}.estate-map figure{margin-left:-25px;margin-right:-25px}.estate-map figcaption{padding-right:15px}}
.contact{display:flex;flex-direction:column;align-items:center;gap:12px;margin:32px 0 45px}.contact a{color:inherit;font-size:16px;overflow-wrap:anywhere}.contact p{margin:0 0 8px}

.availability{padding:135px 7vw;background:var(--paper2)}.availability h2{font:400 clamp(3.15rem,6.3vw,7.1rem)/.94 var(--display);letter-spacing:-.02em;margin:0}.availability-intro{max-width:570px;margin:30px 0 44px}.availability-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.availability-tabs button{border:1px solid var(--line);background:transparent;color:var(--ink);font:500 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:11px 15px;cursor:pointer}.availability-tabs button.active{background:var(--olive-dark);color:#fff;border-color:var(--olive-dark)}.calendar-legend{display:flex;gap:18px;margin:0 0 28px;font:500 .61rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#777a74}.calendar-legend span{display:inline-flex;align-items:center;gap:7px}.calendar-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-open{border:1px solid var(--line);background:#fdfbf7}.legend-occupied{background:#967464}.availability-calendar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:880px}.calendar-month{padding:24px;border:1px solid var(--line);background:rgba(253,251,247,.48)}.calendar-month h3{font:400 2rem var(--display);margin:0 0 18px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-week span{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:#777a74;text-align:center}.calendar-day{aspect-ratio:1;display:grid;place-items:center;border:1px solid transparent;font-size:.8rem}.calendar-day.free{border-color:var(--line);background:#fdfbf7}.calendar-day.blocked{background:#967464;color:#fff;border-color:#967464;text-decoration:none}.calendar-day.past{border-color:transparent;background:transparent;color:#a7a09a;opacity:.52}.calendar-day.empty{opacity:0}.availability-note{font-size:.8rem;color:#777a74;margin:24px 0 0}.availability-note strong{color:var(--ink);font-weight:500}@media(max-width:700px){.availability{padding:90px 25px}.availability-calendar{grid-template-columns:1fr;gap:20px}.availability-tabs button{padding:10px 12px;font-size:.64rem}.calendar-month{padding:18px}}
.calendar-controls{display:flex;justify-content:center;gap:14px;max-width:880px;margin:2px auto 30px}.calendar-controls button{width:36px;height:36px;border:1px solid rgba(64,48,41,.24);border-radius:50%;background:transparent;color:#65564e;font:400 1rem/1 var(--sans);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.calendar-controls button:hover:not(:disabled),.calendar-controls button:focus-visible{border-color:var(--olive-dark);background:var(--olive-dark);color:#fff;outline:none}.calendar-controls button:disabled{cursor:default;opacity:.25}
.calendar-day.free{cursor:pointer;transition:background .2s,color .2s,border-color .2s}.calendar-day.free:hover,.calendar-day.free:focus-visible,.calendar-day.selected{background:var(--olive-dark);border-color:var(--olive-dark);color:#fff;outline:none}.calendar-day.range{background:#dfe5dc;border-color:#c5cec1;color:var(--ink)}
.stay-enquiry{max-width:880px;margin:86px 0 0;padding-top:44px;border-top:1px solid var(--line)}.enquiry-heading{max-width:560px}.enquiry-heading h3{font:400 clamp(2.3rem,4vw,4rem)/1 var(--display);margin:0}.enquiry-heading>p:last-child{margin:20px 0 0;max-width:510px}.enquiry-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px}.enquiry-fields label{display:flex;flex-direction:column;gap:9px;font:500 .66rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase}.enquiry-fields input,.enquiry-fields select,.enquiry-fields textarea{width:100%;appearance:none;border:1px solid var(--line);border-radius:0;background:#fdfbf7;color:var(--ink);padding:13px 14px;font:400 .95rem/1.35 var(--sans);letter-spacing:0;text-transform:none}.enquiry-fields textarea{resize:vertical}.enquiry-full{grid-column:1/-1}.enquiry-footer{display:flex;align-items:flex-start;gap:24px;margin-top:28px}.enquiry-footer button{flex:0 0 auto;border:1px solid var(--olive-dark);background:var(--olive-dark);color:#fff;padding:14px 20px;font:500 .68rem/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s}.enquiry-footer button:hover,.enquiry-footer button:focus-visible{background:var(--ink);border-color:var(--ink);outline:none}.enquiry-footer p,.enquiry-status{margin:0;font-size:.78rem;line-height:1.55;color:#777a74;max-width:440px}.enquiry-status{margin-top:18px;color:var(--olive-dark)}
.enquiry-footer a{color:var(--ink);text-underline-offset:4px}.enquiry-footer button:disabled{cursor:wait;opacity:.7}.booking-terms{max-width:880px;margin-top:52px;padding:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking-terms h3{margin:0;font:400 clamp(1.8rem,3vw,2.8rem)/1 var(--display)}.booking-terms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;margin-top:28px}.booking-terms-grid p{margin:0;font-size:.88rem;line-height:1.6}.booking-terms-note{margin:26px 0 0;color:#777a74;font-size:.78rem;line-height:1.5}@media(max-width:600px){.booking-terms{margin-top:42px;padding:26px 0}.booking-terms-grid{grid-template-columns:1fr;gap:16px}}

/* A quieter editorial scale for the principal headings. */
.hero h1,.intro h2,.house h2,.coming h2,.gather h2,.help h2,.guide-link h2{font-size:clamp(3.15rem,6.3vw,7.1rem)!important;line-height:.94}
.future h3{font-size:clamp(2.7rem,4.5vw,4.5rem)}
.help h2,.map-copy h2{font-size:clamp(2.9rem,4.5vw,5rem)!important}
.life h2,.rates h2{font-size:clamp(2.55rem,4.5vw,5rem)!important}

/* Mobile: give the editorial sections room to breathe and keep controls touch-friendly. */
@media(max-width:700px){
  .hero-copy{padding-bottom:72px}
  .intro{padding-top:96px;padding-bottom:96px}
  .house .copy{padding:76px 28px}
  .house .copy>p:not(.eyebrow){margin:26px 0 36px}
  .facts{margin-bottom:34px}
  .facts span{padding-top:18px;padding-bottom:17px}
  .coming-head{margin-bottom:48px}
  .future{margin-bottom:4px}
  .gather-copy{padding:76px 28px}
  .gather-copy p:last-child{margin-top:28px}
  .help{padding-top:88px;padding-bottom:88px;gap:44px}
  .help>div:last-child{padding-top:0}
  .estate-map{padding-top:88px;padding-bottom:88px}
  .map-copy{margin-bottom:44px;gap:28px}
  .availability{padding-top:92px;padding-bottom:98px}
  .availability h2{margin-bottom:34px}
  .availability-intro{margin:0 0 42px}
  .availability-tabs{gap:12px;margin-bottom:42px}
  .availability-tabs button{min-height:44px;padding:11px 14px}
  .availability-calendar{gap:38px}
  .stay-enquiry{margin-top:68px;padding-top:36px}.enquiry-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}.enquiry-footer{flex-direction:column;gap:14px}.enquiry-footer button{min-height:46px;width:100%}
  .life,.rates{padding-top:82px;padding-bottom:82px}
}
@media(max-width:520px){
  .hero-copy{padding:82px 24px 66px}
  .house .copy,.gather-copy{padding:66px 24px}
  .house .copy>p:not(.eyebrow){margin:24px 0 32px}
  .facts{margin-bottom:30px}
  .coming,.help,.estate-map,.availability,.life,.rates{padding-left:24px;padding-right:24px}
  .coming{padding-top:86px;padding-bottom:86px}
  .coming-head{margin-bottom:40px}
  .future{padding:32px 26px;min-height:390px}
  .map-copy{margin-bottom:36px}
  .availability h2{margin-bottom:30px}
  .availability-tabs{margin-bottom:36px}
  .enquiry-fields{grid-template-columns:1fr}.enquiry-full{grid-column:auto}.stay-enquiry{margin-top:58px}.enquiry-heading h3{font-size:2.35rem}
}

/* Clear visual pause between the availability heading and the house selector. */
.availability h2{margin:0 0 96px}
@media(max-width:700px){.availability h2{margin-bottom:56px}}
@media(max-width:520px){.availability h2{margin-bottom:46px}}

/* Quiet utility rows and map explanation match the rest of the rate/map typography. */
.cleaning{font:400 1rem/1.5 var(--sans);letter-spacing:0}
.cleaning strong{font:400 1rem/1.5 var(--display);letter-spacing:0}
.registry-codes{display:flex;flex-wrap:wrap;gap:7px;align-items:baseline;margin:18px 0 0;color:#6b6e68;font:500 .66rem/1.5 var(--sans);letter-spacing:.08em}
.registry-codes span{color:var(--olive);text-transform:uppercase}
.registry-codes b{color:inherit;font-weight:500}
.registry-codes i{font-style:normal;opacity:.45}
@media(max-width:520px){.registry-codes{gap:5px;margin-top:16px;font-size:.6rem}}
.estate-map figure>p{max-width:780px;margin:24px auto 0;text-align:center;font-size:1rem;line-height:1.7}
@media(max-width:520px){.estate-map figure>p{max-width:calc(100% - 48px);margin:22px auto 0;text-align:center;font-size:.98rem}}

/* Mobile navigation: all sections remain one tap away. */
.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);width:42px;height:42px;padding:11px 8px;cursor:pointer}
.menu-toggle span{display:block;height:1px;background:currentColor;margin:6px 0;transition:transform .2s ease}
@media(max-width:850px){
  .nav{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
  .nav nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 25px 22px;background:rgba(245,241,233,.98);border-bottom:1px solid var(--line);box-shadow:0 14px 26px rgba(64,48,41,.08)}
  .nav.open nav{display:flex;flex-direction:column;align-items:flex-start;gap:17px}
  .nav nav a{font-size:.72rem}
  .menu-toggle{display:block}
  .nav.open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .nav.open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
}
@media(max-width:520px){.nav nav{padding:18px 24px 22px}.langs button{font-size:.64rem;letter-spacing:.1em}}

/* Dates mirror the availability calendar and cannot be typed manually. */
.enquiry-fields input.enquiry-date{cursor:pointer;background:#f8f6f0}
.enquiry-fields input.enquiry-date:focus{outline:1px solid var(--olive-dark);outline-offset:2px}
.enquiry-date-help{margin:12px 0 0;color:#777a74;font-size:.76rem;line-height:1.5}

/* The booking form uses the same live availability data as the main calendar. */
.enquiry-calendar-wrap{margin-top:28px;border-top:1px solid var(--line);padding-top:20px}
.availability>.stay-enquiry{margin-top:0}
.enquiry-calendar-legend{justify-content:center;margin:0 0 16px}
.enquiry-calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.enquiry-calendar-controls p{margin:0;color:#777a74;font:500 .62rem/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-align:center}
.enquiry-calendar-controls button{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font:400 1rem/1 var(--sans);cursor:pointer}
.enquiry-calendar-controls button:disabled{opacity:.3;cursor:default}
.enquiry-calendar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.enquiry-calendar-month{padding:16px;border:1px solid var(--line);background:#fdfbf7}
.enquiry-calendar-month h4{margin:0 0 13px;font:400 1.35rem var(--display);text-align:center}
.enquiry-calendar-week,.enquiry-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.enquiry-calendar-week span{padding-bottom:4px;color:#777a74;font:500 .5rem var(--sans);letter-spacing:.06em;text-align:center;text-transform:uppercase}
.enquiry-calendar-day{aspect-ratio:1;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--ink);font:400 .72rem var(--sans)}
.enquiry-calendar-day.free{border-color:var(--line);background:#fff;cursor:pointer}.enquiry-calendar-day.free:hover,.enquiry-calendar-day.free:focus-visible,.enquiry-calendar-day.selected{background:var(--olive-dark);border-color:var(--olive-dark);color:#fff;outline:none}
.enquiry-calendar-day.range{background:#dfe5dc;border-color:#c5cec1;color:var(--ink)}.enquiry-calendar-day.blocked{background:#967464;border-color:#967464;color:#fff}.enquiry-calendar-day.past{color:#aaa39d;opacity:.48}.enquiry-calendar-day.empty{opacity:0}
@media(max-width:600px){.enquiry-calendar{grid-template-columns:1fr}.enquiry-calendar-month{padding:15px}.enquiry-calendar-day{font-size:.78rem}.enquiry-calendar-week span{font-size:.55rem}}

/* Direct enquiries and guest voices: one quiet, usable route into booking. */
.nav-cta{color:var(--olive-dark)!important;border-bottom:1px solid var(--olive-dark);padding-bottom:4px}
.guest-voices{padding:118px 7vw;background:var(--olive-dark);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px 9vw;align-items:end}.guest-voices h2{margin:0;font:400 clamp(3rem,5.4vw,6rem)/.94 var(--display);letter-spacing:-.02em}.voice-summary{display:grid;gap:4px;justify-items:end;text-align:right}.voice-summary p,.voice-summary span{margin:0;font:.68rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.78}.voice-summary strong{font:400 2.3rem/1 var(--display)}.voice-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3)}.voice-grid figure{min-height:196px;margin:0;padding:32px 30px 30px;border-right:1px solid rgba(255,255,255,.3);display:flex;flex-direction:column;justify-content:space-between}.voice-grid figure:last-child{border-right:0}.voice-grid blockquote{margin:0;font:400 clamp(1.5rem,2.2vw,2.2rem)/1.08 var(--display)}.voice-grid figcaption{margin-top:30px;font:.68rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.72}.voice-link{grid-column:1/-1;justify-self:start;color:#fff;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:7px;font:.68rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.booking-flow{max-width:880px;margin-top:70px;padding-top:34px;border-top:1px solid var(--line)}.booking-flow h3{margin:0;font:400 clamp(2rem,3.5vw,3.4rem)/1 var(--display)}.booking-flow ol{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking-flow li{min-height:148px;padding:22px 22px 22px 0;display:flex;flex-direction:column;gap:18px;border-right:1px solid var(--line)}.booking-flow li+li{padding-left:22px}.booking-flow li:last-child{border-right:0}.booking-flow li span{color:var(--olive);font:500 .65rem var(--sans);letter-spacing:.13em}.booking-flow li p{max-width:215px;margin:0;font-size:.88rem;line-height:1.55}
@media(max-width:850px){.nav.open nav .nav-cta{margin-top:4px}.guest-voices{padding:88px 25px}.voice-grid{grid-template-columns:1fr}.voice-grid figure{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.3)}.voice-grid figure:last-child{border-bottom:0}.booking-flow{margin-top:54px}}
@media(max-width:600px){.guest-voices{grid-template-columns:1fr;gap:32px}.voice-summary{justify-items:start;text-align:left}.voice-grid figure{padding:28px 0}.booking-flow ol{grid-template-columns:1fr}.booking-flow li,.booking-flow li+li{min-height:auto;padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.booking-flow li:last-child{border-bottom:0}.booking-flow li p{max-width:none}}
