@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;450;500;600&display=swap');
:root{--forest:#17271e;--forest-deep:#112018;--ivory:#f6f4ee;--paper:#eeeee5;--ink:#243228;--muted:#646c62;--bronze:#b6a078;--line:#d7d9cf;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}body.menu-is-open,body.gallery-is-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button{border:0}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--bronze);outline-offset:7px}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(3rem,5.4vw,5.3rem);line-height:1.08;letter-spacing:-.025em}h2 em{font-weight:400}p{font-weight:400}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip-link:focus{top:20px}.section-pad{padding:100px max(6.6vw,24px)}.eyebrow,.section-label{font-size:12px;font-weight:500;letter-spacing:.18em;line-height:1.6}.site-header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 4.2vw;color:#fff;border-bottom:1px solid #ffffff29;transition:background .3s,padding .3s}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:49px;height:38px}.brand>span{font-family:var(--serif);font-size:25px;letter-spacing:.11em;line-height:1.1}.brand small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.22em;margin-top:6px}.desktop-nav{display:flex;gap:34px;font-size:14px}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-6px;left:0;right:100%;height:1px;background:currentColor;transition:right .25s}.desktop-nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:56px;padding:14px 25px;font-size:14px;font-weight:500;transition:background .25s,color .25s,border-color .25s}.button span{font-size:21px}.button-small{min-height:46px;padding:9px 18px;font-size:13px;gap:24px}.button-outline{border:1px solid #ffffff8a}.button-outline:hover{background:var(--ivory);color:var(--forest);border-color:var(--ivory)}.menu-toggle{display:none;background:none;width:42px;height:44px;padding:10px 5px}.menu-toggle span{display:block;background:currentColor;height:1px;margin:7px 0;transition:transform .2s}.hero{position:relative;min-height:830px;height:100svh;max-height:1200px;color:#fff;background:var(--forest);overflow:hidden;isolation:isolate}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;inset:0}.hero-image{object-fit:cover;object-position:center 53%;z-index:-3;animation:hero-reveal 1.8s ease-out}.hero-shade{background:linear-gradient(90deg,rgba(9,23,16,.68) 0%,rgba(9,23,16,.25) 65%,rgba(9,23,16,.13)),linear-gradient(0deg,rgba(9,23,16,.53),transparent 36%,transparent 65%,rgba(9,23,16,.28));z-index:-2}.hero-content{position:relative;padding:190px 6.6vw 125px;max-width:1130px}.hero .eyebrow{display:flex;align-items:center;gap:14px;color:#f5f3ec;font-size:12px;letter-spacing:.21em}.fine-line{height:1px;width:34px;background:#e1dac8}.hero h1{font-size:clamp(4rem,6.7vw,7rem);line-height:1.02;letter-spacing:-.025em;margin-top:27px}.hero h1 em{font-weight:400;white-space:nowrap}.hero-description{font-size:16px;line-height:1.8;margin-top:27px;color:#f2f2e9}.text-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid currentColor;font-size:14px;padding-bottom:8px;transition:gap .2s}.text-link:hover{gap:40px}.text-link span{font-size:20px;line-height:1}.hero-link{margin-top:27px;color:#fff}.hero-bottom{position:absolute;bottom:0;left:4.2vw;right:4.2vw;min-height:84px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff4a;gap:20px}.hero-bottom>span{font-size:12px;letter-spacing:.16em}.gallery-open{display:flex;align-items:center;gap:14px;background:transparent;font-size:14px;padding:15px 0}.gallery-open:hover{text-decoration:underline;text-underline-offset:5px}.section-label{display:flex;justify-content:space-between;gap:20px;color:var(--muted);padding-bottom:43px;font-size:12px}.intro{padding-top:78px;padding-bottom:75px}.intro-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:8vw}.intro-copy{padding-top:7px;font-size:16px;max-width:500px;line-height:1.9}.intro-copy p+p{margin-top:17px}.dark-link{margin-top:25px}.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:73px;border-top:1px solid var(--line);padding-top:32px}.facts>div{padding:0 25px 0 0}.facts>div+div{border-left:1px solid var(--line);padding-left:35px}.facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:60px;line-height:1.1}.facts strong span{font-size:30px}.facts p{font-size:13px;margin-top:10px;color:var(--muted)}.landscape-section{position:relative;height:690px;color:white;background:var(--forest);overflow:hidden}.landscape-section>img{width:100%;height:100%;object-fit:cover;object-position:center}.landscape-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,23,16,.77),transparent 80%)}.landscape-caption{position:absolute;bottom:95px;left:6.6vw;right:6.6vw}.landscape-caption .eyebrow{margin-bottom:22px}.landscape-caption h2{font-size:clamp(2.9rem,4.8vw,4.8rem)}.image-caption{position:absolute;bottom:27px;right:4.2vw;font-size:12px;letter-spacing:.16em}.wellness{background:var(--paper);padding-bottom:110px}.wellness-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.wellness-visual{position:relative;padding-bottom:25px}.wellness-visual img{width:100%;height:660px;object-fit:cover;object-position:24% center}.photo-note{position:absolute;bottom:0;right:0;font-family:var(--serif);font-style:italic;font-size:23px;background:var(--paper);padding:15px 0 0 27px}.wellness-copy .eyebrow{color:var(--muted);font-size:12px;margin-bottom:20px}.wellness-copy h2{font-size:clamp(2.6rem,4.3vw,4.4rem)}.wellness-copy>p:not(.eyebrow){margin-top:22px;line-height:1.9}.wellness-details{margin-top:28px}.wellness-details article{border-top:1px solid #cbd1c5;padding:20px 0 18px;display:flex;gap:22px}.detail-number{font-size:12px;color:#6d756a;letter-spacing:.1em;padding-top:6px}.wellness-details h3{font-size:27px;line-height:1.3}.wellness-details p{font-size:14px;color:#546052;line-height:1.8;margin-top:6px}.stay{padding-bottom:70px}.stay-header{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center}.stay-header>p{max-width:450px;line-height:1.9}.comfort-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;margin-top:55px}.comfort-grid article{border-top:1px solid var(--line);padding-top:24px}.comfort-index{font-family:var(--serif);font-style:italic;font-size:28px;color:#788370}.comfort-grid h3{font-size:30px;margin:16px 0 12px;line-height:1.2}.comfort-grid p{font-size:15px;color:#626a60;line-height:1.9}.amenity-line{display:flex;flex-wrap:wrap;justify-content:center;gap:22px 38px;margin-top:55px;padding-top:25px;border-top:1px solid var(--line);font-size:12px;color:#616b5d}.amenity-line span{display:flex;align-items:center;gap:15px}.amenity-line span:before{content:'+';font-size:17px;color:#798872}.practical{padding-top:90px;padding-bottom:105px;display:grid;grid-template-columns:1fr 1.4fr;gap:7vw;background:#e9eae1}.practical-heading .eyebrow{font-size:12px;color:#616d5c;margin-bottom:24px}.practical-heading h2{font-size:clamp(3rem,4.7vw,4.7rem)}.practical-heading>p:last-child{font-size:14px;color:var(--muted);margin-top:24px}.faq{border-top:1px solid #c6cebf}.faq details{border-bottom:1px solid #c6cebf}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;padding:24px 0;font-size:15px;font-weight:450}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-weight:400;font-size:25px;line-height:1;flex-shrink:0;transition:transform .2s}.faq details[open] summary>span{transform:rotate(45deg)}.faq details>div{padding:0 32px 24px 0;font-size:14px;line-height:1.9;color:#53614d}.faq .text-link{margin-top:12px}.reservation{position:relative;background:var(--forest);color:var(--ivory);text-align:center;padding:96px 24px 0}.reservation:before{content:'';width:1px;height:48px;background:#84917f;display:block;margin:0 auto 27px}.reservation .eyebrow{font-size:12px;color:#c4cebd}.reservation h2{font-size:clamp(4rem,7.5vw,7.5rem);line-height:.99;margin-top:28px}.reservation-content>p:not(.eyebrow):not(.booking-note){font-size:15px;line-height:1.8;color:#d5dbcf;margin-top:27px}.button-cream{background:var(--ivory);color:var(--forest);margin-top:30px;min-width:255px}.button-cream:hover{background:#d6deca}.booking-note{font-size:12px;color:#b8c3ae;margin-top:15px}.reservation-bottom{display:flex;justify-content:space-between;align-items:center;text-align:left;margin:77px 2.5vw 0;border-top:1px solid #899c7340;padding:26px 0;gap:20px;font-size:12px;letter-spacing:.15em}.reservation-bottom a{font-size:12px;letter-spacing:0}.reservation-bottom a span{margin-left:20px;font-size:18px}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 4.2vw;background:var(--ivory)}.footer-brand{font-family:var(--serif);font-size:25px}footer p,footer>span{font-size:12px;color:var(--muted)}.mobile-menu[hidden]{display:none}.mobile-menu{position:fixed;inset:89px 0 0;background:var(--forest);z-index:19;padding:40px 25px;color:white;display:flex;flex-direction:column;gap:20px}.mobile-menu a{font-family:var(--serif);font-size:35px;padding:5px 0;border-bottom:1px solid #ffffff25}.gallery-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;background:#102017;color:white;padding:25px 4.2vw;margin:0}.gallery-dialog::backdrop{background:#102017}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.gallery-toolbar h2{font-size:30px}.gallery-close{display:flex;gap:20px;align-items:center;background:transparent;color:white;font-size:14px;padding:8px}.gallery-close span{font-size:30px}.gallery-stage{display:flex;justify-content:space-between;align-items:center;gap:24px;height:calc(100% - 90px)}.gallery-stage figure{max-width:1100px;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}.gallery-stage img{max-height:calc(100% - 55px);height:auto;width:100%;object-fit:contain;min-height:0}.gallery-stage figcaption{display:flex;justify-content:space-between;gap:20px;font-size:14px;margin-top:16px}.gallery-prev,.gallery-next{flex-shrink:0;border:1px solid #ffffff55;background:transparent;color:white;width:48px;height:48px;border-radius:50%;font-size:23px}.gallery-prev:hover,.gallery-next:hover{background:#ffffff18}@keyframes hero-reveal{from{transform:scale(1.035);opacity:.7}to{transform:scale(1);opacity:1}}
@media(min-width:1600px){.hero-content{padding-top:220px}.hero{min-height:920px}.section-pad{padding-left:max(6.6vw,calc((100vw - 1500px)/2));padding-right:max(6.6vw,calc((100vw - 1500px)/2))}}
@media(max-width:1100px){.desktop-nav{gap:20px}.site-header{gap:16px}.button-small{gap:15px;font-size:12px}.brand-mark{width:38px}.brand>span{font-size:22px}.brand small{font-size:12px}.hero{min-height:800px}.hero-content{padding-top:180px}.wellness-grid{gap:5vw}.wellness-visual img{height:650px}.comfort-grid{gap:4vw}.comfort-grid h3{font-size:27px}.section-pad{padding-left:5vw;padding-right:5vw}.wellness-details h3{font-size:24px}.practical{gap:5vw}}
@media(max-width:1000px){.site-header{padding:23px 24px}.desktop-nav{display:none}.brand-mark{width:38px}.menu-toggle{display:block}.header-actions .button{min-height:41px;font-size:12px;padding:6px 13px;gap:14px}.hero{height:100svh;min-height:760px;max-height:1050px}.hero-content{padding:182px 7vw 130px}.hero h1{font-size:clamp(3.8rem,8.5vw,5.3rem)}.hero-bottom{left:7vw;right:7vw}.hero-bottom>span{font-size:12px;max-width:145px}.intro-grid,.stay-header{grid-template-columns:1fr;gap:27px}.intro-copy{max-width:600px}.section-pad{padding:68px 7vw}.section-label{padding-bottom:32px}.section-label>span+span{display:none}.facts{margin-top:45px}.facts strong{font-size:47px}.facts strong span{font-size:24px}.facts p{font-size:12px}.facts>div+div{padding-left:20px}.landscape-section{height:540px}.landscape-caption{left:7vw;right:7vw;bottom:70px}.wellness-grid{gap:38px;grid-template-columns:1fr}.wellness-visual{max-width:620px;width:100%;margin:auto}.wellness-visual img{height:500px}.wellness-copy h2{font-size:3.8rem}.wellness-copy{max-width:620px}.wellness-details h3{font-size:27px}.wellness-details p{font-size:15px}.comfort-grid{gap:24px}.comfort-grid p{font-size:14px}.comfort-grid h3{font-size:26px}.practical{grid-template-columns:1fr;gap:40px}.practical-heading h2{font-size:3.7rem}.practical-heading>p:last-child br{display:none}.practical-heading>p:last-child{margin-top:18px}.reservation{padding-top:65px}.reservation-bottom{margin-top:58px}footer{flex-wrap:wrap;gap:10px 25px;padding:25px 7vw}footer p{display:none}.menu-is-open .site-header{position:fixed;background:var(--forest)}.menu-is-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-is-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}}
@media(max-width:540px){.site-header{padding:18px 20px;height:89px}.brand{gap:9px}.brand-mark{width:35px}.brand>span{font-size:20px}.brand small{font-size:12px;letter-spacing:.19em}.header-actions{gap:10px}.header-actions .button{display:none}.hero{min-height:770px}.hero-content{padding:160px 7vw 140px}.hero .eyebrow{font-size:12px;gap:11px;letter-spacing:.13em}.fine-line{width:24px}.hero h1{font-size:clamp(3.25rem,10.5vw,4.8rem);line-height:1.08;margin-top:26px}.hero h1 em{white-space:normal}.hero-description{font-size:15px;margin-top:25px}.hero-link{font-size:14px;margin-top:30px}.hero-bottom{min-height:82px;gap:25px}.hero-bottom>span{font-size:12px;max-width:132px;line-height:1.8}.gallery-open{gap:9px;font-size:12px;white-space:nowrap}.gallery-open svg{display:none}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#0917109c,#09171042),linear-gradient(0deg,#09171080,transparent 35%)}h2{font-size:3.2rem}.section-pad{padding-top:55px;padding-bottom:55px}.intro-copy{font-size:15px}.facts{grid-template-columns:1fr;margin-top:35px;padding:0}.facts>div{display:flex;align-items:center;gap:25px;padding:20px 0}.facts>div+div{border-left:0;border-top:1px solid var(--line);padding:20px 0}.facts strong{min-width:112px;font-size:43px;white-space:nowrap}.facts strong span{font-size:24px}.facts p{margin:0;font-size:13px;max-width:200px;line-height:1.65}.landscape-section{height:510px}.landscape-caption h2{font-size:2.65rem}.landscape-caption{bottom:68px}.landscape-caption .eyebrow{font-size:12px}.image-caption{font-size:12px;left:7vw;right:auto}.wellness-visual img{height:440px}.photo-note{font-size:21px;padding-left:14px}.wellness-copy h2{font-size:3rem}.wellness-copy>p:not(.eyebrow){font-size:15px}.wellness-details article{gap:17px}.wellness-details h3{font-size:25px}.comfort-grid{grid-template-columns:1fr;gap:27px;margin-top:30px}.comfort-grid article{display:grid;grid-template-columns:30px 1fr;column-gap:15px;padding-top:23px}.comfort-index{grid-row:1/3;font-size:26px}.comfort-grid h3{margin:4px 0 9px;font-size:27px}.comfort-grid p{grid-column:2;font-size:15px}.amenity-line{margin-top:30px;justify-content:flex-start;gap:15px 25px;font-size:12px}.stay-header>p{font-size:15px}.practical-heading h2{font-size:3.2rem}.faq summary{font-size:14px;padding:22px 0;gap:15px}.faq details>div{padding-right:15px}.reservation{padding:54px 7vw 0}.reservation h2{font-size:3.9rem}.reservation .eyebrow{font-size:12px}.reservation-bottom{flex-direction:column;align-items:center;text-align:center;gap:15px;margin-top:45px}.booking-note{font-size:12px}.footer-brand{font-size:23px}footer{flex-direction:column;align-items:center;gap:4px}footer>span{font-size:12px}.gallery-dialog{padding:20px}.gallery-toolbar h2{font-size:25px}.gallery-close{gap:8px}.gallery-stage{position:relative;align-items:center;height:calc(100% - 90px);padding-bottom:75px}.gallery-stage figure{height:100%}.gallery-stage figcaption{font-size:12px}.gallery-prev,.gallery-next{position:absolute;bottom:15px;width:45px;height:45px}.gallery-prev{left:calc(50% - 60px)}.gallery-next{right:calc(50% - 60px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.mobile-booking-cta{display:none}
@media(max-width:620px){
  #calendar-heading{scroll-margin-top:18px}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
  .mobile-booking-cta{position:fixed;z-index:18;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:74px;padding:12px max(20px,6vw) calc(12px + env(safe-area-inset-bottom));background:var(--forest);color:var(--ivory);box-shadow:0 -8px 30px #0917103d;font-size:16px;line-height:1.3;transition:opacity .2s ease,transform .2s ease}
  .mobile-booking-price{font-family:var(--serif);font-size:20px;white-space:nowrap}
  .mobile-booking-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ivory);color:var(--forest);padding:11px 13px;min-height:46px;font-size:14px;font-weight:600;text-align:center}
  .mobile-booking-cta:focus-visible{outline:3px solid var(--bronze);outline-offset:-5px}
  .mobile-booking-cta.is-near-reservation{opacity:0;transform:translateY(100%);pointer-events:none}
  .menu-is-open .mobile-booking-cta,.gallery-is-open .mobile-booking-cta{display:none}
}
@media(max-width:360px){.mobile-booking-price{font-size:17px}.mobile-booking-action{font-size:13px;padding-inline:9px}}
.reviews-section{background:var(--paper);border-top:1px solid var(--line)}
.reviews-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:8vw;align-items:end}
.reviews-heading .eyebrow{color:var(--muted);margin-bottom:20px}
.reviews-heading h2{font-size:clamp(3rem,5vw,5rem)}
.reviews-heading>p{max-width:480px;line-height:1.9;color:#566051}
.review-scores{display:grid;grid-template-columns:1fr 1fr;margin:60px 0 28px;border:1px solid var(--line);background:var(--ivory)}
.review-scores a{display:grid;grid-template-columns:auto 1fr;gap:2px 24px;align-items:center;padding:28px 32px;transition:background .2s}
.review-scores a+a{border-left:1px solid var(--line)}
.review-scores a:hover{background:#e8ecdf}
.review-platform{grid-column:1/-1;font-size:14px;font-weight:600;letter-spacing:.04em}
.review-scores strong{grid-row:2/4;font:400 3.6rem/1 var(--serif);color:var(--forest)}
.review-scores strong small{font-size:1.25rem}
.review-scores a>span:last-child{font-size:14px;color:var(--muted);line-height:1.5}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.review-card{display:flex;flex-direction:column;min-height:330px;padding:34px;background:var(--ivory);border:1px solid var(--line)}
.review-stars{color:#927c4e;font-size:15px;letter-spacing:.12em}
.review-card blockquote{margin:28px 0 18px;font:italic 2rem/1.35 var(--serif);color:var(--forest)}
.review-card>p{font-size:15px;line-height:1.75;color:var(--muted);max-width:470px}
.review-card footer{display:block;margin-top:auto;padding:28px 0 0;background:transparent}
.review-card footer strong,.review-card footer span{display:block}
.review-card footer strong{font-size:15px}
.review-card footer span{font-size:13px;color:var(--muted);margin-top:3px}
.review-card-featured{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.review-card-featured blockquote{color:var(--ivory)}
.review-card-featured>p,.review-card-featured footer span{color:#cbd4c5}
.review-card-featured .review-stars{color:#d7bd7b}
.review-links{display:flex;flex-wrap:wrap;gap:22px 42px;margin-top:34px}
.review-date{font-size:12px;color:var(--muted);margin-top:22px}
@media(max-width:800px){.reviews-heading{grid-template-columns:1fr;gap:24px}.review-scores{margin-top:40px}.review-scores a{padding:24px}.review-scores strong{font-size:3rem}.review-grid{grid-template-columns:1fr}.review-card{min-height:290px}}
@media(max-width:540px){.review-scores{grid-template-columns:1fr}.review-scores a+a{border-left:0;border-top:1px solid var(--line)}.review-scores a{padding:22px}.review-card{padding:27px 23px}.review-card blockquote{font-size:1.75rem}.review-links{flex-direction:column;gap:20px}.review-links .text-link{width:max-content;max-width:100%}}
.photos-section{background:var(--ivory)}.photos-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center}.photos-heading p{max-width:430px}.photo-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}.photo-filters button{border:1px solid #abb5a8;background:transparent;padding:10px 17px;font-size:14px;border-radius:2px}.photo-filters button[aria-pressed=true]{background:var(--forest);color:var(--ivory);border-color:var(--forest)}.photos-count{font-size:14px;margin:19px 0;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}.photo-card{padding:0;background:none;text-align:left;position:relative;min-width:0}.photo-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.photo-card>span:not(.photo-zoom){display:block;font-size:16px;line-height:1.45;padding:12px 0}.photo-zoom{position:absolute;top:12px;right:12px;background:#17271ee0;color:white;width:34px;height:34px;text-align:center;line-height:34px;transition:transform .2s}.photo-card:hover .photo-zoom{transform:scale(1.15)}.photos-more{border:1px solid var(--forest);background:transparent;margin:32px auto 0;display:flex}.photos-more[hidden]{display:none}.availability{max-width:850px;margin:48px auto 0;background:var(--ivory);color:var(--ink);padding:32px 38px;text-align:left}.availability h3{font-size:36px;line-height:1.15}.calendar-description{font-size:16px;margin-top:15px;color:var(--muted)}.calendar-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:16px;font-size:14px}.calendar-navigation button{background:transparent;border:1px solid #aab7a4;width:44px;height:44px;font-size:22px}.calendar-navigation button:disabled{opacity:.35;cursor:default}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:14px}.calendar-months h4{font-size:18px;text-align:center;font-weight:500;margin:10px 0 17px;text-transform:capitalize}.calendar-months table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:2px}.calendar-months th{font-size:12px;font-weight:500;color:var(--muted);padding:6px 0}.calendar-months td{height:40px;text-align:center;font-size:14px}.calendar-months td span{display:flex;align-items:center;justify-content:center;margin:auto;width:34px;height:34px}.day-past{color:#81877d;opacity:.65}.day-blocked span{background:#d3d6ca;color:#4b5546;text-decoration:line-through}.day-unknown span{border:1px solid #bac3b4}.calendar-months [aria-current=date] span{border:2px solid var(--forest);font-weight:600}.calendar-legend{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;margin-top:25px}.calendar-legend span{display:flex;align-items:center;gap:9px}.calendar-legend i{width:18px;height:18px;display:block}.legend-blocked{background:#d3d6ca}.legend-unknown{border:1px solid #bac3b4}#calendar-status{font-size:14px;margin-top:18px;line-height:1.6}.calendar-note{font-size:14px;color:var(--muted);line-height:1.65;margin-top:12px}#calendar-retry{background:transparent;text-decoration:underline;font-size:14px;padding:10px 0}.reservation-links{display:flex;justify-content:center;align-items:stretch;gap:16px;flex-wrap:wrap;margin-top:30px}.reservation-links .button{margin-top:0}.desktop-nav{gap:24px}.gallery-stage figcaption{font-size:14px}@media(max-width:1000px){.photos-heading{grid-template-columns:1fr;gap:24px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.availability{padding:28px}.calendar-months{gap:18px}}@media(max-width:620px){.photo-grid{gap:20px 12px}.photo-card>span:not(.photo-zoom){font-size:14px}.photo-filters{gap:8px}.photo-filters button{font-size:14px;padding:8px 12px}.availability{padding:25px 15px;margin-top:32px}.availability h3{font-size:30px}.calendar-months{grid-template-columns:1fr;gap:24px}.calendar-months td{height:43px}.calendar-months td span{width:36px;height:36px}.calendar-months th{font-size:14px}.reservation-links{flex-direction:column}.reservation-links .button{width:100%}.photo-zoom{width:28px;height:28px;line-height:28px;top:8px;right:8px}}@media(max-width:360px){.photo-grid{grid-template-columns:1fr}}
.photos-selection{padding-top:78px;padding-bottom:88px}.photos-heading>div>p{line-height:1.85}.gallery-open-secondary{background:transparent;padding-left:0;padding-right:0}.featured-photo-grid{margin-top:38px}.featured-photo-grid .photo-card:first-child{grid-column:span 2}.featured-photo-grid .photo-card:first-child img{aspect-ratio:16/9}.reservation-priority{padding-bottom:78px}.reservation-priority+.landscape-section{border-top:1px solid #ffffff24}@media(max-width:620px){.featured-photo-grid .photo-card:first-child{grid-column:span 2}.photos-selection{padding-top:55px;padding-bottom:62px}}@media(max-width:360px){.featured-photo-grid .photo-card:first-child{grid-column:span 1}}

footer{flex-wrap:wrap}.footer-legal{flex-basis:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;padding-top:20px;border-top:1px solid var(--line);font-size:14px}.footer-legal a,.legal-form-links a,.legal-receipt-link{text-decoration:underline;text-underline-offset:4px}.legal-form-links{display:flex;flex-wrap:wrap;gap:12px 20px}

.host-section{background:var(--ivory);border-top:1px solid var(--line)}.host-section .section-label{font-size:14px}.host-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:7vw;align-items:center}.host-identity{text-align:center}.host-portrait{width:min(100%,360px);aspect-ratio:2/3;border-radius:180px 180px 24px 24px;margin:0 auto 22px;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.host-portrait>img{width:100%;height:100%;object-fit:cover}.host-signature{font:italic 2.75rem/1.2 var(--serif)}.host-role{font-size:14px;color:var(--muted);margin-top:8px}.host-copy{max-width:680px;min-width:0}.host-copy h2{font-size:clamp(2.8rem,4.5vw,4.5rem);margin-bottom:28px}.host-copy>p{font-size:16px;line-height:1.85}.host-copy>p+p{margin-top:18px}.host-copy .host-welcome{font:italic 1.65rem/1.5 var(--serif);margin-top:22px}.host-contact{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:28px}.host-call{background:var(--forest);color:var(--ivory);text-align:center}.host-call:hover{background:#304735}.host-phone{font-size:16px;text-decoration:underline;text-underline-offset:5px;white-space:nowrap;padding:10px 0}@media(max-width:800px){.host-grid{grid-template-columns:1fr;gap:34px}.host-identity{display:grid;grid-template-columns:112px minmax(0,1fr);gap:0 22px;text-align:left;align-items:center}.host-portrait{width:112px;grid-row:1/3;margin:0;border-radius:56px 56px 14px 14px}.host-signature{align-self:end;font-size:2.25rem}.host-role{align-self:start;margin-top:4px}.host-copy{max-width:none}}@media(max-width:400px){.host-contact{flex-direction:column;align-items:flex-start}.host-call{width:100%}}

.access-section{background:var(--paper)}.access-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:6vw;align-items:center}.access-copy h2{font-size:clamp(2.8rem,4.5vw,4.5rem)}.access-copy address{font-style:normal;margin:28px 0 20px;line-height:1.8}.access-copy address strong{font-weight:500}.access-copy>p{max-width:490px}.access-directions{background:var(--forest);color:var(--ivory);margin-top:24px;text-align:center}.access-directions:hover{background:#304735}.access-copy .access-arrival{margin-top:24px;font-size:16px}.access-map{height:440px;border:1px solid #b7c0b1;background:var(--ivory);display:flex;align-items:center;justify-content:center}.access-map-prompt{text-align:center;padding:30px;max-width:470px}.access-map-prompt h3{font-size:36px;line-height:1.15;margin:18px 0}.access-map-prompt .access-privacy{font-size:14px;color:var(--muted);margin-top:20px;line-height:1.6}.access-map iframe{width:100%;height:100%;border:0}.access-map-wrap{min-width:0}.access-section .eyebrow{font-size:14px}.access-map-wrap>.text-link{font-size:14px}.desktop-nav{gap:18px}@media(max-width:1000px){.access-grid{grid-template-columns:1fr;gap:36px}.access-copy>p{max-width:650px}}@media(max-width:620px){.access-map{height:430px}.access-map-prompt{padding:22px}.access-directions{width:100%;gap:15px}.access-map-wrap>.text-link{gap:12px}}

.contact-section{background:var(--ivory)}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;align-items:start}.contact-copy .eyebrow{font-size:14px;margin-bottom:20px}.contact-copy h2{font-size:clamp(2.7rem,4.4vw,4.4rem);margin-bottom:25px}.contact-copy>p{max-width:500px}.contact-copy .text-link{flex-wrap:wrap;gap:8px 18px}.contact-copy .text-link span{font-size:16px}.contact-form{border:1px solid var(--line)}.contact-form textarea{display:block;width:100%;resize:vertical;min-height:150px;border:1px solid #adb7a7;background:white;color:var(--ink);padding:12px 10px;font:400 16px/1.5 var(--sans);margin-top:7px}.contact-form textarea:focus{outline:2px solid var(--forest);outline-offset:2px}.contact-privacy{font-size:14px;text-decoration:underline;text-underline-offset:4px}.contact-form #contact-status{margin-top:16px;font-size:16px;line-height:1.6}.contact-message-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:18px 0}.messages-section{padding:15px 0 30px;border-bottom:1px solid var(--line)}.messages-section>p{margin:12px 0}.messages-section h3{font-size:28px}.messages-section .host-call{margin:12px 0}.contact-form .form-note:first-child{margin-top:0!important}@media(max-width:1250px){.site-header .desktop-nav{display:none}.menu-toggle{display:block}.menu-is-open .site-header{position:fixed;background:var(--forest)}}@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:30px}}
