@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#203e32;--muted:#5d7163;--paper:#f3f6ef;--cream:#e2ebdc;--line:#cedaca;--olive:#3e654d;--gold:#597a50}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(3.4rem,6vw,6.8rem);line-height:1.08}h2{font-size:clamp(2.5rem,4vw,4.2rem);line-height:1.17}h1 em{font-weight:400;color:#4e7550}a{color:inherit;text-decoration:none}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:700;letter-spacing:.15em}.brand i,.footer-brand i{font-family:Georgia,serif;font-weight:400}.mark{border:1px solid var(--ink);width:37px;height:37px;display:grid;place-items:center;font-family:Georgia,serif;font-size:24px;font-weight:400}.nav nav{display:flex;align-items:center;gap:29px;font-size:12px;font-weight:600}.nav-book{background:var(--ink);color:white;padding:13px 17px}.nav button{background:none;border:0;font-weight:700;cursor:pointer;color:var(--ink)}.hero{min-height:670px;display:grid;grid-template-columns:1fr 47%;gap:4%;padding:55px 6% 70px}.hero-copy{align-self:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--gold);margin-bottom:23px}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.9;color:var(--muted);max-width:490px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.btn{border:0;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;padding:17px 24px;font-size:13px;font-weight:700;font-family:inherit}.primary{background:var(--olive);color:#fff}.primary:hover{background:#344632}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #8b927f;padding-bottom:6px}.hero-stats{display:flex;gap:18px;margin-top:58px;color:var(--muted);font-size:11px;letter-spacing:.03em}.hero-stats span+span{border-left:1px solid #c5c5b9;padding-left:18px}.hero-image{position:relative;min-height:570px;background:#d6ccbd}.placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(145deg,#b9b8a2,#e4d7c5 48%,#aeb6a6);color:#fff;gap:18px}.placeholder span{font-family:Georgia,serif;font-size:160px;opacity:.45}.placeholder small{font-size:12px;letter-spacing:.06em;text-align:center}.image-tag{position:absolute;bottom:23px;left:25px;color:white;font-size:10px;letter-spacing:.16em}.intro{padding:110px 9%;text-align:center;background:#e2ebdc}.intro>p:not(.eyebrow){color:var(--muted);line-height:1.9;max-width:620px;margin:0 auto 65px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.feature-grid article{border-top:1px solid #c8c4b9;padding-top:25px}.feature-icon{font-size:28px;color:var(--gold)}h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:24px;margin-top:15px}.feature-grid p{color:var(--muted);line-height:1.8;font-size:13px}.booking-section{padding:100px 9%}.booking-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.booking-heading p:not(.eyebrow){max-width:580px;color:var(--muted);line-height:1.7;font-size:14px}.test-badge{border:1px solid #8da483;color:#496641;padding:9px 13px;font-size:10px;font-weight:700;letter-spacing:.1em;white-space:nowrap}.booking-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;margin-top:36px}.booking-form,.quote{border:1px solid var(--line);padding:34px;background:#fbfdf8}.booking-form label{display:flex;flex-direction:column;gap:10px;font-size:12px;font-weight:700;margin-bottom:22px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}input,select{font:inherit;color:var(--ink);background:#fff;border:1px solid #d8d7ce;padding:15px;width:100%;min-width:0}.full{width:100%}.fineprint,.muted{font-size:12px;color:var(--muted);line-height:1.7}.fineprint{margin:15px 0 0}.quote{display:flex;flex-direction:column}.quote-bottom{margin-top:auto;padding-top:35px}.quote-bottom p{font-size:12px;color:var(--muted)}.quote-bottom button{width:100%;padding:16px;border:1px solid var(--line);background:#e8e7e1;color:#8a8a84;cursor:not-allowed}.price-line{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.price-line.total{font-size:20px;font-weight:700;border:0;margin-top:8px}.location{display:grid;grid-template-columns:1fr 1fr;min-height:420px;background:#dce8d7}.location>div:first-child{padding:95px 12% 80px 18%}.location p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted)}.location-art{background:#6c8a6b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.location-art span{font:italic 90px Georgia,serif;color:#f1f1e9;letter-spacing:.15em}.location-art small{letter-spacing:.2em;color:#e8eee3}.faq{max-width:850px;padding:95px 25px 120px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{cursor:pointer;font-size:15px;font-weight:600}.faq details p{margin:17px 0 0;color:var(--muted);line-height:1.7;font-size:14px}footer{background:var(--ink);color:#f2efe6;padding:65px 9%;display:flex;justify-content:space-between;gap:30px;align-items:flex-start}footer p{font-size:13px;color:#bdc7bb}.footer-brand{font-size:22px;letter-spacing:.1em;font-weight:700}.footer-brand small{display:block;margin-top:13px;font-size:10px;letter-spacing:.2em;font-weight:400}.footer-links{display:flex;flex-direction:column;gap:15px;font-size:12px;color:#bdc7bb}@media(max-width:850px){.nav{padding:0 5%;height:75px}.nav nav{gap:12px}.nav nav a:not(.nav-book){display:none}.hero{grid-template-columns:1fr;padding:45px 6%}.hero-image{min-height:390px}.hero-stats{margin-top:35px}.feature-grid{grid-template-columns:1fr;gap:20px}.intro,.booking-section{padding:70px 7%}.booking-layout,.location{grid-template-columns:1fr}.location>div:first-child{padding:65px 8%}.location-art{min-height:250px}.booking-heading{align-items:flex-start;flex-direction:column}footer{flex-direction:column}.hero-actions{flex-wrap:wrap}}@media(max-width:420px){.brand{font-size:12px;gap:8px}.mark{width:30px;height:30px}.nav-book{padding:11px}.field-row{grid-template-columns:1fr}.hero-stats{flex-wrap:wrap}.hero-stats span+span{border:0;padding:0}}

.hero-image>img{width:100%;height:100%;object-fit:cover;display:block}.hero-image:after{content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.36));pointer-events:none}.image-tag{z-index:1}.gallery-section{padding:95px 9%;background:#f3f6ef}.gallery-heading{max-width:700px;margin-bottom:34px}.gallery-heading>p:last-child{color:var(--muted);line-height:1.8}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.photo-grid figure{margin:0;position:relative;overflow:hidden;aspect-ratio:1/1.08;background:#ddd}.photo-grid figure.wide{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.photo-grid img{height:100%;width:100%;object-fit:cover;transition:transform .35s}.photo-grid figure:hover img{transform:scale(1.035)}.photo-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 17px 14px;color:white;font-size:12px;background:linear-gradient(transparent,rgba(0,0,0,.55))}@media(max-width:850px){.gallery-section{padding:65px 7%}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-grid figure.wide{grid-column:span 2;grid-row:span 1;aspect-ratio:1.5}}

.quote-lines{display:grid;gap:12px;margin:18px 0}.quote-lines>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:.92rem}.quote-lines strong{white-space:nowrap}.quote-total{border-top:1px solid #d5c8b6;padding-top:15px;font-size:1.1rem!important}.more-guests{display:block;margin-top:8px;line-height:1.5}.more-guests a{color:inherit;text-decoration:underline}

.occupancy-guide{margin:0 0 18px;padding:16px 18px;background:#eaf1e4;border:1px solid var(--line);font-size:12px}.occupancy-guide>p:first-child{font-weight:700;margin:0 0 10px}.occupancy-guide table{width:100%;border-collapse:collapse}.occupancy-guide td{padding:7px 0;border-bottom:1px solid var(--line)}.occupancy-guide td:last-child{text-align:right;font-weight:700;color:var(--olive)}.occupancy-guide tr:last-child td{border-bottom:0}.occupancy-guide .occupancy-note{font-weight:400;font-size:11px;color:var(--muted);line-height:1.6;margin:12px 0 0}

.full-gallery[hidden]{display:none}.full-gallery{margin-top:36px;padding-top:25px;border-top:1px solid var(--line)}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.gallery-toolbar h3{margin:0}.gallery-toolbar button{border:1px solid var(--line);background:transparent;padding:10px 14px;color:var(--ink);cursor:pointer;font:inherit;font-size:12px}.all-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.all-photo-grid a{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--cream)}.all-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.gallery-heading .text-link{display:inline-block;margin:4px 0 12px}@media(max-width:850px){.all-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
