:root{--paper:#fbfaf7;--cream:#f2f0e9;--ink:#25392f;--green:#284c40;--green-dark:#1e3b31;--muted:#6b726b;--line:#dedfd6;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:'Avenir Next',Avenir,'Segoe UI',sans-serif;--radius:12px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:disabled{cursor:default;opacity:.45}img{max-width:100%;display:block}svg{width:22px;height:22px;fill:none;stroke:currentColor;flex-shrink:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.045em;line-height:1.13}h1{font-size:clamp(40px,4.4vw,65px)}h2{font-size:clamp(32px,3.3vw,46px)}h3{font-size:24px;font-family:var(--serif);line-height:1.3;letter-spacing:-.02em}h4{font-size:15px;font-weight:600;line-height:1.4}p{color:var(--muted)}:focus-visible{outline:3px solid #b18c45;outline-offset:5px}::selection{background:#d9e3cd;color:var(--ink)}[hidden]{display:none!important}.shell{width:min(1264px,calc(100% - 112px));margin-inline:auto}.section{padding-block:84px}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:10px;font-weight:650;color:var(--green);line-height:1.5;margin-bottom:17px}.lead{font-size:18px;line-height:1.8;color:#47584d}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 24px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:7px;font-weight:550;font-size:13px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:var(--green-dark);transform:translateY(-1px)}.button span[aria-hidden]{font-size:19px;font-weight:400}.button-small{padding:11px 19px;gap:25px;font-size:12px}.button-wide{width:100%;justify-content:space-between}.button-outline{color:var(--green);background:transparent;border-color:#a2aca3}.button-outline:hover{background:#e6ebe3}.text-link{display:inline-flex;align-items:center;gap:8px;padding:0;background:none;font-size:12px;font-weight:550;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.text-link svg{width:15px;height:15px}.text-link:hover{color:#77834e}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;background:var(--green);color:#fff;padding:10px 16px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{border-bottom:1px solid var(--line);background:rgba(251,250,247,.96);position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:var(--serif);font-size:26px;letter-spacing:-1px;display:flex;align-items:center;gap:13px;white-space:nowrap}.brand-tree{width:29px;height:34px;color:var(--green);stroke-width:1.1}.brand-dot{color:#7c8c6c}.site-header nav{display:flex;align-items:center;gap:32px;font-size:12px;color:#5a6259}.site-header nav a:hover{color:var(--green);text-decoration:underline;text-underline-offset:7px}.hero{padding-top:43px}.hero-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:16px}.hero-topline .eyebrow{margin:0}.availability{font-size:11px;letter-spacing:.01em;display:flex;align-items:center;gap:8px}.availability>span{width:6px;height:6px;border-radius:100%;background:#6a7a53}.hero-subline{display:flex;align-items:center;justify-content:space-between;margin:17px 0 28px;gap:18px}.hero-subline p{font-size:14px}.mobile-break{display:none}.hero-mosaic{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:7px;height:clamp(340px,34vw,480px);border-radius:14px;overflow:hidden;background:var(--cream)}.mosaic-photo{position:relative;padding:0;overflow:hidden;background:#dddcd2;min-height:0;min-width:0}.mosaic-photo:first-child{grid-row:span 2}.mosaic-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s,filter .4s}.mosaic-photo:hover img{transform:scale(1.035);filter:brightness(.94)}.mosaic-photo .photo-label{position:absolute;left:15px;bottom:12px;font-size:10px;color:#fff;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;text-shadow:0 1px 6px #000}.mosaic-photo:hover .photo-label,.mosaic-photo:focus-visible .photo-label{opacity:1;transform:none}.mosaic-photo:first-child .photo-label{opacity:1;transform:none;font-size:12px;left:24px;bottom:22px}.mosaic-photo:first-child:after{content:'';position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#0005);pointer-events:none}.mosaic-photo .photo-label{z-index:1}.all-photos-button{position:absolute;right:18px;bottom:18px;z-index:2;background:#fbfaf7;color:var(--ink);border:1px solid #fff9;border-radius:6px;box-shadow:0 2px 15px #0002;padding:10px 15px;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600}.all-photos-button:hover{background:#fff}.all-photos-button svg{width:15px;height:15px}.photo-placeholder{display:grid;place-items:center;grid-column:1/-1;grid-row:1/-1;color:var(--muted)}.hero-facts{display:flex;gap:34px;justify-content:center;padding:27px 0;border-bottom:1px solid var(--line);font-size:12px}.hero-facts span{display:flex;align-items:center;gap:9px}.hero-facts svg{width:19px;height:19px;stroke-width:1.35}
.overview{display:grid;grid-template-columns:minmax(0,1fr) 358px;gap:100px;align-items:start}.overview-copy{padding-top:6px}.overview h2{margin-bottom:26px}.overview-copy>p+p{margin-top:16px}.location-notes{margin-top:26px;display:flex;gap:25px;flex-wrap:wrap}.location-notes span{font-size:11px;display:flex;align-items:center;gap:6px}.location-notes svg{width:17px;height:17px;margin-right:3px}.stay-summary,.availability-card{border:1px solid #d5dcd0;background:#f3f4ee;padding:30px;border-radius:12px}.stay-summary .eyebrow{font-size:9px;margin-bottom:19px}.price{font-family:var(--serif);font-size:40px;line-height:1.2;letter-spacing:-.045em;color:var(--ink);white-space:nowrap}.price>span{font-family:var(--sans);font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted)}.price-note{font-size:11px;margin-top:9px}.summary-dates{display:grid;grid-template-columns:1fr 1fr;margin-block:26px 20px;border-top:1px solid #d5dcd0;border-bottom:1px solid #d5dcd0;padding-block:17px;gap:18px}.summary-dates>div+div{border-left:1px solid #d5dcd0;padding-left:18px}.summary-dates span{font-size:9px;color:var(--muted);display:block;margin-bottom:5px}.summary-dates strong{font-weight:550;font-size:12px}.summary-term{font-size:11px;line-height:1.8;margin-bottom:23px}.quiet-note{font-size:10px;text-align:center;margin-top:15px;line-height:1.6}.stay-summary .button{font-size:12px;padding-inline:18px}
.photo-section{background:var(--cream);border-block:1px solid #e8e7de}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:12px}.section-aside{font-size:12px;line-height:1.8;padding-bottom:3px}.filter-bar{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:5px 3px 15px;margin-inline:-3px}.filter-button{flex-shrink:0;border:1px solid #d5d8ce;background:transparent;border-radius:100px;padding:10px 16px;font-size:11px;white-space:nowrap;transition:background .2s,color .2s}.filter-button:hover{background:#e6e8df}.filter-button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.filter-button .filter-count{font-size:9px;opacity:.65;margin-left:4px}.gallery-context{display:flex;justify-content:space-between;font-size:10px;margin:9px 0 23px;gap:20px}.gallery-context>span{color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1px;column-gap:20px;row-gap:0}.photo-tile{min-width:0;align-self:start}.photo-tile button{background:none;width:100%;padding:0;text-align:left;display:block}.tile-image{aspect-ratio:var(--ratio,1.3333);position:relative;overflow:hidden;border-radius:8px;background:#e0e0d7}.tile-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s,filter .3s}.photo-tile button:hover img{transform:scale(1.025);filter:brightness(.94)}.tile-expand{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:29px;height:29px;background:#fff9;color:var(--ink);border-radius:50%;opacity:0;transition:opacity .2s}.tile-expand svg{width:14px;height:14px}.photo-tile button:hover .tile-expand,.photo-tile button:focus-visible .tile-expand{opacity:1}.tile-caption{padding:11px 2px 0}.tile-caption h3{font-size:12px;font-family:var(--sans);font-weight:550;line-height:1.5;letter-spacing:0}.tile-caption p{font-size:10px;margin-top:2px;line-height:1.5}.gallery-actions{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:23px}.gallery-actions .button{font-size:11px;padding:12px 20px}.gallery-actions .text-link{font-size:11px}
.feature-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:27px;margin-top:40px}.story-image{display:block;width:100%;padding:0;border-radius:9px;overflow:hidden;aspect-ratio:1.36;background:var(--cream)}.story-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.story-image:hover img{transform:scale(1.04)}.story-number{font-size:9px;letter-spacing:.13em;color:#727c69;display:block;margin:22px 0 10px}.feature-story h3{font-size:27px;margin-bottom:13px}.feature-story p{font-size:12px;line-height:1.9}.amenity-list{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 42px;border-top:1px solid var(--line);margin-top:46px;padding-top:42px}.amenity-list>div{padding-left:37px;position:relative}.amenity-list svg{position:absolute;left:0;top:2px;width:22px;height:22px;color:#56725b}.amenity-list h4{font-size:12px;font-weight:600;margin-bottom:7px}.amenity-list p{font-size:11px;line-height:1.85}
.outdoor-story{display:grid;grid-template-columns:1.08fr 1fr;background:var(--green-dark);color:#fff;min-height:540px}.outdoor-photo{overflow:hidden;min-height:450px}.outdoor-photo img{width:100%;height:100%;object-fit:cover}.outdoor-copy{padding:70px 76px;display:flex;flex-direction:column;justify-content:center}.outdoor-copy .eyebrow{color:#b6c7a7}.outdoor-copy h2{font-size:48px;margin-bottom:25px}.outdoor-copy p:not(.eyebrow){font-size:13px;line-height:1.9;color:#c3d0c4;margin-bottom:15px}.text-link-light{color:#f0f2e7;align-self:start;margin-top:12px;font-size:11px}.text-link-light:hover{color:#fff}
.stay-section{display:grid;grid-template-columns:minmax(0,1fr) 385px;gap:110px;align-items:start;padding-top:100px}.stay-copy h2{margin-bottom:23px}.stay-copy>.lead{font-size:17px;margin-bottom:16px}.stay-copy>p:not(.lead):not(.eyebrow){font-size:13px;line-height:1.9}.included-box{margin-top:28px;border-block:1px solid var(--line);padding:23px 0}.included-box h3{font:600 12px var(--sans);margin-bottom:15px}.included-box ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;font-size:11px;color:var(--muted)}.included-box li:before{content:'✓';color:var(--green);margin-right:9px}.vehicle-note{display:flex;gap:16px;margin-top:25px}.vehicle-note svg{width:25px;height:25px;margin-top:2px}.vehicle-note h3{font:600 12px var(--sans);margin-bottom:6px}.vehicle-note p{font-size:11px;line-height:1.85}.availability-card{padding:32px;background:#fff}.availability-card .eyebrow{font-size:9px}.stay-options{border:0;padding:0;margin:29px 0 23px}.stay-options legend{font-size:10px;font-weight:550;margin-bottom:10px}.stay-options label{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);border-radius:6px;margin-bottom:8px;position:relative;cursor:pointer;gap:10px;transition:background .2s}.stay-options label:has(input:checked){background:#edf2e8;border-color:#84997a}.stay-options input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.stay-options label:has(input:focus-visible){outline:3px solid #b18c45;outline-offset:3px}.stay-options strong{font-size:12px;font-weight:550;display:block}.stay-options small{font-size:10px;display:block;color:var(--muted);margin-top:2px}.radio-marker{width:15px;height:15px;border-radius:100%;border:1px solid #b2bbb0;flex-shrink:0}.stay-options input:checked~.radio-marker{border:4px solid var(--green);background:#fff}
.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;border-top:1px solid var(--line);padding-block:65px 80px}.faq-section h2{font-size:35px}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;list-style:none;font-weight:550}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:21px;font-weight:400;line-height:1;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:14px 35px 4px 0;font-size:12px;line-height:1.85}.site-footer{border-top:1px solid var(--line);padding-block:35px;display:flex;justify-content:space-between;align-items:center;gap:25px}.site-footer .brand{font-size:22px}.site-footer .brand-tree{width:23px;height:29px}.site-footer p,.site-footer>span{font-size:10px;color:var(--muted)}.mobile-stay-bar{display:none}
.lightbox{position:fixed;inset:0;border:0;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;background:#141a16;color:#fff;overflow:hidden}.lightbox[open]{display:flex;flex-direction:column}.lightbox::backdrop{background:#141a16}.lightbox-header{height:66px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid #ffffff14;gap:20px;font-size:12px}.lightbox-header p{color:#bbc5ba;font-size:12px}.lightbox-back{background:none;color:#fff;display:flex;align-items:center;gap:9px;font-size:12px;padding:10px 5px}.lightbox-back svg{width:19px;height:19px}.lightbox-stage{position:relative;flex:1;min-height:0;display:flex;justify-content:center;align-items:center;padding:20px 80px 12px}.lightbox-image-wrap{width:100%;height:100%;display:flex;justify-content:center;align-items:center;position:relative;min-height:0}.lightbox-image-wrap img{width:100%;height:100%;object-fit:contain}.lightbox-image-wrap>p{position:absolute;background:#141a16;padding:20px;text-align:center}.lightbox-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);height:43px;width:43px;display:grid;place-items:center;background:#ffffff12;color:#fff;border:1px solid #ffffff25;border-radius:100%}.lightbox-arrow:hover{background:#ffffff25}.lightbox-arrow.previous{left:23px}.lightbox-arrow.next{right:23px}.lightbox-arrow svg{width:20px;height:20px}.lightbox-caption{display:flex;justify-content:space-between;gap:35px;padding:10px 80px 16px;flex-shrink:0}.lightbox-caption h2{font-family:var(--sans);font-size:15px;font-weight:550;letter-spacing:0;margin-bottom:6px}.lightbox-caption p{color:#adb8ad;font-size:11px;line-height:1.6}.lightbox-caption .edit-note{color:#a3ac91;font-size:10px;margin-top:4px}.keyboard-hint{font-size:10px;white-space:nowrap;color:#899489;align-self:center}.filmstrip{height:91px;flex-shrink:0;display:flex;gap:8px;padding:5px 34px 17px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#59645a transparent;scroll-behavior:smooth}.filmstrip button{padding:0;background:none;width:85px;height:62px;border-radius:5px;overflow:hidden;flex-shrink:0;opacity:.45;border:2px solid transparent}.filmstrip button[aria-current=true]{border-color:#f8f5e5;opacity:1}.filmstrip button:hover{opacity:1}.filmstrip img{width:100%;height:100%;object-fit:cover}
.inquiry-dialog{border:0;border-radius:14px;padding:40px;width:min(570px,calc(100% - 32px));max-height:calc(100dvh - 40px);background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #0004}.inquiry-dialog::backdrop{background:#14271fcc;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:17px;top:17px;padding:7px;background:none;display:grid;place-items:center}.dialog-close svg{width:20px;height:20px}.inquiry-dialog h2{font-size:33px;line-height:1.15}.inquiry-dialog .eyebrow{font-size:9px}.inquiry-intro{font-size:12px;margin:13px 0 23px}.inquiry-dialog form{display:flex;flex-direction:column;gap:14px}.inquiry-dialog label{font-size:11px;display:flex;flex-direction:column;gap:6px;font-weight:550}.inquiry-dialog input:not([type=checkbox]),.inquiry-dialog textarea,.inquiry-dialog select{padding:10px 12px;min-width:0;border:1px solid #cdd4c8;border-radius:5px;background:#fff;color:var(--ink);font-size:12px;width:100%;line-height:1.6}.inquiry-dialog textarea{resize:vertical}.inquiry-dialog label.checkbox-label{display:flex;flex-direction:row;align-items:center;gap:9px;font-weight:400}.checkbox-label input{accent-color:var(--green);width:15px;height:15px}.form-note{font-size:10px;line-height:1.6;text-align:center}.inquiry-result-actions{display:flex;align-items:center;gap:18px;margin-top:18px}.inquiry-result-actions .button{font-size:12px}.inquiry-result-actions .text-link{font-size:11px}#inquiry-result h3{font-size:25px;margin-bottom:10px}#inquiry-result>p{font-size:12px;margin-bottom:17px}#inquiry-result #copy-status{margin-top:12px}.toast{position:fixed;z-index:100;left:50%;bottom:30px;transform:translateX(-50%);background:var(--green-dark);color:#fff;padding:12px 20px;border-radius:6px;font-size:12px;box-shadow:0 8px 30px #0002}
@media(min-width:1500px){.hero{padding-top:50px}.hero-mosaic{height:490px}}
@media(max-width:1100px){.shell{width:calc(100% - 72px)}.overview{gap:55px;grid-template-columns:minmax(0,1fr) 320px}.stay-summary{padding:25px}.stay-section{gap:55px;grid-template-columns:minmax(0,1fr) 350px}.outdoor-copy{padding:50px}.hero-facts{gap:22px;font-size:11px}.feature-stories{gap:22px}.feature-story h3{font-size:25px}.amenity-list{gap:32px 24px}.faq-section{gap:45px}.site-footer p{display:none}.header-inner{height:76px}.site-header nav{gap:24px}.brand{font-size:24px}.hero h1{font-size:clamp(40px,5vw,60px)}}
@media(max-width:850px){.shell{width:calc(100% - 48px)}.site-header nav{display:none}.hero{padding-top:30px}.hero h1{font-size:46px}.hero-mosaic{height:370px;grid-template-columns:1.5fr 1fr 1fr}.hero-facts{gap:17px;flex-wrap:wrap;padding-block:21px}.overview{gap:35px;grid-template-columns:minmax(0,1fr) 290px}.overview h2{font-size:35px}.overview-copy .lead{font-size:16px}.overview-copy>p:not(.lead):not(.eyebrow){font-size:13px}.stay-summary{padding:23px}.price{font-size:35px}.location-notes{gap:12px;flex-direction:column}.section{padding-block:65px}.section-heading h2{font-size:36px}.section-aside{font-size:11px}.filter-button{padding:9px 13px}.photo-grid{column-gap:16px}.feature-stories{gap:19px}.feature-story h3{font-size:23px}.feature-story p{font-size:11px}.amenity-list{grid-template-columns:1fr 1fr}.outdoor-copy{padding:40px}.outdoor-copy h2{font-size:40px}.outdoor-story{min-height:500px}.stay-section{gap:35px;grid-template-columns:minmax(0,1fr) 310px}.availability-card{padding:24px}.stay-copy h2{font-size:35px}.included-box ul{grid-template-columns:1fr}.faq-section{grid-template-columns:1fr 1.4fr}.faq-section h2{font-size:30px}.lightbox-caption{padding-inline:35px}.keyboard-hint{display:none}}
@media(max-width:700px){html{scroll-padding-top:92px}.shell{width:calc(100% - 36px)}.section{padding-block:48px}.header-inner{height:67px;gap:12px}.brand{font-size:23px;gap:8px}.brand-tree{width:23px;height:29px}.site-header .button{padding:9px 11px;gap:13px;font-size:10px}.hero{padding-top:25px}.hero-topline{margin-bottom:19px;gap:10px}.hero-topline .eyebrow{font-size:8px;letter-spacing:.13em}.availability{font-size:9px;gap:5px}.availability>span{width:5px;height:5px}.hero h1{font-size:42px;line-height:1.08;letter-spacing:-.045em}.mobile-break{display:block}.hero-subline{margin:18px 0 22px}.hero-subline p{font-size:12px;max-width:280px}.hero-subline .text-link{display:none}.hero-mosaic{height:400px;grid-template-columns:1fr 1fr;grid-template-rows:255px 138px;gap:6px;border-radius:10px}.mosaic-photo:first-child{grid-column:span 2;grid-row:auto}.mosaic-photo:nth-child(n+4){display:none}.mosaic-photo:first-child .photo-label{font-size:11px;left:16px;bottom:17px}.all-photos-button{font-size:10px;right:10px;bottom:10px;padding:8px 11px}.hero-facts{display:grid;grid-template-columns:1fr 1fr;font-size:10px;gap:14px 12px;padding:23px 2px}.hero-facts svg{width:17px;height:17px}.hero-facts span{gap:7px}.overview{display:flex;flex-direction:column;gap:32px}.overview h2{font-size:36px}.overview-copy .lead{font-size:16px;line-height:1.8}.overview-copy>p:not(.lead):not(.eyebrow){font-size:13px;line-height:1.9}.location-notes{flex-direction:row;gap:14px;font-size:10px;margin-top:25px}.location-notes span{font-size:10px}.stay-summary{width:100%;padding:25px}.stay-summary .eyebrow{margin-bottom:13px}.price{font-size:38px}.summary-dates{margin-block:21px 16px;gap:25px}.summary-term{font-size:12px}.stay-summary .button{font-size:13px}.quiet-note{font-size:10px}.section-heading{display:block;margin-bottom:22px}.section-heading h2{font-size:34px;line-height:1.15}.section-aside{font-size:11px;margin-top:15px}.section-aside br{display:none}.filter-bar{padding-bottom:13px}.filter-button{font-size:10px;padding:9px 13px}.gallery-context{font-size:9px;gap:12px;margin:9px 0 20px}.gallery-context>span{display:none}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.tile-image{border-radius:6px}.tile-caption{padding-top:9px}.tile-caption h3{font-size:10px;line-height:1.5}.tile-caption p{font-size:8px;margin-top:2px}.tile-expand{display:none}.gallery-actions{gap:20px;flex-wrap:wrap;margin-top:12px}.gallery-actions .button,.gallery-actions .text-link{font-size:10px}.feature-stories{grid-template-columns:1fr;gap:30px;margin-top:28px}.story-image{aspect-ratio:1.5}.story-number{margin-top:17px;font-size:9px}.feature-story h3{font-size:28px;margin-bottom:10px}.feature-story p{font-size:12px;line-height:1.9}.amenity-list{gap:25px 20px;margin-top:35px;padding-top:30px}.amenity-list>div{padding:0}.amenity-list svg{position:static;margin-bottom:9px;width:23px;height:23px}.amenity-list h4{font-size:11px}.amenity-list p{font-size:10px}.outdoor-story{grid-template-columns:1fr}.outdoor-photo{min-height:0;height:330px}.outdoor-copy{padding:40px 25px 46px}.outdoor-copy h2{font-size:40px}.outdoor-copy p:not(.eyebrow){font-size:12px}.stay-section{grid-template-columns:1fr;gap:35px}.stay-copy h2{font-size:36px}.stay-copy>.lead{font-size:16px}.stay-copy>p:not(.lead):not(.eyebrow){font-size:12px}.included-box ul{grid-template-columns:1fr 1fr;font-size:10px;gap:10px}.vehicle-note p{font-size:11px}.availability-card{padding:27px}.stay-options label{padding:15px}.stay-options strong{font-size:13px}.stay-options small{font-size:11px}.faq-section{grid-template-columns:1fr;gap:28px}.faq-section h2{font-size:33px}.faq-list summary{font-size:12px}.faq-list details p{font-size:11px;padding-right:15px}.site-footer{display:flex;flex-direction:column;gap:12px;align-items:start;padding-block:28px 115px}.site-footer p{display:block;font-size:11px}.site-footer>span{font-size:9px}.mobile-stay-bar{position:fixed;z-index:25;bottom:0;inset-inline:0;background:#fbfaf7f7;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:12px 18px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:15px}.mobile-stay-bar strong{font-size:17px;display:block;font-weight:550;line-height:1.4}.mobile-stay-bar small{font-size:10px;font-weight:400}.mobile-stay-bar>div>span{font-size:9px;color:var(--muted);display:block}.mobile-stay-bar .button{padding:11px 15px;font-size:11px}.lightbox-header{height:60px;padding:0 15px;gap:12px;font-size:10px}.lightbox-header p{font-size:10px}.lightbox-back span{display:none}.lightbox-stage{padding:8px 8px 0;min-height:150px}.lightbox-arrow{width:34px;height:34px;background:#1119}.lightbox-arrow.previous{left:12px}.lightbox-arrow.next{right:12px}.lightbox-arrow svg{width:17px;height:17px}.lightbox-caption{padding:15px 18px 12px;min-height:100px}.lightbox-caption h2{font-size:13px}.lightbox-caption p{font-size:10px}.lightbox-caption .edit-note{font-size:9px}.filmstrip{height:82px;padding:5px 18px 14px;gap:6px}.filmstrip button{width:74px;height:55px}.inquiry-dialog{padding:32px 23px;max-height:calc(100dvh - 24px)}.inquiry-dialog h2{font-size:30px}.inquiry-dialog input:not([type=checkbox]),.inquiry-dialog textarea,.inquiry-dialog select{font-size:16px}.inquiry-dialog .eyebrow{font-size:8px}.inquiry-result-actions{gap:14px;flex-wrap:wrap}.toast{bottom:95px;font-size:11px;width:max-content;max-width:90vw;text-align:center}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.amenity-list .amenity-link{font-size:10px;margin-top:9px}
.sleep-section{padding-bottom:84px}
.sleep-story{display:grid;grid-template-columns:1.08fr 1fr;background:var(--cream);border:1px solid #e4e4d9;border-radius:12px;overflow:hidden}
.sleep-photo{padding:0;min-width:0;min-height:450px;overflow:hidden;background:#e0e0d7}
.sleep-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.sleep-photo:hover img{transform:scale(1.025)}
.sleep-copy{padding:46px 48px;align-self:center}
.sleep-copy h2{font-size:42px}
.sleep-details{margin:28px 0 24px}
.sleep-details>div+div{margin-top:20px}
.sleep-details dt{font-size:12px;font-weight:600;margin-bottom:5px}
.sleep-details dd{margin:0;font-size:12px;line-height:1.85;color:var(--muted)}
.sleep-copy>.text-link{font-size:11px}
@media(max-width:1100px){.sleep-copy{padding:35px}.sleep-copy h2{font-size:38px}.sleep-details dd{font-size:11px}}
@media(max-width:850px){.sleep-section{padding-bottom:65px}.sleep-copy{padding:30px}.sleep-copy h2{font-size:35px}.sleep-details dt{font-size:11px}.sleep-photo{min-height:490px}}
@media(max-width:700px){.sleep-section{padding-bottom:48px}.sleep-story{grid-template-columns:1fr}.sleep-photo{aspect-ratio:4/3;min-height:0;width:100%}.sleep-copy{padding:30px 25px 34px}.sleep-copy h2{font-size:36px}.sleep-details{margin-top:25px}.sleep-details dt{font-size:12px}.sleep-details dd{font-size:12px}.sleep-details>div+div{margin-top:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.filmstrip{scroll-behavior:auto}}

/* Native swipe galleries keep the photographs at the centre of the experience. */
.hero-mobile{display:none}
.photo-carousel,.hero-mobile{position:relative;overflow:hidden;background:#e0e0d7}
.carousel-track{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track>button{flex:0 0 100%;width:100%;height:100%;padding:0;overflow:hidden;scroll-snap-align:center;scroll-snap-stop:always;background:none}
.carousel-track img{width:100%;height:100%;object-fit:cover;user-select:none;transform:none!important}
.carousel-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:#ffffffdf;box-shadow:0 1px 5px #0002;display:grid;place-items:center}
.carousel-arrow svg{width:16px;height:16px}.carousel-previous{left:12px}.carousel-next{right:12px}.carousel-arrow:disabled{opacity:0;pointer-events:none}
.carousel-count{position:absolute;z-index:1;bottom:14px;right:14px;padding:3px 10px;background:#18251dc9;border-radius:5px;color:white;font-size:10px;font-variant-numeric:tabular-nums;pointer-events:none}
.carousel-tour-button{position:absolute;z-index:1;bottom:14px;left:18px;display:flex;align-items:center;gap:7px;padding:8px 12px;background:#fbfaf7f5;border-radius:5px;font-size:11px;font-weight:600}
.carousel-tour-button svg{width:15px;height:15px}
.stay-dates{display:flex;align-items:center;gap:16px;padding:22px 18px;background:var(--cream);border:1px solid var(--line);border-radius:7px;margin:28px 0 24px}
.stay-dates strong{font-size:15px;font-weight:600;display:block}.stay-dates span{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-error{font-size:12px;color:#923e32;background:#fff0e9;padding:10px 13px;border-radius:5px}.success-mark{font-size:25px;background:#e5eddc;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;margin:20px 0}.inquiry-dialog #inquiry-result>p{margin:15px 0 25px}
.photo-tour{position:fixed;inset:0;border:0;padding:0;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;background:var(--paper);color:var(--ink);overflow:hidden}
.photo-tour[open]{display:flex;flex-direction:column}.photo-tour::backdrop{background:var(--paper)}
.tour-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0;padding:21px 40px;border-bottom:1px solid var(--line)}
.tour-header h2{font-family:var(--sans);font-size:19px;letter-spacing:-.02em;font-weight:600}.tour-header>span{font-size:12px;color:var(--muted)}
.tour-close{display:flex;align-items:center;gap:8px;background:none;padding:7px 0;font-size:12px}.tour-close svg{width:18px;height:18px}
.tour-nav{display:flex;gap:8px;padding:15px 40px;border-bottom:1px solid var(--line);overflow-x:auto;flex-shrink:0;scrollbar-width:thin}
.tour-nav button{background:var(--cream);border:1px solid var(--line);padding:8px 14px;border-radius:30px;white-space:nowrap;font-size:11px}.tour-nav button:hover,.tour-nav button:focus-visible{background:#dfe8d8}.tour-nav button span{margin-left:5px;color:var(--muted);font-size:9px}
.tour-body{overflow-y:auto;flex:1;min-height:0;position:relative;padding:32px max(40px,calc((100vw - 1250px)/2)) 60px;overscroll-behavior:contain}
.tour-room{padding-bottom:45px;scroll-margin-top:24px}.tour-room-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px;gap:20px}.tour-room-heading h3{font-size:31px}.tour-room-heading>span{font-size:11px;color:var(--muted)}
.tour-masonry{columns:3;column-gap:18px}.tour-tile{padding:0;background:none;display:block;width:100%;text-align:left;break-inside:avoid;margin:0 0 22px}
.tour-tile img{width:100%;height:auto;border-radius:8px;background:var(--cream)}.tour-tile>span{font-size:11px;display:block;padding:8px 2px 0}
.lightbox-image-wrap{display:flex;justify-content:initial;align-items:initial;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom}
.lightbox-image-wrap::-webkit-scrollbar{display:none}.viewer-slide{position:relative;flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center}
.viewer-slide img{width:100%;height:100%;object-fit:contain;user-select:none}.viewer-image-error{font-size:13px;padding:20px;text-align:center}
@media(max-width:700px){
  .hero{display:flex;flex-direction:column;padding-top:0}
  .hero-photos{order:-1;width:calc(100% + 36px);margin:0 -18px 24px}
  .hero-mosaic{display:none}
  .hero-mobile{display:block;width:100%;height:clamp(280px,75vw,480px);border-radius:0}
  .hero-topline{margin-bottom:15px}.hero h1{font-size:39px}.hero-subline{margin:15px 0 0}.hero-facts{margin-top:4px}
  .carousel-arrow{width:29px;height:29px;background:#ffffffc9}.carousel-count{bottom:12px;right:15px;font-size:11px;padding:4px 10px}
  .story-image .carousel-count{font-size:10px}.sleep-copy{padding:29px 25px 34px}.sleep-details dd{font-size:12px}
  .tour-header{padding:14px 16px;gap:12px}.tour-header h2{font-size:16px}.tour-header>span{font-size:10px}.tour-close{font-size:10px;gap:4px}.tour-close svg{width:16px;height:16px}
  .tour-nav{padding:12px 14px;gap:7px}.tour-nav button{font-size:10px;padding:8px 12px}
  .tour-body{padding:25px 12px 40px}.tour-room{padding-bottom:28px}.tour-room-heading{padding-inline:2px;margin-bottom:15px}.tour-room-heading h3{font-size:25px}.tour-room-heading>span{font-size:10px}
  .tour-masonry{columns:2;column-gap:10px}.tour-tile{margin-bottom:17px}.tour-tile img{border-radius:5px}.tour-tile>span{font-size:10px;line-height:1.5;padding-top:6px}
  .lightbox-header{height:53px;padding-inline:12px}.lightbox-stage{padding:0;min-height:0}.lightbox-arrow{width:29px;height:29px;opacity:.75}.lightbox-arrow.previous{left:7px}.lightbox-arrow.next{right:7px}
  .lightbox-caption{padding:12px 16px 8px;min-height:0}.lightbox-caption h2{font-size:14px}.lightbox-caption p{font-size:11px;line-height:1.5}
  .filmstrip{height:76px;padding:5px 12px calc(12px + env(safe-area-inset-bottom));gap:6px}.filmstrip button{height:52px;width:70px}
  .mobile-stay-bar>div>span{font-size:8px}
}
.carousel-track,.lightbox-image-wrap{touch-action:pan-y pinch-zoom;cursor:grab}.carousel-track:active,.lightbox-image-wrap:active{cursor:grabbing}
