/* ══════════════════════════════════════════════════════════════════════════
   css/lab-integration.css — LAB INTEGRATION  (fw-lab)
   /lab-integration, built 7 Oct 2026 as a hybrid WITHOUT a form (Manage ›
   Partner With Us › Hospitals & Labs › Lab Integration). No enquiry, no
   inbox: the page shows the partner laboratories.

   The prefix was fw-lbi until 13 Oct 2026. "lbi-" contains "bi-", and the
   icon sheet's [class*="bi-"] rule (css/font-icons.css) made every fw-lbi-*
   element inline-block, the <body> too. The body then grew to its widest
   child, so on a phone the page and its header ran 974px wide. Never pick
   a prefix that contains "bi-", "fa-" or "uil-".

   Its idea is the RESULT ARRIVING:
     §1  the opening beside a laboratory at work, a "Result received" notice
     §2  THE PARTNER LABORATORIES as a board: a calm list, filtered by kind,
         beside one laboratory shown large
     §3  how an order travels as a centred timeline beside a photograph
     §4  what a partner laboratory gains as a hub around the laboratory
     §5  the standards as a numbered grid, how each is checked
     §6  questions in two columns
     §7  the closing photograph and the partnerships email

   PALETTE: deep teal is this page's voice (clinical, precise; --mt-dd and
   --mt-ink carry text, the lighter mints only areas), blue the second
   colour. No inline styles. Never a class holding "fa-", "bi-" or "uil-".
   ══════════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
   00 · TOKENS & PRIMITIVES
   ══════════════════════════════════════════════════════════════ */
.fw-lab-page{
	--pad:28px;
	--ink:var(--dk-d);
	--line:color-mix(in srgb, var(--dk) 10%, transparent);
	--fade:linear-gradient(90deg, transparent, var(--line) 12%, var(--line) 88%, transparent);
	--fade-v:linear-gradient(180deg, transparent, var(--line) 14%, var(--line) 86%, transparent);
	--sec:clamp(30px, 5.4vh, 60px);
	--gap:clamp(28px, 5vw, 80px);
	--glow:0 8px 20px -8px color-mix(in srgb, var(--mt-dd) 70%, transparent);
	--glow-lg:0 14px 28px -10px color-mix(in srgb, var(--mt-dd) 75%, transparent);
	--ease:cubic-bezier(.22,1,.36,1);
	--ease-pop:cubic-bezier(.34,1.56,.64,1);
	background:var(--wh);
}
.fw-lab{display:block;position:relative;background:var(--wh)}
.fw-lab em{font-family:var(--ff);font-style:normal}
.fw-lab .fw-ico{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fw-lab-inner{position:relative;z-index:1;width:100%;padding-inline:var(--pad)}
.fw-lab-sec{position:relative;padding:var(--sec) 0}
.fw-lab-sec::before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:0;z-index:1;height:1px;background:var(--fade)}
.fw-lab-head{display:flex;flex-direction:column;gap:8px;margin-bottom:clamp(18px, 2.8vh, 30px)}
.fw-lab-head--row{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:12px 40px;flex-wrap:wrap}
.fw-lab-head--row > div:first-child{display:flex;flex-direction:column;gap:8px;max-width:760px}
.fw-lab-head--row > .fw-lab-sub{flex:1 1 320px;max-width:520px;text-align:right}
.fw-lab-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mt-dd)}
.fw-lab-eyebrow .fw-ico{width:16px;height:16px;flex:none}
.fw-lab-sample{margin-left:4px;padding:1px 9px;border-radius:999px;background:var(--go-l);color:var(--go-ink);font-size:11.5px;font-weight:700;letter-spacing:0;text-transform:none}
.fw-lab-h2{margin:0;font-family:var(--ff);font-weight:600;color:var(--ink);font-size:clamp(26px, 4.2vh, 40px);line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
.fw-lab-h3{margin:0;font-family:var(--ff);font-size:17px;font-weight:600;line-height:1.3;color:var(--ink)}
.fw-lab-sub{margin:0;font-size:clamp(14.5px, 1.9vh, 16.5px);line-height:1.6;color:var(--g6);text-wrap:pretty}
.fw-lab-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:50px;padding:0 26px;border:0;border-radius:999px;background:linear-gradient(150deg, var(--mt-dd), var(--mt-dd));box-shadow:var(--glow);color:var(--wh);font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease), box-shadow .25s var(--ease)}
.fw-lab-btn:hover{color:var(--wh);transform:translateY(-2px);box-shadow:var(--glow-lg)}
.fw-lab-btn .bi-arrow-right,.fw-lab-link .bi-arrow-right{transition:transform .25s var(--ease)}
.fw-lab-btn:hover .bi-arrow-right,.fw-lab-link:hover .bi-arrow-right{transform:translateX(4px)}
.fw-lab-link{display:inline-flex;align-items:center;gap:8px;padding:0;background:none;font-size:14.5px;font-weight:600;color:var(--mt-dd);transition:color .2s var(--ease)}
.fw-lab-link .fw-ico{width:18px;height:18px}
.fw-lab-link:hover{color:var(--mt-dd)}
@keyframes fw-lab-rise{from{opacity:0;transform:translateY(12px)}}

/* ══════════════════════════════════════════════════════════════
   01b · ROWS THAT SCROLL SIDEWAYS
   ══════════════════════════════════════════════════════════════ */
.fw-lab-rail{position:relative;display:flex;align-items:center;min-width:0}
.fw-lab-rail > .fw-lab-kinds{flex:1;min-width:0;display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;scroll-padding-inline:2px;scrollbar-width:none;padding:4px 2px 8px}
.fw-lab-rail > .fw-lab-kinds::-webkit-scrollbar{display:none}
.fw-lab-rail.is-l > *:not(button){-webkit-mask-image:linear-gradient(90deg, transparent, var(--bk) 56px);mask-image:linear-gradient(90deg, transparent, var(--bk) 56px)}
.fw-lab-rail.is-r > *:not(button){-webkit-mask-image:linear-gradient(90deg, var(--bk) calc(100% - 56px), transparent);mask-image:linear-gradient(90deg, var(--bk) calc(100% - 56px), transparent)}
.fw-lab-rail.is-l.is-r > *:not(button){-webkit-mask-image:linear-gradient(90deg, transparent, var(--bk) 56px, var(--bk) calc(100% - 56px), transparent);mask-image:linear-gradient(90deg, transparent, var(--bk) 56px, var(--bk) calc(100% - 56px), transparent)}
.fw-lab-rail > * > *{flex:none;scroll-snap-align:start}
.fw-lab-rail__nav{position:absolute;top:calc(50% - 2px);z-index:2;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--wh);color:var(--mt-dd);box-shadow:0 6px 16px color-mix(in srgb, var(--mt-dd) 22%, transparent), inset 0 0 0 1px var(--mt-l2);transform:translateY(-50%);cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease)}
.fw-lab-rail__nav[hidden]{display:none}
.fw-lab-rail__nav--prev{left:-4px}
.fw-lab-rail__nav--next{right:-4px}
.fw-lab-rail__nav:hover{background:var(--mt-dd);color:var(--wh)}
.fw-lab-rail__nav .bi{font-size:15px}


/* ══════════════════════════════════════════════════════════════
   01 · THE OPENING — a laboratory at work, a result arriving
   ══════════════════════════════════════════════════════════════ */
.fw-lab .fw-lab-mast{position:relative;padding-bottom:clamp(24px, 4vh, 44px)}
.fw-lab-mast__grid{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:center;gap:clamp(30px, 5vw, 88px)}
.fw-lab-mast__copy{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}
.fw-lab-mast__copy .fw-crumb{margin-bottom:4px}
.fw-lab .fw-lab-h1{margin:0;font-size:clamp(36px, 6.4vh, 64px);line-height:1.04;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.fw-lab .fw-lab-mast .fw-lab-h1 span{display:block;-webkit-text-fill-color:transparent;background:linear-gradient(100deg, var(--mt-dd) 0%, var(--bl-d) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.fw-lab-lead{margin:0;font-size:clamp(16px, 2.2vh, 19px);line-height:1.6;color:var(--g6);text-wrap:pretty}
.fw-lab-facts{display:flex;flex-wrap:wrap;gap:0;margin:4px 0 0;padding:0}
.fw-lab-facts div{position:relative;display:grid;grid-template-columns:44px auto;grid-template-areas:"ico dd" "ico dt";align-items:center;column-gap:12px;row-gap:2px;padding:0 clamp(16px, 2vw, 28px)}
.fw-lab-facts div:first-child{padding-left:0}
.fw-lab-facts div + div::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;background:var(--fade-v)}
.fw-lab-facts__ico{grid-area:ico;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:var(--mt-dd);background:var(--mt-l)}
.fw-lab-facts__ico .fw-ico{width:22px;height:22px}
.fw-lab-facts dt{grid-area:dt;font-size:12.5px;font-weight:600;color:var(--g6)}
.fw-lab-facts dd{grid-area:dd;margin:0;font-size:clamp(24px, 3.6vh, 34px);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--mt-dd);font-variant-numeric:tabular-nums}
.fw-lab-act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:6px}
.fw-lab-hero{position:relative;margin:0;height:clamp(320px, 52vh, 520px);aspect-ratio:4/3;overflow:hidden}
.fw-lab-hero img{display:block;width:100%;height:100%;object-fit:cover}
.fw-lab-hero.is-empty{display:grid;place-items:center;background:linear-gradient(160deg, var(--mt-wash), var(--bl-wash))}
.fw-lab-hero__blank .fw-ico{width:96px;height:96px;color:var(--mt-dd);opacity:.35}
/* the notice: a result just landed in the record */
.fw-lab-ping{position:absolute;right:clamp(12px, 2vw, 22px);bottom:clamp(12px, 2vw, 22px);display:grid;grid-template-columns:auto minmax(0, 1fr) auto;align-items:center;gap:12px;max-width:min(88%, 380px);padding:12px 16px 12px 12px;background:color-mix(in srgb, var(--wh) 94%, transparent);backdrop-filter:blur(8px);box-shadow:0 18px 40px -18px color-mix(in srgb, var(--dk) 55%, transparent);animation:fw-lab-in .7s .6s var(--ease) both}
@keyframes fw-lab-in{from{opacity:0;transform:translateY(14px)}}
.fw-lab-ping__ico{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--wh);background:linear-gradient(150deg, var(--mt-dd), var(--bl-d))}
.fw-lab-ping__ico::after{content:"";position:absolute;inset:-4px;border-radius:50%;box-shadow:0 0 0 2px var(--mt-ring);animation:fw-lab-ring 2.4s var(--ease) infinite}
@keyframes fw-lab-ring{0%{transform:scale(.85);opacity:1}100%{transform:scale(1.35);opacity:0}}
.fw-lab-ping__ico .fw-ico{width:20px;height:20px}
.fw-lab-ping__t{display:flex;flex-direction:column;gap:1px;min-width:0}
.fw-lab-ping__t b{font-size:14.5px;font-weight:700;color:var(--ink)}
.fw-lab-ping__t small{font-size:12.5px;font-weight:600;color:var(--g6)}
.fw-lab-ping__now{align-self:start;font-size:11.5px;font-weight:700;color:var(--mt-ink)}

/* ══════════════════════════════════════════════════════════════
   02 · OUR LABORATORIES — a calm list beside one laboratory, large
   (owner, 7 Oct: the first directory of open rows read as a mess)
   ══════════════════════════════════════════════════════════════ */
.fw-lab-labs{background:linear-gradient(180deg, var(--mt-wash), var(--wh) 70%)}
.fw-lab-board{--board-h:clamp(460px, 62vh, 600px);display:grid;grid-template-columns:minmax(260px, .34fr) minmax(0, 1fr);gap:0 clamp(24px, 3vw, 48px);align-items:stretch}
.fw-lab-board__side{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;height:var(--board-h)}
.fw-lab-board__side::after{content:"";position:absolute;right:calc(clamp(24px, 3vw, 48px) / -2);top:0;bottom:0;width:1px;background:var(--fade-v)}
.fw-lab-kinds button{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 6px 0 13px;border:0;border-radius:999px;background:var(--wh);box-shadow:inset 0 0 0 1.5px var(--g2);font-size:13px;font-weight:600;color:var(--g7);white-space:nowrap;cursor:pointer;transition:background .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease)}
.fw-lab-kinds button span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--g1);color:var(--g7);font-size:11.5px;font-weight:700}
.fw-lab-kinds button:hover{box-shadow:inset 0 0 0 1.5px var(--mt-d)}
.fw-lab-kinds button.is-on{background:var(--mt-dd);color:var(--wh);box-shadow:none}
.fw-lab-kinds button.is-on span{background:var(--wh);color:var(--mt-dd)}
.fw-lab-picks{flex:1;min-height:0;display:flex;flex-direction:column;margin:0 -6px;padding:2px 6px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--g3) transparent}
.fw-lab-picks button{position:relative;display:grid;grid-template-columns:44px minmax(0, 1fr) auto;align-items:center;gap:12px;width:100%;padding:10px 12px 10px 10px;border:0;border-radius:14px;background:none;text-align:left;cursor:pointer;transition:background .2s var(--ease)}
.fw-lab-picks button[hidden]{display:none}
.fw-lab-picks button + button::before{content:"";position:absolute;left:66px;right:12px;top:0;height:1px;background:var(--g1)}
.fw-lab-picks button:hover{background:var(--mt-wash)}
.fw-lab-picks button[aria-selected="true"]{background:var(--wh);box-shadow:0 10px 26px -16px color-mix(in srgb, var(--mt-dd) 55%, transparent), inset 0 0 0 1.5px var(--mt-l2)}
.fw-lab-picks button[aria-selected="true"]::before,.fw-lab-picks button[aria-selected="true"] + button::before{display:none}
.fw-lab-picks button:focus-visible{outline:2px solid var(--pk);outline-offset:-2px}
.fw-lab-picks__logo{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--wh);box-shadow:0 0 0 1px var(--g2);overflow:hidden}
.fw-lab-picks__logo img{display:block;width:100%;height:100%;padding:5px;object-fit:contain}
.fw-lab-picks__logo.is-empty{color:var(--mt-dd);background:var(--mt-l);box-shadow:none}
.fw-lab-picks__logo .fw-ico{width:20px;height:20px}
.fw-lab-picks__t{display:flex;flex-direction:column;gap:1px;min-width:0}
.fw-lab-picks__t b{font-size:14.5px;font-weight:600;line-height:1.3;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-lab-picks__t small{font-size:12.5px;color:var(--g6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-lab-picks button .bi{font-size:13px;color:var(--g4);transition:transform .2s var(--ease), color .2s var(--ease)}
.fw-lab-picks button[aria-selected="true"] .bi{color:var(--mt-dd);transform:translateX(3px)}
.fw-lab-picks button[aria-selected="true"] .fw-lab-picks__t b{color:var(--mt-dd)}
.fw-lab-pane{display:grid;grid-template-columns:minmax(0, .82fr) minmax(0, 1fr);gap:0;height:var(--board-h);min-width:0;background:var(--wh)}
.fw-lab-pane[hidden]{display:none}
.fw-lab-pane:not([hidden]){animation:fw-lab-rise .45s var(--ease)}
.fw-lab-pane__pic{position:relative;margin:0;overflow:hidden;background:linear-gradient(160deg, var(--mt-wash), var(--bl-wash))}
.fw-lab-pane__pic img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.fw-lab-pane__pic.is-empty{display:grid;place-items:center}
.fw-lab-pane__pic.is-empty > span .fw-ico{width:64px;height:64px;color:var(--mt-dd);opacity:.35}
.fw-lab-pane__pic figcaption{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:color-mix(in srgb, var(--wh) 94%, transparent);font-size:12.5px;font-weight:700;color:var(--mt-ink)}
.fw-lab-pane__pic figcaption .fw-ico{width:15px;height:15px}
.fw-lab-pane__body{display:flex;flex-direction:column;gap:14px;min-width:0;padding:clamp(18px, 2.8vh, 28px) clamp(20px, 2.4vw, 36px);overflow-y:auto;scrollbar-width:thin}
.fw-lab-pane__top{display:flex;align-items:center;gap:14px}
.fw-lab-pane__logo{flex:none;display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:var(--wh);box-shadow:0 0 0 1px var(--g2), 0 10px 22px -14px color-mix(in srgb, var(--dk) 45%, transparent);overflow:hidden}
.fw-lab-pane__logo img{display:block;width:100%;height:100%;padding:7px;object-fit:contain}
.fw-lab-pane__logo.is-empty{color:var(--mt-dd);background:var(--mt-l)}
.fw-lab-pane__logo .fw-ico{width:26px;height:26px}
.fw-lab-pane__name{margin:0;font-family:var(--ff);font-size:clamp(22px, 3.4vh, 30px);font-weight:600;line-height:1.12;letter-spacing:-.02em;color:var(--ink)}
.fw-lab-pane__where{display:flex;align-items:center;gap:7px;margin:4px 0 0;font-size:13.5px;color:var(--g6)}
.fw-lab-pane__where img{width:18px;height:13px;border-radius:2px;object-fit:cover}
.fw-lab-pane__sum{margin:0;font-size:15px;line-height:1.6;color:var(--g7)}
.fw-lab-pane__facts{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));margin:0;border-top:2px solid var(--mt-dd);border-bottom:1px solid var(--g2)}
.fw-lab-pane__facts div{display:flex;flex-direction:column;gap:2px;padding:10px 12px 10px 0}
.fw-lab-pane__facts div + div{padding-left:14px;border-left:1px solid var(--g2)}
.fw-lab-pane__facts dt{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--g5)}
.fw-lab-pane__facts dd{margin:0;font-size:14.5px;font-weight:700;line-height:1.3;color:var(--ink)}
.fw-lab-pane__cols{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:14px clamp(18px, 2vw, 32px)}
.fw-lab-k{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--g5)}
.fw-lab-pane__caps{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.fw-lab-pane__caps li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--g7)}
.fw-lab-pane__caps span{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;color:var(--mt-dd);background:var(--mt-l)}
.fw-lab-pane__caps .fw-ico{width:15px;height:15px}
.fw-lab-pane__tests{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.fw-lab-pane__tests li{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.45;color:var(--g7)}
.fw-lab-pane__tests li .bi{flex:none;color:var(--mt-dd)}
.fw-lab-pane__site{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:auto;font-size:14px;font-weight:600;color:var(--bl-d)}
.fw-lab-pane__site .fw-ico{width:17px;height:17px}
.fw-lab-pane__site:hover{color:var(--bl-dd)}

/* ══════════════════════════════════════════════════════════════
   03 · HOW AN ORDER TRAVELS — a photograph beside a centred timeline
   (owner, 7 Oct: the old list left a gap on the right)
   ══════════════════════════════════════════════════════════════ */
.fw-lab-flow__grid{display:grid;grid-template-columns:auto minmax(0, 1fr);gap:var(--gap);align-items:stretch}
.fw-lab-flow__grid.is-text{grid-template-columns:minmax(0, 1fr)}
.fw-lab-flow__pic{position:relative;margin:0;width:clamp(280px, 26vw, 400px);min-height:clamp(340px, 46vh, 460px);overflow:hidden}
.fw-lab-flow__pic img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.fw-lab-tl{position:relative;display:flex;flex-direction:column;justify-content:space-between;margin:0;padding:0;list-style:none}
.fw-lab-tl::before{content:"";position:absolute;left:23px;top:26px;bottom:26px;width:2px;background:linear-gradient(180deg, var(--mt-d), var(--bl-d))}
.fw-lab-tl__i{position:relative;display:grid;grid-template-columns:48px minmax(0, .85fr) minmax(0, 1.15fr);align-items:center;gap:0 clamp(16px, 2vw, 32px);padding:clamp(12px, 2vh, 18px) 0}
.fw-lab-tl__i + .fw-lab-tl__i::after{content:"";position:absolute;left:72px;right:0;top:0;height:1px;background:var(--fade)}
.fw-lab-tl__dot{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--mt-dd);background:var(--wh);box-shadow:inset 0 0 0 2px var(--mt-l2), 0 0 0 6px var(--wh);transition:transform .3s var(--ease-pop), background .3s var(--ease), color .3s var(--ease)}
.fw-lab-tl__i:hover .fw-lab-tl__dot{transform:scale(1.08);background:var(--mt-l)}
.fw-lab-tl__i:last-child .fw-lab-tl__dot{color:var(--wh);background:linear-gradient(150deg, var(--mt-dd), var(--bl-d));box-shadow:0 0 0 6px var(--wh), var(--glow)}
.fw-lab-tl__dot .fw-ico{width:21px;height:21px}
.fw-lab-tl__what{display:flex;flex-direction:column;gap:5px;min-width:0}
.fw-lab-tl__k{display:flex;align-items:center;gap:10px;margin:0}
.fw-lab-tl__k span{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--mt-dd);font-variant-numeric:tabular-nums}
.fw-lab-tl__k em{padding:3px 10px;border-radius:999px;background:var(--mt-l);color:var(--mt-ink);font-size:11.5px;font-weight:700;letter-spacing:.02em}
.fw-lab-tl__what .fw-lab-h3{font-size:clamp(16px, 2.2vh, 18px)}
.fw-lab-tl__body{margin:0;font-size:14.5px;line-height:1.6;color:var(--g6)}

/* ══════════════════════════════════════════════════════════════
   04 · WHAT A PARTNER LAB GAINS — a hub around the laboratory
   ══════════════════════════════════════════════════════════════ */
/* overflow-x:clip: the dashed ring spins, and a turning square box is up to
   1.41 times its width at 45 degrees. On a phone that box (not the circle
   you see) reached 21px past the screen and widened the page. */
.fw-lab-gain{background:linear-gradient(180deg, var(--bl-wash), var(--wh));overflow-x:clip}
.fw-lab-hub{display:grid;grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);align-items:center;gap:0 clamp(24px, 3vw, 52px)}
.fw-lab-hub__core{position:relative;display:grid;place-items:center;width:clamp(240px, 34vh, 320px);aspect-ratio:1;margin:0;border-radius:50%}
.fw-lab-hub__core img,.fw-lab-hub__blank{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;box-shadow:0 0 0 10px var(--wh), 0 24px 60px -24px color-mix(in srgb, var(--mt-dd) 60%, transparent)}
.fw-lab-hub__blank{display:grid;place-items:center;background:linear-gradient(160deg, var(--mt-wash), var(--bl-wash))}
.fw-lab-hub__blank .fw-ico{width:72px;height:72px;color:var(--mt-dd);opacity:.4}
.fw-lab-hub__ring{position:absolute;inset:-26px;border-radius:50%;border:1.5px dashed color-mix(in srgb, var(--mt-dd) 40%, transparent);animation:fw-lab-spin 60s linear infinite}
@keyframes fw-lab-spin{to{transform:rotate(360deg)}}
.fw-lab-hub__core figcaption{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;padding:9px 18px;border-radius:999px;background:var(--wh);box-shadow:0 12px 28px -14px color-mix(in srgb, var(--dk) 45%, transparent);white-space:nowrap;text-align:center}
.fw-lab-hub__core figcaption b{font-size:14.5px;font-weight:700;color:var(--mt-dd)}
.fw-lab-hub__core figcaption small{font-size:11.5px;font-weight:600;color:var(--g6)}
.fw-lab-hub__side{display:flex;flex-direction:column;gap:clamp(14px, 2.6vh, 26px);margin:0;padding:0;list-style:none}
.fw-lab-hub__side li{position:relative;display:grid;grid-template-columns:52px minmax(0, 1fr);gap:14px;align-items:center}
.fw-lab-hub__side--l li{grid-template-columns:minmax(0, 1fr) 52px;text-align:right}
.fw-lab-hub__side--l li .fw-lab-hub__ico{order:2}
.fw-lab-hub__ico{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:var(--wh);background:linear-gradient(150deg, var(--mt-dd), var(--bl-d));box-shadow:0 10px 22px -12px color-mix(in srgb, var(--mt-dd) 70%, transparent)}
.fw-lab-hub__ico .fw-ico{width:22px;height:22px}
/* the connector: a short dotted line from each icon toward the centre */
.fw-lab-hub__ico::after{content:"";position:absolute;top:50%;width:clamp(18px, 2.4vw, 46px);border-top:1.5px dotted color-mix(in srgb, var(--mt-dd) 50%, transparent)}
.fw-lab-hub__side--l .fw-lab-hub__ico::after{left:100%}
.fw-lab-hub__side--r .fw-lab-hub__ico::after{right:100%}
.fw-lab-hub__side p{margin:4px 0 0;font-size:14px;line-height:1.55;color:var(--g6)}

/* ══════════════════════════════════════════════════════════════
   05 · THE STANDARDS — a numbered grid, how each is checked
   ══════════════════════════════════════════════════════════════ */
.fw-lab-std{background:linear-gradient(180deg, var(--wh), var(--mt-wash))}
.fw-lab-marks{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));margin:0;padding:0;list-style:none;border-top:2px solid var(--mt-dd)}
.fw-lab-marks li{position:relative;display:flex;flex-direction:column;gap:8px;padding:clamp(16px, 2.6vh, 24px) clamp(16px, 2vw, 30px)}
.fw-lab-marks li:nth-child(3n+1){padding-left:0}
.fw-lab-marks li:nth-child(n+4)::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--fade)}
.fw-lab-marks li:not(:nth-child(3n+1))::after{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:var(--fade-v)}
.fw-lab-marks__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.fw-lab-marks__n{font-size:clamp(30px, 4.6vh, 42px);font-weight:700;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px var(--mt-dd)}
.fw-lab-marks__ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:var(--mt-dd);background:var(--mt-l)}
.fw-lab-marks__ico .fw-ico{width:20px;height:20px}
.fw-lab-marks p{margin:0;font-size:14.5px;line-height:1.6;color:var(--g6)}
.fw-lab-marks .fw-lab-marks__how{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--g3)}
.fw-lab-marks__how .bi{font-size:20px;color:var(--mt-dd)}
.fw-lab-marks__how span{display:flex;flex-direction:column;gap:1px;font-size:14px;font-weight:700;color:var(--ink)}
.fw-lab-marks__how small{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--g5)}

/* ══════════════════════════════════════════════════════════════
   06 · QUESTIONS — two columns
   ══════════════════════════════════════════════════════════════ */
.fw-lab-qa{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0 var(--gap);align-items:start}
.fw-lab-qa details{position:relative}
.fw-lab-qa details::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--fade)}
.fw-lab-qa summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;list-style:none;cursor:pointer;font-size:16px;font-weight:600;color:var(--ink);transition:color .2s var(--ease)}
.fw-lab-qa summary::-webkit-details-marker{display:none}
.fw-lab-qa summary:hover,.fw-lab-qa details[open] summary{color:var(--mt-dd)}
.fw-lab-qa summary .bi{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--mt-l);color:var(--mt-dd);font-size:14px;transition:transform .3s var(--ease), background .2s var(--ease), color .2s var(--ease)}
.fw-lab-qa details[open] summary .bi{transform:rotate(45deg);background:var(--mt-dd);color:var(--wh)}
.fw-lab-qa p{margin:0 46px 15px 0;font-size:15px;line-height:1.65;color:var(--g6)}

/* ══════════════════════════════════════════════════════════════
   07 · WORK WITH US — the closing photograph and the email
   ══════════════════════════════════════════════════════════════ */
.fw-lab-close{background:linear-gradient(180deg, var(--mt-wash), var(--wh) 70%)}
.fw-lab-close__grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:var(--gap);align-items:center}
.fw-lab-close__grid.is-text{grid-template-columns:minmax(0, 1fr)}
.fw-lab-close__pic{margin:0;height:clamp(280px, 44vh, 420px);overflow:hidden}
.fw-lab-close__pic img{display:block;width:100%;height:100%;object-fit:cover}
.fw-lab-close__main{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.fw-lab-close__mail{margin:0;font-size:14px;font-weight:600;color:var(--g6)}
.fw-lab-btn .fw-ico{width:18px;height:18px}

/* ══════════════════════════════════════════════════════════════
   08 · RESPONSIVE (the phone is designed as an app)
   ══════════════════════════════════════════════════════════════ */
@media (max-width:1200px){
	.fw-lab-pane{grid-template-columns:minmax(0, 1fr);grid-template-rows:38% minmax(0, 1fr)}
	.fw-lab-hub{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)}
	.fw-lab-hub__core{grid-column:1 / -1;grid-row:1;justify-self:center;margin-bottom:48px}
	.fw-lab-hub__side--l li{grid-template-columns:52px minmax(0, 1fr);text-align:left}
	.fw-lab-hub__side--l li .fw-lab-hub__ico{order:0}
	.fw-lab-hub__ico::after{display:none}
}
@media (max-width:1024px){
	.fw-lab-mast__grid,.fw-lab-flow__grid,.fw-lab-close__grid{grid-template-columns:minmax(0, 1fr)}
	.fw-lab-hero{height:auto;width:100%}
	.fw-lab-head--row{align-items:flex-start}
	.fw-lab-head--row > .fw-lab-sub{text-align:left}
	.fw-lab-board{grid-template-columns:minmax(0, 1fr);gap:14px}
	.fw-lab-board__side{height:auto}
	.fw-lab-board__side::after{display:none}
	.fw-lab-picks{flex-direction:row;gap:8px;margin:0;padding:4px 2px 10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
	.fw-lab-picks::-webkit-scrollbar{display:none}
	.fw-lab-picks button{flex:0 0 auto;width:auto;max-width:260px;grid-template-columns:40px minmax(0, 1fr);box-shadow:inset 0 0 0 1.5px var(--g2);background:var(--wh)}
	.fw-lab-picks button + button::before{display:none}
	.fw-lab-picks button .bi{display:none}
	.fw-lab-pane{height:auto;grid-template-rows:none}
	.fw-lab-pane__pic{aspect-ratio:16/9}
	.fw-lab-pane__body{overflow:visible}
	.fw-lab-flow__pic{width:100%;min-height:0;aspect-ratio:16/9}
	.fw-lab-marks{grid-template-columns:repeat(2, minmax(0, 1fr))}
	.fw-lab-marks li:nth-child(3n+1){padding-left:clamp(16px, 2vw, 30px)}
	.fw-lab-marks li:nth-child(2n+1){padding-left:0}
	.fw-lab-marks li:nth-child(n+3)::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--fade)}
	.fw-lab-marks li:not(:nth-child(3n+1))::after{display:none}
	.fw-lab-marks li:nth-child(2n)::after{display:block;content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:var(--fade-v)}
	.fw-lab-close__pic{height:auto;aspect-ratio:16/9}
}
@media (max-width:640px){
	.fw-lab-page{--pad:14px}
	.fw-lab .fw-lab-h1{font-size:clamp(32px, 9vw, 42px)}
	.fw-lab-h2{font-size:clamp(24px, 6.6vw, 30px)}
	.fw-lab-act .fw-lab-btn{width:100%}
	.fw-lab-facts{gap:12px 0}
	.fw-lab-facts div{padding:0 14px;grid-template-columns:38px auto;column-gap:10px}
	.fw-lab-facts__ico{width:38px;height:38px;border-radius:12px}
	.fw-lab-ping{left:12px;right:12px;max-width:none}
	.fw-lab-pane__facts{grid-template-columns:minmax(0, 1fr)}
	.fw-lab-pane__facts div + div{padding-left:0;border-left:0;border-top:1px solid var(--g2)}
	.fw-lab-pane__cols{grid-template-columns:minmax(0, 1fr)}
	.fw-lab-pane__body{padding:16px 0 4px}
	.fw-lab-tl__i{grid-template-columns:48px minmax(0, 1fr);grid-template-areas:"dot what" "dot body";gap:6px 14px;align-items:start}
	.fw-lab-tl__dot{grid-area:dot}
	.fw-lab-tl__what{grid-area:what}
	.fw-lab-tl__body{grid-area:body}
	.fw-lab-tl__i + .fw-lab-tl__i::after{left:62px}
	.fw-lab-hub{grid-template-columns:minmax(0, 1fr)}
	.fw-lab-hub__core{width:min(72vw, 260px)}
	.fw-lab-hub__side + .fw-lab-hub__side{margin-top:clamp(14px, 2.6vh, 26px)}
	.fw-lab-marks{grid-template-columns:minmax(0, 1fr)}
	.fw-lab-marks li,.fw-lab-marks li:nth-child(3n+1){padding-inline:0}
	.fw-lab-marks li:nth-child(n+2)::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--fade)}
	.fw-lab-marks li::after,.fw-lab-marks li:nth-child(2n)::after{display:none}
	.fw-lab-qa{grid-template-columns:minmax(0, 1fr)}
	.fw-lab-qa p{margin-right:0}
	.fw-lab-rail__nav{display:none}
}
@media (prefers-reduced-motion:reduce){
	.fw-lab-ping,.fw-lab-ping__ico::after,.fw-lab-pane:not([hidden]),.fw-lab-hub__ring{animation:none}
}
