@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');:root{--ink:#24342f;--muted:#64726b;--accent:#35685b;--pale:#f3f6f2;--line:#dfe7e2;--cream:#fbfaf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{text-decoration:none;color:inherit}img{display:block;width:100%;object-fit:cover}button{font:inherit;cursor:pointer}.container{max-width:1250px;padding:0 28px;margin:auto}.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:12}.nav{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:25px}.brand{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;line-height:1.2}.brand span{display:block;font:11px/1.2 'DM Sans',sans-serif;letter-spacing:2.4px;color:var(--accent);margin-top:5px;text-transform:uppercase}.links{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:100px;background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:700;transition:.2s}.btn:hover{background:#234b40}.btn.outline{background:transparent;color:var(--accent)}.btn.outline:hover{background:#e9f1ec}.hero{position:relative;min-height:510px;display:flex;align-items:center;color:white;background:#243e37;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;opacity:.57}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,32,26,.78),transparent 90%)}.hero .container{position:relative;z-index:1;width:100%;padding-top:65px;padding-bottom:65px}.eyebrow{text-transform:uppercase;letter-spacing:2.7px;font-size:11px;font-weight:700;color:#bddbcc}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.18;margin:0 0 16px}h1{font-size:clamp(42px,5.6vw,75px);max-width:780px}h2{font-size:clamp(31px,3.5vw,46px)}h3{font-size:25px}.hero p{font-size:18px;max-width:640px;color:#e8f0eb}.section{padding:88px 0}.heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:30px}.heading p,.lede{color:var(--muted);max-width:640px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(25,47,36,.045)}.card-image{height:260px;overflow:hidden}.card-image img{height:100%;transition:transform .3s}.card:hover .card-image img{transform:scale(1.04)}.card-body{padding:25px}.location{color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:1.8px}.card p{color:var(--muted);font-size:14px;min-height:70px}.facts{display:flex;flex-wrap:wrap;gap:10px 16px;padding:18px 0;border-top:1px solid var(--line);font-size:13px;color:#45564d}.card .btn{width:100%}.banner{background:#eaf0e9;padding:48px 0}.banner-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.banner p{color:#52665a;margin:0}footer{background:#203b31;color:#d7e3db;padding:40px 0;font-size:13px}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.detailhead{padding:65px 0 25px}.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:20px}.detailhead h1{font-size:clamp(35px,4vw,58px)}.detailhead p{color:var(--muted)}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:175px 175px;gap:10px;border-radius:20px;overflow:hidden}.gallery button{border:0;padding:0;position:relative;overflow:hidden;background:#e7eae7}.gallery button:first-child{grid-row:span 2}.gallery img{height:100%;transition:.2s}.gallery button:hover img{transform:scale(1.035)}.viewall{position:absolute;right:15px;bottom:15px;color:#fff;background:#182f2bcc;padding:10px 15px;border-radius:10px;font-weight:700}.details{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:65px;padding-top:50px;padding-bottom:85px}.features{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.pill{border-radius:40px;background:var(--pale);padding:10px 16px;font-size:13px;font-weight:700}.divider{height:1px;background:var(--line);margin:35px 0}.booking{align-self:start;position:sticky;top:105px;background:#fff;border-radius:18px;border:1px solid var(--line);padding:26px;box-shadow:0 14px 45px #203b3112}.booking .btn{width:100%}.booking small{display:block;text-align:center;color:var(--muted);margin-top:12px}.booking label{font-size:12px;font-weight:700;display:block;margin:12px 0 5px}.booking input,.booking select{width:100%;border:1px solid #ccd8d0;border-radius:9px;padding:11px;font:inherit;background:#fff}.booking .notice{font-size:13px;color:#67736b;line-height:1.5}.photobox{position:fixed;inset:0;z-index:50;background:#08130fee;display:none;align-items:center;justify-content:center;flex-direction:column;padding:60px 15px}.photobox.open{display:flex}.photobox img{width:auto;max-width:95vw;max-height:77vh;object-fit:contain;border-radius:8px}.photobox .close,.photobox .prev,.photobox .next{position:absolute;background:#ffffffee;border:0;border-radius:100px;width:43px;height:43px;font-weight:700;font-size:24px}.photobox .close{right:20px;top:20px}.photobox .prev{left:22px;top:50%}.photobox .next{right:22px;top:50%}.photobox .count{color:#fff;margin-top:14px}.mobile-menu{display:none}@media(max-width:850px){.grid{grid-template-columns:1fr 1fr}.details{grid-template-columns:1fr}.booking{position:static}.gallery{grid-template-rows:140px 140px}.links{gap:14px}}@media(max-width:600px){.container{padding:0 18px}.links a:not(.btn){display:none}.nav{min-height:70px}.brand{font-size:19px}.links .btn{font-size:12px;padding:9px 13px;min-height:39px}.hero{min-height:460px}.section{padding:55px 0}.grid{grid-template-columns:1fr}.card-image{height:245px}.card p{min-height:0}.heading,.banner-inner{display:block}.banner-inner .btn{margin-top:20px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 105px}.gallery button:first-child{grid-column:span 2;grid-row:span 1}.gallery button:nth-child(n+4){display:none}.detailhead{padding-top:40px}.details{gap:25px}.photobox .prev{left:5px}.photobox .next{right:5px}}