        :root {
            --bnj-dark: #0f172a;
            --bnj-blue: #2563eb;
            --bnj-soft: #eff6ff;
            --bnj-border: #dbeafe;
        }

        body {
            background: linear-gradient(180deg, #f8fafc 0%, #eff6ff 45%, #ffffff 100%);
            color: #0f172a;
        }

        .top-logo {
            display: flex;
            align-items: center;
            gap: 14px;
            text-decoration: none;
            color: var(--bnj-dark);
        }

        .logo-icon {
            width: 58px;
            height: 58px;
            border-radius: 18px;
            background: linear-gradient(135deg, var(--bnj-blue), var(--bnj-dark));
            color: #fff;
            display: grid;
            place-items: center;
            font-size: 28px;
            font-weight: 900;
            box-shadow: 0 14px 30px rgba(15, 23, 42, .18);
        }

        .logo-title {
            font-size: 1.45rem;
            font-weight: 900;
            letter-spacing: -.04em;
            line-height: 1.1;
        }

        .logo-subtitle {
            color: #64748b;
            font-size: .92rem;
            font-weight: 600;
        }

        .hero {
            background:
                radial-gradient(circle at top right, rgba(37, 99, 235, .20), transparent 35%),
                linear-gradient(135deg, #0f172a, #1e3a8a);
            color: #fff;
            border-radius: 32px;
            overflow: hidden;
            position: relative;
        }

        .hero::after {
            content: "";
            position: absolute;
            right: -90px;
            bottom: -90px;
            width: 280px;
            height: 280px;
            border-radius: 50%;
            background: rgba(255,255,255,.08);
        }

        .search-card {
            margin-top: -42px;
            position: relative;
            z-index: 3;
            border: 1px solid var(--bnj-border);
            border-radius: 26px;
            box-shadow: 0 24px 70px rgba(15,23,42,.12);
        }

        .legal-box {
            border-left: 5px solid var(--bnj-blue);
            background: #fff;
            border-radius: 18px;
        }

        .table thead th {
            white-space: nowrap;
            background: #f8fafc;
            color: #334155;
            font-size: .82rem;
            text-transform: uppercase;
            letter-spacing: .03em;
        }

        .table td {
            vertical-align: middle;
        }

        .name-cell {
            font-weight: 800;
            color: #0f172a;
        }

        .footer-note {
            font-size: .9rem;
            color: #64748b;
        }

        mark {
            padding: .08em .25em;
            border-radius: .25rem;
            background: #fef3c7;
        }

        @media (max-width: 767px) {
            .hero {
                border-radius: 0 0 28px 28px;
            }

            .search-card {
                margin-top: -28px;
            }

            .display-5 {
                font-size: 2rem;
            }
        }
html {
    scroll-behavior: smooth;
}

.site-header {
    position: relative;
    z-index: 10;
}

.top-menu a {
    font-weight: 700;
    color: #0f172a;
    text-decoration: none;
}

.top-menu a:hover {
    background: #eff6ff;
    border-color: #bfdbfe !important;
    color: #1d4ed8;
}

#jogi-nyilatkozat,
#kapcsolat {
    scroll-margin-top: 24px;
}

.contact-box {
    border-left: 5px solid #2563eb !important;
}

.contact-table th {
    width: 180px;
    color: #475569;
    font-weight: 800;
    background: #f8fafc;
}

.contact-table td {
    font-weight: 700;
    color: #0f172a;
}

.contact-table a {
    color: #2563eb;
    text-decoration: none;
    font-weight: 800;
}

.contact-table a:hover {
    text-decoration: underline;
}

@media (max-width: 767px) {
    .top-menu {
        width: 100%;
        justify-content: flex-start;
    }

    .top-menu a,
    .top-menu span {
        font-size: .82rem;
    }

    .contact-table th,
    .contact-table td {
        display: block;
        width: 100%;
    }

    .contact-table th {
        border-bottom: 0;
        padding-bottom: .25rem;
    }

    .contact-table td {
        padding-top: .25rem;
    }
}