/* Shared BLVZ navigation and footer system. Keep in sync with index.html. */
nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(5, 5, 5, 0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    z-index: 1000;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    padding: 15px 0;
    transition: padding 0.3s ease;
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-weight: 900;
    font-size: 22px;
    letter-spacing: 4px;
    color: #ffffff;
    text-transform: uppercase;
    text-decoration: none;
    z-index: 1001;
}

.logo span { color: #00e5ff; }

.nav-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    flex: 1;
}

.nav-links {
    display: flex;
    list-style: none;
    align-items: center;
    order: 1;
    margin-right: auto;
}

.lang-switch { order: 3; }
.btn-portal-nav { order: 4; margin-left: 20px; }

.burger-menu {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1001;
    order: 2;
}

.burger-menu span {
    width: 100%;
    height: 2px;
    background-color: #ffffff;
    transition: all 0.3s ease;
}

.burger-menu.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.burger-menu.open span:nth-child(2) { opacity: 0; }
.burger-menu.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.nav-links li { margin-left: 30px; }

.nav-links a {
    color: #888888;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 2px;
    transition: color 0.25s ease, text-shadow 0.25s ease;
    text-transform: uppercase;
    position: relative;
}

.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    width: 0;
    height: 2px;
    background: #00e5ff;
    border-radius: 999px;
    transition: width 0.25s ease, left 0.25s ease;
}

.nav-links a:hover,
.nav-links a.active {
    color: #ffffff;
    text-shadow: 0 0 18px rgba(0, 229, 255, 0.7);
}

.nav-links a:hover::after { width: 60%; left: 20%; }

.mega-nav { display:flex; align-items:center; gap:4px; margin:0 auto; }
.mega-trigger { appearance:none; border:0; background:transparent; color:#aeb8c2; cursor:pointer; font:600 13px/1 Montserrat,sans-serif; letter-spacing:1.5px; padding:14px 15px; text-transform:uppercase; transition:color .2s ease, background .2s ease; }
.mega-trigger:hover, .mega-trigger:focus-visible, .mega-trigger[aria-expanded="true"] { color:#fff; outline:none; }
.mega-trigger[aria-expanded="true"] { text-shadow:0 0 18px rgba(0,229,255,.45); }
.mega-trigger::after { content:'+'; color:#00e5ff; display:inline-block; font-size:15px; font-weight:400; margin-left:7px; transition:transform .2s ease; }
.mega-trigger[aria-expanded="true"]::after { transform:rotate(45deg); }
.nav-actions { display:flex; align-items:center; gap:10px; margin-left:auto; }
.nav-action { min-height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.16); border-radius:4px; color:#eaf2f7; font-size:11px; font-weight:800; letter-spacing:1px; padding:0 14px; text-decoration:none; text-transform:uppercase; transition:border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease; }
.nav-action:hover, .nav-action:focus-visible { border-color:#00e5ff; color:#00e5ff; outline:none; transform:translateY(-1px); }
.nav-action-primary { background:#00d8f3; border-color:#00d8f3; color:#041116; }
.nav-action-primary:hover, .nav-action-primary:focus-visible { background:#7fffd4; border-color:#7fffd4; color:#031014; }
.mega-panel { position:fixed; top:69px; left:0; width:100%; z-index:999; padding:0 24px; opacity:0; pointer-events:none; transform:translateY(-10px); transition:opacity .2s ease, transform .24s cubic-bezier(.16,1,.3,1); }
.mega-panel.is-open { opacity:1; pointer-events:auto; transform:translateY(0); }
.mega-panel-inner { width:min(1180px,calc(100% - 32px)); min-height:330px; margin:0 auto; display:grid; grid-template-columns:280px minmax(0,1fr); overflow:hidden; background:linear-gradient(135deg,rgba(15,20,28,.98),rgba(5,7,10,.99)); border:1px solid rgba(255,255,255,.12); border-top:2px solid #00e5ff; box-shadow:0 28px 70px rgba(0,0,0,.55); }
.mega-tabs { padding:18px 0; background:rgba(255,255,255,.025); border-right:1px solid rgba(255,255,255,.09); }
.mega-tab { width:100%; display:flex; align-items:center; justify-content:space-between; border:0; border-left:2px solid transparent; background:transparent; color:#8f9ba7; cursor:pointer; font:700 12px/1.35 Montserrat,sans-serif; letter-spacing:.8px; padding:18px 25px; text-align:left; transition:color .18s ease, background .18s ease, border-color .18s ease; }
.mega-tab::after { content:'↗'; color:#00e5ff; opacity:0; transform:translateX(-5px); transition:opacity .18s ease, transform .18s ease; }
.mega-tab:hover, .mega-tab:focus-visible, .mega-tab.is-active { background:rgba(0,229,255,.075); border-left-color:#00e5ff; color:#fff; outline:none; }
.mega-tab:hover::after, .mega-tab:focus-visible::after, .mega-tab.is-active::after { opacity:1; transform:translateX(0); }
.mega-content { padding:34px 42px; }
.mega-view { display:none; animation:mega-content-in .24s cubic-bezier(.16,1,.3,1); }
.mega-view.is-active { display:block; }
.mega-eyebrow { color:#00e5ff; font-size:10px; font-weight:800; letter-spacing:1.7px; margin:0 0 9px; }
.mega-view h2 { margin:0 0 26px; color:#fff; font-size:29px; letter-spacing:-.8px; }
.mega-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.mega-card { min-height:132px; display:block; border:1px solid rgba(255,255,255,.1); background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); color:inherit; padding:20px; text-decoration:none; transition:border-color .2s ease, transform .2s ease, background .2s ease; }
.mega-card:hover, .mega-card:focus-visible { background:rgba(0,229,255,.07); border-color:rgba(0,229,255,.55); outline:none; transform:translateY(-3px); }
.mega-card strong { display:block; color:#f6fbff; font-size:14px; margin-bottom:8px; }
.mega-card span { color:#9eaab5; font-size:12px; line-height:1.55; }

.lang-switch { display:flex; gap:8px; background:rgba(255,255,255,.03); padding:6px 12px; border:1px solid rgba(255,255,255,.05); border-radius:4px; z-index:1001; }
.lang-btn { background:none; border:none; color:#555; font-weight:700; font-size:12px; cursor:pointer; letter-spacing:1px; transition:all .3s ease; }
.lang-btn.active { color:#00e5ff; text-shadow:0 0 10px rgba(0,229,255,.4); }

.site-footer { background:linear-gradient(180deg,rgba(5,5,5,.96),rgba(3,4,6,1)); border-top:1px solid rgba(255,255,255,.06); padding:72px 0 28px; margin-top:40px; animation:footer-reveal .7s cubic-bezier(.16,1,.3,1) both; }
.footer-grid { display:grid; grid-template-columns:1fr; gap:32px; }
.footer-brand { display:flex; flex-direction:column; gap:18px; }
.footer-logo { color:#fff; text-decoration:none; font-size:clamp(24px,2vw,32px); font-weight:900; letter-spacing:3px; text-transform:uppercase; }
.footer-logo span { color:#00e5ff; }
.footer-tagline,.footer-copy,.footer-column a,.footer-column li { color:#a5afbc; font-size:14px; line-height:1.8; }
.footer-copy { color:#dfe7ef; font-size:12px; letter-spacing:.5px; }
.footer-column h4 { color:#fff; font-size:12px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:18px; }
.footer-column ul { list-style:none; display:flex; flex-direction:column; gap:10px; padding:0; margin:0; }
.footer-column a { text-decoration:none; transition:color .2s ease; }
.footer-column a:hover { color:#00e5ff; }
.footer-lang { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:999px; padding:6px 8px; width:fit-content; margin-top:6px; }
.footer-lang .lang-btn { min-width:38px; min-height:28px; padding:6px 10px; border:none; border-radius:999px; background:transparent; color:#8a98a7; font-size:11px; font-weight:700; letter-spacing:1.2px; cursor:pointer; transition:all .2s ease; }
.footer-lang .lang-btn.active { background:rgba(0,229,255,.12); color:#00e5ff; }

@keyframes mega-content-in { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@keyframes footer-reveal { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }

@media (min-width:768px) {
    .site-footer .footer-grid { grid-template-columns:1.6fr 1fr 1.2fr 1fr; align-items:start; }
}

@media (max-width:1023px) {
    .mega-nav { display:none; }
    .mega-panel { display:none; }
    .nav-actions { display:none; }
    .burger-menu { display:flex; }
    .nav-links { position:fixed; top:0; right:auto; left:0; width:100%; max-width:none; height:100dvh; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; margin:0; overflow-y:auto; padding:104px 34px 38px; background:linear-gradient(160deg,rgba(10,13,20,.98),rgba(4,5,8,.99)); border:0; transform:translateX(100%); transition:transform .38s cubic-bezier(.16,1,.3,1); z-index:1000; }
    .nav-links.open { right:auto; transform:translateX(0); }
    .nav-links li { width:100%; margin:0; border-bottom:1px solid rgba(255,255,255,.08); }
    .nav-links a { display:block; width:100%; color:#f4f8fc; font-size:17px; letter-spacing:.3px; padding:18px 0; text-transform:none; }
    .nav-links a::after { display:none; }
    .nav-links .mobile-accordion { display:block; }
    .mobile-accordion { width:100%; }
    .mobile-accordion summary { color:#f4f8fc; cursor:pointer; font-size:17px; font-weight:700; letter-spacing:.3px; list-style:none; padding:18px 0; }
    .mobile-accordion summary::-webkit-details-marker { display:none; }
    .mobile-accordion summary::after { content:'+'; color:#00e5ff; float:right; font-size:22px; font-weight:400; }
    .mobile-accordion[open] summary::after { content:'−'; }
    .mobile-accordion-items { display:grid; gap:5px; padding:0 0 15px; }
    .mobile-accordion-items a { color:#9eabb5!important; font-size:13px!important; padding:8px 0!important; }
    .mobile-menu-action { display:flex!important; margin-top:16px; text-align:center; }
}

@media (min-width:1024px) {
    .nav-links { display:none; }
    .mobile-accordion { display:none; }
    .burger-menu { display:none!important; }
}

@media (max-width:768px) {
    .nav-container { min-height:38px; }
    .logo { font-size:20px; letter-spacing:3.5px; }
    .nav-right { gap:12px; flex:0; }
    .lang-switch { margin:0; padding:5px 7px; border-radius:10px; gap:8px; }
    .lang-btn { font-size:10px; min-width:19px; min-height:25px; }
    .burger-menu { order:2; width:28px; height:21px; padding:1px 0; }
    .burger-menu span { height:1.5px; border-radius:3px; }
    .site-footer { padding-top:56px; }
    .site-footer .footer-grid { grid-template-columns:1fr; gap:26px; }
}

@media (prefers-reduced-motion:reduce) {
    *, *::before, *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
