@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#263d35;--paper:#f8f6ef;--sand:#e9e5d9;--muted:#59675f;--line:#d8dacf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b27937;outline-offset:6px}.skip{position:absolute;left:20px;top:-80px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid #dedfd4}.brand{display:flex;gap:14px;align-items:center;font-size:13px;font-weight:700;letter-spacing:2px;line-height:1.5}.brand svg{width:42px;fill:none;stroke:var(--ink);stroke-width:1.5}small{display:block;font-size:9px;font-weight:400;letter-spacing:2px;margin-top:4px}nav{display:flex;gap:30px;font-size:13px}nav a:hover,.text-link:hover{color:#93663d}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;background:var(--ink);color:white;padding:17px 25px;font-size:14px;border:1px solid transparent;transition:background .2s}.button:hover{background:#486052}.button.small{padding:13px 20px;font-size:12px}.button.light{background:var(--paper);color:var(--ink)}.button.light:hover{background:#e5dfcf}.hero{height:660px;min-height:550px;position:relative;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 53%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,31,23,.72),rgba(13,31,23,.22) 60%,rgba(13,31,23,.05))}.hero-copy{position:absolute;left:7%;top:12%}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.4px;margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2.4px;line-height:1.08}h1{font-size:clamp(64px,6.3vw,94px);margin-bottom:24px}h1 em,h2 em{font-weight:400}h2{font-size:clamp(42px,4.2vw,62px);margin-bottom:25px}h3{font-weight:500;font-size:19px;line-height:1.4}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;margin-bottom:32px}.hero-bottom{position:absolute;bottom:28px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.hero-bottom a{letter-spacing:0;font-size:12px}.ribbon{display:flex;justify-content:center;gap:6%;align-items:center;padding:25px 5%;border-bottom:1px solid var(--line);font-size:12px}.ribbon i{font-size:20px;color:#9b8259;font-style:normal}.section{padding:90px 7%;max-width:1600px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-bottom:50px}.intro>div:nth-child(2){padding-top:28px;max-width:540px}.intro p:not(.eyebrow){color:var(--muted);font-size:15px}.intro .lead{color:var(--ink)!important;font-size:20px!important}.text-link{display:inline-flex;gap:40px;border-bottom:1px solid var(--ink);font-size:13px;padding:8px 0;margin-top:10px}.moments{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-top:25px}.moments figure{margin:0}.moments img{width:100%;height:360px;object-fit:cover}.moments figure:nth-child(2){padding-top:65px}.moments figure:nth-child(3){padding-top:25px}.moments figcaption{padding-top:18px}.moments figcaption span{font-size:9px;letter-spacing:2px;color:var(--muted)}.moments h3{font-family:Georgia,serif;font-size:24px;margin-top:10px}.gallery-section{background:#eeece3;max-width:none}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.section-heading p:not(.eyebrow){font-size:14px;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:12px}.photo{padding:0;border:0;overflow:hidden;position:relative;background:var(--sand)}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo:hover img{transform:scale(1.035)}.photo.large{grid-row:span 2}.photo span{position:absolute;bottom:20px;left:20px;background:var(--paper);padding:10px 18px;font-size:12px}.caption{font-size:11px;color:var(--muted);margin:18px 0 0}.direct{text-align:center}.direct-points{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:50px}.direct-points span{font-size:11px;color:#917958}.direct-points h3{margin:12px 0}.direct-points p{font-size:14px;color:var(--muted)}.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;background:#e6e9df;max-width:none;align-items:start}.booking-intro{position:sticky;top:135px}.booking-intro>p:not(.eyebrow){max-width:380px;color:var(--muted);font-size:15px}.inquiry-note{border-top:1px solid #c9cebf;padding-top:26px;margin-top:35px;max-width:380px}.inquiry-note p{font-size:14px;color:var(--muted)}.fine{font-size:11px!important;margin-top:32px}.widget-card{background:white;padding:30px 28px;box-shadow:0 15px 40px #263d3508;min-height:460px}.widget-card>h3{margin-bottom:4px}.widget-sub{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:25px}.ownerrez-widget{min-height:360px}.fallback{font-size:11px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);margin-bottom:0}.fallback a{text-decoration:underline}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:8%}details{border-bottom:1px solid var(--line);padding:22px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-size:15px}details p,details a{font-size:14px;color:var(--muted);margin:18px 0 0}.closing{background:var(--ink);color:var(--paper);text-align:center;padding:75px 20px}.closing h2{font-size:52px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:38px 7%;font-size:11px}footer>span{font-size:12px;letter-spacing:1.5px}footer p{margin:0;color:var(--muted)}footer small{letter-spacing:0;font-size:10px}.mobile-book{display:none}dialog{width:min(1000px,95vw);max-height:95vh;border:0;background:#17271f;color:white;padding:48px 18px 12px}dialog::backdrop{background:#0d1a15e8}dialog>img{width:100%;height:70vh;object-fit:contain}.close{position:absolute;right:16px;top:8px;background:transparent;color:white;border:0;font-size:23px}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:12px}.gallery-controls button{border:1px solid #68736b;background:transparent;color:white;padding:4px 18px;font-size:25px}.gallery-controls p{margin:0;font-size:12px;text-align:center}@media(max-width:900px){header{padding:0 5%;height:80px}nav{display:none}.hero{height:620px}.hero-copy{left:6%;top:15%}.section{padding:65px 6%}.intro{gap:5%}.moments{gap:15px}.moments img{height:270px}.photo-grid{grid-template-rows:180px 180px}.direct-points{gap:25px}.booking{gap:5%}.widget-card{padding:22px 16px}.brand{font-size:11px;letter-spacing:1px}.brand svg{width:32px}}@media(max-width:600px){html{scroll-padding-top:85px}header .button{font-size:10px;padding:11px 12px;gap:10px}.brand{font-size:10px;gap:8px}.brand small{font-size:7px;letter-spacing:1px}.hero{height:590px}.hero-copy{top:15%;right:6%}h1{font-size:60px;letter-spacing:-2px}.hero-copy>p:not(.eyebrow){font-size:13px}.hero-bottom{font-size:8px;left:6%;right:6%}.ribbon{gap:12px;font-size:9px;text-align:center}.ribbon i{font-size:14px}.intro,.booking,.faq{grid-template-columns:1fr;gap:20px}.intro>div:nth-child(2){padding-top:0}.moments{grid-template-columns:1fr;padding-top:0}.moments figure:nth-child(n){padding-top:0}.moments img{height:340px}.moments figure{margin-bottom:18px}.section-heading{display:block}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 160px 160px}.photo.large{grid-column:span 2;grid-row:span 1}.direct-points{grid-template-columns:1fr;gap:20px;text-align:left;margin-top:30px}.direct-points>div{border-top:1px solid var(--line);padding-top:15px}.booking-intro{position:static}.booking{padding:55px 5%}.booking-intro h2 br{display:none}.faq{gap:10px}.closing h2{font-size:42px}footer{flex-wrap:wrap;padding-bottom:100px}.mobile-book{display:flex;position:fixed;bottom:15px;left:6%;right:6%;z-index:9;box-shadow:0 4px 20px #0003}body:has(#book:target) .mobile-book{display:none}dialog>img{height:65vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.reviews{background:#eeece3;max-width:none}.reviews .widget-card{min-height:220px}.reviews .ownerrez-widget{min-height:180px}
