{"id":6901,"date":"2026-08-27T10:36:52","date_gmt":"2026-08-27T10:36:52","guid":{"rendered":"https:\/\/bioprofile.com\/?page_id=6901"},"modified":"2026-09-30T20:32:09","modified_gmt":"2026-09-30T20:32:09","slug":"scan-lifestyle-test","status":"publish","type":"page","link":"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/","title":{"rendered":"Scan: Lifestyle 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-leefstijltest\/\",\n  \"url\": \"https:\/\/bioprofile.com\/scan-leefstijltest\/\",\n  \"name\": \"Leefstijltest: je leefstijlscore in 3 minuten | BioProfile\",\n  \"description\": \"Hoe oud je lichaam echt is, zegt geen vragenlijst. Wat je eraan doet wel: vijf vragen, gemodelleerd naar een gevalideerde screener. Gratis, 3 minuten.\",\n  \"isPartOf\": {\n    \"@id\": \"https:\/\/bioprofile.com\/#website\"\n  },\n  \"about\": {\n    \"@type\": \"Thing\",\n    \"name\": \"Gezond ouder worden\"\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\": \"Khaw KT, Wareham N, Bingham S, Welch A, Luben R, Day N. Combined impact of health behaviours and mortality in men and women: the EPIC-Norfolk prospective population study. PLoS Medicine, 2008.\",\n      \"url\": \"https:\/\/doi.org\/10.1371\/journal.pmed.0050012\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"van den Brandt PA. The impact of a Mediterranean diet and healthy lifestyle on premature mortality in men and women. American Journal of Clinical Nutrition, 2011.\",\n      \"url\": \"https:\/\/doi.org\/10.3945\/ajcn.110.008250\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Li Y, Pan A, Wang DD, et al. Impact of healthy lifestyle factors on life expectancies in the US population. Circulation, 2018.\",\n      \"url\": \"https:\/\/doi.org\/10.1161\/CIRCULATIONAHA.117.032047\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Loef M, Walach H. The combined effects of healthy lifestyle behaviors on all cause mortality: a systematic review and meta-analysis. Preventive Medicine, 2012.\",\n      \"url\": \"https:\/\/doi.org\/10.1016\/j.ypmed.2012.06.017\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Ford ES, Bergmann MM, Kr\u00f6ger J, Schienkiewitz A, Weikert C, Boeing H. Healthy living is the best revenge: findings from the European Prospective Investigation Into Cancer and Nutrition-Potsdam study. Archives of Internal Medicine, 2009.\",\n      \"url\": \"https:\/\/doi.org\/10.1001\/archinternmed.2009.237\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Lee IM, Shiroma EJ, Lobelo F, Puska P, Blair SN, Katzmarzyk PT. Effect of physical inactivity on major non-communicable diseases worldwide: an analysis of burden of disease and life expectancy. The Lancet, 2012.\",\n      \"url\": \"https:\/\/doi.org\/10.1016\/S0140-6736(12)61031-9\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Micha R, Pe\u00f1alvo JL, Cudhea F, Imamura F, Rehm CD, Mozaffarian D. Association between dietary factors and mortality from heart disease, stroke, and type 2 diabetes in the United States. JAMA, 2017.\",\n      \"url\": \"https:\/\/doi.org\/10.1001\/jama.2017.0947\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"GBD 2017 Diet Collaborators. Health effects of dietary risks in 195 countries, 1990 to 2017: a systematic analysis for the Global Burden of Disease Study 2017. The Lancet, 2019.\",\n      \"url\": \"https:\/\/doi.org\/10.1016\/S0140-6736(19)30041-8\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Schr\u00f6der H, Fit\u00f3 M, Estruch R, et al. A short screener is valid for assessing Mediterranean diet adherence among older Spanish men and women. Journal of Nutrition, 2011.\",\n      \"url\": \"https:\/\/doi.org\/10.3945\/jn.110.135566\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Mart\u00ednez-Gonz\u00e1lez MA, Garc\u00eda-Arellano A, Toledo E, et al. A 14-item Mediterranean diet assessment tool and obesity indexes among high-risk subjects: the PREDIMED trial. PLoS ONE, 2012.\",\n      \"url\": \"https:\/\/doi.org\/10.1371\/journal.pone.0043134\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"MEDAS-validatie, Nutrients, 2018.\",\n      \"url\": \"https:\/\/www.mdpi.com\/2072-6643\/10\/2\/138\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Craig CL, Marshall AL, Sj\u00f6str\u00f6m M, et al. International Physical Activity Questionnaire: 12-country reliability and validity. Medicine and Science in Sports and Exercise, 2003.\",\n      \"url\": \"https:\/\/doi.org\/10.1249\/01.MSS.0000078924.61453.FB\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"IPAQ-validiteit en betrouwbaarheid, PLOS ONE, 2024.\",\n      \"url\": \"https:\/\/journals.plos.org\/plosone\/article?id=10.1371\/journal.pone.0300003\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Sofi F, Abbate R, Gensini GF, Casini A. Accruing evidence on benefits of adherence to the Mediterranean diet on health: an updated systematic review and meta-analysis. American Journal of Clinical Nutrition, 2010.\",\n      \"url\": \"https:\/\/doi.org\/10.3945\/ajcn.2010.29673\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Dinu M, Pagliai G, Casini A, Sofi F. Mediterranean diet and multiple health outcomes: an umbrella review of meta-analyses of observational studies and randomised trials. European Journal of Clinical Nutrition, 2018.\",\n      \"url\": \"https:\/\/doi.org\/10.1038\/ejcn.2017.58\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Krogsb\u00f8ll LT, J\u00f8rgensen KJ, G\u00f8tzsche PC. General health checks in adults for reducing morbidity and mortality from disease. Cochrane Database of Systematic Reviews, 2019.\",\n      \"url\": \"https:\/\/doi.org\/10.1002\/14651858.CD009009.pub3\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Estruch R, Ros E, Salas-Salvad\u00f3 J, et al. Primary prevention of cardiovascular disease with a Mediterranean diet supplemented with extra-virgin olive oil or nuts. New England Journal of Medicine, 2018.\",\n      \"url\": \"https:\/\/doi.org\/10.1056\/NEJMoa1800389\"\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 lifestyle scan<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">No questionnaire knows how old your body is. Your habits do. Five questions, a number.<\/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-leefstijltest-resultaat-telefoon-34030472-768x510.webp\" alt=\"The result screen of the BioProfile lifestyle scan on a phone, with a habit score of 50 and the reading band partly in order\" class=\"wp-image-5109\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-telefoon-34030472-768x510.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-telefoon-34030472-300x199.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-telefoon-34030472.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 habit score for your ordinary week, with the reading band it falls into and, per question, the number that pulled your score up or down. All on your own screen, in your dashboard, and again in a month.<\/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=healthy-aging&amp;lang=en\">Start the lifestyle 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\">Five questions about your ordinary week, modelled on a validated dietary screener. You get a habit score from 0 to 100 with its reading band. An analysis of what you do, never a biological age.<\/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\">5 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\">Score from 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=healthy-aging&amp;lang=en\">Start the lifestyle 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 habit score 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\">Five questions that lay bare why you are doing well and still are not sure<\/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 supported reason why it is precisely these five)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You eat pretty well. You exercise, mostly. You once did a test that gave you a biological age, and that number was nice or not nice, and after that you did nothing with it, because what were you supposed to do with it. Somewhere you know you are doing well. Somewhere you also know you are not certain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The difficult thing about ageing well is that it happens slowly and that the yardstick is missing. A blood value changes in months, a risk in years, and a feeling about how you live is exactly that: a feeling. Tests that derive your biological age from a questionnaire fill that gap with a number that is not there. BioProfile says so out loud: any biological age number that comes out of a questionnaire is marketing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What can be measured is behaviour. Researchers who wanted to know who ages in good health counted habits: what you eat, how you deal with processed food, whether you follow your health and have it checked. Five questions about your ordinary week, added up into a score from 0 to 100. Not an age. A number instead. And a number is something you can set again a month from now.<\/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=\"743\" height=\"1024\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-vraag-4f5fec7a-743x1024.webp\" alt=\"The first two questions of the BioProfile lifestyle scan, about olive oil and daily vegetables and about fish and pulses, each with three answer options\" class=\"wp-image-5111\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-vraag-4f5fec7a-743x1024.webp 743w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-vraag-4f5fec7a-218x300.webp 218w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-vraag-4f5fec7a-768x1059.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-vraag-4f5fec7a-1114x1536.webp 1114w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-vraag-4f5fec7a.webp 1360w\" sizes=\"(max-width: 743px) 100vw, 743px\" \/><figcaption class=\"wp-element-caption\">Questions 1 and 2 of 5. For each question you choose 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 supplement against ageing. An expensive test that gives you an age. Intermittent fasting, a cold water bath, a book about blue zones. 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 after half a year you still do not know whether it did anything. You have recorded nowhere which habits you already had when you started, and habits are exactly the behaviour you no longer see because it is ordinary. 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 measure what is there now, with questions modelled on a screener that someone else has validated, and only then talk about what you do with it. Analyse first, advise after.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The lifestyle scan is the first step of that analysis, and the only one that adds your habits up instead of subtracting your complaints.<\/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-leefstijltest-doelvraag-1d2bf1ae-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-5112\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-doelvraag-1d2bf1ae-768x860.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-doelvraag-1d2bf1ae-268x300.webp 268w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-doelvraag-1d2bf1ae-914x1024.webp 914w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-doelvraag-1d2bf1ae.webp 1360w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">The scan starts with what you want to improve.<\/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. They do not count towards your score; they make sure we can read the rest properly. One of them you may skip.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then come the five habit questions, about your ordinary week: olive oil and daily vegetables, fish and pulses, processed meat and factory sweets, check-ups and screening, and whether you follow your own health. Each question has three answers, from no to yes.<\/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 with a tap on your dashboard your habit score is on your screen, with the reading band alongside it. In your inbox there is a login link, so you can find your result again later and extend your scan into your full BioProfile.<\/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=\"462\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-startscherm-1260570c-768x462.webp\" alt=\"Start screen of the BioProfile lifestyle scan with the button to begin\" class=\"wp-image-5113\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-startscherm-1260570c-768x462.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-startscherm-1260570c-300x180.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-startscherm-1260570c-1024x616.webp 1024w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-startscherm-1260570c.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 habit score from 0 to 100, for your ordinary week<\/li>\n\n\n<li>The reading band your score falls into, from few supportive habits to strong<\/li>\n\n\n<li>How much each question added to your score, from low to high, so you can see which habit would lift it most<\/li>\n\n\n<li>An honest limit: what a lifestyle questionnaire can and cannot tell you, and why it does not produce an age<\/li>\n\n\n<li>A login link in your inbox, so you can save your result and repeat the scan in a month<\/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-leefstijltest-aanmelden-33995ff1-768x576.webp\" alt=\"The screen where you fill in your first name and email address to see your result\" class=\"wp-image-5114\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-aanmelden-33995ff1-768x576.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-aanmelden-33995ff1-300x225.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-aanmelden-33995ff1-1024x768.webp 1024w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-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\">Repeat the scan in a month and you no longer have a feeling about how you live, but two numbers.<\/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=healthy-aging&amp;lang=en\">Start the lifestyle 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 habit score 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\">Five questions about your ordinary week; for each question you choose the answer that comes closest to your habits.<\/p>\n\n\n\n<ul class=\"wp-block-list bp-scan-items\">\n\n<li>Olive oil and vegetables every day<\/li>\n\n\n<li>Fish and pulses<\/li>\n\n\n<li>Processed meat and factory sweets<\/li>\n\n\n<li>Check-ups and screening<\/li>\n\n\n<li>Following your own health<\/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=\"577\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-latere-vragen-4e013e03-768x577.webp\" alt=\"Questions 3 and 4 of the BioProfile lifestyle scan: processed meat and factory sweets, and check-ups and screening\" class=\"wp-image-5115\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-latere-vragen-4e013e03-768x577.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-latere-vragen-4e013e03-300x225.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-latere-vragen-4e013e03-1024x769.webp 1024w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-latere-vragen-4e013e03.webp 1080w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Questions 3 and 4. The same ordinary week, two other habits.<\/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 lifestyle scan itself asks five habit questions on the model of the Mediterranean Diet Adherence Screener: three about food, two about how you handle your own health. The second card, the physical activity questionnaire, is the instrument on which your full BioProfile reads your movement; this scan of five questions does not ask about it itself.<\/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--derive wp-block-paragraph\">modelled on<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mediterranean Diet Adherence Screener<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A 14-question screener that matches detailed food diaries at around 0.75 and, in follow-up research, is associated with a lower risk of cardiovascular disease, diabetes and mortality, where 9 or 10 and above counts as high adherence and 7 or lower as low. Our habit questions follow that structure, and that is why we score this area positively: good habits add up rather than count against you.<\/p>\n\n\n\n<p class=\"bp-scan-use wp-block-paragraph\">Modelled on, not validated as, this instrument.<\/p>\n\n\n\n<p class=\"bp-scan-validfor wp-block-paragraph\">Validated for: adherence to a Mediterranean dietary pattern.<\/p>\n\n\n\n<p class=\"bp-scan-cite wp-block-paragraph\"><a href=\"https:\/\/www.mdpi.com\/2072-6643\/10\/2\/138\">MEDAS validation, Nutrients, 2018.<\/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--derive wp-block-paragraph\">modelled on<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">International Physical Activity Questionnaire<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The standard questionnaire for self-reported physical activity, with a test-retest reliability around 0.80 but a criterion validity of only about 0.30 against an accelerometer. In plain words: people report consistently, but not very accurately. That is exactly why your answer about movement here sets down a direction and never a number we would call measured fitness.<\/p>\n\n\n\n<p class=\"bp-scan-use wp-block-paragraph\">Modelled on, not validated as, this instrument.<\/p>\n\n\n\n<p class=\"bp-scan-validfor wp-block-paragraph\">Validated for: self-reported level of physical activity.<\/p>\n\n\n\n<p class=\"bp-scan-cite wp-block-paragraph\"><a href=\"https:\/\/journals.plos.org\/plosone\/article?id=10.1371\/journal.pone.0300003\">IPAQ validity and reliability, PLOS ONE, 2024.<\/a><\/p>\n\n<\/div>\n\n<\/div>\n\n\n\n<p class=\"bp-scan-note wp-block-paragraph\">This is the only area on the page that scores in the reverse direction. Every other score subtracts complaints; this one adds habits up, because the subject here really is behaviour and not how a system functions.<\/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\">Behaviour is the honest thing to score here<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the only area in the risk class that can honestly reach average reliability on answers alone, and the reason is simple: the real subject is behaviour, and behaviour is exactly what self-reporting measures well. What it cannot do is give you your biological age, predict how long you will live, or measure whether those habits have already changed something inside. That needs blood values and years.<\/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 behaviour, reliability capped at average as a behaviour score.<\/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 score is built up<\/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\">Each of the five questions gets 0, 1 or 2 points, from habit absent to habit present. The points are added up and converted into a habit score from 0 to 100. Higher is better, and unlike the other scans this one adds up: every habit you already have is counted in your favour.<\/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\">few supportive habits<\/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\">partly in order<\/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\">solid<\/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\">strong<\/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 questions about healthy ageing are written in our own words 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 behaviour: the subject is what you do, and that is exactly what a questionnaire measures well, so the reliability of your score stands at average and stays there, even with blood values added. What those values do add is whether your habits have already changed something inside, and that you can have measured in your full BioProfile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On your results screen that reliability appears as a label next to your score: average reliability, behaviour. That label is not a side remark; it tells you exactly how much weight you can put 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=\"1009\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-score-3a6b2b3b-768x1009.webp\" alt=\"The habit questions read back on the result screen of the BioProfile scan, each with your answer and a score from 0 to 100\" class=\"wp-image-5110\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-score-3a6b2b3b-768x1009.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-score-3a6b2b3b-228x300.webp 228w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-score-3a6b2b3b-780x1024.webp 780w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-score-3a6b2b3b.webp 880w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">This is how the software builds your score: each habit gets its own number from 0 to 100, the lowest one at the top.<\/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\">Four habits make over ten years of difference, and almost nobody counts them<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Khaw and colleagues followed 20,244 Britons aged between 45 and 79 for eleven years and counted four habits: not smoking, being active, drinking moderately and five portions of fruit and vegetables. People with none of them were four times as likely to die as people with all four, a difference equivalent to fourteen years of age.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">1<\/a><\/sup> Van den Brandt found the same pattern in the Netherlands Cohort Study among 120,852 people aged 55 to 69: from the least to the most healthy lifestyle the difference was 15 years for women and 8 years for men.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">2<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Li and colleagues worked it out in 2018 for 123,000 Americans: with five favourable habits, life expectancy at age fifty was 14 years longer for women and 12 years longer for men.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">3<\/a><\/sup> Loef and Walach pooled fifteen such studies, 531,804 people: four or more healthy habits went together with 66 per cent lower mortality.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">4<\/a><\/sup> Ford found among 23,153 Germans that only about 9 per cent had all four habits.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">5<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Over ten years of difference, and almost nobody counts their own habits. That is the reason this scan exists.<\/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 an age from a questionnaire does not exist, and behaviour can be measured<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There is no questionnaire that measures your biological age. What a questionnaire does measure is behaviour, and that turns out to be exactly what counts: in Ford&#8217;s German study, people with four healthy habits were 78 percent less likely to develop a major chronic condition than people with none.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">5<\/a><\/sup> In 2012 Lee and colleagues calculated that too little physical activity causes 9 percent of premature mortality worldwide, well over 5.3 million of the 57 million deaths in 2008.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">6<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And the food on your plate: in 2017 Micha and colleagues attributed 45 percent of American cardiometabolic deaths to what people ate too much or too little of, with too much salt and too few nuts and seeds at the top.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">7<\/a><\/sup> In 2019 the Global Burden of Disease study arrived at 11 million deaths a year worldwide from diet, with too much salt, too few whole grains and too little fruit as the largest items.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">8<\/a><\/sup> That is why this scan asks about what you do, and not about how old 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 these five questions<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The Mediterranean Diet Adherence Screener counts fourteen questions and in 2011 was set against an extensive food questionnaire among 7,146 participants in the Spanish PREDIMED study: the scores correlated at 0.52, and a higher score went together with a higher HDL cholesterol and a lower BMI, waist circumference and fasting blood sugar.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">9<\/a><\/sup> Mart\u00ednez-Gonz\u00e1lez found among 7,447 participants that every two extra points went together with a smaller waist relative to height.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">10<\/a><\/sup> The English version was validated again in 2018, and that is the source the analysis names.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">11<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our three food questions follow that structure: olive oil and vegetables, fish and pulses, processed meat and factory-made sweets. The other two questions are about how you handle your health. Our own words, not a copy, and the card above says so in as many words. For physical activity, your full BioProfile reads the International Physical Activity Questionnaire, which proved consistent across twelve countries (repeatability around 0.80) and not very accurate (validity around 0.30 against an accelerometer), which is exactly why an activity answer gives a direction and not a number.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">12<\/a>,<a href=\"#bronnen\">13<\/a><\/sup><\/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 score means, and above all what it does not mean<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A low habit score means that habits which protect you in the research are missing. It does not mean your body is old, and it does not predict how long you will live. Sofi and colleagues showed in 2010 what Mediterranean eating does in cohort research: for every two points of closer adherence, 8 percent lower mortality and 10 percent fewer cardiovascular conditions.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">14<\/a><\/sup> In 2018 Dinu combined thirteen meta-analyses of cohorts and sixteen of randomised studies, well over 12.8 million people: robust evidence for lower mortality and less of the major chronic conditions.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">15<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And the fifth question, about check-ups and screening, deserves an honest note. In 2019 Krogsb\u00f8ll and colleagues combined seventeen randomised studies with 251,891 people: general health checks in people without symptoms do not lower mortality.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">16<\/a><\/sup> So a check does not protect you in itself; what you do with what you learn does. That is why the scan counts it as a habit, and not as protection.<\/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 habits are worth measuring<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Estruch and colleagues divided 7,447 Spaniards at high risk across three dietary patterns and followed them for almost five years. In 2018, after a reanalysis because some of the participants had not been randomised correctly, the result still stood: 31 percent fewer major cardiovascular events with olive oil and 28 percent fewer with nuts, compared with low-fat advice.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">17<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is a randomised study, and still not a promise about your body. What it does say: habits move, and what moves you can follow. An age from a questionnaire cannot do that; a habit score taken again a month later can.<\/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 rests on. Now for your habit score.<\/p>\n\n\n\n<p class=\"bp-scan-ctamicro wp-block-paragraph\">Fill in your first name and email address, and your habit score 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=healthy-aging&amp;lang=en\">Start the lifestyle 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 Mediterranean Diet Adherence Screener is not ours. That is why we ask our own five questions, modelled on that instrument, and nowhere call them a validated copy of it. And we do not print a biological age, because no questionnaire can give one.<\/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 reads on 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>Khaw KT, Wareham N, Bingham S, Welch A, Luben R, Day N. Combined impact of health behaviours and mortality in men and women: the EPIC-Norfolk prospective population study. PLoS Medicine, 2008. <a href=\"https:\/\/doi.org\/10.1371\/journal.pmed.0050012\">doi.org\/10.1371\/journal.pmed.0050012<\/a><\/li>\n\n\n<li>van den Brandt PA. The impact of a Mediterranean diet and healthy lifestyle on premature mortality in men and women. American Journal of Clinical Nutrition, 2011. <a href=\"https:\/\/doi.org\/10.3945\/ajcn.110.008250\">doi.org\/10.3945\/ajcn.110.008250<\/a><\/li>\n\n\n<li>Li Y, Pan A, Wang DD, et al. Impact of healthy lifestyle factors on life expectancies in the US population. Circulation, 2018. <a href=\"https:\/\/doi.org\/10.1161\/CIRCULATIONAHA.117.032047\">doi.org\/10.1161\/CIRCULATIONAHA.117.032047<\/a><\/li>\n\n\n<li>Loef M, Walach H. The combined effects of healthy lifestyle behaviors on all cause mortality: a systematic review and meta-analysis. Preventive Medicine, 2012. <a href=\"https:\/\/doi.org\/10.1016\/j.ypmed.2012.06.017\">doi.org\/10.1016\/j.ypmed.2012.06.017<\/a><\/li>\n\n\n<li>Ford ES, Bergmann MM, Kr\u00f6ger J, Schienkiewitz A, Weikert C, Boeing H. Healthy living is the best revenge: findings from the European Prospective Investigation Into Cancer and Nutrition-Potsdam study. Archives of Internal Medicine, 2009. <a href=\"https:\/\/doi.org\/10.1001\/archinternmed.2009.237\">doi.org\/10.1001\/archinternmed.2009.237<\/a><\/li>\n\n\n<li>Lee IM, Shiroma EJ, Lobelo F, Puska P, Blair SN, Katzmarzyk PT. Effect of physical inactivity on major non-communicable diseases worldwide: an analysis of burden of disease and life expectancy. The Lancet, 2012. <a href=\"https:\/\/doi.org\/10.1016\/S0140-6736(12)61031-9\">doi.org\/10.1016\/S0140-6736(12)61031-9<\/a><\/li>\n\n\n<li>Micha R, Pe\u00f1alvo JL, Cudhea F, Imamura F, Rehm CD, Mozaffarian D. Association between dietary factors and mortality from heart disease, stroke, and type 2 diabetes in the United States. JAMA, 2017. <a href=\"https:\/\/doi.org\/10.1001\/jama.2017.0947\">doi.org\/10.1001\/jama.2017.0947<\/a><\/li>\n\n\n<li>GBD 2017 Diet Collaborators. Health effects of dietary risks in 195 countries, 1990 to 2017: a systematic analysis for the Global Burden of Disease Study 2017. The Lancet, 2019. <a href=\"https:\/\/doi.org\/10.1016\/S0140-6736(19)30041-8\">doi.org\/10.1016\/S0140-6736(19)30041-8<\/a><\/li>\n\n\n<li>Schr\u00f6der H, Fit\u00f3 M, Estruch R, et al. A short screener is valid for assessing Mediterranean diet adherence among older Spanish men and women. Journal of Nutrition, 2011. <a href=\"https:\/\/doi.org\/10.3945\/jn.110.135566\">doi.org\/10.3945\/jn.110.135566<\/a><\/li>\n\n\n<li>Mart\u00ednez-Gonz\u00e1lez MA, Garc\u00eda-Arellano A, Toledo E, et al. A 14-item Mediterranean diet assessment tool and obesity indexes among high-risk subjects: the PREDIMED trial. PLoS ONE, 2012. <a href=\"https:\/\/doi.org\/10.1371\/journal.pone.0043134\">doi.org\/10.1371\/journal.pone.0043134<\/a><\/li>\n\n\n<li>MEDAS validation, Nutrients, 2018. <a href=\"https:\/\/www.mdpi.com\/2072-6643\/10\/2\/138\">mdpi.com<\/a><\/li>\n\n\n<li>Craig CL, Marshall AL, Sj\u00f6str\u00f6m M, et al. International Physical Activity Questionnaire: 12-country reliability and validity. Medicine and Science in Sports and Exercise, 2003. <a href=\"https:\/\/doi.org\/10.1249\/01.MSS.0000078924.61453.FB\">doi.org\/10.1249\/01.MSS.0000078924.61453.FB<\/a><\/li>\n\n\n<li>IPAQ validity and reliability, PLOS ONE, 2024. <a href=\"https:\/\/journals.plos.org\/plosone\/article?id=10.1371\/journal.pone.0300003\">journals.plos.org<\/a><\/li>\n\n\n<li>Sofi F, Abbate R, Gensini GF, Casini A. Accruing evidence on benefits of adherence to the Mediterranean diet on health: an updated systematic review and meta-analysis. American Journal of Clinical Nutrition, 2010. <a href=\"https:\/\/doi.org\/10.3945\/ajcn.2010.29673\">doi.org\/10.3945\/ajcn.2010.29673<\/a><\/li>\n\n\n<li>Dinu M, Pagliai G, Casini A, Sofi F. Mediterranean diet and multiple health outcomes: an umbrella review of meta-analyses of observational studies and randomised trials. European Journal of Clinical Nutrition, 2018. <a href=\"https:\/\/doi.org\/10.1038\/ejcn.2017.58\">doi.org\/10.1038\/ejcn.2017.58<\/a><\/li>\n\n\n<li>Krogsb\u00f8ll LT, J\u00f8rgensen KJ, G\u00f8tzsche PC. General health checks in adults for reducing morbidity and mortality from disease. Cochrane Database of Systematic Reviews, 2019. <a href=\"https:\/\/doi.org\/10.1002\/14651858.CD009009.pub3\">doi.org\/10.1002\/14651858.CD009009.pub3<\/a><\/li>\n\n\n<li>Estruch R, Ros E, Salas-Salvad\u00f3 J, et al. Primary prevention of cardiovascular disease with a Mediterranean diet supplemented with extra-virgin olive oil or nuts. New England Journal of Medicine, 2018. <a href=\"https:\/\/doi.org\/10.1056\/NEJMoa1800389\">doi.org\/10.1056\/NEJMoa1800389<\/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 lifestyle scan<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Five questions, about three minutes, and your habit score 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=healthy-aging&amp;lang=en\">Start the lifestyle 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 habit score 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-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\/metabolism-test\/\">Metabolism 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 is not a biological age and not a prediction of lifespan. Real biological age asks for epigenetic clocks or biomarker panels, and any biological age number that comes out of a questionnaire is marketing. What this scores is preventive behaviour, which self-reporting can measure honestly, and which is worth measuring precisely because it is the part you decide.<\/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=healthy-aging&amp;lang=en\">Start the lifestyle scan<\/a><\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>BioProfile analysis \u00b7 lifestyle scan No questionnaire knows how old your body is. Your habits do. Five questions, a number. Your result in 3 minutes Your habit score for your ordinary week, with the reading band it falls into and, per question, the number that pulled your score up or down. All on your own [&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":"Biological age test: your lifestyle score in 3 minutes | BioProfile","_yoast_wpseo_metadesc":"How old your body really is, no questionnaire can say. What you do about it can: five questions, modelled on a validated screener. 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-6901","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>Biological age test: your lifestyle score in 3 minutes | BioProfile<\/title>\n<meta name=\"description\" content=\"How old your body really is, no questionnaire can say. What you do about it can: five questions, modelled on a validated screener. 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\/scan-lifestyle-test\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Biological age test: your lifestyle score in 3 minutes | BioProfile\" \/>\n<meta property=\"og:description\" content=\"How old your body really is, no questionnaire can say. What you do about it can: five questions, modelled on a validated screener. Free, 3 minutes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/\" \/>\n<meta property=\"og:site_name\" content=\"Bioprofile.com\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-30T20:32:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-telefoon-34030472.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\\\/scan-lifestyle-test\\\/\",\"url\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-lifestyle-test\\\/\",\"name\":\"Biological age test: your lifestyle score in 3 minutes | BioProfile\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-lifestyle-test\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-lifestyle-test\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/bp-scan-leefstijltest-resultaat-telefoon-34030472-768x510.webp\",\"datePublished\":\"2026-08-27T10:36:52+00:00\",\"dateModified\":\"2026-09-30T20:32:09+00:00\",\"description\":\"How old your body really is, no questionnaire can say. What you do about it can: five questions, modelled on a validated screener. Free, 3 minutes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-lifestyle-test\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-lifestyle-test\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-lifestyle-test\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/bp-scan-leefstijltest-resultaat-telefoon-34030472-768x510.webp\",\"contentUrl\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/bp-scan-leefstijltest-resultaat-telefoon-34030472-768x510.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-lifestyle-test\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/home-2026\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scan: Lifestyle 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":"Biological age test: your lifestyle score in 3 minutes | BioProfile","description":"How old your body really is, no questionnaire can say. What you do about it can: five questions, modelled on a validated screener. 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\/scan-lifestyle-test\/","og_locale":"en_US","og_type":"article","og_title":"Biological age test: your lifestyle score in 3 minutes | BioProfile","og_description":"How old your body really is, no questionnaire can say. What you do about it can: five questions, modelled on a validated screener. Free, 3 minutes.","og_url":"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/","og_site_name":"Bioprofile.com","article_modified_time":"2026-09-30T20:32:09+00:00","og_image":[{"width":800,"height":531,"url":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-telefoon-34030472.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\/scan-lifestyle-test\/","url":"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/","name":"Biological age test: your lifestyle score in 3 minutes | BioProfile","isPartOf":{"@id":"https:\/\/bioprofile.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/#primaryimage"},"image":{"@id":"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/#primaryimage"},"thumbnailUrl":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-telefoon-34030472-768x510.webp","datePublished":"2026-08-27T10:36:52+00:00","dateModified":"2026-09-30T20:32:09+00:00","description":"How old your body really is, no questionnaire can say. What you do about it can: five questions, modelled on a validated screener. Free, 3 minutes.","breadcrumb":{"@id":"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/#primaryimage","url":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-telefoon-34030472-768x510.webp","contentUrl":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-leefstijltest-resultaat-telefoon-34030472-768x510.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bioprofile.com\/en\/home-2026\/"},{"@type":"ListItem","position":2,"name":"Scan: Lifestyle 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\/6901","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=6901"}],"version-history":[{"count":3,"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/pages\/6901\/revisions"}],"predecessor-version":[{"id":7418,"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/pages\/6901\/revisions\/7418"}],"wp:attachment":[{"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/media?parent=6901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}