.kch, .kch * { box-sizing: border-box; }
.kch { --kch-ink:#121518; --kch-soft:#262b2e; --kch-paper:#f4f5f3; --kch-orange:#ff4f16; --kch-line:#d7d9d7; position:fixed; right:clamp(18px,2.5vw,42px); bottom:clamp(18px,2.5vw,36px); z-index:9998; color:var(--kch-ink); font-family:"function_pro","Helvetica Neue",Arial,sans-serif; font-size:15px; line-height:1.45; }
.kch [hidden] { display:none !important; }
.kch button, .kch input, .kch textarea { font:inherit; }
.kch button { cursor:pointer; }
.kch button:focus-visible, .kch a:focus-visible, .kch input:focus-visible, .kch textarea:focus-visible { outline:3px solid var(--kch-orange); outline-offset:3px; }
.kch-launcher { display:flex; align-items:center; gap:12px; min-height:56px; padding:8px 20px 8px 9px; border:1px solid #32383b; border-radius:999px; background:var(--kch-ink); color:#fff; box-shadow:0 16px 38px rgba(0,0,0,.2); font-weight:600; transition:transform .18s ease,background .18s ease; }
.kch-launcher:hover { transform:translateY(-2px); background:var(--kch-soft); }
.kch-launcher__mark { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--kch-orange); font-size:23px; font-weight:500; }
.kch-panel { position:absolute; right:0; bottom:70px; display:flex; flex-direction:column; width:min(390px,calc(100vw - 36px)); max-height:min(620px,calc(100dvh - 112px)); overflow:hidden; border:1px solid #33393d; border-radius:13px; background:#fbfbfa; box-shadow:0 22px 66px rgba(0,0,0,.27); }
.kch-panel__header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:20px 22px 18px; color:#fff; background:var(--kch-ink); }
.kch-panel__eyebrow { display:block; margin-bottom:7px; color:#ffab8d; font-size:10px; font-weight:700; letter-spacing:.13em; }
.kch-panel__header h2 { margin:0; color:#fff; font-size:22px; font-weight:600; line-height:1.18; letter-spacing:-.035em; }
.kch-close { width:30px; height:30px; flex:none; padding:0; border:1px solid #606568; border-radius:50%; color:#fff; background:transparent; font-size:23px !important; line-height:1; }
.kch-close:hover { background:#383d40; }
.kch-panel__body { min-height:240px; overflow-y:auto; padding:24px 22px 22px; overscroll-behavior:contain; }
.kch-intro { margin:0 0 20px; color:#383f43; font-size:15px; }
.kch-topics { display:grid; gap:8px; }
.kch-topic { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:51px; padding:11px 15px; border:1px solid var(--kch-line); border-radius:5px; background:#fff; color:var(--kch-ink); text-align:left; font-weight:600; transition:border-color .15s ease,transform .15s ease; }
.kch-topic:hover { border-color:var(--kch-orange); transform:translateX(2px); }
.kch-topic span:last-child { color:var(--kch-orange); font-size:18px; }
.kch-topic--human { margin-top:7px; border-color:#31373b; color:#fff; background:var(--kch-ink); }
.kch-topic--human:hover { background:var(--kch-soft); }
.kch-footnote { margin:16px 0 0; color:#6f7679; font-size:11px; }
.kch-back { display:inline-block; margin:0 0 22px; padding:0; border:0; color:#596065; background:none; font-size:13px !important; font-weight:600; }
.kch-back:hover { color:var(--kch-orange); }
.kch-panel__body h3 { margin:0 0 14px; color:var(--kch-ink); font-size:22px; line-height:1.2; letter-spacing:-.03em; }
.kch-answer-copy { margin:0 0 18px; color:#3a4145; white-space:pre-line; }
.kch-primary-link, .kch-submit { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 17px; border:1px solid var(--kch-orange); border-radius:3px; color:#fff !important; background:var(--kch-orange); text-decoration:none !important; font-weight:600; }
.kch-primary-link:hover, .kch-submit:hover { background:#dc3d0b; border-color:#dc3d0b; }
.kch-helpful { margin:26px 0 8px; color:#6f7679; font-size:13px; }
.kch-secondary { padding:0; border:0; color:var(--kch-ink); background:none; text-decoration:underline; text-decoration-color:var(--kch-orange); text-underline-offset:4px; font-weight:600; }
.kch-secondary:hover { color:var(--kch-orange); }
.kch form label { display:block; margin:0 0 15px; color:#31383c; font-size:13px; font-weight:600; }
.kch input[type=text], .kch input[type=email], .kch textarea { display:block; width:100%; min-height:42px; margin-top:6px; padding:9px 11px; border:1px solid #bac0c1; border-radius:3px; color:var(--kch-ink); background:#fff; font-size:14px; font-weight:400; }
.kch textarea { resize:vertical; min-height:102px; }
.kch-consent { display:flex !important; gap:9px; align-items:flex-start; color:#4c5457 !important; font-size:12px !important; font-weight:400 !important; }
.kch-consent input { flex:none; margin:2px 0 0; accent-color:var(--kch-orange); }
.kch-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.kch-form-status { min-height:18px; margin:0 0 8px; color:#a22f0a; font-size:12px; }
.kch-submit:disabled { opacity:.6; cursor:wait; }
.kch-success-mark { display:grid; place-items:center; width:48px; height:48px; margin-bottom:20px; border-radius:50%; color:#fff; background:var(--kch-orange); font-size:25px; }
.kch [data-kch-success] p { color:#3a4145; }
@media (max-width:600px) { .kch { right:12px; bottom:12px; } .kch-panel { right:0; bottom:66px; width:min(390px,calc(100vw - 40px)); max-height:calc(100dvh - 92px); } .kch-launcher { min-height:50px; padding-right:15px; font-size:13px; } .kch-launcher__mark { width:33px; height:33px; } }
@media (prefers-reduced-motion:reduce) { .kch-launcher, .kch-topic { transition:none; } }
