*{box-sizing:border-box;margin:0;padding:0}
:root{--k-navy:var(--z-navy, #0B1F3B);--k-ink:var(--z-navy, #0B1F3B);--k-sec:#4F5E71;--k-mut:#7D8A99;--k-line:var(--z-line, #E3E7EC);--k-off:#F7F9FC;--k-v:var(--z-violet, #7C5CFC);--k-v-d:var(--z-violet-deep, #3E2C9E);--k-v-l:var(--z-lav, #F0ECFF);--k-g:#0E7A59;--k-g-l:#E3F4EC;--k-a:#8A5A0B;--k-a-l:#FBF0DC;--k-r:#B23A38;--k-r-l:#FCEBEB}
body{background:var(--k-off);color:var(--k-ink)}
a{color:var(--k-v-d)}a:hover{color:var(--k-v)}
.kt-wrap{max-width:1160px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.kt-eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--k-v-d);margin-bottom:14px}
.kt-sm{font-size:16px;line-height:1.65;color:var(--k-sec)}
.kt-xs{font-size:14px;line-height:1.55;color:var(--k-mut)}
.kt-pill{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;padding:4px 11px;border-radius:100px;border:1px solid var(--k-line);background:#fff;color:var(--k-sec);white-space:nowrap}
.kt-ev{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;white-space:nowrap}
.kt-ev::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.ev-Established{color:var(--k-g)}.ev-Situational{color:var(--k-a)}.ev-Emerging{color:var(--k-v)}
.kt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px 'Assistant',sans-serif;padding:11px 20px;border-radius:100px;border:1px solid var(--k-v);background:var(--k-v);color:#fff;cursor:pointer;text-decoration:none}
.kt-btn:hover{background:var(--z-violet-hover, #6B4BE8);color:#fff}
.kt-btn.ghost{background:#fff;color:var(--k-v-d);border-color:var(--k-line)}
.kt-btn.ghost:hover{border-color:var(--k-v);color:var(--k-v-d)}
.kt-card{background:#fff;border:1px solid var(--k-line);border-radius:var(--z-r, 18px)}
/* provider (navy) */
.kt-prov{background:var(--k-navy);padding:72px 0}
.kt-prov-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:center}
.kt-prov h2{color:#fff}
.kt-prov .kt-sm{color:rgba(255,255,255,.72)}
.kt-prov-box{border-radius:16px;padding:24px 26px}
.kt-prov-box .t{font-size:17px;font-weight:600;color:#fff;margin-bottom:6px}
.kt-prov-box .d{font-size:16px;line-height:1.6;color:rgba(255,255,255,.82);margin-bottom:16px}
.kt-prov-boxes{display:flex;flex-direction:column;gap:14px}
.kt-prov .btn-provider-outline{border:1px solid rgba(255,255,255,.35)}
.kt-disc{font-size:15px;line-height:1.6;color:var(--k-mut);text-align:center;max-width:760px;margin:0 auto;padding:36px 20px}
@media(max-width:860px){.kt-prov-grid{grid-template-columns:1fr;gap:28px}}
/* test page */
.tp-crumb{font-size:15px;color:var(--k-mut);padding:28px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.tp-crumb a{color:var(--k-mut);text-decoration:none}.tp-crumb a:hover{color:var(--k-v-d)}
.tp-head{padding:28px 0 44px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:start}
.tp-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tp-tells{font-family:var(--z-head, 'Inter',sans-serif);font-size:22px;font-weight:500;line-height:1.4;letter-spacing:-.3px;color:var(--k-ink);margin-top:18px;text-wrap:pretty}
.tp-facts{padding:8px 24px}
.tp-fact{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--k-line);font-size:16px;line-height:1.5}
.tp-fact:last-child{border-bottom:0}
.tp-fact b{font-weight:600;color:var(--k-mut);font-size:14px;text-transform:uppercase;letter-spacing:.06em;padding-top:2px}
.tp-sec{padding:44px 0;border-top:1px solid var(--k-line)}
.tp-sec h2{margin-bottom:18px}
.tp-fit{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tp-fit .kt-card{padding:24px 26px}
.tp-fit h3{margin-bottom:12px;display:flex;align-items:center;gap:10px}
.tp-fit ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.tp-fit li{font-size:16px;line-height:1.55;color:var(--k-sec);padding-left:22px;position:relative}
.tp-fit li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--k-v)}
.tp-fit .alt li::before{background:var(--k-a)}
.tp-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.tp-method{padding:20px 22px}
.tp-method .n{font-size:16px;font-weight:600;margin-bottom:6px}
.tp-qa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.tp-q{padding:18px 0;border-bottom:1px solid var(--k-line)}
.tp-q .q{font-family:var(--z-head, 'Inter',sans-serif);font-size:16px;font-weight:600;margin-bottom:6px;color:var(--k-ink)}
.tp-q .a{font-size:16px;line-height:1.65;color:var(--k-sec)}
.tp-bands{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.tp-band{padding:18px 20px;border-radius:14px;border:1px solid var(--k-line);background:#fff}
.tp-band .v{font-family:var(--z-head, 'Inter',sans-serif);font-size:22px;font-weight:600;margin-bottom:4px}
.tp-where{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tp-where .kt-card{padding:20px 22px}
.tp-where .n{font-size:15px;font-weight:600;margin-bottom:4px}
.tp-conn{display:flex;flex-wrap:wrap;gap:10px}
.tp-conn a,.tp-conn span{font-size:15px;font-weight:600;padding:9px 16px;border-radius:100px;background:#fff;border:1px solid var(--k-line);color:var(--k-ink);text-decoration:none}
.tp-conn a:hover{border-color:var(--k-v);color:var(--k-v-d)}
.tp-conn span{color:var(--k-mut);font-weight:500}
.tp-ask{background:var(--k-v-l);border-radius:var(--z-r, 18px);padding:26px 28px}
.tp-ask ol{padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.55;color:var(--k-ink)}
@media(max-width:860px){.tp-head,.tp-fit,.tp-qa,.tp-where{grid-template-columns:minmax(0,1fr)}.tp-head{gap:28px}.tp-head h1{overflow-wrap:break-word}}
/* explainer blocks (ApoB, Lp(a) …) */
.ab-intro{font-size:18px;line-height:1.7;color:var(--k-sec);max-width:780px;margin-bottom:24px;text-wrap:pretty}.ab-intro b{color:var(--k-ink)}
.ab-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ab-c{padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.ab-best{border:1.5px solid var(--k-v);box-shadow:0 14px 34px var(--z-violet-soft, rgba(124,92,252,.12))}
.ab-k{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--k-v-d);margin-bottom:4px}
.ab-q{font-family:var(--z-head, 'Inter',sans-serif);font-size:17px;font-weight:600;line-height:1.35;color:var(--k-ink)}
.ab-tag{margin-top:auto;padding-top:6px;font-size:14px;font-weight:700}
.ab-cmp{margin-top:16px;padding:24px 28px}
.ab-cmp-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px}.ab-cmp-h b{font-family:var(--z-head, 'Inter',sans-serif);font-size:18px}
.ab-cmp-g{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.ab-p{font-size:15px;font-weight:700;margin-bottom:10px}
.ab-dots{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:64px;padding:14px;border-radius:var(--z-r-sm, 12px);background:var(--k-off);margin-bottom:12px}
.ab-dots i{width:12px;height:12px;border-radius:50%;background:var(--k-v)}.ab-dots i.lg{width:24px;height:24px}
.ab-r{display:flex;justify-content:space-between;font-size:15px;padding:7px 0;border-top:1px solid var(--k-line);color:var(--k-sec)}.ab-r b{color:var(--k-ink)}
.ab-why{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:28px}
@media(max-width:860px){.ab-3,.ab-cmp-g,.ab-why{grid-template-columns:1fr}}
.ab-dots i.lp{background:var(--k-r);box-shadow:0 0 0 3px #F6C9C8}
.ab-cmp-h{flex-wrap:wrap}.ab-leg{display:flex;gap:18px;flex-wrap:nowrap;font-size:14px;color:var(--k-sec)}.ab-leg span{display:inline-flex;align-items:center;gap:6px}.ab-leg i{width:12px;height:12px;border-radius:50%;background:var(--k-v)}.ab-leg i.lp{background:var(--k-r);box-shadow:0 0 0 3px #F6C9C8}
.ab-do{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}.ab-do .kt-card{padding:20px 22px}.ab-do .n{font:600 14px 'Inter',sans-serif;color:var(--k-v-d);margin-bottom:8px}.ab-do .t{font-size:16px;font-weight:600;margin-bottom:4px}
@media(max-width:960px){.ab-do{grid-template-columns:1fr 1fr}}@media(max-width:600px){.ab-do{grid-template-columns:1fr}}

/* Narrow phones: fact label sits above its value. */
@media(max-width:420px){.tp-facts{padding:4px 20px}.tp-fact{grid-template-columns:1fr;gap:2px}}
