/* Header */
.site-header{
    position:sticky; top:0; z-index:80;
    background:rgba(11,12,14,.62);
    border-bottom:1px solid var(--line);
    backdrop-filter: blur(14px);
}
.header-inner{
    position:relative;
    display:flex;
    align-items:center;
    height:76px;
}

/* LEFT */
.brand{display:flex; align-items:center; flex-shrink:0;}
.custom-logo{max-height:64px; width:auto; display:block;}
.custom-logo-link{display:flex; align-items:center;}

/* CENTER */
.nav-desktop{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
}

/* Menu */
.nav-menu{
    display:flex;
    gap:18px;
    list-style:none;
    margin:0;
    padding:0;
}
.nav-menu a{color:var(--muted); font-weight:600}
.nav-menu a:hover{color:var(--text)}

/* RIGHT */
.header-actions{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.burger{
    display:none;
    width:42px; height:42px;
    border-radius:999px;
    border:1px solid var(--line);
    background:transparent;
}
.burger span{
    display:block;
    height:2px;
    width:18px;
    background:var(--text);
    margin:6px auto;
    opacity:.9;
}

/* Mobile menu */
.nav-mobile{border-top:1px solid var(--line); padding:18px 0}
.nav-menu-mobile{
    list-style:none; margin:0; padding:0;
    display:flex; flex-direction:column; gap:10px
}
.nav-menu-mobile a{padding:10px 0; color:var(--muted); font-weight:700}
.mobile-cta{margin-top:14px}

/* Hero */
.hero{position:relative; min-height:86vh; display:flex; align-items:flex-end; padding:0 0 54px}
.hero-small{min-height:52vh}

.hero-media{
    position:absolute; inset:0;
    z-index:1;
    background-size:cover;
    background-position:center;
    filter:saturate(1.02) contrast(1.05);
}
.hero::before{
    content:"";
    position:absolute; inset:0;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(
            to top,
            rgba(11,12,14,.92) 0%,
            rgba(11,12,14,.70) 35%,
            rgba(11,12,14,.35) 60%,
            rgba(11,12,14,.15) 100%
    );
}
.hero-content{position:relative; z-index:3;}
.hero-actions{display:flex; gap:12px; margin-top:16px; flex-wrap:wrap}

.hero-stats{display:flex; gap:18px; margin-top:24px; flex-wrap:wrap}
.stat{border:1px solid var(--line); border-radius:14px; padding:12px 14px; background:rgba(255,255,255,.02)}
.stat-k{display:block; font-weight:900; font-size:18px}
.stat-v{display:block; color:var(--muted); font-size:12px; letter-spacing:.6px; text-transform:uppercase}

.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px}
.link{color:var(--accent); font-weight:700}

.split{display:grid; grid-template-columns:1.1fr .9fr; gap:22px; align-items:stretch}
.media-box{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:rgba(255,255,255,.03)}
.media{height:100%; min-height:340px; background-size:cover; background-position:center}

.bullets{margin:18px 0 0; padding-left:18px; color:var(--muted); line-height:1.9}

/* Footer */
.site-footer{border-top:1px solid var(--line); padding:46px 0}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:18px}
.footer-title{font-weight:900; margin-bottom:10px}
.footer-list{list-style:none; padding:0; margin:0; color:var(--muted); line-height:2}
.footer-brand{font-weight:1000; letter-spacing:.5px}
.footer-bottom{
    display:flex; justify-content:space-between;
    margin-top:24px; padding-top:18px;
    border-top:1px solid var(--line)
}

/* Policies */
.policies{display:grid; grid-template-columns:280px 1fr; gap:24px}
.toc{
    position:sticky; top:100px;
    border:1px solid var(--line);
    border-radius:16px;
    padding:16px;
    background:rgba(255,255,255,.02)
}
.toc-link{display:block; padding:10px 0; color:var(--muted); font-weight:700}
.toc-link:hover{color:var(--text)}

/* Sticky book */
.sticky-book-mobile{
    display:none;
    position:fixed;
    left:0; right:0; bottom:0;
    padding:12px;
    background:rgba(11,12,14,.72);
    border-top:1px solid var(--line);
    backdrop-filter: blur(14px);
    z-index:60;
}

/* CTA */
.cta{padding:54px 0}
.cta-inner{display:flex; justify-content:space-between; align-items:center; gap:18px}

.booking-card{padding:18px}
.note{margin-top:14px}
