:root {
    /* 💜 PRIMARY */
    --y:  #ff2bd6;   /* Neon Pink */
    --yd: #b81fb0;

    /* 🔵 SECONDARY */
    --b:  #00d4ff;

    /* 💜 PURPLE */
    --p:  #7a3cff;

    /* ⚪ TEXT */
    --w: #fdfbff;
    --g: #a8a2b3;

    /* 🌑 BACKGROUND */
    --dark: #050507;
    --dark2:#0a0910;
    --dark3:#12101a;

    /* ✨ SMOOTH COLOR CHANGE */
    transition: 
        --y 0.6s ease,
        --yd 0.6s ease;
}

body {
    font-size: 16px;
}

p {
    line-height: 1.95;
}


.spec-head {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    margin-bottom: 4px;
}

.spec-value {
    opacity: 0.8;
    font-weight: 500;
}

/* ACTIVE BUTTON */
.rules-nav-btn.active {
    background: rgba(255,255,255,0.05);
    border-left: 2px solid var(--y);
    color: var(--w);
}

/* HOVER */
.rules-nav-btn:hover {
    background: rgba(255,255,255,0.03);
}

/* OPTIONAL: Smooth */
.rule-item {
    transition: 0.2s ease;
}

.rule-item:hover {
    transform: translateX(4px);
}

/* ===============================
   FRAKTIONS VORWORT
=============================== */

.faction-intro {
    padding: 100px 0 40px;
    position: relative;
}

.faction-intro-inner {
    width: min(900px, calc(100% - 40px));
    margin: 0 auto;
    text-align: center;
}

/* EYEBROW */
.faction-intro-eyebrow {
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--g);
    margin-bottom: 14px;
}

/* TITLE */
.faction-intro-title {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 700;
    text-transform: uppercase;
    line-height: 0.95;
    margin-bottom: 18px;
}

.faction-intro-title span {
    color: var(--y);
}

/* LINE */
.faction-intro-line {
    width: 100px;
    height: 2px;
    margin: 20px auto 30px;
    background: linear-gradient(90deg, var(--y), var(--p), transparent);
}

/* TEXT */
.faction-intro-text {
    font-size: 15px;
    line-height: 1.9;
    color: var(--g);
    margin-bottom: 18px;
}

.faction-intro-text.strong {
    color: var(--w);
    font-weight: 500;
}

/* ===============================
   FRAKTIONSREGELWERK — ISOLIERT
   Wrapper: .faction-rules
=============================== */

.faction-rules {
    --fr-accent: #00d4ff;
    --fr-accent-2: #7a3cff;
    --fr-bg: rgba(255, 255, 255, 0.035);
    --fr-bg-hover: rgba(255, 255, 255, 0.06);
    --fr-border: rgba(255, 255, 255, 0.08);
}

/* Layout bleibt wie normales Regelwerk */
.faction-rules .rules-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 42px;
    align-items: flex-start;
}

/* Sidebar */
.faction-rules .rules-sidebar {
    position: sticky;
    top: 110px;
    padding: 20px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid var(--fr-border);
}

/* Kategorie-Buttons */
.faction-rules .faction-rules-nav-btn {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 44px;
    padding: 12px 15px;
    margin-bottom: 8px;

    color: var(--g);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;

    background: var(--fr-bg);
    border: 1px solid var(--fr-border);
    border-radius: 12px;

    cursor: pointer;
    opacity: 1;
    transition: 0.25s ease;
}

.faction-rules .faction-rules-nav-btn:hover {
    color: var(--w);
    background: rgba(0, 212, 255, 0.09);
    border-color: rgba(0, 212, 255, 0.4);
    box-shadow: 0 0 18px rgba(0, 212, 255, 0.16);
    transform: translateX(4px);
}

.faction-rules .faction-rules-nav-btn.active {
    color: #fff;
    background: linear-gradient(
        135deg,
        rgba(0, 212, 255, 0.22),
        rgba(122, 60, 255, 0.16)
    );
    border-color: rgba(0, 212, 255, 0.65);
    box-shadow:
        0 0 22px rgba(0, 212, 255, 0.22),
        inset 0 0 18px rgba(255, 255, 255, 0.035);
    transform: translateX(6px);
}

.faction-rules .faction-rules-nav-btn.active::before {
    content: "";
    width: 6px;
    height: 6px;
    margin-right: 10px;
    border-radius: 50%;
    background: var(--fr-accent);
    box-shadow: 0 0 12px var(--fr-accent);
}

/* Sanktionen */
.faction-rules .rules-sidebar .rules-nav-btn:not(.faction-rules-nav-btn) {
    cursor: default;
    color: rgba(255, 255, 255, 0.46);
    background: rgba(255, 255, 255, 0.025);
    border-color: rgba(255, 255, 255, 0.05);
    box-shadow: none;
    transform: none;
}

.faction-rules .rules-sidebar .rules-nav-btn:not(.faction-rules-nav-btn):hover {
    color: rgba(255, 255, 255, 0.46);
    background: rgba(255, 255, 255, 0.025);
    border-color: rgba(255, 255, 255, 0.05);
    box-shadow: none;
    transform: none;
}

/* Search */
.faction-rules .rules-search {
    width: 100%;
    margin-bottom: 28px;
    padding: 16px 18px;

    color: var(--w);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--fr-border);
    border-radius: 14px;

    outline: none;
    transition: 0.25s ease;
}

.faction-rules .rules-search:focus {
    border-color: rgba(0, 212, 255, 0.6);
    box-shadow: 0 0 22px rgba(0, 212, 255, 0.18);
}

.faction-rules .rules-search::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

/* Gerenderter Fraktionsbereich */
.faction-rules-section {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
}

.faction-rules-section-tag {
    color: var(--fr-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.faction-rules-section-title {
    color: var(--w);
    font-size: clamp(30px, 4vw, 54px);
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 18px;
}

.faction-rules-section-line {
    width: 100%;
    height: 1px;
    margin-bottom: 30px;
    background: linear-gradient(
        90deg,
        rgba(0, 212, 255, 0.65),
        rgba(122, 60, 255, 0.25),
        transparent
    );
}

/* Liste */
.faction-rules-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Regelkarte */
.faction-rule-item {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    padding: 18px;

    background: var(--fr-bg);
    border: 1px solid var(--fr-border);
    border-radius: 16px;

    cursor: pointer;
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}

.faction-rule-item:hover {
    background: var(--fr-bg-hover);
    border-color: rgba(0, 212, 255, 0.28);
    box-shadow: 0 0 20px rgba(0, 212, 255, 0.10);
    transform: translateX(4px);
}

.faction-rule-item.open {
    border-color: rgba(0, 212, 255, 0.48);
    box-shadow: 0 0 22px rgba(0, 212, 255, 0.14);
}

/* Nummer */
.faction-rule-num {
    color: var(--fr-accent);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.08em;
    opacity: 0.9;
}

/* Content */
.faction-rule-content {
    min-width: 0;
}

.faction-rule-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.faction-rule-title {
    color: var(--w);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.faction-rule-text {
    margin-top: 8px;
    color: var(--g);
    font-size: 14px;
    line-height: 1.7;
}

/* Sanktion Badge */
.faction-rule-punish {
    flex: 0 0 auto;
    padding: 5px 10px;
    border-radius: 999px;

    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.faction-rule-punish.low {
    color: #00ff9f;
    background: rgba(0, 255, 159, 0.12);
    border: 1px solid rgba(0, 255, 159, 0.28);
}

.faction-rule-punish.mid {
    color: #ffd166;
    background: rgba(255, 209, 102, 0.12);
    border: 1px solid rgba(255, 209, 102, 0.28);
}

.faction-rule-punish.high {
    color: #ff4d6d;
    background: rgba(255, 77, 109, 0.12);
    border: 1px solid rgba(255, 77, 109, 0.30);
}

/* Empty State */
.faction-rules-empty {
    padding: 22px;
    color: var(--g);
    font-size: 13px;
    letter-spacing: 0.05em;
    text-transform: uppercase;

    background: rgba(255, 255, 255, 0.035);
    border: 1px solid var(--fr-border);
    border-radius: 14px;
}

/* Mobile */
@media (max-width: 900px) {
    .faction-rules .rules-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .faction-rules .rules-sidebar {
        position: relative;
        top: auto;
    }

    .faction-rule-item {
        grid-template-columns: 42px 1fr;
        padding: 15px;
    }

    .faction-rule-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
}

.key-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

/* CARD */
.key-card {
    border: 1px solid #111;
    padding: 20px;
    background: rgba(10,10,10,0.7);
    transition: 0.3s;
}

.key-card:hover {
    border-color: #7a00ff;
    transform: translateY(-5px);
}

/* 💀 WRAPPER BREITE */
.-inner {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 50px;
}

/* 💀 LAYOUT GRID */
.rules-layout {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 51px;
    margin-top: 50px;
}

/* 💀 SIDEBAR */
.rules-sidebar {
    width: 100%;
    height: fit-content;
    max-height: calc(100vh - 120px);
    position: sticky;
    top: 100px;
    overflow-y: auto;

    border: 1px solid #111;
    background: rgba(10,10,10,0.85);
}

/* 💀 CONTENT */
#law-content {
    width: 100%;
}

/* 💀 CONTENT BOX */
.law-view {
    border: 1px solid #111;
    padding: 40px;
    background: rgba(10,10,10,0.85);
}

/* 💀 SCROLLBAR CLEAN */
.rules-sidebar::-webkit-scrollbar {
    width: 6px;
}

.rules-sidebar::-webkit-scrollbar-thumb {
    background: #7a00ff;
}

/* 💀 RESPONSIVE */
@media(max-width: 1100px) {
    .rules-layout {
        grid-template-columns: 1fr;
    }

    .rules-sidebar {
        position: relative;
        top: unset;
        max-height: none;
    }
}



/* KEY STYLE */
.key {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #333;
    margin-bottom: 10px;
    font-weight: 600;
    background: black;
}

/* DESC */
.key-desc {
    font-size: 0.9rem;
    opacity: 0.7;
}

/* SCAN LINE CLEAN (ohne Bug) */
.terminal {
    position: relative;
    overflow: hidden;
}

.terminal::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: rgba(0,255,150,0.3);
    animation: scan 4s linear infinite;
}

@keyframes scan {
    0% { top: -10px; }
    100% { top: 100%; }
}

/* BUTTON DISABLED */
.btn-primary.disabled {
    opacity: 0.4;
    pointer-events: none;
}

.section-eyebrow,
.manifesto-num,
.job-type,
.faq-q,
.status-line,
.footer-copy,
.nav-links a,
.nav-cta,
.footer-links a {
    font-size: 11px;
}


.team-updates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    margin-top: 30px;
}

.update-card {
    background: rgba(0,0,0,0.5);
    border: 1px solid #222;
    padding: 20px;
    transition: 0.3s;
    position: relative;
}

.update-card:hover {
    transform: translateY(-6px);
    border-color: #555;
}

.update-tag {
    font-size: 11px;
    padding: 4px 8px;
    margin-bottom: 10px;
    display: inline-block;
    font-weight: 600;
}

/* Kategorien */
.hire { color: #4cffb0; }
.fire { color: #ff4c4c; }
.promo { color: #ffc94c; }
.update { color: #4cb3ff; }
.news { color: #ccc; }

.update-title {
    font-size: 18px;
    margin-bottom: 10px;
}

.update-text {
    font-size: 14px;
    color: #aaa;
}

.update-date {
    font-size: 11px;
    color: #666;
    margin-top: 10px;
}

.update-btn {
    margin-top: 10px;
    cursor: pointer;
    font-size: 12px;
    border-bottom: 1px solid #fff;
    display: inline-block;
}

/* FILTER */
.team-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.filter-btn {
    background: transparent;
    border: 1px solid #333;
    color: #888;
    padding: 6px 14px;
    cursor: pointer;
}

.filter-btn.active {
    border-color: #fff;
    color: #fff;
}

/* MODAL */
.modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.8);
    display: none;
    align-items: center;
    justify-content: center;
}

.modal.active {
    display: flex;
}

.modal-box {
    background: #111;
    padding: 30px;
    max-width: 500px;
    border: 1px solid #444;
}


/* GRID */
.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 30px;
    margin-bottom: 80px;
}

/* CARD */
.team-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #222;
    background: rgba(0,0,0,0.4);
    transition: 0.4s;
}

/* HOVER GLOW */
.team-card:hover {
    transform: translateY(-10px);
    border-color: #555;
    box-shadow: 0 0 25px rgba(255,255,255,0.1);
}

/* INNER */
.team-card-inner {
    padding: 20px;
}

/* AVATAR */
.team-avatar {
    position: relative;
    overflow: hidden;
}

.team-avatar img {
    width: 100%;
    display: block;
    filter: grayscale(100%);
    transition: 0.4s;
}

/* REMOVE GRAYSCALE */
.team-card:hover img {
    filter: grayscale(0%);
    transform: scale(1.05);
}

/* SCAN EFFECT */
.scan-line {
    position: absolute;
    width: 100%;
    height: 2px;
    background: rgba(255,255,255,0.3);
    top: -10%;
    animation: scan 4s infinite;
}

@keyframes scan {
    0% { top: -10%; }
    100% { top: 110%; }
}

/* INFO */
.team-info {
    margin-top: 15px;
}

.team-name {
    font-size: 18px;
}

/* ROLES */
.team-role {
    font-size: 12px;
    margin-top: 5px;
    letter-spacing: 1px;
}

/* COLORS */
.team-role.admin { color: #ff4c4c; }
.team-role.dev { color: #4cb3ff; }
.team-role.support { color: #4cffb0; }

/* REVEAL ANIMATION */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: 0.6s;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}




nav#main-nav {
    position: fixed; top: 0; left: 0; right: 0;
    z-index: 200;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 64px;
    height: 72px;
    background: rgba(8, 8, 7, 0.88);
    border-bottom: 1px solid rgba(212, 160, 23, 0.08);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transition: border-color 0.3s;
}

/* =========================
   💀 TEAM STAMMBAUM CLEAN
========================= */

.team-tree {
    padding: 100px 0;
}

/* TREE */
.tree ul {
    padding-top: 20px;
    display: flex;
    justify-content: center;
    position: relative;
}

.tree li {
    list-style: none;
    text-align: center;
    padding: 20px 10px 0;
    position: relative;
}

/* LINES */
.tree li::before,
.tree li::after {
    content: '';
    position: absolute;
    top: 0;
    right: 50%;
    border-top: 1px solid #333;
    width: 50%;
    height: 20px;
}

.tree li::after {
    left: 50%;
    border-left: 1px solid #333;
}

.tree ul ul::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    border-left: 1px solid #333;
    height: 20px;
}

/* BOX */
.tree-box {
    border: 1px solid #222;
    padding: 20px 20px 15px;
    min-width: 200px;
    min-height: 140px; /* 🔥 Höhe */
    background: rgba(0,0,0,0.5);
    transition: 0.25s;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* HOVER (clean) */
.tree-box:hover {
    border-color: #555;
}

/* TEXT */
.tree-title {
    font-size: 14px;
}

.tree-count {
    font-size: 11px;
    color: #666;
}

/* ROLE COLORS */
.owner { border-color: #ff4c4c; }
.lead { border-color: #ff884c; }
.deputy { border-color: #ffc94c; }
.cm { border-color: #4cb3ff; }
.head { border-color: #4cffb0; }
.support { border-color: #888; }
.entry { border-color: #555; }

/* AVATARS */
.tree-members {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    gap: 10px;
    margin-top: 10px; /* Abstand vom Titel */
}

.member {
    width: 48px;
    height: 48px;
    position: relative;

    margin-bottom: 12px; /* Platz für Name */
}

.member img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid #222;
}

/* TOOLTIP */
.member::after {
    content: attr(data-name);
    position: absolute;
    bottom: -16px; /* näher am Avatar */
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    color: #aaa;
    opacity: 1; /* 🔥 immer sichtbar */
    white-space: nowrap;
}


.member:hover::after {
    opacity: 1;
}

/* MODAL */
.modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.8);
    display: none;
    align-items: center;
    justify-content: center;
}

.modal.active {
    display: flex;
}

.modal-box {
    background: #111;
    padding: 30px;
    border: 1px solid #444;
}

/* FREIE SLOTS */
.member.empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.03);
    border: 2px dashed #333;
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.empty-avatar {
    font-size: 18px;
    color: #666;
}

/* HOVER */
.member.empty:hover {
    border-color: #555;
    background: rgba(255,255,255,0.05);
}

/* FREIE SLOTS */
.member.empty img {
    filter: grayscale(100%) brightness(0.6);
    opacity: 0.6;
}

/* HOVER */
.member.empty:hover img {
    opacity: 0.8;
    filter: grayscale(100%) brightness(0.8);
}

/* TOOLTIP */
.member.empty::after {
    content: "Frei";
}

footer#main-footer {
    padding: 40px 64px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
}

.footer-logo {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    color: var(--g);
    letter-spacing: 0.08em;
}

.footer-logo span { color: var(--y); }

.footer-copy {
    font-family: 'Share Tech Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.13em;
    color: rgba(184, 176, 160, 0.55);
    text-align: center;
    white-space: nowrap;
}

.footer-links {
    display: flex;
    gap: 28px;
    justify-content: flex-end;
}

.footer-links a {
    font-family: 'Share Tech Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--g);
    text-decoration: none;
    transition: color 0.2s;
}

.footer-links a:hover { color: var(--y); }

@media (max-width: 1024px) {
    nav#main-nav { padding: 0 32px; }
    footer#main-footer { padding: 32px; }
}

@media (max-width: 768px) {
    nav#main-nav {
        padding: 0 20px;
        flex-wrap: wrap;
        height: auto;
        min-height: 60px;
    }

    .nav-mobile-toggle { display: flex; }

    .nav-links {
        display: none;
        width: 100%;
        flex-direction: column;
        gap: 0;
        padding: 8px 0 16px;
        order: 3;
        height: auto;
        align-items: flex-start;
    }

    nav#main-nav.nav-open .nav-links {
        display: flex;
    }

    .nav-links li a {
        display: block;
        padding: 12px 4px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        font-size: 12px;
    }

    .nav-cta { display: none; }

    .nav-dropdown {
        height: auto;
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
    }

    .nav-dropdown-menu {
        position: static;
        transform: none;
        opacity: 1;
        pointer-events: all;
        border: none;
        border-top: none;
        border-left: 2px solid rgba(212,160,23,0.3);
        background: transparent;
        backdrop-filter: none;
        padding: 0 0 0 16px;
        min-width: auto;
        display: none;
        top: auto;
    }
    .nav-dropdown.open .nav-dropdown-menu {
        display: block;
    }
    .nav-dropdown-menu li a {
        padding: 10px 4px;
        border-bottom: 1px solid rgba(255,255,255,0.03);
    }

    footer#main-footer {
        padding: 28px 20px;
        grid-template-columns: 1fr;
        text-align: center;
        gap: 16px;
    }

    .footer-links {
        justify-content: center;
        flex-wrap: wrap;
        gap: 16px;
    }
}

.nav-logo span,
.sidebar-link.active,
.section-eyebrow,
.hero-title .line2,
.hero-rule,
.section-rule,
.btn-primary,
.nav-cta,
.footer-links a:hover,
.about-quote,
.cta-big em,
.discord-card::before,
.discord-card-label,
.discord-card-btn,
.dot {
    transition: color 0.6s ease, background 0.6s ease, background-color 0.6s ease, border-color 0.6s ease;
}


/* ───────── LAYOUT ───────── */
.rules-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;
    padding: 60px;
}

/* ───────── SIDEBAR ───────── */
.rules-sidebar-title {
    color: #777;
    margin-bottom: 10px;
    font-size: 12px;
}

.rules-nav-btn {
    padding: 8px 0;
    cursor: pointer;
    color: #aaa;
    transition: 0.2s;
}

.rules-nav-btn:hover {
    color: #fff;
    transform: translateX(5px);
}

.rules-nav-btn.active {
    color: #ff2bd6;
}

/* ───────── ACCORDION ───────── */
.law-item {
    margin-bottom: 20px;
    border: 1px solid rgba(255,255,255,0.08);
    background: rgba(255,255,255,0.02);
    border-radius: 10px;
    overflow: hidden;
    transition: 0.25s;
}

/* HEADER */
.law-header {
    padding: 18px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-family: 'Oswald', sans-serif;
    background: rgba(255,255,255,0.02);
}

.law-header:hover {
    background: rgba(255,43,214,0.08);
}

/* TITLE */
.law-header div:first-child {
    font-size: 18px;
}

/* TOGGLE */
.law-toggle {
    font-size: 18px;
    color: #ff2bd6;
    transition: 0.3s;
}

.law-item.open .law-toggle {
    transform: rotate(45deg);
}

/* BODY */
.law-body {
    display: none;
    padding: 20px;
}

.law-item.open .law-body {
    display: block;
}

/* TEXT */
.law-text {
    color: #ccc;
    line-height: 1.6;
    margin-bottom: 15px;
}

/* STRAFE BOX */
.law-penalty {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 15px;
}

/* STRAFE LINES */
.penalty-line {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
    font-size: 14px;
}

/* NOTE */
.law-note {
    margin-top: 10px;
    font-size: 13px;
    opacity: 0.7;
}

/* ───────── FIX: CLICK PROBLEM ───────── */
.grain,
.hero-bg {
    pointer-events: none;
}

.rules-page {
    position: relative;
    z-index: 10;
}


.rules-inner {
    max-width: 1600px;   /* ← BREITER */
    margin: 0 auto;
    padding: 0 40px;
}

/* 💀 MAIN GRID */
.rules-layout {
    display: grid;
    grid-template-columns: 320px 1fr; /* Sidebar größer */
    gap: 80px; /* mehr Abstand */
    padding: 80px 0;
}

/* 💀 SUBMENU */
.sidebar-sub {
    max-height: 0;
    overflow: hidden;
    transition: 0.4s ease;
}

.sidebar-group.open .sidebar-sub {
    max-height: 500px;
}

/* BUTTON */
.rules-sub-btn {
    padding: 6px 0;
    cursor: pointer;
    color: #888;
    transition: 0.2s;
}

.rules-sub-btn:hover {
    color: #fff;
    transform: translateX(6px);
}

.rules-sub-btn.active {
    color: #ff2bd6;
}

/* 💀 LAW VIEW */
.law-title {
    font-size: 34px;
    font-family: 'Oswald';
    margin-bottom: 20px;
}

.law-text {
    font-size: 16px;
    color: #bbb;
    line-height: 1.8;
    margin-bottom: 30px;
}

/* 💀 STRAFE CARD */
.law-penalty-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    padding: 20px;
    border-left: 3px solid #ff2bd6;
}

/* TITLE */
.penalty-title {
    font-size: 14px;
    letter-spacing: 2px;
    color: #888;
    margin-bottom: 15px;
}

/* ROW */
.penalty-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

/* NOTE */
.penalty-note {
    margin-top: 10px;
    font-size: 13px;
    color: #777;
}

.law-section-title {
    margin-top: 20px;
    font-family: 'Oswald';
    font-size: 18px;
}

.law-abs {
    margin-bottom: 10px;
    color: #bbb;
}

.law-list {
    margin-left: 20px;
    margin-bottom: 15px;
}


/* 💀 SEARCH BAR */
.law-search-box {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    margin-bottom: 30px;
}

/* ICON */
.law-search-box i {
    color: #ff2bd6;
}

/* INPUT */
#law-search {
    background: none;
    border: none;
    outline: none;
    color: #fff;
    width: 100%;
    font-size: 14px;
}

/* PLACEHOLDER */
#law-search::placeholder {
    color: #666;
}

/* 💀 SEARCH HIT */
.rules-sub-btn.search-hit {
    color: #ff2bd6;
    transform: translateX(8px);
}

/* 💀 FADE ANIMATION */
.rules-sub-btn {
    transition: all 0.25s ease;
}

/* 💀 LAW VIEW ANIMATION */
.law-view {
    animation: fadeSlide 0.4s ease;
}

@keyframes fadeSlide {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 💀 GLOW ON HOVER */
.rules-sub-btn:hover {
    text-shadow: 0 0 8px rgba(255,43,214,0.6);
}

/* 💀 SEARCH FOCUS */
.law-search-box:focus-within {
    border-color: #ff2bd6;
    box-shadow: 0 0 15px rgba(255,43,214,0.2);
}

/* ───────── BASE ───────── */


#glossary-container {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(260px,1fr));
    gap: 20px;
}

.glossary-card {
    padding: 20px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    transition: 0.3s;
    position: relative;
}

.glossary-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 25px rgba(255,43,214,0.4);
    border-color: #ff2bd6;
}

.glossary-icon {
    font-size: 20px;
    color: #ff2bd6;
    margin-bottom: 10px;
}

.glossary-head {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 8px;
}

.glossary-short {
    font-family: 'Oswald';
    font-size: 18px;
    color: #fff;
}

.glossary-title {
    font-size: 13px;
    color: #aaa;
}

.glossary-desc {
    font-size: 14px;
    color: #ccc;
    margin-bottom: 10px;
}

.glossary-example {
    font-size: 12px;
    color: #888;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 8px;
}

/* CTA */
.cta-banner {
    padding:120px 0;
    text-align:center;
}

.cta-big {
    font-family:'Oswald';
    font-size:60px;
}

.cta-big em {
    color:#ff2bd6;
    font-style:normal;
}


.hero-title {
    font-family: 'Oswald';
    font-size: 60px;
    z-index: 1;
}

.hero-eyebrow {
    font-size: 12px;
    color: #ff2bd6;
    letter-spacing: 2px;
}

.hero-rule {
    width: 120px;
    height: 2px;
    background: #ff2bd6;
    margin-top: 10px;
}

/* ───────── LAYOUT ───────── */
.tips-page {
    padding: 40px;
}

.tips-inner {
    max-width: 1400px;
    margin: auto;
}

/* ───────── SEARCH ───────── */
.guide-search {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.05);
    padding: 10px 15px;
    margin-bottom: 20px;
}

.guide-search input {
    background: none;
    border: none;
    outline: none;
    color: white;
    width: 100%;
}

/* ───────── XP BAR ───────── */
.xp-bar {
    height: 4px;
    background: rgba(255,255,255,0.1);
    margin-bottom: 20px;
}

.xp-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg,#ff2bd6,#7a3cff);
    transition: 0.3s;
}

/* ───────── FILTER ───────── */
.tips-filter {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
}

.filter {
    padding: 6px 14px;
    background: rgba(255,255,255,0.05);
    border: none;
    cursor: pointer;
    color: #aaa;
    transition: 0.3s;
}

.filter.active,
.filter:hover {
    background: #ff2bd6;
    color: #000;
}

/* ───────── GRID ───────── */
.tips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(250px,1fr));
    gap: 20px;
}

/* ───────── TIP CARD ───────── */
.tip-card {
    padding: 20px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    transition: 0.3s;
    position: relative;
}

.tip-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 20px rgba(255,43,214,0.3);
}

.tip-head {
    font-family: 'Oswald';
    margin-bottom: 10px;
    font-size: 18px;
}

.tip-body {
    color: #aaa;
    font-size: 14px;
}

/* ───────── BLOCK ───────── */
.block {
    margin-top: 50px;
}

.block-title {
    font-family: 'Share Tech Mono';
    font-size: 12px;
    color: #777;
    margin-bottom: 15px;
}

.block-title.red {
    color: #ff2bd6;
}

/* ───────── TAGS ───────── */
.tag {
    display: inline-block;
    margin: 6px;
    padding: 6px 12px;
    border: 1px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.03);
    font-size: 13px;
    transition: 0.3s;
}

.tag:hover {
    border-color: #ff2bd6;
    box-shadow: 0 0 10px rgba(255,43,214,0.4);
}

/* ───────── NO GO GRID ───────── */
#nogo-container {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(260px,1fr));
    gap: 20px;
}

/* ───────── NO GO CARD ───────── */
.nogo-card {
    display: flex;
    gap: 15px;
    padding: 20px;
    background: rgba(255,0,0,0.05);
    border: 1px solid rgba(255,0,0,0.2);
    transition: 0.3s;
}

.nogo-card i {
    font-size: 20px;
    color: #ff2bd6;
}

.nogo-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0 20px rgba(255,43,214,0.4);
}

.nogo-title {
    font-family: 'Oswald';
    font-size: 16px;
}

.nogo-text {
    font-size: 13px;
    color: #aaa;
}

/* ───────── SCROLL ANIMATION ───────── */
.tip-card,
.nogo-card,
.tag {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp 0.6s forwards;
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ───────── RESPONSIVE ───────── */
@media (max-width: 768px){

    .hero-title {
        font-size: 40px;
    }

    .tips-page {
        padding: 20px;
    }

}

/* 💀 SIDEBAR */
.rules-sidebar {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    padding: 25px;
    height: fit-content;
}

/* HEADER */
.rules-sidebar-title {
    font-size: 12px;
    color: #666;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.rules-sidebar-sub {
    font-size: 13px;
    color: #999;
    margin-bottom: 20px;
}

/* LIST */
.rules-sidebar-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* BUTTON */
.rules-nav-btn {
    padding: 10px 12px;
    cursor: pointer;
    color: #aaa;
    display: flex;
    gap: 10px;
    align-items: center;
    transition: 0.25s;
}

/* HOVER */
.rules-nav-btn:hover {
    color: #fff;
    transform: translateX(6px);
}

/* ACTIVE */
.rules-nav-btn.active {
    color: #ff2bd6;
}

/* 💀 ACCORDION */
.law-item {
    margin-bottom: 18px;
    border: 1px solid rgba(255,255,255,0.06);
    background: rgba(255,255,255,0.02);
    transition: 0.3s;
}

/* HEADER */
.law-header {
    padding: 18px;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    transition: 0.25s;
}

/* HOVER */
.law-header:hover {
    background: rgba(255,43,214,0.08);
}

/* TITLE */
.law-header div:first-child {
    font-family: 'Oswald';
    font-size: 18px;
}

/* ICON */
.law-toggle i {
    color: #ff2bd6;
    transition: 0.3s;
}

/* BODY */
.law-body {
    max-height: 0;
    overflow: hidden;
    transition: all 0.4s ease;
    padding: 0 18px;
    opacity: 0;
}

/* OPEN */
.law-item.open .law-body {
    max-height: 1000px;
    padding: 18px;
    opacity: 1;
}

/* TEXT */
.law-text {
    color: #bbb;
    margin-bottom: 20px;
    line-height: 1.6;
}

/* STRAFE */
.law-penalty {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 15px;
}

/* LINES */
.penalty-line {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

/* NOTE */
.law-note {
    margin-top: 10px;
    font-size: 13px;
    color: #777;
}

/* GLOW EFFECT */
.law-item.open {
    box-shadow: 0 0 25px rgba(255,43,214,0.15);
}

/* SIDEBAR FOOTER */
.rules-sidebar-footer {
    margin-top: 30px;
    font-size: 12px;
    color: #666;
}

.sidebar-info {
    display: flex;
    gap: 10px;
    align-items: center;
}

/* 💀 SIDEBAR GROUP */
.sidebar-group {
    margin-bottom: 10px;
}

/* MAIN BUTTON */
.rules-nav-btn.main {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    color: #aaa;
    padding: 10px;
    transition: 0.25s;
}

.rules-nav-btn.main:hover {
    color: #fff;
}

/* ARROW */
.arrow {
    transition: 0.3s;
}

/* ROTATE */
.sidebar-group.open .arrow {
    transform: rotate(180deg);
}

/* 💀 SUB LIST */
.sidebar-sub {
    max-height: 0;
    overflow: hidden;
    transition: 0.4s ease;
    padding-left: 15px;
}

/* OPEN */
.sidebar-group.open .sidebar-sub {
    max-height: 500px;
}

/* 💀 SUB BUTTON */
.rules-sub-btn {
    padding: 8px 0;
    cursor: pointer;
    color: #888;
    display: flex;
    gap: 8px;
    align-items: center;
    transition: 0.25s;
    font-size: 14px;
}

/* DOT */
.rules-sub-btn i {
    font-size: 6px;
}

/* HOVER */
.rules-sub-btn:hover {
    color: #fff;
    transform: translateX(5px);
}

/* ACTIVE */
.rules-sub-btn.active {
    color: #ff2bd6;
}

/* 💀 CONTENT */
.law-title {
    font-size: 28px;
    font-family: 'Oswald';
    margin-bottom: 15px;
}

.law-text {
    color: #bbb;
    margin-bottom: 20px;
}

.law-penalty {
    border-left: 3px solid #ff2bd6;
    padding-left: 15px;
}

.penalty-line {
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
}

.law-note {
    margin-top: 10px;
    font-size: 13px;
    color: #777;
}

/* ───────── FIXES (WICHTIG) ───────── */
.grain,
.hero-bg {
    pointer-events: none;
}

/* ───────── AI SECTION ───────── */
.ai-chat {
    padding: 100px 20px;
}

/* ───────── WRAPPER ───────── */
.ai-wrapper {
    max-width: 900px;
    margin: auto;
    position: relative;
    z-index: 100;

    background: rgba(10,10,15,0.6);
    border: 1px solid rgba(255,255,255,0.08);
    backdrop-filter: blur(20px);
    overflow: hidden;
}

/* GLOW BORDER */
.ai-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255,43,214,0.2);
    opacity: 0;
    transition: 0.4s;
}

.ai-wrapper:hover::before {
    opacity: 1;
}

/* ───────── HEADER ───────── */
.ai-header {
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 16px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.ai-title {
    font-family: 'Oswald';
    display: flex;
    gap: 10px;
    font-size: 16px;
}

.ai-title i {
    color: #ff2bd6;
}

.ai-status {
    font-size: 12px;
    color: #00ff88;
}

/* ───────── CHATBOX ───────── */
.ai-chatbox {
    height: 350px;
    overflow-y: auto;
    padding: 20px;

    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* SCROLLBAR */
.ai-chatbox::-webkit-scrollbar {
    width: 6px;
}

.ai-chatbox::-webkit-scrollbar-thumb {
    background: #ff2bd6;
}

/* ───────── MESSAGES ───────── */
.ai-msg {
    max-width: 75%;
    padding: 12px 16px;
    font-size: 14px;
    line-height: 1.5;

    animation: fadeIn 0.3s ease;
}

/* BOT */
.ai-msg.bot {
    background: rgba(255,255,255,0.05);
    border-left: 3px solid #ff2bd6;
}

/* USER */
.ai-msg.user {
    background: linear-gradient(135deg,#ff2bd6,#7a3cff);
    color: #000;
    align-self: flex-end;
}

/* ───────── INPUT ───────── */
.ai-input {
    display: flex;
    border-top: 1px solid rgba(255,255,255,0.08);
}

/* INPUT FIELD */
.ai-input input {
    flex: 1;
    padding: 14px;

    background: transparent;
    border: none;
    color: white;
    font-size: 14px;

    pointer-events: auto; /* 💀 FIX */
}

.ai-input input:focus {
    outline: none;
}

/* BUTTON */
.ai-input button {
    width: 60px;
    border: none;
    cursor: pointer;

    background: linear-gradient(135deg,#ff2bd6,#7a3cff);
    transition: 0.3s;
}

.ai-input button:hover {
    box-shadow: 0 0 15px rgba(255,43,214,0.6);
}

/* ───────── HOVER EFFECT ───────── */
.ai-wrapper:hover {
    box-shadow: 0 0 40px rgba(255,43,214,0.2);
}

/* ───────── ANIMATION ───────── */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ───────── MOBILE ───────── */
@media (max-width: 768px){

    .ai-chatbox {
        height: 250px;
    }

    .ai-wrapper {
        margin: 20px;
    }

}

/* 💀 FIX INPUT CLICK */
.ai-input {
    position: relative;
    z-index: 9999;
}

.ai-input input {
    pointer-events: auto;
    z-index: 9999;
    position: relative;
}

/* 💀 FIX OVERLAY BLOCK */
.grain,
.hero-bg {
    pointer-events: none !important;
}

/* 💀 EXTRA SAFETY */
.ai-wrapper {
    position: relative;
    z-index: 9999;
}

.ai-msg {
    white-space: pre-line;
}


/* ───────── LEGAL PAGE BASE ───────── */

.rules-page {
    padding: 100px 20px;
}

.rules-inner {
    max-width: 1000px;
    margin: auto;
}

/* ───────── TITLE ───────── */

.law-title {
    font-family: 'Oswald';
    font-size: 36px;
    margin-bottom: 30px;
    color: #fff;
}

/* ───────── SECTION TITLE ───────── */

.law-section-title {
    margin-top: 40px;
    margin-bottom: 10px;

    font-family: 'Oswald';
    font-size: 18px;

    color: #ff2bd6;
    letter-spacing: 1px;
}

/* ───────── TEXT ───────── */

.law-text {
    color: #bbb;
    line-height: 1.8;
    font-size: 15px;
}

.law-text p {
    margin-bottom: 15px;
}

/* ───────── LIST ───────── */

.law-list {
    margin-top: 10px;
    margin-bottom: 20px;
    padding-left: 20px;
}

.law-list li {
    margin-bottom: 8px;
    color: #aaa;
    position: relative;
}

/* CUSTOM BULLET */
.law-list li::marker {
    color: #ff2bd6;
}

/* ───────── BOX STYLE ───────── */

.law-view {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    padding: 40px;
    backdrop-filter: blur(10px);
    transition: 0.3s;
}

/* HOVER GLOW */
.law-view:hover {
    box-shadow: 0 0 40px rgba(255,43,214,0.1);
}

/* ───────── STRONG TEXT ───────── */

.law-text strong {
    color: #fff;
}


/* ───────── LINE ───────── */


/* ───────── FADE ANIMATION ───────── */

.law-view {
    animation: fadeUp 0.5s ease;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ───────── SCROLL EFFECT ───────── */

.law-section-title {
    position: relative;
}

.law-section-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    background: #ff2bd6;
    margin-top: 6px;
    opacity: 0.4;
}

/* ───────── RESPONSIVE ───────── */

@media (max-width: 768px){

    .law-view {
        padding: 25px;
    }

    .law-title {
        font-size: 26px;
    }

    .hero-title {
        font-size: 40px;
    }

}

/* 💀 VERIFY LAYOUT FINAL */
.verify-section{
    padding:120px 20px;
}

/* 💀 ULTRA GRID */
.verify-container{
    display:grid;
    grid-template-columns: 1.7fr 0.5fr; /* 🔥 TERMS MASSIV */
    gap:60px;

    max-width:1700px; /* 🔥 FULL WIDTH FEEL */
    margin:0 auto;
    padding:0 80px;
}

/* 💀 CARD BASE CLEAN */
.verify-box{
    position:relative;
    padding:50px;
    border-radius:18px;

    background:linear-gradient(
        145deg,
        rgba(255,255,255,0.04),
        rgba(255,255,255,0.01)
    );

    border:1px solid rgba(255,255,255,0.08);

    backdrop-filter:blur(18px);

    box-shadow:
        0 20px 80px rgba(0,0,0,0.9);

    transition:0.35s ease;
}

/* 💀 HOVER */
.verify-box:hover{
    transform:translateY(-10px) scale(1.01);
    box-shadow:
        0 40px 120px rgba(0,0,0,1),
        0 0 50px rgba(88,101,242,0.25);
}

/* 💀 TERMS CARD BIG */
.terms-card{
    min-height:650px;
}

/* 💀 LOGIN CARD SMALL */
.login-card{
    max-width:420px;
    justify-self:end;
}

/* 💀 TITLES */
.verify-title{
    font-family:'Oswald', sans-serif;
    font-size:34px;
    margin-bottom:12px;
    text-shadow:0 0 20px rgba(88,101,242,0.5);
}

.verify-text{
    font-size:16px;
    color:#aaa;
    margin-bottom:25px;
}

/* 💀 TERMS SCROLL */
.terms-scroll{
    max-height:550px;
    overflow-y:auto;

    padding:30px;
    border-radius:14px;

    background:rgba(255,255,255,0.02);
    border:1px solid rgba(255,255,255,0.1);

    line-height:1.8;
    font-size:15px;
}

/* 💀 SCROLLBAR CLEAN */
.terms-scroll::-webkit-scrollbar{
    width:10px;
}

.terms-scroll::-webkit-scrollbar-track{
    background:rgba(255,255,255,0.03);
    border-radius:10px;
}

.terms-scroll::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#5865F2,#4752c4);
    border-radius:10px;
    box-shadow:0 0 10px rgba(88,101,242,0.6);
}

.terms-scroll::-webkit-scrollbar-thumb:hover{
    background:#6c7cff;
}

/* 💀 TEXT */
.terms-scroll li{
    margin-bottom:12px;
    color:#ddd;
}

.terms-scroll h3{
    font-size:14px;
    margin-top:20px;
    color:#5865F2;
}


/* 💀 CHECKBOX */
.terms-check{
    display:flex;
    gap:14px;
    margin-top:25px;
    font-size:15px;
    cursor:pointer;
}

.terms-check input{
    transform:scale(1.3);
    accent-color:#5865F2;
}

/* 💀 CAPTCHA */
.captcha-box{
    margin-top:25px;
    padding:22px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,0.1);
    transition:0.3s;
}

.captcha-question{
    font-family:'Share Tech Mono', monospace;
    font-size:24px;
    color:#5865F2;
}

.captcha-box input{
    width:100%;
    padding:14px;
    margin-top:12px;
    background:#0a0a0d;
    border:1px solid rgba(255,255,255,0.1);
    color:#fff;
    border-radius:8px;
}

/* 💀 INPUT FOCUS */
.captcha-box input:focus{
    border-color:#5865F2;
    box-shadow:0 0 15px rgba(88,101,242,0.4);
}

/* 💀 ERROR SHAKE */
.captcha-box.error{
    border-color:#ff4d4d;
    animation:shake 0.3s;
}

@keyframes shake{
    25%{transform:translateX(-6px);}
    50%{transform:translateX(6px);}
}

/* 💀 BUTTON */
.verify-btn{
    display:block;
    width:100%;
    margin-top:30px;
    padding:20px;

    background:#5865F2;
    color:#fff;

    text-align:center;
    border-radius:12px;
    font-size:17px;
    font-weight:600;

    transition:0.3s;
}

/* 💀 ACTIVE GLOW */
.verify-btn.active{
    animation:pulse 2s infinite;
}

@keyframes pulse{
    50%{box-shadow:0 0 35px rgba(88,101,242,0.7);}
}

.verify-btn:hover{
    background:#4752c4;
}

/* 💀 DISABLED */
.verify-btn.disabled{
    background:#333;
    opacity:0.5;
    pointer-events:none;
}

/* 💀 LOADING SCREEN */
#loadingScreen{
    position:fixed;
    inset:0;
    background:#050507;
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0;
    pointer-events:none;
    transition:0.4s;
}

#loadingScreen.show{
    opacity:1;
    pointer-events:all;
}

.loader{
    width:80px;
    height:80px;
    border:5px solid rgba(255,255,255,0.1);
    border-top:5px solid #5865F2;
    border-radius:50%;
    animation:spin 1s linear infinite;
    box-shadow:0 0 30px rgba(88,101,242,0.6);
}

@keyframes spin{
    to{transform:rotate(360deg);}
}

/* 💀 MOBILE */
@media(max-width:1100px){
    .verify-container{
        grid-template-columns:1fr;
        max-width:700px;
    }

    .login-card{
        justify-self:center;
        max-width:100%;
    }
}


/* =========================
JOBS SECTION
========================= */

.jobs {
    padding: 120px 0;
}

.jobs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 40px;
}

/* =========================
JOB CARD BASE
========================= */

.job-card {
    position: relative;
    padding: 30px;
    background: rgba(0,0,0,0.55);
    border: 1px solid rgba(255,255,255,0.08);
    transition: all 0.4s ease;
    overflow: hidden;
    backdrop-filter: blur(4px);
}

/* Glow Layer */
.job-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 0%, rgba(0,255,180,0.18), transparent 65%);
    opacity: 0;
    transition: 0.4s ease;
}

/* =========================
HOVER CORE EFFECT
========================= */

.job-card:hover {
    transform: translateY(-12px) scale(1.02);
    border-color: rgba(0,255,180,0.5);

    box-shadow:
        0 0 10px rgba(0,255,180,0.25),
        0 0 40px rgba(0,255,180,0.2),
        0 0 80px rgba(0,255,180,0.1),
        inset 0 0 25px rgba(0,255,180,0.05);
}

.job-card:hover .job-glow {
    opacity: 1;
}

/* =========================
SCANLINE ANIMATION
========================= */

.job-card::before {
    content: "";
    position: absolute;
    width: 140%;
    height: 2px;
    top: 0;
    left: -20%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(0,255,180,0.9),
        transparent
    );

    transform: translateX(-100%);
    transition: transform 0.6s ease;
}

.job-card:hover::before {
    transform: translateX(100%);
}

/* =========================
HEADER
========================= */

.job-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.job-title {
    font-family: 'Oswald';
    font-size: 24px;
    letter-spacing: 1px;
    transition: 0.3s ease;
}

/* Neon Title Hover */
.job-card:hover .job-title {
    color: #00ffb4;
    text-shadow:
        0 0 5px #00ffb4,
        0 0 10px #00ffb4,
        0 0 20px rgba(0,255,180,0.7),
        0 0 40px rgba(0,255,180,0.4);
}

/* =========================
BADGE
========================= */

.job-badge {
    font-size: 11px;
    padding: 3px 8px;
    border: 1px solid rgba(0,255,180,0.4);
    color: #00ffb4;
    letter-spacing: 1px;
}

.job-card:hover .job-badge {
    box-shadow:
        0 0 10px rgba(0,255,180,0.7),
        inset 0 0 5px rgba(0,255,180,0.4);
}

/* =========================
TEXT CONTENT
========================= */

.job-eyebrow {
    font-family: 'Share Tech Mono';
    font-size: 11px;
    color: rgba(0,255,180,0.7);
    margin-top: 10px;
}

.job-desc {
    margin: 15px 0;
    color: rgba(255,255,255,0.65);
    line-height: 1.6;
}

.job-section {
    margin-top: 20px;
}

.job-section h4 {
    font-size: 11px;
    letter-spacing: 1px;
    color: #00ffb4;
    margin-bottom: 8px;
}

.job-section ul {
    padding-left: 18px;
}

.job-section li {
    margin-bottom: 6px;
    color: rgba(255,255,255,0.7);
}

/* =========================
BUTTON EFFECT
========================= */

.job-btn {
    display: inline-block;
    margin-top: 25px;
    padding: 10px 20px;

    border: 1px solid rgba(0,255,180,0.4);
    color: #00ffb4;
    text-decoration: none;

    position: relative;
    overflow: hidden;

    transition: 0.3s ease;
}

/* Button Glow Sweep */
.job-btn::after {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        120deg,
        transparent,
        rgba(0,255,180,0.35),
        transparent
    );

    transform: translateX(-100%);
    transition: transform 0.4s ease;
}

.job-card:hover .job-btn::after {
    transform: translateX(100%);
}

.job-btn:hover {
    box-shadow:
        0 0 10px rgba(0,255,180,0.6),
        0 0 25px rgba(0,255,180,0.3);
}

/* =========================
EXTRA DEPTH EFFECT
========================= */

.job-card:hover {
    backdrop-filter: blur(6px);
}

/* =========================
APPLY SECTION
========================= */

.apply-section {
    padding: 120px 0;
}

/* =========================
FORM LAYOUT (VERTICAL)
========================= */

.apply-form {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-top: 50px;
    max-width: 800px;
}

/* =========================
FORM GROUP
========================= */

.form-group {
    display: flex;
    flex-direction: column;
    position: relative;
}

/* =========================
LABEL
========================= */

.form-group label {
    font-family: 'Share Tech Mono';
    font-size: 11px;
    letter-spacing: 2px;
    color: rgba(0,255,180,0.7);
    margin-bottom: 8px;
}

/* =========================
INPUT / SELECT / TEXTAREA
========================= */

input,
select,
textarea {
    width: 100%;
    padding: 16px 18px;

    background: rgba(0,0,0,0.6);
    border: 1px solid rgba(255,255,255,0.08);

    color: #fff;
    font-size: 15px;

    outline: none;

    transition: all 0.3s ease;
}

/* =========================
TEXTAREA SIZE
========================= */

textarea {
    min-height: 180px;
    resize: vertical;
}

/* =========================
HOVER EFFECT
========================= */

input:hover,
select:hover,
textarea:hover {
    border-color: rgba(0,255,180,0.4);
}

/* =========================
FOCUS (MAIN GLOW)
========================= */

input:focus,
select:focus,
textarea:focus {
    border-color: #00ffb4;

    box-shadow:
        0 0 5px rgba(0,255,180,0.6),
        0 0 20px rgba(0,255,180,0.4),
        inset 0 0 15px rgba(0,255,180,0.08);

    background: rgba(0,0,0,0.85);
}

/* =========================
OUTER GLOW FRAME
========================= */

.form-group:focus-within::after {
    content: "";
    position: absolute;
    inset: -3px;
    border: 1px solid rgba(0,255,180,0.3);
    pointer-events: none;
}

/* =========================
PLACEHOLDER
========================= */

::placeholder {
    color: rgba(255,255,255,0.25);
}

/* =========================
SUBMIT BUTTON
========================= */

.form-submit {
    margin-top: 10px;
    padding: 18px;

    font-family: 'Oswald';
    font-size: 16px;
    letter-spacing: 2px;

    border: 1px solid rgba(0,255,180,0.4);
    background: transparent;
    color: #00ffb4;

    cursor: pointer;
    position: relative;
    overflow: hidden;

    transition: 0.3s ease;
}

/* BUTTON HOVER */
.form-submit:hover {
    box-shadow:
        0 0 15px rgba(0,255,180,0.6),
        0 0 40px rgba(0,255,180,0.3);
}

/* SWEEP EFFECT */
.form-submit::after {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        120deg,
        transparent,
        rgba(0,255,180,0.5),
        transparent
    );

    transform: translateX(-100%);
    transition: 0.4s;
}

.form-submit:hover::after {
    transform: translateX(100%);
}

.discord-status {
    font-size: 12px;
    margin-top: 6px;
    font-family: 'Share Tech Mono';
    opacity: 0.6;
}

.discord-status.valid {
    color: #00ffb4;
    text-shadow: 0 0 5px #00ffb4;
}

.discord-status.invalid {
    color: #ff3b3b;
    text-shadow: 0 0 5px #ff3b3b;
}

.discord-status {
    font-family: 'Share Tech Mono';
    font-size: 12px;
    margin-top: 8px;
    transition: all 0.3s ease;
}

/* IDLE */
.discord-status.idle {
    color: rgba(255,255,255,0.3);
}

/* CHECKING (PULSE) */
.discord-status.checking {
    color: #00ffb4;
    animation: pulse 0.8s infinite;
}

/* VALID */
.discord-status.valid {
    color: #00ffb4;
    text-shadow: 0 0 8px #00ffb4;
    animation: pop 0.3s ease;
}

/* INVALID */
.discord-status.invalid {
    color: #ff3b3b;
    text-shadow: 0 0 8px #ff3b3b;
    animation: shake 0.3s ease;
}

/* =====================
ANIMATIONS
===================== */

@keyframes pulse {
    0% { opacity: 0.4; }
    50% { opacity: 1; }
    100% { opacity: 0.4; }
}

@keyframes pop {
    0% { transform: scale(0.9); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes shake {
    0% { transform: translateX(0); }
    25% { transform: translateX(-4px); }
    50% { transform: translateX(4px); }
    75% { transform: translateX(-4px); }
    100% { transform: translateX(0); }
}

/* 💀 UI WRAPPER */
.faction-ui {
    position: relative;
}

/* LEAD (großer Text) */
.faction-lead {
    font-size: 1.3rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

/* DIVIDER LINE */
.faction-divider {
    width: 50px;
    height: 2px;
    background: white;
    margin: 15px 0;
    opacity: 0.6;
}

/* TEXT */
.faction-paragraph {
    color: #aaa;
    line-height: 1.6;
    margin-bottom: 20px;
}

/* HIGHLIGHT (GEILER LOOK) */
.faction-highlight {
    font-family: 'Oswald';
    font-size: 1.5rem;
    color: white;
    position: relative;
    display: inline-block;
}

/* Glow Effekt */
.faction-highlight::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 100%;
    height: 2px;
    background: white;
    opacity: 0.5;
}

/* =========================
RESPONSIVE
========================= */

@media (max-width: 768px) {
    .apply-form {
        max-width: 100%;
    }
}


/* 💀 TYPEWRITER UI */
.faction-ui {
    font-family: 'Barlow', sans-serif;
}

/* Titel */
.faction-lead {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 15px;
    color: #fff;
}

/* Linie */
.faction-divider {
    width: 60px;
    height: 2px;
    background: white;
    margin: 15px 0;
    opacity: 0.5;
}

/* TEXT */
.faction-paragraph {
    color: #aaa;
    line-height: 1.6;
    margin-bottom: 20px;
}

/* HIGHLIGHT */
.faction-highlight {
    font-family: 'Oswald';
    font-size: 1.6rem;
    color: white;
    margin-top: 10px;
}

/* BLINK CURSOR */
.type-cursor::after {
    content: "|";
    margin-left: 5px;
    animation: blink 1s infinite;
}

@keyframes blink {
    0%,100% { opacity: 1; }
    50% { opacity: 0; }
}

/* =========================
   💀 GRÜNDUNG SYSTEM
========================= */

/* WRAPPER */
.gruendung {
    padding: 120px 0;
}

/* GRID (2 SPALTEN) */
.gruendung-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

/* CARD */
.gruendung-card {
    padding: 35px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    position: relative;
    transition: 0.3s;
}

/* TOP LINE */
.gruendung-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--y), transparent);
}

/* HOVER */
.gruendung-card:hover {
    transform: translateY(-6px);
    border-color: var(--y);
    box-shadow: 0 0 30px rgba(255,43,214,0.15);
}

/* TITLE */
.gruendung-title {
    font-family: 'Oswald';
    font-size: 22px;
    margin-bottom: 15px;
    text-transform: uppercase;
}

/* TEXT */
.gruendung-text {
    font-size: 14px;
    color: var(--g);
    line-height: 1.8;
    margin-bottom: 20px;
}

/* LIST */
.gruendung-list {
    padding-left: 18px;
}

.gruendung-list li {
    margin-bottom: 8px;
    font-size: 13px;
}

/* =========================
   💀 FORM
========================= */

.gruendung-form {
    margin-top: 60px;
    padding: 40px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    position: relative;
}

/* TOP LINE */
.gruendung-form::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--y), transparent);
}

/* INPUT */
.gruendung-input,
.gruendung-select,
.gruendung-textarea {
    width: 100%;
    margin-top: 10px;
    padding: 12px;
    background: #050507;
    border: 1px solid rgba(255,255,255,0.05);
    color: var(--w);
    font-size: 14px;
}

/* FOCUS */
.gruendung-input:focus,
.gruendung-select:focus,
.gruendung-textarea:focus {
    border-color: var(--y);
    outline: none;
}

/* TEXTAREA */
.gruendung-textarea {
    min-height: 120px;
}

/* BUTTON */
.gruendung-btn {
    margin-top: 20px;
    width: 100%;
    background: var(--y);
    color: #000;
    padding: 14px;
    border: none;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    cursor: pointer;
    transition: 0.2s;
}

.gruendung-btn:hover {
    background: var(--w);
}

/* =========================
   💀 RESPONSIVE
========================= */

@media (max-width: 900px) {
    .gruendung-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================
   💀 INFO BOX
========================= */
.gruendung-info {
    margin: 20px 0 30px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,0.05);
    background: rgba(255,255,255,0.02);
    font-size: 13px;
    color: var(--g);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* =========================
   💀 UPLOAD GRID
========================= */
.upload-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

/* BOX */
.upload-box {
    padding: 30px;
    border: 1px dashed rgba(255,255,255,0.1);
    text-align: center;
    cursor: pointer;
    transition: 0.3s;
    position: relative;
}

/* HOVER */
.upload-box:hover {
    border-color: var(--y);
    background: rgba(255,43,214,0.05);
    transform: translateY(-4px);
    box-shadow: 0 0 20px rgba(255,43,214,0.15);
}

/* ICON */
.upload-icon {
    font-size: 28px;
    margin-bottom: 10px;
}

/* TITLE */
.upload-title {
    font-family: 'Oswald';
    font-size: 14px;
    text-transform: uppercase;
}

/* SUB */
.upload-sub {
    font-size: 11px;
    color: var(--g);
}

/* =========================
   💀 ULTRA BUTTON
========================= */
.ultra-btn {
    position: relative;
    overflow: hidden;
}

/* GLOW ANIMATION */
.ultra-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.4), transparent);
    opacity: 0;
    transition: 0.4s;
}

.ultra-btn:hover::before {
    opacity: 1;
}

/* =========================
   💀 RESPONSIVE
========================= */
@media (max-width: 800px) {
    .upload-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================
   💀 INFO BOX
========================= */
.gruendung-info {
    margin: 20px 0 30px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,0.05);
    background: rgba(255,255,255,0.02);
    font-size: 13px;
    color: var(--g);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* =========================
   💀 UPLOAD GRID
========================= */
.upload-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 20px;
}

/* BOX */
.upload-box {
    padding: 30px;
    border: 1px dashed rgba(255,255,255,0.1);
    text-align: center;
    cursor: pointer;
    transition: 0.3s;
    position: relative;
}

/* HOVER */
.upload-box:hover {
    border-color: var(--y);
    background: rgba(255,43,214,0.05);
    transform: translateY(-4px);
    box-shadow: 0 0 20px rgba(255,43,214,0.15);
}

/* ICON */
.upload-icon {
    font-size: 28px;
    margin-bottom: 10px;
}

/* TITLE */
.upload-title {
    font-family: 'Oswald';
    font-size: 14px;
    text-transform: uppercase;
}

/* SUB */
.upload-sub {
    font-size: 11px;
    color: var(--g);
}

/* =========================
   💀 ULTRA BUTTON
========================= */
.ultra-btn {
    position: relative;
    overflow: hidden;
}

/* GLOW ANIMATION */
.ultra-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.4), transparent);
    opacity: 0;
    transition: 0.4s;
}

.ultra-btn:hover::before {
    opacity: 1;
}

.upload-box {
    position: relative;
    cursor: pointer;
    border: 2px dashed rgba(255,255,255,0.2);
    padding: 20px;
    border-radius: 14px;
    transition: all 0.3s ease;
    text-align: center;
}

.upload-box:hover {
    border-color: #00e0ff;
    transform: scale(1.03);
}

.upload-box.active {
    border-color: #00ff88;
    box-shadow: 0 0 15px rgba(0,255,136,0.5);
}

.upload-status {
    margin-top: 10px;
    font-size: 13px;
    color: #00ff88;
}

.upload-check {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #00ff88;
    color: black;
    border-radius: 50%;
    padding: 6px 8px;
    font-size: 12px;
    font-weight: bold;
}


/* =========================
   💀 TABS FIX
========================= */

.tabs {
    display: flex;
    gap: 20px;
    margin-bottom: 50px;
}

/* TAB */
.tab {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 25px;

    border: 1px solid rgba(255,255,255,0.1);
    cursor: pointer;

    font-size: 12px;
    letter-spacing: 0.15em;
    text-transform: uppercase;

    transition: 0.3s;
}

/* ICON */
.tab-icon {
    font-size: 16px;
}

/* TEXT */
.tab-text {
    font-family: 'Oswald';
}

/* HOVER */
.tab:hover {
    border-color: var(--y);
    box-shadow: 0 0 15px rgba(255,43,214,0.2);
}

/* ACTIVE */
.tab.active {
    background: var(--y);
    color: #000;
    box-shadow: 0 0 25px rgba(255,43,214,0.5);
}

.upload-status {
    margin-top: 8px;
    font-size: 12px;
    color: #00ff88;
    opacity: 0.9;
    word-break: break-all;
}

/* Optional mit Animation */
.file-name {
    animation: fadeUp 0.3s ease;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}



/* =========================
   💀 RESPONSIVE
========================= */
@media (max-width: 800px) {
    .upload-grid {
        grid-template-columns: 1fr;
    }
}

.launch-section {
    position: relative;
    padding: 140px 20px;
    text-align: center;
    background: radial-gradient(circle at center, #0a0a0a 0%, #000 100%);
    overflow: hidden;
}

.launch-title {
    font-family: 'Oswald', sans-serif;
    font-size: 64px;
    line-height: 1.1;
    text-transform: uppercase;
    margin: 20px 0;
}

.launch-text {
    max-width: 600px;
    margin: 0 auto 60px;
    color: #aaa;
    line-height: 1.6;
    font-size: 15px;
}

.countdown {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.time-box {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.08);
    padding: 25px 30px;
    min-width: 100px;
    backdrop-filter: blur(6px);
}

.time-box span {
    display: block;
    font-family: 'Share Tech Mono', monospace;
    font-size: 42px;
    letter-spacing: 2px;
}

.time-box small {
    display: block;
    margin-top: 5px;
    font-size: 11px;
    color: #777;
    letter-spacing: 2px;
}


.flip {
    font-family: 'Share Tech Mono', monospace;
    font-size: 48px;
    position: relative;
    perspective: 400px;
}

.flip-card {
    position: relative;
    width: 80px;
    height: 60px;
}

.flip-inner {
    position: absolute;
    width: 100%;
    height: 100%;
    transform-origin: bottom;
    transition: transform 0.6s ease-in-out;
    transform-style: preserve-3d;
}

.flip.flip-animate .flip-inner {
    transform: rotateX(-180deg);
}

.flip-front,
.flip-back {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #0a0a0a;
    border: 1px solid rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    backface-visibility: hidden;
}

.flip-back {
    transform: rotateX(180deg);
}

.glitch {
    position: relative;
    color: white;
    animation: glitch-skew 2s infinite linear alternate-reverse;
}

.glitch::before,
.glitch::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    width: 100%;
    overflow: hidden;
}

.glitch::before {
    top: -2px;
    color: #ff003c;
    animation: glitch-top 1.5s infinite linear alternate-reverse;
}

.glitch::after {
    top: 2px;
    color: #00fff9;
    animation: glitch-bottom 1.5s infinite linear alternate-reverse;
}

@keyframes glitch-top {
    0% { clip-path: inset(0 0 80% 0); transform: translate(-2px, -2px); }
    20% { clip-path: inset(10% 0 60% 0); transform: translate(2px, 0); }
    40% { clip-path: inset(20% 0 40% 0); transform: translate(-1px, 1px); }
    60% { clip-path: inset(40% 0 20% 0); transform: translate(1px, -1px); }
    80% { clip-path: inset(60% 0 10% 0); transform: translate(-2px, 2px); }
    100% { clip-path: inset(80% 0 0 0); transform: translate(2px, -2px); }
}

@keyframes glitch-bottom {
    0% { clip-path: inset(80% 0 0 0); transform: translate(2px, 2px); }
    20% { clip-path: inset(60% 0 10% 0); transform: translate(-2px, 0); }
    40% { clip-path: inset(40% 0 20% 0); transform: translate(1px, -1px); }
    60% { clip-path: inset(20% 0 40% 0); transform: translate(-1px, 1px); }
    80% { clip-path: inset(10% 0 60% 0); transform: translate(2px, -2px); }
    100% { clip-path: inset(0 0 80% 0); transform: translate(-2px, 2px); }
}

@keyframes glitch-skew {
    0% { transform: skew(0deg); }
    50% { transform: skew(1deg); }
    100% { transform: skew(-1deg); }
}


.launch-section {
    position: relative;
    overflow: hidden;
    background: #000;
}

/* MATRIX CANVAS */
#matrix-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    z-index: 0;
    opacity: 0.15;
}

/* CONTENT MUSS DRÜBER LIEGEN */
.launch-content {
    position: relative;
    z-index: 2;
}


/* GRID */
.about-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-top: 30px;
}

/* CARD */
.reward-card {
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.08);
    padding: 25px;
    transition: all 0.3s ease;
    position: relative;
}

/* HOVER */
.reward-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255,255,255,0.2);
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

/* ICON */
.reward-icon {
    font-size: 28px;
    margin-bottom: 10px;
}

/* TITLE */
.reward-card h3 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    margin-bottom: 10px;
}

/* TEXT */
.reward-card p {
    color: #aaa;
    font-size: 14px;
    line-height: 1.5;
}


/* GRID */
.about-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
}

/* CARD */
.reward-card {
    position: relative;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.08);
    padding: 25px;
    overflow: hidden;
    transition: all 0.35s ease;
}

/* GLOW */
.reward-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(255,255,255,0.08), transparent 70%);
    opacity: 0;
    transition: 0.4s;
}

/* HOVER */
.reward-card:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: rgba(255,255,255,0.2);
    box-shadow: 0 20px 40px rgba(0,0,0,0.6);
}

.reward-card:hover .reward-glow {
    opacity: 1;
}

/* ICON */
.reward-icon {
    font-size: 28px;
    margin-bottom: 10px;
}

/* TITLE */
.reward-card h3 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    margin-bottom: 10px;
}

/* TEXT */
.reward-card p {
    color: #aaa;
    font-size: 14px;
    line-height: 1.5;
}

/* CAR CARD */
.reward-car {
    padding: 0;
}

.reward-car img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    opacity: 0.6;
    transition: 0.4s;
}

.reward-car:hover img {
    opacity: 0.9;
    transform: scale(1.1);
}

.reward-content {
    padding: 20px;
}

/* REVEAL ANIMATION */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.form-section {
    padding: 120px 20px;
}

.form-container {
    max-width: 600px;
    margin: auto;
    text-align: center;
}

.form-title {
    font-size: 40px;
    font-family: 'Oswald', sans-serif;
    margin-bottom: 10px;
}

.form-sub {
    color: #aaa;
    margin-bottom: 40px;
}

.form-group {
    margin-bottom: 20px;
    text-align: left;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
    color: #777;
}

input, textarea {
    width: 100%;
    padding: 12px;
    background: #0a0a0a;
    border: 1px solid rgba(255,255,255,0.1);
    color: white;
    font-family: 'Barlow', sans-serif;
}

input:focus, textarea:focus {
    border-color: white;
    outline: none;
}

.about-cards {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 20px;
}

.reward-card {
    padding: 20px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.08);
}

.reward-car img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    opacity: 0.7;
}

.reward-content {
    padding: 15px;
}

/* DELAYS */
.reveal-delay-1 { transition-delay: 0.2s; }
.reveal-delay-2 { transition-delay: 0.4s; }
.reveal-delay-3 { transition-delay: 0.6s; }
.reveal-delay-4 { transition-delay: 0.8s; }

/* =========================
RESPONSIVE
========================= */

@media (max-width: 768px) {
    .jobs {
        padding: 80px 20px;
    }

    .jobs-grid {
        gap: 25px;
    }

    .job-title {
        font-size: 20px;
    }


}


/* =========================
   NEXO V — TEAM PAGE UPGRADE
========================= */

.hero-team {
    position: relative;
    overflow: hidden;
}

/* COMMAND STRUCTURE */
.team-command {
    position: relative;
    padding: 120px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(0,212,255,0.09), transparent 35%),
        radial-gradient(circle at bottom right, rgba(122,60,255,0.08), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,0.02), transparent);
}

.team-command-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 22px;
}

.command-card {
    position: relative;
    min-height: 240px;
    padding: 30px;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.08);
    background:
        linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.015));
    box-shadow: 0 30px 80px rgba(0,0,0,0.35);
    transition: 0.35s ease;
}

.command-card::before {
    content: "";
    position: absolute;
    inset: -1px;
    background: linear-gradient(120deg, transparent, rgba(0,212,255,0.18), transparent);
    opacity: 0;
    transition: 0.35s ease;
}

.command-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0,212,255,0.35);
}

.command-card:hover::before {
    opacity: 1;
}

.command-big {
    grid-row: span 2;
    min-height: 502px;
}

.command-kicker {
    position: relative;
    z-index: 1;
    font-family: 'Share Tech Mono', monospace;
    color: var(--b);
    font-size: 13px;
    letter-spacing: 2px;
    margin-bottom: 24px;
    text-transform: uppercase;
}

.command-card h2,
.team-philosophy h2,
.roles-head h2 {
    position: relative;
    z-index: 1;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(38px, 5vw, 76px);
    line-height: 0.95;
    text-transform: uppercase;
    color: var(--w);
}

.command-card h2 span,
.team-philosophy h2 span,
.roles-head h2 span {
    color: var(--b);
    text-shadow: 0 0 22px rgba(0,212,255,0.45);
}

.command-card h3 {
    position: relative;
    z-index: 1;
    font-family: 'Oswald', sans-serif;
    color: var(--w);
    font-size: 28px;
    text-transform: uppercase;
}

.command-card p,
.philosophy-left p,
.roles-head p,
.role-card p {
    position: relative;
    z-index: 1;
    margin-top: 24px;
    max-width: 520px;
    color: var(--g);
    font-size: 15px;
    line-height: 1.9;
}

.command-num {
    position: relative;
    z-index: 1;
    font-family: 'Share Tech Mono', monospace;
    color: rgba(255,255,255,0.25);
    font-size: 13px;
    margin-bottom: 70px;
}

/* PHILOSOPHY */
.team-philosophy {
    position: relative;
    padding: 140px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 50%, rgba(122,60,255,0.14), transparent 35%),
        linear-gradient(180deg, transparent, rgba(255,255,255,0.025));
}

.team-philosophy-box {
    position: relative;
    padding: 46px;
    border-radius: 34px;
    border: 1px solid rgba(255,255,255,0.09);
    background:
        linear-gradient(135deg, rgba(10,12,24,0.9), rgba(5,5,7,0.78));
    backdrop-filter: blur(18px);
    box-shadow: 0 40px 120px rgba(0,0,0,0.5);
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 46px;
    overflow: hidden;
}

.team-philosophy-box::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -160px;
    top: -160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,212,255,0.16), transparent 65%);
    pointer-events: none;
}

.philosophy-left,
.philosophy-right {
    position: relative;
    z-index: 1;
}

.philosophy-quote {
    margin-top: 34px;
    padding: 22px 24px;
    border-left: 2px solid var(--b);
    border-radius: 16px;
    background: rgba(0,212,255,0.045);
    color: rgba(255,255,255,0.72);
    font-family: 'Share Tech Mono', monospace;
    line-height: 1.8;
    box-shadow: inset 0 0 28px rgba(0,212,255,0.04);
}

.philosophy-right {
    display: grid;
    gap: 14px;
    align-content: center;
}

.philosophy-item {
    padding: 22px;
    border-radius: 20px;
    background: rgba(255,255,255,0.045);
    border: 1px solid rgba(255,255,255,0.08);
    transition: 0.25s ease;
}

.philosophy-item:hover {
    transform: translateX(8px);
    border-color: rgba(0,212,255,0.35);
    background: rgba(0,212,255,0.055);
}

.philosophy-item strong {
    display: block;
    color: var(--w);
    font-family: 'Oswald', sans-serif;
    font-size: 23px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.philosophy-item span {
    display: block;
    color: var(--g);
    font-size: 14px;
    line-height: 1.7;
}

/* ROLES */
.team-roles {
    position: relative;
    padding: 130px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at center, rgba(0,212,255,0.07), transparent 45%);
}

.roles-head {
    display: grid;
    grid-template-columns: 1fr 0.85fr;
    align-items: end;
    gap: 40px;
    margin-bottom: 42px;
}

.roles-head p {
    margin-top: 0;
}

.roles-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.role-card {
    position: relative;
    min-height: 260px;
    padding: 28px;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.08);
    background:
        linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.012));
    box-shadow: 0 26px 70px rgba(0,0,0,0.32);
    transition: 0.35s ease;
}

.role-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(0,212,255,0.12), transparent 45%);
    opacity: 0;
    transition: 0.35s ease;
}

.role-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0,212,255,0.32);
}

.role-card:hover::before {
    opacity: 1;
}

.role-card span {
    position: relative;
    z-index: 1;
    display: block;
    color: var(--b);
    font-family: 'Share Tech Mono', monospace;
    font-size: 13px;
    margin-bottom: 76px;
}

.role-card h3 {
    position: relative;
    z-index: 1;
    color: var(--w);
    font-family: 'Oswald', sans-serif;
    font-size: 27px;
    text-transform: uppercase;
}

.role-card p {
    margin-top: 16px;
}

/* TEAM TREE SECTION POLISH */
.team-tree {
    position: relative;
    padding: 130px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at top, rgba(122,60,255,0.09), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,0.018), transparent);
}

/* TEAM UPDATES SECTION POLISH */
.team-page-new {
    position: relative;
    padding: 130px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at bottom right, rgba(0,212,255,0.08), transparent 40%);
}

.team-inner-new {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.team-head {
    margin-bottom: 36px;
}

.team-head-top {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: end;
}

.team-head-title {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(42px, 6vw, 76px);
    line-height: 0.95;
    color: var(--w);
    text-transform: uppercase;
}

.team-head-title span {
    color: var(--b);
    text-shadow: 0 0 22px rgba(0,212,255,0.45);
}

.team-head-sub {
    color: rgba(255,255,255,0.42);
    font-family: 'Share Tech Mono', monospace;
    font-size: 13px;
    letter-spacing: 1px;
}

.team-head-rule {
    width: 100%;
    height: 1px;
    margin-top: 28px;
    background: linear-gradient(90deg, var(--b), transparent);
}

.team-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 34px;
}

.filter-btn {
    cursor: pointer;
    border: 1px solid rgba(255,255,255,0.09);
    background: rgba(255,255,255,0.035);
    color: rgba(255,255,255,0.65);
    padding: 11px 15px;
    border-radius: 999px;
    font-family: 'Share Tech Mono', monospace;
    font-size: 12px;
    transition: 0.25s ease;
}

.filter-btn:hover,
.filter-btn.active {
    color: var(--w);
    border-color: rgba(0,212,255,0.45);
    background: rgba(0,212,255,0.08);
    box-shadow: 0 0 24px rgba(0,212,255,0.12);
}

.team-updates-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

/* falls deine Cards per JS eigene Klassen bekommen */
.team-update-card,
.update-card,
.team-card {
    position: relative;
    padding: 24px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,0.08);
    background:
        linear-gradient(145deg, rgba(255,255,255,0.07), rgba(255,255,255,0.012));
    box-shadow: 0 24px 70px rgba(0,0,0,0.32);
    transition: 0.3s ease;
}

.team-update-card:hover,
.update-card:hover,
.team-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0,212,255,0.32);
}

/* MODAL POLISH */
.modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.72);
    backdrop-filter: blur(10px);
}

.modal.active,
.modal.show {
    display: flex;
}

.modal-box {
    width: min(520px, calc(100% - 36px));
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,0.1);
    background:
        linear-gradient(135deg, rgba(10,12,24,0.96), rgba(5,5,7,0.94));
    box-shadow: 0 40px 120px rgba(0,0,0,0.65);
    overflow: hidden;
}

/* MOBILE */
@media (max-width: 1100px) {
    .roles-grid,
    .team-updates-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .team-command-grid {
        grid-template-columns: 1fr 1fr;
    }

    .command-big {
        grid-column: span 2;
        grid-row: auto;
        min-height: auto;
    }
}

@media (max-width: 850px) {
    .team-command-grid,
    .team-philosophy-box,
    .roles-head {
        grid-template-columns: 1fr;
    }

    .team-command,
    .team-philosophy,
    .team-roles,
    .team-tree,
    .team-page-new {
        padding: 90px 0;
    }

    .team-philosophy-box {
        padding: 34px;
    }

    .team-head-top {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .roles-grid,
    .team-updates-grid,
    .team-command-grid {
        grid-template-columns: 1fr;
    }

    .command-big {
        grid-column: auto;
    }

    .command-card,
    .role-card {
        min-height: auto;
        padding: 24px;
    }

    .command-num,
    .role-card span {
        margin-bottom: 54px;
    }

    .team-philosophy-box {
        padding: 26px;
        border-radius: 24px;
    }

    .philosophy-quote {
        font-size: 12px;
    }
}


/* =====================================================
   NEXO V — FULL WIDTH TOP NAVIGATION
===================================================== */

:root {
    --y: #ff2bd6;
    --yd: #b81fb0;
    --b: #00d4ff;
    --p: #7a3cff;

    --w: #fdfbff;
    --g: #a8a2b3;

    --dark: #050507;
    --dark2: #0a0910;
    --dark3: #12101a;
}

/* FIX */
body {
    margin: 0;
    overflow-x: hidden;
}

.grain,
.hero-bg,
.hero-overlay {
    pointer-events: none;
}

/* =====================================================
   MAIN NAV BAR
===================================================== */

nav#main-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;

    width: 100%;
    height: 78px;

    display: grid;
    grid-template-columns: 180px 1fr 320px;
    align-items: center;
    gap: 20px;

    padding: 0 56px;

    background:
        linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.01)),
        rgba(5, 5, 10, 0.94);

    border-bottom: 1px solid rgba(255,255,255,0.08);

    box-shadow:
        0 14px 45px rgba(0,0,0,0.65),
        0 0 32px rgba(0,212,255,0.08);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    transition: 0.3s ease;
}

nav#main-nav.nav-scrolled {
    background: rgba(5, 5, 10, 0.98);
    border-bottom-color: rgba(255,43,214,0.28);

    box-shadow:
        0 22px 70px rgba(0,0,0,0.85),
        0 0 42px rgba(255,43,214,0.12);
}

/* =====================================================
   LOGO
===================================================== */

.nav-logo {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    text-decoration: none;
    white-space: nowrap;
    justify-self: start;
}

.logo-nexo {
    font-family: "Oswald", sans-serif;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #ffffff;

    text-shadow:
        0 0 10px rgba(0,212,255,0.75),
        0 0 24px rgba(0,212,255,0.32);

    transition: 0.22s ease;
}

.logo-v {
    font-family: "Oswald", sans-serif;
    font-size: 31px;
    font-weight: 900;

    color: var(--y);

    text-shadow:
        0 0 12px rgba(255,43,214,0.9),
        0 0 24px rgba(122,60,255,0.45);

    transform: translateY(-1px);
    transition: 0.22s ease;
}

.nav-logo:hover .logo-nexo {
    color: var(--b);
}

.nav-logo:hover .logo-v {
    color: #ffffff;
}

/* =====================================================
   NAV LINKS CENTER
===================================================== */

.nav-links {
    height: 78px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    list-style: none;
    margin: 0;
    padding: 0;

    min-width: 0;
}

.nav-links > li {
    position: relative;
    height: 100%;

    display: flex;
    align-items: center;
}

.nav-links > li > a {
    position: relative;

    min-height: 44px;
    padding: 0 11px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    font-family: "Share Tech Mono", monospace;
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: rgba(253,251,255,0.68);
    text-decoration: none;
    white-space: nowrap;

    border-radius: 13px;

    transition: 0.22s ease;
}

.nav-links > li > a::before {
    content: "";
    position: absolute;
    inset: 0;

    border-radius: inherit;

    background:
        radial-gradient(circle at 50% 0%, rgba(0,212,255,0.18), transparent 60%),
        rgba(255,255,255,0.045);

    opacity: 0;
    transition: 0.22s ease;
}

.nav-links > li > a::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 6px;

    height: 2px;
    border-radius: 99px;

    background: linear-gradient(90deg, var(--b), var(--y), var(--p));

    opacity: 0;
    transform: scaleX(0.35);
    transition: 0.22s ease;
}

.nav-links > li:hover > a,
.nav-links > li > a.active {
    color: #ffffff;
    text-shadow: 0 0 14px rgba(0,212,255,0.38);
}

.nav-links > li:hover > a::before,
.nav-links > li > a.active::before,
.nav-links > li:hover > a::after,
.nav-links > li > a.active::after {
    opacity: 1;
    transform: scaleX(1);
}

/* =====================================================
   DROPDOWN
===================================================== */

.nav-dropdown {
    position: relative;
}

.nav-dropdown-toggle {
    cursor: pointer;
}

.nav-dropdown-toggle::after {
    content: "";
    width: 6px;
    height: 6px;
    margin-left: 3px;

    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;

    transform: rotate(45deg) translateY(-2px);
    opacity: 0.75;

    transition: 0.22s ease;
}

.nav-dropdown:hover .nav-dropdown-toggle::after {
    transform: rotate(-135deg) translateY(-1px);
    color: var(--y);
}

.nav-dropdown-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%) translateY(12px);

    min-width: 245px;
    padding: 10px;

    list-style: none;
    margin: 0;

    background:
        linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015)),
        rgba(7, 8, 16, 0.98);

    border: 1px solid rgba(0,212,255,0.18);
    border-top: 2px solid var(--y);
    border-radius: 17px;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    box-shadow:
        0 24px 60px rgba(0,0,0,0.65),
        0 0 30px rgba(0,212,255,0.10);

    transition: 0.22s ease;
    z-index: 300;
}

.nav-dropdown-menu::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 10px;
}

.nav-dropdown:hover .nav-dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: all;

    transform: translateX(-50%) translateY(0);
}

.nav-dropdown-menu li a {
    display: flex;
    align-items: center;

    padding: 12px 14px;
    border-radius: 12px;

    font-family: "Share Tech Mono", monospace;
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;

    color: rgba(253,251,255,0.68);
    text-decoration: none;
    white-space: nowrap;

    transition: 0.2s ease;
}

.nav-dropdown-menu li a:hover,
.nav-dropdown-menu li a.active {
    color: #ffffff;

    background:
        linear-gradient(90deg, rgba(0,212,255,0.14), rgba(255,43,214,0.10));

    transform: translateX(4px);
    text-shadow: 0 0 12px rgba(0,212,255,0.35);
}

/* =====================================================
   BADGE
===================================================== */

.nav-link-badge {
    display: flex !important;
    align-items: center;
}

.nav-badge {
    margin-left: 8px;
    padding: 3px 7px;

    border-radius: 999px;

    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.12em;

    color: #ffffff;
    background: linear-gradient(135deg, var(--b), var(--y));

    box-shadow: 0 0 16px rgba(0,212,255,0.28);
}

/* =====================================================
   ACTION BUTTONS RIGHT
===================================================== */

.nav-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;

    justify-self: end;
    min-width: 0;
}

.nav-cta {
    position: relative;

    height: 44px;
    padding: 0 17px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    font-family: "Share Tech Mono", monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;

    color: #ffffff;
    text-decoration: none;
    white-space: nowrap;

    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.12);

    background: rgba(255,255,255,0.045);

    overflow: hidden;

    opacity: 1;
    margin-left: 0;
    flex-shrink: 0;

    transition: 0.24s ease;
}

.nav-cta::before {
    content: "";
    position: absolute;
    top: 0;
    left: -80%;

    width: 55%;
    height: 100%;

    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.35),
        transparent
    );

    transition: 0.45s ease;
}

.nav-cta:hover::before {
    left: 125%;
}

.nav-cta:hover {
    transform: translateY(-3px);

    border-color: rgba(0,212,255,0.55);

    box-shadow:
        0 0 26px rgba(0,212,255,0.18),
        0 0 18px rgba(255,43,214,0.12);
}

.nav-dashboard {
    border: 0;

    background: linear-gradient(135deg, var(--b), var(--y));

    box-shadow:
        0 0 25px rgba(0,212,255,0.30),
        0 0 18px rgba(255,43,214,0.24);
}

.nav-dashboard:hover {
    transform: translateY(-4px) scale(1.025);

    box-shadow:
        0 0 38px rgba(0,212,255,0.44),
        0 0 30px rgba(255,43,214,0.32);
}

/* =====================================================
   MOBILE TOGGLE
===================================================== */

.nav-mobile-toggle {
    display: none;

    width: 44px;
    height: 44px;

    border: 0;
    border-radius: 13px;

    cursor: pointer;

    background: rgba(255,255,255,0.055);
}

.nav-mobile-toggle span {
    display: block;

    width: 21px;
    height: 2px;

    margin: 5px auto;
    border-radius: 99px;

    background: #ffffff;

    transition: 0.25s ease;
}

nav#main-nav.nav-open .nav-mobile-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

nav#main-nav.nav-open .nav-mobile-toggle span:nth-child(2) {
    opacity: 0;
}

nav#main-nav.nav-open .nav-mobile-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* =====================================================
   HERO OFFSET
===================================================== */

.hero {
    padding-top: 110px;
}

/* =====================================================
   FOOTER
===================================================== */

footer#main-footer {
    padding: 42px 64px;

    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;

    border-top: 1px solid rgba(255,255,255,0.06);
    background: rgba(5,5,7,0.65);
}

.footer-logo {
    font-family: "Oswald", sans-serif;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 0.10em;
    text-transform: uppercase;

    color: var(--w);
}

.footer-logo span {
    color: var(--y);
}

.footer-copy {
    font-family: "Share Tech Mono", monospace;
    font-size: 11px;
    letter-spacing: 0.13em;

    color: rgba(253,251,255,0.46);
    text-align: center;
    white-space: nowrap;
}

.footer-links {
    display: flex;
    justify-content: flex-end;
    gap: 28px;
}

.footer-links a {
    font-family: "Share Tech Mono", monospace;
    font-size: 11px;
    letter-spacing: 0.13em;
    text-transform: uppercase;

    color: var(--g);
    text-decoration: none;

    transition: 0.22s ease;
}

.footer-links a:hover {
    color: var(--y);
    text-shadow: 0 0 12px rgba(255,43,214,0.5);
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1400px) {
    nav#main-nav {
        grid-template-columns: 150px 1fr 270px;
        padding: 0 34px;
        gap: 14px;
    }

    .nav-links {
        gap: 5px;
    }

    .nav-links > li > a {
        padding: 0 8px;
        font-size: 9px;
        letter-spacing: 0.11em;
    }

    .nav-cta {
        padding: 0 13px;
        font-size: 9px;
    }
}

@media (max-width: 1180px) {
    nav#main-nav {
        height: auto;
        min-height: 76px;

        grid-template-columns: auto auto;
        padding: 14px 22px;
    }

    .nav-logo {
        justify-self: start;
    }

    .nav-mobile-toggle {
        display: block;
        justify-self: end;
    }

    .nav-links,
    .nav-actions {
        display: none;
        width: 100%;
        grid-column: 1 / -1;
    }

    nav#main-nav.nav-open .nav-links {
        display: flex;
        flex-direction: column;
        align-items: stretch;

        height: auto;
        gap: 7px;
        padding-top: 14px;
    }

    nav#main-nav.nav-open .nav-actions {
        display: flex;
        padding-top: 12px;
    }

    .nav-links > li {
        height: auto;
        display: block;
    }

    .nav-links > li > a {
        width: 100%;
        height: 46px;

        justify-content: space-between;

        padding: 0 15px;
        font-size: 11px;

        background: rgba(255,255,255,0.035);
    }

    .nav-dropdown-menu {
        position: static;

        min-width: 100%;
        margin-top: 7px;

        transform: none;

        opacity: 1;
        visibility: visible;
        pointer-events: all;

        display: none;

        box-shadow: none;
    }

    .nav-dropdown:hover .nav-dropdown-menu,
    .nav-dropdown:focus-within .nav-dropdown-menu {
        display: block;
        transform: none;
    }

    nav#main-nav.nav-open .nav-actions {
        justify-content: stretch;
        gap: 10px;
    }

    .nav-actions .nav-cta {
        flex: 1;
    }
}

@media (max-width: 650px) {
    nav#main-nav {
        padding: 12px 16px;
    }

    .logo-nexo {
        font-size: 22px;
    }

    .logo-v {
        font-size: 26px;
    }

    nav#main-nav.nav-open .nav-actions {
        flex-direction: column;
    }

    .nav-actions .nav-cta {
        width: 100%;
    }

    .hero {
        padding-top: 100px;
    }

    footer#main-footer {
        padding: 28px 20px;
        grid-template-columns: 1fr;
        text-align: center;
        gap: 16px;
    }

    .footer-links {
        justify-content: center;
        flex-wrap: wrap;
        gap: 16px;
    }
}