@font-face{font-family:DM Sans Variable;font-style:normal;font-weight:100 1000;font-display:optional;src:url(/fonts/dm-sans-latin-wght-normal.woff2) format("woff2-variations")}@font-face{font-family:Literata Variable;font-style:normal;font-weight:200 900;font-display:optional;src:url(/fonts/literata-latin-wght-normal.woff2) format("woff2-variations")}@font-face{font-family:Literata Variable;font-style:italic;font-weight:200 900;font-display:optional;src:url(/fonts/literata-latin-wght-italic.woff2) format("woff2-variations")}:root{--color-sand: #f5f0e8;--color-cream: #faf8f5;--color-white: #fff;--color-sea: #5a8f8c;--color-sea-dark: #4a7c79;--color-teal: #6b9b98;--color-olive: #7d8c5a;--color-terracotta: #b85c4a;--color-brown: #5c4a42;--color-footer: #4a4542;--color-btn: #a35a4a;--color-btn-hover: #8f4a3d;--color-link: #7d5548;--color-link-hover: #6b4539;--color-text: #3d3632;--color-text-soft: #554d47;--font-sans: "DM Sans Variable", system-ui, sans-serif;--font-serif: "Literata Variable", Georgia, serif;--space: 1.25rem;--space-sm: 1rem;--space-lg: 2rem;--space-xl: 3rem;--radius: 8px;--radius-lg: 12px;--shadow: 0 2px 12px rgba(92, 74, 66, .08);--shadow-lg: 0 8px 32px rgba(92, 74, 66, .12)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-text);background:var(--color-cream)}img{max-width:100%;height:auto;display:block}a{color:var(--color-link);text-decoration:none;transition:color .2s ease,background-color .2s ease,text-decoration-color .2s ease}a:hover{text-decoration:underline}a:focus-visible,.btn:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.text-nowrap{white-space:nowrap}.header{position:sticky;top:0;z-index:100;background:var(--color-white);box-shadow:var(--shadow)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space);max-width:1200px;margin:0 auto;padding:var(--space) var(--space-lg)}.logo-link{flex-shrink:0}.logo{height:42px;width:auto}.nav{display:none}@media(min-width:900px){.nav{display:block}}.nav{flex:1 1 auto;min-width:0}.nav-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .85rem}.nav-link{color:var(--color-text);font-weight:500;font-size:.9rem;white-space:nowrap}.nav-link:hover{color:var(--color-link);text-decoration:none}.nav-link.active{color:var(--color-link);font-weight:600;text-decoration:none}.nav-link.active:hover{color:var(--color-link-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.25rem;font-family:var(--font-sans);font-weight:600;font-size:.95rem;border-radius:var(--radius);border:none;cursor:pointer;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.btn-cta{background:var(--color-btn);color:var(--color-white)}.btn-cta:hover{background:var(--color-btn-hover);color:var(--color-white);text-decoration:none}.btn-secondary{background:var(--color-white);color:var(--color-text);border:2px solid rgba(92,74,66,.25);box-shadow:var(--shadow)}.btn-secondary:hover{background:var(--color-sand);color:var(--color-link);border-color:var(--color-link);text-decoration:none;box-shadow:0 4px 16px #5c4a421f}.header-inner .btn-cta{display:none}@media(min-width:900px){.header-inner .btn-cta{display:inline-flex}}.header-cta{white-space:nowrap;flex-shrink:0}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:none;border:none;cursor:pointer}@media(min-width:900px){.menu-toggle{display:none}}.menu-toggle-bar{display:block;width:22px;height:2px;background:var(--color-text);border-radius:1px}.nav-mobile{display:none;background:var(--color-sand);padding:var(--space-lg);border-top:1px solid rgba(92,74,66,.1)}.nav-mobile .nav-list{flex-direction:column;gap:.75rem}.nav-mobile .nav-link{display:block;padding:.5rem 0}.nav-mobile .btn-cta{display:inline-flex;margin-top:.5rem}body.menu-open .nav-mobile{display:block}@media(min-width:900px){.nav-mobile{display:none!important}}.main{min-height:calc(100vh - 200px)}.footer{background:var(--color-footer);color:var(--color-sand);padding:var(--space-xl) var(--space-lg);margin-top:var(--space-xl)}.footer-inner{max-width:1200px;margin:0 auto;text-align:center}.footer-logo{margin:0 auto 1rem;opacity:.9}.footer-location,.footer-contact,.footer-credit{margin:.5rem 0;font-size:.95rem}.footer a{color:var(--color-cream);text-decoration:underline;text-underline-offset:.2em;transition:color .2s ease,background-color .2s ease}.footer a:hover{color:var(--color-white);background:#ffffff1f;text-decoration:underline}.footer-credit{margin-top:1.5rem;font-size:.85rem;color:#e0d9cf}.section{padding:var(--space-xl) var(--space-lg);max-width:1200px;margin:0 auto}.page-intro .section-title{margin-bottom:.75rem}.section-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:600;color:var(--color-brown);margin:0 0 1rem}.prose{color:var(--color-text-soft);max-width:65ch}.prose p{margin:0 0 1rem}.faq-item{margin-bottom:.75rem;border:1px solid rgba(92,74,66,.14);border-radius:var(--radius);background:var(--color-white);transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease}.faq-item:hover{border-color:#5a8f8c73;box-shadow:var(--shadow);background:var(--color-sand)}.faq-item[open]{border-color:#5a8f8c61;box-shadow:var(--shadow)}.faq-summary{cursor:pointer;padding:.85rem 1rem;list-style:none;display:flex;align-items:flex-start;gap:.65rem;transition:color .2s ease;user-select:none}.faq-summary::-webkit-details-marker{display:none}.faq-summary:before{content:"";flex-shrink:0;width:.45rem;height:.45rem;margin-top:.4em;border-right:2px solid var(--color-sea);border-bottom:2px solid var(--color-sea);transform:rotate(-45deg);transition:transform .22s ease,border-color .2s ease}.faq-item:hover .faq-summary:before{border-color:var(--color-sea-dark)}.faq-item[open] .faq-summary:before{transform:rotate(45deg);margin-top:.35em}.faq-question{font-weight:600;color:var(--color-brown);transition:color .2s ease}.faq-item:hover .faq-question,.faq-summary:hover .faq-question{color:var(--color-sea-dark)}.faq-answer{margin:0;padding:.75rem 1rem 1rem 2.05rem;border-top:1px solid rgba(92,74,66,.08)}.faq-summary:focus-visible{outline:2px solid var(--color-link);outline-offset:2px;border-radius:2px}.hero{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;background:var(--color-sea) center / cover no-repeat;color:var(--color-white);text-align:center}.hero-content{position:relative;z-index:1;padding-top:var(--space-lg);padding-bottom:var(--space-lg);padding-left:var(--space-sm);padding-right:var(--space-sm);max-width:700px;background:#00000040;border-radius:8px;backdrop-filter:blur(2px)}.hero-title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);font-weight:600;margin:0 0 .35rem;text-shadow:0 1px 3px rgba(0,0,0,.3)}.hero-subtitle{font-size:1.1rem;opacity:.95;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.2)}.hero-location{font-size:1rem;opacity:.9;margin:.5rem 0 1rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}.hero-location a{color:#ecc8bc;text-decoration:underline;text-underline-offset:.2em}.hero-location a:hover{color:var(--color-white);text-decoration:underline}.hero .btn-cta{background:var(--color-white);color:var(--color-brown)}.hero .btn-cta:hover{background:var(--color-sand);color:var(--color-brown);text-decoration:none}.hero .btn-secondary{background:transparent;color:var(--color-white);border:2px solid var(--color-white)}.hero .btn-secondary:hover{background:#fff3;color:var(--color-white);text-decoration:none}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#00000040,#0006);pointer-events:none}.hero-slider{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;will-change:opacity}.hero-slide picture{position:absolute;inset:0;display:block}.hero-slide-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block}.hero-slide.active{opacity:1;z-index:0}.reviews{background:var(--color-sand);padding:var(--space-xl) var(--space-lg)}.reviews-inner{max-width:1000px;margin:0 auto}.reviews-title{font-family:var(--font-serif);font-size:1.75rem;font-weight:600;color:var(--color-brown);text-align:center;margin:0 0 1.5rem}.reviews-grid{display:grid;gap:1.25rem}@media(min-width:600px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}.review-card{background:var(--color-white);padding:1.25rem;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.review-quote{font-family:var(--font-serif);font-size:1.05rem;font-style:italic;color:var(--color-text);margin:0}.cta-block{text-align:center;padding:var(--space-xl) var(--space-lg);background:linear-gradient(180deg,var(--color-cream) 0%,var(--color-sand) 100%)}.cta-block .btn-cta{font-size:1.1rem;padding:.85rem 1.75rem}.room-photos-section{padding-top:0}.room-photos-title{font-family:var(--font-serif);font-size:1.25rem;margin:0 0 1rem}.room-photos-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:600px){.room-photos-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.room-photos-list{grid-template-columns:repeat(3,1fr)}}.room-photo-item{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.room-photo-item .gallery-link{display:block;cursor:pointer}.room-photo-item .gallery-link:hover .room-photo-img{opacity:.95}.room-photo-img{width:100%;height:auto;display:block;object-fit:cover;transition:opacity .2s}.room-cards{display:grid;gap:1.5rem;grid-template-columns:1fr}.room-cards-bento{display:grid;gap:1.25rem;grid-template-columns:1fr}@media(min-width:700px){.room-cards-bento{grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto}.room-cards-bento .bento-card-1{grid-column:1 / 3;grid-row:1}.room-cards-bento .bento-card-2{grid-column:3 / 5;grid-row:1}.room-cards-bento .bento-card-3{grid-column:2 / 4;grid-row:2}}.room-card{background:var(--color-white);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.room-name{font-family:var(--font-serif);font-size:1.25rem;margin:0 0 .25rem}.room-size{margin:0 0 .5rem;font-size:.9rem;color:var(--color-text-soft, #666)}.room-details{margin:0;padding-left:1.25rem;color:var(--color-text-soft)}.room-details li{margin:.25rem 0}.restaurant-photos-section{padding-top:0}.restaurant-photos-title{font-family:var(--font-serif);font-size:1.25rem;margin:0 0 1rem}.restaurant-photos-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:500px){.restaurant-photos-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:800px){.restaurant-photos-list{grid-template-columns:repeat(3,1fr)}}.restaurant-photo-item{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:1}.restaurant-photo-item .gallery-link{display:block;height:100%;cursor:pointer}.restaurant-photo-item .gallery-link picture{display:block;width:100%;height:100%}.restaurant-photo-item .gallery-link:hover .restaurant-photo-img{opacity:.95}.restaurant-photo-img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:opacity .2s}.facilities-grid{display:grid;gap:2rem}@media(min-width:600px){.facilities-grid{grid-template-columns:1fr 1fr}}.facility-block{background:var(--color-white);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow)}.facility-heading{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--color-brown);margin:0 0 1rem}.facility-list{margin:0;padding-left:1.25rem;color:var(--color-text-soft)}.facility-list li{margin:.35rem 0}.gallery-section{padding-top:0}.gallery-category{margin-bottom:2.5rem}.gallery-category-title{font-family:var(--font-serif);font-size:1.35rem;font-weight:600;color:var(--color-brown);margin:0 0 1rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.gallery-link{display:block;text-decoration:none;color:inherit;cursor:pointer}.gallery-link:hover{text-decoration:none}.gallery-link:focus-visible{outline:2px solid var(--color-link);outline-offset:2px;border-radius:var(--radius)}.gallery-item{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--color-sand);transition:box-shadow .2s}.gallery-link:hover .gallery-item{box-shadow:var(--shadow-lg)}.gallery-item img{width:100%;height:200px;object-fit:cover}.gallery-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:3rem;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.gallery-lightbox.open{opacity:1;visibility:visible}.gallery-lightbox-backdrop{position:absolute;inset:0;background:#000000e6;cursor:pointer}.gallery-lightbox-content{position:relative;z-index:2;max-width:90vw;max-height:85vh;display:flex;align-items:center;justify-content:center}.gallery-lightbox-img{max-width:100%;max-height:85vh;width:auto;height:auto;object-fit:contain;border-radius:var(--radius)}.gallery-lightbox-close,.gallery-lightbox-prev,.gallery-lightbox-next{position:absolute;z-index:3;width:48px;height:48px;padding:0;border:none;border-radius:50%;background:#ffffff26;color:var(--color-white);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.gallery-lightbox-close:hover,.gallery-lightbox-prev:hover,.gallery-lightbox-next:hover{background:#ffffff40}.gallery-lightbox-close{top:1rem;right:1rem;font-size:2rem;line-height:1}.gallery-lightbox-prev{left:1rem;top:50%;transform:translateY(-50%)}.gallery-lightbox-next{right:1rem;top:50%;transform:translateY(-50%)}.gallery-lightbox-arrow{display:block}@media(max-width:768px){.gallery-lightbox{padding:0;align-items:stretch}.gallery-lightbox-content{width:100%;max-width:none;max-height:none;height:100%;display:flex;align-items:center;justify-content:center}.gallery-lightbox-img{width:100%;max-width:100vw;height:auto;max-height:100vh;max-height:100dvh;object-fit:contain;border-radius:0}.gallery-lightbox-close{top:max(.5rem,env(safe-area-inset-top));right:max(.5rem,env(safe-area-inset-right))}.gallery-lightbox-prev{left:max(.5rem,env(safe-area-inset-left))}.gallery-lightbox-next{right:max(.5rem,env(safe-area-inset-right))}}.link-cta-with-arrow{display:inline-flex;align-items:center;gap:.35em}.link-cta-with-arrow .arrow-right{flex-shrink:0}.link-secondary{font-size:.9rem;color:var(--color-text-soft)}.link-secondary:hover{color:var(--color-link)}.map-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.contact-card{background:var(--color-white);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);max-width:400px}.contact-card p{margin:0 0 1rem}.contact-card p:last-child{margin-bottom:0}.contact-card a{color:var(--color-link);text-decoration:underline;text-underline-offset:.2em;padding:.1em .2em;margin:-.1em -.2em;border-radius:3px;transition:color .2s ease,background-color .2s ease}.contact-card a:hover{color:var(--color-link-hover);background:#7d55481a}
