*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%}:root{--bg-mist: #ede8de;--bg-coastal: #c8d5d2;--bg-warm: #f5f0ea;--navy-deep: #1a3a44;--navy-muted: #2a5562;--text-main: #1a3a44;--text-light: #ede8de;--text-muted: #5a7e88;--accent: #6aada3;--white: #ffffff;--cream-muted: #d9ccba;--border-blue: rgba(106, 173, 163, .15);--border-light: rgba(26, 58, 68, .1);--font-serif: "Cormorant Garamond", serif;--font-sans: "Cormorant Garamond", system-ui, sans-serif;--header-height: 100px}body{font-family:var(--font-sans);background-color:var(--bg-mist);color:var(--text-main);line-height:1.6;-webkit-font-smoothing:antialiased}.bg-navy{background-color:var(--navy-deep);color:var(--white)}.bg-slate{background-color:var(--navy-muted);color:var(--white)}.bg-mist{background-color:var(--bg-mist)}.bg-coastal{background-color:var(--bg-coastal)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;color:inherit;line-height:1.15}.bg-navy h2,.bg-slate h2{color:var(--white)}.sans-caps{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:700}a{text-decoration:none;color:inherit;transition:all .4s ease}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:1.2rem 3rem;background-color:var(--accent);color:var(--white)!important;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:800;border:none;cursor:pointer;border-radius:0;box-shadow:0 4px 15px #6aada34d}.btn-primary:hover{background-color:#4a8a82;transform:translateY(-2px);box-shadow:0 10px 30px #6aada366}.container{max-width:1400px;margin:0 auto;padding:0 4rem;width:100%}section{padding:6rem 0;width:100%}@media(max-width:1024px){.container{padding:0 2rem}}.eyebrow{display:block;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.3em;font-size:.65rem;font-weight:800;color:var(--accent);margin-bottom:2rem}.bg-navy .eyebrow,.bg-slate .eyebrow{color:#a3c4d4}.textured{position:relative}.textured:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.04;pointer-events:none;z-index:1}.serif-italic{font-family:var(--font-serif);font-style:italic}.section-divider{width:40px;height:1px;background-color:var(--accent);margin:2rem 0}html{scroll-behavior:smooth}#main-header{position:fixed;top:0;left:0;width:100%;padding:2rem 4rem;z-index:1000;transition:all .6s cubic-bezier(.165,.84,.44,1)}#main-header.scrolled{background:transparent;padding:1.5rem 4rem}.header-container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:1600px;margin:0 auto;position:relative}.home-badge-link{display:inline-flex;align-items:center;justify-content:center;color:var(--navy-deep);width:148px;height:54px;margin-right:2rem;transform:translateY(0)}.home-badge-logo{width:54px;height:54px;opacity:.92}.home-badge-link:hover{transform:translateY(0);opacity:.9}#main-header.hide-home-badge .home-badge-link{opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none}.logo-text{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:500;letter-spacing:.18rem;text-transform:uppercase;line-height:1;color:var(--white);transition:all .6s ease;white-space:nowrap}.footer-logo{font-size:1.6rem;letter-spacing:.14rem}#main-header.scrolled .logo-full{opacity:0;visibility:hidden;transform:translateY(-10px)}.header-actions{display:flex;align-items:center;gap:2rem}.menu-trigger{display:none;background:transparent;border:none;cursor:pointer;flex-direction:column;gap:6px;width:25px;padding:0;z-index:1100;order:-1}#main-header.scrolled .menu-trigger{display:flex}.hamburger-line{display:block;width:100%;height:2px;background-color:var(--white);transition:all .4s cubic-bezier(.165,.84,.44,1)}#main-header.scrolled .hamburger-line{background-color:var(--accent)}body.menu-open .hamburger-line:first-child{transform:translateY(4px) rotate(45deg);background-color:var(--navy-deep)!important}body.menu-open .hamburger-line:last-child{transform:translateY(-4px) rotate(-45deg);background-color:var(--navy-deep)!important}.menu-dropdown{position:fixed;top:100px;right:4rem;width:320px;background:var(--white);z-index:1050;box-shadow:0 30px 60px #00000026;border:1px solid var(--border-blue);padding:3rem;opacity:0;visibility:hidden;transform:translateY(-20px);transition:all .5s cubic-bezier(.165,.84,.44,1)}body.menu-open .menu-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.menu-links{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:3rem}.menu-link{font-family:Cinzel,serif;font-size:1.4rem;text-transform:uppercase;letter-spacing:.2rem;color:var(--navy-deep);transition:all .3s ease}.menu-link:hover{color:var(--accent);padding-left:10px}.menu-dropdown-footer{font-size:.75rem;text-transform:uppercase;letter-spacing:.1rem;color:var(--text-muted);border-top:1px solid var(--border-blue);padding-top:2rem}.main-nav{display:flex;align-items:center;gap:3rem;transition:all .4s ease}.left-nav{justify-content:flex-start}.right-nav{justify-content:flex-end}#main-header.scrolled .left-nav,#main-header.scrolled .right-nav a:not(.btn-book){opacity:0;visibility:hidden;pointer-events:none}.main-nav a{text-transform:uppercase;font-size:.65rem;letter-spacing:.2rem;font-weight:700;color:var(--white);transition:all .3s ease;white-space:nowrap}#main-header.scrolled .main-nav a:hover{color:var(--accent)}.btn-book{padding:.8rem 2rem;border:1px solid var(--white);background:transparent;color:var(--white)!important;font-weight:800;text-transform:uppercase;letter-spacing:.15rem;font-size:.65rem;transition:all .4s ease}#main-header.scrolled .btn-book{background:var(--navy-muted);border-color:var(--navy-muted);box-shadow:0 10px 25px #2a556259}.btn-book:hover{background:var(--white)!important;color:var(--navy-muted)!important;border-color:var(--white)}#main-header.scrolled .btn-book:hover{background:var(--navy-deep)!important;border-color:var(--navy-deep);transform:translateY(-2px)}footer{background-color:var(--bg-warm);padding:5rem 0;color:var(--text-main);border-top:1px solid var(--border-light)}.footer-top{display:flex;justify-content:space-between}.footer-brand .logo-text{color:var(--text-main);display:block;margin-bottom:2rem}.footer-brand p{color:var(--navy-muted);font-size:.9rem;margin-bottom:.5rem}.footer-nav{display:flex;gap:5rem}.footer-nav-col h4{text-transform:uppercase;font-size:.7rem;letter-spacing:.2rem;margin-bottom:2.5rem;color:var(--navy-muted)}.footer-nav-col a{display:block;margin-bottom:1.2rem;font-size:.85rem;color:var(--text-main);font-weight:500}.footer-nav-col a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--border-light);font-size:.75rem;color:var(--navy-muted);text-transform:uppercase;letter-spacing:.1rem;text-align:center}@media(max-width:1024px){#main-header{padding:2rem}#main-header.scrolled{padding:1rem 2rem}.main-nav{gap:1.5rem}.footer-top{flex-direction:column;gap:4rem}.footer-nav{gap:4rem;flex-wrap:wrap}}@media(max-width:768px){#main-header{padding:1.5rem}.header-container{display:flex;justify-content:center;align-items:center}.header-left{position:absolute;left:0;top:50%;transform:translateY(-50%);display:none}#main-header.scrolled .header-left{display:flex;align-items:center;left:0;top:0;transform:none}.header-left .left-nav{display:none}.home-badge-link{width:56px;height:56px;margin-right:0;transform:none;justify-content:flex-start}.home-badge-logo{width:56px;height:56px}.header-center{display:flex;justify-content:center}.header-right{position:absolute;right:0rem;top:0rem;display:none}#main-header.scrolled .header-right{display:flex}.header-right .main-nav a:not(.btn-book){display:none}.logo-text{font-size:1.2rem;letter-spacing:.1rem}#main-header.scrolled .logo-full{display:none}.header-actions{gap:1rem}.btn-book{padding:.7rem 1.4rem;font-size:.6rem}.menu-dropdown{top:70px;right:1.5rem;width:calc(100% - 3rem);padding:2rem}}
