:root{--color-sage:#3db87a;--color-sage-dark:#1e8a4f;--color-wood:#f4845f;--color-wood-light:#fde8df;--color-blue:#00b4c8;--color-blue-dark:#0093a8;--color-coral:#ff7f6e;--color-gold:#ffb347;--bg-primary:#fef9f3;--bg-white:#fff;--text-primary:#1e2d2f;--text-secondary:#4a5568;--border-color:#e0dcd3;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--max-width:1200px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Georgia,Times New Roman,serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--color-sage-dark);font-family:Georgia,serif;line-height:1.3}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.35rem,3vw,1.75rem)}h3{font-size:clamp(1.1rem,2vw,1.25rem)}img{max-width:100%;height:auto;display:block}a{color:var(--color-blue);text-decoration:none;transition:color .2s}a:hover{color:var(--color-blue-dark)}ul{list-style:none}address{font-style:normal}.page-header{text-align:center;padding:calc(var(--navbar-height) + 3rem) 1.5rem 2rem;-webkit-backdrop-filter:blur(12px);background:#ffffffd1}.page-header h1{text-shadow:0 1px 3px #00000014;margin-bottom:.5rem}.page-header p{color:var(--text-secondary);font-size:1.05rem;font-weight:500}.btn-primary,.btn-secondary{border-radius:var(--radius-md);text-align:center;cursor:pointer;border:none;padding:.75rem 1.75rem;font-family:inherit;font-size:1rem;font-weight:700;transition:background-color .2s,transform .15s;display:inline-block}.btn-primary{background-color:var(--color-blue);color:#fff}.btn-primary:hover{background-color:var(--color-blue-dark);color:#fff;transform:translateY(-1px)}.btn-secondary{color:var(--color-blue);border:2px solid var(--color-blue);background-color:#0000}.btn-secondary:hover{background-color:var(--color-blue);color:#fff;transform:translateY(-1px)}.empty-state{text-align:center;color:var(--text-secondary);padding:4rem 1.5rem;font-style:italic}.section-footer{text-align:center;margin-top:2rem}.hero{background:linear-gradient(135deg, var(--color-sage), var(--color-blue), var(--color-sage-dark));text-align:center;min-height:60vh;padding:calc(var(--navbar-height) + 3rem) 1.5rem 3rem;background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;display:flex;position:relative}.hero-content{z-index:2;color:#fff;position:relative}.hero h1{color:#fff;text-shadow:0 2px 4px #0003;margin-bottom:.75rem;font-size:clamp(2rem,6vw,3.5rem)}.hero-tagline{opacity:.9;margin-bottom:2rem;font-size:clamp(1rem,2.5vw,1.25rem)}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hero .btn-primary{background-color:var(--color-wood);color:var(--text-primary)}.hero .btn-primary:hover{background-color:#c4a67a}.hero .btn-secondary{color:#fff;border-color:#fff}.hero .btn-secondary:hover{color:var(--text-primary);background-color:#fff}.usps{max-width:var(--max-width);margin:0 auto;padding:4rem 1.5rem}.usps h2,.featured-rooms h2,.quick-links h2{text-align:center;margin-bottom:2rem}.usps-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid}.usp-card{text-align:center;-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffe0;padding:2rem 1.5rem}.usp-icon{margin-bottom:1rem;font-size:2.5rem}.usp-card h3{margin-bottom:.5rem}.usp-card p{color:var(--text-secondary)}.featured-rooms,.quick-links{max-width:var(--max-width);margin:0 auto;padding:4rem 1.5rem}.quick-links-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.quick-link-card{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);background:#ffffffe0;padding:2rem 1.5rem;transition:transform .2s,box-shadow .2s;display:block}.quick-link-card:hover{box-shadow:var(--shadow-md);color:inherit;transform:translateY(-3px)}.quick-link-card h3{margin-bottom:.5rem}.quick-link-card p{color:var(--text-secondary);font-size:.95rem}.rooms-grid{max-width:var(--max-width);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin:0 auto;padding:2rem 1.5rem;display:grid}.room-card{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffe6;transition:transform .2s,box-shadow .2s;overflow:hidden}.room-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.room-image{background:var(--color-wood-light);width:100%;height:220px;overflow:hidden}.room-image img{object-fit:cover;width:100%;height:100%}.room-details{padding:1.5rem}.room-type{text-transform:uppercase;letter-spacing:.05em;color:var(--color-blue);margin-bottom:.5rem;font-size:.8rem;font-weight:700;display:inline-block}.room-details h2,.room-details h3{margin-bottom:.5rem}.room-description{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.95rem;display:-webkit-box;overflow:hidden}.room-price{color:var(--color-sage-dark);margin-bottom:1rem;font-size:1.15rem;font-weight:700}.room-amenities{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.room-amenities li{background:var(--bg-primary);color:var(--text-secondary);border-radius:1rem;padding:.25rem .75rem;font-size:.8rem}.book-link{background-color:var(--color-blue);color:#fff;border-radius:var(--radius-md);padding:.6rem 1.25rem;font-size:.9rem;font-weight:700;transition:background-color .2s;display:inline-block}.book-link:hover{background-color:var(--color-blue-dark);color:#fff}.accommodations-page,.menu-page,.contact-page,.policy-page,.rates-page{background-position:top;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;min-height:100dvh}.home-page{min-height:100dvh}.menu-page{padding-bottom:3rem}.menu-category{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);max-width:800px;box-shadow:var(--shadow-sm);background:#ffffffbf;margin:0 auto 1.5rem;padding:1.5rem}.menu-category h2{border-bottom:2px solid var(--color-wood);margin-bottom:1rem;padding-bottom:.5rem}.menu-items-list{flex-direction:column;gap:.75rem;display:flex}.menu-item{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#ffffffe0;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.menu-item-body{flex:1;min-width:0}.menu-item-img{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:88px;height:88px}.menu-item-header{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.menu-item-header h3{margin:0}.menu-item-price{color:var(--color-sage-dark);white-space:nowrap;margin-left:1rem;font-weight:700}.menu-item-description{color:var(--text-secondary);font-size:.9rem}.rates-page{padding-bottom:3rem}.rate-category{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);max-width:800px;box-shadow:var(--shadow-sm);background:#ffffffbf;margin:0 auto 1.5rem;padding:1.5rem}.rate-category h2{border-bottom:2px solid var(--color-gold);margin-bottom:1rem;padding-bottom:.5rem}.rate-items-list{flex-direction:column;gap:.75rem;display:flex}.rate-item{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#ffffffe0;padding:1rem}.rate-item-header{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.rate-item-header h3{margin:0}.rate-price{color:var(--color-sage-dark);white-space:nowrap;margin-left:1rem;font-weight:700}.rate-description{color:var(--text-secondary);margin-top:.25rem;font-size:.9rem}.rate-capacity{color:var(--text-secondary);margin-top:.25rem;font-size:.85rem;font-style:italic}.rate-inclusions{margin-top:.5rem;padding-left:1.25rem;list-style:outside}.rate-inclusions li{color:var(--text-secondary);font-size:.875rem;line-height:1.6}.policy-page{padding-bottom:4rem}.policy-list{max-width:800px;margin:2rem auto;padding:0 1.5rem}.policy-section{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #fff9;margin-bottom:.5rem;overflow:hidden}.policy-toggle{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:1.25rem 1.5rem;font-family:inherit;font-size:1rem;display:flex}.policy-toggle:hover{background:var(--bg-primary)}.policy-toggle h2{margin:0;font-size:1.1rem}.policy-arrow{color:var(--color-blue);font-size:1.5rem;font-weight:700;transition:transform .3s}.policy-content{max-height:0;transition:max-height .3s,padding .3s;overflow:hidden}.policy-section.open .policy-content{max-height:4000px;padding:0 1.5rem 1.25rem}.policy-content ul{padding-left:1.5rem;list-style:outside}.policy-content li{color:var(--text-secondary);padding:.35rem 0;line-height:1.5}.contact-page{padding-bottom:4rem}.contact-layout{max-width:var(--max-width);grid-template-columns:1fr 1fr;gap:2rem;margin:2rem auto;padding:0 1.5rem;display:grid}.contact-info,.contact-form-section{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffffe0;padding:2rem}.contact-info h2,.contact-form-section h2,.map-section h2{margin-bottom:1.5rem}.contact-item{margin-bottom:1.25rem}.contact-item h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.25rem;font-size:.85rem}.contact-item a{font-size:1.05rem}.contact-item address{color:var(--text-primary);line-height:1.6}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;display:flex}.form-group label{margin-bottom:.4rem;font-size:.9rem;font-weight:700}.form-group input,.form-group textarea{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-white);padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #5f9ea033}.contact-form .btn-primary{align-self:flex-start}.map-section{max-width:var(--max-width);margin:3rem auto 0;padding:0 1.5rem}.map-container{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}:root{--navbar-height:68px}.navbar{z-index:100;transition:background .35s,box-shadow .35s;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(14px);background:#f9f7f2f2;box-shadow:0 1px 24px #00000012}.navbar-inner{max-width:var(--max-width);height:var(--navbar-height);justify-content:space-between;align-items:center;gap:2rem;margin:0 auto;padding:0 1.5rem;display:flex}.navbar-logo{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.navbar-logo-img{object-fit:contain;width:auto;max-width:160px;height:44px;transition:height .3s;display:block}.navbar--scrolled .navbar-logo-img{height:36px}.navbar-logo-text{color:#fff;text-shadow:0 1px 6px #00000073;letter-spacing:.02em;white-space:nowrap;font-family:Georgia,serif;font-size:clamp(.9rem,1.8vw,1.1rem);font-style:italic;transition:color .3s,text-shadow .3s}.navbar--scrolled .navbar-logo-text{color:var(--color-sage-dark);text-shadow:none}.navbar-links{align-items:center;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.navbar-link{letter-spacing:.1em;text-transform:uppercase;color:#ffffffe0;text-shadow:0 1px 4px #0000004d;padding:.35rem .7rem;font-family:Georgia,serif;font-size:.8rem;text-decoration:none;transition:color .2s,text-shadow .2s;display:inline-block;position:relative}.navbar--scrolled .navbar-link{color:var(--text-secondary);text-shadow:none}.navbar-link:after{content:"";background:var(--color-wood);transform-origin:0;height:1.5px;transition:transform .25s;position:absolute;bottom:-2px;left:.7rem;right:.7rem;transform:scaleX(0)}.navbar-link:hover:after,.navbar-link--active:after{transform:scaleX(1)}.navbar-link:hover{color:#fff}.navbar--scrolled .navbar-link:hover{color:var(--color-sage-dark)}.navbar-link--active{color:#fff;font-style:italic}.navbar--scrolled .navbar-link--active{color:var(--color-sage-dark)}.navbar-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;gap:5px;padding:.3rem;display:none}.navbar-toggle span{transform-origin:50%;background:#fff;border-radius:2px;width:22px;height:2px;transition:background .3s,transform .3s,opacity .3s;display:block}.navbar--scrolled .navbar-toggle span{background:var(--text-primary)}.navbar-toggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.navbar-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar-toggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.navbar-overlay{z-index:98;background:#0006;animation:.2s navFadeIn;position:fixed;inset:0}@keyframes navFadeIn{0%{opacity:0}to{opacity:1}}.navbar-drawer{-webkit-backdrop-filter:blur(20px);width:min(80vw,280px);height:100dvh;padding:calc(var(--navbar-height) + 1.5rem) 2rem 2rem;z-index:99;background:#f9f7f2fa;transition:transform .35s cubic-bezier(.4,0,.2,1);display:none;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 40px #00000024}.navbar-drawer.open{transform:translate(0)}.navbar-drawer ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.navbar-drawer-link{color:var(--text-primary);border-bottom:1px solid var(--border-color);letter-spacing:.02em;padding:1.1rem 0;font-family:Georgia,serif;font-size:1.2rem;text-decoration:none;transition:color .2s;display:block}.navbar-drawer-link:last-child{border-bottom:none}.navbar-drawer-link.active{color:var(--color-sage-dark);font-style:italic}.navbar-drawer-link:hover{color:var(--color-blue)}@media (max-width:768px){.contact-layout,.rooms-grid{grid-template-columns:1fr}.hero{min-height:50vh;padding-top:calc(var(--navbar-height) + 2rem);background-attachment:scroll}.navbar-links{display:none}.navbar-toggle{display:flex}.navbar-drawer{display:block}.quick-links-grid{grid-template-columns:1fr}.accommodations-page,.menu-page,.contact-page,.policy-page{background-attachment:scroll}}
