@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102e44;--ink:#17384d;--muted:#627888;--teal:#159ca8;--teal2:#37c6bc;--blue:#2b80bf;--bg:#f5fafb;--line:#dce9eb;--shadow:0 22px 65px rgba(17,62,83,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif;background:white}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.brand{font-family:'Manrope',Arial,sans-serif;line-height:1.17;letter-spacing:-.045em}h1{font-size:clamp(2.8rem,5.6vw,5.5rem);font-weight:800}h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:800}h3{font-size:1.26rem;letter-spacing:-.03em}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img,svg{max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #49c8cf;outline-offset:3px}.container{width:min(1170px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:10px;top:-80px;background:#fff;padding:10px 18px;z-index:1000}.skip:focus{top:10px}.topbar{background:#103a52;color:#e2f5f7;font-size:.79rem}.topbar .container{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:9px 0}.topbar a{color:#fff;font-weight:700}.topbar a:hover{text-decoration:underline}.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(215,229,231,.9)}.navrow{display:flex;align-items:center;justify-content:space-between;height:84px;gap:32px}.brand{display:flex;align-items:center;flex-shrink:0}.brand img{width:194px;height:auto;display:block}.nav{display:flex;align-items:center;gap:29px}.nav a{font-size:.88rem;font-weight:700;color:#3c596b;transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--teal)}.nav .btn{color:white}.nav .btn:hover{color:white}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:12px;padding:7px 11px;font-size:1.3rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(115deg,#149da7,#247cae);color:#fff;font-weight:800;font-size:.9rem;padding:15px 23px;min-height:50px;border:0;border-radius:13px;box-shadow:0 12px 26px rgba(17,145,168,.18);transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 27px rgba(17,145,168,.23)}.btn.secondary{background:white;color:#17435a;border:1px solid #d4e5e9;box-shadow:none}.btn.secondary:hover{border-color:var(--teal)}.btn.small{padding:10px 15px;min-height:42px;font-size:.81rem}.btn svg{width:18px;height:18px;flex:0 0 18px}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#167e8c;font-size:.77rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow:before{content:"";width:30px;height:2px;background:#27afbd;display:inline-block}.highlight{color:#168f9f}.lead{font-size:1.08rem;line-height:1.85;color:var(--muted);max-width:620px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 30%,#e2f6f8,transparent 44%),linear-gradient(135deg,#fbfefe,#eef8f9);padding:80px 0 110px}.hero:after{content:"";position:absolute;bottom:-170px;right:-140px;width:380px;height:380px;border-radius:50%;border:65px solid rgba(42,175,181,.07)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;position:relative;z-index:1}.hero h1{margin:20px 0 23px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero .tagline{display:flex;align-items:center;gap:9px;color:#4e7583;font-size:.85rem;margin-top:26px}.dot{width:8px;height:8px;display:inline-block;background:#30baa9;border-radius:50%;box-shadow:0 0 0 5px #c9efeb}.hero-art{position:relative;min-height:510px;display:grid;place-items:center}.hero-art>img{width:min(100%,590px);filter:drop-shadow(0 21px 33px rgba(18,84,111,.04))}.floating{position:absolute;display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e5f0f1;border-radius:15px;box-shadow:var(--shadow);padding:12px 16px;font-weight:800;font-size:.83rem}.floating svg{width:27px;height:27px;color:#1daab1}.floating.one{left:0;bottom:65px}.floating.two{right:0;top:57px}.mini-stats{position:relative;z-index:2;margin-top:-53px;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:30px 40px;border:1px solid #edf2f4}.mini-stats>div{display:flex;gap:15px;align-items:center;padding:4px 28px;border-right:1px solid var(--line)}.mini-stats>div:first-child{padding-left:0}.mini-stats>div:last-child{border:0;padding-right:0}.ico{display:inline-grid;place-items:center;width:51px;height:51px;border-radius:15px;background:#e7f7f6;color:#149eaa;flex-shrink:0}.ico svg{width:25px;height:25px}.mini-stats strong{display:block;font-size:.94rem;font-family:Manrope}.mini-stats small{color:var(--muted);font-size:.79rem;line-height:1.4;display:block}.section{padding:100px 0}.section.soft{background:var(--bg)}.section-head{max-width:690px;margin-bottom:37px}.section-head h2{margin:13px 0 16px}.section-head p{color:var(--muted);margin:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.visual-panel{border-radius:32px;min-height:420px;background:linear-gradient(135deg,#edf9f8,#cceaf1);position:relative;display:grid;place-items:center;overflow:hidden}.visual-panel img{max-height:400px}.overline{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#187f95}.bullet{display:flex;gap:13px;margin:17px 0;color:#4d6c7d}.check{width:22px;height:22px;border-radius:50%;background:#dff5ee;color:#0a9081;flex-shrink:0;text-align:center;font-weight:900;line-height:22px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:30px;border-radius:20px;background:white;border:1px solid #e2eeee;box-shadow:0 8px 26px rgba(13,70,93,.035);transition:transform .2s,border-color .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);border-color:#a6d9da;box-shadow:var(--shadow)}.service-card h3{margin:21px 0 10px}.service-card p{color:var(--muted);font-size:.91rem;line-height:1.75}.text-link{display:inline-flex;gap:8px;align-items:center;color:#117f93;font-weight:800;font-size:.85rem}.text-link:hover{text-decoration:underline}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{position:relative;padding:30px;border-radius:19px;background:#fff;border:1px solid #e5eef0}.step .num{font:800 2.15rem Manrope;color:#c2e4e7}.step h3{margin:16px 0 12px}.step p{font-size:.91rem;color:var(--muted);margin:0}.banner{border-radius:30px;background:linear-gradient(110deg,#113a57,#176b83);padding:54px 65px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:35px;overflow:hidden;position:relative}.banner:after{content:"";height:270px;width:270px;border:37px solid rgba(255,255,255,.04);border-radius:50%;position:absolute;right:25%;top:-145px}.banner h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:10px 0}.banner p{color:#d2e7ee;max-width:650px;margin:0}.banner .btn{background:white;color:#126077;box-shadow:none;white-space:nowrap;z-index:1}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.faq details{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{font-weight:800;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}.faq summary:after{content:"+";font-size:1.45rem;color:var(--teal)}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);font-size:.93rem;margin:15px 0 0}.note{font-size:.83rem;color:#627a89}.pagehero{padding:86px 0 76px;background:linear-gradient(125deg,#f9fefe,#e9f6f8);border-bottom:1px solid #e4f0f2;overflow:hidden}.pagehero .container{position:relative}.pagehero h1{font-size:clamp(2.7rem,5.2vw,4.6rem);max-width:780px;margin:20px 0}.pagehero p{max-width:680px;color:var(--muted);font-size:1.04rem}.breadcrumb{color:#577a8b;font-size:.8rem;font-weight:700}.breadcrumb a:hover{text-decoration:underline}.pagehero .orb{position:absolute;width:245px;right:0;top:-52px;opacity:.42;pointer-events:none}.searchbar{display:flex;align-items:center;border:1px solid #d9e9ed;background:#fff;border-radius:16px;padding:7px 18px;gap:12px;max-width:590px;box-shadow:0 10px 30px rgba(25,70,90,.045)}.searchbar svg{height:21px;width:21px;color:#229ba5}.searchbar input{width:100%;padding:12px 0;border:0;background:transparent;outline:0;color:var(--ink)}.filter-row{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0 32px}.filter{border:1px solid #dce9eb;border-radius:100px;padding:9px 15px;color:#456478;background:#fff;font-size:.83rem;font-weight:800}.filter.active,.filter:hover{background:#117d90;color:white;border-color:#117d90}.exam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.exam-card{display:flex;flex-direction:column;align-items:flex-start;min-height:255px;padding:27px;border:1px solid #e1ecee;border-radius:20px;background:white;box-shadow:0 10px 28px rgba(17,68,87,.04);transition:.2s}.exam-card:hover{transform:translateY(-4px);border-color:#96d5da;box-shadow:var(--shadow)}.exam-card h3{margin:18px 0 8px}.exam-card p{color:var(--muted);font-size:.88rem;margin-bottom:20px}.exam-card .text-link{margin-top:auto}.empty{grid-column:1/-1;padding:40px;text-align:center;border:1px dashed var(--line);border-radius:20px;color:var(--muted)}.notice{background:#eaf7f6;border-left:4px solid #25a5a8;padding:22px 24px;border-radius:0 12px 12px 0;color:#3e6571;font-size:.91rem}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.info-panel{padding:35px;background:#fff;border:1px solid var(--line);border-radius:22px}.info-panel h3{margin:16px 0}.info-panel p{color:var(--muted)}.info-panel .text-link{overflow-wrap:anywhere}.map-panel{min-height:340px;background:#e7f1f4;border-radius:26px;overflow:hidden;border:1px solid #dae9ed}.map-panel iframe{width:100%;height:360px;border:0;display:block}.social-link{display:inline-flex;gap:8px;align-items:center;color:#0c8190;font-weight:800;overflow-wrap:anywhere}.footer{background:#0c2d43;color:#e3eef2;padding:65px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:65px}.footer .brand img{width:186px;background:#fff;border-radius:9px;padding:4px}.footer p,.footer a{font-size:.86rem;color:#afc8d2}.footer a:hover{color:#fff}.footer h3{font-size:.95rem;color:#fff;margin:5px 0 20px;letter-spacing:0}.footer-links{display:grid;gap:10px}.footer-bottom{border-top:1px solid #295166;margin-top:46px;padding-top:23px;display:flex;justify-content:space-between;gap:15px;color:#a6c3d0;font-size:.78rem}.float-wa{position:fixed;bottom:25px;right:25px;z-index:95;display:flex;align-items:center;gap:9px;background:#189c74;color:#fff;padding:13px 18px;border-radius:100px;box-shadow:0 14px 35px rgba(0,90,67,.23);font-weight:800;font-size:.84rem;transition:transform .2s}.float-wa:hover{transform:translateY(-3px)}.float-wa svg{width:22px;height:22px}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;border-radius:30px;padding:6px 11px;background:#e5f6f6;color:#168a97;font-weight:800;font-size:.73rem}.callout{border:1px solid #d9e9ec;background:#f7fbfc;border-radius:18px;padding:23px 26px;margin-top:24px}.callout p{margin:0;color:#577382;font-size:.91rem}.logo-caveat{font-size:.72rem;color:#a7c7cf;margin-top:6px}.about-stat{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}.about-stat>div{border:1px solid #dcebec;border-radius:16px;padding:20px;background:#fff}.about-stat strong{display:block;color:#0b8594;font:800 1.4rem Manrope}.about-stat span{color:var(--muted);font-size:.82rem}.source-foot{background:#f3faf9;border-top:1px solid #dfeeed;padding:15px 0;font-size:.76rem;color:#68818f}
@media(max-width:940px){.nav{gap:16px}.nav a{font-size:.78rem}.brand img{width:164px}.hero-grid,.two-col{gap:24px}.hero-art{min-height:380px}.floating.one{bottom:28px}.floating.two{top:22px}.mini-stats{padding:24px}.mini-stats>div{padding:4px 13px}.cards,.exam-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.container{width:min(100% - 34px,1170px)}.topbar .container{justify-content:center;text-align:center;padding:7px 0}.topbar .container span:last-child{display:none}.navrow{height:68px}.brand img{width:167px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:17px;border-bottom:1px solid var(--line);box-shadow:0 25px 30px rgba(0,0,0,.075);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:12px;font-size:.95rem}.nav a.btn{margin-top:8px;text-align:center}.hero{padding:57px 0 88px}.hero-grid,.two-col,.faq{grid-template-columns:1fr}.hero h1{font-size:clamp(2.65rem,10vw,4rem)}.hero-art{min-height:320px}.hero-art>img{width:100%;max-height:350px}.floating{font-size:.72rem;padding:9px 11px}.floating.one{left:0;bottom:8px}.floating.two{right:0;top:9px}.mini-stats{grid-template-columns:1fr;padding:22px;margin-top:-48px;gap:12px}.mini-stats>div,.mini-stats>div:first-child,.mini-stats>div:last-child{padding:11px 0;border-right:0;border-bottom:1px solid var(--line)}.mini-stats>div:last-child{border-bottom:0}.section{padding:68px 0}.cards,.steps,.exam-grid,.info-grid{grid-template-columns:1fr}.service-card,.exam-card{padding:25px}.exam-card{min-height:0}.visual-panel{min-height:290px}.visual-panel img{max-height:310px}.banner{padding:38px 28px;flex-direction:column;align-items:start}.banner .btn{white-space:normal}.pagehero{padding:60px 0 55px}.pagehero h1{font-size:clamp(2.45rem,10vw,3.5rem)}.pagehero .orb{width:145px;right:-40px;top:-30px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column}.float-wa{right:13px;bottom:13px;padding:12px 15px}.float-wa span{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Patient portal and technical lead */
.technical-lead{margin:20px 0 0;font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
.technical-lead strong{color:var(--ink)}
.results-note{margin:14px 0 0}
.footer-results{margin-top:20px}
.footer-results>a{font-weight:700;color:#fff}
.footer-results .technical-lead{font-size:.9rem;margin-top:12px}
.footer-results .technical-lead strong{color:#fff}
@media(min-width:701px) and (max-width:1100px){
.navrow{height:auto;min-height:84px;flex-wrap:wrap;justify-content:center;gap:14px;padding:16px 0}
.nav{flex-wrap:wrap;justify-content:center;gap:18px}
.nav a{font-size:.875rem}
}

/* BioLab official mark and palette */
:root{--navy:#343b3e;--ink:#3f494b;--muted:#647274;--teal:#0f9590;--teal2:#23aaa3;--blue:#0f9590;--bg:#f3fafa;--line:#dcebe9;--shadow:0 22px 65px rgba(16,105,101,.10)}
a:focus-visible,button:focus-visible,input:focus-visible{outline-color:#0f9590}
.topbar{background:#3f494b;color:#f3fafa}.header{border-bottom-color:#dcebe9}
.brand img{width:245px;height:75px;object-fit:cover;object-position:center;max-width:none}
.nav{gap:17px}.nav a{font-size:.82rem}.nav .btn{white-space:nowrap}
.btn{background:#0f9590;box-shadow:0 12px 26px rgba(15,149,144,.18)}.btn:hover{box-shadow:0 16px 27px rgba(15,149,144,.24)}
.btn.secondary{color:#375b59;border-color:#d4e6e3}.nav .call-btn{background:#fff;color:#0b807d;border:1px solid #0f9590;box-shadow:none}.nav .call-btn:hover{color:#076966;background:#eef8f7}.nav .call-btn svg{width:17px;height:17px}
.eyebrow,.highlight,.text-link,.social-link,.faq summary:after,.breadcrumb a:hover{color:#0f9590}.eyebrow:before{background:#0f9590}
.hero{background:radial-gradient(circle at 82% 30%,#e1f4f2,transparent 44%),linear-gradient(135deg,#fff,#f1faf9)}.pagehero{background:linear-gradient(125deg,#fff,#eaf7f5)}
.ico{background:#e2f4f1;color:#0f9590}.visual-panel{background:linear-gradient(135deg,#ebf8f6,#cdece7)}
.banner{background:linear-gradient(110deg,#3d5050,#0d8580)}.banner .btn{background:#fff;color:#0d807b}
.filter.active,.filter:hover{background:#0f9590;border-color:#0f9590}.notice{border-left-color:#0f9590}.footer{background:#3d4547}.footer-bottom{border-top-color:#687273}.footer .brand img{width:220px;height:68px;padding:0;background:#fff;border-radius:5px}.float-wa{background:#0f9590}
@media(max-width:1100px){.navrow{height:auto;min-height:84px;flex-wrap:wrap;justify-content:center;gap:12px;padding:13px 0}.nav{flex-wrap:wrap;justify-content:center;gap:13px}.nav a{font-size:.83rem}}
@media(max-width:700px){.navrow{min-height:70px;justify-content:space-between;padding:8px 0}.brand img{width:186px;height:57px}.nav{gap:0}.nav a.btn{margin-top:8px}.nav .call-btn{display:flex}.footer .brand img{width:220px;height:68px}}
