@keyframes photo-next{0%{opacity:.35;transform:translateX(24px) scale(1.055)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes photo-previous{0%{opacity:.35;transform:translateX(-24px) scale(1.055)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes gallery-next{0%{opacity:0;transform:translateX(42px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes gallery-previous{0%{opacity:0;transform:translateX(-42px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes soft-arrival{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-arrival{0%{opacity:0}to{opacity:1}}.scroll-progress{position:fixed;inset:0 0 auto;z-index:100;height:4px;background:#b66d43;box-shadow:0 2px 7px #4f2d2540;transform:scaleX(var(--scroll-progress,0));transform-origin:left center;pointer-events:none}.hero-copy{animation:fade-arrival .8s ease both}.hero-photo-caption{animation:fade-arrival .9s .2s both}.button{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .25s,color .25s,box-shadow .28s}.button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#fff8df45 50%,transparent 75%);transform:translateX(-120%);transition:transform .65s ease;pointer-events:none}.button:focus-visible:before,.button:hover:before{transform:translateX(120%)}.button:hover{transform:translateY(-4px);box-shadow:0 9px 20px #53331e35}.button:active{transform:translateY(1px) scale(.975);box-shadow:0 2px 4px #53331e22}.button svg,.contact-map>a svg,.footer-main>a:last-child svg,.hero-photo-caption a svg,.mobile-menu nav a svg,.text-link svg{transition:transform .28s cubic-bezier(.2,.8,.2,1)}.button:focus-visible svg,.button:hover svg,.contact-map>a:hover svg,.footer-main>a:last-child:hover svg,.hero-photo-caption a:hover svg,.mobile-menu nav a:hover svg,.text-link:hover svg{transform:translate(3px,-3px)}.hero-actions .text-link:hover svg{transform:translateY(5px)}.text-link{transition:color .25s,transform .25s}.text-link:hover{transform:translateX(3px)}.hero-actions .text-link{margin-left:0;padding:11px 15px;border:1px solid #c7a47a;border-radius:5px;background:#f1dfc4;color:#73472e;font-weight:700;box-shadow:0 2px 0 #c6a47a75;transition:color .25s,background .25s,transform .25s,box-shadow .25s}.hero-actions .text-link:focus-visible,.hero-actions .text-link:hover{color:#65371e;background:#e8cca2;transform:translateY(-2px);box-shadow:0 5px 13px #76503630}.hero-actions .text-link:active{transform:translateY(1px) scale(.98)}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .28s}.desktop-nav a:focus-visible:after,.desktop-nav a:hover:after{transform:scaleX(1)}.brand svg{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.brand:hover svg{transform:rotate(-5deg) translateY(-2px)}.close-dialog,.hero-photo-caption a,.media-caption button,.menu-heading button,.menu-toggle,.photo-controls button{transition:transform .25s,background .25s,box-shadow .25s}.close-dialog:hover,.hero-photo-caption a:hover,.media-caption button:hover,.menu-heading button:hover,.menu-toggle:hover,.photo-controls button:hover{transform:translateY(-3px) scale(1.07);box-shadow:0 5px 15px #2b231c2d}.close-dialog:active,.hero-photo-caption a:active,.media-caption button:active,.menu-heading button:active,.menu-toggle:active,.photo-controls button:active{transform:scale(.92)}.slide-image[data-direction=next]{animation:photo-next .55s cubic-bezier(.2,.75,.2,1) backwards}.slide-image[data-direction=previous]{animation:photo-previous .55s cubic-bezier(.2,.75,.2,1) backwards}.media-image[data-direction=next]{animation:gallery-next .43s cubic-bezier(.2,.8,.2,1) both}.media-image[data-direction=previous]{animation:gallery-previous .43s cubic-bezier(.2,.8,.2,1) both}.room-card{transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.room-card:hover{box-shadow:0 12px 27px #6e4b2524}.price-card:nth-child(3n+2),.room-card:nth-child(2){transition-delay:70ms}.price-card:nth-child(3n),.room-card:nth-child(3){transition-delay:.14s}.room-copy .animated-details{margin-top:22px;border-block:1px dashed var(--line)}.booking-details .animated-details{border-bottom:1px solid #d0b996}.booking-details .animated-details:first-child .animated-summary{padding-top:0}.animated-summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;background:transparent;color:inherit;text-align:left;font-size:13px;transition:color .28s,padding-left .28s}.animated-details.is-open .animated-summary,.animated-summary:focus-visible,.animated-summary:hover{color:#9b5034}.animated-summary:hover{padding-left:5px}.details-icon{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border:1px solid transparent;border-radius:50%;font-size:21px;line-height:1;transition:transform .42s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s}.animated-summary:hover .details-icon{transform:rotate(90deg) scale(1.1);border-color:#b59775;background:#f8edda}.animated-details.is-open .animated-summary:hover .details-icon,.animated-details.is-open .details-icon{transform:rotate(135deg);border-color:#b59775;background:#f8edda}.details-panel{display:grid;grid-template-rows:0fr;opacity:0;pointer-events:none;transition:grid-template-rows .48s cubic-bezier(.2,.8,.2,1),opacity .35s ease}.details-panel-inner{min-height:0;overflow:hidden;transform:translateY(-9px);transition:transform .48s cubic-bezier(.2,.8,.2,1)}.animated-details.is-open .details-panel{grid-template-rows:1fr;opacity:1;pointer-events:auto}.animated-details.is-open .details-panel-inner{transform:translateY(0)}.room-copy .details-panel ul{padding:0 0 12px 18px;font-size:12px;color:var(--muted);line-height:1.7}.room-copy .details-panel li{margin-bottom:10px}.booking-details .details-panel p{padding-bottom:18px}.about-photos>img,.leisure-photos img{transition:transform .7s cubic-bezier(.2,.8,.2,1)}.about-photos:hover>img,.leisure-photos figure:hover img{transform:scale(1.035)}.leisure-photos figure{transition:opacity .8s,box-shadow .3s,transform .35s}.leisure-photos figure:hover{box-shadow:0 14px 32px #20200c50}.leisure-photos figure:first-child:hover{transform:rotate(-.3deg) translateY(-5px)}.leisure-photos figure:last-child:hover{transform:rotate(.3deg) translateY(-5px)}.gallery-item{transition:opacity .7s,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}.gallery-item:hover{transform:translateY(-7px) rotate(0);box-shadow:0 13px 25px #70532b32}.gallery-item:active{transform:translateY(-1px) scale(.975)}.gallery-caption svg{transition:transform .25s}.gallery-item:hover .gallery-caption svg{transform:translate(3px,-3px)}.price-filters button{transition:transform .22s,background .22s,color .22s,box-shadow .22s}.price-filters button:hover{transform:translateY(-3px);box-shadow:0 5px 10px #7151371c}.price-filters button:active{transform:translateY(1px) scale(.96)}.price-card{transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .3s}.price-card:hover{box-shadow:0 12px 25px #62451b26}.contact-map>a{transition:transform .25s,box-shadow .25s}.contact-map>a:hover{transform:translateY(-4px);box-shadow:0 7px 17px #2f231c42}.mobile-menu[open]{animation:soft-arrival .3s both}.mobile-menu nav a:hover{color:#9b5034;transform:translateX(5px)}.motion-ready .about-copy:not(.is-visible),.motion-ready .contact-copy:not(.is-visible),.motion-ready .contact-map:not(.is-visible),.motion-ready .leisure-features>div:not(.is-visible),.motion-ready .price-card:not(.is-visible),.motion-ready .quote-grid blockquote:not(.is-visible),.motion-ready .room-card:not(.is-visible),.motion-ready .section-heading:not(.is-visible){opacity:0;transform:translateY(24px)}.about-copy,.contact-copy,.contact-map,.leisure-features>div,.quote-grid blockquote,.section-heading{transition:opacity .75s,transform .75s cubic-bezier(.2,.8,.2,1)}.motion-ready .about-photos:not(.is-visible),.motion-ready .gallery-item:not(.is-visible),.motion-ready .leisure-photos figure:not(.is-visible){opacity:0}.about-photos{transition:opacity .8s}.leisure-features>div:nth-child(3n+2),.quote-grid blockquote:nth-child(2){transition-delay:70ms}.leisure-features>div:nth-child(3n),.quote-grid blockquote:nth-child(3){transition-delay:.14s}.back-to-top{position:fixed;right:20px;bottom:20px;z-index:20;display:flex;align-items:center;gap:8px;background:#895035;border:1px solid #eed8b7;border-radius:30px;color:#fff8ed;padding:12px 16px;font-size:12px;box-shadow:0 7px 20px #281a1642;opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .3s,transform .3s,background .3s}.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:#6d3d29;transform:translateY(-4px)}.back-to-top:active{transform:scale(.94)}.back-to-top svg{transform:rotate(-45deg)}@media (max-width:560px){.back-to-top{right:14px;bottom:14px;padding:11px 13px}.back-to-top span{display:none}}@media (prefers-reduced-motion:reduce){.scroll-progress{display:none}.motion-ready .about-copy:not(.is-visible),.motion-ready .about-photos:not(.is-visible),.motion-ready .contact-copy:not(.is-visible),.motion-ready .contact-map:not(.is-visible),.motion-ready .gallery-item:not(.is-visible),.motion-ready .leisure-features>div:not(.is-visible),.motion-ready .leisure-photos figure:not(.is-visible),.motion-ready .price-card:not(.is-visible),.motion-ready .quote-grid blockquote:not(.is-visible),.motion-ready .room-card:not(.is-visible),.motion-ready .section-heading:not(.is-visible){opacity:1}}.hero-card-handle{display:none}@media (max-width:560px){body,html{overflow-x:clip}.hero{height:max(740px,calc(100svh - 115px));min-height:0;padding:0}.hero-visual{z-index:0}.hero-image{object-position:50% center}.hero-copy{position:absolute;z-index:2;top:48px;left:16px;width:calc(100% - 32px);max-width:none;transform:translateX(calc(-100% + 70px)) rotate(-2deg);transition:transform .7s cubic-bezier(.18,.84,.23,1),box-shadow .4s ease;will-change:transform}.hero-copy.is-open{transform:translateX(0) rotate(-.6deg);box-shadow:0 22px 55px #1e1a176b}.hero-photo-caption{z-index:2;left:auto;right:16px;bottom:28px;width:min(310px,calc(100% - 32px));min-height:112px;padding-left:78px;transform:translateX(calc(100% - 70px)) rotate(2deg);transition:transform .7s cubic-bezier(.18,.84,.23,1),box-shadow .4s ease;will-change:transform}.hero-photo-caption.is-open{transform:translateX(0) rotate(2deg);box-shadow:0 16px 45px #1e1a1766}.hero-copy>:not(.hero-card-handle),.hero-photo-caption>:not(.hero-card-handle){opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s .2s}.hero-copy.is-open>:not(.hero-card-handle),.hero-photo-caption.is-open>:not(.hero-card-handle){opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s ease .22s,visibility 0s}.hero .hero-card-handle{position:absolute;z-index:3;top:0;right:0;display:flex;align-items:center;justify-content:center;gap:10px;width:70px;height:100%;min-height:70px;padding:16px 10px;border:0;border-radius:inherit;background:transparent;color:#714b32;font:700 12px/1.2 system-ui,sans-serif;cursor:pointer;touch-action:manipulation;transition:background .25s ease,color .25s ease}.hero .hero-card-handle:hover{background:#e7d6b280}.hero .hero-card-handle:focus-visible{outline:3px solid #9d5136;outline-offset:-5px}.hero .hero-card-handle span{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.1em;text-transform:uppercase}.hero .hero-card-handle .handle-arrow{transform:rotate(180deg);flex:none}.hero .hero-card-handle .handle-close{display:none}.hero .hero-photo-caption .hero-card-handle{left:0;right:auto}.hero .hero-photo-caption .hero-card-handle .handle-arrow{transform:none}.hero .is-open>.hero-card-handle{top:7px;right:7px;left:auto;width:42px;height:42px;min-height:0;padding:9px;border-radius:50%;background:#e8d7b7}.hero .is-open>.hero-card-handle .handle-arrow,.hero .is-open>.hero-card-handle span{display:none}.hero .is-open>.hero-card-handle .handle-close{display:block}.leisure-features{grid-template-columns:repeat(2,minmax(0,1fr))}.leisure-features>div{min-width:0}.leisure-features h3{overflow-wrap:anywhere}}@media (max-width:360px){.site-header{gap:8px;padding-inline:5%}.site-header .brand{gap:7px;min-width:0}.site-header .brand svg{width:clamp(28px,10vw,36px);height:40px}.site-header .brand span{font-size:clamp(14px,6.2vw,21px)}.site-header .brand small{font-size:8px;letter-spacing:2px}.site-header .menu-toggle{flex:none;padding:6px}}@media (max-width:300px){.site-footer .brand{gap:7px}.site-footer .brand svg{width:32px;height:38px}.site-footer .brand span{font-size:18px}.site-footer .brand small{font-size:8px;letter-spacing:2px}.pricing-grid{grid-template-columns:minmax(0,1fr)}.price-card{min-width:0;padding-inline:14px}.price{font-size:clamp(32px,14vw,42px)}.price-total{flex-wrap:wrap}}