@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500&display=swap');
:root{--stone:#eee9df;--paper:#f8f5ee;--olive:#7c8465;--olive-dark:#596247;--charcoal:#2d312b;--ink:#292d27;--muted:#77796e;--line:#d8d1c4;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}a{color:inherit}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9ba57a;outline-offset:4px}.skip-link{position:absolute;top:-60px;left:16px;background:white;padding:10px;z-index:100}.skip-link:focus{top:12px}
.site-header{height:76px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:rgba(238,233,223,.96);position:relative;z-index:10;border-bottom:1px solid rgba(45,49,43,.08)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:26px var(--serif);letter-spacing:-.7px}.brand-mark{width:34px;height:34px;border:1px solid var(--olive);border-radius:50%;display:grid;place-items:center;color:var(--olive);font-size:22px}.nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px)}.nav a,.footer nav a{text-decoration:none;font-size:13px}.nav a:not(.nav-cta):hover,.footer nav a:hover{color:var(--olive-dark)}.nav-cta{padding:11px 17px;border-radius:30px;background:var(--olive);color:white;font-weight:600}.menu-toggle{display:none}
.hero{min-height:610px;height:min(73vw,760px);max-height:760px;position:relative;background:#6b685b url('assets/hero-room.webp') center 53%/cover no-repeat;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,30,25,.82) 0%,rgba(27,30,25,.55) 38%,rgba(27,30,25,.04) 78%),linear-gradient(0deg,rgba(20,22,19,.22),transparent 45%)}.hero-copy{position:relative;margin-left:clamp(24px,8vw,130px);max-width:610px;padding:70px 24px 70px 0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700;color:var(--olive-dark);margin:0 0 17px}.eyebrow.light{color:#e9e6d9}.hero h1{font:clamp(52px,7vw,92px)/.99 var(--serif);letter-spacing:-.055em;margin:0 0 22px;font-weight:400}.hero-lede{font:clamp(16px,1.5vw,20px)/1.55 var(--serif);max-width:430px;color:#f0eee8;margin:0 0 32px}.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;border:0;border-radius:40px;padding:15px 23px;text-decoration:none;font-weight:600;font-size:13px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-olive{background:var(--olive);color:white}.button-olive:hover{background:var(--olive-dark)}.button-dark{background:var(--charcoal);color:white}.button-dark:hover{background:var(--olive-dark)}.hero-note{position:absolute;right:clamp(20px,5vw,70px);bottom:25px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#f3f0e8}
.section-wrap{padding:clamp(60px,8vw,112px) clamp(20px,7vw,105px)}.rooms{display:grid;grid-template-columns:minmax(180px,.7fr) 2fr;gap:clamp(30px,5vw,72px);align-items:start}.section-intro h2,.story-copy h2,.enquiry h2,.faq h2{font:clamp(36px,4vw,54px)/1.1 var(--serif);font-weight:400;letter-spacing:-.035em;margin:0 0 17px}.section-intro>p:not(.eyebrow){max-width:260px;color:#62645b;font-size:14px}.filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:27px}.filter-btn{border:1px solid #c9c6b8;border-radius:24px;padding:8px 12px;background:transparent;color:#55594d;font-size:11px;cursor:pointer}.filter-btn.is-active,.filter-btn:hover{background:var(--charcoal);color:white;border-color:var(--charcoal)}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.room-card{min-width:0}.room-image{height:clamp(170px,22vw,280px);position:relative;overflow:hidden;border-radius:3px;background:#d3c9b8}.room-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.room-card:hover .room-image img{transform:scale(1.035)}.room-number{position:absolute;left:13px;top:12px;background:rgba(45,49,43,.78);color:white;padding:5px 8px;font-size:9px;letter-spacing:.12em}.room-info{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:15px 0 7px}.room-info h3{font:22px var(--serif);margin:0 0 3px}.room-info p{margin:0;color:#77796e;font-size:11px}.rate{text-align:right;white-space:nowrap;padding-top:5px}.rate strong{font-size:16px;color:var(--charcoal)}.rate span{font-size:10px}.text-link{display:inline-flex;align-items:center;gap:9px;border:0;background:none;padding:7px 0;color:var(--olive-dark);font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.empty-state{grid-column:2;color:var(--muted);padding:25px;border:1px dashed var(--line)}.inline-reset{border:0;background:none;text-decoration:underline;color:var(--olive-dark);cursor:pointer}
.story{display:grid;grid-template-columns:1.1fr .9fr;min-height:490px;background:#e4dfd3}.story-image{min-height:430px;overflow:hidden}.story-image img{width:100%;height:100%;object-fit:cover;display:block}.story-copy{padding:clamp(45px,7vw,100px) clamp(30px,7vw,100px);align-self:center}.story-copy>p:not(.eyebrow){color:#62645b;max-width:440px;font-size:14px}.feature-list{padding:0;list-style:none;margin:25px 0}.feature-list li{padding:8px 0;border-bottom:1px solid #d1cabb;font-size:12px}.feature-list li:before{content:'—';color:var(--olive);margin-right:12px}.dark-link{color:var(--charcoal)}
.enquiry{background:var(--paper);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,7vw,100px);align-items:start}.enquiry-heading>p:not(.eyebrow){font-size:13px;color:#73756a;max-width:330px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px}.field label{display:block;font-size:11px;font-weight:700;margin-bottom:7px}.field input,.field select{width:100%;min-height:47px;border:1px solid #d5d0c4;background:#fffdf8;border-radius:2px;padding:10px 12px;color:var(--ink)}.field-error{display:block;color:#9b4437;font-size:11px;min-height:17px;padding-top:3px}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}.form-hint{font-size:10px;color:#77796e;max-width:270px}.form-status{min-height:24px;margin:12px 0 0;font-size:12px;color:var(--olive-dark)}.form-status.error{color:#9b4437}
.summary-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,8vw,110px);padding-top:30px;padding-bottom:90px}.summary-card{background:#e4dfd3;padding:27px;border:1px solid #d7d0c2;align-self:start}.summary-top{display:flex;justify-content:space-between;align-items:center}.summary-top .eyebrow{margin:0}.sample-tag{font-size:9px;letter-spacing:.12em;border:1px solid var(--olive);padding:4px 7px;color:var(--olive-dark)}.summary-card h2{font:32px var(--serif);font-weight:400;margin:13px 0 5px}.summary-room{font-weight:700;margin:0}.summary-detail{font-size:12px;color:#707267;margin:4px 0 20px}.summary-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cfc8b9;padding-top:16px;font-size:11px}.summary-total strong{font-size:21px}.summary-total small{font-size:10px;font-weight:400}.summary-disclaimer{font-size:10px;color:#77796e}.reset-link{margin-top:8px}.faq h2{font-size:38px;margin-bottom:22px}.faq details{border-top:1px solid #d4cec1;padding:17px 0}.faq details:last-child{border-bottom:1px solid #d4cec1}.faq summary{cursor:pointer;font-size:13px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:20px;font-weight:400;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{max-width:600px;font-size:12px;color:#6f7167;margin:12px 25px 0 0}
.footer{background:var(--charcoal);color:#e9e5d9;padding:35px clamp(20px,5vw,75px) 22px}.footer-main{display:flex;align-items:center;gap:40px;padding-bottom:25px;border-bottom:1px solid rgba(238,233,223,.24)}.footer-brand{font-size:25px}.footer-brand .brand-mark{border-color:#b7b99e;color:#b7b99e}.footer nav{display:flex;gap:25px}.footer nav a{color:#e9e5d9}.back-top{margin-left:auto;text-decoration:none;font-size:11px;color:#c9cbb9}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:17px;font-size:10px;color:#c4c5b8}.footer-bottom p{margin:0}.footer-bottom span{font:italic 14px var(--serif)}
@media(max-width:900px){.rooms{grid-template-columns:1fr}.section-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.section-intro .eyebrow,.section-intro h2{grid-column:1}.section-intro>p:not(.eyebrow){grid-column:2;grid-row:2;align-self:center}.filters{grid-column:1/-1;margin-top:10px}.room-grid{gap:12px}.story{grid-template-columns:1fr 1fr}.enquiry{grid-template-columns:1fr;gap:25px}.summary-faq{gap:30px}}
@media(max-width:640px){.site-header{height:66px;padding:0 20px}.brand{font-size:23px}.menu-toggle{display:flex;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:16px;height:1px;background:var(--charcoal)}.nav{display:none;position:absolute;top:65px;left:0;right:0;padding:18px 22px 22px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;gap:0;box-shadow:0 12px 20px #25271f12}.nav.is-open{display:flex;flex-direction:column}.nav a{padding:12px 4px}.nav .nav-cta{margin-top:9px;text-align:center;padding:12px}.hero{height:650px;min-height:0;max-height:760px;background-position:58% center;align-items:flex-end}.hero-shade{background:linear-gradient(0deg,rgba(24,27,22,.86),rgba(24,27,22,.28) 72%,rgba(24,27,22,.08))}.hero-copy{margin:0;padding:0 23px 75px}.hero h1{font-size:clamp(48px,13vw,68px)}.hero-lede{font-size:17px;max-width:330px}.hero-note{left:23px;right:auto;bottom:20px;font-size:9px}.section-wrap{padding:58px 21px}.rooms{gap:25px}.section-intro{display:block}.section-intro h2{font-size:43px}.section-intro>p:not(.eyebrow){margin:0;max-width:310px}.filters{margin-top:20px}.room-grid{grid-template-columns:1fr;gap:28px}.room-image{height:clamp(210px,65vw,310px)}.room-info h3{font-size:24px}.room-info p{font-size:12px}.story{grid-template-columns:1fr}.story-image{min-height:280px;height:65vw;max-height:390px}.story-copy{padding:45px 24px 54px}.story-copy h2{font-size:42px}.enquiry{gap:18px}.enquiry h2{font-size:42px}.form-grid{grid-template-columns:1fr 1fr;gap:13px 10px}.field input,.field select{font-size:12px;padding:9px 8px;min-height:45px}.form-bottom{align-items:flex-start;flex-direction:column}.form-bottom .button{width:100%}.summary-faq{grid-template-columns:1fr;padding-top:10px;padding-bottom:60px}.summary-card{padding:22px}.footer-main{flex-wrap:wrap;gap:18px}.footer-brand{width:100%}.footer nav{gap:17px;flex-wrap:wrap}.back-top{margin-left:auto}.footer-bottom{flex-direction:column;gap:9px}.footer-bottom span{align-self:flex-end}}
@media(max-width:380px){.hero h1{font-size:47px}.section-wrap{padding-left:17px;padding-right:17px}.form-grid{grid-template-columns:1fr}.room-info{gap:5px}.rate strong{font-size:15px}.footer nav{gap:12px}.footer nav a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
