.site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 20;
    width: 100%;
    height: 100px;
    border-bottom: 1px solid transparent;
    background: rgba(8, 7, 5, .18);
    backdrop-filter: blur(2px);
    transition: height .25s ease, background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}
.site-header.is-scrolled {
    height: 78px;
    border-color: rgba(198, 160, 92, .18);
    background: rgba(8, 7, 5, .92);
    backdrop-filter: blur(14px);
}
.site-header .container {
    width: min(100%, 1380px);
    margin-inline: auto;
    padding-inline: clamp(20px, 4vw, 64px);
}
.site-header .header-inner { height: 100%; display: flex; align-items: center; gap: 36px; }
.site-header .brand { min-width: 210px; display: inline-flex; flex-direction: row; align-items: center; gap: 12px; line-height: 1; }
.site-header .brand-logo { width: 48px; height: 48px; flex: 0 0 48px; object-fit: contain; }
.site-header .brand-name { color: #eee4d2; font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; letter-spacing: .08em; white-space: nowrap; text-transform: uppercase; }
.site-header .brand-name span { color: #e0c17e; }
.site-header .desktop-nav { display: flex; flex: 1; align-items: center; justify-content: center; gap: clamp(18px, 2.1vw, 38px); }
.site-header .desktop-nav a { color: #e7ddcc; font-size: .72rem; font-weight: 650; letter-spacing: .06em; white-space: nowrap; text-transform: uppercase; }
.site-header .desktop-nav a:hover, .site-header .desktop-nav a[aria-current="page"] { color: #e0c17e; }
.site-header .header-cta { min-width: 132px; min-height: 48px; padding: 10px 28px; border: 1px solid #c6a05c; border-radius: 9px; color: #e0c17e; background: rgba(17,13,8,.74); font-size: .76rem; font-weight: 800; line-height: 1; letter-spacing: .08em; white-space: nowrap; }
.site-header .menu-toggle { display: none; width: 48px; height: 44px; padding: 10px; border: 1px solid rgba(198,160,92,.52); border-radius: 8px; background: rgba(10,8,5,.68); color: #e0c17e; cursor: pointer; }
.site-header .menu-toggle span { display: block; width: 22px; height: 1px; margin: 5px auto; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.site-header .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(6px) rotate(45deg); }
.site-header .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.site-header .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-6px) rotate(-45deg); }
.site-header .mobile-nav { display: none; }
@media (max-width: 1100px) {
    .site-header { height: 86px; }
    .site-header .desktop-nav, .site-header .header-cta { display: none; }
    .site-header .header-inner { justify-content: space-between; }
    .site-header .menu-toggle { display: block; }
    .site-header .mobile-nav { position: absolute; top: calc(100% - 1px); right: 0; left: 0; display: grid; padding: 13px clamp(20px,4vw,64px) 22px; border-bottom: 1px solid rgba(198,160,92,.52); background: rgba(10,8,6,.97); box-shadow: 0 18px 30px rgba(0,0,0,.35); visibility: hidden; opacity: 0; transform: translateY(-8px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
    .site-header .mobile-nav.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
    .site-header .mobile-nav a { padding: 11px 0; border-bottom: 1px solid rgba(198,160,92,.12); color: #eee4d2; font-size: .76rem; letter-spacing: .07em; text-transform: uppercase; }
    .site-header .mobile-nav .button { margin-top: 14px; }
}
@media (max-width: 640px) {
    .site-header .brand { min-width: 0; }
    .site-header .brand-logo { width: 40px; height: 40px; flex-basis: 40px; }
    .site-header .brand-name { font-size: .95rem; }
}
