@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--blue:#043254;--blue-dark:#032943;--teal:#41c1ba;--red:#e51040;--charcoal:#222;--muted:#65747b;--line:#dbe3e6;--ice:#f3f7f8;--teal-pale:#e8f7f6;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--charcoal);background:var(--white);margin:0;font:16px/1.65 Poppins,Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(1180px,100% - 40px);margin:0 auto}.section{padding:88px 0}.topbar{background:var(--blue);color:#ffffffc7;font-size:12px}.topbar__inner{justify-content:space-between;align-items:center;min-height:34px;display:flex}.topbar__inner>div{align-items:center;gap:26px;display:flex}.topbar a{color:#fff;font-weight:600}.site-header{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;position:sticky;top:0}.nav-wrap{align-items:center;gap:34px;min-height:82px;display:flex}.brand{flex:none;align-items:center;display:inline-flex}.brand-lockup{object-fit:contain;width:228px;height:auto}nav{align-items:center;gap:30px;margin-left:auto;display:flex}nav a{color:#425861;font-size:13px;font-weight:500;transition:color .2s}nav a:hover{color:var(--blue)}.button{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:5px;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:0 24px;font:600 14px/1 Poppins,sans-serif;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 12px 25px #e5104029}.button:hover{transform:translateY(-2px);box-shadow:0 16px 30px #e5104038}.button--compact{background:var(--blue);min-height:42px;box-shadow:none;padding:0 18px}.button--compact:hover{box-shadow:0 10px 22px #0432542e}.button--ghost{color:#fff;box-shadow:none;background:0 0;border:1px solid #fff6}.button--ghost:hover{box-shadow:none;border-color:#fff}.button--white{color:var(--blue);box-shadow:none;background:#fff}.hero{background:var(--blue);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";opacity:.1;background-image:linear-gradient(#ffffff47 1px,#0000 1px),linear-gradient(90deg,#ffffff47 1px,#0000 1px);background-size:58px 58px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 62%);mask-image:linear-gradient(90deg,#000,#0000 62%)}.hero__grid{grid-template-columns:1.04fr .96fr;align-items:stretch;min-height:590px;display:grid;position:relative}.hero__copy{z-index:2;align-self:center;padding:54px 58px 54px 0;position:relative}.eyebrow,.kicker{color:var(--teal);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700;line-height:1.4}.eyebrow{align-items:center;gap:12px;display:flex}.eyebrow:before{content:"";background:var(--red);width:32px;height:3px}h1{letter-spacing:-.055em;margin:20px 0;font-size:clamp(48px,4.7vw,66px);font-weight:700;line-height:1.03}h1 em{color:var(--teal);font-style:normal}.hero__lead{color:#fffc;max-width:610px;margin:0;font-size:17px;line-height:1.65}.hero-booking{color:var(--blue);background:#fff;border-radius:10px;margin-top:26px;padding:18px;box-shadow:0 20px 50px #011a2c38}.hero-booking>label{letter-spacing:.07em;text-transform:uppercase;margin-bottom:9px;font-size:12px;font-weight:700;display:block}.hero-booking__search{grid-template-columns:1fr auto;display:grid}.hero-booking__search input{min-width:0;height:52px;color:var(--charcoal);border:1px solid #cfdbdf;border-radius:6px 0 0 6px;outline:none;padding:0 15px;font:500 15px/1 Poppins,sans-serif}.hero-booking__search input:focus{border-color:var(--teal);box-shadow:inset 0 0 0 2px #41c1ba24}.hero-booking__search>a{background:var(--teal);min-width:116px;color:var(--blue);border-radius:0 6px 6px 0;justify-content:center;align-items:center;gap:12px;padding:0 16px;font-size:13px;font-weight:700;display:flex}.hero-booking__popular{flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;display:flex}.hero-booking__popular>span{color:#71838a;text-transform:uppercase;letter-spacing:.07em;margin-right:3px;font-size:11px;font-weight:600}.hero-booking__popular a{background:var(--teal-pale);min-height:30px;color:var(--blue);border-radius:18px;align-items:center;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.hero__actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.hero__actions .button{min-height:44px}.hero__actions .button:not(.button--ghost){background:var(--teal);color:var(--blue);box-shadow:0 12px 25px #41c1ba26}.hero-home-booking{color:var(--blue);background:#fff;border-radius:10px;margin-top:12px;padding:16px;animation:.25s ease-out home-booking-open;box-shadow:0 18px 42px #011a2c3d}.hero-home-booking>strong{margin-bottom:11px;font-size:13px;display:block}.hero-home-booking>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hero-home-booking label{color:#61757d;letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:9px;font-weight:700;display:grid}.hero-home-booking select{min-width:0;height:42px;color:var(--blue);background:#fbfcfc;border:1px solid #cfdbdf;border-radius:5px;outline:none;padding:0 10px;font:500 12px/1 Poppins,sans-serif}.hero-home-booking select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #41c1ba24}.hero-home-booking>button{background:var(--teal);width:100%;min-height:42px;color:var(--blue);cursor:pointer;border:0;border-radius:5px;justify-content:space-between;align-items:center;margin-top:11px;padding:0 14px;font:700 12px/1 Poppins,sans-serif;display:flex}.hero-home-booking>small{color:#74878e;margin-top:8px;font-size:9px;line-height:1.4;display:block}@keyframes home-booking-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.hero__facts{border-top:1px solid #ffffff29;gap:22px;margin-top:42px;padding-top:26px;display:flex}.hero__facts span{color:#ffffffab;gap:5px;font-size:9px;line-height:1.45;display:grid}.hero__facts b{color:var(--teal);letter-spacing:.14em;font-size:9px}.hero__media{background:#dbe7e7;min-height:590px;position:relative;overflow:hidden}.hero__media:after{content:"";background:linear-gradient(90deg,#04325466,#0000 34%),linear-gradient(#0000 58%,#03294352);position:absolute;inset:0}.hero__media>img{object-fit:cover;object-position:64% center;width:100%;height:100%;animation:16s ease-in-out infinite alternate image-drift}.specimen-tag{z-index:3;width:184px;color:var(--blue);background:#ffffffed;padding:14px 16px;position:absolute;top:34px;right:32px;box-shadow:0 8px 24px #0432542e}.specimen-tag span{color:var(--red);letter-spacing:.17em;font-size:8px;font-weight:700;display:block}.specimen-tag strong{margin-top:5px;font:600 10px/1.2 monospace;display:block}.specimen-tag i{background:repeating-linear-gradient(90deg, var(--blue) 0 2px, transparent 2px 5px);opacity:.7;height:24px;margin-top:10px;display:block}.quick-paths{border-bottom:1px solid var(--line);background:#fff}.quick-paths__grid{grid-template-columns:.85fr repeat(3,1fr);min-height:126px;display:grid}.quick-paths__intro,.quick-paths a{border-right:1px solid var(--line);align-items:center;padding:26px 24px;display:flex}.quick-paths__intro{align-content:center;padding-left:0;display:grid}.quick-paths__intro span{color:var(--teal);text-transform:uppercase;letter-spacing:.14em;font-size:9px;font-weight:700}.quick-paths__intro strong{color:var(--blue);margin-top:6px;font-size:15px}.quick-paths a{gap:14px;transition:background .2s}.quick-paths a:hover{background:var(--ice)}.quick-paths a>b{color:var(--teal);align-self:flex-start;margin-top:3px;font:600 9px/1 monospace}.quick-paths a>span{color:var(--blue);font-size:12px;font-weight:600;display:grid}.quick-paths a small{color:#78888e;margin-top:5px;font-size:9px;font-weight:400;line-height:1.45}.quick-paths a i{color:var(--red);margin-left:auto;font-style:normal}.section-head{grid-template-columns:1.25fr .75fr;align-items:end;gap:56px;margin-bottom:48px;display:grid}.section-head h2,.lab-process h2,.home-collection h2,.business h2,.about h2,.pathologists h2,.quote h2,.faq h2{color:var(--blue);letter-spacing:-.045em;margin:14px 0 0;font-size:clamp(36px,4.3vw,56px);line-height:1.12}.section-head h2{white-space:nowrap;font-size:clamp(36px,3.5vw,48px)}.section-head>p,.body-copy{color:var(--muted);margin:0;font-size:17px;line-height:1.7}.section-head__aside{grid-template-columns:minmax(190px,1fr) 164px;align-items:center;gap:20px;display:grid}.section-head__aside>p{color:var(--muted);margin:0;font-size:16px;line-height:1.65}.section-head__aside.section-head__aside--art-only{grid-template-columns:1fr;justify-items:end}.section-art{isolation:isolate;background:radial-gradient(circle at 72% 28%,#41c1ba38,#0000 38%),linear-gradient(135deg,#eff9f8,#fff);border:1px solid #cfe4e3;border-radius:28px;width:174px;height:112px;margin-top:20px;position:relative;overflow:hidden;box-shadow:0 14px 34px #04325414}.section-head__aside .section-art{width:164px;height:104px;margin-top:0}.section-art:before{content:"";z-index:-1;border:1px dashed #0432541f;border-radius:21px;position:absolute;inset:10px}.section-art img{z-index:2;object-fit:contain;filter:drop-shadow(0 9px 10px #04325424);will-change:transform;width:100%;height:100%;padding:7px}.section-art>span{z-index:1;background:var(--teal);border-radius:50%;width:10px;height:10px;animation:2.8s ease-in-out infinite art-ping;position:absolute;top:16px;right:18px;box-shadow:0 0 0 7px #41c1ba1f}.section-art--tests img{animation:4s ease-in-out infinite art-focus}.section-art--services img{animation:5.2s ease-in-out infinite art-orbit}.section-art--home img{animation:4.6s ease-in-out infinite art-arrive}.section-art--coverage img{animation:5.4s ease-in-out infinite art-route-map}.section-art--business img{animation:4.2s ease-in-out infinite art-team}.section-art--about img{animation:5s ease-in-out infinite art-heritage}.section-art--quote img{animation:3.8s ease-in-out infinite art-send}.section-art--faq img{animation:4.4s ease-in-out infinite art-converse}.clinical-services .section-art,.business .section-art{box-shadow:none;background:radial-gradient(circle at 72% 28%,#41c1ba3b,#0000 42%),#ffffff14;border-color:#fff3}.clinical-services .section-art:before,.business .section-art:before{border-color:#ffffff21}@keyframes art-focus{0%,to{transform:scale(.95)}50%{transform:scale(1.03)translateY(-2px)}}@keyframes art-orbit{0%,to{transform:translateY(2px)rotate(-1deg)}50%{transform:translateY(-4px)rotate(1deg)}}@keyframes art-arrive{0%,to{transform:translate(-3px)}50%{transform:translate(4px)translateY(-2px)}}@keyframes art-route-map{0%,to{transform:translate(-3px,1px)scale(.97)}50%{transform:translate(3px,-2px)scale(1.02)}}@keyframes art-team{0%,to{transform:translateY(2px)}50%{transform:translateY(-4px)}}@keyframes art-heritage{0%,to{transform:rotate(-1.5deg)scale(.97)}50%{transform:rotate(1.5deg)scale(1.02)}}@keyframes art-send{0%,to{transform:translate(-4px)}55%{transform:translate(5px)translateY(-2px)}}@keyframes art-converse{0%,to{transform:rotate(-1deg)translateY(1px)}50%{transform:rotate(1deg)translateY(-3px)}}@keyframes art-ping{0%,to{opacity:.45;transform:scale(.72)}50%{opacity:1;transform:scale(1)}}.test-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.test-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;grid-template-rows:auto 1fr auto;min-height:250px;padding:27px;transition:background .2s;display:grid}.test-card:hover{background:var(--teal-pale)}.test-code{border:1px solid var(--teal);width:50px;height:29px;color:var(--blue);letter-spacing:.08em;border-radius:3px;place-items:center;font:700 9px/1 monospace;display:grid}.test-card h3{color:var(--blue);margin:24px 0 9px;font-size:19px}.test-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.test-card a{color:var(--blue);text-transform:uppercase;letter-spacing:.06em;border-top:1px solid #0432541f;justify-content:space-between;margin-top:22px;padding-top:15px;font-size:10px;font-weight:700;display:flex}.test-card a span{color:var(--red)}.tests{background:linear-gradient(#fff 0%,#f6fafb 100%);padding:48px 0 72px}.tests .section-head{margin-bottom:34px}.catalogue-tools{grid-template-columns:minmax(300px,.72fr) 1.5fr;align-items:end;gap:22px;margin-bottom:28px;display:grid}.test-search{gap:8px;display:grid}.test-search span{color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}.test-search input{width:100%;height:58px;color:var(--charcoal);background:#fff;border:1px solid #cfdcdf;border-radius:8px;outline:none;padding:0 18px;font:500 14px/1 Poppins,sans-serif;box-shadow:0 8px 20px #0432540d}.test-search input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #41c1ba1f}.category-tabs{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.category-tabs button{color:#566b74;cursor:pointer;background:#fff;border:1px solid #d3dfe2;border-radius:30px;min-height:42px;padding:0 16px;font:600 12px/1 Poppins,sans-serif}.category-tabs button:hover,.category-tabs button.active{border-color:var(--blue);background:var(--blue);color:#fff}.catalogue-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.catalogue-card{background:#fff;border:1px solid #d9e5e7;border-radius:12px;flex-direction:column;min-height:280px;padding:0 20px 19px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #0432540e}.catalogue-card:hover{border-color:#a7d8d5;transform:translateY(-4px);box-shadow:0 18px 38px #0432541a}.catalogue-card__visual{background:linear-gradient(115deg, var(--blue) 0%, #075078 68%, #087b83 100%);height:80px;margin:0 -20px;position:relative;overflow:hidden}.catalogue-card__visual:before{content:"";border:1px solid #ffffff24;border-radius:50%;width:118px;height:118px;position:absolute;top:-55px;right:36px;box-shadow:0 0 0 20px #ffffff09,0 0 0 40px #ffffff05}.catalogue-card__symbol{z-index:2;background:var(--teal);min-width:48px;height:48px;color:var(--blue);letter-spacing:-.03em;border-radius:50%;place-items:center;padding:0 9px;font-size:14px;font-weight:800;display:grid;position:absolute;top:15px;left:20px;box-shadow:0 8px 18px #00000026}.specimen-motion{width:42px;height:62px;position:absolute;top:9px;right:20px}.specimen-motion__tube{border:3px solid #ffffffeb;border-top:5px solid var(--teal);border-radius:4px 4px 10px 10px;width:24px;height:44px;position:absolute;bottom:0;left:10px;overflow:hidden;transform:rotate(7deg)}.specimen-motion__tube b{background:var(--red);border-radius:0 0 7px 7px;height:18px;animation:2.8s ease-in-out infinite specimen-level;position:absolute;inset:auto 2px 2px}.specimen-motion__drop{z-index:2;background:var(--red);border-radius:70% 30% 65% 35%;width:9px;height:12px;animation:2.8s ease-in infinite specimen-drop;position:absolute;top:0;left:18px;transform:rotate(45deg)}.catalogue-card__pulse{background:#fff3;width:50px;height:1px;position:absolute;bottom:15px;right:70px}.catalogue-card__pulse:after{content:"";background:linear-gradient(90deg, transparent 0 12%, var(--teal) 12% 26%, transparent 26% 36%, var(--teal) 36% 48%, transparent 48% 58%, var(--teal) 58% 82%, transparent 82%);clip-path:polygon(0 48%,13% 48%,21% 5%,29% 90%,38% 48%,55% 48%,63% 24%,70% 70%,80% 48%,100% 48%,100% 54%,80% 54%,70% 77%,63% 31%,55% 54%,38% 54%,29% 97%,21% 12%,13% 54%,0 54%);animation:2.8s ease-in-out infinite pulse-glow;position:absolute;inset:-9px 0}.catalogue-card__head{z-index:3;justify-content:space-between;align-items:center;margin-top:-13px;display:flex;position:relative}.catalogue-card__head small{background:var(--teal-pale);color:var(--blue);text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:7px 10px;font-size:11px;font-weight:700;box-shadow:0 3px 8px #04325414}.catalogue-card .test-code{background:var(--blue);border-color:var(--blue);color:#fff;width:auto;min-width:54px;height:32px;padding:0 10px;font-size:11px}.catalogue-card h3{min-height:0;color:var(--blue);letter-spacing:-.025em;margin:14px 0 4px;font-size:19px;line-height:1.22}.catalogue-card__benefit{color:#596f78;min-height:40px;margin:0 0 10px;font-size:13px;line-height:1.48}.catalogue-card__meta{background:var(--ice);color:#39535d;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:10px;list-style:none;display:grid}.catalogue-card__meta li{overflow-wrap:anywhere;word-break:normal;border-right:1px solid #d8e4e6;grid-template-columns:11px minmax(0,1fr);align-items:start;gap:4px;min-width:0;padding:0 6px;font-size:10px;font-weight:600;line-height:1.35;display:grid}.catalogue-card__meta li:last-child{border-right:0}.catalogue-card__meta li>span{color:var(--teal);flex:none;font-size:10px}.catalogue-card__foot{border-top:1px solid #0432541f;justify-content:space-between;align-items:end;gap:10px;margin-top:11px;padding-top:11px;display:flex}.catalogue-card__foot>span{display:grid}.catalogue-card__foot small{color:#77898f;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.catalogue-card__foot strong{color:var(--blue);letter-spacing:-.025em;margin-top:3px;font-size:21px}.catalogue-card__foot a{background:var(--red);color:#fff;text-align:right;border-radius:5px;align-items:center;gap:8px;min-height:42px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.catalogue-card__foot a b{font-size:14px}@keyframes specimen-drop{0%,18%{opacity:0;transform:translateY(0)rotate(45deg)}28%{opacity:1}58%{opacity:1;transform:translateY(25px)rotate(45deg)}64%,to{opacity:0;transform:translateY(29px)rotate(45deg)}}@keyframes specimen-level{0%,24%,to{height:13px}62%,78%{height:20px}}@keyframes pulse-glow{0%,to{opacity:.38;transform:translate(-4px)}50%{opacity:1;transform:translate(4px)}}.catalogue-empty{text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-column:1/-1;align-content:center;place-items:center;gap:8px;min-height:230px;padding:45px;display:grid}.catalogue-empty strong{color:var(--blue);font-size:18px}.catalogue-empty span{color:var(--muted);font-size:11px}.catalogue-empty a{color:var(--red);margin-top:8px;font-size:10px;font-weight:700}.packages{background:#eef8f7;padding:68px 0}.packages__head{grid-template-columns:1fr;margin-bottom:22px}.package-highlights{background:#fff;border:1px solid #cae2e0;border-radius:12px;grid-template-columns:repeat(3,1fr);margin-bottom:18px;display:grid;overflow:hidden}.package-highlights span{color:#61757d;border-right:1px solid #d8e9e7;align-content:center;min-height:64px;padding:12px 18px;font-size:11px;display:grid}.package-highlights span:last-child{border-right:0}.package-highlights b{color:var(--blue);font-size:16px;line-height:1.2}.package-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.package-card{background:#fff;border:1px solid #cfdfdf;border-radius:14px;flex-direction:column;min-height:450px;padding:20px;scroll-margin-top:105px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 28px #0432540e}.package-card:before{content:"";background:var(--teal);height:7px;position:absolute;inset:0 0 auto}.package-card--age-wise:before{background:var(--blue)}.package-card--doctor-guided:before{background:#7b4aa8}.package-card--flagship:before{background:linear-gradient(90deg, var(--blue), var(--teal))}.package-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px #0432541c}.package-card__art{--art-a:#41c1ba;--art-b:#075078;background:radial-gradient(circle at 72% 24%, #ffffff3b, transparent 24%), linear-gradient(135deg, var(--art-b), var(--art-a));flex:none;place-items:center;height:94px;margin:-20px -20px 14px;display:grid;position:relative;overflow:hidden}.package-card__art:before{content:"";border:1px solid #ffffff38;border-radius:50%;width:145px;height:145px;position:absolute;top:-68px;right:-20px;box-shadow:0 0 0 23px #ffffff0f,0 0 0 46px #ffffff09}.package-card__art:after{content:"";background:linear-gradient(90deg,#0000,#ffffff85,#0000);height:1px;position:absolute;bottom:13px;left:20px;right:20px}.package-card__art>span{z-index:2;color:#fff;letter-spacing:-.06em;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff2b;border:1px solid #ffffff7a;border-radius:20px;place-items:center;min-width:58px;height:58px;padding:0 12px;font-size:23px;font-weight:800;line-height:1;animation:4.6s ease-in-out infinite package-float;display:grid;position:relative;box-shadow:0 12px 28px #0329432e}.package-card__art>i,.package-card__art>b,.package-card__art>em{background:#ffffffb8;border-radius:50%;display:block;position:absolute}.package-card__art>i{width:8px;height:8px;top:27px;left:28px;box-shadow:20px 57px #ffffff47,288px 36px #fff6}.package-card__art>b{opacity:.45;width:13px;height:13px;bottom:23px;right:36px}.package-card__art>em{opacity:.7;width:5px;height:5px;bottom:23px;left:72px}.package-card__art--zest-mantra{--art-a:#49d5c6;--art-b:#075078}.package-card__art--momentum-mantra{--art-a:#53bdda;--art-b:#143a74}.package-card__art--prime-mantra{--art-a:#4b9fb7;--art-b:#082f52}.package-card__art--silver-mantra{--art-a:#91aaa9;--art-b:#315a64}.package-card__art--sugar-mantra{--art-a:#47c8aa;--art-b:#096d71}.package-card__art--shakti-mantra{--art-a:#df7797;--art-b:#7d365d}.package-card__art--iron-mantra{--art-a:#d77a67;--art-b:#743e45}.package-card__art--bone-mantra{--art-a:#72c4d8;--art-b:#37648a}.package-card__art--thyroid-mantra{--art-a:#a77bd1;--art-b:#5b3d83}.package-card__art--fertility-mantra{--art-a:#d985bd;--art-b:#7c4378}.package-card__art--joint-mantra{--art-a:#87a9d5;--art-b:#3d5682}.package-card__art--monsoon-mantra{--art-a:#50aac0;--art-b:#24577c}.package-card__art--vitamin-mantra{--art-a:#e7a94d;--art-b:#9b6a26}.package-card__art--complete-mantra{--art-a:#41c1ba;--art-b:#043254}@keyframes package-float{0%,to{transform:translateY(2px)rotate(-1deg)}50%{transform:translateY(-4px)rotate(1deg)}}.package-card__top{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.package-card__top>span{background:var(--teal-pale);color:var(--blue);letter-spacing:.06em;text-transform:uppercase;border-radius:20px;padding:6px 9px;font-size:9px;font-weight:700}.package-card__top>b{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:11px;display:grid}.package-card__top>b:after{content:" tests";width:1px;height:1px;position:absolute;overflow:hidden}.package-card__name{min-height:0;color:var(--blue);letter-spacing:-.04em;text-transform:none;margin:0;font-size:24px;font-weight:700;line-height:1.1}.package-card__label{color:#178f8a;letter-spacing:.04em;text-transform:uppercase;margin:5px 0 0;font-size:11px;font-weight:700;line-height:1.35}.package-card__age{color:#566c74;background:#f1f5f6;border-radius:4px;width:max-content;margin:8px 0 0;padding:4px 7px;font-size:10px;font-weight:600}.package-card__note{color:#61757d;min-height:38px;margin:9px 0 7px;font-size:12px;line-height:1.45}.package-card details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:11px}.package-card summary{cursor:pointer;min-height:41px;color:var(--blue);justify-content:space-between;align-items:center;font-size:11px;font-weight:700;list-style:none;display:flex}.package-card summary::-webkit-details-marker{display:none}.package-card summary span{color:#178f8a;font-size:19px;transition:transform .2s}.package-card details[open] summary span{transform:rotate(45deg)}.package-card ul{flex-wrap:wrap;gap:5px;margin:0 0 10px;padding:0;list-style:none;display:flex}.package-card li{color:#526a72;background:#f2f7f7;border-radius:4px;padding:5px 8px;font-size:10px;line-height:1.35}.package-card__price{justify-content:space-between;align-items:end;gap:16px;margin-top:auto;display:flex}.package-card__price>span{display:grid}.package-card__price>span:last-child{justify-items:end}.package-card__price small{color:#74868c;letter-spacing:.04em;text-transform:uppercase;font-size:10px}.package-card__price strong{color:var(--blue);letter-spacing:-.04em;font-size:23px;line-height:1.15}.package-card__price del{color:#8a989d;font-size:13px}.package-card__price>span:last-child small{color:#16827d;font-weight:700}.package-card>a{background:var(--blue);color:#fff;border-radius:6px;justify-content:space-between;align-items:center;min-height:41px;margin-top:11px;padding:0 12px;font-size:11px;font-weight:700;display:flex}.package-card>a:hover{background:#075078}.packages__guidance{border-left:5px solid var(--teal);color:#586f77;background:#fff;margin:17px 0 0;padding:14px 17px;font-size:12px}.packages__guidance b{color:var(--blue)}.clinical-services{background:var(--blue);color:#fff;padding:64px 0}.clinical-services .section-head{margin-bottom:28px}.clinical-services .section-head h2{color:#fff}.clinical-services .section-head>p{color:#ffffffbf;font-size:17px}.clinical-services .section-head__aside>p{color:#ffffffc7}.clinical-services__controls{justify-content:space-between;align-items:center;margin:-4px 0 16px;display:flex}.clinical-services__controls>span{color:#ffffff8c;letter-spacing:.12em;font-size:12px}.clinical-services__controls>span b{color:var(--teal);font-size:16px}.clinical-services__controls>div{gap:8px;display:flex}.clinical-services__controls button{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff3b;border-radius:50%;place-items:center;width:44px;height:44px;font:500 20px/1 Arial,sans-serif;transition:background .2s,transform .2s,opacity .2s;display:grid}.clinical-services__controls button:hover:not(:disabled){background:var(--teal);color:var(--blue);transform:translateY(-2px)}.clinical-services__controls button:disabled{opacity:.28;cursor:default}.clinical-services__viewport{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;outline:none;overflow-x:auto}.clinical-services__viewport::-webkit-scrollbar{display:none}.clinical-services__viewport:focus-visible{border-radius:14px;box-shadow:0 0 0 3px #41c1ba80}.clinical-services__grid{grid-auto-columns:calc(33.3333% - 8px);grid-auto-flow:column;gap:12px;display:grid}.clinical-services__grid article{scroll-snap-align:start;background:radial-gradient(circle at 100% 0,#41c1ba33,#0000 36%),#ffffff13;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;min-height:320px;padding:18px;transition:background .2s,transform .2s;display:flex;position:relative;overflow:hidden}.clinical-services__grid article:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:118px;height:118px;position:absolute;top:-55px;right:-55px;box-shadow:0 0 0 20px #ffffff09}.clinical-services__grid article:hover{background:#ffffff1f;transform:translateY(-3px)}.clinical-services__art{z-index:1;background:radial-gradient(circle at 50% 65%,#41c1ba57,#0000 48%),linear-gradient(135deg,#ffffff09,#41c1ba17);border-bottom:1px solid #ffffff17;height:116px;margin:-18px -18px 14px;position:relative;overflow:hidden}.clinical-services__art img{object-fit:contain;filter:drop-shadow(0 15px 18px #00000038);padding:8px 20px 3px;transition:transform .35s}.clinical-services__grid article:hover .clinical-services__art img{transform:scale(1.06)translateY(-2px)}.clinical-services__grid h3{color:#fff;letter-spacing:-.02em;margin:2px 0 6px;font-size:20px;line-height:1.25}.clinical-services__grid p{color:#fff;margin:0;font-size:13px;line-height:1.45}.clinical-services__grid small{color:#ffffffa6;margin-top:5px;font-size:11px;line-height:1.45}.clinical-services__grid a{color:var(--teal);text-transform:uppercase;letter-spacing:.045em;margin-top:auto;padding-top:14px;font-size:10px;font-weight:700}.lab-process{background:var(--blue);color:#fff;padding:0}.lab-process__grid{grid-template-columns:1fr 1fr;width:100%;max-width:none;display:grid}.lab-process__photo{min-height:660px;position:relative;overflow:hidden}.lab-process__photo:after{content:"";background:linear-gradient(#0000 55%,#04325473);position:absolute;inset:0}.lab-process__photo img{object-fit:cover;width:100%;height:100%;animation:18s ease-in-out infinite alternate-reverse image-drift}@keyframes image-drift{0%{transform:scale(1.01)translate(-.5%)}to{transform:scale(1.07)translate(.8%)}}.photo-caption{z-index:2;color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:9px;position:absolute;bottom:34px;left:40px}.lab-process__copy{flex-direction:column;justify-content:center;padding:88px clamp(38px,7vw,110px);display:flex}.kicker--light{color:var(--teal)}.lab-process h2,.business h2{color:#fff;max-width:590px}.process-list{grid-template-columns:1fr 1fr;gap:12px;margin-top:34px;display:grid}.process-list>div{background:#ffffff0f;border:1px solid #ffffff29;border-radius:10px;grid-template-columns:42px 1fr;align-items:center;gap:12px;min-height:112px;padding:18px;display:grid}.process-list b{background:var(--teal);width:40px;height:40px;color:var(--blue);border-radius:50%;place-items:center;font:800 13px/1 Poppins,sans-serif;display:grid}.process-list span{gap:4px;display:grid}.process-list strong{font-size:16px}.process-list small{color:#ffffffb3;font-size:13px;line-height:1.45}.turnaround-strip{border:1px solid #ffffff29;grid-template-columns:repeat(3,1fr);margin-top:28px;display:grid}.turnaround-strip span{border-right:1px solid #ffffff29;align-content:center;min-height:82px;padding:15px;display:grid}.turnaround-strip span:last-child{border-right:0}.turnaround-strip strong{color:#fff;font-size:16px}.turnaround-strip small{color:#ffffffad;margin-top:5px;font-size:11px;line-height:1.4}.turnaround-note{color:#ffffff9e;margin:12px 0 0;font-size:12px;line-height:1.5}.home-collection{background:var(--ice)}.home-collection__grid{grid-template-columns:1fr .85fr;align-items:center;gap:105px;display:grid}.home-collection .body-copy{max-width:650px;margin-top:24px}.collection-steps{grid-template-columns:1fr 1fr;gap:14px 24px;margin:34px 0 38px;display:grid}.collection-steps span{min-height:66px;color:var(--blue);background:#fff;border-radius:9px;grid-template-columns:38px 1fr;align-items:center;padding:14px;font-size:14px;line-height:1.45;display:grid;box-shadow:0 8px 22px #0432540f}.collection-steps b{background:var(--teal);width:30px;height:30px;color:var(--blue);border-radius:50%;place-items:center;font-size:12px;display:grid}.report-card{background:#fff;border:1px solid #d6e0e2;box-shadow:0 30px 70px #0432541c}.report-card__head{background:var(--blue);color:#fff;justify-content:space-between;align-items:center;min-height:72px;padding:15px 20px;display:flex}.report-card__head .brand-lockup{width:180px;height:auto}.report-card__head span{color:var(--teal);text-transform:uppercase;letter-spacing:.12em;font-size:11px}.report-card__patient{border-bottom:1px solid var(--line);padding:25px 26px;display:grid}.report-card__patient span{color:#809096;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.report-card__patient strong{color:var(--blue);margin-top:5px;font-size:15px}.report-card__patient small{color:var(--muted);margin-top:3px;font-size:12px}.report-card ol{margin:0;padding:0 26px;list-style:none}.report-card li{border-bottom:1px solid var(--line);color:#52656d;grid-template-columns:40px 1fr auto;align-items:center;min-height:64px;font-size:14px;display:grid}.report-card li b{color:#93a1a6;font:600 9px/1 monospace}.report-card li i{color:#91a0a5;background:#edf1f2;border-radius:50%;place-items:center;width:21px;height:21px;font-size:9px;font-style:normal;display:grid}.report-card li.complete{color:var(--blue)}.report-card li.complete b{color:var(--teal)}.report-card li.complete i{background:var(--teal-pale);color:var(--blue)}.report-card>p{color:#7a898e;margin:0;padding:18px 26px 22px;font-size:12px;line-height:1.6}.coverage{background:#fff}.coverage__grid{grid-template-columns:.78fr 1fr;align-items:start;gap:100px;display:grid}.coverage h2{color:var(--blue);letter-spacing:-.045em;margin:14px 0 22px;font-size:clamp(36px,4.3vw,56px);line-height:1.12}.coverage__areas{border-top:1px solid var(--line)}.coverage__areas article{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr;align-items:center;min-height:112px;padding:20px 0;display:grid}.coverage__areas article>span{background:var(--teal-pale);width:48px;height:48px;color:var(--blue);border-radius:50%;place-items:center;font:700 22px/1 Poppins,sans-serif;display:grid}.coverage__areas h3{color:var(--blue);margin:0 0 5px;font-size:18px}.coverage__areas p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.coverage__areas .button{margin-top:26px}.business{background:var(--blue);color:#fff}.business__grid{grid-template-columns:1.1fr .75fr;align-items:end;gap:110px;display:grid}.business p:not(.kicker){color:#ffffffbf;max-width:660px;font-size:16px;line-height:1.7}.business .button{margin-top:24px}.business__list{border-top:1px solid #ffffff2e}.business__list span{color:#ffffffd1;border-bottom:1px solid #ffffff2e;grid-template-columns:54px 1fr;align-items:center;min-height:66px;padding:0 4px;font-size:14px;display:grid}.business__list b{color:var(--teal);font:600 9px/1 monospace}.about{background:#fff}.about__grid{grid-template-columns:.65fr 1fr;align-items:center;gap:110px;display:grid}.about__history{background:var(--teal-pale);border-left:8px solid var(--teal);flex-direction:column;justify-content:center;min-height:440px;padding:50px;display:flex;position:relative;overflow:hidden}.about__history:after{content:"";border:1px solid #04325421;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-100px;right:-140px;box-shadow:0 0 0 42px #04325409,0 0 0 84px #04325406}.about__history>span{color:var(--blue);letter-spacing:-.08em;font-size:clamp(72px,9vw,120px);font-weight:800;line-height:1}.about__history>p{color:var(--blue);margin:14px 0 10px;font-size:16px;font-weight:600}.about__history .section-art{z-index:2;width:174px;height:106px;margin:4px 0 18px}.about__history>i{background:var(--red);width:86px;height:7px;display:block}.about .body-copy{margin-top:22px}.about__facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:36px;padding-top:24px;display:grid}.about__facts span{color:#6b7d84;font-size:12px;display:grid}.about__facts strong{color:var(--blue);margin-bottom:3px;font-size:20px}.pathologists{background:var(--teal-pale)}.pathologists__grid{grid-template-columns:.72fr 1fr;align-items:start;gap:95px;display:grid}.pathologists .body-copy{max-width:520px;margin-top:22px}.pathologist-cards{grid-template-columns:1fr 1fr;gap:18px;display:grid}.pathologist-cards article{border-top:6px solid var(--blue);background:#fff;flex-direction:column;min-height:260px;padding:32px;display:flex;box-shadow:0 20px 44px #04325414}.pathologist-cards span{color:#178f8a;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.pathologist-cards h3{color:var(--blue);margin:30px 0 8px;font-size:22px;line-height:1.25}.pathologist-cards p{color:#52666e;margin:0;font-size:14px}.pathologist-cards small{border-top:1px solid var(--line);min-height:65px;color:var(--muted);margin-top:auto;padding-top:24px;font-size:12px}.quote{background:var(--ice)}.quote__grid{grid-template-columns:.75fr 1fr;align-items:start;gap:95px;display:grid}.quote__intro>p:not(.kicker){color:var(--muted);font-size:16px;line-height:1.7}.contact-list{border-top:1px solid var(--line);margin-top:34px}.contact-list a{border-bottom:1px solid var(--line);padding:16px 0;display:grid}.contact-list span{color:#7a898e;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.contact-list strong{color:var(--blue);margin-top:4px;font-size:14px}.quote-form{border-top:7px solid var(--blue);background:#fff;padding:40px;box-shadow:0 24px 55px #04325414}.field-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.quote-form label{color:var(--blue);text-transform:uppercase;letter-spacing:.07em;gap:8px;margin-bottom:18px;font-size:12px;font-weight:700;display:grid}.quote-form input,.quote-form select,.quote-form textarea{width:100%;color:var(--charcoal);text-transform:none;letter-spacing:0;background:#fbfcfc;border:1px solid #d5dfe2;border-radius:3px;outline:none;padding:13px 14px;font:400 14px/1.5 Poppins,sans-serif}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #41c1ba1f}.quote-form textarea{resize:vertical}.quote-form .button{width:100%}.form-note{color:#7b8b90;text-align:center;margin:11px 0 0;font-size:12px}.faq{background:#fff}.faq__grid{grid-template-columns:.62fr 1fr;gap:100px;display:grid}.faq__items{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;min-height:70px;color:var(--blue);justify-content:space-between;align-items:center;font-size:15px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:var(--red);font-size:20px;font-weight:400;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:var(--muted);margin:0;padding:0 40px 22px 0;font-size:14px;line-height:1.7}footer{background:var(--blue-dark);color:#fff;padding:62px 0 24px}.footer__top{grid-template-columns:.75fr 1fr .55fr;align-items:start;gap:60px;padding-bottom:44px;display:grid}.brand--footer .brand-lockup{width:230px;height:auto}.footer__top>p{color:#ffffffa8;margin:0;font-size:13px;line-height:1.75}.footer__top>div{color:#ffffffc2;gap:11px;font-size:12px;display:grid}.footer__bottom{color:#ffffff85;border-top:1px solid #ffffff1f;justify-content:space-between;padding-top:20px;font-size:11px;display:flex}.mobile-cta{display:none}.offer-dock{z-index:45;filter:drop-shadow(0 18px 30px #03294333);align-items:center;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%)}.offer-dock__tab{background:var(--teal);width:54px;min-height:188px;color:var(--blue);cursor:pointer;border:0;border-radius:12px 0 0 12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:13px 8px;display:flex;box-shadow:inset 0 0 0 1px #ffffff38}.offer-dock__tab b{font-size:16px;line-height:1}.offer-dock__tab span{writing-mode:vertical-rl;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1;transform:rotate(180deg)}.offer-dock__tab:hover{background:#68d5cf}.offer-dock__panel{background:linear-gradient(145deg, var(--blue), #064d74);color:#fff;border:1px solid #41c1ba80;border-radius:16px 0 0 16px;width:306px;padding:23px;animation:.28s ease-out both dock-open;display:grid;position:relative;overflow:hidden}.offer-dock__panel:after{content:"";pointer-events:none;border:18px solid #41c1ba21;border-radius:50%;width:170px;height:170px;position:absolute;top:-104px;right:-104px}.offer-dock__close{z-index:3;color:#ffffff9e;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:30px;height:30px;font:500 23px/1 Arial,sans-serif;display:grid;position:absolute;top:8px;right:9px}.offer-dock__close:hover{color:#fff;background:#ffffff1a}.offer-dock__art{background:var(--teal);border-radius:50% 50% 50% 11px;place-items:center;width:66px;height:66px;margin-bottom:16px;display:grid;position:relative;overflow:hidden}.offer-dock__art:after{content:"";border:1px dashed #0432543d;border-radius:50%;animation:8s linear infinite offer-spin;position:absolute;inset:7px}.offer-dock__art span{z-index:2;color:var(--teal);font-size:15px;font-weight:800;position:absolute;top:10px;left:12px}.offer-dock__art b{z-index:2;color:var(--blue);letter-spacing:-.05em;font-size:23px;position:relative}.offer-dock__art i{z-index:1;background:#fff;border-radius:50% 50% 50% 8px;width:45px;height:45px;animation:2.8s ease-in-out infinite offer-pop;position:absolute}.offer-dock__panel>small{color:var(--teal);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.offer-dock__panel>strong{color:#fff;letter-spacing:-.03em;margin-top:4px;padding-right:20px;font-size:22px;line-height:1.25}.offer-dock__panel>p{color:#ffffffad;text-transform:uppercase;letter-spacing:.07em;border:1px solid #ffffff38;border-radius:4px;width:max-content;margin:12px 0 14px;padding:6px 10px;font-size:10px}.offer-dock__panel>p b{color:#fff;margin-left:6px;font-size:14px}.offer-dock__panel>a{min-height:43px;color:var(--blue);background:#fff;border-radius:5px;justify-content:space-between;align-items:center;padding:0 14px;font-size:12px;font-weight:700;display:flex}.offer-dock__terms{color:#ffffff8c;text-align:center;margin-top:12px;font-size:9px}@keyframes dock-open{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes offer-spin{to{transform:rotate(360deg)}}@keyframes offer-pop{0%,to{transform:scale(.94)}50%{transform:scale(1.06)}}@media (min-width:1100px){.catalogue-grid,.package-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:641px) and (max-width:1240px){.shell{width:calc(100% - 94px);margin-left:20px;margin-right:74px}}@media (max-width:980px){.section-head h2{white-space:normal}.section-head__aside{grid-template-columns:1fr 164px}nav{display:none}.hero__grid{grid-template-columns:1fr}.hero__copy{padding:54px 0 48px}.hero__media{min-height:360px}.quick-paths__grid{grid-template-columns:1fr 1fr}.quick-paths__intro,.quick-paths a{border-bottom:1px solid var(--line)}.test-grid{grid-template-columns:1fr 1fr}.lab-process__grid{grid-template-columns:1fr}.lab-process__photo{min-height:560px}.home-collection__grid,.coverage__grid,.business__grid,.about__grid,.pathologists__grid,.quote__grid,.faq__grid{grid-template-columns:1fr;gap:60px}.catalogue-tools{grid-template-columns:1fr}.category-tabs{justify-content:flex-start}.catalogue-grid,.package-grid{grid-template-columns:1fr 1fr}.clinical-services__grid{grid-auto-columns:calc(50% - 6px)}.report-card{max-width:600px}.about__history{min-height:350px}}@media (max-width:640px){.shell{width:min(100% - 28px,1180px)}.section{padding:64px 0}.tests,.clinical-services{padding:56px 0}.topbar__inner>span,.topbar__inner>div>span{display:none}.topbar__inner{justify-content:center}.nav-wrap{gap:12px;min-height:70px}.brand-lockup{width:178px;height:auto}.button--compact{min-height:42px;margin-left:auto;padding:0 12px;font-size:11px}.hero__copy{padding:40px 0 34px}h1{margin:16px 0;font-size:42px}.hero__lead{font-size:16px}.hero-booking{margin-top:20px;padding:14px}.hero-booking__search{grid-template-columns:1fr 92px}.hero-booking__search input{padding:0 11px;font-size:14px}.hero-booking__search>a{gap:5px;min-width:0;padding:0 10px;font-size:12px}.hero__actions{display:grid}.hero-home-booking>div{grid-template-columns:1fr}.hero__facts{gap:12px;margin-top:32px;display:grid}.hero__facts span{grid-template-columns:26px 1fr}.hero__media{min-height:260px}.hero__media>img{object-position:66% center}.specimen-tag{width:152px;top:14px;right:14px}.quick-paths__grid{grid-template-columns:1fr}.quick-paths__intro,.quick-paths a{border-right:0;min-height:88px;padding:20px 8px}.section-head{grid-template-columns:1fr;gap:20px}.section-head__aside{grid-template-columns:1fr}.section-head__aside .section-art{margin-top:6px}.test-grid,.catalogue-grid,.package-highlights,.package-grid{grid-template-columns:1fr}.package-highlights span{border-bottom:1px solid #d8e9e7;border-right:0;min-height:66px}.package-highlights span:last-child{border-bottom:0}.package-card{min-height:0}.catalogue-card{min-height:0;padding:22px}.catalogue-card__visual{margin:-22px -22px 0}.catalogue-card__benefit{min-height:0;font-size:13px}.catalogue-card__foot{align-items:center}.pathologist-cards{grid-template-columns:1fr}.clinical-services__grid{grid-auto-columns:min(84vw,310px)}.clinical-services__grid article{min-height:320px;padding:18px}.clinical-services__controls{margin-top:0}.test-card{min-height:220px}.lab-process__photo{min-height:400px}.lab-process__copy{padding:70px 28px}.process-list,.turnaround-strip{grid-template-columns:1fr}.turnaround-strip span{border-bottom:1px solid #ffffff29;border-right:0;min-height:68px}.turnaround-strip span:last-child{border-bottom:0}.collection-steps{grid-template-columns:1fr}.report-card__head .brand-lockup{width:154px;height:auto}.business__grid{gap:45px}.about__history{min-height:300px;padding:34px}.about__facts{grid-template-columns:1fr;gap:16px}.quote-form{padding:25px}.field-row{grid-template-columns:1fr;gap:0}.footer__top{grid-template-columns:1fr;gap:28px}.footer__bottom{gap:8px;padding-bottom:62px;display:grid}.offer-dock{filter:drop-shadow(0 14px 26px #03294333);flex-direction:column;align-items:flex-end;top:auto;bottom:76px;right:10px;transform:none}.offer-dock__tab{border-radius:22px;flex-direction:row;gap:9px;width:154px;min-height:44px;padding:0 14px}.offer-dock__tab b{font-size:15px}.offer-dock__tab span{writing-mode:horizontal-tb;font-size:9px;transform:none}.offer-dock__panel{border-radius:14px;width:min(326px,100vw - 20px);margin-bottom:8px;padding:20px}.offer-dock__panel>strong{font-size:20px}.mobile-cta{z-index:40;background:var(--blue);color:#fff;border:1px solid #41c1ba8c;border-radius:5px;justify-content:space-between;align-items:center;min-height:54px;padding:0 20px;font-size:14px;font-weight:600;display:flex;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 14px 36px #04325447}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}.specimen-motion__drop,.specimen-motion__tube b,.catalogue-card__pulse:after,.package-card__art>span,.section-art img,.section-art>span,.hero__media>img,.lab-process__photo img,.offer-dock *{animation:none!important}}

/* ==========================================================================
   Malhotra Labs — mobile layer (appended; desktop >980px is untouched)
   ========================================================================== */
@media (max-width:980px){

  /* --- 1. Card grids become swipeable carousels --------------------------
     Matches the pattern the site already uses for clinical services:
     x-snap, hidden scrollbar, next card peeking to signal swipeability.   */
  .catalogue-grid,.package-grid{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:min(82vw,320px);
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:4px;
  }
  .catalogue-grid::-webkit-scrollbar,
  .package-grid::-webkit-scrollbar{display:none}
  .catalogue-grid>*,.package-grid>*{scroll-snap-align:start}

  /* anchor jumps must clear the sticky header */
  section[id]{scroll-margin-top:84px}

  /* --- 2. Tap targets to the 44px minimum ------------------------------- */
  .topbar a{display:inline-flex;align-items:center;min-height:44px}
  .hero__search-popular a,.hero-search__chip{min-height:44px;display:inline-flex;align-items:center}

  /* --- 3. Hero search: stop truncating the placeholder ------------------- */
  .hero__search form,.hero-search__form{flex-wrap:wrap}
  .hero__search input[type=text],.hero__search input:not([type=checkbox]){min-width:100%;flex:1 0 100%}
  .hero__search button,.hero__search a.button{width:100%;justify-content:center;white-space:nowrap}

  /* --- 4. Bottom furniture: one bar instead of three -------------------- */
  .mobile-cta{display:none!important}          /* replaced by .mlab-actions */
  .offer-dock{bottom:calc(var(--mlab-bar-h,104px) + 12px)!important}
  main{padding-bottom:calc(var(--mlab-bar-h,104px) + 16px)}
}

/* --------------------------------------------------------------------------
   Mobile nav bar — built by mobile-enhancements.js, hidden above 980px
   -------------------------------------------------------------------------- */
.mlab-bar,.mlab-menu{display:none}

@media (max-width:980px){
  :root{--mlab-bar-h:104px}

  .mlab-bar{
    display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;
    background:#fffffff2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border-top:1px solid var(--line);
    padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));
    box-shadow:0 -8px 24px #0329431f;
  }
  .mlab-bar__row{display:flex;align-items:center;gap:8px}

  .mlab-burger{
    flex:0 0 auto;width:44px;height:44px;display:grid;place-content:center;gap:4px;
    background:var(--blue);border:0;border-radius:11px;cursor:pointer;
  }
  .mlab-burger span{display:block;width:17px;height:2px;background:#fff;border-radius:2px;transition:transform .18s}
  .mlab-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .mlab-burger[aria-expanded=true] span:nth-child(2){opacity:0}
  .mlab-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  .mlab-rail{
    display:flex;gap:7px;overflow-x:auto;scroll-behavior:smooth;
    scrollbar-width:none;overscroll-behavior-inline:contain;
    -webkit-mask-image:linear-gradient(90deg,#0000,#000 12px,#000 calc(100% - 18px),#0000);
            mask-image:linear-gradient(90deg,#0000,#000 12px,#000 calc(100% - 18px),#0000);
  }
  .mlab-rail::-webkit-scrollbar{display:none}
  .mlab-chip{
    flex:0 0 auto;display:inline-flex;align-items:center;min-height:38px;padding:0 14px;
    border:1px solid var(--line);border-radius:19px;background:#fff;
    color:var(--blue);font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none;
    transition:background .18s,color .18s,border-color .18s;
  }
  .mlab-chip.is-active{background:var(--blue);border-color:var(--blue);color:#fff}

  .mlab-actions{display:flex;gap:8px;margin-top:6px}
  .mlab-action{
    flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:7px;
    min-height:46px;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none;
  }
  .mlab-action svg{width:18px;height:18px}
  .mlab-action--call{background:#fff;border:1.5px solid var(--blue);color:var(--blue);flex:0 0 116px}
  .mlab-action--book{background:var(--blue);color:#fff;border:1px solid #41c1ba8c}

  /* --- menu sheet ------------------------------------------------------- */
  .mlab-menu{
    display:block;position:fixed;inset:0;z-index:60;background:#03294352;
    opacity:0;transition:opacity .2s;
  }
  .mlab-menu.is-open{opacity:1}
  .mlab-menu__sheet{
    position:absolute;left:0;right:0;bottom:0;background:#fff;
    border-radius:18px 18px 0 0;padding:18px 18px calc(20px + env(safe-area-inset-bottom,0px));
    transform:translateY(12px);transition:transform .22s;max-height:86vh;overflow-y:auto;
  }
  .mlab-menu.is-open .mlab-menu__sheet{transform:none}
  .mlab-menu__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
  .mlab-menu__head strong{font-size:17px;color:var(--blue)}
  .mlab-menu__close{
    width:44px;height:44px;border:0;background:#0432540d;border-radius:50%;
    font:400 26px/1 Arial,sans-serif;color:var(--blue);cursor:pointer;
  }
  .mlab-menu__list{display:grid}
  .mlab-menu__list a{
    display:flex;align-items:center;min-height:52px;border-bottom:1px solid var(--line);
    color:var(--blue);font-size:16px;font-weight:600;text-decoration:none;
  }
  .mlab-menu__list a:last-child{border-bottom:0}
  .mlab-menu__foot{display:grid;gap:9px;margin-top:14px}
  .mlab-menu__cta{
    display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:10px;
    background:var(--blue);color:#fff;font-size:15px;font-weight:700;text-decoration:none;
  }
  .mlab-menu__cta--alt{background:var(--teal);color:var(--blue)}
  .mlab-menu__toggle{
    display:flex;align-items:center;gap:9px;margin-top:14px;padding-top:12px;
    border-top:1px solid var(--line);color:#5a6b78;font-size:13px;
  }
  .mlab-menu__toggle input{width:18px;height:18px;accent-color:var(--blue)}

  body.mlab-locked{overflow:hidden}
}

@media (prefers-reduced-motion:reduce){
  .mlab-rail,.mlab-menu,.mlab-menu__sheet,.mlab-chip{transition:none;scroll-behavior:auto}
}

/* --- corrections after testing on staging -------------------------------- */
@media (max-width:980px){
  /* hero search: input full width so the placeholder is readable, button on its own row */
  .hero-booking__search{grid-template-columns:1fr!important;gap:10px}
  .hero-booking__search input{width:100%}
  .hero-booking__search>a{width:100%;justify-content:center;white-space:nowrap;min-height:48px}

  /* popular test chips and the logo up to the 44px minimum */
  .hero-booking__popular a{min-height:44px;display:inline-flex;align-items:center}
  .site-header a[href="#top"],.brand-lockup{min-height:44px}
  .site-header a[href="#top"]{display:inline-flex;align-items:center}

  /* filter chips and the header CTA: 42px -> 44px */
  #tests button,.site-header a[href*="wa.me"]{min-height:44px}
}

/* --- remaining tap targets found on staging ------------------------------ */
@media (max-width:980px){
  /* footer nav links were 347x20 */
  footer nav a,footer ul a,footer li a{min-height:44px;display:flex;align-items:center}
  /* "See matching package" was 31px */
  a[href^="#package-"]{min-height:44px;display:inline-flex;align-items:center}
  /* card CTAs were 41-42px */
  .catalogue-grid a[href*="wa.me"],.package-grid a[href*="wa.me"],
  .catalogue-grid .button,.package-grid .button{min-height:44px}
}

/* --- last tap targets: footer links and the section chips ---------------- */
@media (max-width:980px){
  .footer__top>div>a{min-height:44px;display:flex;align-items:center}
  .mlab-chip{min-height:44px}
}

/* ==========================================================================
   Carousel discoverability (NN/g: users see only the first 3-5 of a row)
   Collapse is CSS-driven off html.mlab-js so it costs zero layout shift;
   carousel-enhance.js only fills the reserved slot with the control.
   ========================================================================== */
@media (max-width:980px){
  /* a clearly cut-off next card is the swipe signifier that actually works */
  .catalogue-grid,.package-grid{grid-auto-columns:min(78vw,300px)}

    /* space held from first paint for the injected control */
  .catalogue-grid,.package-grid{margin-bottom:56px}
  .mlab-cx{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    height:56px;margin-top:-56px;
  }
  .mlab-cx[hidden]{display:none}
  .mlab-cx__count{color:#5a6b78;font-size:12px;letter-spacing:.04em}
  .mlab-cx__count[hidden]{display:none}
  .mlab-cx__btn{
    min-height:44px;padding:0 16px;border:1.5px solid var(--blue);border-radius:22px;
    background:#fff;color:var(--blue);font-size:13px;font-weight:700;cursor:pointer;
  }

  /* expanded: stop being a carousel, become a plain vertical list */
  .catalogue-grid.mlab-open,.package-grid.mlab-open{
    grid-auto-flow:row;grid-template-columns:1fr;grid-auto-columns:auto;
    overflow-x:visible;scroll-snap-type:none;gap:14px;
  }
  }

/* ==========================================================================
   v2 — declutter: no fixed bottom furniture at all.
   Nav and Call live in the sticky header that already exists; the offer moves
   into the page. Persistent chrome on a phone = one 71px header.
   ========================================================================== */
@media (max-width:980px){
  /* v1 leftovers, off */
  .mlab-bar{display:none!important}
  .mobile-cta{display:none!important}
  .offer-dock{display:none!important}
  html.mlab-keep-dock .offer-dock{display:flex!important;bottom:16px!important}

  main{padding-bottom:0}

  /* header must fit: logo + Book + call + menu inside 375px */
  .site-header .nav-wrap{display:flex;align-items:center;gap:8px}
  .brand-lockup{max-width:150px;height:auto}
  .site-header .button--compact{margin-left:auto;padding:0 12px;font-size:13px}

  .mlab-hdr-btn{
    flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:11px;border:1px solid var(--line);
    background:#fff;color:var(--blue);cursor:pointer;
  }
  .mlab-hdr-btn svg{width:20px;height:20px}
  .mlab-burger{flex-direction:column;gap:4px;background:var(--blue);border-color:var(--blue)}
  .mlab-burger span{display:block;width:17px;height:2px;background:#fff;border-radius:2px;transition:transform .18s,opacity .18s}
  .mlab-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .mlab-burger[aria-expanded=true] span:nth-child(2){opacity:0}
  .mlab-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

  /* inline offer strip — replaces the floating dock. Space reserved from
     first paint so injecting it costs no layout shift. */
  .mlab-js .hero-booking{margin-bottom:66px}
  .mlab-offer{
    display:flex;align-items:center;gap:10px;height:54px;margin-top:-66px;margin-bottom:12px;
    padding:0 16px;border-radius:12px;background:var(--teal);color:var(--blue);
    text-decoration:none;font-weight:700;
  }
  .mlab-offer b{font-size:19px;letter-spacing:-.02em}
  .mlab-offer span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;line-height:1.2}
  .mlab-offer em{margin-left:auto;font-style:normal;font-size:18px}
}

@media (max-width:400px){
  .brand-lockup{max-width:126px}
  .site-header .button--compact{padding:0 10px;font-size:12px}
}

/* Injected mobile-only chrome must never render on desktop. Scoped to a
   min-width query so source order can't let it leak into the mobile rules. */
@media (min-width:981px){
  .mlab-bar,.mlab-menu,.mlab-hdr-btn,.mlab-cx,.mlab-offer{display:none!important}
}

/* ==========================================================================
   Section heads whose aside is art only: keep the heading and the
   illustration side by side on phones instead of stacking them.
   Scoped with :has() so heads that carry a paragraph alongside the art are
   untouched; where :has() is unsupported the current stacked layout stands.
   ========================================================================== */
@media (max-width:640px){
  .section-head:has(.section-head__aside--art-only){
    grid-template-columns:1fr 96px;
    align-items:center;
    gap:14px;
  }
  .section-head:has(.section-head__aside--art-only) .section-art{
    width:96px;height:62px;margin-top:0;border-radius:18px;
  }
  .section-head:has(.section-head__aside--art-only) .section-art:before{inset:6px;border-radius:13px}
  .section-head:has(.section-head__aside--art-only) .section-art img{padding:5px}
  .section-head:has(.section-head__aside--art-only) .section-art>span{width:7px;height:7px;top:9px;right:10px}
}

/* ==========================================================================
   Section heads: illustration sits beside the copy on phones, in every
   section, instead of dropping below it and leaving the row half empty.
   ========================================================================== */
@media (max-width:640px){
  /* art-only head (Popular tests): art beside the heading */
  .section-head:has(.section-head__aside--art-only){
    grid-template-columns:1fr 104px;align-items:center;gap:14px;
  }
  /* head with supporting copy: copy and art share the row */
  .section-head__aside{
    grid-template-columns:1fr 104px;align-items:center;gap:14px;
  }
  .section-head__aside .section-art,
  .section-head:has(.section-head__aside--art-only) .section-art{
    width:104px;height:66px;margin:0;border-radius:18px;
  }
  .section-head .section-art:before{inset:6px;border-radius:13px}
  .section-head .section-art img{padding:5px}
  .section-head .section-art>span{width:7px;height:7px;top:9px;right:10px}
}

/* ==========================================================================
   Carousel controls — counter + arrows, styled to match the controls the
   site already uses for its health-need carousel.
   ========================================================================== */
@media (max-width:980px){
  .mlab-cx{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    height:auto;margin:0 0 14px;
  }
  .mlab-cx[hidden]{display:none}
  .mlab-cx__count{color:var(--muted);letter-spacing:.12em;font-size:12px}
  .mlab-cx__count b{color:var(--teal);font-size:16px}
  .mlab-cx__nav{display:flex;gap:8px}
  .mlab-cx__arrow{
    display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
    border:1px solid var(--line);background:#fff;color:var(--blue);
    font:500 20px/1 Arial,sans-serif;cursor:pointer;
    transition:background .18s,transform .18s;
  }
  .mlab-cx__arrow:hover:not(:disabled){background:var(--blue);color:#fff;transform:translateY(-2px)}
  .mlab-cx__arrow:disabled{opacity:.28;cursor:default}
  /* the reserved slot is no longer needed: the control sits above the row */
  .catalogue-grid,.package-grid{margin-bottom:0}
  /* dark sections need the light-on-dark treatment */
  .packages .mlab-cx__count,.health-packages .mlab-cx__count{color:#ffffff8c}
  .packages .mlab-cx__arrow,.health-packages .mlab-cx__arrow{
    background:#ffffff12;border-color:#ffffff3b;color:#fff;
  }
}
@media (min-width:981px){
  .mlab-cx{display:none!important}
}

/* ==========================================================================
   Home collection: drop the "Sample journey" mock card on phones.
   On desktop it sits beside the numbered steps as a companion panel. Once the
   grid collapses to one column it lands directly under those steps and repeats
   them a third time (after "Four clear steps to your report" and the numbered
   collection steps), including the Tricity area already named in the copy above.
   Desktop is untouched.
   ========================================================================== */
@media (max-width:980px){
  #home-collection .report-card{display:none}
}

/* ==========================================================================
   Phone build — the first screen should answer "find a test", not scroll.
   ========================================================================== */
@media (max-width:640px){
  /* Hero: trim the headline and supporting copy so the search box is reached
     without scrolling. Nothing is removed, only sized for a phone. */
  .hero__copy{padding:26px 0 22px}
  .hero h1{font-size:clamp(30px,8.2vw,38px);line-height:1.08;margin:10px 0 0}
  .hero__copy>p{font-size:15px;line-height:1.55;margin-top:12px;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .hero__media{min-height:190px}
  .hero-booking{margin-top:16px}

  /* Quick actions: the three things a phone visitor came for. */
  .mlab-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 4px}
  .mlab-quick__item{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
    min-height:74px;padding:10px 6px;border-radius:14px;text-decoration:none;
    background:#ffffff14;border:1px solid #ffffff2e;color:#fff;
    font-size:11.5px;font-weight:700;letter-spacing:.01em;text-align:center;line-height:1.25;
    transition:transform .18s ease,background .18s ease;
  }
  .mlab-quick__item:active{transform:scale(.97)}
  .mlab-quick__item i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
    background:var(--teal);color:var(--blue)}
  .mlab-quick__item i svg{width:18px;height:18px}
  .mlab-quick__item.is-chat i{background:#25d366;color:#fff}
  .mlab-quick__item.is-home i{background:#fff;color:var(--blue)}

  /* Section rhythm: less dead space between blocks on a small screen. */
  .section{padding-top:44px;padding-bottom:44px}
  .section-head{margin-bottom:22px}
}

/* Reveal on scroll — decorative only, and never for reduced motion. */
.mlab-reveal{opacity:0;transform:translateY(14px)}
.mlab-in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.3,1)}
@media (prefers-reduced-motion:reduce){
  .mlab-reveal,.mlab-in{opacity:1;transform:none;transition:none}
}

/* The pathologists block is gone from the markup; this is belt-and-braces in
   case a cached bundle still renders it. */
#pathologists,.pathologist-cards{display:none!important}

@media (min-width:641px){
  .mlab-quick{display:none!important}
}

/* --- hero stacking, now that the quick actions live under the search ------ */
@media (max-width:980px){
  /* the reserved-slot trick is no longer needed: the strip flows after the
     quick actions instead of being pulled up into the hero card's margin */
  .mlab-js .hero-booking{margin-bottom:0}
  .mlab-offer{margin:12px 0 0}
}
@media (max-width:640px){
  /* "Book home collection" is now covered by the Home collection quick action */
  .hero__actions{display:none}
}

/* ==========================================================================
   Hero, decluttered. Every action now appears exactly once:
     call  -> the phone button in the sticky header (follows you down the page)
     book  -> "Book a test" in the sticky header
     find  -> the search card
     home  -> the hero's own "Book home collection" button
     offer -> the ₹200 strip
   ========================================================================== */
@media (max-width:640px){
  /* the top strip only repeats the header's call button, and scrolls away */
  .topbar{display:none}

  /* the placeholder already reads "Search CBC, thyroid, diabetes…" */
  .hero-booking>label[for="hero-test-search"]{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0 0 0 0);white-space:nowrap;border:0;
  }

  /* the injected action row is gone — this is the unique action, so bring it back */
  .hero__actions{display:block;margin-top:14px}
  .hero__actions .button{width:100%;justify-content:center;min-height:50px}

  /* a little more room to breathe now that there is less in the hero */
  .hero-booking{margin-top:18px;padding:18px}
  .hero-booking__popular{margin-top:14px}
}

/* the quick-action row is no longer built; make sure a cached copy never shows */
.mlab-quick{display:none!important}

/* ==========================================================================
   PHONE, REBUILT
   A lab visitor on a phone is not reading a headline — they are looking for a
   test, a price, or a way to reach the lab. So the top of the page becomes a
   utility block (brand · WhatsApp · call · menu, then search), the marketing
   line is sized down to a caption, and the body text is raised to a readable
   floor. The ₹200 offer goes back to a small tab on the edge, since it is a
   temporary promotion rather than part of the page.
   ========================================================================== */
@media (max-width:640px){

  /* ---- 1. header: brand + two round action icons + menu ------------------ */
  .site-header .shell{padding-top:8px;padding-bottom:8px}
  .brand-lockup{max-width:132px}
  .site-header a[href*="wa.me"]{
    width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;
    display:grid;place-items:center;font-size:0;background:#25d366;border-color:#25d366;
  }
  .site-header a[href*="wa.me"] .mlab-ico{display:grid;place-items:center;color:#fff}
  .site-header a[href*="wa.me"] .mlab-ico svg{width:22px;height:22px}

  /* ---- 2. hero: a compact utility block, not a billboard ----------------- */
  .hero__copy{padding:18px 0 20px}
  .hero .eyebrow,.hero .kicker{
    font-size:10.5px;letter-spacing:.14em;margin:0;opacity:.85;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .hero h1{font-size:27px;line-height:1.12;margin:8px 0 0;letter-spacing:-.02em}
  /* the marketing paragraph is what pushes the search off the screen */
  .hero__lead,.hero__copy>p:not(.eyebrow):not(.kicker){display:none}
  .hero-booking{margin-top:16px;padding:16px;border-radius:16px}
  .hero__media{min-height:170px}
  .hero__actions{margin-top:12px}
  .hero__actions .button{min-height:50px;font-size:15px}

  /* ---- 3. readable floor — nothing meaningful under ~12px ---------------- */
  .catalogue-card p{font-size:14px;line-height:1.5}
  .catalogue-card__meta li{font-size:12.5px}
  .catalogue-card__head small{font-size:12px}
  .catalogue-card__foot small{font-size:12px}
  .catalogue-card__foot a{font-size:13.5px}
  .catalogue-card h3{font-size:17px}

  .package-card li{font-size:12.5px}
  .package-card a{font-size:13.5px}
  .package-card__age p{font-size:12px}
  .package-card__label p{font-size:12.5px}
  .package-card__note p{font-size:14px;line-height:1.5}
  .package-card__price small{font-size:12px}
  .package-card__top span{font-size:11.5px}
  .package-highlights span{font-size:13px}

  .clinical-services__grid a{font-size:12.5px}
  .clinical-services__grid small{font-size:12.5px}
  .clinical-services__grid p{font-size:14px;line-height:1.5}
  .turnaround-strip small{font-size:12.5px}
  .quote-form label{font-size:14px}
  .footer__top a,.shell>div>a{font-size:14px}
  .body-copy,.section-head>p,.section-head__aside>p{font-size:15px;line-height:1.6}
}

/* ==========================================================================
   The ₹200 offer is a temporary promotion: a small tab on the edge, the way
   it behaves on desktop — not a banner occupying the first screen.
   ========================================================================== */
.mlab-offer{display:none!important}

@media (max-width:980px){
  .offer-dock{
    display:flex!important;position:fixed;top:auto;bottom:96px;right:0;left:auto;
    z-index:45;flex-direction:column;align-items:flex-end;transform:none;
  }
  .offer-dock__tab{
    width:40px;min-height:132px;border-radius:12px 0 0 12px;
    flex-direction:column;justify-content:center;gap:8px;padding:12px 6px;
  }
  .offer-dock__tab b{font-size:13px}
  .offer-dock__tab span{
    writing-mode:vertical-rl;transform:rotate(180deg);
    font-size:8.5px;letter-spacing:.09em;line-height:1;
  }
  .offer-dock__panel{width:min(300px,100vw - 24px);margin-bottom:8px}
}

/* --- readable floor, final pass ------------------------------------------
   These few were outranked by more specific rules in the original stylesheet,
   so they are raised explicitly. Purely decorative marks (the specimen tag on
   the lab photo, the vertical offer tab) keep their designed size.          */
@media (max-width:640px){
  .package-card .package-card__label p{font-size:12.5px!important;line-height:1.35}
  .package-card .package-card__age p{font-size:12px!important}
  .package-card .package-card__top span{font-size:12px!important}
  .contact-list span{font-size:12.5px!important}
  .photo-caption span{font-size:11.5px!important}
  footer .shell span{font-size:12.5px!important}
}

/* the class is on the <p> itself, not on a wrapper around it */
@media (max-width:640px){
  p.package-card__label{font-size:12.5px!important;line-height:1.35}
  p.package-card__age{font-size:12px!important}
  p.package-card__note{font-size:14px!important;line-height:1.5}
  p.catalogue-card__benefit{font-size:14px!important;line-height:1.5}
}

/* ==========================================================================
   Contact as a floating pair, bottom right — and the top bar drops to just
   the brand and the menu, which is what was making it feel crowded.
   ========================================================================== */
.mlab-fab{display:none}

@media (max-width:640px){
  /* the header keeps the brand and the menu; contact lives on the buttons */
  .site-header a[href*="wa.me"],
  .site-header a[href^="tel:"]{display:none!important}
  .site-header .shell{padding-top:10px;padding-bottom:10px}
  .brand-lockup{max-width:168px}

  .mlab-fab{
    display:grid;gap:10px;position:fixed;z-index:55;
    right:14px;bottom:calc(16px + env(safe-area-inset-bottom,0px));
  }
  .mlab-fab__btn{
    display:grid;place-items:center;width:48px;height:48px;border-radius:50%;
    color:#fff;text-decoration:none;
    box-shadow:0 6px 18px #0329434d;
    transition:transform .18s ease,box-shadow .18s ease;
    animation:mlab-fab-in .32s cubic-bezier(.2,.8,.3,1) both;
  }
  .mlab-fab__btn:active{transform:scale(.93)}
  .mlab-fab__btn svg{width:24px;height:24px;display:block}
  .mlab-fab__btn.is-wa{background:#25d366}
  .mlab-fab__btn.is-wa svg{width:26px;height:26px}
  .mlab-fab__btn.is-call{background:var(--blue);animation-delay:.06s}

  /* clear the floating pair at the end of the page */
  footer{padding-bottom:78px}
}

@keyframes mlab-fab-in{
  from{opacity:0;transform:translateY(10px) scale(.85)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .mlab-fab__btn{animation:none;transition:none}
}

/* The entrance animation must not scale the buttons: mid-animation (or on a
   throttled tab that holds the first frame) a 48px control renders at 41px,
   under the 44px minimum. Fade and lift only, and a slightly larger circle. */
@media (max-width:640px){
  .mlab-fab__btn{width:52px;height:52px}
  .mlab-fab__btn svg{width:25px;height:25px}
  .mlab-fab__btn.is-wa svg{width:27px;height:27px}
  footer{padding-bottom:86px}
}
@keyframes mlab-fab-in{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}

/* ==========================================================================
   Phone hero on white. Everything in the hero was drawn for a dark ground —
   headline, kicker, lead, the ghost button and the faint grid overlay are all
   white or white-alpha — so each is inverted here rather than just swapping
   the background and leaving white text on white.
   ========================================================================== */
@media (max-width:640px){
  .hero{background:#fff;color:var(--blue)}

  /* the texture grid is drawn in white-alpha; redraw it dark and fainter */
  .hero:before{
    opacity:1;
    background-image:linear-gradient(#0432540d 1px,#0000 1px),
                     linear-gradient(90deg,#0432540d 1px,#0000 1px);
  }

  /* teal on white is too light to read; the kicker takes the brand blue and
     keeps its red rule, which still reads as the accent */
  .hero .eyebrow,.hero .kicker{color:var(--blue);opacity:.72}
  .hero h1{color:var(--blue)}
  .hero__lead,.hero__copy>p:not(.eyebrow):not(.kicker){color:var(--muted)}

  /* the search card was a white card floating on dark: give it an edge and a
     lighter shadow so it still separates from a white ground */
  .hero-booking{
    border:1px solid var(--line);
    box-shadow:0 10px 30px #0432540f;
  }

  /* "Book home collection" was a white-outline button for a dark ground */
  .hero__actions .button--ghost{
    color:var(--blue);
    border-color:var(--blue);
    background:#fff;
  }
}

/* The offer tab and the contact buttons share the right edge. The buttons
   occupy 16px→130px from the bottom, so the tab is lifted clear of them
   rather than sitting 14px into them. */
@media (max-width:980px){
  .offer-dock{bottom:calc(148px + env(safe-area-inset-bottom,0px))!important}
}

/* Restore the hero intro paragraph on phones. A leftover rule from an earlier
   pass ("Rebuild the phone hero as a utility block") hid it with
   display:none, and that rule survived the later reverts because it lives in
   a concatenated stylesheet rather than being removed at the source. */
@media (max-width:640px){
  .hero__lead,.hero__copy>p:not(.eyebrow):not(.kicker){
    display:block!important;
    -webkit-line-clamp:unset;
    overflow:visible;
  }
}

/* Floating WhatsApp/call move to bottom-left. They no longer share the right
   edge with the offer tab, so its earlier clearance (added to avoid the fab)
   is no longer needed and would just float it too high. */
@media (max-width:640px){
  .mlab-fab{left:14px;right:auto}
  .offer-dock{bottom:16px!important}
}

/* ==========================================================================
   Header/floating layout, final pass:
   - menu button: transparent, light grey lines, smaller, pinned to the right
     edge (nav and "Book a test" are both hidden on phones, so nothing was
     pushing it there before)
   - WhatsApp/call move back to the right
   - the offer tab moves to the left, mirrored (rounded corner + panel side)
   ========================================================================== */
@media (max-width:640px){
  .mlab-burger{
    margin-left:auto;
    width:38px;height:38px;
    background:transparent!important;
    border:0!important;
  }
  .mlab-burger span{width:15px;background:#8b979d!important}

  .mlab-fab{left:auto;right:14px}

  .offer-dock{left:0!important;right:auto!important;align-items:flex-start!important}
  .offer-dock__tab{border-radius:0 12px 12px 0!important}
  .offer-dock__panel{border-radius:0 14px 14px 0!important}
}

/* Search button smaller (it was full-width at 48px height); logo slightly
   bigger now that the burger no longer needs the extra clearance it used to. */
@media (max-width:640px){
  .hero-booking__search>a{min-height:42px;padding:0 14px;font-size:13px}
  .brand-lockup{max-width:195px}
}

/* The earlier max-width:195px did nothing: an explicit width:178px rule at
   the same breakpoint set the actual rendered size, and max-width only caps
   from above (178 < 195, so it never engaged). Overriding width directly. */
@media (max-width:640px){
  .brand-lockup{width:195px;max-width:195px}
}

/* More breathing room in the top text block: space above the kicker, and
   between kicker/headline/paragraph, rather than everything sitting flush. */
@media (max-width:640px){
  .hero__copy{padding-top:32px}
  .hero .eyebrow,.hero .kicker{margin-bottom:10px}
  .hero h1{margin-top:12px}
  .hero__lead,.hero__copy>p:not(.eyebrow):not(.kicker){margin-top:16px}
}

/* Trim the vertical gaps around the search card / offer / button, so the
   extra spacing added above the title doesn't just make the whole block
   taller. */
@media (max-width:640px){
  .hero__copy{padding-top:22px}
  .hero-booking{margin-top:14px;padding:13px}
  .hero__actions{margin-top:8px}
  .mlab-offer{margin-top:8px}
}
