.booking-page{padding-block:var(--section-space);background:var(--surface)}.booking-hero,.booking-page{padding-block:clamp(2.25rem,5vw,4rem)}.booking-hero{isolation:isolate;position:relative;overflow:hidden;container-type:inline-size}.booking-hero>.section-shell{z-index:1;position:relative}.booking-hero-photo{z-index:0;pointer-events:none;width:min(80%,72rem);height:clamp(15rem,28vw,23rem);margin:0;position:absolute;top:0;right:0}.booking-hero-photo picture{width:100%;height:100%;display:block}.booking-hero-photo img{object-fit:cover;object-position:center 43%;width:100%;height:100%}.booking-hero h1,.booking-hero .booking-intro{z-index:1;text-shadow:0 1px 2px #091c10eb,0 2px 9px #091c10ad;position:relative}.booking-page{padding-bottom:0;overflow:hidden}.booking-hero h1{max-width:14ch;margin-bottom:.8rem;font-size:clamp(2.6rem,9vw,4.5rem)}.booking-hero .booking-intro{max-width:52rem;font-size:clamp(1.05rem,2.2vw,1.25rem);font-weight:400}.booking-category-grid{gap:.65rem;width:100%;margin-top:clamp(1.5rem,4vw,2.5rem)}.booking-hero .booking-category-card{--ui-surface-padding:1rem;min-height:13.5rem;color:var(--ink);flex-direction:column;display:flex;margin-top:0!important}.booking-hero .booking-category-card:before{content:none}.booking-category-number{letter-spacing:.15em;font-size:.7rem;font-weight:850;display:block}.booking-category-card .category-illustration-frame{width:5rem;height:5rem;top:2.35rem;right:50%;transform:translate(50%)}.booking-category-copy{flex-direction:column;flex:1;display:flex}.booking-category-card h2{max-width:none;margin:6rem 0 .55rem;font-size:clamp(1.1rem,2vw,1.35rem);line-height:.95}.booking-title-leading,.booking-category-card .category-title-final-line{white-space:nowrap}.booking-hero .booking-category-card p{max-width:none;margin:auto 0 0;font-size:.68rem;font-weight:750;line-height:1.35}.booking-hero .booking-category-card p:before{content:none}.booking-layout{z-index:2;grid-template-columns:minmax(0,1fr);gap:3rem;display:grid;position:relative}.booking-layout>*{min-width:0}.booking-form{background:0 0;border:0;gap:1.15rem;padding:0;display:grid}.booking-closing-photo{z-index:1;height:clamp(14rem,32vw,25rem);margin:-50px 0 0;position:relative;overflow:hidden}.booking-closing-photo img{object-fit:cover;object-position:center;width:100%;height:100%}.booking-closing-photo:after{content:"";background:linear-gradient(180deg, var(--surface) 0 18%, #fff9e7f5 30%, #fff9e7c7 44%, #fff9e77a 58%, #fff9e733 70%, transparent 84%);pointer-events:none;position:absolute;inset:0}.form-row{gap:1rem;display:grid}.masked-date-control{position:relative}.date-picker-trigger{width:3.5rem;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;inset-block:0;inset-inline-end:0}.date-picker-trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.45rem;height:1.45rem}.date-picker-native{opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:absolute;bottom:0;right:0}.contact-card{color:var(--surface);background:var(--ink);align-self:start}.contact-card h2{margin-bottom:3.25rem;font-size:2.35rem}.contact-card .contact-email{font-size:1.25rem}.contact-card .contact-location{opacity:.78}.contact-card a{font-weight:800}.category-context{border-left:3px solid var(--accent);background:var(--surface);margin-bottom:1rem}@media (width>=760px){.booking-hero-photo{aspect-ratio:16/9;width:auto;height:auto;top:0;bottom:0;right:-220px;overflow:visible}.booking-hero-photo picture{position:absolute;inset:0}.booking-hero-photo img{object-fit:contain;object-position:center;width:100%;max-width:none;height:100%;max-height:none;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 calc(100% - 270px) 100%);mask-image:linear-gradient(90deg,#0000 0,#000 calc(100% - 270px) 100%)}.form-row{grid-template-columns:repeat(2,1fr)}.booking-form .form-row{align-items:start}.booking-layout>div{flex-direction:column;min-height:0;display:flex}.booking-form{flex:1}.booking-form>.g-btn{justify-self:start;inline-size:calc(50% - .5rem)}.booking-layout{grid-template-columns:minmax(0,1fr) minmax(250px,.42fr)}.contact-card{align-self:stretch}.booking-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.65rem,1.5vw,1rem);margin-top:calc(clamp(1.5rem,4vw,2.5rem) + 100px)}.booking-hero .booking-category-card{min-height:18.75rem}.booking-category-card .category-illustration-frame{width:6.25rem;height:6.25rem}.booking-category-card h2{margin-top:7.25rem;font-size:clamp(1.32rem,2.4vw,1.62rem)}.booking-category-card:nth-child(2){--paper-offset-x:-3px}.booking-hero{padding-block:1.5rem}.booking-hero p:last-child{max-width:60rem}.booking-page{padding-block:1.5rem 0}.booking-layout{gap:2rem}.booking-form{gap:.75rem}.booking-form .field{gap:.25rem}.booking-form .field textarea{min-height:7rem}.booking-closing-photo{margin-top:-30px}}@media (width<=759px){.booking-hero-photo{opacity:.6;width:100%;height:auto;bottom:calc(105cqi + 1rem);-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000014 20%,#0000007a 56%,#000 84%);mask-image:linear-gradient(90deg,#0000 0%,#00000014 20%,#0000007a 56%,#000 84%)}.booking-hero-photo:before{z-index:1;content:"";background:linear-gradient(#263a28b8,#263a283d 52%,#0000 100%);height:clamp(1.75rem,8vw,2.5rem);position:absolute;top:0;left:0;right:0}.booking-hero-photo img{object-position:64% 40%;transform:translate(40px)}.booking-page{padding-top:1rem}.booking-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:max(3px,clamp(.4rem,2.5vw,.65rem)/2 - 1px) max(0px,clamp(.4rem,2.5vw,.65rem) - 11px);container-type:inline-size}.booking-hero .booking-category-card{--ui-surface-padding:.55rem;aspect-ratio:auto;height:calc(52.5cqi + 11.2px);min-height:0}.booking-category-number{font-size:.6rem}.booking-hero .booking-category-card:after{font-size:1rem;bottom:.4rem;right:.5rem}.booking-category-card .category-illustration-frame{aspect-ratio:1;width:clamp(3rem,34.5%,3.375rem);height:auto;top:.5rem;right:.55rem;transform:none}.booking-category-copy{text-align:left;flex-direction:column;display:flex;position:absolute;inset:70px .55rem calc(.1rem + 8px)}.booking-category-card h2{overflow-wrap:normal;max-width:none;font-family:var(--serif);hyphens:none;letter-spacing:1px;text-wrap:wrap;word-break:normal;margin:0;font-size:calc(clamp(.72rem,3.35vw,.82rem) + 3pt);font-weight:700;line-height:calc(.8em + 5px)}.booking-category-card h2:before{content:"";float:right;width:3.5rem;height:calc(.8em + 4px)}.booking-category-card[data-category=festival] h2:before{height:calc(.8em + 7px)}.booking-mobile-title-part{display:block}.booking-hero .booking-category-card p{color:#263a28c7;font-family:var(--sans);margin-top:auto;padding-inline-end:1.5rem;font-size:calc(clamp(.55rem,2.5vw,.66rem) + 3pt);font-weight:400;line-height:calc(.9em + 2px);display:block}}@media (width<=350px){.booking-category-grid{width:calc(100% + 1.5rem);margin-inline:-.75rem}.booking-hero .booking-category-card{min-height:calc(12.95rem + 11.2px)}.booking-hero-photo{bottom:28.925rem}}
