/* Extracted 1:1 from php/src/kontakt.php - page-specific styles. */
    body { margin:0; min-height:100vh; background: radial-gradient(1200px 600px at 20% -10%, var(--bg-2) 0%, var(--bg) 55%);
           color:var(--text); font-family:'Space Grotesk',-apple-system,sans-serif; }
    .wrap { max-width:640px; margin:0 auto; padding:96px 24px 110px; width:100%; }
    @media (max-width:560px) { .wrap { padding:80px 18px 120px; } }
    h1 { font-family:'JetBrains Mono',monospace; font-weight:700; font-size:30px; letter-spacing:-.02em; margin:0 0 10px; color:var(--head); }
    @media (max-width:560px) { h1 { font-size:25px; } }
    .h-lead { font-size:15.5px; font-weight:300; line-height:1.6; color:rgba(var(--text-rgb), .7); margin:0; }
    .h-bar { height:2px; width:64px; margin:28px 0 34px; background:linear-gradient(90deg,var(--accent),var(--accent-2)); border-radius:2px; }

    .f-row { margin-bottom:18px; }
    .f-row label { display:block; font-family:'JetBrains Mono',monospace; font-size:11.5px;
                   letter-spacing:.08em; text-transform:uppercase; color:rgba(var(--text-rgb), .6); margin-bottom:7px; }
    .f-row input, .f-row textarea {
      width:100%; box-sizing:border-box; background:rgba(var(--panel-rgb), .72); color:var(--text);
      border:1px solid rgba(var(--accent-2-rgb), .35); border-radius:10px; padding:12px 14px;
      font-family:'Space Grotesk',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
      font-size:15px; font-weight:300; transition:border-color .2s, box-shadow .2s; }
    .f-row textarea { min-height:170px; resize:vertical; line-height:1.6; }
    .f-row input:focus, .f-row textarea:focus {
      outline:none; border-color:var(--accent); box-shadow:0 0 14px rgba(var(--accent-rgb), .22); }

    .f-hp { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

    .f-note { font-size:13px; font-weight:300; line-height:1.6;
              color:rgba(var(--text-rgb), .55); margin:4px 0 22px; }
    .f-note a { color: var(--accent); }
    .f-consent { display:flex; align-items:flex-start; gap:11px; cursor:pointer;
                 font-size:13.5px; font-weight:300; line-height:1.6;
                 color:rgba(var(--text-rgb), .72); margin:0 0 22px; }
    .f-consent input { flex:0 0 auto; width:18px; height:18px; margin:1px 0 0;
                       accent-color:var(--accent); cursor:pointer; }
    .f-consent span { display:block; }

    .f-btn { display:inline-flex; align-items:center; gap:10px; cursor:pointer;
             font-family:'JetBrains Mono',monospace; font-weight:700; font-size:15px; letter-spacing:.02em;
             color:var(--on-accent); background:linear-gradient(90deg,var(--accent),var(--accent-2)); border:0;
             padding:14px 28px; border-radius:12px; box-shadow:0 8px 30px rgba(var(--accent-rgb), .28);
             transition:transform .2s, box-shadow .2s; }
    .f-btn:hover { transform:translateY(-2px); box-shadow:0 12px 40px rgba(var(--accent-2-rgb), .45); }
    .f-btn[disabled] { opacity:.6; cursor:default; transform:none; }

    .msg { border-radius:10px; padding:16px 18px; margin:0 0 26px; font-size:14.5px;
           font-weight:300; line-height:1.65; }
    .msg h2 { font-family:'JetBrains Mono',monospace; font-size:15px; margin:0 0 6px;
              letter-spacing:.02em; text-transform:uppercase; }
    .msg p { margin:0; }
    .msg-ok  { border:1px solid rgba(var(--accent-rgb), .45); background:rgba(var(--accent-rgb), .09); color:var(--accent); }
    .msg-err { border:1px solid rgba(var(--err-rgb), .5);  background:rgba(var(--err-rgb), .10); color:var(--err); }
    .msg-err ul { margin:0; padding-left:18px; }
    .msg-diag { border:1px solid rgba(var(--accent-2-rgb), .5); background:rgba(var(--accent-2-rgb), .10); color:var(--accent-2); }
    .msg-diag ul { margin:0 0 10px; padding-left:18px; }
    .msg-diag li { margin-bottom:4px; }
    .msg-diag code { font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--accent); }

    .h-copy { position:fixed; bottom:0; left:0; right:0; text-align:center; padding:14px 12px;
              font-size:11.5px; color:rgba(var(--text-rgb), .5); background:rgba(var(--bg-rgb), .85); backdrop-filter:blur(6px); }
    .h-copy a { color:rgba(var(--text-rgb), .5); text-decoration:none; }
    .h-copy a:hover { color:var(--accent); }
    .h-copy .sep { padding:0 8px; }
  
