@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--ink:#17201c;--cream:#f2efe8;--paper:#fbfaf6;--green:#183e35;--line:#d7d2c7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(251,250,246,.94);position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.brand{font-weight:600;letter-spacing:.15em;text-decoration:none;color:inherit}nav{display:flex;gap:28px;align-items:center}nav a{text-decoration:none;color:inherit;font-size:14px}.pill{border:1px solid var(--ink);padding:10px 16px;border-radius:30px}.hero{height:calc(100vh - 76px);min-height:620px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.08))}.hero-copy{position:absolute;left:7vw;bottom:10vh;max-width:760px}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:600;margin:0 0 24px}.hero h1,.intro h2,.copy h2,.sectionhead h2,.details h2,.enquire h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:.96;margin:0}.hero h1{font-size:clamp(56px,7vw,105px)}em{font-weight:500}.hero-copy>p:not(.eyebrow){font-size:18px;margin:28px 0}.btn{display:inline-block;padding:14px 20px;text-decoration:none;margin:0 8px 8px 0}.light{background:var(--cream);color:var(--ink)}.ghost{border:1px solid rgba(255,255,255,.8);color:white}.intro{padding:120px 8vw;display:grid;grid-template-columns:1fr 1.5fr;gap:40px}.intro h2{font-size:clamp(44px,5vw,76px)}.lead{font-size:21px;line-height:1.7;max-width:680px}.split{display:grid;grid-template-columns:1.15fr 1fr;min-height:720px;background:var(--cream)}.split.reverse{grid-template-columns:1fr 1.15fr}.split.reverse .photo{order:2}.photo img{width:100%;height:100%;object-fit:cover}.copy{padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}.copy h2{font-size:clamp(44px,5vw,72px);margin-bottom:30px}.copy p{line-height:1.8;font-size:17px}.dark{background:var(--green);color:white}.facts{display:flex;gap:30px;margin:25px 0 35px}.facts span{font-size:13px}.facts b{display:block;font-family:'Playfair Display';font-size:38px}.textlink{color:inherit;font-weight:600}.gallery{padding:120px 5vw}.sectionhead{max-width:800px;margin:0 auto 60px;text-align:center}.sectionhead h2{font-size:clamp(46px,5vw,74px)}.grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:12px}.grid img{width:100%;height:100%;object-fit:cover}.grid .wide{grid-column:span 2}.details{background:#e8e3d9;padding:110px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.details h2{font-size:clamp(46px,5vw,72px)}.muted{line-height:1.8;color:#59615d;max-width:500px}.rooms h3{font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin:32px 0 8px}.rooms p{display:flex;justify-content:space-between;border-bottom:1px solid #c8c1b5;padding:12px 0;margin:0;gap:20px}.rooms span{white-space:nowrap}.enquire{padding:130px 8vw;text-align:center;background:var(--ink);color:white}.enquire h2{font-size:clamp(58px,7vw,96px)}.enquire>p:not(.eyebrow){font-size:18px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:850px;margin:50px auto}.choices a{background:white;color:var(--ink);padding:28px;text-decoration:none;text-align:left}.choices b,.choices span{display:block}.choices b{font-family:'Playfair Display';font-size:30px;margin-bottom:8px}.choices span{font-size:13px}footer{padding:28px 5vw;display:flex;justify-content:space-between;font-size:12px}.enquire small{opacity:.65}@media(max-width:800px){header{height:64px}.brand{font-size:13px}nav a:not(.pill){display:none}.hero{height:78vh;min-height:560px}.hero-copy{left:6vw;right:6vw}.intro,.split,.split.reverse,.details{grid-template-columns:1fr}.intro{padding:80px 6vw}.split.reverse .photo{order:0}.photo{height:480px}.copy{padding:80px 7vw}.grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.grid .wide{grid-column:span 2}.gallery{padding:80px 4vw}.details{padding:80px 7vw}.choices{grid-template-columns:1fr}.enquire{padding:90px 6vw}footer{gap:15px;flex-direction:column}}
