                        /* Contact page styling (2026-07-02): kv-contact-* / kv-route-* were used in
                           markup but had NO CSS — the page rendered fully unstyled. */
                        :root { --kc-ink:#0f172a; --kc-line:rgba(15,23,42,.10); --kc-blue:#1b64d8; --kc-teal:#0d9488; --kc-rose:#e11d48; }
                        .kv-contact-hero { position:relative; overflow:hidden; background:radial-gradient(circle at 84% 14%,rgba(27,100,216,.12),transparent 34%),linear-gradient(135deg,#071529 0%,#12386a 55%,#0d674e 100%); color:#fff; box-shadow:0 24px 70px rgba(7,21,41,.18); }
                        .kv-contact-eyebrow { gap:.5rem; padding:.4rem .9rem; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.2); color:#fff; font-weight:800; font-size:.78rem; }
                        .kv-contact-title { font-size:clamp(2rem,3.6vw,2.8rem); letter-spacing:-.6px; color:#fff; }
                        .kv-contact-lead { color:rgba(226,236,255,.9); max-width:640px; line-height:1.7; }
                        .kv-contact-urgent { gap:.7rem; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); color:#eef4ff; font-size:.92rem; line-height:1.55; }
                        .kv-contact-btn-primary { background:#fff; color:#0d2749; font-weight:800; border:0; }
                        .kv-contact-btn-primary:hover { background:#eef4ff; color:#0d2749; }
                        .kv-contact-btn-ghost { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.26); font-weight:700; }
                        .kv-contact-btn-ghost:hover { background:rgba(255,255,255,.2); color:#fff; }
                        .kv-contact-hero-art { max-height:340px; }
                        .kv-contact-section-title { font-size:1.6rem; color:var(--kc-ink); letter-spacing:-.4px; }
                        .kv-contact-section-sub { color:#64748b; max-width:640px; }
                        .kv-contact-route-card { border:1px solid var(--kc-line); background:#fff; box-shadow:0 12px 34px rgba(15,23,42,.05); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
                        .kv-contact-route-card:hover { transform:translateY(-5px); box-shadow:0 22px 54px rgba(15,23,42,.10); border-color:rgba(27,100,216,.24); }
                        .kv-contact-route-card--active { border-color:rgba(13,148,136,.34); background:linear-gradient(160deg,rgba(13,148,136,.05),rgba(27,100,216,.05)); }
                        .kv-contact-route-icon { display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:15px; font-size:1.4rem; }
                        .kv-route-support { background:rgba(27,100,216,.12); color:var(--kc-blue); }
                        .kv-route-report { background:rgba(225,29,72,.10); color:var(--kc-rose); }
                        .kv-route-general { background:rgba(13,148,136,.12); color:var(--kc-teal); }
                        .kv-contact-route-title { color:var(--kc-ink); }
                        .kv-contact-route-body { color:#64748b; font-size:.92rem; line-height:1.6; }
                        .kv-contact-route-link { color:var(--kc-blue); text-decoration:none; }
                        .kv-contact-route-link:hover { text-decoration:underline; }
                        .kv-contact-form-card { border:1px solid var(--kc-line); border-radius:18px; background:#fff; padding:1.75rem; box-shadow:0 16px 46px rgba(15,23,42,.06); }
                        .kv-contact-topic-hint { font-size:.86rem; color:#64748b; background:#f6f9ff; border:1px solid var(--kc-line); border-radius:10px; padding:.7rem .9rem; }
                        .kv-contact-response-note { font-size:.82rem; color:#8a97a8; }
                        .kv-contact-grievance, .kv-contact-safety { display:flex; gap:.9rem; align-items:flex-start; border:1px solid var(--kc-line); border-radius:14px; background:#fff; padding:1.2rem 1.35rem; }
                        .kv-contact-grievance-icon { flex:0 0 auto; width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,rgba(27,100,216,.12),rgba(13,148,136,.12)); color:var(--kc-blue); font-size:1.1rem; }
                        .kv-contact-grievance-body, .kv-contact-safety-body { color:#64748b; font-size:.9rem; line-height:1.55; }
                        .kv-contact-usewhen { border:1px solid var(--kc-line); border-radius:14px; background:#f8fafc; padding:1.2rem 1.35rem; }
                        .kv-contact-usewhen--alt { background:linear-gradient(160deg,#f6f9ff,#f2fbf8); }
                        .kv-contact-usewhen-head { font-weight:800; color:var(--kc-ink); margin-bottom:.6rem; }
                        .kv-contact-usewhen-list { list-style:none; margin:0; padding:0; display:grid; gap:.5rem; }
                        .kv-contact-usewhen-list li { position:relative; padding-left:1.6rem; font-size:.9rem; color:#475569; line-height:1.5; }
                        .kv-contact-usewhen-list li:before { content:"\2713"; position:absolute; left:0; top:0; color:var(--kc-teal); font-weight:900; }
                        @media(max-width:991.98px){ .kv-contact-hero-art{max-height:220px;} }
