:root{--bg:#f8f4ed;--surface:#fffdf8;--surface-strong:#fff;--text:#292724;--muted:#6f6a61;--line:#dfd6c8;--olive:#627044;--olive-dark:#414d2d;--clay:#a65f42;--warm:#ead9c1;--shadow:0 18px 45px #4437261f;--radius:8px;--max:1160px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, #fffdf8c7, #f8f4ede6), var(--bg);min-width:320px;margin:0}body,button,input,textarea{font:16px/1.55 inherit}button,a{font:inherit}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--text);letter-spacing:0;line-height:1.08}h1{max-width:720px;font-family:Georgia,Times New Roman,serif;font-size:4.8rem;font-weight:500}h2{max-width:760px;font-family:Georgia,Times New Roman,serif;font-size:3.25rem;font-weight:500}h3{font-size:1.24rem}button{border:0}:focus-visible{outline-offset:3px;outline:3px solid #627044a6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){h1{font-size:3rem}h2{font-size:2.2rem}}.site-header{z-index:20;width:min(var(--max), calc(100% - 32px));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8f4ede6;justify-content:space-between;align-items:center;gap:24px;min-height:78px;margin:0 auto;padding:14px 0;display:flex;position:sticky;top:0}.brand,.footer-brand{text-decoration:none}.brand{align-items:center;gap:12px;display:inline-flex}.brand-mark{border:1px solid var(--olive);width:44px;height:44px;color:var(--olive-dark);border-radius:50%;place-items:center;font-family:Georgia,Times New Roman,serif;font-weight:700;display:grid}.brand strong,.footer-brand{font-family:Georgia,Times New Roman,serif;font-size:1.12rem;display:block}.brand small{color:var(--muted);font-size:.78rem;display:block}.nav-list{align-items:center;gap:6px;display:flex}.nav-list a{min-height:40px;color:var(--muted);border-radius:999px;padding:8px 12px;font-size:.94rem;text-decoration:none}.nav-list a:hover{color:var(--text);background:#6270441a}.menu-toggle{display:none}.hero-section,.content-section,.site-footer{width:min(var(--max), calc(100% - 32px));margin:0 auto}.hero-section{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:56px;min-height:calc(100svh - 78px);padding:44px 0 76px;display:grid}.hero-copy{gap:24px;display:grid}.hero-copy>p:not(.eyebrow):not(.supporting-note),.section-heading>p{max-width:680px;color:var(--muted);font-size:1.08rem}.eyebrow{color:var(--olive-dark);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:800}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.primary-button,.secondary-button,.booking-button{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:12px 18px;font-weight:700;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primary-button,.booking-button{background:var(--olive-dark);color:#fffdf8;box-shadow:0 10px 22px #414d2d2e}.primary-button:hover,.booking-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #414d2d38}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--text)}.supporting-note,.section-note,.policy-note{color:var(--muted);font-size:.94rem}.hero-visual{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg, #ead9c1ad, #fffdf8f2), var(--surface);min-height:520px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-visual img{width:100%;height:100%;min-height:inherit;object-fit:cover}.hero-fact{border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8eb;gap:3px;max-width:220px;padding:18px;display:grid;position:absolute;bottom:24px;right:24px}.hero-fact strong,.rating-panel strong{color:var(--clay);font-family:Georgia,Times New Roman,serif;font-size:2rem}.hero-fact span,.rating-panel span{color:var(--muted)}.content-section{padding:88px 0}.muted-section{width:100%;max-width:none;padding-inline:max(16px, calc((100% - var(--max)) / 2));border-block:1px solid var(--line);background:#fffdf89e}.section-heading{gap:16px;margin-bottom:36px;display:grid}.stay-grid,.feature-grid,.location-grid,.review-grid{gap:18px;display:grid}.stay-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-card,.feature-card,.location-grid article,.empty-state,blockquote{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.stay-card{align-content:start;gap:18px;min-height:100%;padding:28px;display:grid}.stay-card>p:not(.eyebrow),.feature-card p,.location-grid p,blockquote p{color:var(--muted)}.stay-card ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.stay-card li{padding-left:24px;position:relative}.stay-card li:before{color:var(--olive);content:"✓";position:absolute;left:0}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{gap:12px;padding:24px;display:grid}.feature-card span{background:linear-gradient(135deg, #6270442e, #a65f4229), var(--warm);border-radius:50%;width:34px;height:34px}.gallery-shell{grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);gap:16px;display:grid}.gallery-feature,.gallery-item,.gallery-mobile-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;margin:0;padding:0;transition:transform .16s,box-shadow .16s;display:block;position:relative;overflow:hidden}.gallery-feature{min-height:520px;box-shadow:var(--shadow)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.gallery-feature img,.gallery-item img,.gallery-mobile-card img{object-fit:cover;background:#efe3d2;width:100%;height:100%}.gallery-feature img{min-height:520px}.gallery-item img{aspect-ratio:1}.gallery-feature:after,.gallery-item:after,.gallery-mobile-card:after{content:"";background:linear-gradient(#0000 38%,#1f1b16bf 100%);position:absolute;inset:0}.gallery-feature:hover,.gallery-item:hover,.gallery-mobile-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px #44372629}.gallery-feature-copy,.gallery-item-copy,.gallery-item-more-copy,.gallery-mobile-card>span{z-index:1;color:#fffdf8;text-align:left;gap:4px;padding:16px;display:grid;position:absolute;bottom:0;left:0;right:0}.gallery-feature-copy strong,.gallery-item-copy strong,.gallery-item-more-copy strong,.gallery-mobile-card strong{font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:500}.gallery-feature-copy span,.gallery-item-copy span,.gallery-item-more-copy span,.gallery-mobile-card>span>span{color:#fffdf8cc;font-size:.86rem}.gallery-item-more-copy{justify-content:end}.gallery-item-more:before{content:"";z-index:1;background:#1b181338;position:absolute;inset:0}.gallery-mobile-strip{display:none}.gallery-modal{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#171411d1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.gallery-modal-panel{background:#27221cf0;border:1px solid #fffdf824;border-radius:10px;gap:16px;width:min(1100px,100%);padding:18px;display:grid;box-shadow:0 22px 48px #00000052}.gallery-modal-close,.gallery-modal-nav{color:#fffdf8;background:#fffdf814;border:1px solid #fffdf82e;border-radius:999px;min-height:44px;padding:10px 14px}.gallery-modal-close{justify-self:end}.gallery-modal-frame{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.gallery-modal-frame img{border-radius:var(--radius);object-fit:contain;background:#1d1a17;width:100%;max-height:min(72vh,860px)}.gallery-modal-meta{color:#fffdf8;justify-content:space-between;align-items:end;gap:16px;display:flex}.gallery-modal-meta div{gap:4px;display:grid}.gallery-modal-meta strong{font-family:Georgia,Times New Roman,serif;font-size:1.18rem;font-weight:500}.gallery-modal-meta span{color:#fffdf8c2}.section-note{margin-top:18px}.map-link{width:fit-content;margin-top:16px}.section-note code{color:var(--olive-dark);background:#6270441a;border-radius:5px;padding:2px 6px}.split-section{grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:start;gap:34px;display:grid}.split-section .section-heading{margin-bottom:0}.duration-list{gap:12px;display:grid}.duration-list div{border-left:4px solid var(--olive);border-radius:var(--radius);background:var(--surface);gap:4px;padding:18px;display:grid}.duration-list span{color:var(--muted)}.compact{grid-column:2;justify-self:start}.location-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.location-grid article{gap:10px;padding:22px;display:grid}.reviews-section{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;gap:24px;display:grid}.reviews-section .section-heading,.reviews-section .empty-state,.reviews-section .review-grid{grid-column:1}.rating-panel{border-radius:var(--radius);background:var(--olive-dark);color:#fffdf8;grid-area:1/2/span 2;gap:8px;padding:28px;display:grid}.rating-panel strong,.rating-panel span{color:#fffdf8}.empty-state{color:var(--muted);padding:24px}blockquote{gap:12px;margin:0;padding:24px;display:grid}.review-stars{color:var(--clay);letter-spacing:.08em;font-size:1.05rem}cite{color:var(--text);font-style:normal;font-weight:700;display:block}.booking-section{padding-bottom:64px}.booking-actions{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.booking-button{min-height:44px;padding:10px 14px;font-size:.92rem}.booking-button.is-disabled{border:1px solid var(--line);color:#81796d;box-shadow:none;cursor:not-allowed;background:#ece5da}.policy-note{max-width:820px;margin-top:24px}.site-footer{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:42px 0;display:grid}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 16px;display:flex}.site-footer nav a{color:var(--muted);text-decoration:none}.site-footer nav a:hover{color:var(--text)}.copyright{grid-column:1/-1}@media (width<=920px){.menu-toggle{border:1px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;width:44px;height:44px;display:inline-grid}.menu-toggle span[aria-hidden=true],.menu-toggle:before,.menu-toggle:after{background:var(--text);content:"";border-radius:2px;width:18px;height:2px}.menu-toggle{gap:4px}.nav-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;padding:12px;display:none;position:absolute;top:68px;left:0;right:0}.nav-list.is-open{display:flex}.nav-list a{border-radius:var(--radius)}.hero-section,.stay-grid,.split-section,.reviews-section{grid-template-columns:1fr}.hero-section{gap:28px;min-height:auto;padding-top:30px}.hero-visual{min-height:430px}.feature-grid,.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-shell{grid-template-columns:1fr}.gallery-feature,.gallery-feature img{min-height:420px}.compact,.rating-panel,.reviews-section .section-heading,.reviews-section .empty-state,.reviews-section .review-grid{grid-area:auto}}@media (width<=620px){.site-header,.hero-section,.content-section,.site-footer{width:min(100% - 24px, var(--max))}.brand small{display:none}.hero-section{padding-bottom:54px}.hero-actions,.booking-actions{flex-direction:column;align-items:stretch}.primary-button,.secondary-button,.booking-button{width:100%}.hero-visual{min-height:340px}.hero-fact{max-width:180px;padding:14px;bottom:14px;right:14px}.content-section,.muted-section{padding-top:60px;padding-bottom:60px}.feature-grid,.location-grid{grid-template-columns:1fr}.gallery-shell{display:none}.gallery-mobile-strip{scroll-snap-type:x proximity;grid-auto-columns:minmax(260px,82vw);grid-auto-flow:column;gap:12px;padding-bottom:4px;display:grid;overflow-x:auto}.gallery-mobile-card{scroll-snap-align:start;min-height:320px}.gallery-mobile-card img{min-height:320px}.gallery-modal,.gallery-modal-panel{padding:12px}.gallery-modal-frame{grid-template-columns:1fr}.gallery-modal-nav{width:100%}.gallery-modal-meta{flex-direction:column;align-items:start}.site-footer{grid-template-columns:1fr}.site-footer nav{justify-content:flex-start}}.map-embed-wrap{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-top:20px;overflow:hidden}.map-embed-wrap iframe{border:0;width:100%;min-height:360px;display:block}
