/* Subtiele hemelse grid-overlay bovenop de achtergrondafbeelding */
        .bg-tech-grid {
            background-size: 48px 48px;
            background-image:
                linear-gradient(to right, rgba(148, 163, 184, 0.045) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(148, 163, 184, 0.045) 1px, transparent 1px);
        }
        .card-glow-gold:hover {
            box-shadow: 0 24px 60px -12px rgba(245, 158, 11, 0.20), 0 0 0 1px rgba(245, 158, 11, 0.40);
        }
        .card-glow-violet:hover {
            box-shadow: 0 24px 60px -12px rgba(139, 92, 246, 0.22), 0 0 0 1px rgba(139, 92, 246, 0.45);
        }
        .card-glow-teal:hover {
            box-shadow: 0 24px 60px -12px rgba(20, 184, 166, 0.20), 0 0 0 1px rgba(20, 184, 166, 0.40);
        }
        /* Subtiele shimmer op de primaire knop */
        .btn-gold {
            background-image: linear-gradient(120deg, #fbbf24 0%, #f59e0b 45%, #d97706 100%);
        }
        .btn-gold:hover {
            background-image: linear-gradient(120deg, #fcd34d 0%, #fbbf24 45%, #f59e0b 100%);
        }
        /* Veld-look voor alle formuliervelden */
        .field {
            width: 100%;
            border-radius: 0.75rem;
            border: 1px solid rgb(30 41 59);
            background-color: rgb(2 6 23 / 0.75);
            padding: 0.7rem 0.9rem;
            font-size: 0.9rem;
            color: rgb(226 232 240);
            transition: border-color .2s, box-shadow .2s, background-color .2s;
        }
        .field::placeholder { color: rgb(100 116 139); }
        .field:focus {
            outline: none;
            border-color: rgb(245 158 11 / 0.7);
            box-shadow: 0 0 0 3px rgb(245 158 11 / 0.15);
            background-color: rgb(2 6 23 / 0.95);
        }
        .field-label {
            display: block;
            font-size: 0.78rem;
            font-weight: 600;
            letter-spacing: 0.02em;
            color: rgb(203 213 225);
            margin-bottom: 0.4rem;
        }
        .field-hint {
            font-size: 0.72rem;
            color: rgb(100 116 139);
            margin-top: 0.35rem;
        }
        select.field {
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 0.7rem center;
            background-size: 1.1em;
            padding-right: 2.2rem;
        }
        select.field option { background-color: #0f172a; color: #e2e8f0; }
        /* Checkbox- en radiomarkering */
        /* Selectiestijlen: hogere specificiteit dan de Tailwind-utilities,
           zodat de gekozen optie altijd zichtbaar blijft. */
        .choice input:checked + label {
            border-color: rgb(245 158 11 / 0.7);
            background-color: rgb(245 158 11 / 0.1);
        }
        .choice input:checked + label.choice-teal {
            border-color: rgb(45 212 191 / 0.7);
            background-color: rgb(20 184 166 / 0.1);
        }
        .choice input:focus-visible + label {
            outline: 2px solid rgb(245 158 11 / 0.8);
            outline-offset: 2px;
        }
        .choice input:focus-visible + label.choice-teal {
            outline-color: rgb(45 212 191 / 0.8);
        }
        .choice .choice-hint { display: inline-flex; }
        .choice .choice-check { display: none; }
        .choice input:checked + label .choice-hint { display: none; }
        .choice input:checked + label .choice-check { display: inline-flex; }
        /* Aangevinkte functionaliteit oplichten (:has ondersteunen alle moderne browsers) */
        .check-opt:has(input:checked) {
            border-color: rgb(245 158 11 / 0.6);
            background-color: rgb(245 158 11 / 0.05);
        }
        /* Donkere checkboxes passend bij het thema */
        input[type="checkbox"] {
            -webkit-appearance: none;
            appearance: none;
            flex: none;
            width: 1.05rem;
            height: 1.05rem;
            border-radius: 0.35rem;
            border: 1px solid rgb(51 65 85);
            background-color: rgb(2 6 23 / 0.8);
            display: inline-grid;
            place-content: center;
            cursor: pointer;
            transition: border-color .2s, background-color .2s;
        }
        input[type="checkbox"]::after {
            content: "";
            width: 0.62rem;
            height: 0.62rem;
            transform: scale(0);
            transform: translateY(-1px) rotate(45deg) scale(0);
            border-right: 2px solid rgb(15 23 42);
            border-bottom: 2px solid rgb(15 23 42);
            transition: transform .15s ease;
        }
        input[type="checkbox"]:checked {
            background-color: rgb(245 158 11);
            border-color: rgb(245 158 11);
        }
        input[type="checkbox"]:checked::after {
            transform: translateY(-1px) rotate(45deg) scale(1);
        }
        input[type="checkbox"]:focus-visible {
            outline: 2px solid rgb(245 158 11 / 0.8);
            outline-offset: 2px;
        }
        details[open] .faq-chevron { transform: rotate(180deg); }
        .faq-chevron { transition: transform .2s ease; }
        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
        }

        /* Actieve pagina in de navigatie */
        .nav-link[aria-current="page"] {
            color: rgb(253 230 138);
            background-color: rgb(245 158 11 / 0.12);
        }
        .footer-link[aria-current="page"] { color: rgb(251 191 36); }
