@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--pine:#203e37;--paper:#f8f6f0;--ink:#253b34;--muted:#647069;--line:#d8ddd4;--serif:'Libre Caslon Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b77b39;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.06;letter-spacing:-.025em}h2{font-size:clamp(40px,4.5vw,62px);margin-bottom:24px}h3{font-family:var(--serif);font-size:31px;line-height:1.2;margin:14px 0}em{font-weight:400}p{margin-bottom:20px}.wrap{max-width:1280px;margin:auto;padding-left:50px;padding-right:50px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;margin-bottom:22px}.green{color:#4b6a56}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;background:var(--pine);color:white;border:1px solid var(--pine);text-decoration:none;font-size:12px;font-weight:600;line-height:1.5;transition:background .2s}.button:hover{background:#35584a}.cream{background:#f4f0e4;color:var(--pine);border-color:#f4f0e4}.cream:hover{background:#dedbc9}.compact{padding:12px 18px;font-size:11px}.outline{background:transparent;border:1px solid #9ba99e;padding:12px 20px;color:var(--ink);font-size:12px}.text-link{display:inline-flex;gap:28px;font-size:12px;font-weight:600;text-decoration:none;border-bottom:1px solid #829584;padding-bottom:6px}.light{color:#f1efdb;border-color:#92a594}.small{font-size:11px;line-height:1.7}.muted{color:var(--muted)}header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 4%;background:var(--paper);position:sticky;top:0;z-index:5;border-bottom:1px solid #e2e4d9}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand svg{width:43px;fill:none;stroke:var(--pine);stroke-width:1.6}.brand span{font-family:var(--serif);font-size:28px;line-height:1.1}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:.2em;margin-top:6px}nav{display:flex;gap:27px}nav a{font-size:11px;text-decoration:none}nav a:hover{text-decoration:underline}.hero{height:min(760px,80vh);min-height:560px;position:relative;color:white;margin:0 18px}.hero>img{height:100%;width:100%;object-fit:cover;object-position:50% 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,23,.68),rgba(7,28,23,.08) 90%),linear-gradient(0deg,rgba(7,28,23,.5),transparent 28%)}.hero-copy{position:absolute;top:50%;transform:translateY(-50%);left:7%;max-width:800px}.hero-copy h1{font-size:clamp(58px,7.4vw,106px);margin-bottom:25px}.hero-copy p:not(.eyebrow){font-size:15px;line-height:1.7;color:#f2f2e9;margin-bottom:30px}.hero-bottom{position:absolute;bottom:26px;left:7%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.12em}.hero-bottom a{text-decoration:none;font-size:11px;letter-spacing:0}.facts{max-width:1100px;margin:auto;display:flex;justify-content:space-between;gap:20px;padding:30px;border-bottom:1px solid var(--line);font-size:12px}.facts strong{font-weight:500}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:100px;padding-bottom:90px}.intro-text{padding-top:34px;color:#536258}.intro-text p{max-width:520px}.intro-text .text-link{color:var(--pine);margin-top:7px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:12px;color:var(--muted);margin-bottom:8px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.photo-button{padding:0;border:none;background:transparent;width:100%;display:block;overflow:hidden}.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo-button:hover img{transform:scale(1.035)}.features .photo-button{height:310px}.number{display:block;font-size:9px;letter-spacing:.15em;color:#647c64;margin-top:24px}.features h3{font-size:28px}.features p{font-size:13px;color:var(--muted)}.moments{padding-bottom:95px}.stay{background:var(--pine);color:var(--paper);padding:70px 0}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.stay-image .photo-button{height:550px}.stay-image>span{display:block;font-family:var(--serif);font-size:22px;font-style:italic;padding-top:16px}.stay-content h2{font-size:55px}.stay-content>p:not(.eyebrow){color:#d2d9cb;font-size:13px}.stay-content .eyebrow{color:#bacbb1}.floor{border-top:1px solid #567063;padding:15px 0;display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:11px}.floor strong{font-weight:500}.floor span{color:#d2d9cb}.stay-content .small{margin-top:20px;font-size:11px!important}.amenities{padding-top:50px;padding-bottom:55px;border-bottom:1px solid var(--line)}.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;font-size:12px}.amenity-grid span:before{content:'✓';color:#73886a;margin-right:12px}.gallery-section{padding-top:90px;padding-bottom:80px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery .photo-button{height:190px;position:relative}.gallery .photo-button:first-child{grid-column:span 2;grid-row:span 2;height:392px}.gallery .photo-button span{position:absolute;left:0;right:0;bottom:0;padding:20px 12px 8px;background:linear-gradient(transparent,#12281cc4);color:white;text-align:left;font-size:10px}.gallery-section>.small{margin-top:15px}.location{display:grid;grid-template-columns:1fr 1fr;background:#e9ecdf}.location-photo{position:relative;min-height:610px}.location-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.location-photo>span{position:absolute;bottom:22px;left:30px;color:white;font-size:9px;letter-spacing:.2em;text-shadow:0 1px 4px #000}.location-copy{padding:65px 12% 65px 11%}.location-copy h2{font-size:50px}.location-copy>p:not(.eyebrow){font-size:13px;color:#566555}.location-copy dl{display:flex;gap:30px;border-block:1px solid #bec8b8;padding:23px 0;margin:28px 0}.location-copy dt{font:32px var(--serif)}.location-copy dd{font-size:10px;margin:6px 0 0}.planning{padding-top:100px;padding-bottom:95px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d2dacd}.calendar-panel,.inquiry-panel{padding:35px}.calendar-panel{background:#eef0e6}.booking-grid h3{font-size:32px;margin:0 0 14px}.booking-grid p{font-size:12px;color:#59695d}.calendar-panel iframe{width:100%;height:480px;border:0;background:white;margin:15px 0}.inquiry-panel{background:#fffefa}form label{display:block;font-size:11px;font-weight:500;margin-bottom:15px}input,select,textarea{width:100%;margin-top:7px;padding:11px 12px;border:1px solid #cbd3c6;background:#fffefa;color:var(--ink);border-radius:0;font-size:12px;min-height:43px}textarea{resize:vertical}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.optional{font-weight:400;color:#637365}form .button{width:100%}form .small{font-size:10px;margin-top:10px;margin-bottom:8px}#email-fallback{margin-top:20px}.faq-section{background:#eeeee4;padding:75px 0}.faq-grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:80px}.faq-grid>div>p:not(.eyebrow){font-size:12px;color:var(--muted)}details{border-bottom:1px solid #c6cfc1}details:first-child{border-top:1px solid #c6cfc1}summary{padding:20px 25px 20px 0;cursor:pointer;font-size:13px;list-style:none;position:relative}summary:after{content:'+';position:absolute;right:2px;font-size:20px;top:12px}details[open] summary:after{content:'−'}details p{font-size:12px;color:#586858;margin-bottom:23px}.closing{height:380px;position:relative;color:white;text-align:center;display:grid;place-items:center}.closing>img{width:100%;height:100%;object-fit:cover;position:absolute}.closing:after{content:'';position:absolute;inset:0;background:#102e2370}.closing>div{position:relative;z-index:1}.closing h2{font-size:65px}.closing .eyebrow{margin-bottom:18px}footer{display:flex;justify-content:space-between;gap:30px;padding-top:55px;padding-bottom:40px;font-size:11px}footer p{color:var(--muted);margin:10px 0}.footer-brand{font:32px var(--serif);text-decoration:none}.plain{background:transparent;border:none;padding:0;color:inherit;text-decoration:underline;font-size:11px}.skip{position:fixed;top:-100px;z-index:20;padding:10px;background:white}.skip:focus{top:0}dialog{border:0;padding:25px;max-width:650px;width:90vw;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#081d17e8}#lightbox{width:94vw;max-width:1300px;height:94vh;max-height:94vh;background:#14281f;color:white;padding:18px}#lightbox[open]{display:flex;flex-direction:column}#large-photo{height:calc(100% - 105px);width:100%;object-fit:contain;flex:1;min-height:0}.lightbox-bar,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}.lightbox-bar{padding-bottom:12px}.lightbox-bottom p{margin:10px;text-align:center}.lightbox-bar button,.lightbox-bottom button{background:none;color:white;border:1px solid #758b7d;padding:8px 15px;min-width:44px;min-height:44px}
@media(min-width:1500px){.hero{max-width:1600px;margin:auto}}
@media(max-width:1000px){header{padding:0 22px;gap:15px}nav{gap:14px}.wrap{padding-left:30px;padding-right:30px}.intro,.stay-grid,.faq-grid{gap:40px}.facts{gap:12px;font-size:10px}.hero-copy h1{font-size:78px}.features .photo-button{height:230px}.features h3{font-size:25px}.stay-content h2{font-size:43px}.stay-image .photo-button{height:480px}.location-copy{padding:45px 30px}.location-copy h2{font-size:42px}.location-photo{min-height:590px}.calendar-panel,.inquiry-panel{padding:24px}.amenity-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){html{scroll-padding-top:78px}header{height:78px;padding:0 16px}.brand{gap:6px}.brand svg{width:30px}.brand span{font-size:24px}.brand small{font-size:6px}nav{display:none}.compact{padding:10px 12px;font-size:10px;gap:8px}.hero{margin:0 8px;min-height:570px;height:76vh}.hero>img{object-position:62% 50%}.hero-copy{left:7%;right:6%}.hero-copy h1{font-size:61px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.13em;max-width:270px}.hero-copy p:not(.eyebrow){font-size:13px}.hero-bottom{font-size:7px;bottom:18px}.hero-bottom>a{font-size:9px}.hero-bottom>span{max-width:150px}.facts{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding:22px 16px;gap:12px 8px;font-size:10px}.facts span:nth-child(n+4){grid-column:auto}.wrap{padding-left:24px;padding-right:24px}.intro{padding-top:58px;padding-bottom:55px;grid-template-columns:1fr;gap:4px}.intro h2{font-size:46px}.intro-text{padding-top:0;font-size:14px}.eyebrow{margin-bottom:17px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:43px}.section-heading>p{margin-top:20px}.section-heading>.outline{margin-top:22px}.features{grid-template-columns:1fr;gap:25px}.features .photo-button{height:300px}.features h3{font-size:30px}.features p{max-width:450px}.number{margin-top:18px}.moments{padding-bottom:45px}.stay{padding:35px 0 45px}.stay-grid{grid-template-columns:1fr;gap:35px}.stay-image .photo-button{height:350px}.stay-image>span{font-size:20px}.stay-content h2{font-size:46px}.amenities{padding-top:35px;padding-bottom:35px}.amenity-grid{grid-template-columns:1fr 1fr;font-size:10px;gap:20px 10px}.amenity-grid span:before{margin-right:7px}.gallery-section{padding-top:50px;padding-bottom:45px}.gallery{grid-template-columns:1fr 1fr;gap:8px}.gallery .photo-button{height:155px}.gallery .photo-button:first-child{height:260px;grid-row:span 1}.location{grid-template-columns:1fr}.location-photo{min-height:320px}.location-copy{padding:40px 24px}.location-copy h2{font-size:46px}.planning{padding-top:55px;padding-bottom:50px}.booking-grid{grid-template-columns:1fr}.calendar-panel,.inquiry-panel{padding:24px 20px}.calendar-panel iframe{height:460px}.field-pair{gap:10px}.faq-section{padding:48px 0}.faq-grid{grid-template-columns:1fr;gap:25px}.faq-grid h2{font-size:46px}.closing{height:330px}.closing h2{font-size:49px}.closing .eyebrow{font-size:8px}footer{flex-direction:column;gap:15px;padding-top:35px;padding-bottom:25px}.desktop{display:none}.lightbox-bottom p{font-size:10px}#lightbox{padding:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.availability-card{margin-top:25px;background:#fffefa}.availability-card>img{height:230px;width:100%;object-fit:cover}.availability-card>div{padding:26px}.availability-card .eyebrow{font-size:8px}.availability-card h3{font-size:31px}.availability-card .button{width:100%;font-size:11px}.availability-card .small{margin-top:13px;margin-bottom:0}
.native-calendar{margin-top:25px;background:#fffefa;padding:20px;min-height:330px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-heading h4{font:26px var(--serif);margin:0}.calendar-heading button{width:38px;height:38px;background:transparent;border:1px solid #bdcbb8;color:var(--pine)}.calendar-heading button:disabled{opacity:.3}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekday{text-align:center;font-size:10px;padding-bottom:12px;color:#647469}.calendar-day{aspect-ratio:1;border:1px solid transparent;background:#eef2e7;color:var(--pine);font-size:12px;padding:0;min-height:32px}.calendar-day:hover{border-color:var(--pine)}.calendar-day:disabled{color:#9b9f96;background:#f3f3ed;cursor:default}.calendar-day.unavailable{background:repeating-linear-gradient(135deg,#e1e3da,#e1e3da 3px,#f1f1eb 3px,#f1f1eb 6px);color:#7c8179;text-decoration:line-through}.calendar-day.selected{background:var(--pine);color:white}.calendar-legend{display:flex;gap:20px;font-size:10px;margin-top:18px}#calendar-selection{min-height:36px;color:var(--pine);font-weight:500;margin-top:15px}#calendar-checked{color:#657465;font-size:10px}@media(max-width:700px){.native-calendar{padding:15px}.calendar-days{gap:4px}}
