:root{
            --bg:#111214; --bg-soft:#18191c; --card:#1c1b1d; --card-2:#222124;
            --text:#d6d7d6; --white:#ffffff; --gold:#fbb037; --red:#e2341d;
            --border:#35363a; --shadow:0 10px 30px rgba(0,0,0,.35); --radius:16px;
        }

        *{box-sizing:border-box;margin:0;padding:0;}
        body{
            font-family:'Montserrat',sans-serif;
            background: var(--bg);
            color:var(--text);
            line-height:1.65;
        }

        .container{ width:min(800px, calc(100% - 32px)); margin:0 auto; padding: 40px 0; }

        header{ background:rgba(10,10,10,.92); border-bottom:1px solid var(--border); padding: 15px 0; text-align: center; }
        .brand-link { text-decoration: none; display: block; }
        .brand-title{ color:var(--white); font-size:24px; font-weight:800; text-transform:uppercase; letter-spacing:1px; }
        .brand-subtitle{ color:var(--gold); font-size:12px; font-style:italic; }

        .form-box {
            background:linear-gradient(180deg, var(--card), var(--card-2));
            border:1px solid var(--border);
            border-radius:var(--radius);
            padding:40px;
            box-shadow:var(--shadow);
        }

        h1{ color:var(--white); font-size:32px; margin-bottom:10px; text-align: center; }
        h1 span{ color:var(--gold); }
        .intro-text { text-align: center; color: #adadad; margin-bottom: 30px; }

        .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
        .form-group { margin-bottom: 20px; }
        .form-group.full { grid-column: span 2; }
        
        label { display: block; color: var(--gold); font-weight: 700; font-size: 14px; margin-bottom: 8px; text-transform: uppercase; }
        input, textarea {
            width: 100%; padding: 14px; background: var(--bg); border: 1px solid var(--border);
            border-radius: 8px; color: var(--white); font-family: inherit; font-size: 16px;
        }
        input:focus, textarea:focus { outline: none; border-color: var(--gold); }

        .btn-submit {
            width: 100%; background: var(--gold); color: #111; border: none; padding: 18px;
            border-radius: 12px; font-weight: 800; font-size: 18px; cursor: pointer; transition: .2s;
            margin-bottom: 20px;
        }
        .btn-submit:hover { transform: translateY(-2px); filter: brightness(1.1); }

        .back-link {
            display: block;
            text-align: center;
            color: var(--gold);
            text-decoration: none;
            font-weight: 600;
            font-size: 16px;
            transition: .2s;
        }
        .back-link:hover { color: var(--white); text-decoration: underline; }

        footer{ text-align: center; padding: 40px 0; font-size: 14px; color: #777; }

        @media (max-width: 600px) {
            .form-grid { grid-template-columns: 1fr; }
            .form-group.full { grid-column: span 1; }
            .form-box { padding: 25px; }
        }
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}


/* Technische Reparaturen ohne Aenderung der Desktop-Designidentitaet. */
:focus-visible{outline:3px solid #7fb6ff;outline-offset:3px;}
.skip-link{position:fixed;left:12px;top:-100px;z-index:10000;background:#fff;color:#111;padding:10px 14px;border-radius:8px;font-weight:800;text-decoration:none;}
.skip-link:focus{top:12px;}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.external-consent{min-height:420px;display:grid;place-items:center;padding:28px;text-align:center;background:#f4f4f4;color:#222;border:1px solid #777;}
.external-consent-inner{max-width:620px;}
.external-consent h3{margin-bottom:10px;color:#111;}
.external-consent p{margin-bottom:18px;color:#444;}
.external-consent .btn{display:inline-flex;width:auto;}
.external-widget-note{display:block;margin:12px 0;color:#adadad;font-size:14px;}
.form-note{margin:0 0 18px;color:#adadad;font-size:13px;line-height:1.55;}
.form-note a{color:#ffd17a;}
.center-buttons{justify-content:center;}
.lightbox-close{border:0;background:transparent;font:inherit;line-height:1;cursor:pointer;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}}
@media (max-width:680px){header{position:static;}nav{width:100%;}nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}nav li,nav a{width:100%;}.topbar-inner{align-items:flex-start;}.external-consent{min-height:360px;padding:20px;}}
