{"id":6903,"date":"2026-08-27T11:04:40","date_gmt":"2026-08-27T11:04:40","guid":{"rendered":"https:\/\/bioprofile.com\/?page_id=6903"},"modified":"2026-09-30T20:35:45","modified_gmt":"2026-09-30T20:35:45","slug":"metabolism-test","status":"publish","type":"page","link":"https:\/\/bioprofile.com\/en\/metabolism-test\/","title":{"rendered":"Scan: Metabolism test"},"content":{"rendered":"\n<div class=\"wp-block-group bp-scan bp-scan--v2 is-layout-flow wp-block-group-is-layout-flow\">\n\n<div id=\"content\" tabindex=\"-1\"><\/div>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@300;400;500;600;700&#038;display=swap\">\n<style id=\"bp-scan-design\">\n\/* ===========================================================================\n   BioProfile scan page. One template, eleven instances. T147, built from the\n   T128 spec's section architecture. Tokens: brands\/bioprofile\/brand\/tokens.md.\n   =========================================================================== *\/\n\n.bp-scan {\n  --bp-ink: #212527;\n  --bp-teal: #005859;\n  --bp-teal-deep: #006B62;\n  --bp-emerald: #228A62;\n  --bp-green: #7CA74D;\n  --bp-lime: #B7CB33;\n  --bp-lime-soft: #B7CB3329;\n  --bp-hl-ink: #5E7D2F;\n  \/* the brand highlight ink darkened until it clears WCAG AA at label sizes.\n     Measured 2026-08-21 with Lighthouse on the live page: #7CA74D reads 2.8:1 on\n     white and #5E7D2F reads 4.31:1 on the lime-soft fill, both under 4.5:1 for\n     text below 18.66px. #4F6B28 reads 6.06:1 and 5.53:1. Same hue, same family,\n     one derived value rather than a new brand colour. *\/\n  --bp-green-aa: #4F6B28;\n  --bp-beige: #EDEAE5;\n  --bp-sand: #DBD4CB;\n  --bp-pale-teal: #D9E6E6;\n  --bp-white: #FFFFFF;\n  --bp-foot: #6b6b6b;\n  --bp-grad-dark: linear-gradient(237deg, rgba(0,88,89,0.00) 62.94%, #005859 100%), linear-gradient(90deg, rgba(34,138,98,0.00) 40%, #228A62 100%), #006B62;\n  --bp-font: 'Poppins','Segoe UI',Arial,sans-serif;\n  --bp-fs-h1: 44px; --bp-fs-h2: 31px; --bp-fs-h3: 21px; --bp-fs-eyebrow: 15px;\n  --bp-fs-body: 17px; --bp-fs-small: 14px; --bp-fs-foot: 13px; --bp-fs-btn: 17px;\n  --bp-lh-body: 1.75;\n  --bp-s-1: 4px; --bp-s-2: 8px; --bp-s-3: 12px; --bp-s-4: 16px;\n  --bp-s-5: 24px; --bp-s-6: 32px; --bp-s-7: 44px; --bp-s-8: 72px;\n  --bp-measure: 680px; --bp-prose: 620px; --bp-foot-measure: 560px;\n  --bp-side: 40px;\n  --bp-radius-card: 20px; --bp-radius-btn: 10px; --bp-radius-chip: 999px;\n  --bp-shadow: 0 10px 30px rgba(0,88,89,0.10);\n  --bp-shadow-soft: 0 2px 10px rgba(0,88,89,0.06);\n  font-family: var(--bp-font);\n  font-size: var(--bp-fs-body);\n  line-height: var(--bp-lh-body);\n  color: var(--bp-ink);\n  background: var(--bp-white);\n  -webkit-font-smoothing: antialiased;\n}\n.bp-scan, .bp-scan * { box-sizing: border-box; }\n.bp-scan p, .bp-scan li, .bp-scan h1, .bp-scan h2, .bp-scan h3, .bp-scan a,\n.bp-scan cite, .bp-scan span { overflow-wrap: break-word; min-width: 0; }\n.bp-scan .bp-off { display: none !important; }\n\n\/* THE RIGHT EDGE. T188, 2026-08-31, from Jesse's own screenshot of\n   \/scan-hersteltest\/ on a 375px iPhone: the H1 compound \"ontstekingswaarden\"\n   ran off the screen and was cut mid-word.\n\n   The cause, measured rather than guessed, and it is NOT the rule above. The\n   GRID TRACK was the right size all along: at 375 the hero grid measured 335,\n   exactly the section's content box. What overflowed was the grid ITEM. A grid\n   item's default `min-width: auto` gives it an automatic minimum size equal to\n   its min-content width, and the min-content of the hero's head column is the\n   widest unbreakable word in the H1: `ontstekingswaarden` needs 365px at 34px\n   Poppins Bold. So the item laid out 359 wide inside a 335 track and hung 24px\n   out of it, and by 375 the last of that had crossed the screen, where the body\n   clipped it.\n\n   `overflow-wrap: break-word`, declared on that H1 one line above, cannot help\n   and this is the whole trap: by spec it introduces a soft-wrap opportunity for\n   LINE LAYOUT only, never for INTRINSIC sizing. So it never reduced the item's\n   automatic minimum, and inside the oversized item the word then fitted on a\n   line and had no reason to break.\n\n   Measured on the unfixed build at 320 and 375, one rule injected at a time:\n   `min-width: 0`, `hyphens: auto` and `minmax(0, 1fr)` each take the head column\n   back to the track width on their own. Every DESKTOP grid in this sheet already\n   carries `minmax(0, ...)`; the mobile collapse rules had dropped it, which is\n   the reason the fault only ever showed on a phone.\n\n   Two rules therefore, and they do different jobs:\n\n   1. `min-width: 0` on the block containers that are grid or flex items, so an\n      item can never hand a track a minimum bigger than the space there is. This\n      is the guard that makes the class of fault impossible rather than fixing\n      one instance of it. Named containers only, never every div: `min-width: 0`\n      on a flex chip would let it collapse.\n   2. `hyphens: auto` on headings, so that when a Dutch compound still has to\n      break it breaks at a legal syllable with a hyphen instead of snapping\n      mid-morpheme. The article is inside `<html lang=\"nl-NL\">`, which is what\n      the hyphenation dictionary keys off; this is the same remedy the four\n      column band label already uses further down. *\/\n.bp-scan .bp-scan-hero2 > *, .bp-scan .bp-scan-hero-head,\n.bp-scan .bp-scan-split > *, .bp-scan .bp-scan-cols > *,\n.bp-scan .bp-scan-instgrid > *, .bp-scan .bp-scan-scale > *,\n.bp-scan .bp-scan-verify > *, .bp-scan .bp-scan-author > *,\n.bp-scan .bp-scan-links > * { min-width: 0; }\n.bp-scan h1, .bp-scan h2, .bp-scan h3 { -webkit-hyphens: auto; hyphens: auto; }\n\n\/* WordPress core's flow-layout stylesheet gives every child after the first a\n   24px block-start margin. Inside a normal column that is spacing; inside a grid\n   or a flex row it is a misalignment. Measured on the live page 2026-08-21:\n   band cards two and three sat 24px lower than card one AND lost 24px of their\n   stretched height, so the row read as broken. Zeroing it on the row containers\n   is the fix; core's rule is written with :where() so it carries no specificity\n   and a plain class selector wins. *\/\n.bp-scan .bp-scan-scale > *, .bp-scan .bp-scan-links > *,\n.bp-scan .bp-scan-facts > *, .bp-scan .bp-scan-verify > *,\n.bp-scan .bp-scan-instgrid > * { margin-block: 0; }\n\n\/* the page opens on brand colour, never on grey *\/\n.bp-scan .bp-scan-rule {\n  height: 6px; border: 0; margin-block: 0; max-width: none;\n  background: linear-gradient(90deg, #005859 0%, #006B62 38%, #228A62 66%, #B7CB33 100%);\n}\n\n\/* --- section surfaces. The colour work happens here, so the headings can stay\n       calm and the page still reads section by section. --------------------- *\/\n.bp-scan-sec { position: relative; background: var(--bp-white); margin-block: 0;\n  padding-block: var(--bp-s-8);\n  padding-inline: max(var(--bp-side), calc((100% - var(--bp-measure)) \/ 2)); }\n.bp-scan-sec > *:last-child { margin-block-end: 0; }\n\/* prose is set narrower than the column so a line stays inside a comfortable\n   measure, while cards, scales and buttons keep the full column *\/\n.bp-scan-sec > p, .bp-scan-sec > ul, .bp-scan-sec > ol { max-width: var(--bp-prose); }\n.bp-scan-sec > .bp-scan-legal, .bp-scan-sec > .bp-scan-disclosure,\n.bp-scan .bp-scan-refs { max-width: var(--bp-foot-measure); }\n.bp-scan-sec--wash { background: linear-gradient(180deg, #B7CB331A 0%, #B7CB330D 100%), #FFFFFF; }\n.bp-scan-sec--beige { background: var(--bp-beige); }\n.bp-scan-sec--dark { background: var(--bp-grad-dark); color: var(--bp-white); }\n.bp-scan-sec--dark p, .bp-scan-sec--dark li, .bp-scan-sec--dark cite { color: var(--bp-white); }\n.bp-scan-sec--hero { padding-block: var(--bp-s-7) var(--bp-s-8); }\n.bp-scan--v2 .bp-scan-sec--hero { padding-block: var(--bp-s-7); }\n.bp-scan-sec--tight { padding-block: var(--bp-s-7); }\n.bp-scan-sec--foot { padding-block: var(--bp-s-6);\n  border-top: 1px solid var(--bp-sand); background: var(--bp-white); }\n\n\/* --- CORE BLOCKS BY ELEMENT ------------------------------------------------ *\/\n.bp-scan p { font-size: var(--bp-fs-body); line-height: var(--bp-lh-body);\n  margin-block: 0 var(--bp-s-5); }\n.bp-scan h1 { font-size: var(--bp-fs-h1); font-weight: 700; line-height: 1.25;\n  letter-spacing: -0.01em; margin-block: 0 var(--bp-s-4); color: var(--bp-ink); }\n\/* no orphan words on a heading and no single-word last line in a paragraph.\n   Both degrade to normal wrapping where the browser does not support them. *\/\n.bp-scan h1, .bp-scan h2, .bp-scan h3 { text-wrap: balance; }\n.bp-scan p, .bp-scan li { text-wrap: pretty; }\n\/* an H2 is ink with a lime accent rule above it. Nine of these read as a\n   contents list down the page; nine dark bands would read as a fence. *\/\n.bp-scan h2 { font-size: var(--bp-fs-h2); font-weight: 700; line-height: 1.3;\n  letter-spacing: -0.01em; color: var(--bp-ink);\n  margin-block: 0 var(--bp-s-5); padding-block-start: var(--bp-s-4); position: relative; }\n.bp-scan h2::before { content: \"\"; position: absolute; top: 0; left: 0;\n  width: 56px; height: 4px; border-radius: 2px; background: var(--bp-lime); }\n.bp-scan-sec--dark h2 { color: var(--bp-white); }\n.bp-scan-sec--dark h2::before { background: var(--bp-lime); }\n.bp-scan h3 { font-size: var(--bp-fs-h3); font-weight: 700; line-height: 1.35;\n  color: var(--bp-teal); margin-block: 0 var(--bp-s-3); }\n.bp-scan-sec--dark h3 { color: var(--bp-lime); }\n.bp-scan ul, .bp-scan ol { font-size: var(--bp-fs-body); line-height: var(--bp-lh-body);\n  margin-block: 0 var(--bp-s-5); padding-left: var(--bp-s-5); }\n.bp-scan li { margin-block-end: var(--bp-s-2); }\n.bp-scan a { color: var(--bp-teal); text-decoration: underline;\n  text-underline-offset: 2px; }\n.bp-scan a:hover { color: var(--bp-green); }\n.bp-scan-sec--dark a { color: var(--bp-lime); }\n.bp-scan-sec--dark strong { color: var(--bp-lime); }\n.bp-scan strong { font-weight: 600; }\n.bp-scan .wp-block-separator:not(.bp-scan-rule) { border: 0;\n  border-top: 1px solid var(--bp-sand); margin-block: var(--bp-s-6); }\n\n\/* --- buttons: two classes so core's own rule cannot win -------------------- *\/\n.bp-scan .wp-block-buttons { display: flex; justify-content: flex-start;\n  margin-block: 0 var(--bp-s-3); }\n.bp-scan .wp-block-button__link {\n  display: inline-flex; align-items: center; justify-content: center; min-height: 52px;\n  background: var(--bp-teal); color: var(--bp-white); font-size: var(--bp-fs-btn);\n  font-weight: 700; line-height: 1.2; border-radius: var(--bp-radius-btn);\n  padding: 15px 40px; text-decoration: none; transition: background 250ms ease;\n  box-shadow: var(--bp-shadow);\n}\n.bp-scan .wp-block-button__link:hover { background: var(--bp-green); color: var(--bp-white); }\n.bp-scan-sec--dark .wp-block-button__link { background: var(--bp-lime); color: var(--bp-ink); }\n.bp-scan-sec--dark .wp-block-button__link:hover { background: var(--bp-white); color: var(--bp-teal); }\n\n\/* --- hero ------------------------------------------------------------------ *\/\n.bp-scan .bp-scan-eyebrow {\n  font-size: var(--bp-fs-eyebrow); font-weight: 600; letter-spacing: 0.08em;\n  text-transform: uppercase; color: var(--bp-green-aa); margin-block: 0 var(--bp-s-3);\n}\n.bp-scan .bp-scan-lead { font-size: 19px; line-height: 1.65; color: var(--bp-ink);\n  margin-block: 0 var(--bp-s-5); }\n.bp-scan .bp-scan-facts { display: flex; flex-wrap: wrap; gap: var(--bp-s-2);\n  margin-block: 0 var(--bp-s-6); }\n.bp-scan .bp-scan-fact {\n  font-size: var(--bp-fs-small); font-weight: 500; line-height: 1.4;\n  color: var(--bp-teal); background: var(--bp-pale-teal);\n  border-radius: var(--bp-radius-chip); padding: 7px 16px; margin-block: 0;\n}\n.bp-scan .bp-scan-ctamicro { font-size: var(--bp-fs-small); color: var(--bp-foot);\n  margin-block: 0; }\n.bp-scan-sec--dark .bp-scan-ctamicro { color: rgba(255,255,255,0.82); }\n\n\/* --- what we ask: the items as a counted card list ------------------------- *\/\n.bp-scan .bp-scan-items { list-style: none; padding-left: 0; counter-reset: bpitem;\n  margin-block: 0 var(--bp-s-5); }\n.bp-scan .bp-scan-items li {\n  position: relative; counter-increment: bpitem;\n  padding: var(--bp-s-3) var(--bp-s-4) var(--bp-s-3) 58px;\n  margin-block-end: var(--bp-s-2); border-radius: var(--bp-radius-btn);\n  background: var(--bp-white); border: 1px solid var(--bp-sand);\n  box-shadow: var(--bp-shadow-soft); font-weight: 500;\n}\n.bp-scan .bp-scan-items li::before {\n  content: counter(bpitem); position: absolute; left: var(--bp-s-4); top: 50%;\n  transform: translateY(-50%);\n  width: 28px; height: 28px; border-radius: 50%;\n  background: var(--bp-teal); color: var(--bp-white);\n  font-size: var(--bp-fs-small); font-weight: 700; line-height: 28px; text-align: center;\n}\n.bp-scan .bp-scan-gated { list-style: none; padding-left: 0;\n  margin-block: 0 var(--bp-s-4); }\n.bp-scan .bp-scan-gated li {\n  position: relative; padding-left: 24px; margin-block-end: var(--bp-s-1);\n  font-size: var(--bp-fs-small); color: var(--bp-foot);\n}\n.bp-scan .bp-scan-gated li::before {\n  content: \"\"; position: absolute; left: 4px; top: 10px;\n  width: 8px; height: 2px; border-radius: 1px; background: var(--bp-green);\n}\n\n\/* --- the instrument card: Layer A, one per source -------------------------- *\/\n.bp-scan .bp-scan-inst {\n  background: var(--bp-white); border: 1px solid var(--bp-sand); border-radius: 12px;\n  box-shadow: inset 5px 0 0 var(--bp-lime), var(--bp-shadow-soft);\n  padding: var(--bp-s-5) var(--bp-s-5) var(--bp-s-4) var(--bp-s-6);\n  margin-block: 0 var(--bp-s-4);\n}\n.bp-scan .bp-scan-inst h3 { margin-block: 0 var(--bp-s-2); }\n.bp-scan .bp-scan-inst p { margin-block: 0 var(--bp-s-3); }\n.bp-scan .bp-scan-inst p:last-child { margin-block-end: 0; }\n.bp-scan .bp-scan-badge {\n  display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.07em;\n  text-transform: uppercase; line-height: 1.6; padding: 3px 12px;\n  border-radius: var(--bp-radius-chip); margin-block: 0 var(--bp-s-3);\n}\n.bp-scan .bp-scan-badge--adopt { background: var(--bp-lime-soft); color: var(--bp-green-aa); }\n.bp-scan .bp-scan-badge--derive { background: var(--bp-pale-teal); color: var(--bp-teal); }\n.bp-scan .bp-scan-badge--reference { background: var(--bp-beige); color: var(--bp-ink); }\n\/* the mandatory sentence. On ten of eleven pages this is the derive caveat and\n   it is the most important line on the page, so it is given weight rather than\n   tucked into a footnote. *\/\n.bp-scan .bp-scan-use {\n  font-size: var(--bp-fs-small); font-weight: 600; line-height: 1.55;\n  color: var(--bp-teal); background: var(--bp-pale-teal);\n  border-radius: var(--bp-radius-btn); padding: var(--bp-s-3) var(--bp-s-4);\n  margin-block: 0 var(--bp-s-3);\n}\n.bp-scan .bp-scan-validfor { font-size: var(--bp-fs-small); color: var(--bp-foot);\n  line-height: 1.6; margin-block: 0 var(--bp-s-2); }\n.bp-scan .bp-scan-cite { font-size: var(--bp-fs-foot); color: var(--bp-foot);\n  line-height: 1.6; margin-block: 0; }\n.bp-scan .bp-scan-cite a { color: var(--bp-foot); }\n\n\/* --- the honest limit: the block that earns the page its right to rank ----- *\/\n.bp-scan .bp-scan-limitcite {\n  font-size: var(--bp-fs-small); line-height: 1.6; max-width: var(--bp-foot-measure);\n  color: rgba(255,255,255,0.85); border-left: 3px solid var(--bp-lime);\n  padding-left: var(--bp-s-4); margin-block: var(--bp-s-5) 0;\n}\n\/* beside the statement rather than under it, and given a surface so a two-line\n   citation reads as the source panel it is instead of as leftover text *\/\n.bp-scan--v2 .bp-scan-sec--dark .bp-scan-cols { align-items: center; }\n.bp-scan--v2 .bp-scan-col > .bp-scan-limitcite {\n  background: rgba(255,255,255,0.08); border-radius: var(--bp-radius-card);\n  padding: var(--bp-s-5) var(--bp-s-5) var(--bp-s-5) var(--bp-s-6);\n  margin-block: 0;\n}\n\n\/* --- the score scale ------------------------------------------------------- *\/\n.bp-scan .bp-scan-scale { display: grid; gap: var(--bp-s-3);\n  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n  margin-block: 0 var(--bp-s-5); }\n.bp-scan .bp-scan-scale .wp-block-group {\n  border-radius: var(--bp-radius-btn); padding: var(--bp-s-4);\n  background: var(--bp-white); border: 1px solid var(--bp-sand);\n  border-top: 5px solid var(--bp-sand);\n}\n.bp-scan .bp-scan-scale .bp-scan-band--ok { border-top-color: var(--bp-green); }\n.bp-scan .bp-scan-scale .bp-scan-band--warn { border-top-color: #C08A1E; }\n.bp-scan .bp-scan-scale .bp-scan-band--alert { border-top-color: #B04A24; }\n.bp-scan .bp-scan-band-range { font-size: 22px; font-weight: 700; line-height: 1.2;\n  color: var(--bp-ink); margin-block: 0 var(--bp-s-1); }\n.bp-scan .bp-scan-band-label { font-size: var(--bp-fs-small); line-height: 1.5;\n  color: var(--bp-foot); margin-block: 0; }\n.bp-scan .bp-scan-bandnote {\n  font-size: var(--bp-fs-small); line-height: 1.65; color: var(--bp-ink);\n  background: var(--bp-lime-soft); border-radius: var(--bp-radius-btn);\n  padding: var(--bp-s-4); margin-block: 0 var(--bp-s-4);\n}\n\n\/* --- verified by. A designed card, never a badge. -------------------------- *\/\n.bp-scan .bp-scan-verify {\n  display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: var(--bp-s-5);\n  align-items: start;\n  background: var(--bp-white); border: 1px solid var(--bp-sand);\n  border-top: 4px solid var(--bp-lime); border-radius: var(--bp-radius-card);\n  box-shadow: var(--bp-shadow); padding: var(--bp-s-5); margin-block: 0 var(--bp-s-4);\n}\n.bp-scan .bp-scan-verify-photo {\n  width: 88px; height: 88px; border-radius: 50%; margin-block: 0;\n  background: var(--bp-pale-teal); border: 2px solid var(--bp-lime);\n  display: flex; align-items: center; justify-content: center; overflow: hidden;\n  font-size: 10px; font-weight: 700; letter-spacing: 0.06em; color: var(--bp-teal);\n  text-align: center;\n}\n.bp-scan .bp-scan-verify-photo img { width: 100%; height: 100%; object-fit: cover;\n  object-position: center; display: block; border-radius: 50%; }\n.bp-scan .bp-scan-verify-body > * { margin-block: 0 var(--bp-s-2); }\n.bp-scan .bp-scan-verify-body > *:last-child { margin-block-end: 0; }\n.bp-scan .bp-scan-verify-role {\n  font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;\n  color: var(--bp-green-aa);\n}\n.bp-scan .bp-scan-verify-name { font-size: 20px; font-weight: 700; line-height: 1.3;\n  color: var(--bp-ink); }\n.bp-scan .bp-scan-verify-cred { font-size: var(--bp-fs-small); color: var(--bp-foot);\n  line-height: 1.6; }\n.bp-scan .bp-scan-verify-stmt { font-size: var(--bp-fs-small); line-height: 1.7;\n  color: var(--bp-ink); }\n.bp-scan .bp-scan-verify-date { font-size: var(--bp-fs-foot); color: var(--bp-foot); }\n\n\/* the internal preview skin. Hazard stripes, a warning strap and bracketed\n   field names: it can read as a form, and it can never read as an endorsement.\n   This skin never reaches a page; push_guard refuses the marker it carries. *\/\n.bp-scan .bp-scan-verify--demo {\n  border: 2px dashed #C0562B; border-top: 4px dashed #C0562B;\n  background: repeating-linear-gradient(135deg, #FFF7F2 0 14px, #FDEDE3 14px 28px);\n  box-shadow: none;\n}\n.bp-scan .bp-scan-verify--demo .bp-scan-verify-photo {\n  background: #FDEDE3; border: 2px dashed #C0562B; color: #C0562B; }\n.bp-scan .bp-scan-verify--demo .bp-scan-verify-role,\n.bp-scan .bp-scan-verify--demo .bp-scan-verify-name { color: #C0562B; }\n.bp-scan .bp-scan-demostrap {\n  font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;\n  line-height: 1.5; color: #FFFFFF; background: #C0562B;\n  border-radius: var(--bp-radius-btn); padding: var(--bp-s-3) var(--bp-s-4);\n  margin-block: 0 var(--bp-s-3);\n}\n\n\/* --- references, disclosure, safety ---------------------------------------- *\/\n.bp-scan .bp-scan-refs { font-size: var(--bp-fs-small); line-height: 1.7;\n  color: var(--bp-ink); padding-left: 22px; margin-block: 0; }\n.bp-scan .bp-scan-refs li { margin-block-end: var(--bp-s-3); }\n.bp-scan .bp-scan-refs a { font-size: var(--bp-fs-foot); overflow-wrap: anywhere;\n  padding-block: 5px; }\n.bp-scan .bp-scan-cite a { padding-block: 5px; }\n.bp-scan .bp-scan-disclosure { font-size: var(--bp-fs-small); line-height: 1.7;\n  color: var(--bp-ink); }\n.bp-scan .bp-scan-safety {\n  background: var(--bp-beige); border-radius: 12px;\n  box-shadow: inset 5px 0 0 var(--bp-teal);\n  padding: var(--bp-s-5) var(--bp-s-5) var(--bp-s-5) var(--bp-s-6);\n  font-size: var(--bp-fs-small); line-height: 1.7; margin-block: 0 var(--bp-s-4);\n}\n.bp-scan .bp-scan-legal { font-size: var(--bp-fs-foot); line-height: 1.7;\n  color: var(--bp-foot); margin-block: 0; }\n\n\/* --- internal link strip: renders only when it has somewhere to point ------ *\/\n.bp-scan .bp-scan-links { display: grid; gap: var(--bp-s-3);\n  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-block: 0; }\n.bp-scan .bp-scan-links .wp-block-group {\n  border: 1px solid var(--bp-sand); border-radius: var(--bp-radius-btn);\n  padding: var(--bp-s-4); background: var(--bp-white); }\n.bp-scan .bp-scan-links p { margin-block: 0; font-size: var(--bp-fs-small); font-weight: 600; }\n\/* T188: on v2 the strip is a row of pills, not a card grid. Seen on the sleep\n   preview 2026-08-27: with ONE live sibling the grid put one 220px card at the\n   left of an empty 1120 row, which is the round-4 strip defect in a new place.\n   Pills sit in a wrapping row; one reads as one link, ten read as ten. *\/\n.bp-scan--v2 .bp-scan-links { display: flex; flex-wrap: wrap; gap: var(--bp-s-3); }\n.bp-scan--v2 .bp-scan-links .wp-block-group { flex: 0 1 auto; padding: 0; }\n\/* the anchor IS the pill, so the tap target is the whole pill (45px) and not a\n   21px line of text inside it: measured 2026-08-27, the one target under 24px\n   on the sleep page *\/\n.bp-scan--v2 .bp-scan-links a { display: block; padding: var(--bp-s-3) var(--bp-s-5); }\n\n\/* T188: the ten derive scans carry FOUR reading bands and page 1 carries three.\n   Four tiles on the base auto-fit grid wrapped three plus one inside the 620\n   column, so \"80 tot 100\" sat alone on a second row (seen on the sleep preview\n   2026-08-27). A scale reads left to right, low to high, so four sit on one\n   row at 1440 and two by two on a phone. The class is only emitted when the\n   count is not three, so page 1's scale is untouched. *\/\n.bp-scan--v2 .bp-scan-scale--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }\n.bp-scan--v2 .bp-scan-scale--n4 .wp-block-group { padding: var(--bp-s-3); }\n\/* T188 batch A: a pack band label can be one word longer than a four-column tile\n   (\"hoge vermoeidheidslast\" on energy broke as \"vermoeidheidsla\" + \"st\" at 1440).\n   Hyphenate instead of breaking anywhere; the tile is inside the nl-NL article. *\/\n.bp-scan--v2 .bp-scan-scale--n4 .bp-scan-band-label { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: normal; }\n@media (max-width: 767px) {\n  .bp-scan--v2 .bp-scan-scale--n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n}\n\n\/* --- image slot: holds its aspect ratio empty, and gets out of the way full - *\/\n.bp-scan .bp-scan-slot {\n  display: flex; align-items: center; justify-content: center; text-align: center;\n  aspect-ratio: 16 \/ 9; padding: var(--bp-s-4); margin-block: 0 var(--bp-s-5);\n  border: 2px dashed var(--bp-green); border-radius: var(--bp-radius-card);\n  background: var(--bp-lime-soft); color: var(--bp-teal);\n}\n.bp-scan .bp-scan-slot p { font-size: var(--bp-fs-small); font-weight: 700; margin-block: 0; }\n.bp-scan .wp-block-image { margin-block: 0 var(--bp-s-5); }\n.bp-scan .wp-block-image img { display: block; width: 100%; height: auto;\n  aspect-ratio: 16 \/ 9; object-fit: cover;\n  border-radius: var(--bp-radius-card); box-shadow: var(--bp-shadow); }\n.bp-scan .wp-block-image figcaption { font-size: var(--bp-fs-foot); line-height: 1.6;\n  color: var(--bp-foot); text-align: left; margin-block: var(--bp-s-2) 0; }\n\n\/* --- 767 and below. Not a shrink of desktop: the type scale, the side padding\n       and the button all change, and the verifier card goes to one column. --- *\/\n@media (max-width: 767px) {\n  .bp-scan {\n    --bp-fs-h1: 30px; --bp-fs-h2: 26px; --bp-fs-h3: 19px; --bp-fs-body: 16px;\n    --bp-fs-btn: 16px; --bp-fs-eyebrow: 14px; --bp-side: 20px;\n    --bp-s-8: 48px; --bp-s-7: 36px;\n  }\n  .bp-scan .bp-scan-lead { font-size: 17px; }\n  .bp-scan .bp-scan-band-range { font-size: 20px; }\n  .bp-scan .wp-block-button { width: 100%; }\n  .bp-scan .wp-block-button__link { width: 100%; padding: 15px 20px; }\n  .bp-scan .bp-scan-verify { grid-template-columns: minmax(0, 1fr); gap: var(--bp-s-4); }\n  .bp-scan .bp-scan-items li { padding: var(--bp-s-3) var(--bp-s-3) var(--bp-s-3) 50px; }\n  .bp-scan .bp-scan-items li::before { left: var(--bp-s-3); }\n  .bp-scan .bp-scan-inst { padding: var(--bp-s-4) var(--bp-s-4) var(--bp-s-4) var(--bp-s-5); }\n  .bp-scan .bp-scan-slot { aspect-ratio: 4 \/ 3; }\n}\n@media (prefers-reduced-motion: reduce) { .bp-scan * { transition-duration: 0ms; } }\n\n\n\/* ===========================================================================\n   V2 (T185). The direct-marketing layer, on the same frame.\n\n   Jesse, 2026-08-22: the page has to be a direct-response page as well as an\n   SEO page. A headline on the problem, a hero box that sells the scan with a\n   picture of the RESULT, a problem section, the false solution and the bridge,\n   the solution, and only then the validated half. Every section carries a\n   visual, and the visuals are screenshots of the real software.\n\n   Nothing below replaces a v1 rule: v1 renders unchanged from the same sheet.\n   These are additional components plus two overrides, both marked.\n   =========================================================================== *\/\n\n.bp-scan { --bp-hero-gap: 56px; --bp-screen-w: 380px; --bp-portrait: 132px; }\n\n\/* A <figure> carries a 40px inline margin from the browser's own default sheet,\n   and core\/image is a <figure>. Measured on the v2 preview 2026-08-26: every\n   screenshot rendered 600px wide inside a 680px column, and in the author card\n   the 108px figure resolved to 28px while the portrait inside it stayed 108 and\n   overlapped the name. v1 never showed it because v1 ships no imagery. *\/\n.bp-scan .wp-block-image { margin-inline: 0; }\n\n\/* ONE CONTAINER, TOP TO BOTTOM (T185 round 4).\n   ---------------------------------------------------------------------------\n   Rounds 1 to 3 ran two widths down the same page: 1120 for the hero and the\n   paired sections, 880 for everything else, and inside the 880 sections the\n   620 reading measure was applied as the FOOTPRINT of the whole block rather\n   than as a cap on line length. Measured at 1440 on 2026-08-26, that put seven\n   sections on a left-aligned strip with 260 to 480 pixels of empty page beside\n   them, and the operator's read was the honest one: the page falls apart below\n   the fold.\n\n   The rule now, and `design_selfcheck.py` asserts it: every section's content\n   spans ONE container. A line of prose still never exceeds the measure, but the\n   BLOCK it sits in is laid out across the container (two columns, a grid, a\n   card, a band), never left as a strip with a hole beside it. *\/\n.bp-scan--v2 {\n  \/* 1120 was already the hero's width and the paired sections'. It is now every\n     section's width, so the page has one edge on the left and one on the right\n     from the first pixel to the last. The reading column did NOT move: measured\n     on the live page, 17px body in a 720 column runs 89 characters to the line\n     and in 660 it runs 86, against a 60 to 80 target; 620 measures 74. *\/\n  --bp-measure: 1120px; --bp-prose: 620px;\n  \/* two type steps moved into the house design-pass ranges\n     (agency\/skills\/funnel-page-design-pass, rule 2). v1 keeps its own values, so\n     the page the hub accepted on 2026-08-21 still renders byte for byte. *\/\n  --bp-fs-eyebrow: 13px;\n}\n@media (max-width: 767px) {\n  \/* 34 rather than 32, and the reason is arithmetic rather than taste: with\n     body copy on its 16px readability floor, the offer sentence has to be at\n     least 20px (1.25x body) and at most 62 percent of the H1. Against a 32px H1\n     those two have no overlap at all; against 34 they meet at 21. *\/\n  .bp-scan--v2 { --bp-fs-h1: 34px; --bp-fs-eyebrow: 12px; }\n}\n\/* Sixteen numbered sources. Round 3 gave them a 720 measure in one column, which\n   at 1120 is a strip with 400px of page beside it; they run in two columns now.\n   The number is drawn by a COUNTER rather than by the list marker, because a\n   marker sits in the list's own padding and in a multi-column box that padding\n   belongs to the first column, so every number in the second column would hang\n   outside it. v1 keeps its markers: this is scoped to v2. *\/\n.bp-scan--v2 .bp-scan-refs {\n  max-width: none; columns: 2; column-gap: var(--bp-hero-gap);\n  list-style: none; padding-left: 0; counter-reset: bpref;\n}\n.bp-scan--v2 .bp-scan-refs li {\n  counter-increment: bpref; position: relative; padding-left: 28px;\n  break-inside: avoid; -webkit-column-break-inside: avoid;\n}\n.bp-scan--v2 .bp-scan-refs li::before {\n  content: counter(bpref) \".\"; position: absolute; left: 0; top: 0;\n  font-weight: 600; color: var(--bp-foot);\n}\n\/* A CARD may be as wide as the column; the text inside it may not. At the v2\n   measure the instrument cards ran 101 characters to the line, measured on the\n   live page 2026-08-26, against a 60 to 80 target. The card keeps its width and\n   the reading column inside it is capped. *\/\n.bp-scan--v2 .bp-scan-bridge > p, .bp-scan--v2 .bp-scan-items li,\n.bp-scan--v2 .bp-scan-checks li { max-width: 640px; }\n\/* ONE RADIUS PER ROLE. A card is 20 (`--bp-radius-card`) and a tile or a chip is\n   10 (`--bp-radius-btn`). The instrument and safety cards were on a third value,\n   12, which nothing else on the page used. v1 keeps its own, so the page the hub\n   accepted on 2026-08-21 renders as it did. *\/\n.bp-scan--v2 .bp-scan-inst, .bp-scan--v2 .bp-scan-safety {\n  border-radius: var(--bp-radius-card);\n}\n.bp-scan--v2 .bp-scan-safety { box-shadow: inset 5px 0 0 var(--bp-teal), var(--bp-shadow-soft); }\n\/* ONE CARD PADDING, too: 24 all round, and 32 on the left of the cards that carry\n   an inset bar there. Audited on the built page 2026-08-26, the four card types\n   were on three different paddings, one of them asymmetric top to bottom. *\/\n.bp-scan--v2 .bp-scan-inst {\n  padding: var(--bp-s-5) var(--bp-s-5) var(--bp-s-5) var(--bp-s-6);\n}\n\/* small text fits more characters per pixel, so it needs a narrower column, not\n   the same one: 14px in a 640 column is 93 characters *\/\n.bp-scan--v2 .bp-scan-bandnote,\n\/* named through its parent, because `.bp-scan-authorbody > *` sets max-width to\n   none at the same specificity and later in the sheet *\/\n.bp-scan--v2 .bp-scan-authorbody > .bp-scan-authorbio { max-width: 480px; }\n\n\n\/* --- hero, two columns ----------------------------------------------------- *\/\n.bp-scan .bp-scan-hero2 {\n  display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);\n  grid-template-areas: \"head box\" \"tail box\";\n  grid-template-rows: auto 1fr;\n  column-gap: var(--bp-hero-gap); row-gap: var(--bp-s-5);\n  align-items: start; margin-block: 0;\n}\n.bp-scan .bp-scan-hero2 > * { margin-block: 0; }\n.bp-scan .bp-scan-hero-head { grid-area: head; }\n.bp-scan .bp-scan-herobox { grid-area: box; }\n.bp-scan .bp-scan-hero-tail { grid-area: tail; }\n.bp-scan .bp-scan-hero2 > .wp-block-group > *:last-child { margin-block-end: 0; }\n.bp-scan .bp-scan-hero2 h1 { margin-block: 0; }\n.bp-scan .bp-scan-hero-tail > *:last-child { margin-block-end: 0; }\n\n\/* the box that sells the scan. A card, on the page's own colour, so it reads as\n   the product and not as another paragraph. *\/\n.bp-scan .bp-scan-herobox {\n  display: flex; flex-direction: column;\n  background: linear-gradient(180deg, #FFFFFF 0%, #F7F9F1 100%);\n  border: 1px solid var(--bp-sand); border-radius: var(--bp-radius-card);\n  box-shadow: var(--bp-shadow); padding: var(--bp-s-5); margin-block: 0;\n}\n.bp-scan .bp-scan-herobox > * { margin-block: 0 var(--bp-s-4); }\n.bp-scan .bp-scan-herobox > *:last-child { margin-block-end: 0; }\n.bp-scan .bp-scan-herobox .wp-block-buttons { margin-block: 0; }\n.bp-scan .bp-scan-herobox .wp-block-button { width: 100%; }\n.bp-scan .bp-scan-herobox .wp-block-button__link { width: 100%; }\n.bp-scan .bp-scan-boxeyebrow {\n  font-size: var(--bp-fs-eyebrow); font-weight: 600; letter-spacing: 0.08em;\n  text-transform: uppercase; color: var(--bp-green-aa);\n}\n.bp-scan .bp-scan-boxpitch {\n  font-size: 26px; font-weight: 700; line-height: 1.25; color: var(--bp-ink);\n  letter-spacing: -0.01em;\n}\n.bp-scan .bp-scan-boxlead { font-size: var(--bp-fs-small); line-height: 1.65;\n  color: var(--bp-foot); }\n.bp-scan .bp-scan-boxafter { font-size: var(--bp-fs-foot); line-height: 1.6;\n  color: var(--bp-foot); margin-block: var(--bp-s-4) var(--bp-s-2); }\n\n\/* --- screenshots ----------------------------------------------------------- *\/\n\/* OVERRIDE 1 of 2. v1 crops every image to 16:9 and covers, which is right for\n   photography and destroys a screenshot: it would cut the top off the result\n   card. Inside a shot figure the image keeps its own ratio. *\/\n.bp-scan .bp-scan-shot { margin-block: 0 var(--bp-s-5); }\n.bp-scan .bp-scan-shot img {\n  aspect-ratio: auto; object-fit: contain; width: 100%; height: auto;\n  display: block; border-radius: 14px; border: 1px solid var(--bp-sand);\n  box-shadow: var(--bp-shadow); background: var(--bp-white);\n}\n.bp-scan .bp-scan-shot figcaption {\n  font-size: var(--bp-fs-foot); line-height: 1.6; color: var(--bp-foot);\n  text-align: left; margin-block: var(--bp-s-3) 0; max-width: var(--bp-prose);\n}\n\/* the hero's result crop sits INSIDE the box, so it carries the box's own\n   surface rather than a second card border *\/\n.bp-scan .bp-scan-herobox .bp-scan-shot img { box-shadow: var(--bp-shadow-soft); }\n\/* the hero's screenshot is introduced by the line above it, so its own caption\n   would be the same sentence twice on one picture *\/\n.bp-scan .bp-scan-shot--nocap figcaption { display: none; }\n\n\/* --- FIGURE RHYTHM (T185 round 3) ------------------------------------------\n   The operator's read, 2026-08-26: the caption under the hero picture is stuck\n   to it, and on a phone the start button is stuck to it too. Neither is a spot\n   fix, so this is the rule the whole page obeys and `design_selfcheck.py`\n   asserts at both viewports:\n\n     an image to the line that DESCRIBES it     at least 8px   (--bp-s-2)\n     a figure to the NEXT BLOCK                 at least 24px  (--bp-s-5)\n\n   Two minimums rather than one, because a caption belongs to its picture and a\n   button does not: the caption sits close enough to read as one unit with the\n   image, and the next block sits far enough to read as the next thing. Both\n   numbers are steps on the token scale; his ask was six to eight. A figure's own\n   caption already sits on 12px (the `.bp-scan-shot figcaption` rule above). *\/\n\/* the hero box's lead IS the hero picture's caption. It is simply not inside the\n   <figure>, so it is spaced by hand at the caption minimum. *\/\n.bp-scan .bp-scan-herobox > .bp-scan-screen { margin-block: 0 var(--bp-s-2); }\n.bp-scan .bp-scan-herobox > .bp-scan-boxlead { margin-block: 0 var(--bp-s-5); }\n\n\/* --- the screen frame: a screen, not a floating rectangle ------------------ *\/\n\/* A hairline and a shadow, NOT a bezel. The screenshot already carries the\n   app's own page background and the app's own card inside it, so a padded frame\n   put a third rounded rectangle around two and the hero read as boxes in boxes. *\/\n\/* margin-INLINE only. `margin: 0 auto` here also set margin-bottom to 0, and\n   because this rule sits later in the sheet than the hero box's own child rule\n   it won, so the caption under the hero picture touched it at 1440 and the start\n   button touched it at 390 (measured, both 0px, 2026-08-26). The vertical gap is\n   the figure-rhythm rule's business and is set below. *\/\n.bp-scan .bp-scan-screen {\n  position: relative; max-width: var(--bp-screen-w); margin-inline: auto;\n  border-radius: 16px; border: 1px solid var(--bp-sand);\n  box-shadow: 0 18px 40px rgba(0,88,89,0.14);\n  overflow: hidden;\n}\n\/* the lime rule the app draws across the top of that very screen *\/\n.bp-scan .bp-scan-screen::before {\n  content: \"\"; position: absolute; inset: 0 0 auto 0; height: 4px;\n  background: linear-gradient(90deg, var(--bp-lime) 0%, var(--bp-green) 62%,\n                              rgba(183,203,51,0) 100%);\n}\n.bp-scan .bp-scan-screen .bp-scan-shot { margin-block: 0; }\n.bp-scan .bp-scan-screen .bp-scan-shot img {\n  border-radius: 0; border: 0; box-shadow: none; display: block; }\n\n\/* Display widths. A questionnaire step is a tall screen: printed at the full\n   column it is 1300 pixels of one picture, and nine of those in a row is a\n   scroll rather than a page. The width is per slot, which is also where the\n   variation across the page comes from. *\/\n.bp-scan .bp-scan-shot--wide { max-width: none; }\n.bp-scan .bp-scan-shot--mid { max-width: 700px; }\n.bp-scan .bp-scan-shot--narrow { max-width: 560px; }\n\/* a phone screenshot printed 880 wide stops reading as a phone *\/\n.bp-scan .bp-scan-shot--phone { max-width: 320px; }\n\/* the hero's second screenshot is capped, because the whole first screen has to\n   fit one: the headline, the promise, the button and both pictures of the\n   product. Uncapped it pushed the next section past the fold at 1440x900. *\/\n.bp-scan .bp-scan-hero2 .bp-scan-shot { max-width: 380px; }\n.bp-scan .bp-scan-shots {\n  display: grid; gap: var(--bp-s-4);\n  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n  margin-block: 0 var(--bp-s-5);\n}\n.bp-scan .bp-scan-shots > * { margin-block: 0; }\n\n\/* --- TWO COLUMNS WHERE A SECTION CARRIES A SCREENSHOT (T185 round 3) --------\n   Jesse through the operator, 2026-08-26: a section that carries a screenshot\n   is laid out at 1440 as text on one side and the picture on the other.\n\n   THE ARITHMETIC, because it is what decides the ratio. The SECTION widens to\n   the 1120 the hero already uses; the READING COLUMN does not, because a card\n   may be as wide as its column and a line of text may not (the same rule the\n   instrument cards obey). 620 of prose plus the hero's own 56 gap leaves 444\n   for the picture, which is inside 20 percent of the 560 the narrow shots were\n   already printed at, so the pair costs the screenshots almost nothing and\n   takes roughly a third off the section's height.\n\n   Phones stack, text first, and the row gap is the figure minimum. *\/\n.bp-scan .bp-scan-split {\n  display: grid; align-items: center;\n  grid-template-columns: minmax(0, var(--bp-prose)) minmax(0, 1fr);\n  column-gap: var(--bp-hero-gap); row-gap: var(--bp-s-5);\n  margin-block: 0 var(--bp-s-6);\n}\n\/* the two columns sit on their shared middle rather than on their shared top.\n   Round 3 top-aligned them, and where the picture is materially shorter than the\n   text that put the whole difference at the bottom of the picture column as one\n   hole; split in two it reads as a margin. *\/\n\/* an EVEN pair, for a section whose text runs long and whose screen is tall:\n   532 and 532 rather than 620 and 444, so the picture gets 20 percent more\n   height and 20 percent more type size and the two columns end together. *\/\n.bp-scan .bp-scan-split--even { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n.bp-scan .bp-scan-split > * { margin-block: 0; }\n.bp-scan .bp-scan-split > *:last-child { margin-block-end: 0; }\n.bp-scan .bp-scan-split-text > *:last-child { margin-block-end: 0; }\n.bp-scan .bp-scan-sec > .bp-scan-split:last-child { margin-block-end: 0; }\n\/* the picture on the left, the text on the right. Placed rather than reordered,\n   so the markup order stays text-then-picture and a phone gets the right order\n   with no rule of its own. *\/\n.bp-scan .bp-scan-split--flip { grid-template-columns: minmax(0, 1fr) minmax(0, var(--bp-prose)); }\n.bp-scan .bp-scan-split--flip > .bp-scan-split-text { grid-area: 1 \/ 2; }\n.bp-scan .bp-scan-split--flip > .bp-scan-split-media { grid-area: 1 \/ 1; }\n\/* --- two columns of TEXT, for a block that is not a picture ---------------- *\/\n\/* Same container, same gutter as the split, so a section that pairs prose with\n   prose sits on the same edges as one that pairs prose with a screenshot. *\/\n.bp-scan .bp-scan-cols {\n  display: grid; align-items: start;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  column-gap: var(--bp-hero-gap); row-gap: var(--bp-s-5);\n  margin-block: 0 var(--bp-s-5);\n}\n.bp-scan .bp-scan-cols > * { margin-block: 0; }\n.bp-scan .bp-scan-col > * { max-width: none; }\n.bp-scan .bp-scan-col > *:last-child { margin-block-end: 0; }\n.bp-scan .bp-scan-sec > .bp-scan-cols:last-child { margin-block-end: 0; }\n@media (max-width: 900px) {\n  .bp-scan .bp-scan-cols { grid-template-columns: minmax(0, 1fr); }\n}\n\n\/* the figure fills its column: every display width on this page was chosen for\n   the full reading column, and this column is narrower than all of them *\/\n.bp-scan .bp-scan-split-media .bp-scan-shot { max-width: none; margin-block: 0; }\n.bp-scan .bp-scan-split-media > *:last-child { margin-block-end: 0; }\n\/* a heading over a 1120 section would run 120 characters; it keeps a heading\n   measure while the block under it keeps the width *\/\n.bp-scan--v2 .bp-scan-sec > h2 { max-width: 820px; }\n\/* a running note under a block that spans the container: two columns, so it\n   ends where the block above it ends instead of trailing off to the left *\/\n.bp-scan--v2 .bp-scan-sec > .bp-scan-note,\n.bp-scan--v2 .bp-scan-sec > .bp-scan-disclosure {\n  max-width: none; columns: 2; column-gap: var(--bp-hero-gap);\n}\n\n\n\/* --- the three instrument cards, across the container --------------------- *\/\n\/* Stacked, each card ran the full 880 with its text capped at 640 inside it, so\n   the section was a strip with a hole and each card was a card with a hole. Three\n   across the container is one row, equal heights, and the card is now 362 wide so\n   its text fills it. *\/\n.bp-scan .bp-scan-instgrid {\n  display: grid; gap: var(--bp-s-4);\n  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n  align-items: stretch; margin-block: 0 var(--bp-s-5);\n}\n\/* Equal height, and the content is NOT bottom-anchored. Anchoring it was tried\n   on 2026-08-26 and rejected on sight: pushing the mandatory sentence to the\n   bottom of every card lined the three footers up and opened a 200px void in the\n   middle of the short one. Contiguous content inside an equal-height card beats\n   a tidy footer line. *\/\n.bp-scan .bp-scan-instgrid > .bp-scan-inst { margin-block: 0; height: 100%; }\n\n\/* --- the closing CTA as a band ------------------------------------------- *\/\n\/* The page's last beat. A wash section with a left-aligned heading, one line and\n   a button read as another paragraph; a full-bleed teal band with the offer\n   centred in it reads as the end of the page. Teal solid rather than the token\n   gradient, so it does not read as a second copy of the dark honesty section. *\/\n.bp-scan .bp-scan-sec--band {\n  background: var(--bp-teal); color: var(--bp-white);\n  padding-block: var(--bp-s-8); text-align: center;\n}\n.bp-scan .bp-scan-sec--band > * { margin-inline: auto; }\n.bp-scan .bp-scan-sec--band h2 { color: var(--bp-white); }\n.bp-scan .bp-scan-sec--band h2::before { left: 50%; transform: translateX(-50%); }\n.bp-scan .bp-scan-sec--band > p { color: rgba(255,255,255,0.92); max-width: var(--bp-prose); }\n.bp-scan .bp-scan-sec--band .wp-block-buttons { justify-content: center; }\n.bp-scan .bp-scan-sec--band .wp-block-button__link {\n  background: var(--bp-lime); color: var(--bp-ink); box-shadow: 0 10px 30px rgba(0,0,0,0.18);\n}\n.bp-scan .bp-scan-sec--band .wp-block-button__link:hover {\n  background: var(--bp-white); color: var(--bp-teal);\n}\n.bp-scan .bp-scan-sec--band .bp-scan-ctamicro { color: rgba(255,255,255,0.82); }\n@media (max-width: 900px) {\n  .bp-scan .bp-scan-split, .bp-scan .bp-scan-split--flip,\n  .bp-scan .bp-scan-split--even { grid-template-columns: minmax(0, 1fr); }\n  .bp-scan .bp-scan-split--flip > .bp-scan-split-text { grid-area: 1 \/ 1; }\n  .bp-scan .bp-scan-split--flip > .bp-scan-split-media { grid-area: 2 \/ 1; }\n}\n\n\/* --- problem, false solution, bridge --------------------------------------- *\/\n.bp-scan .bp-scan-kicker {\n  font-size: 19px; line-height: 1.55; font-weight: 600; color: var(--bp-green-aa);\n  margin-block: calc(var(--bp-s-5) * -1 + var(--bp-s-2)) var(--bp-s-5);\n}\n.bp-scan .bp-scan-bridge {\n  background: var(--bp-white); border: 1px solid var(--bp-sand);\n  border-radius: var(--bp-radius-card);\n  box-shadow: inset 5px 0 0 var(--bp-teal), var(--bp-shadow-soft);\n  padding: var(--bp-s-5) var(--bp-s-5) var(--bp-s-5) var(--bp-s-6);\n  margin-block: 0 var(--bp-s-5);\n}\n.bp-scan .bp-scan-bridge > * { margin-block: 0 var(--bp-s-3); max-width: none; }\n.bp-scan .bp-scan-bridge > *:last-child { margin-block-end: 0; }\n.bp-scan .bp-scan-bridgelead {\n  font-size: var(--bp-fs-h3); font-weight: 700; line-height: 1.3;\n  color: var(--bp-teal);\n}\n\/* the bridge that CLOSES the evidence runs the whole container, so its button\n   goes on the same line as its sentence rather than under it at the far left *\/\n.bp-scan .bp-scan-bridge--row {\n  display: flex; flex-wrap: wrap; align-items: center;\n  justify-content: space-between; gap: var(--bp-s-4) var(--bp-s-6);\n}\n.bp-scan .bp-scan-bridge--row > * { margin-block: 0; }\n.bp-scan .bp-scan-bridge-text > * { margin-block: 0 var(--bp-s-2); max-width: none; }\n.bp-scan .bp-scan-bridge-text > *:last-child { margin-block-end: 0; }\n@media (max-width: 767px) {\n  .bp-scan .bp-scan-bridge--row .wp-block-buttons { width: 100%; }\n}\n\n\/* --- what you get, as a checked list --------------------------------------- *\/\n.bp-scan .bp-scan-checks { list-style: none; padding-left: 0; margin-block: 0 var(--bp-s-5); }\n.bp-scan .bp-scan-checks li {\n  position: relative; padding-left: 36px; margin-block-end: var(--bp-s-3);\n  font-size: var(--bp-fs-body); line-height: 1.6;\n}\n.bp-scan .bp-scan-checks li::before {\n  content: \"\"; position: absolute; left: 0; top: 7px; width: 20px; height: 20px;\n  border-radius: 50%; background: var(--bp-lime-soft);\n  border: 2px solid var(--bp-green-aa);\n}\n.bp-scan .bp-scan-checks li::after {\n  content: \"\"; position: absolute; left: 6px; top: 12px; width: 8px; height: 4px;\n  border-left: 2px solid var(--bp-green-aa); border-bottom: 2px solid var(--bp-green-aa);\n  transform: rotate(-45deg);\n}\n\n\/* --- the evidence section: reference marks --------------------------------- *\/\n.bp-scan .bp-scan-sup { font-size: 0.68em; line-height: 0; vertical-align: super; }\n\/* the hit area is padded out to clear 24px in both directions and the padding\n   is pulled straight back off with a negative margin, so the mark stays a\n   superscript and stops being a 15px tap target. Measured on the live page\n   2026-08-26: 17 targets under 24px before this, 0 after. *\/\n.bp-scan .bp-scan-sup a { text-decoration: none; font-weight: 700;\n  color: var(--bp-teal); padding: 9px 7px; margin: -9px -7px; }\n.bp-scan .bp-scan-sup a:hover { text-decoration: underline; }\n\/* a run of marks is ONE superscript holding several linked numbers, so the\n   separator is a real comma in the markup rather than a CSS pseudo-element on an\n   adjacent sibling: the sibling combinator skips text nodes and put a comma in\n   front of every second mark in a paragraph (live page, 2026-08-26) *\/\n.bp-scan .bp-scan-sup a + a { margin-left: 1px; }\n\/* THE EVIDENCE, AS CARDS IN TWO BALANCED COLUMNS (round 4).\n   Five blocks of uneven length. A two-column GRID would leave the fifth alone in\n   the left column with a hole beside it, which is the defect this round exists to\n   remove; CSS columns balance the five by height instead, so both columns end\n   together and no card is orphaned. `break-inside: avoid` keeps a card whole. *\/\n.bp-scan .bp-scan-scigrid { columns: 2; column-gap: var(--bp-hero-gap);\n  margin-block: 0 var(--bp-s-6); }\n.bp-scan .bp-scan-scigrid > * { margin-block: 0 var(--bp-s-4); }\n.bp-scan .bp-scan-sci {\n  break-inside: avoid; -webkit-column-break-inside: avoid;\n  background: var(--bp-white); border: 1px solid var(--bp-sand);\n  border-radius: var(--bp-radius-card); box-shadow: var(--bp-shadow-soft);\n  padding: var(--bp-s-5);\n}\n.bp-scan .bp-scan-sci > * { max-width: none; }\n.bp-scan .bp-scan-sci h3 { margin-block: 0 var(--bp-s-3); }\n.bp-scan .bp-scan-sci > *:last-child { margin-block-end: 0; }\n.bp-scan .bp-scan-srclead { font-size: var(--bp-fs-small); line-height: 1.7;\n  color: var(--bp-foot); margin-block: 0 var(--bp-s-5); max-width: var(--bp-foot-measure); }\n\/* Lighthouse 12.8.2 on the live page, 2026-08-26: --bp-foot (#6b6b6b) on the\n   beige surface reads 4.44:1 at 14px, just under the 4.5 AA floor. Ink on beige\n   reads 12.88:1. Same fix T147 made for the reference badge, same reason. *\/\n.bp-scan .bp-scan-sec--beige .bp-scan-srclead { color: var(--bp-ink); }\n\/* A SECTION DECK is the line under the heading that says what the section is for.\n   It was 14px, which put it BELOW the body copy it introduces and upside down\n   against a 31px heading. Body size now, in the footnote ink, on the reading\n   measure: one role, one size, wherever it appears. It has to sit AFTER the base\n   rule above or it loses to it at the same specificity. *\/\n.bp-scan--v2 .bp-scan-srclead {\n  font-size: var(--bp-fs-body); line-height: 1.7; max-width: var(--bp-prose);\n}\n\n\/* --- author block ---------------------------------------------------------- *\/\n\/* THREE ZONES ACROSS THE CARD (round 4b): the portrait, the identity rail, the\n   bio, and the metadata row spanning under all three. Two zones left the bio at\n   its 480px reading measure inside a 938px column, so 458 by 95 pixels of the\n   card was empty and the role and the name held 200 pixels of type on a 938\n   pixel line. Named areas rather than auto-placement, because the card has to\n   fold twice: three columns at 1024 and up, the identity and the bio stacked\n   beside the portrait on a tablet, everything stacked on a phone. *\/\n.bp-scan .bp-scan-author {\n  display: grid;\n  grid-template-columns: var(--bp-portrait) minmax(0, 260px) minmax(0, 1fr);\n  grid-template-areas: \"photo id bio\" \"meta meta meta\";\n  gap: var(--bp-s-5) var(--bp-s-6);\n  \/* the figure is sized explicitly rather than left to the grid track, because a\n     <figure> with the UA default margin does not fill its track *\/\n  align-items: start; background: var(--bp-white); border: 1px solid var(--bp-sand);\n  border-radius: var(--bp-radius-card); box-shadow: var(--bp-shadow-soft);\n  padding: var(--bp-s-5); margin-block: 0 var(--bp-s-4); max-width: none;\n}\n.bp-scan .bp-scan-author > * { margin-block: 0; }\n.bp-scan .bp-scan-author > .wp-block-image { grid-area: photo; }\n.bp-scan .bp-scan-authorid { grid-area: id; }\n.bp-scan .bp-scan-author > .bp-scan-authorbody { grid-area: bio; }\n.bp-scan .bp-scan-author > .bp-scan-authormeta { grid-area: meta; }\n.bp-scan .bp-scan-authorid > * { margin-block: 0 var(--bp-s-2); max-width: none; }\n.bp-scan .bp-scan-authorid > *:last-child { margin-block-end: 0; }\n@media (max-width: 1023px) {\n  .bp-scan .bp-scan-author {\n    grid-template-columns: var(--bp-portrait) minmax(0, 1fr);\n    grid-template-areas: \"photo id\" \"photo bio\" \"meta meta\";\n  }\n}\n\/* OVERRIDE 2 of 2. Same reason as the screenshots: the portrait is a real\n   photograph in its own ratio and 16:9 cover would crop the face. *\/\n.bp-scan .bp-scan-author .wp-block-image { margin: 0; width: var(--bp-portrait); }\n.bp-scan .bp-scan-author .wp-block-image img {\n  aspect-ratio: 1 \/ 1; object-fit: cover; object-position: 50% 12%;\n  width: var(--bp-portrait); height: var(--bp-portrait); border-radius: 50%;\n  background: var(--bp-pale-teal); border: 2px solid var(--bp-lime);\n  box-shadow: none;\n}\n.bp-scan .bp-scan-authorbody > * { margin-block: 0 var(--bp-s-2); max-width: none; }\n.bp-scan .bp-scan-authorbody > *:last-child { margin-block-end: 0; }\n.bp-scan .bp-scan-authorname { font-size: 20px; font-weight: 700; line-height: 1.3;\n  color: var(--bp-ink); }\n.bp-scan .bp-scan-authorrole {\n  font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;\n  color: var(--bp-green-aa);\n}\n.bp-scan .bp-scan-authorbio { font-size: var(--bp-fs-small); line-height: 1.7; }\n\/* the bio has a column of its own now: 1072 of card inside its padding, less the\n   132 portrait, the 260 rail and two 32 gutters, is 616. At 14px that reads 100\n   characters to the line, so the bio goes to body size, where 616 measures 72. *\/\n.bp-scan--v2 .bp-scan-authorbody > .bp-scan-authorbio {\n  font-size: var(--bp-fs-body); line-height: var(--bp-lh-body); max-width: none;\n}\n\/* the author's own link measured 20px tall, under the 24px floor *\/\n.bp-scan .bp-scan-authorbody a, .bp-scan .bp-scan-authormeta a {\n  display: inline-block; padding-block: 4px;\n}\n\/* the link and the two dates on ONE row, ruled off the bio, so a card that runs\n   the whole container is anchored on its right edge instead of trailing off *\/\n.bp-scan .bp-scan-authormeta {\n  display: flex; flex-wrap: wrap; align-items: baseline;\n  justify-content: space-between; gap: var(--bp-s-2) var(--bp-s-5);\n  border-top: 1px solid var(--bp-sand);\n  \/* no top margin of its own: the card's grid row gap already puts 24 above the\n     rule, and adding another 16 made the row float *\/\n  padding-block-start: var(--bp-s-4); margin-block: 0;\n}\n.bp-scan .bp-scan-authormeta > * { margin-block: 0; max-width: none; }\n.bp-scan .bp-scan-dates { font-size: var(--bp-fs-foot); line-height: 1.6;\n  color: var(--bp-foot); margin-block: 0 var(--bp-s-4); }\n\n\/* --- the sticky CTA bar, phones only --------------------------------------- *\/\n\/* A page this long needs the offer within reach. It is one bar for the whole\n   page rather than a button per section, it never shows while the hero is on\n   screen (the hero has its own button), and the page reserves its height at the\n   bottom so the bar cannot cover the last line of the legal text. *\/\n.bp-scan .bp-scan-cta-bar { display: none; }\n@media (max-width: 767px) {\n  .bp-scan .bp-scan-cta-bar {\n    display: block; position: fixed; inset: auto 0 0 0; z-index: 40;\n    margin-block: 0; padding: var(--bp-s-3) var(--bp-side)\n      calc(var(--bp-s-3) + env(safe-area-inset-bottom, 0px));\n    background: rgba(255,255,255,0.94);\n    -webkit-backdrop-filter: saturate(150%) blur(10px);\n    backdrop-filter: saturate(150%) blur(10px);\n    border-top: 1px solid var(--bp-sand);\n    box-shadow: 0 -6px 22px rgba(0,88,89,0.10);\n    transform: translateY(105%); transition: transform 220ms ease;\n    pointer-events: none;\n  }\n  .bp-scan .bp-scan-cta-bar--on { transform: translateY(0); pointer-events: auto; }\n  .bp-scan .bp-scan-cta-bar .wp-block-buttons { margin-block: 0; }\n  .bp-scan .bp-scan-cta-bar .wp-block-button,\n  .bp-scan .bp-scan-cta-bar .wp-block-button__link { width: 100%; }\n  .bp-scan .bp-scan-cta-bar .wp-block-button__link { min-height: 48px; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .bp-scan .bp-scan-cta-bar { transition-duration: 0ms; }\n}\n\n\/* --- 900 and below: the hero stops being two columns before it gets thin ---- *\/\n@media (max-width: 900px) {\n  .bp-scan { --bp-hero-gap: 36px; }\n  \/* one column, and the picture of the result comes SECOND: headline, result,\n     button, then the detail *\/\n  .bp-scan .bp-scan-hero2 {\n    grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto;\n    grid-template-areas: \"head\" \"box\" \"tail\"; row-gap: var(--bp-s-5);\n  }\n  .bp-scan .bp-scan-hero2 .wp-block-buttons { margin-block: 0 var(--bp-s-3); }\n  \/* on a phone the caption goes UNDER the button, so the button is whole on the\n     first screen instead of a teal sliver at the bottom edge. Nothing is hidden\n     and no word is dropped; three lines of caption change places with a button. *\/\n  .bp-scan .bp-scan-herobox .wp-block-buttons { order: 1; margin-block: 0; }\n  .bp-scan .bp-scan-herobox .bp-scan-boxlead { order: 2; margin-block: var(--bp-s-3) 0; }\n  \/* and because the button is now what follows the picture, the gap under the\n     picture is the NEXT-BLOCK minimum rather than the caption minimum. This is\n     the second half of the operator's read: the start button was touching the\n     result picture at 390 (measured 0px, 2026-08-26). *\/\n  .bp-scan .bp-scan-herobox > .bp-scan-screen { margin-block: 0 var(--bp-s-5); }\n  .bp-scan .bp-scan-herobox { padding: var(--bp-s-4); }\n}\n@media (max-width: 767px) {\n  .bp-scan .bp-scan-boxpitch { font-size: 21px; }\n  .bp-scan .bp-scan-kicker { font-size: 17px; }\n  \/* one column here, so the gap between the portrait and the name stops being\n     the card's inner column gap and becomes a VERTICAL gap between a figure and\n     the block under it: the figure-rhythm minimum (measured 16px, 2026-08-26) *\/\n  .bp-scan .bp-scan-author {\n    grid-template-columns: minmax(0, 1fr);\n    grid-template-areas: \"photo\" \"id\" \"bio\" \"meta\";\n    gap: var(--bp-s-5);\n  }\n  .bp-scan .bp-scan-shot img { border-radius: 10px; }\n}\n\n\/* --- EVERY MULTI-COLUMN BLOCK COLLAPSES ON A SMALL SCREEN ------------------\n   In ONE block, and at the END of the sheet, because a `columns: 1` written\n   beside its own component loses to the `columns: 2` that is declared later at\n   the same specificity. That is the same trap the sticky bar's footer\n   reservation hit in round 2, and it cost a mobile page 2,900 pixels here before\n   it was measured: five evidence cards were rendering in two 150px columns.\n   Two columns of 260px would put six words on a line. *\/\n@media (max-width: 900px) {\n  .bp-scan .bp-scan-scigrid,\n  .bp-scan--v2 .bp-scan-refs,\n  .bp-scan--v2 .bp-scan-sec > .bp-scan-note,\n  .bp-scan--v2 .bp-scan-sec > .bp-scan-disclosure { columns: 1; }\n  .bp-scan .bp-scan-sci { padding: var(--bp-s-4) var(--bp-s-5); }\n  .bp-scan .bp-scan-scigrid > * { margin-block: 0 var(--bp-s-3); }\n}\n@media (max-width: 767px) {\n  \/* a card's 24px side padding is 14 percent of a 350px column and buys nothing\n     a phone needs, since the cards are one per row anyway. Measured: 16px all\n     round gives the evidence section 84 pixels back. *\/\n  .bp-scan .bp-scan-sci { padding: var(--bp-s-4); }\n}\n\n\/* --- the site's own header and footer (T229, Jesse 2026-09-05) --------------\n   The page has no header, no nav and no footer of its own any more: the theme\n   renders the site's on every page whose template is elementor_header_footer,\n   and this page is one of them. Nothing here styles them; the two rules below\n   are the join.\n\n   The sticky CTA bar is `position: fixed` at the bottom of the viewport, so the\n   page has to reserve its height at the very END of the document or the bar\n   covers the last thing on the page. That used to be this page's own footer;\n   it is the site's footer now. The rule lives in THIS page's stylesheet, so it\n   applies on the scan pages and nowhere else, and the site's footer template is\n   not touched (the same reasoning as the rule it replaces, measured live\n   2026-08-26). 80 is 48 plus 32, both scale steps, against a bar of 74. *\/\n@media (max-width: 767px) {\n  footer.elementor-location-footer {\n    padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));\n  }\n}\n<\/style>\n<script id=\"bp-scan-attribution\">\n(function () {\n  var HOST = \"app.bioprofile.com\";\n  var KEYS = [\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_content\", \"utm_term\", \"bp_pl\"];\n  function forward() {\n    var q = new URLSearchParams(window.location.search);\n    var carry = [];\n    KEYS.forEach(function (k) {\n      var v = q.get(k);\n      if (v) { carry.push([k, v]); }\n    });\n    if (!carry.length) { return; }\n    var links = document.getElementsByTagName(\"a\");\n    Array.prototype.forEach.call(links, function (a) {\n      var u;\n      try { u = new URL(a.href); } catch (e) { return; }\n      if (u.hostname !== HOST) { return; }\n      carry.forEach(function (kv) { u.searchParams.set(kv[0], kv[1]); });\n      a.setAttribute(\"href\", u.toString());\n    });\n  }\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", forward);\n  } else {\n    forward();\n  }\n})();\n<\/script>\n<script id=\"bp-scan-stickycta\">\n(function () {\n  function arm() {\n    var bar = document.getElementById(\"bp-scan-cta-bar\");\n    var hero = document.querySelector(\".bp-scan-sec--hero\");\n    if (!bar || !hero || typeof IntersectionObserver === \"undefined\") { return; }\n    var io = new IntersectionObserver(function (rows) {\n      rows.forEach(function (row) {\n        bar.classList.toggle(\"bp-scan-cta-bar--on\", !row.isIntersecting);\n      });\n    }, { rootMargin: \"0px\" });\n    io.observe(hero);\n  }\n  \/\/ this block is the FIRST thing in the page, so the hero does not exist yet\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", arm);\n  } else {\n    arm();\n  }\n})();\n<\/script>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"WebPage\",\n  \"@id\": \"https:\/\/bioprofile.com\/scan-stofwisselingstest\/\",\n  \"url\": \"https:\/\/bioprofile.com\/scan-stofwisselingstest\/\",\n  \"name\": \"Stofwisselingstest: je risicorichting in 3 minuten | BioProfile\",\n  \"description\": \"Je stofwisseling ontspoort zonder dat je iets voelt. Zes vragen en je taille zetten er een richting op, zoals de Finse risicoscore. Gratis, 3 minuten.\",\n  \"isPartOf\": {\n    \"@id\": \"https:\/\/bioprofile.com\/#website\"\n  },\n  \"about\": {\n    \"@type\": \"Thing\",\n    \"name\": \"Metabole gezondheid\"\n  },\n  \"author\": {\n    \"@type\": \"Person\",\n    \"name\": \"Jesse van der Velde\",\n    \"jobTitle\": \"Oprichter van BioProfile\",\n    \"url\": \"https:\/\/nl.linkedin.com\/in\/jessevdv\",\n    \"image\": \"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/07\/author-jesse-round-320.jpg\"\n  },\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"BioProfile\",\n    \"url\": \"https:\/\/bioprofile.com\/\"\n  },\n  \"citation\": [\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Ara\u00fajo J, Cai J, Stevens J. Prevalence of optimal metabolic health in American adults: National Health and Nutrition Examination Survey 2009 to 2016. Metabolic Syndrome and Related Disorders, 2019.\",\n      \"url\": \"https:\/\/doi.org\/10.1089\/met.2018.0105\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Tab\u00e1k AG, Herder C, Rathmann W, Brunner EJ, Kivim\u00e4ki M. Prediabetes: a high-risk state for diabetes development. The Lancet, 2012.\",\n      \"url\": \"https:\/\/doi.org\/10.1016\/S0140-6736(12)60283-9\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Lindstr\u00f6m J, Tuomilehto J. The Diabetes Risk Score: a practical tool to predict type 2 diabetes risk. Diabetes Care, 2003.\",\n      \"url\": \"https:\/\/doi.org\/10.2337\/diacare.26.3.725\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Finnish Diabetes Risk Score, PubMed Central.\",\n      \"url\": \"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC4160014\/\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Saaristo T, Peltonen M, Lindstr\u00f6m J, et al. Cross-sectional evaluation of the Finnish Diabetes Risk Score: a tool to identify undetected type 2 diabetes, abnormal glucose tolerance and metabolic syndrome. Diabetes and Vascular Disease Research, 2005.\",\n      \"url\": \"https:\/\/doi.org\/10.3132\/dvdr.2005.011\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Noble D, Mathur R, Dent T, Meads C, Greenhalgh T. Risk models and scores for type 2 diabetes: systematic review. BMJ, 2011.\",\n      \"url\": \"https:\/\/doi.org\/10.1136\/bmj.d7163\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"InterAct Consortium. Long-term risk of incident type 2 diabetes and measures of overall and regional obesity: the EPIC-InterAct case-cohort study. PLoS Medicine, 2012.\",\n      \"url\": \"https:\/\/doi.org\/10.1371\/journal.pmed.1001230\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Ashwell M, Gunn P, Gibson S. Waist-to-height ratio is a better screening tool than waist circumference and BMI for adult cardiometabolic risk factors: systematic review and meta-analysis. Obesity Reviews, 2012.\",\n      \"url\": \"https:\/\/doi.org\/10.1111\/j.1467-789X.2011.00952.x\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Taille-lengteverhouding als screeningsinstrument, PubMed.\",\n      \"url\": \"https:\/\/pubmed.ncbi.nlm.nih.gov\/20819243\/\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Alberti KGMM, Eckel RH, Grundy SM, et al. Harmonizing the metabolic syndrome: a joint interim statement of the International Diabetes Federation Task Force on Epidemiology and Prevention and other organisations. Circulation, 2009.\",\n      \"url\": \"https:\/\/doi.org\/10.1161\/CIRCULATIONAHA.109.192644\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Tuomilehto J, Lindstr\u00f6m J, Eriksson JG, et al. Prevention of type 2 diabetes mellitus by changes in lifestyle among subjects with impaired glucose tolerance. New England Journal of Medicine, 2001.\",\n      \"url\": \"https:\/\/doi.org\/10.1056\/NEJM200105033441801\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Diabetes Prevention Program Research Group. Reduction in the incidence of type 2 diabetes with lifestyle intervention or metformin. New England Journal of Medicine, 2002.\",\n      \"url\": \"https:\/\/doi.org\/10.1056\/NEJMoa012512\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Lean MEJ, Leslie WS, Barnes AC, et al. Primary care-led weight management for remission of type 2 diabetes (DiRECT): an open-label, cluster-randomised trial. The Lancet, 2018.\",\n      \"url\": \"https:\/\/doi.org\/10.1016\/S0140-6736(17)33102-1\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Ley SH, Hamdy O, Mohan V, Hu FB. Prevention and management of type 2 diabetes: dietary components and nutritional strategies. The Lancet, 2014.\",\n      \"url\": \"https:\/\/doi.org\/10.1016\/S0140-6736(14)60613-9\"\n    }\n  ],\n  \"datePublished\": \"2026-08-27\",\n  \"dateModified\": \"2026-08-27\"\n}\n<\/script>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity bp-scan-rule\"\/>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--hero is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-hero2 is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-hero-head is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-eyebrow wp-block-paragraph\">BioProfile analysis \u00b7 metabolism scan<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Your metabolism goes off track quietly. Six questions and your waist put a direction on it.<\/h1>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-herobox is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-boxpitch wp-block-paragraph\">Your result in 3 minutes<\/p>\n\n\n\n<div class=\"wp-block-group bp-scan-screen is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-shot bp-scan-shot--nocap is-layout-flow wp-block-group-is-layout-flow\">\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"768\" height=\"510\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3-768x510.webp\" alt=\"The result screen of the BioProfile metabolism scan on a phone, with a risk result of 42 and the reading band raised risk signal\" class=\"wp-image-5138\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3-768x510.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3-300x199.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3.webp 800w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n<\/div>\n\n<\/div>\n\n\n\n<p class=\"bp-scan-boxlead wp-block-paragraph\">Your risk result, with the reading band it falls into and, per question, the risk points that set the direction. All on your own screen, in your dashboard, with a blood test named alongside it as the next step.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/app.bioprofile.com\/mini?scan=metabolic-health&amp;lang=en\">Start the metabolism scan<\/a><\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-hero-tail is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-lead wp-block-paragraph\">Six questions plus your age, weight and waist, scored the way the published Finnish risk score is scored. You get a risk result from 0 to 100, with the reading band alongside it. A direction of future risk, never a measurement.<\/p>\n\n\n\n<div class=\"wp-block-group bp-scan-facts is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-fact wp-block-paragraph\">Free<\/p>\n\n\n\n<p class=\"bp-scan-fact wp-block-paragraph\">6 questions<\/p>\n\n\n\n<p class=\"bp-scan-fact wp-block-paragraph\">About 3 minutes<\/p>\n\n\n\n<p class=\"bp-scan-fact wp-block-paragraph\">Direction 0 to 100<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/app.bioprofile.com\/mini?scan=metabolic-health&amp;lang=en\">Start the metabolism scan<\/a><\/div>\n\n<\/div>\n\n\n\n<p class=\"bp-scan-ctamicro wp-block-paragraph\">Fill in your first name and email address, and your risk result is in your dashboard.<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--wash is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">Six questions that lay bare why a metabolism goes off track silently, and what you can already know about it now<\/h2>\n\n\n\n<div class=\"wp-block-group bp-scan-split is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-split-text is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-kicker wp-block-paragraph\">(and the scientifically grounded reason we ask about your waist right here)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You feel fine. That is exactly the problem. You are a bit heavier than ten years ago, especially around the middle, your mother takes pills for blood sugar, and after lunch you could sleep for an hour. But nothing hurts, so there is nothing to take to a doctor. And somewhere in your head sits the question whether you are heading the same way as your mother.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The hard thing about metabolic disruption is that the first years are silent. Blood sugar and blood fats shift without you noticing, and that is exactly why there is no symptom questionnaire for it: there is nothing honest to ask about. What there is, is a published risk score that estimates the direction of your future risk from what you carry with you and what you do. Not a measurement. A direction. And the online shops that sell you a metabolism test start at the measurement without knowing the direction.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So we do it the other way round. Six questions, plus your age, weight and waist from the first questions, scored the way the Finnish score does it, added up into a risk result from 0 to 100. Not a diagnosis. A direction, yes, and the honest next step if that direction points the wrong way: a blood test.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-split-media is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-shot bp-scan-shot--mid is-layout-flow wp-block-group-is-layout-flow\">\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"730\" height=\"1024\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-vraag-284ae044-730x1024.webp\" alt=\"The first two questions of the BioProfile metabolism scan, about thirty minutes of exercise on most days and about vegetables or fruit every day\" class=\"wp-image-5140\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-vraag-284ae044-730x1024.webp 730w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-vraag-284ae044-214x300.webp 214w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-vraag-284ae044-768x1077.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-vraag-284ae044-1095x1536.webp 1095w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-vraag-284ae044.webp 1360w\" sizes=\"(max-width: 730px) 100vw, 730px\" \/><figcaption class=\"wp-element-caption\">Questions 1 and 2 of 6. For each question you pick the answer that comes closest to your ordinary week.<\/figcaption><\/figure>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">Most people start at the solution<\/h2>\n\n\n\n<div class=\"wp-block-group bp-scan-split bp-scan-split--flip is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-split-text is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\">A month without sugar. A glucose meter from an online shop, a supplement for your blood sugar, a diet with a name. All understandable, and all of them start in the same place: with what you are going to do about it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So three months later you still do not know where you stood. You recorded nowhere how you moved, what you ate and what you carried when you began, and a risk you do not feel changes without you feeling it too. Without a starting value, every improvement is a feeling about a feeling.<\/p>\n\n\n\n<div class=\"wp-block-group bp-scan-bridge is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-bridgelead wp-block-paragraph\">We analyse the real cause first<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At BioProfile we turn the order around. First set the direction down with the score that was built for it in Finland and tested worldwide, with the limit stated alongside: a direction, not a measurement, until blood values lie next to it. Only then talk about what you do with it. Analyse first, advise after.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The metabolism scan is the first step of that analysis, and the step that tells you whether a blood test is already worth it.<\/p>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-split-media is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-shot bp-scan-shot--narrow is-layout-flow wp-block-group-is-layout-flow\">\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"768\" height=\"860\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-doelvraag-7cb389c3-768x860.webp\" alt=\"The question about what you would most like to improve, in the BioProfile scan, with the goal of this scan ticked\" class=\"wp-image-5141\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-doelvraag-7cb389c3-768x860.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-doelvraag-7cb389c3-268x300.webp 268w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-doelvraag-7cb389c3-914x1024.webp 914w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-doelvraag-7cb389c3.webp 1360w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">The scan starts with what you want to improve yourself, and with your year of birth, height, weight and waist.<\/figcaption><\/figure>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--wash is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">What you get back in about three minutes<\/h2>\n\n\n\n<div class=\"wp-block-group bp-scan-split is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-split-text is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\">You start with eight short questions about yourself, among them your year of birth, height, weight and waist. Here they do count: the published score gives risk points for them, and so do we. One of them you may skip.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then come the six questions: thirty minutes of exercise on most days, vegetables or fruit every day, blood pressure medication, high blood sugar in the past, disturbed blood sugar in the family, and cravings for sugar or carbohydrates. Each question has two to five answers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You fill in your first name and email address. You see a first picture straight away, and one tap on your dashboard puts your risk result on your screen, with the reading band beside it. In your email there is a login link, so you can find your outcome again later and extend your scan with blood values.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-split-media is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-shot bp-scan-shot--wide is-layout-flow wp-block-group-is-layout-flow\">\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"448\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-startscherm-563a8986-768x448.webp\" alt=\"Start screen of the BioProfile metabolism scan with the button to begin\" class=\"wp-image-5142\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-startscherm-563a8986-768x448.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-startscherm-563a8986-300x175.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-startscherm-563a8986-1024x597.webp 1024w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-startscherm-563a8986.webp 1360w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Where you land when you click the button on this page.<\/figcaption><\/figure>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-split bp-scan-split--flip is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-split-text is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\">This is what is on your screen after about three minutes:<\/p>\n\n\n\n<ul class=\"wp-block-list bp-scan-checks\">\n\n<li>Your risk result from 0 to 100: a direction, not a measurement<\/li>\n\n\n<li>The reading band it falls into, from high to low risk signal<\/li>\n\n\n<li>The risk points that counted for each question, and why the rows together are not the whole number<\/li>\n\n\n<li>An honest limit: what a risk score can and cannot say about your metabolism<\/li>\n\n\n<li>A login link in your email, and fasting glucose and HbA1c as the blood values that turn a direction into a score<\/li>\n\n<\/ul>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-split-media is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-shot bp-scan-shot--narrow is-layout-flow wp-block-group-is-layout-flow\">\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"576\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-aanmelden-33995ff1-768x576.webp\" alt=\"The screen where you fill in your first name and email address to see your result\" class=\"wp-image-5143\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-aanmelden-33995ff1-768x576.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-aanmelden-33995ff1-300x225.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-aanmelden-33995ff1-1024x768.webp 1024w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-aanmelden-33995ff1.webp 1360w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">First name and email address, and your first picture is on your screen.<\/figcaption><\/figure>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Add blood values later and the direction becomes a score. Until then you no longer have a feeling about your metabolism, but a baseline.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/app.bioprofile.com\/mini?scan=metabolic-health&amp;lang=en\">Start the metabolism scan<\/a><\/div>\n\n<\/div>\n\n\n\n<p class=\"bp-scan-ctamicro wp-block-paragraph\">Fill in your first name and email address, and your risk result is in your dashboard.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">What we ask you<\/h2>\n\n\n\n<div class=\"wp-block-group bp-scan-split is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-split-text is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\">Six questions about what you do and what you carry with you. Together with your age, body mass index and waist from the first questions, they build your result, the way the published risk score does.<\/p>\n\n\n\n<ul class=\"wp-block-list bp-scan-items\">\n\n<li>30 minutes of exercise on most days<\/li>\n\n\n<li>Vegetables or fruit every day<\/li>\n\n\n<li>Blood pressure medication<\/li>\n\n\n<li>High blood sugar in the past<\/li>\n\n\n<li>Diabetes in the family<\/li>\n\n\n<li>Craving for sugar or carbohydrates<\/li>\n\n<\/ul>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-split-media is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-shot bp-scan-shot--split is-layout-flow wp-block-group-is-layout-flow\">\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"737\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-latere-vragen-d187b42f-768x737.webp\" alt=\"Questions 3, 4 and 5 of the BioProfile metabolism scan: blood pressure medication, high blood sugar in the past, and disturbed blood sugar in the family\" class=\"wp-image-5144\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-latere-vragen-d187b42f-768x737.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-latere-vragen-d187b42f-300x288.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-latere-vragen-d187b42f-1024x983.webp 1024w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-latere-vragen-d187b42f.webp 1080w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Questions 3, 4 and 5. Three questions about what you carry with you, each with its own risk points.<\/figcaption><\/figure>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--wash is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">What this scan is based on<\/h2>\n\n\n\n<p class=\"bp-scan-srclead wp-block-paragraph\">The scan takes both cards over as published: the Finnish risk score as the calculation model, and the waist-to-height ratio from your first questions. Hence the badge: used word for word, and no questions of our own modelled on an instrument.<\/p>\n\n\n\n<div class=\"wp-block-group bp-scan-instgrid is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-inst is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-badge bp-scan-badge--adopt wp-block-paragraph\">used word for word<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Finnish Diabetes Risk Score<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Eight questions without laboratory values, scored from 0 to 26, that predict the ten-year risk of type 2 diabetes with an accuracy of around 0.70 to 0.75, in bands: 0 to 6 low, 7 to 11 slightly raised, 12 to 14 moderate, 15 to 20 high, 21 to 26 very high. It uses your age, body mass index, waist, exercise, diet, blood pressure medication, glucose history and family history. It estimates the direction of future risk, not your current metabolic state.<\/p>\n\n\n\n<p class=\"bp-scan-use wp-block-paragraph\">Used as published, word for word.<\/p>\n\n\n\n<p class=\"bp-scan-validfor wp-block-paragraph\">Validated for: ten-year risk of developing type 2 diabetes.<\/p>\n\n\n\n<p class=\"bp-scan-cite wp-block-paragraph\"><a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC4160014\/\">Finnish Diabetes Risk Score, PubMed Central.<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-inst is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-badge bp-scan-badge--adopt wp-block-paragraph\">used word for word<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Waist to height ratio<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A freely available measure that you can take yourself at home, where a ratio of 0.5 or higher points to belly fat that deserves attention. That is why we ask about your waist and not only your weight: where the fat sits predicts metabolic risk better than how much you weigh.<\/p>\n\n\n\n<p class=\"bp-scan-use wp-block-paragraph\">Used as published, word for word.<\/p>\n\n\n\n<p class=\"bp-scan-validfor wp-block-paragraph\">Validated for: screening for abdominal fat and cardiometabolic risk.<\/p>\n\n\n\n<p class=\"bp-scan-cite wp-block-paragraph\"><a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/20819243\/\">Waist-to-height ratio as a screening tool, PubMed.<\/a><\/p>\n\n<\/div>\n\n<\/div>\n\n\n\n<p class=\"bp-scan-note wp-block-paragraph\">This result uses more than just the questions above. Your age, your body mass index and your waist measurement carry risk points too, exactly as the published risk score does, and that is why the rows below do not add up to the whole result on their own.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--dark is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">What this scan cannot tell you<\/h2>\n\n\n\n<div class=\"wp-block-group bp-scan-cols is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-col is-layout-flow wp-block-group-is-layout-flow\">\n\n<h3 class=\"wp-block-heading\">A risk picture, not a metabolic measurement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There is no validated symptom questionnaire for metabolic health, because early metabolic disruption causes no symptoms. What self-reporting can honestly do is estimate the direction of future risk from what you carry with you and what you do, and that is exactly what the published risk score was built for. It cannot measure your current metabolic state and cannot establish anything. That is why this area, on answers alone, is capped at low reliability, and why a blood test lifts it, not a better questionnaire.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-col is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-limitcite wp-block-paragraph\">BioProfile scoring rules, measurement class D, risk basis, confidence capped at low on the basis of questionnaire data alone.<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">How your result is put together<\/h2>\n\n\n\n<div class=\"wp-block-group bp-scan-split bp-scan-split--flip is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-split-text is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\">The result follows the published risk score: your age, body mass index and waist from the first questions all count, plus the questions here, each with its own risk points. The points are added up and converted into a risk result from 0 to 100, so the rows on your screen do not add up to the whole on their own. Higher is better, and it is a direction, not a measurement.<\/p>\n\n\n\n<div class=\"wp-block-group bp-scan-scale bp-scan-scale--n4 is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-band bp-scan-band--alert is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-band-range wp-block-paragraph\">0 to 39<\/p>\n\n\n\n<p class=\"bp-scan-band-label wp-block-paragraph\">high risk signal<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-band bp-scan-band--warn is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-band-range wp-block-paragraph\">40 to 59<\/p>\n\n\n\n<p class=\"bp-scan-band-label wp-block-paragraph\">elevated risk signal<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-band bp-scan-band--mild is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-band-range wp-block-paragraph\">60 to 79<\/p>\n\n\n\n<p class=\"bp-scan-band-label wp-block-paragraph\">limited risk signal<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-band bp-scan-band--ok is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-band-range wp-block-paragraph\">80 to 100<\/p>\n\n\n\n<p class=\"bp-scan-band-label wp-block-paragraph\">low risk signal<\/p>\n\n<\/div>\n\n<\/div>\n\n\n\n<p class=\"bp-scan-bandnote wp-block-paragraph\">Reading bands, not clinical cut-off values. Your metabolic health questions are written in house and modelled on validated instruments, so no published cut-off value applies to exactly this score. Higher is always healthier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This scan falls into measurement class D: early metabolic disruption causes no symptoms, so on answers alone the reliability stays low, and it says so; feeling well does not lift it. What lifts it is a blood test, fasting glucose and HbA1c, and you can add that in your full BioProfile; only then does a direction become a score.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On your result screen that reliability stands as a label next to your result: low signal, risk indicator. That label is not a side note; it says exactly how much weight you may hang on the number.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-split-media is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-shot bp-scan-shot--split is-layout-flow wp-block-group-is-layout-flow\">\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"951\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-score-7e975c38-768x951.webp\" alt=\"The questions of the BioProfile metabolism scan read back on the result screen, each with your answer and the risk points as a number from 0 to 100\" class=\"wp-image-5139\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-score-7e975c38-768x951.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-score-7e975c38-242x300.webp 242w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-score-7e975c38-827x1024.webp 827w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-score-7e975c38.webp 880w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">This is how the software builds your result: every question gets its own number from 0 to 100, the lowest at the top; your age, BMI and waist count separately, on top of those.<\/figcaption><\/figure>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--wash is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">What the science says about this<\/h2>\n\n\n\n<p class=\"bp-scan-srclead wp-block-paragraph\">This page describes a measuring instrument, so below you can read where that instrument comes from and what has been studied about it. Every claim points to the source it appears in.<\/p>\n\n\n\n<div class=\"wp-block-group bp-scan-scigrid is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-sci is-layout-flow wp-block-group-is-layout-flow\">\n\n<h3 class=\"wp-block-heading\">One in eight is metabolically healthy, and the rest feel nothing<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ara\u00fajo and colleagues laid the American health measurements from 2009 to 2016 next to the newest guidelines, in 8,721 adults: only 12.2 per cent had a waist circumference, blood sugar, blood pressure, blood fats and HDL cholesterol that were all in order without medication, and even among the people of a normal weight less than a third.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">1<\/a><\/sup> Tab\u00e1k and colleagues described the stage before it in 2012: every year 5 to 10 per cent of the people with a slightly raised blood sugar move on to the condition, and as many move back again, and the disturbance begins before blood sugar visibly changes.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">2<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Silent, then. No pain, no symptom, and so no symptom questionnaire either. That is why this scan asks what you do and what you carry with you, and not how you feel.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sci is-layout-flow wp-block-group-is-layout-flow\">\n\n<h3 class=\"wp-block-heading\">Why a risk score is more honest here than a questionnaire about symptoms<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lindstr\u00f6m and Tuomilehto built the Finnish risk score in 2003 on a population sample of 4435 people aged 35 to 64, followed for ten years: age, body mass index, waist, blood pressure medication, a high blood sugar in the past, exercise and vegetables or fruit every day, added up to 0 to 20 points; at 9 points or more the score caught 78 per cent of the later cases, with a specificity of 77 per cent.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">3<\/a>,<a href=\"#bronnen\">4<\/a><\/sup> In 2005 Saaristo and colleagues tested it in 2966 Finns with a glucose tolerance test: an accuracy of 0.72 in men and 0.73 in women for cases not yet discovered.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">5<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In 2011 Noble and colleagues counted 145 risk models, tested in 6.88 million people: most are rarely used because they ask for blood values or were built with no user in mind.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">6<\/a><\/sup> The Finnish score asks for no blood value at all, and that is exactly why this scan takes it over as it was published, and says that it gives a direction.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sci is-layout-flow wp-block-group-is-layout-flow\">\n\n<h3 class=\"wp-block-heading\">Why these questions in particular, and why your waist<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The six questions are the questions of the Finnish score, in our own words where a screen needed that, and the score counts the way the score counts: age, body mass index and waist from your first questions carry risk points, so the rows on your screen together are not the whole number.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">4<\/a><\/sup> The InterAct study followed 340,234 people in eight European countries: waist circumference predicted the risk independently of body mass index, more strongly in women, and among people with overweight a large waist circumference marked out a group with the same risk as people with obesity.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">7<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ashwell pooled 31 studies with more than 300,000 adults: waist divided by height picks up metabolic and heart risk better than waist circumference and BMI, with a cut-off of 0.5.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">8<\/a>,<a href=\"#bronnen\">9<\/a><\/sup> The international organisations that aligned the criteria for the metabolic risk profile in 2009 kept the waist measurement as the first sieve.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">10<\/a><\/sup> That is why this scan asks about your waist, and not only about your weight.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sci is-layout-flow wp-block-group-is-layout-flow\">\n\n<h3 class=\"wp-block-heading\">What a low result means, and above all what it does not<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A low risk result means the direction is unfavourable: risk points from what you carry with you and what you do. It is not a measurement of your current metabolism and not a diagnosis, and we say so in as many words on the card above. Feeling well does not lift it, because early change is silent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What a low result does mean is that a blood test is worth it: fasting glucose and HbA1c are the values that turn a direction into a score. Only a doctor can make a diagnosis.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sci is-layout-flow wp-block-group-is-layout-flow\">\n\n<h3 class=\"wp-block-heading\">Why the direction is worth measuring<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In 2001 Tuomilehto and colleagues randomised 522 Finns with impaired glucose tolerance between coaching on weight, fat, fibre and physical activity and usual care: after four years 11 per cent of the coached group had developed the condition against 23 per cent, a reduction of 58 per cent.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">11<\/a><\/sup> In 2002 Knowler and colleagues found the same figure, 58 per cent, in 3,234 Americans, and the lifestyle coaching worked better than the medicine.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">12<\/a><\/sup> In 2018 Lean and colleagues showed that it can turn even with a condition already diagnosed: in 46 per cent of 149 people who started an intensive weight programme, blood sugar was normal again after a year without medication, against 4 per cent in the control group.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">13<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In 2014 Ley and colleagues summed up what counts on the plate: the quality of fats and carbohydrates more than the quantity, more wholegrain, vegetables, fruit, pulses and nuts, less refined grain, processed meat and sugary drinks.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">14<\/a><\/sup> That is research in people at high risk and it promises nothing about you. What it does say: of all the directions this scan can point, this one is the most reversible, and that starts with knowing which way you are heading.<\/p>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-bridge bp-scan-bridge--row is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-bridge-text is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-bridgelead wp-block-paragraph\">This is what the scan stands on. Now your direction.<\/p>\n\n\n\n<p class=\"bp-scan-ctamicro wp-block-paragraph\">Fill in your first name and email address, and your risk result is in your dashboard.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/app.bioprofile.com\/mini?scan=metabolic-health&amp;lang=en\">Start the metabolism scan<\/a><\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--tight is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">Written by<\/h2>\n\n\n\n<div class=\"wp-block-group bp-scan-author is-layout-flow wp-block-group-is-layout-flow\">\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"320\" height=\"320\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/07\/author-jesse-round-320.jpg\" alt=\"Jesse van der Velde\" class=\"wp-image-4815\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/07\/author-jesse-round-320.jpg 320w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/07\/author-jesse-round-320-300x300.jpg 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/07\/author-jesse-round-320-150x150.jpg 150w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-group bp-scan-authorid is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-authorrole wp-block-paragraph\">Founder of BioProfile<\/p>\n\n\n\n<p class=\"bp-scan-authorname wp-block-paragraph\">Jesse van der Velde<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-authorbody is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-authorbio wp-block-paragraph\">Since 2006 they have guided people towards a new body and optimal health, and have written or co-written fifteen books on nutrition and health. Forever Young (2012) and Superfood Recipes (2013) both reached number 1 in the Netherlands.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-authormeta is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-authorbio wp-block-paragraph\"><a href=\"https:\/\/nl.linkedin.com\/in\/jessevdv\">LinkedIn<\/a><\/p>\n\n\n\n<p class=\"bp-scan-dates wp-block-paragraph\">Published on 27 August 2026 \u00b7 Last updated on 27 August 2026<\/p>\n\n<\/div>\n\n<\/div>\n\n\n\n<p class=\"bp-scan-disclosure wp-block-paragraph\">This page was written by BioProfile. BioProfile sells health products and this scan is free: no purchase comes with it. The Finnish risk score and the waist-to-height ratio are not ours; we take them over as published and change not a word of them. And we do not measure your metabolism: only blood can do that.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--tight bp-scan-sec--beige is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\" id=\"bronnen\">Sources<\/h2>\n\n\n\n<p class=\"bp-scan-srclead wp-block-paragraph\">Every source below was checked on the day this page was published. The numbering follows the text: source 1 is the first one the text refers to, and the two instruments the analysis names sit in between, at the point where they come up.<\/p>\n\n\n\n<ol class=\"wp-block-list bp-scan-refs\">\n\n<li>Ara\u00fajo J, Cai J, Stevens J. Prevalence of optimal metabolic health in American adults: National Health and Nutrition Examination Survey 2009 to 2016. Metabolic Syndrome and Related Disorders, 2019. <a href=\"https:\/\/doi.org\/10.1089\/met.2018.0105\">doi.org\/10.1089\/met.2018.0105<\/a><\/li>\n\n\n<li>Tab\u00e1k AG, Herder C, Rathmann W, Brunner EJ, Kivim\u00e4ki M. Prediabetes: a high-risk state for diabetes development. The Lancet, 2012. <a href=\"https:\/\/doi.org\/10.1016\/S0140-6736(12)60283-9\">doi.org\/10.1016\/S0140-6736(12)60283-9<\/a><\/li>\n\n\n<li>Lindstr\u00f6m J, Tuomilehto J. The Diabetes Risk Score: a practical tool to predict type 2 diabetes risk. Diabetes Care, 2003. <a href=\"https:\/\/doi.org\/10.2337\/diacare.26.3.725\">doi.org\/10.2337\/diacare.26.3.725<\/a><\/li>\n\n\n<li>Finnish Diabetes Risk Score, PubMed Central. <a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC4160014\/\">pmc.ncbi.nlm.nih.gov<\/a><\/li>\n\n\n<li>Saaristo T, Peltonen M, Lindstr\u00f6m J, et al. Cross-sectional evaluation of the Finnish Diabetes Risk Score: a tool to identify undetected type 2 diabetes, abnormal glucose tolerance and metabolic syndrome. Diabetes and Vascular Disease Research, 2005. <a href=\"https:\/\/doi.org\/10.3132\/dvdr.2005.011\">doi.org\/10.3132\/dvdr.2005.011<\/a><\/li>\n\n\n<li>Noble D, Mathur R, Dent T, Meads C, Greenhalgh T. Risk models and scores for type 2 diabetes: systematic review. BMJ, 2011. <a href=\"https:\/\/doi.org\/10.1136\/bmj.d7163\">doi.org\/10.1136\/bmj.d7163<\/a><\/li>\n\n\n<li>InterAct Consortium. Long-term risk of incident type 2 diabetes and measures of overall and regional obesity: the EPIC-InterAct case-cohort study. PLoS Medicine, 2012. <a href=\"https:\/\/doi.org\/10.1371\/journal.pmed.1001230\">doi.org\/10.1371\/journal.pmed.1001230<\/a><\/li>\n\n\n<li>Ashwell M, Gunn P, Gibson S. Waist-to-height ratio is a better screening tool than waist circumference and BMI for adult cardiometabolic risk factors: systematic review and meta-analysis. Obesity Reviews, 2012. <a href=\"https:\/\/doi.org\/10.1111\/j.1467-789X.2011.00952.x\">doi.org\/10.1111\/j.1467-789X.2011.00952.x<\/a><\/li>\n\n\n<li>Waist to height ratio as a screening tool, PubMed. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/20819243\/\">pubmed.ncbi.nlm.nih.gov<\/a><\/li>\n\n\n<li>Alberti KGMM, Eckel RH, Grundy SM, et al. Harmonizing the metabolic syndrome: a joint interim statement of the International Diabetes Federation Task Force on Epidemiology and Prevention and other organisations. Circulation, 2009. <a href=\"https:\/\/doi.org\/10.1161\/CIRCULATIONAHA.109.192644\">doi.org\/10.1161\/CIRCULATIONAHA.109.192644<\/a><\/li>\n\n\n<li>Tuomilehto J, Lindstr\u00f6m J, Eriksson JG, et al. Prevention of type 2 diabetes mellitus by changes in lifestyle among subjects with impaired glucose tolerance. New England Journal of Medicine, 2001. <a href=\"https:\/\/doi.org\/10.1056\/NEJM200105033441801\">doi.org\/10.1056\/NEJM200105033441801<\/a><\/li>\n\n\n<li>Diabetes Prevention Program Research Group. Reduction in the incidence of type 2 diabetes with lifestyle intervention or metformin. New England Journal of Medicine, 2002. <a href=\"https:\/\/doi.org\/10.1056\/NEJMoa012512\">doi.org\/10.1056\/NEJMoa012512<\/a><\/li>\n\n\n<li>Lean MEJ, Leslie WS, Barnes AC, et al. Primary care-led weight management for remission of type 2 diabetes (DiRECT): an open-label, cluster-randomised trial. The Lancet, 2018. <a href=\"https:\/\/doi.org\/10.1016\/S0140-6736(17)33102-1\">doi.org\/10.1016\/S0140-6736(17)33102-1<\/a><\/li>\n\n\n<li>Ley SH, Hamdy O, Mohan V, Hu FB. Prevention and management of type 2 diabetes: dietary components and nutritional strategies. The Lancet, 2014. <a href=\"https:\/\/doi.org\/10.1016\/S0140-6736(14)60613-9\">doi.org\/10.1016\/S0140-6736(14)60613-9<\/a><\/li>\n\n<\/ol>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--cta bp-scan-sec--band is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">Start your metabolism scan<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Six questions, about three minutes, and your risk result is in your dashboard. Your answers stay private (GDPR).<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/app.bioprofile.com\/mini?scan=metabolic-health&amp;lang=en\">Start the metabolism scan<\/a><\/div>\n\n<\/div>\n\n\n\n<p class=\"bp-scan-ctamicro wp-block-paragraph\">Fill in your first name and email address, and your risk result is in your dashboard.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--tight bp-scan-sec--beige is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">Other scans<\/h2>\n\n\n\n<div class=\"wp-block-group bp-scan-links is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/scan-wellbeing-test\/\">Wellbeing test (WHO-5)<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/scan-slaaptest\/\">Sleep test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/brain-fog-test\/\">Brain fog test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/scan-fatigue-test\/\">Fatigue test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/stress-test\/\">Stress test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/\">Lifestyle test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/scan-hormone-test\/\">Hormone test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/scan-gut-symptom-test\/\">Gut complaints test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/heart-self-test\/\">Heart and vascular test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/scan-recovery-test\/\">Recovery test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/free-health-check-tests\/\">All scans<\/a><\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--foot is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-cols is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-col is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-safety wp-block-paragraph\"><strong>What this does not say.<\/strong> This estimates the direction of future risk, not your current metabolic state, and it is not a diagnosis of diabetes or metabolic syndrome. For that you need fasting glucose, HbA1c, blood fats and blood pressure. It also cannot be lifted by feeling well, because early metabolic change is silent by nature. Upload a result and this is no longer a signal but a real, ranked score.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-col is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-legal wp-block-paragraph\">BioProfile analyses your health status to guide you and your coach. It does not make a diagnosis, only a doctor can do that. Built on validated health questionnaires; the combined BioProfile score is not itself a validated clinical instrument yet. Your answers stay private (GDPR).<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-cta-bar is-layout-flow wp-block-group-is-layout-flow\" id=\"bp-scan-cta-bar\">\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/app.bioprofile.com\/mini?scan=metabolic-health&amp;lang=en\">Start the metabolism scan<\/a><\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>BioProfile analysis \u00b7 metabolism scan Your metabolism goes off track quietly. Six questions and your waist put a direction on it. Your result in 3 minutes Your risk result, with the reading band it falls into and, per question, the risk points that set the direction. All on your own screen, in your dashboard, with [&hellip;]<\/p>\n","protected":false},"author":18,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_yoast_wpseo_title":"Slow metabolism? The metabolism test in 3 minutes | BioProfile","_yoast_wpseo_metadesc":"Your metabolism goes off track without you feeling a thing. Six questions and your waist put a direction on it, the way the Finnish risk score does. Free, 3 minutes.","_yoast_wpseo_meta-robots-noindex":"2","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_opengraph-image-id":"","_yoast_wpseo_twitter-image":"","_yoast_wpseo_twitter-image-id":"","inline_featured_image":false,"footnotes":""},"class_list":["post-6903","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Slow metabolism? The metabolism test in 3 minutes | BioProfile<\/title>\n<meta name=\"description\" content=\"Your metabolism goes off track without you feeling a thing. Six questions and your waist put a direction on it, the way the Finnish risk score does. Free, 3 minutes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bioprofile.com\/en\/metabolism-test\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Slow metabolism? The metabolism test in 3 minutes | BioProfile\" \/>\n<meta property=\"og:description\" content=\"Your metabolism goes off track without you feeling a thing. Six questions and your waist put a direction on it, the way the Finnish risk score does. Free, 3 minutes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bioprofile.com\/en\/metabolism-test\/\" \/>\n<meta property=\"og:site_name\" content=\"Bioprofile.com\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-30T20:35:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"531\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/metabolism-test\\\/\",\"url\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/metabolism-test\\\/\",\"name\":\"Slow metabolism? The metabolism test in 3 minutes | BioProfile\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/metabolism-test\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/metabolism-test\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3-768x510.webp\",\"datePublished\":\"2026-08-27T11:04:40+00:00\",\"dateModified\":\"2026-09-30T20:35:45+00:00\",\"description\":\"Your metabolism goes off track without you feeling a thing. Six questions and your waist put a direction on it, the way the Finnish risk score does. Free, 3 minutes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/metabolism-test\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bioprofile.com\\\/en\\\/metabolism-test\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/metabolism-test\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3-768x510.webp\",\"contentUrl\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3-768x510.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/metabolism-test\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/home-2026\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scan: Metabolism test\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/\",\"name\":\"Bioprofile.com\",\"description\":\"Live longer, stay younger\",\"publisher\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/#organization\",\"name\":\"Bioprofile.com\",\"url\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/logo.svg\",\"contentUrl\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/logo.svg\",\"width\":173,\"height\":48,\"caption\":\"Bioprofile.com\"},\"image\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Slow metabolism? The metabolism test in 3 minutes | BioProfile","description":"Your metabolism goes off track without you feeling a thing. Six questions and your waist put a direction on it, the way the Finnish risk score does. Free, 3 minutes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bioprofile.com\/en\/metabolism-test\/","og_locale":"en_US","og_type":"article","og_title":"Slow metabolism? The metabolism test in 3 minutes | BioProfile","og_description":"Your metabolism goes off track without you feeling a thing. Six questions and your waist put a direction on it, the way the Finnish risk score does. Free, 3 minutes.","og_url":"https:\/\/bioprofile.com\/en\/metabolism-test\/","og_site_name":"Bioprofile.com","article_modified_time":"2026-09-30T20:35:45+00:00","og_image":[{"width":800,"height":531,"url":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bioprofile.com\/en\/metabolism-test\/","url":"https:\/\/bioprofile.com\/en\/metabolism-test\/","name":"Slow metabolism? The metabolism test in 3 minutes | BioProfile","isPartOf":{"@id":"https:\/\/bioprofile.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bioprofile.com\/en\/metabolism-test\/#primaryimage"},"image":{"@id":"https:\/\/bioprofile.com\/en\/metabolism-test\/#primaryimage"},"thumbnailUrl":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3-768x510.webp","datePublished":"2026-08-27T11:04:40+00:00","dateModified":"2026-09-30T20:35:45+00:00","description":"Your metabolism goes off track without you feeling a thing. Six questions and your waist put a direction on it, the way the Finnish risk score does. Free, 3 minutes.","breadcrumb":{"@id":"https:\/\/bioprofile.com\/en\/metabolism-test\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bioprofile.com\/en\/metabolism-test\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bioprofile.com\/en\/metabolism-test\/#primaryimage","url":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3-768x510.webp","contentUrl":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-stofwisselingstest-resultaat-telefoon-12d23fe3-768x510.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/bioprofile.com\/en\/metabolism-test\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bioprofile.com\/en\/home-2026\/"},{"@type":"ListItem","position":2,"name":"Scan: Metabolism test"}]},{"@type":"WebSite","@id":"https:\/\/bioprofile.com\/en\/#website","url":"https:\/\/bioprofile.com\/en\/","name":"Bioprofile.com","description":"Live longer, stay younger","publisher":{"@id":"https:\/\/bioprofile.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bioprofile.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/bioprofile.com\/en\/#organization","name":"Bioprofile.com","url":"https:\/\/bioprofile.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bioprofile.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/bioprofile.com\/wp-content\/uploads\/2024\/08\/logo.svg","contentUrl":"https:\/\/bioprofile.com\/wp-content\/uploads\/2024\/08\/logo.svg","width":173,"height":48,"caption":"Bioprofile.com"},"image":{"@id":"https:\/\/bioprofile.com\/en\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/pages\/6903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/comments?post=6903"}],"version-history":[{"count":4,"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/pages\/6903\/revisions"}],"predecessor-version":[{"id":7421,"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/pages\/6903\/revisions\/7421"}],"wp:attachment":[{"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/media?parent=6903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}