/* Shared navigation, extracted from the home menu and scoped to its component. */
.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    padding: 1.5rem 0;
    transition: all 0.3s ease;
}
.site-header.scrolled {
    background: rgba(5, 5, 8, 0.85);
    backdrop-filter: blur(10px);
    padding: 1rem 0;
    border-bottom: 1px solid var(--glass-border);
}
.site-header .nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}
.site-header .logo {
    font-size: 1.5rem;
    font-weight: 800;
    font-family: var(--font-heading);
    letter-spacing: 1px;
}
.site-header .logo span {
    color: var(--accent-primary);
    font-weight: 300;
}
.site-header .nav-links {
    display: flex;
    align-items: center;
    gap: 2rem;
}
.site-header .nav-links > li > a {
    font-size: 0.95rem;
    font-weight: 500;
    position: relative;
}
.site-header .nav-client-shell {
    position: relative;
}
.site-header .nav-client-trigger {
    display: inline-flex;
    align-items: center;
    gap: 0.62rem;
    padding: 0.7rem 1rem;
    border-radius: 999px;
    border: 1px solid transparent;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease;
}
.site-header .nav-client-trigger .icon-svg {
    color: var(--accent-primary);
    font-size: 1.08rem;
    stroke-width: 2;
    transform: translateY(-0.01em);
}
.site-header .nav-client-trigger:hover,
.site-header .nav-client-trigger[aria-expanded="true"] {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    transform: translateY(-1px);
}
.site-header .client-popover {
    position: absolute;
    top: calc(100% + 1rem);
    right: 0;
    width: min(380px, calc(100vw - 2rem));
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px) scale(0.98);
    transform-origin: top right;
    transition: opacity 0.28s ease, transform 0.32s ease, visibility 0.28s ease;
    pointer-events: none;
    z-index: 120;
}
.site-header .nav-client-shell.open .client-popover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
.site-header .client-popover-glow {
    position: absolute;
    inset: auto 20px -18px auto;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0, 240, 255, 0.18), rgba(112, 0, 255, 0.12) 40%, transparent 72%);
    filter: blur(22px);
    pointer-events: none;
}
.site-header .client-popover-card {
    position: relative;
    padding: 1.15rem;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background:
        linear-gradient(145deg, rgba(11, 16, 28, 0.98), rgba(4, 8, 15, 0.96)),
        linear-gradient(135deg, rgba(0, 240, 255, 0.08), rgba(112, 0, 255, 0.08));
    backdrop-filter: blur(18px);
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}
.site-header .client-popover-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(0, 240, 255, 0.12), transparent 34%),
        radial-gradient(circle at top right, rgba(112, 0, 255, 0.18), transparent 34%);
    pointer-events: none;
}
.site-header .client-popover-head,
.site-header .client-popover-copy,
.site-header .client-popover-badges,
.site-header .client-popover-notice,
.site-header .client-popover-form,
.site-header .client-popover-links {
    position: relative;
    z-index: 1;
}
.site-header .client-popover-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}
.site-header .client-popover-kicker {
    display: inline-block;
    padding: 0.28rem 0.62rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--text-muted);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.site-header .client-popover-head h3 {
    margin-top: 0.7rem;
    font-size: 1.4rem;
    line-height: 1.05;
}
.site-header .client-popover-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-muted);
    cursor: pointer;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}
.site-header .client-popover-close:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.16);
    color: #fff;
}
.site-header .client-popover-copy {
    margin-top: 0.8rem;
    color: #cbd5e1;
    font-size: 0.93rem;
    line-height: 1.6;
}
.site-header .client-popover-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.9rem;
}
.site-header .client-popover-badges span {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.48rem 0.72rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #dbe7ff;
    font-size: 0.78rem;
}
.site-header .client-popover-badges .icon-svg {
    color: var(--accent-primary);
}
.site-header .client-popover-notice {
    display: none;
    margin-top: 0.95rem;
    padding: 0.75rem 0.9rem;
    border-radius: 14px;
    border: 1px solid rgba(248, 113, 113, 0.22);
    background: rgba(248, 113, 113, 0.08);
    color: #fecaca;
    font-size: 0.86rem;
}
.site-header .client-popover-notice.show {
    display: block;
}
.site-header .client-popover-notice.success {
    border-color: rgba(16, 185, 129, 0.24);
    background: rgba(16, 185, 129, 0.1);
    color: #86efac;
}
.site-header .client-popover-form {
    display: grid;
    gap: 0.82rem;
    margin-top: 1rem;
}
.site-header .client-popover-field {
    display: grid;
    gap: 0.42rem;
}
.site-header .client-popover-field label {
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 500;
}
.site-header .client-popover-field input {
    width: 100%;
    padding: 0.92rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    font: inherit;
    transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}
.site-header .client-popover-field input:focus {
    outline: none;
    border-color: rgba(0, 240, 255, 0.45);
    background: rgba(0, 240, 255, 0.04);
    box-shadow: 0 0 0 4px rgba(0, 240, 255, 0.08);
}
.site-header .client-popover-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    margin-top: 0.1rem;
    padding: 0.95rem 1rem;
    border: none;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(0, 240, 255, 0.92), rgba(112, 0, 255, 0.92));
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 16px 30px rgba(0, 240, 255, 0.12);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.site-header .client-popover-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 22px 36px rgba(112, 0, 255, 0.2);
}
.site-header .client-popover-submit:disabled {
    opacity: 0.7;
    cursor: wait;
    transform: none;
}
.site-header .client-popover-links {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    font-size: 0.82rem;
}
.site-header .client-popover-links a {
    color: #cbd5e1;
}
.site-header .client-popover-links a:hover {
    color: var(--accent-primary);
}
.site-header .nav-links > li > a:not(.btn-outline)::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -5px;
    left: 0;
    background: var(--accent-gradient);
    transition: width 0.3s ease;
}
.site-header .nav-links > li > a:not(.btn-outline):hover::after {
    width: 100%;
}
.site-header .hamburger {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
    transition: transform 0.28s ease, border-color 0.28s ease, background 0.28s ease, box-shadow 0.28s ease;
}
.site-header .hamburger .icon-svg {
    stroke-width: 2.1;
}
.site-header .hamburger:hover,
.site-header .hamburger[aria-expanded="true"] {
    border-color: rgba(0, 240, 255, 0.24);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}
.site-header .hamburger[aria-expanded="true"] {
    transform: translateY(1px) scale(0.98);
}

:root { --site-header-height: 88px; }
html { scroll-padding-top: calc(var(--site-header-height) + 16px); }
.site-header-spacer { height: var(--site-header-height); flex: 0 0 auto; }
.site-header { --accent-primary:#00f0ff; --accent-gradient:linear-gradient(90deg,#00f0ff,#7000ff); --glass-border:rgba(255,255,255,.1); --font-heading:'Space Grotesk',sans-serif; --text-muted:#a5b4c8; color:#e2e8f0; font:400 15px/1.4 'Outfit',sans-serif; padding:12px 0; border-bottom:1px solid var(--glass-border); background:rgba(5,5,8,.94); backdrop-filter:blur(16px); z-index:900; transition:background .25s,border-color .25s; }
.site-header.scrolled { padding:12px 0; background:rgba(5,5,8,.97); }
.site-header--home:not(.scrolled):not(.mobile-nav-open) { background:rgba(5,5,8,.7); }
.site-header *, .site-header *::before, .site-header *::after { box-sizing:border-box; }
.site-header a { text-decoration:none; color:inherit; }
.site-header button, .site-header input { font:inherit; }
.site-header .nav-container { width:100%; max-width:1440px; min-height:64px; padding:0 32px; margin:0 auto; gap:24px; }
.site-header .logo { display:inline-flex; align-items:center; flex-shrink:0; margin:0; font-size:1.3rem; white-space:nowrap; }
.site-header .logo picture { display:flex; }
.site-header .logo img { display:block; width:auto; height:auto; max-width:180px; max-height:40px; object-fit:contain; }
.site-header .nav-links { list-style:none; padding:0; margin:0; gap:clamp(10px,1.4vw,22px); }
.site-header .nav-links > li { margin:0; padding:0; }
.site-header .nav-links > li > a { font-size:.9rem; white-space:nowrap; }
.site-header .nav-links > li > a[aria-current], .site-header .nav-client-trigger[aria-current] { color:var(--accent-primary); }
.site-header .nav-client-trigger { padding:.65rem .75rem; }
.site-header .btn-outline { display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:.65rem 1rem; transition:background .2s,border-color .2s; }
.site-header .btn-outline:hover { background:rgba(0,240,255,.08); border-color:var(--accent-primary); }
.site-header .icon-svg { display:inline-block; width:1em; height:1em; flex:0 0 auto; vertical-align:-.125em; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.site-header .client-popover { width:min(390px,calc(100vw - 40px)); right:0; top:calc(100% + 14px); max-height:calc(100dvh - var(--site-header-height) - 24px); overflow-y:auto; overscroll-behavior:contain; }
.site-header .client-popover-card { padding:1.25rem; }
.site-header .client-popover-head h3 { margin:.3rem 0 0; font-size:1.3rem; }
.site-header .client-popover-copy { margin:.7rem 0 1rem; }
.site-header .client-popover-notice { margin-bottom:.75rem; }
.site-header .client-popover-links { flex-wrap:wrap; gap:.7rem 1rem; margin-top:1rem; }
.site-header [hidden] { display:none!important; }
.site-header :focus-visible { outline:2px solid var(--accent-primary); outline-offset:4px; }
.site-header .site-account-links { display:grid; gap:.35rem; margin-top:1rem; }
.site-header .site-account-links a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem; border-radius:8px; }
.site-header .site-account-links a:hover { background:rgba(255,255,255,.06); }
.site-header .site-account-links .site-account-logout { color:#ffb4bc; border-top:1px solid var(--glass-border); margin-top:.35rem; }
.site-breadcrumb { width:100%; max-width:1200px; margin:0 auto; padding:.8rem 24px; display:flex; align-items:center; gap:.6rem; color:#a8bdd0; font:400 .85rem/1.5 'Outfit',sans-serif; }
.site-breadcrumb a { display:inline-flex; align-items:center; gap:.5rem; color:inherit; text-decoration:none; }
.site-breadcrumb a:hover { color:#00f0ff; }
.site-breadcrumb .icon-svg { width:1em; height:1em; }
@media(max-width:1180px) {
 :root { --site-header-height:76px; }
 .site-header, .site-header.scrolled { padding:8px 0; }
 .site-header .nav-container { min-height:60px; padding:0 20px; gap:12px; }
 .site-header .logo { margin:0; }
 .site-header .logo img { max-width:170px; max-height:36px; }
 .site-header .hamburger { display:inline-flex; flex:0 0 auto; margin:0; }
 .site-header .nav-links { position:absolute; top:calc(100% + 8px); left:12px; right:12px; display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:12px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:#090c14; box-shadow:0 22px 60px #0006; max-height:calc(100dvh - var(--site-header-height) - 20px); overflow-y:auto; overscroll-behavior:contain; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-10px); transition:opacity .2s,transform .2s,visibility .2s; }
 .site-header .nav-links.mobile-open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
 .site-header .nav-links > li { width:100%; opacity:1; transform:none; transition:none; }
 .site-header .nav-links > li > a, .site-header .nav-client-trigger { display:flex; align-items:center; justify-content:flex-start; width:100%; padding:.7rem .9rem; border:1px solid transparent; border-radius:10px; background:rgba(255,255,255,.025); font-size:.95rem; }
 .site-header .nav-links > li > a:not(.btn-outline)::after { display:none; }
 .site-header .nav-links .btn-outline { border-color:rgba(0,240,255,.24); }
 .site-header .client-popover { position:static; width:100%; max-height:none; margin-top:8px; transform-origin:top center; }
 .site-header .client-popover-card { padding:1rem; }
 .site-header .client-popover-links { font-size:.8rem; }
}
@media(prefers-reduced-motion:reduce) { .site-header, .site-header * { transition:none!important; animation:none!important; } }
