
/* Layout concept: a guided funnel. Deep brand-navy bands carry the story, cyan marks information, one warm action color marks every next step. */
:root{
  --navy:#002857; --navy-2:#063a74; --cyan:#00a0e1; --cyan-ink:#0076ab; --ice:#eaf5fc; --ice-2:#d6ecf8;
  --paper:#f7fafd; --surface:#ffffff; --ink:#0a1e33; --ink-2:#3f5468; --muted:#56677a; --line:#dce6ef;
  --act:#063a74; --act-hover:#0b4c94; --act-ink:#ffffff;
  --on-navy:#ffffff; --on-navy-2:#b9d3e8; --glass:rgba(255,255,255,.07); --glass-line:rgba(255,255,255,.16);
  --ok:#11704c; --ok-soft:#e0f4ea; --warn:#8a4e00; --warn-soft:#fdf0d8; --crit:#a83420; --crit-soft:#fce6e2;
  --grad:linear-gradient(135deg,#00a0e1 0%,#0067b8 55%,#002857 100%);
  --grad-text:linear-gradient(100deg,#2cc0ff 0%,#00a0e1 45%,#7fd6ff 100%);
  --hero-bg:radial-gradient(900px 500px at 85% 20%,rgba(0,160,225,.35),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(0,103,184,.45),transparent 60%),linear-gradient(180deg,#001c3f 0%,#002857 100%);
  --hero-light:radial-gradient(900px 520px at 88% 0%,rgba(0,160,225,.16),transparent 62%),radial-gradient(700px 480px at 0% 100%,rgba(0,103,184,.08),transparent 60%),linear-gradient(180deg,#f4f9fd 0%,#e8f3fb 100%);
  --head:#002857; --helix-line:0,118,171; --helix-b:0,40,87; --ico-bg:#d6ecf8; --ico-ink:#0d2a55;
  --shadow:0 24px 48px -28px rgba(0,40,87,.45);
  --f-display:"Sora","Avenir Next","Segoe UI",sans-serif;
  --f-body:"Figtree","Segoe UI",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
:root[data-adx="dark"]{
  --paper:#061424; --surface:#0b1f34; --ice:#0c2a44; --ice-2:#11375a; --ink:#e7f1f9; --ink-2:#b5c8d8; --muted:#8aa0b4; --line:#1b3550;
  --cyan:#33b8f0; --cyan-ink:#6ccdf6; --navy:#001a38;
  --ok:#4fc890; --ok-soft:#0f3324; --warn:#f2a640; --warn-soft:#352409; --crit:#f2806c; --crit-soft:#3b1913;
  --shadow:0 24px 48px -28px rgba(0,0,0,.7); color-scheme:dark;
  --hero-light:radial-gradient(900px 500px at 85% 20%,rgba(0,160,225,.35),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(0,103,184,.45),transparent 60%),linear-gradient(180deg,#001c3f 0%,#002857 100%);
  --head:#ffffff; --helix-line:127,214,255; --helix-b:255,255,255; --ico-bg:#123a5e; --ico-ink:#a9e0ff;}

*{box-sizing:border-box}
[hidden]{display:none!important}

.ct-client{border:0;margin:0;padding:0;min-width:0}
.ct-client legend{font-weight:600;font-size:.88rem;padding:0;margin-bottom:6px}
.ct-radios{display:flex;gap:10px}
.ct-radios label{flex:1;display:flex;align-items:center;gap:8px;padding:12px 13px;border-radius:11px;border:1px solid var(--line);background:var(--paper);font-weight:500;cursor:pointer}
.ct-radios label:has(input:checked){border-color:var(--cyan);background:var(--ice)}
.field .ct-radios input{accent-color:var(--navy-2);margin:0;width:18px;height:18px;padding:0;flex:none}


.cta-contact{margin-left:auto;padding:11px 18px}
.cta-contact svg.i{width:18px;height:18px}
nav.main + .cta-contact{margin-left:8px}
@media (max-width:980px){header.top .cta-contact{margin-left:auto}header.top .cta-contact ~ .menu-btn{margin-left:8px}}
@media (max-width:640px){header.top .cta-contact{display:none}}


.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;border-radius:10px;background:var(--navy-2);color:#fff;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
main:focus{outline:none}
.foot-legal{display:flex;flex-wrap:wrap;gap:8px 20px;padding-block:18px;margin-top:28px;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem}
.foot-legal a,.foot-legal button{color:#c6dcee;text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.foot-legal a:hover,.foot-legal button:hover{color:#fff;text-decoration:underline}
.lg-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:.9rem;color:var(--ink-2)}
.lg-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.lg-toc{position:sticky;top:96px;display:grid;gap:4px;padding:18px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.lg-toc span{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink);margin-bottom:6px}
.lg-toc a{font-size:.9rem;color:var(--ink-2);text-decoration:none;padding:5px 8px;border-radius:8px}
.lg-toc a:hover{background:var(--ice);color:var(--ink)}
.lg-body{display:grid;gap:30px;max-width:760px}
.lg-sec{display:grid;gap:12px;scroll-margin-top:90px}
.lg-sec h2{font-size:1.35rem}
.lg-sec p,.lg-sec li{color:var(--ink-2);line-height:1.7}
.lg-sec ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.lg-sec a{color:var(--cyan-ink)}
.lg-table{min-width:520px}
@media (max-width:860px){.lg-layout{grid-template-columns:1fr}.lg-toc{position:static}}
.ct-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,64px);align-items:start}
.ct-info{display:grid;gap:14px}
.ct-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none}
a.ct-card:hover{border-color:var(--cyan)}
.ct-card small{display:block;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ct-card b{display:block;font-size:1.08rem}
.ct-card span span{display:block;color:var(--ink-2);font-size:.92rem}
.ct-topics{display:grid;gap:8px;margin-top:10px}
.ct-topics a{display:grid;gap:2px;padding:12px 14px;border-radius:12px;text-decoration:none;color:var(--ink);border:1px solid transparent}
.ct-topics a:hover{background:var(--surface);border-color:var(--line)}
.ct-topics a span{font-size:.88rem;color:var(--ink-2)}
.ct-form{display:grid;gap:16px;padding:clamp(20px,3vw,32px);border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.ct-form h2{font-size:1.4rem}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-form .ct-opt{font-weight:400;color:var(--muted)}
.ct-note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--ice);font-size:.88rem;color:var(--ink-2)}
.ct-note svg.i{width:20px;height:20px;flex:none;color:var(--ico-ink)}
.ct-form .btn{justify-self:start}
.ct-legal{font-size:.82rem;color:var(--muted)}
.ct-legal a{color:inherit}
.ct-done{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:12px;background:var(--ok-soft)}
.ct-done .ico{background:var(--ok);color:#fff}
.ct-done p{font-size:.9rem;color:var(--ink-2)}
@media (max-width:860px){.ct-layout{grid-template-columns:1fr}}
@media (max-width:520px){.ct-row{grid-template-columns:1fr}}
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:760px;margin:0 auto;display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap;padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 50px -20px rgba(0,40,87,.45)}
.cookie-bar p{flex:1 1 320px;font-size:.9rem;color:var(--ink-2)}
.cookie-bar p a{color:var(--cyan-ink)}
.cb-btns{display:flex;gap:10px}
.cb-btns .btn{padding:10px 18px}


.hr-art{position:absolute;right:clamp(20px,4vw,60px);top:50%;transform:translateY(-50%);width:300px;height:330px;z-index:0}
.hr-sheet{position:absolute;inset:0 20px 10px 0;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 26px 50px -28px rgba(0,40,87,.5);padding:16px;display:grid;gap:10px;align-content:start;transform:rotate(-3deg)}
.hr-sheet.back{background:var(--ice-2);transform:rotate(4deg) translate(18px,6px);box-shadow:none}
.hr-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:8px;border-bottom:2px solid var(--navy-2)}
.hr-top b{font-family:var(--f-display);font-size:.72rem;line-height:1.2;color:var(--head);max-width:140px}
.hr-top .doc-logo{height:16px;width:auto}
.hr-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.hr-meta span{height:8px;border-radius:4px;background:var(--line)}
.hr-alert{font-size:.62rem;padding:6px 8px;border-radius:6px;border:1px solid var(--sr-sig);border-left-width:4px;background:var(--sr-sig-bg);color:var(--ink)}
.hr-alert b{color:var(--sr-sig);margin-right:4px}
.hr-pills{display:flex;gap:6px}
.hr-pills span{font-size:.62rem;font-weight:700;color:#fff;padding:2px 10px;border-radius:999px}
.hr-pills .ok{background:var(--sr-ok)}.hr-pills .mod{background:var(--sr-mod);color:#2a1a00}.hr-pills .sig{background:var(--sr-sig)}
.hr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.hr-grid i{height:22px;border-radius:4px}
.hr-grid i.h{height:12px}
.hr-grid i.h.ok{background:var(--sr-ok)}.hr-grid i.h.mod{background:var(--sr-mod)}.hr-grid i.h.sig{background:var(--sr-sig)}
.hr-grid i.ok{background:var(--sr-ok-bg)}.hr-grid i.mod{background:var(--sr-mod-bg)}.hr-grid i.sig{background:var(--sr-sig-bg)}
.hr-badge{position:absolute;left:-40px;bottom:0;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 36px -22px rgba(0,40,87,.5)}
.hr-badge b{display:block;font-size:.88rem}.hr-badge small{display:block;font-size:.72rem;color:var(--muted)}
.hr-art .hr-sheet.sr{--sr-ok:#1f7d44;--sr-ok-bg:#eef7f0;--sr-mod:#d9a21b;--sr-mod-bg:#fdf7e6;--sr-sig:#c9323d;--sr-sig-bg:#fcecee;max-width:none;margin:0}
:root[data-adx="dark"] .hr-art .hr-sheet.sr{--sr-ok-bg:#0f2a1c;--sr-mod-bg:#2c2410;--sr-sig-bg:#33161a}
@media (max-width:1000px){.hr-art{display:none}}


.peek-sheet.sr{padding:0;gap:0;max-width:none;border-radius:12px;box-shadow:var(--shadow)}
.pk-head .pk-t{text-align:left}
.pk-head .pk-t b{font-size:.86rem}
.pk-alert{margin:10px 14px 0;padding:7px 10px;border-radius:8px;border:1px solid var(--sr-sig);border-left-width:4px;background:var(--sr-sig-bg);font-size:.72rem;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pk-alert b{color:var(--sr-sig)}
.pk-alert i,.peek .pk-sec h4 i{font-style:normal;flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--ico-ink);color:var(--surface);font-size:.66rem;font-weight:700}
.pk-counts{display:flex;gap:6px;padding:10px 14px 4px;flex-wrap:wrap}
.pk-counts .cn{font-size:.66rem;padding:2px 9px 2px 2px;gap:5px}
.pk-counts .cn b{min-width:20px;height:20px;font-size:.66rem}
.pk-grid{display:grid;grid-template-columns:minmax(0,.95fr) repeat(3,minmax(0,1fr));gap:3px;padding:8px 14px 12px;font-size:.68rem}
.pk-h{padding:5px 6px;border-radius:5px;font-weight:700;color:#fff}
.pk-h.ok{background:var(--sr-ok)}.pk-h.mod{background:var(--sr-mod);color:#2a1a00}.pk-h.sig{background:var(--sr-sig)}
.pk-c{font-weight:700;color:var(--head);padding:5px 4px 5px 0;line-height:1.25}
.pk-c small{display:block;font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pk-v{overflow-wrap:anywhere;padding:5px 6px;border-radius:5px;line-height:1.35;color:var(--ink)}
.pk-v.ok{background:var(--sr-ok-bg)}.pk-v.mod{background:var(--sr-mod-bg)}.pk-v.sig{background:var(--sr-sig-bg)}
.peek-wrap .peek-notes i{background:var(--ico-ink);color:var(--surface)}


.sr-intro{display:flex;gap:10px;align-items:flex-start;max-width:1000px;margin:0 auto 18px;color:var(--ink-2);font-size:.95rem}
.sr-intro svg.i{color:var(--ico-ink);width:22px;height:22px;flex:none}
.sr{position:relative;max-width:1000px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:clamp(18px,3vw,34px);display:grid;gap:18px;overflow:hidden;--sr-ok:#1f7d44;--sr-ok-bg:#eef7f0;--sr-mod:#d9a21b;--sr-mod-bg:#fdf7e6;--sr-sig:#c9323d;--sr-sig-bg:#fcecee}
:root[data-adx="dark"] .sr{--sr-ok-bg:#0f2a1c;--sr-mod-bg:#2c2410;--sr-sig-bg:#33161a}
.sr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:3px solid var(--navy-2)}
.sr-head h3{font-family:var(--f-display);font-size:clamp(1.25rem,2.4vw,1.6rem);color:var(--head)}
.sr-head span{color:var(--ink-2);font-size:.95rem}
.sr-brand .doc-logo{height:28px}
.sr-meta{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px;border-radius:10px;background:var(--paper);border:1px solid var(--line)}
.sr-meta small{display:block;font-size:.64rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.sr-meta b{font-size:.86rem;font-weight:600}
.sr-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lg{display:grid;gap:3px;padding:10px 12px 10px 30px;border-radius:10px;background:var(--paper);position:relative;font-size:.8rem;color:var(--ink-2)}
.lg b{font-size:.84rem;color:var(--ink)}
.lg::before{content:"";position:absolute;left:11px;top:13px;width:12px;height:12px;border-radius:3px}
.lg.ok::before{background:var(--sr-ok)}.lg.mod::before{background:var(--sr-mod)}.lg.sig::before{background:var(--sr-sig)}.lg.key{padding-left:12px}.lg.key::before{display:none}
.sr-alert{border:1.5px solid var(--sr-sig);border-left-width:6px;border-radius:10px;background:var(--sr-sig-bg);padding:12px 16px;display:grid;gap:8px}
.sr-alert h4{font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sr-sig)}
.sr-alert ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:.92rem}
.sr sup{font-size:.68em;font-weight:700;color:var(--ink-2)}
.sr-counts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.cn{display:inline-flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;border-radius:999px;font-size:.84rem;font-weight:700;color:#fff}
.cn b{display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:#fff;font-size:.82rem}
.cn.ok{background:var(--sr-ok)}.cn.ok b{color:var(--sr-ok)}.cn.mod{background:var(--sr-mod);color:#2a1a00}.cn.mod b{color:#7a5a00}.cn.sig{background:var(--sr-sig)}.cn.sig b{color:var(--sr-sig)}
.cn-note{font-size:.84rem;color:var(--muted)}
.sr-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}
.sr-table thead th{position:static;padding:10px 12px;font-size:.84rem;font-weight:700;letter-spacing:0;text-transform:none;color:#fff;background:var(--navy-2);border-bottom:0}
.sr-table thead th:first-child{background:transparent;color:var(--ink);width:19%}
.sr-table .h-ok{background:var(--sr-ok)}.sr-table .h-mod{background:var(--sr-mod);color:#2a1a00}.sr-table .h-sig{background:var(--sr-sig)}
.sr-table tbody th{text-transform:none;letter-spacing:0;text-align:left;vertical-align:top;padding:12px 12px 12px 0;font-size:.9rem;font-weight:700;color:var(--head);border-bottom:1px solid var(--line)}
.sr-table tbody th small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.sr-table td{vertical-align:top;padding:10px 12px;font-size:.86rem;border-bottom:1px solid var(--line)}
.sr-table td.c-ok{background:var(--sr-ok-bg);border-left:4px solid var(--sr-ok)}
.sr-table td.c-mod{background:var(--sr-mod-bg);border-left:4px solid var(--sr-mod)}
.sr-table td.c-sig{background:var(--sr-sig-bg);border-left:4px solid var(--sr-sig)}
.sr-table td:first-child{font-weight:400}
.sr-table ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.sr-gene{font-family:var(--f-mono);font-size:.74rem;color:var(--ink-2)}
.sr-none{color:var(--muted);font-size:.8rem}
.sr-cur{display:inline-block;margin-left:4px;padding:0 6px;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--navy-2);color:#fff;vertical-align:1px}
.sr-sec{display:grid;gap:10px}
.sr-sec h4{font-size:1rem;color:var(--head);padding-bottom:6px;border-bottom:2px solid var(--navy-2)}
.sr-key{margin:0;padding-left:1.4em;columns:2;column-gap:32px;font-size:.84rem;color:var(--ink-2)}
.sr-key li{break-inside:avoid;margin-bottom:5px}
.sr-actions{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:.9rem;color:var(--ink-2)}
.sr-actions b{color:var(--ink)}
.sr-genes{min-width:560px}
.sr-genes thead th{position:static;background:var(--navy-2);color:#fff;font-size:.78rem}
.sr-sign{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sr-sign small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.sr-sign b{display:block;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:.86rem;font-weight:600}
.sr-foot{padding-top:12px;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted)}
@media (max-width:860px){.sr-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.sr-legend{grid-template-columns:1fr 1fr}.sr-key{columns:1}.sr-sign{grid-template-columns:1fr}}
@media (max-width:480px){.sr-legend{grid-template-columns:1fr}.pk-grid{font-size:.58rem;padding:8px 10px 10px;gap:2px}.pk-h,.pk-v{padding:4px}.pk-c small{display:none}.pk-alert{font-size:.62rem;margin:8px 10px 0}.pk-counts{padding:8px 10px 2px}}


.swab-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,5vw,72px);align-items:start}
.swab-aside{position:sticky;top:96px;display:grid;gap:18px;justify-items:start}
.kit-list{width:100%;display:grid;gap:14px;padding:22px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.kl-title{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink)}
.kit-list > div{display:flex;align-items:center;gap:14px}
.kit-list b{display:block;font-size:.97rem}
.kit-list small{display:block;font-size:.85rem;color:var(--muted)}
.swab-tl{list-style:none;margin:0;padding:0;display:grid}
.swab-tl > li{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:20px}
.swab-tl > li::before{content:"";position:absolute;left:23px;top:0;bottom:0;width:2px;background:var(--line)}
.swab-tl > li:first-child::before{top:24px}
.swab-tl > li:last-child::before{bottom:auto;height:24px}
.st-phase{padding:6px 0 14px}
.st-phase span{grid-column:2;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-ink)}
.st-phase::after{content:"";grid-column:1;grid-row:1;justify-self:center;align-self:center;width:12px;height:12px;border-radius:50%;background:var(--cyan-ink);box-shadow:0 0 0 5px var(--ice);position:relative;z-index:1}
.st{padding-bottom:16px}
.st-n{position:relative;z-index:1;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--ico-ink);border:2px solid var(--ico-ink);font-family:var(--f-display);font-weight:700;font-size:1.15rem}
.st.key .st-n{background:var(--ico-ink);color:var(--surface)}
.st-card{display:grid;gap:14px;padding:20px 22px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.st.key .st-card{border-color:var(--cyan);box-shadow:0 14px 30px -24px rgba(0,118,171,.6)}
.st-head{display:flex;align-items:center;gap:14px}
.st-head small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.st.key .st-head small{color:var(--cyan-ink)}
.st-head h3{font-size:1.15rem;line-height:1.25}
.st-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.st-list li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2);font-size:.95rem}
.st-list svg.i{width:18px;height:18px;margin-top:3px;color:var(--ok);stroke-width:2.6}
.st-why{display:grid;gap:2px;padding-top:12px;border-top:1px dashed var(--line);font-size:.88rem;color:var(--muted)}
.st-why b{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
@media (max-width:900px){.swab-layout{grid-template-columns:1fr}.swab-aside{position:static}}
@media (max-width:480px){.swab-tl > li{grid-template-columns:40px minmax(0,1fr);column-gap:12px}.swab-tl > li::before{left:19px}.st-n{width:40px;height:40px;font-size:1rem}.st-card{padding:16px}.st-head .ico{display:none}}



.cov-ic{flex:none;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--ico-bg);color:var(--ico-ink)}
.cov-ic svg.i{width:50px;height:50px}


.necessity{margin-top:clamp(32px,4vw,48px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px 40px;align-items:center;padding:28px 32px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.nec-head{display:flex;gap:16px;align-items:flex-start}
.nec-head h3{font-size:1.25rem}
.nec-head p{color:var(--ink-2);margin-top:4px}
.nec-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
@media (max-width:860px){.necessity{grid-template-columns:1fr;padding:22px}.nec-list{grid-template-columns:1fr}}


.partner-card{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.pc-logo{display:grid;place-items:center;min-height:132px;padding:28px;background:var(--hero-bg)}
.pc-logo img{width:auto;max-width:100%}
.pc-body{display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex:1;padding:26px 30px 30px}
.pc-body .link-arrow{margin-top:auto;padding-top:6px}
.pc-body p{color:var(--ink-2)}


.bill-rows{display:grid;gap:18px;margin-top:6px}
.bill-rows > div{display:flex;gap:14px;align-items:flex-start}
.bill-rows h4{margin-bottom:2px}
.bill-rows p{color:var(--ink-2);font-size:.95rem}


.fam-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.fam-grid > *{min-width:0;margin:0}
.fam-grid .feat-card{padding:24px 28px}
.fam-card{display:grid;align-content:start;gap:16px;padding:28px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.fam-card p{color:var(--ink-2)}
.fam-steps{grid-column:1/-1}
.fam-steps .flow{margin:0}
@media (max-width:860px){.fam-grid{grid-template-columns:1fr}.fam-card{padding:22px}}


.creds.hero-creds{margin:clamp(40px,5vw,64px) 0 0;position:relative;z-index:1;background:rgba(255,255,255,.06);border:1px solid var(--glass-line);border-bottom:0;border-radius:18px 18px 0 0;padding:6px 8px;backdrop-filter:blur(6px)}
.hero .hero-creds .cred{border-color:var(--glass-line)}
.hero .hero-creds .cred .ci{background:rgba(0,160,225,.18);color:#7fd6ff}
.hero .hero-creds .cred b{color:#fff}
.hero .hero-creds .cred small{color:var(--on-navy-2)}


.mx{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.sec.navy .mx{border-color:transparent;box-shadow:0 30px 60px -30px rgba(0,0,0,.65)}
.mx-bar{display:flex;flex-wrap:wrap;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:var(--paper);align-items:center}
.mx-bar .search{flex:1 1 300px}
.mx-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.mx-lw{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line)}
.mx-list{height:470px;overflow:auto;padding:6px;display:grid;align-content:start;gap:2px}
.mx-row{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:10px;background:none;color:var(--ink);font:inherit;cursor:pointer;transition:background .12s}
.mx-row:hover{background:var(--ice)}
.mx-row:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.mx-row[aria-selected="true"]{background:var(--ok-soft)}
.mx-n{min-width:0}
.mx-n b{display:block;font-weight:600;font-size:.95rem;line-height:1.3}
.mx-n small{display:block;font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mx-a{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.mx-ck{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);color:transparent;transition:all .15s}
.mx-ck svg.i{width:13px;height:13px}
.mx-row:hover .mx-ck{border-color:var(--ok)}
.mx-row[aria-selected="true"] .mx-ck{background:var(--ok);border-color:var(--ok);color:#fff}
.mx-row[aria-selected="true"] .mx-a{color:var(--ok)}
.mx-none{padding:18px;color:var(--muted);font-size:.94rem}
.mx-foot{padding:10px 18px;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line)}
.mx-detail{padding:20px;display:grid;align-content:start;min-width:0}
.mx-empty{display:grid;justify-items:start;gap:10px;padding:8px 4px}
.mx-empty h3{font-size:1.3rem}
.mx-empty p{color:var(--ink-2);font-size:.95rem}
.mx-areas{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.mx-areas button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 .9rem var(--f-body);cursor:pointer;text-align:left}
.mx-areas button:hover{border-color:var(--cyan)}
.mx-areas b{font-family:var(--f-display);color:var(--cyan-ink)}
.mx-detail .mc-hit,.mx-detail .mc-miss{padding:20px}
@media (max-width:860px){.mx-body{grid-template-columns:1fr}.mx-lw{border-right:0;border-bottom:1px solid var(--line)}.mx-list{height:340px}}
@media (max-width:480px){.mx-a{display:none}.mx-bar{padding:12px}.mx-detail{padding:14px}.mx-areas button{padding:10px 12px;font-size:.86rem}.mx .mx-cats{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:2px;scrollbar-width:none}.mx .mx-cats button{flex:none}}


/* credentials row */
.creds{margin-top:22px;display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;gap:0;padding:8px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.cred{display:flex;align-items:center;gap:12px;padding:12px 16px;border-right:1px solid var(--line);min-width:0}
.cred:nth-child(5){border-right:0}
.cred .ci{flex:none;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--ico-bg);color:var(--ico-ink)}
.cred .ci svg.i{width:29px;height:29px}
.cred b{display:block;font-size:.93rem;line-height:1.25}
.cred small{display:block;font-size:.78rem;color:var(--muted);line-height:1.3}
@media (max-width:1180px){.creds{grid-template-columns:repeat(3,1fr)}.cred{border-right:0;border-bottom:1px solid var(--line)}.cred:nth-child(4),.cred:nth-child(5){border-bottom:0}}
@media (max-width:760px){.creds{grid-template-columns:1fr 1fr}.cred{padding:12px;border-bottom:1px solid var(--line)}.cred:nth-child(4){border-bottom:1px solid var(--line)}.cred:nth-child(5){grid-column:1/-1;border-bottom:0}.hero .hero-creds .cred{border-color:var(--glass-line)}}
@media (max-width:440px){.cred small{display:none}.cred{gap:10px;padding:10px 8px}.cred .ci{width:42px;height:42px}.cred .ci svg.i{width:25px;height:25px}.cred b{font-size:.86rem}}

/* sample report peek */
.peek-wrap{display:grid;gap:16px;justify-items:center;min-width:0}
.peek{position:relative;display:block;width:min(100%,500px);text-decoration:none;color:var(--ink);padding:14px 10px 30px}
.peek-back{position:absolute;inset:26px 4px 40px 22px;border-radius:12px;background:var(--ice-2);transform:rotate(4deg);transition:transform .35s}
.peek-sheet{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;transform:rotate(-2deg);transition:transform .35s;max-height:470px;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
.peek:hover .peek-sheet,.peek:focus-visible .peek-sheet{transform:rotate(0) translateY(-4px)}
.peek:hover .peek-back{transform:rotate(6deg)}
.pk-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:3px solid var(--cyan)}
.pk-head .doc-logo{height:22px}
.pk-head span{text-align:right}
.pk-head b{display:block;font-family:var(--f-display);font-size:.88rem}
.pk-head small{display:block;font-size:.68rem;color:var(--muted)}
.pk-meta{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border-bottom:1px solid var(--line)}
.pk-meta span{padding:8px 18px;font-size:.78rem;font-weight:600}
.pk-meta small{display:block;font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.pk-sec{padding:12px 18px;border-bottom:1px solid var(--line);display:grid;gap:7px}
.pk-sec h4{display:flex;align-items:center;gap:8px;font-family:var(--f-body);font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--cyan-ink)}
.pk-sec h4 i,.peek-notes i{font-style:normal;flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--act);color:var(--act-ink);font-size:.66rem;font-weight:700;letter-spacing:0}
.pk-row{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:10px;padding:5px 0;border-top:1px dashed var(--line)}
.pk-row:first-of-type{border-top:0}
.pk-row b{display:block;font-size:.82rem;line-height:1.2}
.pk-row small{display:block;font-size:.66rem;color:var(--muted)}
.pk-row code,.pk-genes code{font-family:var(--f-mono);font-size:.7rem;color:var(--ink-2)}
.pk-row .tag{font-size:.58rem;padding:2px 7px}
.pk-genes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pk-genes span{display:grid;gap:2px;padding:6px 8px;border-radius:8px;background:var(--paper)}
.pk-genes em{font-style:normal;font-size:.66rem;font-weight:700}
.pk-genes em.crit{color:var(--crit)}.pk-genes em.warn{color:var(--warn)}.pk-genes em.ok{color:var(--ok)}
.pk-lines{display:grid;gap:6px;padding:10px 12px;border-radius:8px;background:var(--ice)}
.pk-lines span{height:7px;border-radius:4px;background:var(--ice-2)}
.pk-lines span:nth-child(2){width:88%}.pk-lines span:nth-child(3){width:62%}
.peek-cta{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:12px 20px;border-radius:999px;background:var(--act);color:var(--act-ink);font-weight:700;font-size:.92rem;box-shadow:0 14px 28px -14px rgba(0,40,87,.55);transition:transform .2s}
.peek-cta svg.i{width:17px;height:17px}
.peek:hover .peek-cta{transform:translateX(-50%) translateY(-2px)}
.peek-notes{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}
.peek-notes li{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;color:var(--ink-2)}
.peek-cap{font-size:.78rem;color:var(--muted)}
@media (max-width:520px){.pk-row{grid-template-columns:1fr auto}.pk-row code{display:none}.pk-genes{grid-template-columns:1fr 1fr}.pk-meta span{padding:8px 10px}.pk-head,.pk-sec{padding-inline:12px}}

/* medication check */
.mc-hit,.mc-miss{display:grid;gap:14px;align-content:start;padding:20px;border-radius:16px;animation:mcIn .25s ease}
.mc-hit{background:var(--ok-soft)}
.mc-miss{background:var(--paper);border:1px solid var(--line)}
@keyframes mcIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.mc-top{display:flex;gap:14px;align-items:flex-start}
.mc-badge{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ok);color:#fff}
.mc-miss .mc-badge{background:var(--ice);color:var(--cyan-ink)}
.mc-badge svg.i{width:22px;height:22px}
.mc-top small{display:block;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ok)}
.mc-miss .mc-top small{color:var(--muted)}
.mc-top h3{font-size:1.45rem;line-height:1.2}
.mc-top p{font-size:.9rem;color:var(--ink-2)}
.mc-tags{display:flex;flex-wrap:wrap;gap:6px}
.mc-tags span{font-size:.76rem;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--surface);color:var(--ink-2)}
.mc-body{font-size:.95rem;color:var(--ink-2)}
.mc-rel{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.84rem;color:var(--muted)}
.mc-rel button{font:600 .82rem var(--f-body);padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--cyan-ink);cursor:pointer}
.mc-acts{display:flex;flex-wrap:wrap;gap:10px}
.mc-acts .btn{padding:11px 16px;font-size:.92rem}


sup.ref{font-size:.62em;line-height:0;margin-left:2px;font-weight:700}
sup.ref a{color:var(--cyan-ink);text-decoration:none}
.sec.navy sup.ref a,.ev-tile sup.ref a,.ev-card sup.ref a,.phero sup.ref a{color:#7fd6ff}
.cite-note{margin-top:18px;font-size:.8rem;color:var(--muted);max-width:80ch}
.cite-note.dark{color:var(--on-navy-2)}
.cite-note a{color:inherit;text-decoration:underline}
.ref-list{counter-reset:none;list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:900px}
.ref-list li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.94rem;color:var(--ink-2)}
.ref-list li > b{font-family:var(--f-display);font-size:1.1rem;color:var(--cyan-ink)}
.ref-list li span.used{display:block;margin-top:4px;font-size:.82rem;color:var(--muted)}
.ref-list a{word-break:break-word}
.verify{display:inline-block;margin-left:6px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--warn-soft);color:var(--warn)}

.svc.two{grid-template-columns:repeat(2,1fr);max-width:900px;margin-inline:auto}
@media (max-width:760px){.svc.two{grid-template-columns:1fr}}

.lib-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lib-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.lib-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:4px}
.lib-card h3{font-size:1.15rem}
.lib-card p{font-size:.92rem;color:var(--ink-2)}
.lib-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.82rem;font-weight:600;color:var(--muted)}
.lib-meta span{display:flex;gap:6px;align-items:center}
.lib-meta svg.i{width:18px;height:18px;color:var(--ico-ink)}
.lib-card .btn{margin-top:auto}
.lib-soon{cursor:default;color:var(--muted)}
@media (max-width:1050px){.lib-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.lib-grid{grid-template-columns:1fr}}

/* ---- collection training ---- */
.org-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.org-tabs button{display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);font:600 .96rem var(--f-body);color:var(--ink);cursor:pointer;transition:border-color .15s}
.org-tabs button:hover{border-color:var(--cyan)}
.org-tabs button .ico{background:var(--ico-bg);color:var(--ico-ink)}
.org-tabs button[aria-selected="true"]{border-color:var(--navy-2);background:var(--navy-2);color:#fff}
.org-tabs button[aria-selected="true"] .ico{background:#fff;color:var(--navy-2)}
@media (max-width:900px){.org-tabs{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.org-tabs{grid-template-columns:1fr}}
.org-panel{margin-top:16px;display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;padding:30px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.org-panel > *{min-width:0}
.op-side{display:grid;gap:22px;align-content:start}
.op-who{padding:20px;border-radius:16px;background:var(--ice);display:grid;gap:6px}
.op-who h3{font-size:1.35rem}
.op-who p{color:var(--ink-2)}
.op-tips{display:grid;gap:12px}
.hl-step h4::after{content:"Swab step";margin-left:10px;font-family:var(--f-body);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--ico-ink);color:#fff;vertical-align:2px}
@media (max-width:860px){.org-panel{grid-template-columns:1fr;padding:22px}}
.train-progress{display:grid;gap:8px;max-width:520px;margin-bottom:24px}
.tp-top{display:flex;justify-content:space-between;font-size:.9rem;font-weight:600;color:var(--ink-2)}
.tp-top b{color:var(--cyan-ink)}
.swab-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.sw-card{display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:18px;background:var(--surface);border:1.5px solid var(--line);transition:border-color .2s}
.sw-card.done{border-color:var(--ok)}
.sw-head{display:flex;align-items:center;gap:14px}
.sw-n{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--act);color:var(--act-ink);font-family:var(--f-display);font-weight:700;font-size:1.3rem;line-height:1;box-shadow:0 8px 16px -10px rgba(160,100,0,.7)}
.sw-t{flex:1;min-width:0}
.sw-t small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sw-ico{flex:none;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--ico-bg);color:var(--ico-ink)}
.sw-ico svg.i{width:29px;height:29px}
.sw-key{border-color:var(--act)}
.sw-key .sw-ico{background:var(--act);color:var(--act-ink)}
.sw-head h3{font-size:1.18rem;line-height:1.25}
.sw-card .checks-list{gap:9px}
.sw-why{margin-top:auto;font-size:.88rem;color:var(--muted);padding:10px 12px;border-radius:10px;background:var(--paper)}
.sw-why b{color:var(--ink-2)}
.sw-done{align-self:flex-start;margin-top:auto;padding:9px 14px;font-size:.88rem}
@media (max-width:760px){.swab-steps{grid-template-columns:1fr}}
.quiz{display:grid;gap:14px;max-width:860px}
.qz{padding:22px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:grid;gap:12px}
.qz-q{display:flex;gap:12px;font-weight:600;font-size:1.02rem}
.qz-q span{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ice);color:var(--cyan-ink);font-size:.85rem;font-weight:700}
.qz-opts{display:flex;flex-wrap:wrap;gap:8px}
.qz-o{font:500 .94rem var(--f-body);padding:10px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;text-align:left}
.qz-o:hover:not(:disabled){border-color:var(--cyan)}
.qz-o:disabled{cursor:default}
.qz-o.right{border-color:var(--ok);background:var(--ok-soft);color:var(--ok);font-weight:600}
.qz-o.wrong{border-color:var(--crit);background:var(--crit-soft);color:var(--crit)}
.qz-fb{font-size:.9rem}
.qz-fb.ok{color:var(--ok)}
.qz-fb.no{color:var(--crit)}
.quiz-score{margin-top:18px;max-width:860px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:18px 20px;border-radius:14px;background:var(--ice);font-size:1rem}

.cx .kicker{font-size:1.7cqw;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7fd6ff}
.cx .in.two{grid-template-columns:1.1fr .9fr;align-items:center;justify-items:start;text-align:left;gap:5cqw}
.cx .in.two .left{display:grid;gap:1.8cqw;justify-items:start}
.cx .in.two .right{justify-self:center;display:grid;place-items:center}
.cx .in.two h3{font-size:4cqw;max-width:20ch}
.cx .stepno{position:absolute;top:2.6cqw;right:3cqw;font-size:1.5cqw;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffd08a}
.cx .kitgrid,.cx .ppe{display:flex;gap:2.4cqw;justify-content:center;flex-wrap:wrap}
.cx .kitem{display:grid;justify-items:center;gap:1cqw;padding:2.2cqw 2.4cqw;border-radius:2cqw;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);width:17cqw}
.cx .kitem svg{width:7cqw;height:7cqw}
.cx .kitem b{font-size:1.7cqw;font-weight:600;text-align:center;line-height:1.25}
.cx .bign{font-family:var(--f-display);font-weight:700;font-size:6cqw;line-height:7cqw;color:#ffb547}
.cx .nolist,.cx .dolist{list-style:none;margin:0;padding:0;display:grid;gap:1cqw;font-size:2.1cqw;color:#e6f2fb}
.cx .nolist li::before{content:"✕";color:#ffad9e;font-weight:700;margin-right:1.2cqw}
.cx .dolist li::before{content:"✓";color:#8de6bb;font-weight:700;margin-right:1.2cqw}
.cx .ring{position:relative;width:26cqw;height:26cqw}
.cx .ring.sm{width:18cqw;height:18cqw}
.cx .ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.cx .rt{fill:none;stroke:rgba(255,255,255,.12);stroke-width:8}
.cx .rf{fill:none;stroke:#ffb547;stroke-width:8;stroke-linecap:round;stroke-dasharray:327;stroke-dashoffset:327}
.cx .rf.full{stroke-dashoffset:0;stroke:#7fd6ff}
.cx .scene.on .rf.run1{animation:ringfill 3.6s linear 1s forwards}
.cx .scene.on .rf.run2{animation:ringfill 3.6s linear 4.8s forwards}
.cx .scene.on .rf.run3{animation:ringfill 5s linear .8s forwards}
@keyframes ringfill{to{stroke-dashoffset:0}}
.cx .ring-t{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.cx .ring-t b{font-family:var(--f-display);font-size:7cqw;line-height:1;font-weight:700}
.cx .ring.sm .ring-t b{font-size:5cqw}
.cx .ring-t small{font-size:1.6cqw;color:#b9d3e8;letter-spacing:.1em;text-transform:uppercase}
.cx .timers{display:flex;gap:6cqw;justify-content:center}
.cx .tm{display:grid;justify-items:center;gap:1.2cqw}
.cx .tm > b{font-size:2cqw}
.cx .pouch{width:22cqw;height:auto;overflow:visible}
.cx .pouch-b{fill:rgba(255,255,255,.1);stroke:rgba(255,255,255,.35);stroke-width:2}
.cx .svgt{fill:#ffd08a;font-size:11px;font-weight:700;letter-spacing:.06em;font-family:var(--f-body)}
.cx .swab-pull{transition:transform 1.6s ease 1.2s}
.cx .scene.on .swab-pull{transform:translateY(-70px)}
.cx .flap{transform-origin:100px 80px;transition:transform 1s ease .5s}
.cx .scene.on .flap{transform:scaleY(.25)}
.cx .swab-in{transform:translateY(-90px);transition:transform 1.8s ease 1s}
.cx .scene.on .swab-in{transform:translateY(0)}
.cx .mouth{width:34cqw;height:auto}
.cx .m-out{fill:#f2b8a8}
.cx .m-in{fill:#7a2e3a}
.cx .teeth{fill:#ffffff;opacity:.95}
.cx .cheek{fill:none;stroke:#ffb547;stroke-width:5;stroke-linecap:round;stroke-dasharray:4 7}
.cx .arw{fill:none;stroke:#7fd6ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.cx .swab-scrub{transform-origin:40px 99px}
.cx .scene.on .swab-scrub{animation:scrub 1.1s ease-in-out .8s infinite}
@keyframes scrub{0%{transform:translate(0,-16px)}25%{transform:translate(8px,0)}50%{transform:translate(0,16px)}75%{transform:translate(-6px,0)}100%{transform:translate(0,-16px)}}
.cx .pair{display:flex;align-items:center;gap:2cqw}
.cx .pair svg{width:9cqw;height:9cqw}
.cx .plus{font-family:var(--f-display);font-size:5cqw;color:#ffb547;font-weight:700}
.cx .warn{color:#ffad9e}
.cx .envcard{width:30cqw;background:#f4ead7;color:#3a2f1e;border-radius:1.2cqw;padding:2.4cqw;display:grid;gap:.5cqw;transform:rotate(-3deg);box-shadow:0 3cqw 5cqw -2.5cqw rgba(0,0,0,.6)}
.cx .envcard small{font-size:1.2cqw;letter-spacing:.1em;text-transform:uppercase;color:#7a6a4e;font-weight:700}
.cx .envcard .hand{font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;font-size:2.6cqw;color:#0a2a6a;border-bottom:2px solid #c9b994;padding-bottom:.4cqw;margin-bottom:1cqw}
.cx .temps{display:grid;gap:1.6cqw}
.cx .temp{display:grid;gap:.3cqw;padding:2cqw 2.6cqw;border-radius:1.8cqw;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);min-width:30cqw}
.cx .temp b{font-size:1.5cqw;letter-spacing:.1em;text-transform:uppercase;color:#7fd6ff}
.cx .temp .tv{font-family:var(--f-display);font-weight:700;font-size:4.4cqw;line-height:1}
.cx .temp small{font-size:1.7cqw;color:#b9d3e8}
.cx .mistakes{display:grid;grid-template-columns:1fr 1fr;gap:1.4cqw 2cqw;width:min(78cqw,100%)}
.cx .mk{display:flex;align-items:center;gap:1.4cqw;padding:1.6cqw 2cqw;border-radius:1.4cqw;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);font-size:2cqw;font-weight:600;text-align:left}
.cx .mk span{width:3.2cqw;height:3.2cqw;border-radius:50%;display:grid;place-items:center;background:rgba(242,128,108,.22);color:#ffad9e;font-size:1.6cqw;flex:none}

.cx .bagviz{display:grid;justify-items:center;gap:1cqw}.cx .bagviz svg{width:22cqw;height:auto}.cx .bagviz small{font-size:1.6cqw;color:#b9d3e8}


.pill .mark{position:relative;display:grid;place-items:center;width:22px;height:20px;flex:none}
.pill .mark::before{content:"";position:absolute;inset:-9px;border-radius:50%;background:radial-gradient(circle,rgba(0,160,225,.55) 0%,rgba(0,160,225,.18) 45%,transparent 72%);filter:blur(2px);animation:markglow 3.6s ease-in-out infinite}
.pill .mark img{position:relative;width:22px;height:auto;display:block;filter:drop-shadow(0 0 6px rgba(127,214,255,.55))}
@keyframes markglow{0%,100%{opacity:.75;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.pill .mark::before{animation:none}}

.who6.two{grid-template-columns:repeat(2,1fr)}
.stats.two{grid-template-columns:1fr 1fr}
@media (max-width:600px){.who6.two{grid-template-columns:1fr}}
@media (max-width:480px){.stats.two{grid-template-columns:1fr}}
.feat-card .flow li{background:var(--paper)}
.svc-card.row-card{grid-template-columns:auto 1fr auto;grid-template-rows:auto;align-items:center;gap:24px}
.svc-card.row-card .stack{min-width:0}
@media (max-width:700px){.svc-card.row-card{grid-template-columns:1fr}.row-card .btn{justify-self:start}}

.kit-card{background:#fff;border-radius:22px;padding:18px;box-shadow:var(--shadow);border:1px solid var(--line)}
.kit-card img{display:block;width:100%;height:auto}
.phero-art{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:min(280px,24vw);height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.45));z-index:0}
@media (max-width:1000px){.phero-art{display:none}}
.ev-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.ev-tile{padding:22px;border-radius:18px;background:var(--glass);border:1px solid var(--glass-line);display:grid;gap:8px;align-content:start}
.ev-tile b{font-family:var(--f-display);font-size:2.1rem;font-weight:700;letter-spacing:-.03em;line-height:1}
.ev-tile p{color:var(--on-navy-2);font-size:.92rem}
.ev-tile small{color:var(--on-navy-2);font-size:.74rem;opacity:.85}
@media (max-width:900px){.ev-row{grid-template-columns:1fr}}
.spec-ev .feat-card .stat-line{display:flex;gap:10px;align-items:baseline}
.spec-ev .feat-card .stat-line b{font-family:var(--f-display);font-size:1.6rem;font-weight:700;letter-spacing:-.03em;color:var(--cyan-ink)}
.src-note{font-size:.76rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px}

/* ---------- explainer video ---------- */
.vx{position:relative;width:100%;aspect-ratio:16/9;max-width:100%;overflow:hidden;border-radius:18px;background:radial-gradient(70% 80% at 85% 15%,rgba(0,160,225,.38),transparent 60%),radial-gradient(60% 70% at 0% 100%,rgba(0,103,184,.5),transparent 60%),linear-gradient(180deg,#001c3f,#002857);color:#fff;font-family:var(--f-body);container-type:inline-size}
.vx .scene{position:absolute;inset:0;display:grid;place-items:center;padding:6cqw 7cqw 9cqw;opacity:0;transition:opacity .6s ease;pointer-events:none}
.vx .scene.on{opacity:1}
.vx .in{display:grid;gap:2.2cqw;justify-items:center;text-align:center;width:100%}
.vx h3{font-family:var(--f-display);font-weight:700;color:#fff;font-size:4.4cqw;line-height:1.12;letter-spacing:-.03em;max-width:24ch;margin:0}
.vx p{font-size:2.1cqw;color:#b9d3e8;max-width:46ch;margin:0}
.vx .a{opacity:0;transform:translateY(2.4cqw);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.vx .scene.on .a{opacity:1;transform:none}
.vx .scene.on .d1{transition-delay:.35s}.vx .scene.on .d2{transition-delay:.8s}.vx .scene.on .d3{transition-delay:1.25s}.vx .scene.on .d4{transition-delay:1.7s}.vx .scene.on .d5{transition-delay:2.15s}
.vx .gt{background:linear-gradient(100deg,#2cc0ff,#00a0e1 45%,#7fd6ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.vx .people{display:flex;gap:2.4cqw;justify-content:center}
.vx .person{display:grid;justify-items:center;gap:1cqw;padding:2cqw 2.4cqw;border-radius:2cqw;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);min-width:17cqw}
.vx .person svg{width:6cqw;height:6cqw;stroke:#7fd6ff;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.vx .vtag{font-size:1.4cqw;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.4cqw 1.2cqw;border-radius:99px}
.vx .vt-ok{background:rgba(79,200,144,.2);color:#8de6bb}.vx .vt-w{background:rgba(255,181,71,.2);color:#ffd08a}.vx .vt-c{background:rgba(242,128,108,.2);color:#ffad9e}
.vx .big{font-family:var(--f-display);font-weight:700;font-size:15cqw;line-height:.9;letter-spacing:-.05em}
.vx .chips{display:flex;flex-wrap:wrap;gap:1.2cqw;justify-content:center}
.vx .chips span{font-family:var(--f-mono);font-size:1.8cqw;padding:.8cqw 1.6cqw;border-radius:1.2cqw;background:rgba(0,160,225,.2);color:#cdeeff;border:1px solid rgba(127,214,255,.3)}
.vx .orb{width:16cqw;height:16cqw;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#00a0e1,#0067b8 60%,#002857);box-shadow:0 0 0 1.6cqw rgba(0,160,225,.15),0 0 0 3.2cqw rgba(0,160,225,.07)}
.vx .orb svg{width:8cqw;height:8cqw;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vx .bar{width:46cqw;height:1.2cqw;border-radius:1cqw;background:rgba(255,255,255,.12);overflow:hidden}
.vx .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#00a0e1,#7fd6ff);border-radius:1cqw;transition:width 3.4s ease .9s}
.vx .scene.on .bar i{width:100%}
.vx .mini{width:min(56cqw,100%);background:#fff;color:#0a1e33;border-radius:1.6cqw;overflow:hidden;text-align:left;box-shadow:0 3cqw 6cqw -3cqw rgba(0,0,0,.6)}
.vx .mini-h{padding:1.4cqw 2cqw;background:linear-gradient(135deg,#00a0e1,#0067b8 55%,#002857);color:#fff;font-family:var(--f-display);font-weight:600;font-size:1.9cqw}
.vx .mini-r{display:flex;justify-content:space-between;align-items:center;gap:2cqw;padding:1.3cqw 2cqw;border-top:1px solid #dce6ef;font-size:1.8cqw}
.vx .mini-r b{font-weight:600}
.vx .mini-r .g{font-family:var(--f-mono);color:#66798c;font-size:1.5cqw;margin-left:1cqw}
.vx .mini .vtag{font-size:1.25cqw}
.vx .mini .vt-ok{background:#e0f4ea;color:#16825a}.vx .mini .vt-w{background:#fdf0d8;color:#a85f00}.vx .mini .vt-c{background:#fce6e2;color:#c2412d}
.vx .payers{display:flex;gap:1.2cqw;flex-wrap:wrap;justify-content:center}
.vx .payers span{font-size:1.9cqw;font-weight:600;padding:.8cqw 1.8cqw;border-radius:99px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.vx .vlogo{height:7cqw;width:auto}
.vx .url{font-family:var(--f-display);font-weight:600;font-size:2.6cqw;color:#ffd08a}
.vx .cap{position:absolute;left:0;right:0;bottom:2.2cqw;text-align:center;font-size:1.5cqw;color:rgba(185,211,232,.75);letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.vx .vbrand{position:absolute;top:2.4cqw;left:3cqw;height:3.2cqw;width:auto;opacity:.9}
.vx .prog{position:absolute;left:0;right:0;bottom:0;height:.6cqw;background:rgba(255,255,255,.1)}
.vx .prog i{display:block;height:100%;width:0;background:#ffb547}
@media (prefers-reduced-motion:reduce){.vx .a,.vx .scene,.vx .bar i{transition:none}}
/* player chrome */
.vplayer{display:grid;gap:12px}
.vctl{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.vbtn{display:inline-flex;align-items:center;gap:8px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 14px;font:600 .9rem var(--f-body);cursor:pointer}
.vdots{display:flex;gap:6px;flex-wrap:wrap}
.vdots button{width:28px;height:8px;border-radius:4px;border:0;background:var(--line);cursor:pointer;padding:0}
.vdots button[aria-current="true"]{background:var(--act)}
.vtime{margin-left:auto;font-family:var(--f-mono);font-size:.84rem;color:var(--muted);font-variant-numeric:tabular-nums}
.vmodal{position:fixed;inset:0;z-index:65;background:rgba(0,12,28,.82);display:grid;place-items:center;padding:20px}
.vmodal-card{width:min(1000px,100%);background:var(--surface);border-radius:22px;padding:18px;display:grid;gap:14px;max-height:calc(100% - 10px);overflow:auto}
.vmodal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.play-link{display:inline-flex;align-items:center;gap:10px;background:none;border:0;color:#fff;font:600 .95rem var(--f-body);cursor:pointer;padding:0}
.play-link .pc{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--act);color:var(--act-ink)}
.play-link .pc svg{width:16px;height:16px;fill:currentColor;stroke:none}
.vthumb{position:relative;display:block;width:100%;border:0;padding:0;background:none;cursor:pointer;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.vthumb .vx{border-radius:0}
.vthumb .overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,20,45,.25)}
.vthumb .overlay span{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:var(--act);color:var(--act-ink);box-shadow:0 0 0 10px rgba(255,181,71,.25)}
.vthumb .overlay svg{width:28px;height:28px;fill:currentColor;stroke:none;margin-left:4px}

.ph-fill{background:var(--warn-soft);color:var(--warn);padding:0 6px;border-radius:5px;font-weight:600}
/* sample report document */
.doc{position:relative;max-width:940px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}
.doc-mark{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%) rotate(-24deg);font-family:var(--f-display);font-weight:700;font-size:clamp(4rem,14vw,9rem);letter-spacing:.1em;color:var(--cyan);opacity:.06;pointer-events:none;user-select:none}
.doc-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 26px;border-bottom:3px solid var(--cyan)}
.doc-head b{display:block;font-family:var(--f-display);font-size:1.15rem;text-align:right}
.doc-head small{display:block;font-size:.8rem;color:var(--muted);text-align:right}
.doc-logo{height:30px;width:auto}
.doc-logo.lw{display:none}
:root[data-adx="dark"] .doc-logo.lc{display:none}
:root[data-adx="dark"] .doc-logo.lw{display:block}
.doc-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--line);background:var(--paper)}
.doc-meta div{padding:12px 26px;display:grid;gap:2px;border-bottom:1px solid var(--line)}
.doc-meta small{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.doc-meta b{font-size:.92rem;font-weight:600}
@media (max-width:760px){.doc-meta{grid-template-columns:1fr 1fr}.doc-head b,.doc-head small{text-align:left}}
.doc-sec{padding:22px 26px;display:grid;gap:14px;border-bottom:1px solid var(--line)}
.doc-sec:last-of-type{border-bottom:0}
.doc-sec h3{font-family:var(--f-body);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-ink)}
.legend{display:flex;flex-wrap:wrap;gap:8px}
.rx td{vertical-align:top}
.rx td small{display:block;font-size:.78rem;color:var(--muted);font-weight:500}
.rx td:last-child{font-size:.88rem;color:var(--ink-2);min-width:260px}
.doc-sec table{min-width:560px}
.doc-sec th{position:static}
.doc-note{padding:16px 18px;border-radius:10px;background:var(--ice);display:grid;gap:10px}

html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--cyan-ink)}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.025em}
h1{font-size:clamp(2.3rem,5vw,3.9rem);font-weight:700}
h2{font-size:clamp(1.7rem,3.3vw,2.6rem);font-weight:650}
h3{font-size:1.18rem;font-weight:600;letter-spacing:-.015em}
h4{font-size:1.02rem;font-weight:600;letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px}
.eyebrow{font-weight:700;font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-ink)}
.head .eyebrow,.stack > .eyebrow,.bn-head .eyebrow,.px-head .eyebrow{display:inline-block;margin-bottom:4px}
.lede{font-size:1.14rem;color:var(--ink-2);max-width:62ch}
.muted{color:var(--muted)}
.mono{font-family:var(--f-mono)}
.gtext{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
svg.i{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* sections */
.sec{padding-block:clamp(64px,8vw,104px)}
.sec.tint{background:var(--ice)}
.sec.navy{background:var(--hero-bg);color:var(--on-navy)}
.sec.navy .eyebrow{color:#7fd6ff}
.sec.navy .lede,.sec.navy .muted{color:var(--on-navy-2)}
.head{display:grid;gap:14px;margin-bottom:44px;max-width:780px}
.head.center{margin-inline:auto;text-align:center;justify-items:center}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:600 .98rem var(--f-body);padding:13px 22px;border-radius:12px;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap}
.btn svg.i{width:18px;height:18px}
.btn:hover{transform:translateY(-1px)}
.btn-act{background:var(--act);color:var(--act-ink);box-shadow:0 10px 24px -12px rgba(6,58,116,.65)}
.btn-act:hover{background:var(--act-hover)}
.btn-line{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn-line:hover{border-color:var(--cyan)}
.btn-glass{background:var(--glass);color:var(--on-navy);border-color:var(--glass-line)}
.btn-glass:hover{background:rgba(255,255,255,.14)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--cyan-ink);text-decoration:none}
.link-arrow svg.i{width:17px;height:17px;transition:transform .15s}
.link-arrow:hover svg.i{transform:translateX(3px)}

/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--surface);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:24px;height:72px}
.logo{display:flex;align-items:center}
.logo img{height:34px;width:auto;display:block}
.logo .lw{display:none}
:root[data-adx="dark"] .logo .lc{display:none}
:root[data-adx="dark"] .logo .lw{display:block}
nav.main{display:flex;gap:2px;margin-left:auto;align-items:center}
.nav-item{position:relative}
.nav-link{display:flex;align-items:center;gap:4px;padding:9px 13px;border-radius:9px;color:var(--ink-2);text-decoration:none;font-weight:600;font-size:.95rem;background:none;border:0;font-family:inherit;cursor:pointer}
.nav-link svg.i{width:15px;height:15px}
.nav-link:hover,.nav-link.active{color:var(--ink);background:var(--ice)}
.drop{position:absolute;top:calc(100% + 8px);left:-8px;width:360px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:var(--shadow);display:none}
.nav-item:hover .drop,.nav-item:focus-within .drop{display:grid}
.nav-item::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
.drop a{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:10px;border-radius:11px;text-decoration:none;color:var(--ink)}
.drop a:hover{background:var(--ice)}
.drop .di{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ico-bg);color:var(--ico-ink)}
.drop .di svg.i{width:26px;height:26px}
.drop a:hover .di{background:var(--ico-ink);color:var(--ico-bg)}
.drop strong{display:block;font-weight:600;font-size:.95rem}
.drop span.s{display:block;font-size:.83rem;color:var(--muted);line-height:1.35}
.cta-top{margin-left:8px}
.cta-top .count{background:var(--act-ink);color:var(--act);border-radius:999px;font-size:.75rem;padding:1px 7px;font-weight:700}
.menu-btn{display:none;margin-left:auto;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:var(--ink);font:600 .9rem var(--f-body);cursor:pointer}
.mobile-nav{border-top:1px solid var(--line);background:var(--surface)}
.mobile-nav .wrap{display:grid;gap:2px;padding-block:10px 22px;height:auto}
.mobile-nav a{display:flex;align-items:center;gap:12px;padding:11px 4px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);font-weight:500}
.mobile-nav a svg.i{color:var(--ico-ink);width:26px;height:26px}
.mobile-nav .eyebrow{margin-top:14px}
@media (max-width:980px){nav.main{display:none}.menu-btn{display:flex}.cta-top{margin-left:0}}
@media (max-width:560px){.cta-top{display:none}}

/* pages */
.page{display:none}
.page.on{display:block;animation:fade .4s ease}
@keyframes fade{from{opacity:.5}to{opacity:1}}

/* home hero */
.hero{background:var(--hero-bg);color:var(--on-navy);position:relative;overflow:hidden;padding-block:clamp(52px,7vw,84px) 0}
.hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;position:relative;z-index:1}
.hero-grid > *{min-width:0}
.hero-copy{display:grid;gap:22px}
.pill{display:inline-flex;align-items:center;gap:10px;justify-self:start;padding:6px 14px 6px 10px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);font-size:.84rem;font-weight:600;color:var(--on-navy-2)}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--act);box-shadow:0 0 0 4px rgba(255,181,71,.2)}
.hero h1{color:#fff}
.hero .lede{color:var(--on-navy-2)}
.picker{display:grid;gap:10px;padding:18px;border-radius:18px;background:var(--glass);border:1px solid var(--glass-line);backdrop-filter:blur(6px);max-width:560px}
.picker label{font-weight:600;font-size:.92rem;color:var(--on-navy)}
.picker-row{display:flex;gap:10px;flex-wrap:wrap}
.picker select{flex:1 1 230px;min-width:0;font:600 1rem var(--f-body);padding:13px 14px;border-radius:12px;border:1px solid var(--glass-line);background:rgba(0,20,45,.55);color:#fff}
.picker select option{color:#0a1e33;background:#fff}
.picker small{color:var(--on-navy-2);font-size:.85rem}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px}
.trust span{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--on-navy-2)}
.trust svg.i{width:24px;height:24px;color:#7fd6ff}
.helix-stage{position:relative;height:460px}
#helix{position:absolute;inset:0;width:100%;height:100%}
.chip-float{position:absolute;display:grid;gap:3px;padding:12px 14px;border-radius:14px;background:rgba(5,30,60,.72);border:1px solid var(--glass-line);backdrop-filter:blur(8px);box-shadow:0 18px 40px -20px rgba(0,0,0,.6);min-width:190px;animation:bob 6s ease-in-out infinite}
.chip-float .g{font-family:var(--f-mono);font-size:.78rem;color:#7fd6ff}
.chip-float b{font-family:var(--f-display);font-size:.98rem;color:#fff;font-weight:600}
.chip-float .tag{justify-self:start;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;margin-top:3px}
.chip-float .tag.c{background:rgba(242,128,108,.18);color:#ffad9e}
.chip-float .tag.w{background:rgba(255,181,71,.18);color:#ffd08a}
.chip-float .tag.o{background:rgba(79,200,144,.18);color:#8de6bb}
.cf1{top:8%;left:2%}
.cf2{top:40%;right:0;animation-delay:-2s}
.cf3{bottom:6%;left:12%;animation-delay:-4s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr}.helix-stage{height:340px}}
@media (max-width:520px){.helix-stage{height:330px}.chip-float{min-width:150px;padding:9px 11px}.cf1{top:2%;left:0}.cf2{top:36%;right:0}.cf3{bottom:0;left:0}}

/* audience tiles */
.paths-wrap{padding-block:clamp(56px,7vw,88px)}
.paths-foot{margin-top:22px;text-align:center;color:var(--ink-2)}
.paths-foot a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--cyan-ink);text-decoration:none}
.paths-foot a:hover{text-decoration:underline}
.paths-foot svg.i{width:16px;height:16px}
.paths-label{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;color:var(--on-navy);margin-bottom:16px}
.paths-label h2{font-size:1.35rem;color:#fff}
.paths-label a{color:#ffd08a;font-weight:600;text-decoration:none;display:flex;gap:6px;align-items:center}
.paths{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.path{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .2s,border-color .2s;overflow:hidden}
.path::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.path:hover{transform:translateY(-4px);border-color:var(--ice-2)}
.path:hover::before{transform:scaleX(1)}
.path p{color:var(--ink-2);font-size:.94rem}
.path .go{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--cyan-ink);font-size:.92rem}
.path .go svg.i{width:17px;height:17px;transition:transform .15s}
.path:hover .go svg.i{transform:translateX(4px)}
@media (max-width:1020px){.paths{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.paths{grid-template-columns:1fr}}

/* icon chips */
.ico{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--ico-bg);color:var(--ico-ink);flex:none}
.ico svg.i{width:35px;height:35px}
.ico.sm{width:50px;height:50px}
.ico.sm svg.i{width:29px;height:29px}
.ico.soft{background:var(--ico-bg);color:var(--ico-ink)}
.ico.glass{background:var(--glass);border:1px solid var(--glass-line);color:#7fd6ff}

/* stat band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:20px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.stat .n{font-family:var(--f-display);font-size:1.9rem;font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}
.stat p{font-size:.88rem;color:var(--ink-2);margin-top:6px}
.stat .src{display:block;font-size:.72rem;color:var(--muted);margin-top:6px}
@media (max-width:1020px){.stats{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.stats{grid-template-columns:1fr}}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.top{align-items:start}
.split > *{min-width:0}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:36px}}
.stack{display:grid;gap:18px;align-content:start}

/* checklist */
.checks-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.checks-list li{display:grid;grid-template-columns:28px 1fr;gap:12px;color:var(--ink-2)}
.checks-list li .ck{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok)}
.checks-list li .ck svg.i{width:16px;height:16px;stroke-width:2.6}
.checks-list strong{color:var(--ink);font-weight:600}
.sec.navy .checks-list li{color:var(--on-navy-2)}
.sec.navy .checks-list strong{color:#fff}

/* report card */
.report{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.report-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 20px;background:var(--grad);color:#fff}
.report-head .t{display:flex;gap:12px;align-items:center}
.report-head small{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85;font-weight:600}
.report-head strong{font-family:var(--f-display);font-size:1.05rem}
.report-row{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:15px 20px;border-bottom:1px solid var(--line)}
.report-row:last-of-type{border-bottom:0}
.gene{font-family:var(--f-mono);font-weight:500;font-size:.9rem}
.geno{font-family:var(--f-mono);font-size:.76rem;color:var(--muted)}
.drug-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 10px;align-items:baseline}
.drug-line b{font-weight:600}
.drug-line p{font-size:.88rem;color:var(--ink-2);flex-basis:100%}
.tag{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:999px;white-space:nowrap}
.tag.crit{background:var(--crit-soft);color:var(--crit)}
.tag.warn{background:var(--warn-soft);color:var(--warn)}
.tag.ok{background:var(--ok-soft);color:var(--ok)}
.tag.info{background:var(--ice);color:var(--cyan-ink)}
.tag.soon{background:var(--warn-soft);color:var(--warn)}
.report-foot{padding:11px 20px;font-size:.76rem;color:var(--muted);border-top:1px dashed var(--line);background:var(--paper)}

/* service cards */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc-card{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:14px;padding:28px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.svc-card .top-row{display:flex;justify-content:space-between;align-items:start;gap:10px}
.svc-card ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.92rem;color:var(--ink-2)}
.svc-card li{display:flex;gap:10px;align-items:center}
.svc-card li svg.i{width:24px;height:24px;color:var(--ico-ink)}
.svc-card .btn-row{margin-top:4px}
@media (max-width:960px){.svc{grid-template-columns:1fr}}

/* flow steps (true sequences) */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:18px;position:relative;counter-reset:f}
.flow li{counter-increment:f;position:relative;display:grid;gap:10px;align-content:start;padding-top:4px}
.flow .num{position:relative;z-index:1;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--ico-bg);color:var(--ico-ink);border:2px solid var(--ico-ink);font-family:var(--f-display);font-weight:700;box-shadow:0 0 0 6px var(--paper)}
.flow .num svg.i{width:28px;height:28px}
.sec.tint .flow .num{box-shadow:0 0 0 6px var(--ice)}
.flow li::before{content:"";position:absolute;top:27px;left:46px;right:-18px;height:2px;background:linear-gradient(90deg,var(--cyan),var(--ice-2))}
.flow li:last-child::before{display:none}
.flow .step-n{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink)}
.flow h4{font-size:1.06rem}
.flow p{font-size:.92rem;color:var(--ink-2)}
@media (max-width:900px){.flow{grid-template-columns:1fr 1fr;gap:26px}.flow li::before{display:none}}
@media (max-width:520px){.flow{grid-template-columns:1fr}}
.role{justify-self:start;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--ice);color:var(--cyan-ink)}
.role.lab{background:var(--warn-soft);color:var(--warn)}
.role.team{background:var(--ok-soft);color:var(--ok)}
.phase{display:grid;gap:22px;padding:28px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.phase + .phase{margin-top:18px}
.phase-head{display:flex;align-items:center;gap:14px}

/* evidence */
.ev{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ev-card{padding:30px;border-radius:20px;background:var(--glass);border:1px solid var(--glass-line);display:grid;gap:16px;align-content:start}
.ev-card .big{font-family:var(--f-display);font-size:clamp(3.4rem,7vw,5.4rem);font-weight:700;line-height:.95;letter-spacing:-.04em}
.ev-card p{color:var(--on-navy-2)}
.trial{display:flex;gap:28px;flex-wrap:wrap}
.trial div{display:grid}
.trial b{font-family:var(--f-display);font-size:1.6rem;font-weight:650;font-variant-numeric:tabular-nums}
.trial span{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--on-navy-2)}
.bars{display:grid;gap:16px}
.bar{display:grid;grid-template-columns:160px 1fr 48px;gap:14px;align-items:center;font-size:.9rem}
.bar small{display:block;color:var(--on-navy-2);font-size:.76rem}
.bar .track{height:10px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden}
.bar .fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#00a0e1,#7fd6ff)}
.bar .v{font-family:var(--f-mono);text-align:right}
.ev .src{font-size:.78rem;color:var(--on-navy-2)}
@media (max-width:900px){.ev{grid-template-columns:1fr}}
@media (max-width:480px){.bar{grid-template-columns:110px 1fr 42px}}

/* coverage */
.coverage{display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;padding:36px;border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.coverage .zero{font-family:var(--f-display);font-weight:700;font-size:clamp(4rem,9vw,6.4rem);line-height:.9;letter-spacing:-.05em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.payers{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.payers span{display:flex;align-items:center;gap:6px;background:var(--ice);border-radius:999px;padding:6px 13px;font-weight:600;font-size:.88rem;color:var(--ink)}
.payers svg.i{width:15px;height:15px;color:var(--ok);stroke-width:2.6}
@media (max-width:860px){.coverage{grid-template-columns:1fr;gap:16px;padding:26px}}

/* interior hero */
.phero{background:var(--hero-bg);color:var(--on-navy);padding-block:clamp(44px,6vw,72px) clamp(40px,5vw,60px);position:relative;overflow:hidden}
.phero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent 30%,#000);pointer-events:none}
.phero .wrap{position:relative;z-index:1;display:grid;gap:18px}
.crumb{font-size:.84rem;color:var(--on-navy-2)}
.crumb a{color:var(--on-navy-2);text-decoration:none}
.crumb a:hover{color:#fff}
.phero h1{color:#fff;max-width:20ch}
.phero .lede{color:var(--on-navy-2)}
.phero-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:rgba(79,200,144,.16);color:#8de6bb}
.badge.soon{background:rgba(255,181,71,.16);color:#ffd08a}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:14px;border:1px solid var(--glass-line);border-radius:16px;background:var(--glass);overflow:hidden}
.facts div{display:flex;gap:12px;align-items:center;padding:16px 18px}
.facts div + div{border-left:1px solid var(--glass-line)}
.facts svg.i{color:#7fd6ff;width:28px;height:28px}
.facts small{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--on-navy-2)}
.facts b{font-family:var(--f-display);font-size:1.05rem;font-weight:600}
@media (max-width:860px){.facts{grid-template-columns:1fr 1fr}.facts div:nth-child(3){border-left:0}.facts div:nth-child(n+3){border-top:1px solid var(--glass-line)}}
@media (max-width:440px){.facts{grid-template-columns:1fr}.facts div + div{border-left:0;border-top:1px solid var(--glass-line)}}
.add-btn[aria-pressed="true"]{background:var(--ok);color:#fff;box-shadow:none}

/* feature grid */
.feat{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:16px}
.feat-card{display:grid;gap:12px;align-content:start;padding:24px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.feat-card p{font-size:.93rem;color:var(--ink-2)}
.feat-card ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:.92rem;color:var(--ink-2)}
.feat-card .opp{font-size:.86rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px}
@media (max-width:1000px){.feat{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.feat{grid-template-columns:1fr}}

/* metabolizer spectrum */
.spectrum{display:grid;gap:18px}
.spec-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.spec-bar button{display:grid;gap:4px;justify-items:start;text-align:left;padding:14px;border-radius:14px;border:2px solid transparent;background:var(--surface);cursor:pointer;font:inherit;color:var(--ink);position:relative;overflow:hidden}
.spec-bar button::before{content:"";position:absolute;left:0;right:0;top:0;height:5px}
.spec-bar button[data-k="pm"]::before,.spec-bar button[data-k="um"]::before{background:var(--crit)}
.spec-bar button[data-k="im"]::before,.spec-bar button[data-k="rm"]::before{background:var(--warn)}
.spec-bar button[data-k="nm"]::before{background:var(--ok)}
.spec-bar button[aria-pressed="true"]{border-color:var(--cyan);box-shadow:var(--shadow)}
.spec-bar b{font-family:var(--f-display);font-size:.98rem;font-weight:600}
.spec-bar small{font-size:.8rem;color:var(--muted)}
.spec-axis{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);font-weight:600}
.spec-detail{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:26px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.spec-detail h3{display:flex;gap:10px;align-items:center}
.spec-detail .ex{padding:16px;border-radius:12px;background:var(--ice)}
.spec-detail .ex b{display:block;margin-bottom:4px}
@media (max-width:820px){.spec-bar{grid-template-columns:1fr}.spec-detail{grid-template-columns:1fr}}

/* genes */
.gene-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gcard{padding:20px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:grid;gap:8px;align-content:start}
.gcard .gn{font-family:var(--f-mono);font-weight:500;font-size:1.05rem;color:var(--cyan-ink)}
.gcard p{font-size:.88rem;color:var(--ink-2)}
@media (max-width:1000px){.gene-cards{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.gene-cards{grid-template-columns:1fr}}

/* lookup */
.lookup{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.lookup-bar{display:flex;flex-wrap:wrap;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:var(--paper);align-items:center}
.search{flex:1 1 240px;min-width:0;display:flex;align-items:center;gap:10px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}
.search svg.i{color:var(--muted);width:19px;height:19px}
.search input{flex:1;min-width:0;font:inherit;padding:12px 0;border:0;background:transparent;color:var(--ink);outline:none}
.cat-btns{display:flex;flex-wrap:wrap;gap:6px}
.cat-btns button{font:600 .82rem var(--f-body);padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}
.cat-btns button[aria-pressed="true"]{background:var(--navy-2);color:#fff;border-color:var(--navy-2)}
.table-scroll{max-height:440px;overflow:auto}
table{width:100%;border-collapse:collapse;font-size:.93rem}
th,td{text-align:left;padding:11px 18px;border-bottom:1px solid var(--line)}
th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;position:sticky;top:0;background:var(--surface)}
td:first-child{font-weight:600}
td .cat{font-size:.78rem;color:var(--muted)}
.lookup-foot{padding:11px 18px;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line)}

/* oncology */
.tests{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.test{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;gap:10px;align-content:start}
.test .num{font-family:var(--f-display);font-size:2.5rem;font-weight:700;line-height:1;letter-spacing:-.04em}
.test .num small{font-size:.85rem;font-weight:500;color:var(--muted);letter-spacing:0;margin-left:4px}
.test p{font-size:.88rem;color:var(--ink-2)}
.spc{display:inline-flex;align-items:center;gap:6px;justify-self:start;font-size:.8rem;font-weight:600;color:var(--ink-2);background:var(--ice);padding:4px 10px;border-radius:999px}
.spc svg.i{width:18px;height:18px;color:var(--ico-ink)}
@media (max-width:1080px){.tests{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.tests{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.tests{grid-template-columns:1fr}}
.genes{display:flex;flex-wrap:wrap;gap:6px}
.genes span{font-family:var(--f-mono);font-size:.76rem;padding:3px 8px;border-radius:6px;background:var(--ice);color:var(--ink-2)}
.gene-block{border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.gene-block summary{cursor:pointer;padding:16px 20px;font-weight:600;display:flex;justify-content:space-between;gap:12px;list-style:none;align-items:center}
.gene-block summary::-webkit-details-marker{display:none}
.gene-block summary span{font-size:.84rem;color:var(--muted);font-weight:500}
.gene-block > div{padding:0 20px 20px}
.gene-grid{display:grid;gap:10px}
.spec-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.spec-scroll table{min-width:780px}
.spec-scroll td{font-variant-numeric:tabular-nums}

/* poc menu */
.poc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.poc div{padding:22px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:grid;gap:8px}
.poc p{font-family:var(--f-mono);font-size:.82rem;color:var(--ink-2)}
@media (max-width:860px){.poc{grid-template-columns:1fr}}

.options{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.opt{padding:26px;border-radius:18px;background:var(--surface);border:1px solid var(--line);display:grid;gap:14px;align-content:start}
.opt ol{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--ink-2)}
.opt .best{font-size:.88rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:12px}
.opt.ok{border-top:4px solid var(--ok)}
.opt.no{border-top:4px solid var(--warn)}
@media (max-width:760px){.options{grid-template-columns:1fr}}

/* program builder */
.builder{scroll-margin-top:72px;background:var(--hero-bg);color:var(--on-navy);padding-block:clamp(64px,8vw,100px)}
.b-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.b-grid > *{min-width:0}
.b-side{display:grid;gap:22px}
.b-side h2{color:#fff}
.b-side .lede{color:var(--on-navy-2)}
.sofar{padding:20px;border-radius:16px;background:var(--glass);border:1px solid var(--glass-line);display:grid;gap:12px}
.sofar-head{display:flex;justify-content:space-between;font-weight:700;font-size:.9rem}
.sofar-head span:last-child{color:#7fd6ff}
.sofar .chips{display:flex;flex-wrap:wrap;gap:6px}
.sofar .chips span{font-size:.84rem;font-weight:600;padding:5px 11px;border-radius:999px;background:rgba(0,160,225,.2);color:#cdeeff}
.sofar .chips span.org{background:rgba(127,214,255,.18);color:#bfeaff}
.talk{display:grid;gap:10px;font-size:.95rem}
.talk b{font-weight:600}
.talk div{display:flex;gap:10px;align-items:center;color:var(--on-navy-2)}
.talk svg.i{color:#7fd6ff;width:22px;height:22px}
.talk span.sel{user-select:all;color:#fff;font-weight:600}
.b-card{background:var(--surface);color:var(--ink);border-radius:22px;padding:clamp(22px,4vw,34px);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);display:grid;gap:22px}
.prog{display:grid;gap:8px}
.prog-top{display:flex;justify-content:space-between;font-size:.84rem;font-weight:700;color:var(--muted)}
.prog-top span:last-child{color:var(--cyan-ink)}
.prog-track{height:6px;border-radius:4px;background:var(--ice);overflow:hidden}
.prog-fill{height:100%;background:var(--grad);border-radius:4px;transition:width .3s}
.b-step{display:grid;gap:18px}
.opt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.opt-btn{display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);font:600 .95rem var(--f-body);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.opt-btn:hover{border-color:var(--cyan)}
.opt-btn .ico{width:46px;height:46px;border-radius:50%;background:var(--ico-bg);color:var(--ico-ink)}
.opt-btn .ico svg.i{width:27px;height:27px}
.opt-btn[aria-pressed="true"]{border-color:var(--cyan);background:var(--ice)}
.opt-btn[aria-pressed="true"] .ico{background:var(--grad);color:#fff}
.opt-btn small{display:block;font-weight:500;font-size:.8rem;color:var(--muted)}
@media (max-width:560px){.opt-grid{gap:8px}.opt-btn{flex-direction:column;align-items:flex-start;gap:8px;padding:12px;font-size:.86rem;line-height:1.25}.opt-btn .ico{width:38px;height:38px}.opt-btn .ico svg.i{width:22px;height:22px}}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.g2{grid-template-columns:1fr}}
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:.88rem}
.field input,.field select,.field textarea{font:inherit;padding:12px 13px;border-radius:11px;border:1px solid var(--line);background:var(--paper);color:var(--ink);width:100%;min-width:0}
.field textarea{min-height:90px;resize:vertical}
.field input.bad{border-color:var(--crit)}
.b-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.b-back{background:none;border:0;font:600 .95rem var(--f-body);color:var(--muted);cursor:pointer;padding:10px 0;display:flex;gap:6px;align-items:center}
.b-note{font-size:.82rem;color:var(--muted)}
.b-err{font-size:.86rem;color:var(--crit);font-weight:600}
.done{display:grid;gap:14px;justify-items:start;padding-block:10px}
.done .ico{background:var(--ok)}
.next3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.next3 div{display:grid;gap:8px;padding:20px;border-radius:16px;background:var(--glass);border:1px solid var(--glass-line)}
.next3 small{font-size:.74rem;letter-spacing:.1em;font-weight:700;color:#7fd6ff}
.next3 b{font-family:var(--f-display);font-weight:600}
.next3 p{font-size:.9rem;color:var(--on-navy-2)}
@media (max-width:900px){.b-grid{grid-template-columns:1fr}.next3{grid-template-columns:1fr}}

/* FAQ */
.faq{display:grid;gap:10px;max-width:860px;margin-inline:auto}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.faq summary{list-style:none;cursor:pointer;padding:18px 54px 18px 20px;font-weight:600;font-size:1.02rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:18px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--ice) no-repeat center/12px;background-image:linear-gradient(var(--cyan-ink),var(--cyan-ink)),linear-gradient(var(--cyan-ink),var(--cyan-ink));background-size:10px 2px,2px 10px;background-position:center}
.faq details[open] summary::after{background-size:10px 2px,0 0}
.faq details p{padding:0 20px 20px;color:var(--ink-2);max-width:72ch}

/* quality */
.q3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:860px){.q3{grid-template-columns:1fr}}

/* footer */
footer.foot{background:#001a38;color:#c6dcee;padding-block:56px 34px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
.foot-grid h4{font-family:var(--f-body);font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7fd6ff;margin-bottom:14px}
.foot-grid a{display:block;color:#c6dcee;text-decoration:none;padding:4px 0;font-size:.94rem}
.foot-grid a:hover{color:#fff}
.foot-logo img{height:34px;width:auto}
.foot-contact{display:grid;gap:8px;font-size:.92rem}
.foot-contact span{display:flex;gap:9px;align-items:center}
.foot-contact svg.i{width:20px;height:20px;color:#7fd6ff}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:.84rem;color:#8fb0c9}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot-grid{grid-template-columns:1fr}}
.concept-note{background:var(--act);color:var(--act-ink);font-size:.8rem;font-weight:600;text-align:center;padding:6px 16px}


/* step details */
.more{margin-top:2px}
.more summary{cursor:pointer;font-weight:700;font-size:.84rem;color:var(--cyan-ink);list-style:none;display:inline-flex;gap:6px;align-items:center}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"+";font-size:1rem;line-height:1}
.more[open] summary::after{content:"–"}
.more ul{margin:8px 0 0;padding-left:18px;display:grid;gap:5px;font-size:.86rem;color:var(--ink-2)}
.delivers{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.delivers div{display:grid;gap:8px;align-content:start;padding:18px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.delivers b{font-family:var(--f-display);font-size:.98rem;font-weight:600}
.delivers p{font-size:.84rem;color:var(--ink-2)}
@media (max-width:1050px){.delivers{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.delivers{grid-template-columns:1fr 1fr}}
/* platform strip */
.strip{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:22px;padding:16px 20px;border-radius:14px;background:var(--ice);font-size:.9rem;color:var(--ink-2)}
.strip span{display:flex;gap:8px;align-items:center}
.strip svg.i{width:24px;height:24px;color:var(--ico-ink)}
/* sample reports */
.reports2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.reports2 > *{min-width:0}
.rep-body{padding:18px 20px;display:grid;gap:14px}
.rep-body table{font-size:.86rem}
.rep-body th,.rep-body td{padding:8px 10px}
.rep-body th{position:static}
.rep-scroll{overflow-x:auto}
.rep-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.86rem;color:var(--ink-2)}
.rep-list li{display:flex;gap:8px}
.rep-list svg.i{width:20px;height:20px;color:var(--ico-ink);margin-top:1px}
.hl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.hl div{padding:12px;border-radius:12px;background:var(--ice);display:grid;gap:2px}
.hl b{font-family:var(--f-display);font-size:1.05rem}
.hl small{font-size:.74rem;color:var(--muted)}
@media (max-width:900px){.reports2{grid-template-columns:1fr}}
/* index card mock */
.idx-wrap{display:grid;place-items:center;padding:20px}
.idx-card{width:100%;max-width:420px;aspect-ratio:5/3;border-radius:16px;background:var(--grad);color:#fff;padding:24px;display:grid;align-content:space-between;box-shadow:var(--shadow);transform:rotate(-2deg)}
.idx-card .ph{display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border:1.5px dashed rgba(255,255,255,.55);border-radius:8px;padding:6px 10px;justify-self:start}
.idx-card h3{color:#fff;font-size:1.3rem}
.idx-card p{font-size:.86rem;opacity:.9}
/* resources */
.res-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.res-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;padding:24px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.res-top{display:flex;justify-content:space-between;align-items:start;gap:10px}
.res-meta{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.res-card p{font-size:.92rem;color:var(--ink-2)}
.res-tags{display:flex;flex-wrap:wrap;gap:6px}
.res-tags span{font-size:.74rem;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--ice);color:var(--cyan-ink)}
.res-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
@media (max-width:980px){.res-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.res-grid{grid-template-columns:1fr}}
.gate{position:fixed;inset:0;z-index:60;background:rgba(0,16,36,.6);display:grid;place-items:center;padding:20px}
.gate-card{width:100%;max-width:480px;background:var(--surface);color:var(--ink);border-radius:20px;padding:28px;display:grid;gap:16px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);max-height:calc(100% - 20px);overflow:auto}
.gate-head{display:flex;justify-content:space-between;gap:12px;align-items:start}
.gate-x{background:var(--ice);border:0;border-radius:10px;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;color:var(--ink);flex:none}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:70;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:12px;font-weight:600;font-size:.92rem;box-shadow:var(--shadow);max-width:calc(100% - 32px)}


/* ---- v6 refinements ---- */
.kit-img{display:block;width:100%;height:auto;filter:drop-shadow(0 28px 34px rgba(0,30,70,.28)) drop-shadow(0 6px 10px rgba(0,30,70,.12))}
.strip > span{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.strip .t{display:block}
.strip > span > svg.i{margin-top:3px}
.stats .stat{display:flex;flex-direction:column;gap:8px;padding:24px 22px}
.stats .stat .n{font-size:2.5rem;color:var(--cyan-ink)}
.stats .stat p{margin:0;font-size:.95rem}
.stats .stat .src{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line)}
.feat-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.feat-card > :not(.ico):not(.tag):not(.spc){align-self:stretch}
.feat-card .opp,.feat-card .src-note{margin-top:auto}
.feat-card:has(> .ico + h4 + p:last-child){display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:4px;align-content:start;align-items:start;padding:22px}
.feat-card:has(> .ico + h4 + p:last-child) > .ico{grid-row:1 / span 2;width:56px;height:56px;border-radius:50%}
.feat-card:has(> .ico + h4 + p:last-child) > .ico svg.i{width:32px;height:32px}
.feat-card:has(> .ico + h4 + p:last-child) > h4{margin-top:3px}
.spec-ev .feat-card .stat-line{display:grid;gap:2px}
.spec-ev .feat-card .stat-line b{font-size:2.1rem;line-height:1.05}
.spec-ev .feat-card .stat-line span{font-size:.92rem}
.report .gene{font-family:var(--f-body);font-weight:700;font-size:.95rem;letter-spacing:.01em}
.report .geno{font-family:var(--f-body);font-size:.8rem;font-weight:500}
.report .drug-line b{font-family:var(--f-display);font-weight:600;font-size:.98rem;letter-spacing:-.01em}
.chip-float .g{font-family:var(--f-body);font-weight:600;letter-spacing:.02em}
.doc .mono,.rep-body .mono{font-family:var(--f-body);font-weight:600}
/* steps */
.flow{gap:16px}
.flow li{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:8px;align-content:start}
.phase .flow li{background:var(--paper)}
.flow .num{grid-column:1;width:42px;height:42px;box-shadow:none;font-family:var(--f-display);font-weight:700}
.sec.tint .flow .num{box-shadow:none}
.flow .step-n,.flow .role{grid-column:2;align-self:center;justify-self:start;margin:0}
.flow li > h4,.flow li > p,.flow li > details,.flow li > .flow-chip{grid-column:1 / -1}
.flow li > h4{margin-top:6px;font-size:1.08rem}
.flow li:not(:has(.step-n)):not(:has(.role)) > h4{grid-column:2;align-self:center;margin:0}
.flow li::before{top:40px;left:100%;right:auto;width:16px;height:2px;background:var(--cyan)}
.flow[style*="--cols:1"] li::before{display:none}
.flow-chip{justify-self:start;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--ice);color:var(--cyan-ink);margin-top:auto}
.flow-chip svg.i{width:17px;height:17px}
.who6{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.who6 > div{display:flex;gap:14px;align-items:center;padding:18px 20px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.who6 h4{font-size:1rem}
.who6 p{font-size:.9rem;color:var(--ink-2)}
@media (max-width:900px){.who6{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.who6{grid-template-columns:1fr}}


/* ---- v7 process timeline ---- */
.sec{--bgsec:var(--paper)}
.sec.tint{--bgsec:var(--ice)}
.phase,.feat-card{--bgsec:var(--surface)}
.flow{position:relative;gap:0 32px}
.flow::before{content:"";position:absolute;z-index:0;top:22px;left:23px;right:calc((100% - (var(--cols,4) - 1) * 32px) / var(--cols,4) - 23px);height:2px;background:linear-gradient(90deg,var(--cyan),var(--ice-2));border-radius:2px}
.flow li,.phase .flow li,.feat-card .flow li{display:block;background:none;border:0;border-radius:0;padding:0;position:relative}
.flow li::before{display:none}
.flow .num{display:grid;position:relative;z-index:1;width:46px;height:46px;box-shadow:0 0 0 7px var(--bgsec)}
.flow .step-n,.flow .role{display:inline-block;margin:20px 0 8px}
.flow li > h4{margin:0 0 6px;font-size:1.1rem}
.flow li:not(:has(.step-n)):not(:has(.role)) > h4{margin:20px 0 6px}
.flow li > p{margin:0;max-width:34ch}
.flow-chip{margin-top:14px;background:transparent;border:1px solid var(--ice-2);padding:4px 10px}
.flow details{margin-top:10px}
.flow[style*="--cols:1"]{gap:26px}
.flow[style*="--cols:1"]::before{top:23px;bottom:23px;left:22px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--cyan),var(--ice-2))}
.flow[style*="--cols:1"] li{padding-left:68px;min-height:46px}
.flow[style*="--cols:1"] .num{position:absolute;left:0;top:0}
.flow[style*="--cols:1"] .step-n,.flow[style*="--cols:1"] .role{margin-top:4px}
.flow[style*="--cols:1"] li:not(:has(.step-n)):not(:has(.role)) > h4{margin-top:11px}
.flow[style*="--cols:1"] li > p{max-width:60ch}
@media (max-width:900px){
  .flow,.flow[style]{grid-template-columns:1fr;gap:26px}
  .flow::before,.flow[style]::before{top:23px;bottom:23px;left:22px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--cyan),var(--ice-2))}
  .flow li{padding-left:68px;min-height:46px}
  .flow .num{position:absolute;left:0;top:0}
  .flow .step-n,.flow .role{margin-top:4px}
  .flow li:not(:has(.step-n)):not(:has(.role)) > h4{margin-top:11px}
  .flow li > p{max-width:none}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page.on,.chip-float{animation:none}.btn:hover,.path:hover{transform:none}}
/* light theme: brand navy reserved for footer + accents */
.hero,.phero,.sec.navy{
  background:var(--hero-light)!important;
  --on-navy:var(--ink);--on-navy-2:var(--ink-2);--glass:var(--surface);--glass-line:var(--line);
  color:var(--ink)}
.hero::after,.phero::after{background-image:radial-gradient(rgba(0,40,87,.07) 1px,transparent 1px)}
.hero h1,.phero h1{color:var(--head)}
.sec.navy h2,.sec.navy h3{color:var(--head)}
.sec.navy .eyebrow,.phero .eyebrow{color:var(--cyan-ink)}
.trust svg.i,.facts svg.i{color:var(--ico-ink)}
.picker select{background:var(--surface);color:var(--ink);border-color:var(--line)}
.picker,.facts,.ev-card,.ev-tile,.hero .hero-creds{box-shadow:0 18px 40px -30px rgba(0,40,87,.35)}
.play-link{color:var(--head)}
.pill .mark img{filter:none}
.chip-float{background:var(--surface);box-shadow:0 18px 40px -22px rgba(0,40,87,.35)}
.chip-float .g{color:var(--cyan-ink)}
.chip-float b{color:var(--ink)}
.chip-float .tag.c{background:var(--crit-soft);color:var(--crit)}
.chip-float .tag.w{background:var(--warn-soft);color:var(--warn)}
.chip-float .tag.o{background:var(--ok-soft);color:var(--ok)}
.hero .hero-creds{background:var(--surface)}
.hero .hero-creds .cred .ci{background:var(--ico-bg);color:var(--ico-ink)}
.hero .hero-creds .cred b{color:var(--ink)}
.sec.navy sup.ref a,.ev-tile sup.ref a,.ev-card sup.ref a,.phero sup.ref a{color:var(--cyan-ink)}
.sec.navy .checks-list strong{color:var(--ink)}
.btn-glass:hover{background:var(--ice)}
.phero-art{filter:drop-shadow(0 20px 30px rgba(0,40,87,.2))}
.cite-note.dark{color:var(--muted)}
.phero .badge{background:var(--ok-soft);color:var(--ok)}
.phero .badge.soon{background:var(--warn-soft);color:var(--warn)}
.phero .crumb,.phero .crumb a{color:var(--ink-2)}
.phero .crumb a:hover{color:var(--cyan-ink)}

@media (min-width:1001px){
.feat:not([style]) > .feat-card:has(> .ico + h4 + p:last-child){grid-template-columns:1fr;row-gap:10px;padding:26px 24px}
.feat:not([style]) > .feat-card:has(> .ico + h4 + p:last-child) > .ico{grid-row:auto;margin-bottom:6px}
.feat:not([style]) > .feat-card:has(> .ico + h4 + p:last-child) > h4{margin-top:0;font-size:1.08rem}
}

.bill-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px;align-items:stretch}
.bill-card{align-content:start}
.bill-card .bill-rows{margin-top:0;gap:20px}
.bill-card .src-note{margin-top:auto!important}
.bill-grid .fam-card:last-child{display:flex;flex-direction:column;gap:16px}
@media (max-width:900px){.bill-grid{grid-template-columns:1fr}}

.cmp{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(5,auto);column-gap:20px;max-width:1000px;margin:0 auto}
.cmp-col{display:grid;grid-row:1 / -1;grid-template-rows:subgrid;gap:0;padding:8px 26px 14px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.cmp-col.yes{box-shadow:0 22px 44px -30px rgba(0,118,171,.55)}
.cmp-r{padding:16px 0;border-bottom:1px dashed var(--line)}
.cmp-r:last-child{border-bottom:0}
.cmp-r small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.cmp-col.yes .cmp-r small{color:var(--cyan-ink)}
.cmp-col.no .cmp-r p{color:var(--muted)}
.cmp-col.yes .cmp-r p{color:var(--ink);font-weight:500}
@media (max-width:760px){.cmp{grid-template-columns:1fr;grid-template-rows:none;row-gap:16px}.cmp-col{grid-row:auto;grid-template-rows:none}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cmp-col.no{border-top:4px solid var(--crit)}
.cmp-col.yes{border-top:4px solid var(--cyan)}
.cmp-h{display:grid;gap:2px;padding:20px 0 16px;border-bottom:1px solid var(--line)}
.cmp-h span{display:block;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cmp-h b{display:block;font-family:var(--f-display);font-size:1.35rem;line-height:1.2}
.cmp-col.no .cmp-h span{color:var(--crit)}
.cmp-col.no .cmp-h b{color:var(--ink-2)}
.cmp-col.yes .cmp-h span{color:var(--cyan-ink)}
.cmp-col.yes .cmp-h b{color:var(--head)}

.q-hero{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center}
.q-hero-copy{display:grid;gap:18px}
.q-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;justify-items:center}
.qb{position:relative;width:170px;height:192px;display:grid;place-items:center}
.qb-shield{position:absolute;inset:0;width:100%;height:100%}
.qb-o{fill:var(--surface);stroke:var(--ico-ink);stroke-width:3}
.qb-i{fill:var(--ico-bg);stroke:var(--ico-ink);stroke-width:1.2;stroke-dasharray:3 4}
.qb-c{position:relative;display:grid;justify-items:center;gap:1px;text-align:center;margin-top:-14px}
.qb-c .ico{width:38px;height:38px;background:var(--surface);margin-bottom:4px}
.qb-c .ico svg.i{width:22px;height:22px}
.qb-c small{font-family:var(--f-display);font-weight:700;font-size:1.15rem;letter-spacing:.06em;color:var(--ico-ink);line-height:1}
.qb-c b{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink)}
.qb-c em{font-style:normal;font-size:.72rem;color:var(--ink-2);max-width:90px;line-height:1.25}
.q-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface)}
.q-facts div{padding:20px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.q-facts div:nth-child(3n){border-right:0}.q-facts div:nth-last-child(-n+3){border-bottom:0}
.q-facts small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.q-facts b{display:inline-block;margin-top:4px;font-size:1.05rem}
.q-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.q-docs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;padding:clamp(24px,4vw,40px);border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.q-docs > div{display:grid;gap:14px;justify-items:start}
.q-doclist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.q-doclist li{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:var(--paper);border:1px solid var(--line);font-weight:600}
.q-doclist svg.i{width:22px;height:22px;color:var(--ico-ink)}
@media (max-width:900px){.q-hero{grid-template-columns:1fr}.q-badges{grid-template-columns:repeat(4,minmax(0,1fr))}.q-docs{grid-template-columns:1fr}.q-facts{grid-template-columns:1fr 1fr}.q-facts div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.q-facts div:nth-child(2n){border-right:0!important}}
@media (max-width:600px){.q-badges{grid-template-columns:repeat(2,minmax(0,1fr))}.q-cards{grid-template-columns:1fr}.q-facts{grid-template-columns:1fr}.q-facts div{border-right:0!important}}

.q-cards > .feat-card:has(> .ico + h4 + p:last-child){grid-template-columns:1fr;row-gap:8px;padding:22px}
.q-cards > .feat-card:has(> .ico + h4 + p:last-child) > .ico{grid-row:auto;margin-bottom:4px}
.q-cards > .feat-card:has(> .ico + h4 + p:last-child) > h4{margin-top:0}

@media (max-width:640px){
.cookie-bar{left:10px;right:10px;bottom:10px;padding:12px 14px;gap:10px}
.cookie-bar p{flex-basis:100%;font-size:.8rem;line-height:1.45}
.cb-btns{width:100%}.cb-btns .btn{flex:1;padding:9px 12px;font-size:.88rem}
.sr .rep-scroll{overflow:visible}
.sr-table{min-width:0}
.sr-table thead{display:none}
.sr-table,.sr-table tbody,.sr-table tr,.sr-table th,.sr-table td{display:block;width:100%}
.sr-table tr{margin-bottom:12px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.sr-table tbody th{padding:10px 12px;border-bottom:1px solid var(--line);background:var(--paper)}
.sr-table td{border-bottom:0;padding:8px 12px}
.sr-table td:has(.sr-none){display:none}
.sr-table td::before{display:block;font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
.sr-table td.c-ok::before{content:"Use as directed";color:var(--sr-ok)}
.sr-table td.c-mod::before{content:"Moderate interaction";color:#9a6f00}
.sr-table td.c-sig::before{content:"Significant interaction";color:var(--sr-sig)}
.sr-genes{min-width:0}
.sr-genes th:nth-child(4),.sr-genes td:nth-child(4){display:none}
.sr-genes .tag{white-space:normal}
}

.pship{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:stretch}
.pship-x{align-self:center;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);font:700 1.5rem var(--f-display);color:var(--ico-ink)}
.pship-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:10px}
.pship-list li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2);font-size:.95rem}
.pship-list svg.i{width:18px;height:18px;margin-top:3px;color:var(--ok);stroke-width:2.6;flex:none}
.pship-cta{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding:20px 24px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.pship-cta p{font-weight:600;color:var(--ink)}
@media (max-width:900px){.pship{grid-template-columns:1fr}.pship-x{justify-self:center;margin:-6px 0}}
.np-groups{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.np-group{display:grid;gap:10px;align-content:start}
.np-group.lb{grid-column:1/-1}
.np-g{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink)}
.np-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.np{display:grid;gap:10px;align-content:start;padding:24px;border-radius:18px;background:var(--surface);border:1px solid var(--line);height:100%}
.np-cat{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.np h3{font-size:1.35rem}
.np-genes{display:flex;align-items:baseline;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.np-genes b{font-family:var(--f-display);font-size:2.6rem;line-height:1;font-weight:700;color:var(--head)}
.np-genes span{font-weight:600;color:var(--ink-2)}
.np dl{margin:0;display:grid;gap:0}
.np dl div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:.9rem}
.np dl div:last-child{border-bottom:0}
.np dt{color:var(--muted);font-weight:600}
.np dd{margin:0;color:var(--ink)}
.np-foot{margin-top:22px;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between}
.np-foot .cite-note{flex:1 1 420px}
@media (max-width:900px){.np-groups{grid-template-columns:1fr}.np-row{grid-template-columns:1fr}}
.rq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(32px,4vw,48px)}
.rq-card{display:grid;gap:8px;align-content:start;padding:22px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.rq-n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--ico-bg);color:var(--ico-ink);font-family:var(--f-display);font-weight:700}
.rq-card p{color:var(--ink-2);font-size:.94rem}
.rq-note{margin-top:18px;font-size:.92rem;color:var(--ink-2)}
.rq-note a{color:var(--cyan-ink);font-weight:600}
@media (max-width:860px){.rq{grid-template-columns:1fr}}
.paths-picker{margin:0 auto 26px;max-width:640px;background:var(--surface);border-color:var(--line)}
.paths-picker label{color:var(--ink)}
.paths-picker small{color:var(--muted)}

.hero .hero-copy h1{font-size:clamp(2.2rem,4.2vw,3.35rem);max-width:15ch}
.hero .hero-copy h1 .gtext{display:block}

/* hero test menu */
.helix-stage{display:grid;place-items:center}
.helix-stage #helix{opacity:.45}
.tm-card{position:relative;z-index:1;width:min(420px,100%);padding:18px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,40,87,.45),0 2px 6px rgba(0,40,87,.06);display:grid;gap:6px}
.tm-head{display:flex;justify-content:space-between;align-items:baseline;padding:4px 6px 10px;border-bottom:1px solid var(--line)}
.tm-head span{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tm-head b{font-family:var(--f-display);color:var(--head)}
.tm-grp{padding:10px 6px 2px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink)}
.tm-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border-radius:14px;text-decoration:none;color:var(--ink);transition:background .15s,transform .15s}
.tm-row:hover{background:var(--ice);transform:translateX(3px)}
.tm-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff}
.tm-ic svg.i{width:24px;height:24px}
.tm-ic.h{background:linear-gradient(135deg,#0d2a55,#1f5aa6)}.tm-ic.s{background:linear-gradient(135deg,#0067b8,#00a0e1)}.tm-ic.l{background:linear-gradient(135deg,#0b8a8a,#2cc0b8)}.tm-ic.p{background:linear-gradient(135deg,#6a4fc4,#9b7be6)}
.tm-t b{display:block;font-size:.98rem}
.tm-t small{display:block;font-size:.8rem;color:var(--muted)}
.tm-n{text-align:right;font-family:var(--f-display);font-weight:700;font-size:1.25rem;color:var(--head);line-height:1}
.tm-n small{display:block;font-family:var(--f-body);font-size:.66rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media (max-width:980px){.helix-stage{height:auto!important;padding:10px 0 0}.helix-stage #helix{display:none}}
/* partner logos */
.pc-logo.light{background:linear-gradient(180deg,var(--paper),var(--ice));border-bottom:1px solid var(--line)}
/* card polish */
.feat-card,.svc-card,.np,.rq-card,.fam-card,.partner-card,.cmp-col,.ct-card,.mx,.kit-list,.st-card,.lib-card,.org-panel{box-shadow:0 1px 2px rgba(0,40,87,.05),0 14px 32px -22px rgba(0,40,87,.32)}
.feat-card,.svc-card,.np,.rq-card,.path{transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
.feat-card:hover,.svc-card:hover,.np:hover,.rq-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(0,40,87,.06),0 24px 44px -24px rgba(0,40,87,.42);border-color:var(--ice-2)}
.svc-card{position:relative;overflow:hidden;border-top:4px solid var(--cyan)}
.svc .svc-card:first-child{border-top-color:var(--navy-2)}
.np{position:relative;overflow:hidden;padding-top:28px}
.np::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#0067b8,#00a0e1)}
.np-group:first-child .np::before{background:linear-gradient(90deg,#0d2a55,#1f5aa6)}
.np-group.lb .np::before{background:linear-gradient(90deg,#0b8a8a,#2cc0b8)}
.np-genes b{background:linear-gradient(100deg,var(--navy-2),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.rq-card{border-left:4px solid var(--cyan)}
.feat-card .ico,.svc-card .ico{box-shadow:0 0 0 6px color-mix(in srgb,var(--ico-bg) 40%,transparent)}
@media (prefers-reduced-motion:reduce){.feat-card:hover,.svc-card:hover,.np:hover,.rq-card:hover,.tm-row:hover{transform:none}}

:root{--celemics:#4aa97f}
.pc-logo.cel{background:var(--celemics)}
.tm-grp.cel{color:#22714e}

.tm-head img{height:26px;width:auto}
.tm-grp{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tm-with{display:inline-flex;align-items:center;gap:6px;font-size:.66rem;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--muted)}
.tm-with img{height:18px;width:auto}
.tm-row .ico.sm{width:44px;height:44px}
.sl{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.sl-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px rgba(0,40,87,.05),0 18px 40px -24px rgba(0,40,87,.35);transition:transform .2s,box-shadow .2s}
.sl-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(0,40,87,.06),0 28px 50px -26px rgba(0,40,87,.45)}
.sl-band{display:flex;align-items:center;gap:14px;padding:20px 26px;border-bottom:1px solid var(--line)}
.sl-card.ngs .sl-band{background:linear-gradient(90deg,var(--ice),rgba(74,169,127,.14));border-top:4px solid var(--celemics)}
.sl-card.pgx .sl-band{background:linear-gradient(90deg,var(--ice),var(--paper));border-top:4px solid var(--cyan)}
.sl-l1{height:26px;width:auto}.sl-l2{height:28px;width:auto}
.sl-x{font:700 1.2rem var(--f-display);color:var(--muted)}
.sl-tag{margin-left:auto;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink)}
.sl-body{display:grid;gap:18px;padding:26px;flex:1;align-content:start}
.sl-title{display:flex;align-items:center;gap:14px}
.sl-title small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sl-title h3{font-size:1.45rem}
.sl-body > p{color:var(--ink-2)}
.sl-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.sl-stats div{padding:14px 16px;background:var(--paper)}
.sl-stats div+div{border-left:1px solid var(--line)}
.sl-stats b{display:block;font-family:var(--f-display);font-size:1.6rem;line-height:1.1;color:var(--head)}
.sl-stats span{font-size:.8rem;color:var(--muted)}
.sl-chips{display:flex;flex-wrap:wrap;gap:6px}
.sl-chips span{font-size:.8rem;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--ice);color:var(--ico-ink)}
.sl-card.ngs .sl-chips span{background:rgba(74,169,127,.12);color:#2f7a57}
.sl-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
@media (max-width:900px){.sl{grid-template-columns:1fr}}
@media (max-width:480px){.sl-stats b{font-size:1.25rem}.sl-stats div{padding:10px}.sl-band{padding:16px 18px}.sl-body{padding:20px}}

.pband{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logos copy" "cols cols";gap:18px 36px;align-items:center;padding:clamp(22px,3vw,34px);border-radius:22px;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--celemics);box-shadow:0 1px 2px rgba(0,40,87,.05),0 14px 32px -22px rgba(0,40,87,.32)}
.pband-logos{grid-area:logos;display:flex;align-items:center;gap:14px}
.pb-a{height:32px;width:auto}.pb-c{height:34px;width:auto}
.pband-copy{grid-area:copy}.pband-copy h2{font-size:clamp(1.3rem,2.4vw,1.75rem)}
.pband-cols{grid-area:cols;display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:18px;border-top:1px solid var(--line)}
.pband-cols > div > b{display:block;font-family:var(--f-display);margin-bottom:8px}
@media (max-width:760px){.pband{grid-template-columns:1fr;grid-template-areas:"logos" "copy" "cols"}.pband-cols{grid-template-columns:1fr}}
.ngs-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;margin-top:clamp(32px,4vw,48px);align-items:start}
.rq.rq-stack{grid-template-columns:1fr;margin-top:0}
.nrep{margin:0;padding:22px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:0 26px 50px -30px rgba(0,40,87,.45);display:grid;gap:14px;transform:rotate(-.6deg)}
.nrep-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;border-bottom:3px solid var(--navy-2)}
.nrep-head b{display:block;font-family:var(--f-display);color:var(--head)}
.nrep-head small{font-size:.76rem;color:var(--muted)}
.nrep-head img{height:22px;width:auto}
.nrep-hl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.nrep-hl div{padding:10px 12px;border-radius:10px;background:var(--paper);border:1px solid var(--line)}
.nrep-hl small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.nrep-hl b{font-family:var(--f-mono);font-size:.95rem}
.nrep-hl b.lv{font-family:var(--f-body);color:var(--ok)}
.nrep-sec h4{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink);margin-bottom:6px}
.nrep table{width:100%;font-size:.86rem}
.nrep th{position:static;background:var(--navy-2);color:#fff;padding:7px 10px}
.nrep td{padding:8px 10px}
.nrep-tags{display:flex;flex-wrap:wrap;gap:6px}
.nrep-tags span{font-size:.76rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--ice);color:var(--ico-ink)}
.nrep figcaption{font-size:.74rem;color:var(--muted)}
@media (max-width:900px){.ngs-split{grid-template-columns:1fr}.nrep{transform:none}.nrep-hl{grid-template-columns:1fr 1fr}}
.pgx-steps{margin-top:clamp(56px,7vw,88px);padding-top:clamp(40px,5vw,56px);border-top:1px solid var(--line);display:grid;gap:clamp(28px,3vw,40px)}
.close-cta > div:first-child{display:grid;gap:10px}
.close-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px 32px;align-items:center;padding:clamp(26px,4vw,44px);border-radius:24px;background:var(--hero-light);border:1px solid var(--line);box-shadow:0 1px 2px rgba(0,40,87,.05),0 18px 40px -26px rgba(0,40,87,.35)}
.cc-btns{display:flex;flex-wrap:wrap;gap:10px}
.cc-steps{grid-column:1/-1;list-style:none;margin:0;padding:18px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cc-steps li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.94rem}
.cc-steps b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:2px solid var(--ico-ink);color:var(--ico-ink);font-family:var(--f-display)}
@media (max-width:860px){.close-cta{grid-template-columns:1fr}.cc-steps{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.cc-steps{grid-template-columns:1fr}}

.hero-pills{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.hp{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.86rem;font-weight:700;color:var(--ink);box-shadow:0 6px 16px -12px rgba(0,40,87,.4)}
.hp img{height:20px;width:auto}
.hp.ngs{border-color:rgba(74,169,127,.45)}
.hp.pgx{border-color:rgba(0,160,225,.45)}
.hp-plus{font:700 1rem var(--f-display);color:var(--muted)}
.hero-paths{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:640px}
.hpath{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--surface);border:1.5px solid var(--line);text-decoration:none;color:var(--ink);box-shadow:0 12px 26px -18px rgba(0,40,87,.45);transition:transform .2s,border-color .2s}
.hpath:hover{transform:translateY(-2px)}
.hpath.ngs{border-top:4px solid var(--celemics)}
.hpath.pgx{border-top:4px solid var(--cyan)}
.hpath.ngs:hover{border-color:var(--celemics)}.hpath.pgx:hover{border-color:var(--cyan)}
.hpath small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hpath b{display:block;font-size:1.02rem;line-height:1.25}
.hpath .ar{margin-left:auto;width:20px;height:20px;color:var(--cyan-ink);flex:none}
.tm-grp.pgx{color:var(--cyan-ink)}
@media (max-width:520px){.hero-paths{grid-template-columns:1fr}}

.creds.hero-creds{grid-template-columns:repeat(4,1fr)}
.creds.hero-creds .cred:nth-child(4){border-right:0}
@media (max-width:1180px){.creds.hero-creds{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.tm-with{font-size:0;gap:0}.tm-with img{height:16px}}

.hpath{border:0!important;color:#fff!important;box-shadow:0 14px 28px -14px rgba(0,40,87,.55)}
.hpath small{color:rgba(255,255,255,.85)!important}
.hpath b{color:#fff}
.hpath .ico.sm{background:rgba(255,255,255,.22)!important;color:#fff!important}
.hpath .ar{color:#fff!important;transition:transform .2s}
.hpath:hover .ar{transform:translateX(4px)}
.hpath.ngs{background:linear-gradient(135deg,#3f9e74,#4aa97f 60%,#5cbc90)}
.hpath.pgx{background:linear-gradient(135deg,#0087c4,#00a0e1 60%,#33b8f0)}
.hpath.ngs:hover{box-shadow:0 18px 32px -14px rgba(47,138,99,.7)}
.hpath.pgx:hover{box-shadow:0 18px 32px -14px rgba(0,118,171,.7)}

.stmt{position:relative;overflow:hidden;padding-block:clamp(64px,8vw,104px);background:linear-gradient(120deg,rgba(74,169,127,.16),rgba(0,160,225,.12) 55%,var(--paper))}
.stmt::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(74,169,127,.18),transparent 70%)}
.stmt .wrap{position:relative;z-index:1;display:grid;gap:28px}
.stmt-logos{display:flex;align-items:center;gap:14px}
.stmt-q{font-family:var(--f-display);font-weight:700;font-size:clamp(1.8rem,4.2vw,3.2rem);line-height:1.12;letter-spacing:-.025em;color:var(--head);max-width:22ch;margin:0}
.stmt-q .g,.stmt-cols .g{color:#22714e}.stmt-q .b,.stmt-cols .b{color:var(--cyan-ink)}.stmt-cols .n{color:var(--head)}
.stmt-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--head);padding-top:22px}
.stmt-cols > div{padding-right:28px}
.stmt-cols > div + div{padding-left:28px;border-left:1px solid var(--line)}
.stmt-cols span{display:block;font-family:var(--f-display);font-weight:700;font-size:1.1rem;margin-bottom:6px}
.stmt-cols p{color:var(--ink-2);font-size:.96rem}
@media (max-width:860px){.stmt-cols{grid-template-columns:1fr;gap:18px}.stmt-cols > div,.stmt-cols > div + div{padding:0;border-left:0}}
.px-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;align-items:end;margin-bottom:clamp(28px,4vw,44px)}
.px-head h2{max-width:16ch}
.px{display:grid;grid-template-columns:260px minmax(0,1fr);border-top:2px solid var(--head)}
.px-tabs{display:grid;align-content:start;border-right:1px solid var(--line);padding:14px 0}
.px-g{display:block;padding:14px 18px 6px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.px-tab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;width:100%;padding:12px 18px;border:0;border-left:3px solid transparent;background:none;text-align:left;font:inherit;color:var(--ink-2);cursor:pointer;transition:background .15s,color .15s}
.px-tab b{font-family:var(--f-display);font-size:1.08rem;font-weight:600}
.px-tab span{font-size:.8rem;color:var(--muted)}
.px-tab:hover{background:var(--ice);color:var(--ink)}
.px-tab[aria-selected="true"]{border-left-color:var(--celemics);background:linear-gradient(90deg,rgba(74,169,127,.12),transparent);color:var(--head)}
.px-tab[aria-selected="true"] b{font-weight:700}
.px-panes{padding:28px 0 8px clamp(24px,4vw,48px)}
.px-pane{display:grid;gap:24px;animation:fade .3s ease}
.px-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start}
.px-cat{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#22714e}
.px-top h3{font-size:clamp(1.7rem,3vw,2.4rem);margin:4px 0 8px}
.px-top p{color:var(--ink-2);max-width:52ch}
.px-big{text-align:right}
.px-big b{display:block;font-family:var(--f-display);font-size:clamp(3.4rem,7vw,5.4rem);line-height:.9;font-weight:700;letter-spacing:-.04em;background:linear-gradient(135deg,#22714e,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.px-big span{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.px-specs{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.px-specs div{padding:14px 16px 14px 0}
.px-specs dt{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.px-specs dd{margin:3px 0 0;font-weight:600}
.px-uses{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.px-uses li{display:flex;gap:8px;align-items:flex-start;color:var(--ink-2);font-size:.94rem}
.px-uses svg.i{width:18px;height:18px;color:var(--ok);stroke-width:2.6;margin-top:3px;flex:none}
.px-gl{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.px-genes > div{display:flex;flex-wrap:wrap;gap:6px}
.px-genes > div span{font-family:var(--f-mono);font-size:.8rem;padding:4px 9px;border-radius:7px;background:var(--surface);border:1px solid var(--line);color:var(--ink)}
@media (max-width:900px){.px-head{grid-template-columns:1fr}.px{grid-template-columns:1fr}.px-tabs{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:0;scrollbar-width:none}.px-g{display:none}.px-tab{flex:none;flex-direction:column;align-items:flex-start;gap:0;border-left:0;border-bottom:3px solid transparent}.px-tab[aria-selected="true"]{border-bottom-color:var(--celemics);background:none}.px-panes{padding:22px 0 0}}
@media (max-width:520px){.px-top{grid-template-columns:1fr}.px-big{text-align:left}.px-specs{grid-template-columns:1fr 1fr}}

.builder .btn-act,.sec.navy .btn-act,footer .btn-act{background:#fff;color:var(--navy-2);box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.builder .btn-act:hover,.sec.navy .btn-act:hover{background:var(--ice)}
.builder .b-card .btn-act{background:var(--act);color:#fff;box-shadow:0 10px 24px -12px rgba(6,58,116,.65)}
.builder .b-card .btn-act:hover{background:var(--act-hover)}

/* stronger timeline */
.flow-chip{margin-top:16px!important;gap:8px!important;font-size:.88rem!important;font-weight:700;padding:8px 14px!important;border:0!important;background:var(--ico-bg)!important;color:var(--ico-ink)!important;border-radius:999px}
.flow-chip svg.i{width:20px!important;height:20px!important}
@media (min-width:901px){
.flow:not([style*="--cols:1"]){gap:0 40px}
.flow:not([style*="--cols:1"])::before{top:31px;left:32px;right:calc((100% - (var(--cols,4) - 1) * 40px) / var(--cols,4) - 32px);height:3px}
.flow:not([style*="--cols:1"]) .num{width:64px;height:64px;border-width:2.5px;box-shadow:0 0 0 8px var(--bgsec),0 14px 26px -16px rgba(0,40,87,.45)}
.flow:not([style*="--cols:1"]) .num svg.i{width:34px;height:34px}
.flow:not([style*="--cols:1"]) .step-n{font-size:.82rem;margin:24px 0 8px}
.flow:not([style*="--cols:1"]) li > h4{font-size:1.4rem;margin-bottom:8px}
.flow:not([style*="--cols:1"]) li > p{font-size:1.02rem;line-height:1.6}
}
@media (max-width:900px){
.flow::before,.flow[style]::before{left:27px;top:28px;bottom:28px;width:3px}
.flow li{padding-left:80px;min-height:56px}
.flow .num{width:56px;height:56px}
.flow .num svg.i{width:30px;height:30px}
.flow li > h4{font-size:1.2rem}
}

@media (min-width:901px){
.flow:not([style*="--cols:1"]) .num{font-size:1.35rem}
.phase .flow:not([style*="--cols:1"]) .num,.feat-card .flow:not([style*="--cols:1"]) .num{width:54px;height:54px;font-size:1.15rem}
.phase .flow:not([style*="--cols:1"])::before,.feat-card .flow:not([style*="--cols:1"])::before{top:26px;left:27px}
.phase .flow:not([style*="--cols:1"]) li > h4{font-size:1.2rem}
}

.bill-grid .bill-card:last-child .checks-list{flex:1;display:flex!important;flex-direction:column;justify-content:space-between;gap:0!important}
.bill-grid .bill-card:last-child .checks-list li{padding:12px 0;border-bottom:1px dashed var(--line);align-items:center}
.bill-grid .bill-card:last-child .checks-list li:first-child{padding-top:4px}
.bill-grid .bill-card:last-child .checks-list li:last-child{border-bottom:0}
.bill-grid .bill-card:last-child .src-note{padding-top:14px;border-top:1px solid var(--line)}

.sl-body{display:flex!important;flex-direction:column;gap:18px}
.sl-btns{margin-top:auto;padding-top:4px}

.ct-int{border:0;margin:0;padding:0;min-width:0}
.ct-int legend,.ct-ngs legend{font-weight:600;font-size:.88rem;padding:0;margin-bottom:8px}
.ct-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ct-card-opt{position:relative;display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);cursor:pointer;transition:border-color .15s,background .15s}
.ct-card-opt input{position:absolute;opacity:0;pointer-events:none}
.ct-card-opt b{display:block;font-size:.95rem}.ct-card-opt small{display:block;font-size:.8rem;color:var(--muted)}
.ct-card-opt::after{content:"";margin-left:auto;flex:none;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);background:var(--surface)}
.ct-card-opt.ngs:has(input:checked){border-color:var(--celemics);background:rgba(74,169,127,.08)}
.ct-card-opt.pgx:has(input:checked){border-color:var(--cyan);background:var(--ice)}
.ct-card-opt:has(input:checked)::after{border-color:transparent;background:var(--navy-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/14px no-repeat}
.ct-card-opt:has(input:focus-visible){outline:2px solid var(--cyan);outline-offset:2px}
.ct-ngs{display:grid;gap:14px;padding:18px;border-radius:16px;background:rgba(74,169,127,.06);border:1px solid rgba(74,169,127,.35)}
.ct-ngs[hidden]{display:none}
.ct-ngs fieldset{border:0;margin:0;padding:0;min-width:0}
.ct-sub{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#22714e}
.ct-chips{display:flex;flex-wrap:wrap;gap:8px}
.ct-chips label{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font-size:.86rem;font-weight:600;cursor:pointer}
.ct-chips label small{font-weight:500;color:var(--muted)}
.ct-chips input{width:auto!important;margin:0;accent-color:#22714e}
.ct-chips label:has(input:checked){border-color:var(--celemics);background:rgba(74,169,127,.12)}
.ct-check{display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:500}
.ct-check input{width:18px;height:18px;margin:0;accent-color:var(--navy-2)}
@media (max-width:520px){.ct-cards{grid-template-columns:1fr}}

.hero .hero-creds{margin-top:clamp(56px,6vw,80px)!important}
.tm-row{padding:8px 10px}
.tm-card{gap:2px}
.hero-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-ink)}

.hero-brands{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.hb{display:inline-flex;align-items:center;gap:10px}
.hb img{height:22px;width:auto}
.hb b{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.hb-div{width:1px;height:22px;background:var(--line)}

.foot-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:40px 56px}
.foot-brand{display:grid;gap:16px;align-content:start}
.foot-brand p{font-size:.94rem;max-width:38ch}
.foot-partner{display:flex;align-items:center;gap:10px;font-size:.8rem;color:#9fbbd2}
.foot-partner img{height:20px;width:auto}
.foot-contact{display:grid;gap:8px}
.foot-contact a,.foot-contact span{display:flex;align-items:center;gap:10px;color:#c6dcee;text-decoration:none;font-size:.92rem}
.foot-contact a:hover{color:#fff}
.foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.foot-cols > div{display:grid;gap:9px;align-content:start}
.foot-cols h4{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#7fd6ff;margin-bottom:4px}
.foot-cols a{color:#c6dcee;text-decoration:none;font-size:.92rem}
.foot-cols a:hover{color:#fff}
.foot-cta{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:22px 26px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.foot-cta b{display:block;color:#fff;font-size:1.05rem}
.foot-cta span{font-size:.9rem;color:#9fbbd2}
.foot-btn{background:#fff;color:var(--navy-2)}
.foot-btn:hover{background:var(--ice)}
@media (max-width:980px){.foot-top{grid-template-columns:1fr}}
@media (max-width:640px){.foot-cols{grid-template-columns:1fr 1fr}}

.ptn{display:grid;grid-template-columns:300px minmax(0,1fr);border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px rgba(0,40,87,.05),0 18px 40px -26px rgba(0,40,87,.35)}
.ptn-logo{display:grid;place-items:center;padding:32px;background:var(--celemics)}
.ptn-logo img{width:min(200px,80%);height:auto}
.ptn-body{display:grid;gap:18px;padding:clamp(24px,3vw,36px)}
.ptn-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px}
.ptn-tag{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#22714e}
.ptn-top h3{font-size:1.7rem}
.ptn-body > p{color:var(--ink-2);max-width:68ch}
.ptn-list{grid-template-columns:1fr 1fr;gap:10px 24px}
.ptn-panels{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:16px;border-top:1px solid var(--line)}
.ptn-panels span{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.ptn-panels a{font-size:.84rem;font-weight:600;padding:5px 12px;border-radius:999px;background:rgba(74,169,127,.12);color:#2f7a57;text-decoration:none}
.ptn-panels a:hover{background:rgba(74,169,127,.22)}
.ptn-join{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;padding:clamp(24px,4vw,40px);border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.ptn-join > div{display:grid;gap:10px;max-width:640px}
@media (max-width:860px){.ptn{grid-template-columns:1fr}.ptn-logo{padding:28px}.ptn-list{grid-template-columns:1fr}}

.bn-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 48px;align-items:end;margin-bottom:clamp(32px,4vw,48px)}
.bn{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--head)}
.bn li{padding:24px 24px 6px 0;display:grid;gap:8px;align-content:start}
.bn li + li{padding-left:24px;border-left:1px solid var(--line)}
.bn-n{font-family:var(--f-display);font-weight:700;font-size:2.4rem;line-height:1;background:linear-gradient(135deg,var(--navy-2),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.bn h4{font-size:1.15rem}.bn p{color:var(--ink-2);font-size:.96rem}
@media (max-width:900px){.bn-head{grid-template-columns:1fr}.bn{grid-template-columns:1fr 1fr}.bn li,.bn li + li{padding:20px 16px 16px 0;border-left:0;border-bottom:1px solid var(--line)}}
@media (max-width:520px){.bn{grid-template-columns:1fr}}
.ca{display:grid;border-top:2px solid var(--head)}
.ca-row{display:grid;grid-template-columns:240px minmax(0,1fr) minmax(0,.8fr);gap:16px 32px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.ca-area{display:flex;align-items:center;gap:14px}
.ca-area h3{font-size:1.2rem}
.ca-drugs{display:flex;flex-wrap:wrap;gap:6px}
.ca-drugs span{font-size:.86rem;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.ca-opp{color:var(--ink-2);font-size:.94rem}
@media (max-width:900px){.ca-row{grid-template-columns:1fr;gap:10px}}
.gl{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gl-item{display:grid;gap:6px;align-content:start;padding:28px 24px;text-align:center;justify-items:center}
.gl-item + .gl-item{border-left:1px solid var(--line)}
.gl-mark{font-family:var(--f-display);font-weight:700;font-size:clamp(2.2rem,4vw,3rem);letter-spacing:.02em;line-height:1;color:var(--head)}
.gl-name{font-size:.78rem;font-weight:600;color:var(--muted);max-width:24ch;line-height:1.35}
.gl-item p{margin-top:6px;font-size:.92rem;color:var(--ink-2);max-width:28ch}
.q-std{padding-bottom:40px}.q-gl{margin-top:8px}.gl-note{margin-top:14px;text-align:center;font-size:.8rem;color:var(--muted)}
@media (max-width:900px){.gl{grid-template-columns:1fr 1fr}.gl-item:nth-child(3){border-left:0}.gl-item:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:480px){.gl{grid-template-columns:1fr}.gl-item + .gl-item{border-left:0;border-top:1px solid var(--line)}}
.ev-rows{display:grid;border-top:2px solid var(--head)}
.evr{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px 48px;padding:30px 0;border-bottom:1px solid var(--line)}
.evr-stat{display:grid;gap:8px;align-content:start}
.evr-area{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink)}
.evr-area svg.i{width:22px;height:22px;color:var(--ico-ink)}
.evr-stat b{font-family:var(--f-display);font-weight:700;font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;color:var(--head)}
.evr-cap{color:var(--ink-2);font-size:.96rem;max-width:42ch}
.evr-body{display:grid;gap:10px;align-content:center;color:var(--ink-2)}
@media (max-width:860px){.evr{grid-template-columns:1fr}}

.stmt-q .sq{display:block;text-wrap:balance}.stmt-q .sq + .sq{margin-top:.15em}

/* oncology page: Celemics green */
.page[data-page="oncology"]{--cyan:#4aa97f;--ice-2:#cfe9db;--ice:#e9f5ef;--ico-bg:#dcf0e5;--ico-ink:#1d5e41;--cyan-ink:#22714e;
  --hero-light:radial-gradient(900px 520px at 88% 0%,rgba(74,169,127,.22),transparent 62%),radial-gradient(700px 480px at 0% 100%,rgba(34,113,78,.08),transparent 60%),linear-gradient(180deg,#f3faf6 0%,#e2f2e9 100%);
  --grad:linear-gradient(135deg,#4aa97f 0%,#2b8560 55%,#1d5e41 100%)}
.page[data-page="oncology"] .phero .badge.soon{background:#d3ecdf;color:#1d5e41}
.page[data-page="oncology"] .phero::after{background-image:radial-gradient(rgba(29,94,65,.08) 1px,transparent 1px)}
.page[data-page="oncology"] .test{border-top:3px solid #4aa97f}
.gene-rows{border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden;margin-top:6px}
.gr{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;padding:16px 22px;align-items:start}
.gr + .gr{border-top:1px solid var(--line)}
.gr-h{display:grid;gap:3px}
.gr-h small{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-ink)}
.gr-h b{font-family:var(--f-display);font-size:1.02rem;color:var(--head)}
.gr-n{font-size:.82rem;color:var(--muted)}
.gr .genes{gap:5px}
.gr .genes span{font-size:.72rem;padding:2px 7px}
@media (max-width:700px){.gr{grid-template-columns:1fr;gap:10px;padding:16px 18px}}

/* production additions */
[id]{scroll-margin-top:96px}
.page{display:none}.page.on{display:block}
