.site-header { position: fixed; inset: 0 0 auto; z-index: 20; color: var(--v2-white); transition: color .55s ease, background .55s ease, border-color .55s ease; }
.site-header.is-scrolled { color: var(--v2-ink); background: rgba(241,240,237,.94); border-bottom: 1px solid var(--v2-line); backdrop-filter: blur(14px); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; width: var(--v2-container); height: var(--v2-header-height); margin: 0 auto; }
.brand { display: inline-flex; align-items: center; color: currentColor; font-size: 21px; letter-spacing: .2em; line-height: 1; }
.brand__red { color: var(--v2-red); }
.site-nav { display: flex; gap: clamp(24px, 4vw, 58px); margin-left: auto; margin-right: 38px; }
.site-nav a, .mobile-menu a { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.site-nav a { opacity: .94; transition: opacity .25s ease; }
.site-nav a:hover { opacity: .55; }
.menu-toggle { display: grid; gap: 6px; width: 24px; padding: 5px 0; border: 0; color: currentColor; background: transparent; }
.menu-toggle span { display: block; height: 1px; background: currentColor; transition: transform .25s ease; }
.mobile-menu { display: none; }
.site-footer { color: var(--v2-white); background: var(--v2-night); }
.site-footer__inner { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; width: var(--v2-container); margin: 0 auto; padding: 50px 0 42px; }
.brand--footer { align-self: start; }
.site-footer p { max-width: 210px; margin: 0; color: rgba(248,247,244,.64); font-size: 13px; }
.site-footer__links { display: flex; flex-direction: column; gap: 10px; justify-self: end; color: rgba(248,247,244,.78); font-size: 13px; }
.site-footer__social { display: inline-flex; align-items: center; gap: 10px; margin-top: 8px; }
.site-footer__social img { width: 24px; height: 24px; }
.site-footer__social-note { display: block; max-width: 250px; color: rgba(248,247,244,.54); font-size: 11px; line-height: 1.5; }
.site-footer__bottom { display: flex; justify-content: space-between; width: var(--v2-container); margin: 0 auto; padding: 20px 0 26px; border-top: 1px solid var(--v2-line-light); color: rgba(248,247,244,.46); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 760px) {
    .site-nav { display: none; }
    .mobile-menu { display: block; width: var(--v2-container); margin: 0 auto; padding: 0 0 18px; }
    .mobile-menu[hidden] { display: none; }
    .mobile-menu nav { display: grid; gap: 1px; padding: 14px; background: rgba(241,240,237,.96); color: var(--v2-ink); }
    .mobile-menu a { padding: 14px 4px; border-bottom: 1px solid var(--v2-line); }
    .site-footer__inner, .site-footer__bottom { display: flex; flex-direction: column; gap: 24px; }
    .site-footer__links { align-self: start; }
}
