@import "https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700&family=Tenor+Sans&display=swap";
:root{--background:#fff8f0;--text:#2c1810;--accent:#c17817;--accent-light:#d4941f;--border:#d4b896;--foreground:#3a2a1a;--muted:#8a7668;--font-body:"Raleway",sans-serif;--font-heading:"Tenor Sans",serif}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}html{scroll-behavior:smooth}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--text);background:var(--background);font-family:var(--font-body);letter-spacing:.01em;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.2}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94);transform:translateY(30px)}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.section-divider{background:var(--accent);border:none;width:60px;height:1px;margin:0 auto 2rem;display:block}.heading-accent:after{content:"";background:var(--accent);width:40px;height:1.5px;margin-top:.75rem;display:block}.heading-accent-center:after{content:"";background:var(--accent);width:40px;height:1.5px;margin:.75rem auto 0;display:block}.navbar{z-index:100;justify-content:space-between;align-items:center;width:100%;padding:1.5rem 2.5rem;transition:background-color .4s,padding .4s,box-shadow .4s;display:flex;position:fixed;top:0;left:0}.navbar.scrolled{background-color:var(--background);padding:1rem 2.5rem;box-shadow:0 1px 20px #2c18100f}.navbar-logo{color:#fff;transition:color .4s}.navbar.scrolled .navbar-logo{color:var(--text)}.navbar-links{align-items:center;gap:2.25rem;list-style:none;display:flex}.navbar-links a{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:#fff;font-size:.8rem;font-weight:500;text-decoration:none;transition:color .4s,opacity .2s;position:relative}.navbar-links a:after{content:"";background:currentColor;width:0;height:1px;transition:width .3s;position:absolute;bottom:-4px;left:0}.navbar-links a:hover:after{width:100%}.navbar.scrolled .navbar-links a{color:var(--text)}.btn-book{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;border:1.5px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;padding:.625rem 1.75rem;font-size:.7rem;font-weight:600;text-decoration:none;transition:background .3s,color .3s,transform .2s;display:inline-block}.btn-book:hover{background:var(--accent-light);border-color:var(--accent-light);transform:translateY(-1px)}.btn-outline{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--text);color:var(--text);cursor:pointer;background:0 0;padding:.875rem 2.25rem;font-size:.7rem;font-weight:600;text-decoration:none;transition:background .4s,color .4s,transform .2s;display:inline-block}.btn-outline:hover{background:var(--text);color:var(--background);transform:translateY(-1px)}.btn-outline.white{color:#fff;border-color:#ffffffb3}.btn-outline.white:hover{color:var(--text);background:#fff}.menu-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.menu-btn span{background:#fff;width:24px;height:2px;transition:background .3s;display:block}.navbar.scrolled .menu-btn span{background:var(--text)}.mobile-menu{background:var(--background);z-index:200;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.mobile-menu.open{display:flex}.mobile-menu a{font-family:var(--font-heading);color:var(--text);font-size:1.5rem}.mobile-menu-close{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:2rem;position:absolute;top:1.5rem;right:2rem}@media (max-width:768px){.navbar-links,.navbar>.btn-book{display:none}.menu-btn{display:flex}.navbar{padding:1rem 1.25rem}}.hero{justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%;animation:20s ease-out forwards hero-zoom}@keyframes hero-zoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero-overlay{z-index:1;background:linear-gradient(#00000026 0%,#0000004d 50%,#0006 100%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;color:#fff;padding:2rem;animation:1.2s ease-out .3s both hero-fade-in;position:relative}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-content h1{letter-spacing:.03em;text-shadow:0 2px 40px #0000004d;max-width:700px;margin:0 auto;font-size:clamp(2.25rem,5vw,3.75rem)}.hero-small{min-height:50vh}.hero-small .hero-content h1{font-size:clamp(2rem,5vw,3rem)}.hero-small .hero-content p{opacity:.9;max-width:700px;margin:1rem auto 0;font-size:.95rem;line-height:1.7}.section{padding:6rem 2.5rem}.section-narrow{padding:4rem 2.5rem}.container{max-width:1200px;margin:0 auto}.text-center{text-align:center}.section h2{letter-spacing:.02em;margin-bottom:1.25rem;font-size:clamp(1.75rem,3.5vw,2.5rem)}.section p{color:var(--foreground);max-width:650px;font-size:.95rem;line-height:1.8}.section .text-center p{margin-left:auto;margin-right:auto}.intro{text-align:center;padding:7rem 2.5rem}.intro h2{letter-spacing:.2em;text-transform:uppercase;margin-bottom:.5rem;font-size:clamp(1.75rem,3.5vw,2.5rem)}.intro p{max-width:580px;color:var(--foreground);margin:0 auto 2.5rem;font-size:.95rem;line-height:1.8}.gallery-section{padding:1rem 0;overflow:hidden}.gallery-row{gap:.5rem;animation:35s linear infinite scroll-left;display:flex}.gallery-row.reverse{animation:35s linear infinite scroll-right}.gallery-row img{object-fit:cover;flex-shrink:0;width:280px;height:280px;transition:filter .4s}.gallery-row img:hover{filter:brightness(1.08)}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scroll-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.two-col{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;display:grid}.two-col img{object-fit:cover;width:100%;height:420px}.two-col-text h2{letter-spacing:.02em;margin-bottom:1rem;font-size:clamp(1.5rem,3vw,2.25rem)}.two-col-text p{color:var(--foreground);font-size:.95rem;line-height:1.8}@media (max-width:768px){.two-col{grid-template-columns:1fr;gap:2rem}}.three-col-cta{grid-template-columns:1fr 1fr 1fr;min-height:70vh;display:grid}.three-col-cta .side-img{object-fit:cover;width:100%;height:100%;transition:transform 8s}.three-col-cta:hover .side-img{transform:scale(1.03)}.three-col-cta .center-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:3rem 2.5rem;display:flex}.three-col-cta .center-content h2{letter-spacing:.02em;font-size:clamp(1.5rem,3vw,2.25rem)}.three-col-cta .center-content p{color:var(--foreground);max-width:350px;font-size:.95rem;line-height:1.8}@media (max-width:768px){.three-col-cta{grid-template-columns:1fr;min-height:auto}.three-col-cta .side-img{height:300px}}.cta-banner{text-align:center;color:#fff;justify-content:center;align-items:center;min-height:55vh;display:flex;position:relative;overflow:hidden}.cta-banner .hero-bg,.cta-banner .hero-overlay{position:absolute;inset:0}.cta-banner .hero-bg img{object-fit:cover;width:100%;height:100%}.cta-banner .hero-overlay{background:linear-gradient(#00000040 0%,#00000073 100%)}.cta-banner-content{z-index:2;max-width:700px;padding:4rem 2rem;position:relative}.cta-banner-content h2{color:#fff;letter-spacing:.02em;margin-bottom:1.25rem;font-size:clamp(1.75rem,3.5vw,2.5rem)}.cta-banner-content p{opacity:.9;color:#fff;margin-bottom:2.5rem;font-size:.9rem;line-height:1.8}.footer{color:#e8ddd2;background:#2c1810;padding:5rem 2.5rem 0}.footer-main{grid-template-columns:1fr 1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto;padding-bottom:3rem;display:grid}.footer-contact h4{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.375rem;font-size:.85rem}.footer-contact p,.footer-contact a{color:#c4b5a5;font-size:.875rem;transition:color .2s}.footer-contact a:hover{color:#fff}.footer-contact>div+div{margin-top:1.5rem}.footer-center{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.footer-center .footer-logo{color:#e8ddd2}.footer-hours-grid{grid-template-columns:auto auto;gap:.3rem 1.5rem;font-size:.875rem;display:grid}.footer-hours-grid dt{text-align:right;color:var(--accent);letter-spacing:.05em;text-transform:uppercase;font-size:.8rem}.footer-hours-grid dd{color:#c4b5a5}.footer-bottom{color:#8a7668;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1.5rem 0;font-size:.8rem;display:flex}.footer-bottom a{color:#8a7668;text-decoration:none;transition:color .2s}.footer-bottom a:hover{color:#e8ddd2}.footer .btn-outline{color:#e8ddd2;border-color:#ffffff40;font-size:.65rem}.footer .btn-outline:hover{color:#2c1810;background:#e8ddd2;border-color:#e8ddd2}@media (max-width:768px){.footer-main{text-align:center;grid-template-columns:1fr}.footer-hours-grid{justify-content:center}.footer-bottom{text-align:center;flex-direction:column;gap:.5rem}}.menu-layout{grid-template-columns:250px 1fr;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.menu-sidebar{align-self:start;position:sticky;top:100px}.menu-sidebar h3{margin-bottom:1.5rem;font-size:1.5rem}.menu-sidebar ul{flex-direction:column;gap:.625rem;list-style:none;display:flex}.menu-sidebar a{letter-spacing:.03em;color:var(--muted);font-size:.85rem;transition:color .2s}.menu-sidebar a:hover{color:var(--text)}.menu-category{margin-bottom:3.5rem}.menu-category h3{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-top:1rem;padding-bottom:.75rem;font-size:1.5rem}.menu-grid{grid-template-columns:1fr 1fr;gap:2rem 3rem;display:grid}.menu-item{justify-content:space-between;gap:1rem;display:flex}.menu-item-info h4{font-family:var(--font-heading);margin-bottom:.25rem;font-size:1rem}.menu-item-info p{color:var(--muted);font-size:.8rem;font-style:italic;line-height:1.5}.menu-item-price{font-family:var(--font-heading);white-space:nowrap;color:var(--accent);flex-shrink:0;font-size:1rem}@media (max-width:768px){.menu-layout{grid-template-columns:1fr;gap:2rem}.menu-sidebar{position:static}.menu-grid{grid-template-columns:1fr}}.contact-grid{grid-template-columns:1fr 1fr;gap:4rem;max-width:1000px;margin:0 auto;display:grid}.contact-form{flex-direction:column;gap:0;display:flex}.contact-form input,.contact-form textarea{width:100%;font-family:var(--font-body);border:none;border-bottom:1px solid var(--border);color:var(--text);background:0 0;outline:none;padding:1rem 0;font-size:.9rem;transition:border-color .3s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form textarea{resize:vertical;border:1px solid var(--border);min-height:120px;margin-top:.75rem;padding:1rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);font-weight:300}.checkbox-row{color:var(--foreground);align-items:center;gap:.5rem;margin:1.25rem 0;font-size:.85rem;display:flex}.checkbox-row input[type=checkbox]{width:auto}.btn-submit{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;background:var(--accent);color:#fff;cursor:pointer;border:none;align-self:flex-start;padding:.875rem 2.5rem;font-size:.7rem;font-weight:600;transition:background .3s,transform .2s;display:inline-block}.btn-submit:hover{background:var(--accent-light);transform:translateY(-1px)}.contact-info-section>div{margin-bottom:2.5rem}.contact-info-section .icon{width:22px;height:22px;color:var(--accent);margin-bottom:.625rem}.contact-info-section h4{font-family:var(--font-heading);letter-spacing:.02em;margin-bottom:.25rem;font-size:.95rem}.contact-info-section p{color:var(--muted);font-size:.85rem;line-height:1.5}.contact-info-section a.contact-value{font-family:var(--font-heading);color:var(--text);margin-top:.375rem;font-size:1rem;transition:color .2s;display:block}.contact-info-section a.contact-value:hover{color:var(--accent)}@media (max-width:768px){.contact-grid{grid-template-columns:1fr;gap:3rem}}.rooms-intro{text-align:center;padding:7rem 2.5rem 4rem}.rooms-intro h2{letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem;font-size:clamp(1.75rem,4vw,2.5rem)}.rooms-intro p{max-width:650px;color:var(--foreground);margin:0 auto 2.5rem;font-size:.95rem;line-height:1.8}.room-slider{width:100%;height:80vh;position:relative;overflow:hidden}.room-slide{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.room-slide.active{opacity:1}.room-slide img{object-fit:cover;width:100%;height:100%}.room-slide-overlay{background:linear-gradient(#0000 0%,#0000001a 50%,#00000080 100%);justify-content:center;align-items:flex-end;padding-bottom:4rem;display:flex;position:absolute;inset:0}.room-slide-overlay h2{color:#fff;letter-spacing:.03em;text-shadow:0 2px 30px #0000004d;font-size:clamp(2rem,5vw,3.5rem)}.slider-arrows{pointer-events:none;z-index:5;justify-content:space-between;width:100%;padding:0 1.5rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.slider-arrow{pointer-events:all;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.25rem;transition:background .3s,transform .2s;display:flex}.slider-arrow:hover{background:#ffffff40;transform:scale(1.05)}.rooms-grid{grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px;margin:0 auto;display:grid}.room-card{overflow:hidden}.room-card img{object-fit:cover;width:100%;height:260px;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}.room-card:hover img{transform:scale(1.05)}.room-card-body{padding:1.5rem 0}.room-card-body h3{letter-spacing:.02em;margin-bottom:.5rem;font-size:1.1rem}.room-card-body p{color:var(--foreground);margin-bottom:1.25rem;font-size:.85rem;line-height:1.7}.room-card-body a{letter-spacing:.12em;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--accent);padding-bottom:3px;font-size:.75rem;font-weight:500;transition:color .2s,border-color .2s}.room-card-body a:hover{color:var(--accent)}@media (max-width:768px){.rooms-grid{grid-template-columns:1fr}.room-slider{height:50vh}}.policy-content{max-width:800px;margin:0 auto}.policy-content h2{margin:2rem 0 .75rem;font-size:1.5rem}.policy-content h3{margin:1.5rem 0 .5rem;font-size:1.2rem}.policy-content p{color:var(--foreground);margin-bottom:.75rem;font-size:.9rem;line-height:1.7}.policy-content ul{color:var(--foreground);margin:.5rem 0 1rem 1.5rem;font-size:.9rem;line-height:1.7}.policy-content a{color:var(--accent);text-decoration:underline}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:80vh;padding:2rem;display:flex}.not-found h1{font-size:2rem}.not-found p{color:var(--foreground);margin-bottom:1rem}.instagram-icon{color:#c4b5a5;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:color .2s,border-color .2s;display:inline-flex}.instagram-icon:hover{color:#fff;border-color:#ffffff80}.booking-inquiry{text-align:center;padding:6rem 2.5rem}.booking-inquiry h2{letter-spacing:.02em;margin-bottom:.5rem;font-size:clamp(1.5rem,3vw,2rem)}.booking-inquiry p{max-width:600px;color:var(--foreground);margin:0 auto 2.5rem;font-size:.95rem;line-height:1.8}.about-image{object-fit:cover;width:100%;max-width:900px;height:450px;margin:3rem auto 0}.contact-row{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;font-size:.9rem;display:flex}.contact-row a{color:var(--text);align-items:center;gap:.5rem;transition:color .2s;display:inline-flex}.contact-row a:hover{color:var(--accent)}.contact-row span{color:var(--muted)}
