@font-face{font-family:Outfit;src:url('assets/outfit-variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--sans:Outfit,Arial,sans-serif;--serif:Outfit,Arial,sans-serif}
body{font-weight:400;line-height:1.85}
.brand>span{font-family:Fraunces,Georgia,serif;font-weight:400}
.brand small{font-family:var(--sans)}
h1,h2,h3{font-weight:400;letter-spacing:-.035em;line-height:1.25}
h1 em,h2 em,.photo-note em,.closing h2 em,.hero[data-season=evening] h1 em{font-style:normal;font-weight:inherit;color:inherit}
h2{font-size:clamp(28px,3vw,44px)}
.hero h1{font-size:clamp(48px,4.9vw,74px);font-weight:400;letter-spacing:-.04em;line-height:1.15;text-transform:none}
.hero-copy{max-width:44%}
.hero-description{font-size:14px;font-weight:400;line-height:1.95}
.eyebrow,.tiny-label{font-weight:500;letter-spacing:.12em}
.header nav{gap:25px}
.header nav a{font-size:12px;font-weight:500}
.header .header-book{font-size:12px;font-weight:500}
.button,.text-link{font-weight:500}
.button{gap:22px;font-size:12px}
.hero-booking .button{font-size:12px}
.booking-intro strong{font-size:16px;font-weight:500;line-height:1.5}
.mini-fact b{font-size:11px;font-weight:500}
.mini-fact small{font-size:8px}
.intro-text .lead{font-size:20px;line-height:1.65;font-weight:400}
.intro h2,.comfort h2{font-size:clamp(40px,4.2vw,62px);line-height:1.16;letter-spacing:-.04em}
.comfort-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;border:0;padding-top:0;margin-top:40px}
.comfort-feature{display:flex;align-items:center;gap:14px;min-width:0;padding:22px 18px;border:1px solid #dce2d5;border-radius:14px;background:#eef0e6;color:var(--ink)}
.comfort-feature svg{width:29px;height:29px;flex:none;stroke-width:1.35;color:#51664d}
.comfort-feature span{font-size:12px;font-weight:400;line-height:1.5}
.comfort-strip span:before{content:none}
@media(max-width:1000px){.comfort-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.photo-note p{font-size:clamp(32px,3.5vw,49px);line-height:1.3;font-weight:500}
.amenities h3{font-size:13px}
.place h3{font-size:25px;font-weight:500}
.price-from strong{font-size:43px;font-weight:500}
.booking-form h3{font-size:24px;font-weight:500}
.faq h2{font-size:34px}
.closing h2{font-size:clamp(29px,3.5vw,49px)}
.enquiry-dialog h2,.calendar-dialog h2{font-size:29px}
.footer-top{grid-template-columns:1.1fr 1fr 1.1fr}
.footer-top>div{min-width:0}
.footer-top>div:last-child>a{overflow-wrap:anywhere}
.hero .hero-booking{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,.9fr) auto;gap:26px;align-items:center;min-height:126px;padding:25px 30px;border:1px solid #ffffffd9;border-radius:27px;background:#fffff8f2;box-shadow:0 12px 40px #2943370a}
.hero .booking-intro .tiny-label{font-size:9px;letter-spacing:.11em;margin-bottom:7px}
.hero .booking-intro strong{font-size:22px;font-weight:400;line-height:1.3;display:block}
.hero .mini-fact{gap:15px}
.hero .mini-fact svg{width:32px;height:32px;flex:none;stroke-width:1.35}
.hero .mini-fact b{font-size:18px;font-weight:500;line-height:1.4}
.hero .mini-fact small{font-size:12px;line-height:1.5;margin-top:3px}
.hero .hero-booking .button{min-height:59px;padding:12px 15px 12px 25px;border-radius:999px;gap:23px;font-size:14px;font-weight:500}
.hero .hero-booking .button>span{display:flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:50%;background:#ffffff13;font-size:22px}
@media(min-width:801px) and (max-width:1100px){.hero .hero-booking{gap:19px;padding:22px;min-height:120px}.hero .booking-intro strong{font-size:19px}.hero .mini-fact{gap:10px}.hero .mini-fact b{font-size:16px}.hero .mini-fact small{font-size:10px}.hero .hero-booking .button{font-size:12px;padding-left:18px;gap:13px}}
@media(max-width:800px){.hero .hero-booking{grid-template-columns:1fr 1fr;gap:22px;padding:25px;border-radius:24px}.hero .booking-intro{grid-column:1/-1;display:flex;padding-bottom:18px}.hero .hero-booking .button{grid-column:1/-1;justify-content:space-between;width:100%}.hero .booking-intro strong{font-size:20px}}
@media(max-width:520px){.hero .hero-booking{gap:20px 15px;padding:22px;border-radius:24px}.hero .booking-intro{display:none}.hero .mini-fact{gap:10px}.hero .mini-fact svg{width:27px;height:27px}.hero .mini-fact b{font-size:17px}.hero .mini-fact small{font-size:10px}.hero .hero-booking .button{font-size:14px;min-height:55px;padding:10px 12px 10px 21px}.hero .hero-booking .button>span{width:31px;height:31px}}
@media(min-width:1600px){.hero h1{font-size:clamp(74px,4.6vw,88px)}}
@media(min-width:801px) and (max-width:1100px){
  .header nav{gap:15px}.header nav a{font-size:9px}
  .hero h1{font-size:clamp(39px,4.7vw,51px)}
  .hero-copy{max-width:45%}
  .booking-intro strong{font-size:13px}
  .hero-booking{gap:15px;padding:20px}
  .hero-booking .button{font-size:9px;gap:15px}
}
@media(max-width:800px){
  .hero-copy{max-width:none}
  .hero h1{font-size:clamp(43px,7.8vw,62px)}
  .header nav a{font-size:11px}
  .booking-intro strong{font-size:14px}
  h2,.wellness h2{font-size:32px}
  .section-top>p{line-height:1.9}
}
@media(max-width:520px){
  .hero h1{font-size:clamp(39px,11.5vw,55px);line-height:1.17;letter-spacing:-.04em}
  .hero-copy .eyebrow{font-size:7px}
  .hero-description{font-size:12px;line-height:1.9}
  .header .header-book{font-size:10px;gap:10px}
  h2,.wellness h2,.faq h2{font-size:27px;line-height:1.35}
  .intro-text .lead{font-size:18px}
  .intro h2,.comfort h2{font-size:clamp(34px,9.6vw,46px);line-height:1.18}
  .comfort-strip{gap:10px;margin-top:30px}
  .comfort-feature{flex-direction:column;align-items:flex-start;gap:13px;padding:18px 15px;border-radius:12px}
  .comfort-feature span{font-size:12px}
  .photo-note p{font-size:30px}
  .booking-form h3{font-size:19px}
  .booking-form>.form-row{grid-template-columns:1fr;gap:0}
  .booking-form .button{font-size:9px;gap:12px;white-space:normal}
  .place h3{font-size:22px}
  .footer-top{grid-template-columns:1fr;gap:30px}
  .footer-top .brand{grid-column:auto}
  .enquiry-dialog h2,.calendar-dialog h2{font-size:23px}
}
