@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--green:#233e32;--cream:#f7f5ed;--ink:#293b31;--muted:#72796f;--line:#d9ddd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--cream);color:var(--ink);font:15px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #b89150;outline-offset:5px}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:17px;letter-spacing:2px;font-weight:600}.brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:7px}.mark{font-size:45px;font-weight:400}nav{display:flex;gap:34px;font-size:13px}nav a:hover,.text-link:hover{text-decoration:underline}.primary,.cream-button{border:0;padding:18px 24px;background:var(--green);color:white;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;font-size:13px;font-weight:500}.primary:hover{background:#365741}.cream-button{background:var(--cream);color:var(--green)}.hero{margin:0 22px;min-height:650px;height:69vh;max-height:850px;position:relative;background:url('assets/garden.jpg') center 55%/cover;color:white;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,33,24,.68),rgba(10,33,24,.05)),linear-gradient(0deg,rgba(10,33,24,.25),transparent 35%)}.hero-copy{position:relative;padding:100px 6%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;margin:0 0 22px}.light{color:#f1efdd}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;margin:0}h1{font-size:clamp(62px,6.5vw,102px);line-height:.98;letter-spacing:-2px}h1 em{font-weight:400} .hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;margin:26px 0 30px;color:#efeee6}.hero-bottom{position:absolute;bottom:35px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.6px}.hero-stamp{position:absolute;right:7%;bottom:105px;border:1px solid #eeecd2aa;border-radius:50%;width:127px;height:127px;display:grid;align-content:center;text-align:center;font-family:Georgia,serif;line-height:1.6;transform:rotate(10deg)}.booking-bar{margin:-1px auto 0;position:relative;display:grid;grid-template-columns:1fr 1fr .8fr 1.3fr;max-width:1110px;background:#edece2;padding:27px 35px 13px;gap:24px}.booking-bar label{border-right:1px solid #ced2c5;font-size:9px;letter-spacing:1.7px}.booking-bar input,.booking-bar select{display:block;border:0;background:transparent;padding:12px 0 5px;color:var(--ink);width:95%;font-size:15px;letter-spacing:0}.booking-bar p{grid-column:1/-1;text-align:center;font-size:10px;color:var(--muted);margin:2px 0 0}.intro{text-align:center;max-width:730px;padding:100px 25px 95px;margin:auto}.intro h2,h2{font-size:58px;line-height:1.05;letter-spacing:-1px}.intro>p:last-child{color:var(--muted);line-height:1.85;max-width:560px;margin:24px auto 0}.section{padding:40px 6% 85px}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}.section-head>p{color:var(--muted);line-height:1.7;font-size:13px}.section-head h2{font-size:51px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.room-img{height:300px;position:relative;overflow:hidden}.room-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.room-grid article:hover img{transform:scale(1.035)}.room-img>span{position:absolute;left:15px;top:15px;background:var(--cream);padding:9px 12px;font-size:8px;letter-spacing:1.5px}.room-heading{display:flex;justify-content:space-between;align-items:center;margin-top:23px}.room-heading h3{font-size:34px}.room-heading>span{font-size:11px;color:var(--muted)}.room-grid p{font-size:13px;line-height:1.8;color:var(--muted);min-height:48px}.amenities{font-size:11px;color:#616e61;padding:6px 0 23px}.amenities b{padding:0 8px}.room-link{background:none;border:0;border-top:1px solid var(--line);color:var(--green);padding:17px 0;width:100%;display:flex;justify-content:space-between;font-size:12px;text-align:left}.availability-note{text-align:center;font-size:12px;color:var(--muted);margin:32px 0 0}.story{display:grid;grid-template-columns:1fr 1fr;background:#e8ecdf;margin:0 22px}.story-photo{position:relative;min-height:520px}.story-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.story-photo>span{position:absolute;bottom:30px;left:30px;color:white;font-size:10px;letter-spacing:2px}.story-copy{padding:80px 14%}.story-copy h2{font-size:66px}.story-copy>p:not(.eyebrow){color:#677160;font-size:14px;line-height:1.9;margin:25px 0}.text-link{font-size:12px;display:inline-block;border-bottom:1px solid #9aa28f;padding-bottom:9px;margin-top:10px}.explore{padding-top:95px}.explore h2{font-size:52px}.places{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin:42px 0 18px}.places article{border-top:1px solid #cdd3c5;padding-top:22px}.places span{font-size:9px;letter-spacing:1.7px}.places h3{font-size:31px;margin-top:18px}.places p{font-size:13px;color:var(--muted);line-height:1.8;max-width:300px}.closing{background:var(--green);color:var(--cream);padding:70px 25px;text-align:center}.closing h2{font-size:64px;margin-bottom:28px}.closing>p:last-child{font-size:11px;margin-top:25px;color:#c8d1c0}.closing a{text-decoration:underline}footer{display:flex;justify-content:space-between;gap:30px;padding:55px 6%;font-size:11px;line-height:1.9}footer>div{color:var(--muted)}dialog{border:0;background:var(--cream);color:var(--ink);width:min(680px,94vw);max-height:92vh;padding:45px;overflow:auto}dialog::backdrop{background:#14251dd0;backdrop-filter:blur(5px)}dialog h2{font-size:50px}dialog>p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted)}.close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:30px;color:var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0 18px}#request label{display:block;font-size:12px}#request input,#request select,textarea{display:block;width:100%;border:1px solid #c7cebf;border-radius:0;background:#fffef8;padding:12px;color:var(--ink);margin-top:7px}.optional{color:var(--muted)}.summary{font-size:12px;background:#e8ecdf;padding:16px;margin-top:18px;line-height:1.7}.wide{width:100%;justify-content:center}.fine{font-size:11px;line-height:1.7;color:var(--muted)}.error{color:#9a3427;font-size:12px}#email-ready h3{font-size:32px;margin-top:25px}#email-ready>p{font-size:13px;line-height:1.7}#email-text{font-size:12px;margin:20px 0}.primary:disabled{opacity:.5}body:has(dialog[open]){overflow:hidden}@media(min-width:1600px){.section{max-width:1500px;margin:auto}}@media(max-width:800px){header{height:90px;padding:0 20px}nav{display:none}.brand{font-size:13px;letter-spacing:1px}.brand small{font-size:6px}.mark{font-size:32px}header .primary{padding:14px;gap:10px;font-size:11px}.hero{margin:0 10px;min-height:590px;max-height:700px}.hero-copy{padding:90px 7%}.hero h1{font-size:67px}.hero-stamp{display:none}.hero-bottom{font-size:7px;letter-spacing:1px}.booking-bar{margin:0 10px;grid-template-columns:1fr 1fr;padding:22px 18px;gap:18px}.booking-bar label{border:0}.booking-bar .primary{align-self:end}.intro{padding:70px 25px}.intro h2,h2{font-size:48px}.section{padding:25px 25px 65px}.section-head{display:block}.section-head h2,.explore h2{font-size:43px}.room-grid{grid-template-columns:1fr;gap:30px}.room-img{height:340px}.room-grid p{min-height:0}.story{grid-template-columns:1fr;margin:0 10px}.story-photo{min-height:340px}.story-copy{padding:50px 30px}.story-copy h2{font-size:54px}.explore{padding-top:65px}.places{grid-template-columns:1fr;gap:20px}.closing h2{font-size:47px}footer{flex-direction:column;padding:35px 25px;gap:22px}dialog{padding:35px 22px}.form-grid{gap:14px}dialog h2{font-size:43px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:800px){.hero{height:auto;max-height:none;min-height:590px}.hero-copy{padding:70px 7% 100px}.hero h1{font-size:clamp(48px,12vw,67px)}.hero-bottom{bottom:25px}}
@media(max-width:360px){.booking-bar{grid-template-columns:minmax(0,1fr)}.booking-bar input,.booking-bar select{min-width:0;width:100%}.form-grid{grid-template-columns:minmax(0,1fr)}}

.legal-credit{font-size:13px;line-height:1.7;max-width:320px}.legal-credit a{text-decoration:underline}.legal-credit small{font-size:11px}
