:root{--teal:#075d68;--ink:#183d40;--sand:#f8f5ed;--coral:#e77f64;--muted:#567376}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.65 system-ui,sans-serif}a{color:inherit;text-decoration:none}button,select,textarea,input{font:inherit}button,a,select{touch-action:manipulation}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--coral);outline-offset:5px}header{height:92px;display:flex;align-items:center;gap:28px;padding:0 5%;background:var(--sand)}.brand{display:flex;gap:10px;align-items:center;font:27px Georgia,serif;white-space:nowrap}.brand-icon{font-size:48px;color:var(--teal)}.brand small{display:block;font:9px/1.6 system-ui,sans-serif;letter-spacing:3px}nav{display:flex;gap:28px;margin-left:auto;font-size:13px}nav a:hover,.text-link:hover{color:var(--coral)}.language select{border:0;background:transparent;color:var(--ink);padding:8px;font-size:13px}.small-cta{padding:10px 19px;border:1px solid var(--teal);border-radius:4px;font-size:13px}.hero{height:min(740px,83vh);min-height:540px;position:relative;color:white;margin:0 18px;overflow:hidden;border-radius:6px}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 56%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,35,43,.73),rgba(2,35,43,.08) 85%)}.hero-copy{position:absolute;top:50%;left:7%;transform:translateY(-50%);max-width:630px}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:650;margin:0 0 24px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-2px}h1{font-size:clamp(48px,5.8vw,85px);margin:0 0 25px}h2{font-size:clamp(36px,4vw,55px);margin:0 0 26px}.hero-copy>p:not(.eyebrow){max-width:420px;font-size:16px;line-height:1.8;margin-bottom:30px}.button{display:inline-block;padding:14px 28px;border-radius:4px;font-size:14px;font-weight:600;transition:transform .2s}.button:hover{transform:translateY(-3px)}.cream{background:var(--sand);color:var(--teal)}.teal{background:var(--teal);color:white}.coral{background:var(--coral);color:#172f32}.hero-note{position:absolute;bottom:24px;left:7%;font-size:11px;letter-spacing:1px}.scroll{position:absolute;right:5%;bottom:22px;font-size:26px}.amenity-strip{display:flex;justify-content:center;gap:48px;padding:30px 5%;border-bottom:1px solid #d9e1d9;font-size:12px}.amenity-strip span:before{content:'✧';margin-right:12px;color:var(--teal)}.section{max-width:1240px;margin:auto;padding:95px 6%}.stay{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:100px}.stay-copy>p:not(.eyebrow),.location p{color:var(--muted)}.features{padding:12px 0;margin:0 0 22px;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:13px}.features li:before{content:'✓';color:var(--teal);margin-right:9px}.text-link{font-size:14px;border-bottom:1px solid #a2b8af;padding-bottom:6px}.stay-photo{margin:0;position:relative}.stay-photo img{width:100%;height:510px;object-fit:cover;border-radius:110px 5px 5px 5px}.stay-photo figcaption{position:absolute;bottom:20px;left:20px;right:20px;background:var(--sand);padding:12px;text-align:center;font:italic 17px Georgia,serif}.gallery-section{padding-bottom:85px;background:#edf1e9}.gallery-top{display:flex;justify-content:space-between;align-items:end;padding-top:70px;padding-bottom:20px;gap:30px}.gallery-top h2{margin-bottom:10px}.gallery-top>p{font-size:14px;color:var(--muted)}.filters{display:flex;gap:12px;justify-content:center;padding:15px 16px 30px}.filters button{border:1px solid #c0d1c9;border-radius:30px;padding:9px 20px;background:transparent;color:var(--teal);cursor:pointer;font-size:12px}.filters .active{background:var(--teal);border-color:var(--teal);color:white}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1440px;margin:auto;padding:0 3%}.photo-grid button{border:0;padding:0;cursor:pointer;position:relative;overflow:hidden;border-radius:4px;background:#c9dad4;height:260px}.photo-grid button:first-child{grid-column:span 2;grid-row:span 2;height:534px}.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.photo-grid button:hover img{transform:scale(1.035)}.photo-grid span{position:absolute;bottom:0;left:0;right:0;padding:35px 15px 12px;background:linear-gradient(transparent,#002c3baa);color:white;text-align:left;font-size:12px}.location{display:grid;grid-template-columns:.8fr 1fr;gap:90px;align-items:center}.location>img{width:100%;height:470px;object-fit:cover;border-radius:5px 5px 100px 5px}.distances{display:flex;gap:25px;border-top:1px solid #c9d6cc;border-bottom:1px solid #c9d6cc;margin:25px 0 30px;padding:12px 0}.distances strong{display:block;font:26px Georgia,serif;color:var(--teal)}.distances span{display:block;font-size:11px}.news-section{background:#e9eee5}.news-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:65px;padding-bottom:65px}.news-layout h2{margin:0}.news-body{white-space:pre-wrap;color:var(--muted);overflow-wrap:anywhere}.booking{text-align:center;padding-top:85px;padding-bottom:85px}.booking>p{color:var(--muted)}.booking-buttons{display:flex;gap:14px;justify-content:center;margin:30px 0 24px}.contact{display:flex;flex-wrap:wrap;justify-content:center;gap:25px;font-size:13px}.contact a{text-decoration:underline;text-underline-offset:5px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d5dfd5;padding:30px 5%;font-size:11px}footer .brand{font-size:22px}dialog{border:0;padding:55px 65px 35px;background:#092f35;color:white;width:96vw;max-width:1500px;height:94dvh;max-height:94dvh}dialog::backdrop{background:#001b24e8}dialog[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}dialog img{max-width:100%;max-height:calc(94dvh - 150px);object-fit:contain;min-height:0}dialog button{background:transparent;border:0;color:white;cursor:pointer;font-size:40px}.lightbox-bar{position:absolute;top:8px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.previous,.next{position:absolute;top:45%;padding:10px}.previous{left:5px}.next{right:5px}#photo-caption{font-size:13px;margin:12px 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){header{gap:12px}nav{gap:16px}.small-cta{display:none}.language{margin-left:auto}.stay,.location{gap:35px}.photo-grid{grid-template-columns:repeat(3,1fr)}.amenity-strip{gap:20px}.features{grid-template-columns:1fr}.distances{gap:12px}}@media(max-width:600px){header{height:76px;padding:0 5%}.brand{font-size:23px}nav{display:none}.hero{margin:0 10px;min-height:550px;height:78svh}.hero-copy{left:7%;right:7%}.hero-copy h1{font-size:50px}.hero-shade{background:linear-gradient(90deg,#02232bc9,#02232b35)}.eyebrow{font-size:9px;letter-spacing:1.8px}.amenity-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:11px}.section{padding:60px 7%}.stay,.location,.news-layout{grid-template-columns:1fr;gap:30px}.stay-photo img{height:450px}.features{grid-template-columns:1fr 1fr;font-size:12px}.gallery-top{display:block;padding-bottom:10px}.gallery-top>p{margin-bottom:0}.filters{gap:6px}.filters button{padding:8px 14px;font-size:11px}.photo-grid{grid-template-columns:1fr 1fr;gap:8px;padding:0 4%}.photo-grid button{height:210px}.photo-grid button:first-child{grid-row:auto;height:280px}.location>img{height:360px}.distances{justify-content:space-between}.news-layout h2 br{display:none}.booking-buttons{gap:10px}.button{padding:13px 21px}footer{flex-wrap:wrap}footer>span{order:3;width:100%}dialog{padding:50px 35px 30px}.previous{left:0}.next{right:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.offseason{align-items:start}.offseason p{color:var(--muted)}.offseason h3{font:24px/1.3 Georgia,serif;color:var(--teal);margin:8px 0 12px}.offseason h3:not(:first-child){margin-top:30px}.enquiry{max-width:860px;padding-top:30px}.enquiry>p,.privacy{color:var(--muted)}.enquiry form{position:relative}.enquiry label{display:block;margin:18px 0;font-size:14px}.enquiry input,.enquiry textarea{display:block;width:100%;padding:12px;border:1px solid #9bb7b1;background:white;border-radius:4px;color:var(--ink);font:inherit}.enquiry textarea{resize:vertical}.enquiry button{border:0;cursor:pointer}.enquiry button:disabled{opacity:.55;cursor:wait}.bot-field{position:absolute;left:-10000px;top:0;width:1px;height:1px;overflow:hidden}.privacy{font-size:12px}#contact-status{min-height:1.7em}
