{"id":7132,"date":"2026-08-27T10:36:14","date_gmt":"2026-08-27T10:36:14","guid":{"rendered":"https:\/\/bioprofile.com\/?page_id=7132"},"modified":"2026-09-30T20:30:54","modified_gmt":"2026-09-30T20:30:54","slug":"scan-hormone-test","status":"publish","type":"page","link":"https:\/\/bioprofile.com\/en\/scan-hormone-test\/","title":{"rendered":"Scan: Hormone 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-hormoontest\/\",\n  \"url\": \"https:\/\/bioprofile.com\/scan-hormoontest\/\",\n  \"name\": \"Hormoontest (overgangsklachten): je hormoonscore in 3 minuten | BioProfile\",\n  \"description\": \"Opvliegers, slechte nachten of een drive die weg is. Een paar vragen zetten een getal op je overgangsklachten, voor vrouwen en mannen. Gratis, 3 minuten.\",\n  \"isPartOf\": {\n    \"@id\": \"https:\/\/bioprofile.com\/#website\"\n  },\n  \"about\": {\n    \"@type\": \"Thing\",\n    \"name\": \"Hormoonbalans\"\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\": \"Avis NE, Crawford SL, Greendale G, et al. Duration of menopausal vasomotor symptoms over the menopause transition. JAMA Internal Medicine, 2015.\",\n      \"url\": \"https:\/\/doi.org\/10.1001\/jamainternmed.2014.8063\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Freeman EW, Sammel MD, Sanders RJ. Risk of long-term hot flashes after natural menopause: evidence from the Penn Ovarian Aging Study cohort. Menopause, 2014.\",\n      \"url\": \"https:\/\/doi.org\/10.1097\/GME.0000000000000196\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Woods NF, Mitchell ES. Symptoms during the perimenopause: prevalence, severity, trajectory, and significance in women's lives. American Journal of Medicine, 2005.\",\n      \"url\": \"https:\/\/doi.org\/10.1016\/j.amjmed.2005.09.031\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Geukes M, van Aalst MP, Nauta MCE, Oosterhof H. The impact of menopausal symptoms on work ability. Menopause, 2012.\",\n      \"url\": \"https:\/\/doi.org\/10.1097\/gme.0b013e31822ddc97\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Heinemann K, Ruebig A, Potthoff P, et al. The Menopause Rating Scale (MRS) scale: a methodological review. Health and Quality of Life Outcomes, 2004.\",\n      \"url\": \"https:\/\/doi.org\/10.1186\/1477-7525-2-45\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Menopause Rating Scale, instrument voor kwaliteit van leven, PubMed Central.\",\n      \"url\": \"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC183844\/\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Schneider HPG, Heinemann LAJ, Rosemeier HP, Potthoff P, Behre HM. The Menopause Rating Scale (MRS): reliability of scores of menopausal complaints. Climacteric, 2000.\",\n      \"url\": \"https:\/\/doi.org\/10.3109\/13697130009167600\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Harlow SD, Gass M, Hall JE, et al. Executive summary of the Stages of Reproductive Aging Workshop + 10: addressing the unfinished agenda of staging reproductive aging. Menopause, 2012.\",\n      \"url\": \"https:\/\/doi.org\/10.1097\/gme.0b013e31824d8f40\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Morley JE, Charlton E, Patrick P, et al. Validation of a screening questionnaire for androgen deficiency in aging males. Metabolism, 2000.\",\n      \"url\": \"https:\/\/doi.org\/10.1053\/meta.2000.8625\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Morley JE, Perry HM, Kevorkian RT, Patrick P. Comparison of screening questionnaires for the diagnosis of hypogonadism. Maturitas, 2006.\",\n      \"url\": \"https:\/\/doi.org\/10.1016\/j.maturitas.2005.07.004\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Symptoomvragenlijsten en testosteron, PubMed.\",\n      \"url\": \"https:\/\/pubmed.ncbi.nlm.nih.gov\/23862578\/\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Wu FCW, Tajar A, Beynon JM, et al. Identification of late-onset hypogonadism in middle-aged and elderly men. New England Journal of Medicine, 2010.\",\n      \"url\": \"https:\/\/doi.org\/10.1056\/NEJMoa0911101\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Bhasin S, Brito JP, Cunningham GR, et al. Testosterone therapy in men with hypogonadism: an Endocrine Society clinical practice guideline. Journal of Clinical Endocrinology and Metabolism, 2018.\",\n      \"url\": \"https:\/\/doi.org\/10.1210\/jc.2018-00229\"\n    },\n    {\n      \"@type\": \"CreativeWork\",\n      \"name\": \"Thurston RC, Joffe H. Vasomotor symptoms and menopause: findings from the Study of Women's Health across the Nation. Obstetrics and Gynecology Clinics of North America, 2011.\",\n      \"url\": \"https:\/\/doi.org\/10.1016\/j.ogc.2011.05.006\"\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 hormone scan<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Hot flushes, a short fuse, a drive that has gone. Not tiredness: symptoms. We measure them.<\/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-hormoontest-resultaat-telefoon-03e233e3-768x510.webp\" alt=\"The results screen of the BioProfile hormone scan on a phone, with a hormone score of 50 and the reading band moderate\" class=\"wp-image-5101\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-telefoon-03e233e3-768x510.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-telefoon-03e233e3-300x199.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-telefoon-03e233e3.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 hormone score over the past few weeks, read for your life stage, with the reading band it falls in and, per question, the number that pulled your score down or up. All on your own screen, in your dashboard.<\/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=hormonal-balance&amp;lang=en\">Start the hormone 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\">Four questions for women in or around the menopause, three for men, based on validated symptom questionnaires. You get a hormone score from 0 to 100 for your stage of life. Symptoms, never hormones; never a diagnosis.<\/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\">3 or 4 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\">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=hormonal-balance&amp;lang=en\">Start the hormone 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 hormone score is there 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\">Four questions that lay bare why your symptoms keep being dismissed as tiredness<\/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 evidence-based reason why these are exactly the questions, for women and for men)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For women: you wake at three in the morning, soaked through, and lie there waiting until five. During the day you are stung more easily than you know yourself to be, and when someone asks how you are, you say you are tired, because that is the word everyone understands. For men: the desire is gone, the strength is less, and the getting on with things that used to come by itself now needs a run-up. You too say you are tired. Neither of you is ill. Neither of you has a number.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The hard part about hormonal symptoms is that they look like everything. Sleeping badly, being irritable, not feeling up for anything: that can be the menopause, or stress, or a winter, and all you have is a feeling about a few weeks. The temptation is to buy a hormone test. But a blood value without a picture of the symptoms says little, and in men the best known symptom questionnaires do not even track the hormone. That is not an opinion of ours; it is in the research, further down this page.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What can be done is to measure the symptoms the way researchers do: how much trouble, over a few weeks, per symptom. For women in or around the menopause: hot flushes or night sweats, dryness, irritability or mood swings, and sleep that hormonal changes disturb. For men: desire, drive and mood. Added up into a score from 0 to 100, read for your stage of life. No hormone measurement. No diagnosis. A number, though. And a number you can follow, and take to a doctor.<\/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=\"739\" height=\"1024\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-vraag-9946af9e-739x1024.webp\" alt=\"The first two questions of the BioProfile hormone scan for women, about hot flushes or night sweats and about dryness or discomfort, each with five answer options\" class=\"wp-image-5103\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-vraag-9946af9e-739x1024.webp 739w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-vraag-9946af9e-217x300.webp 217w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-vraag-9946af9e-768x1064.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-vraag-9946af9e-1109x1536.webp 1109w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-vraag-9946af9e.webp 1360w\" sizes=\"(max-width: 739px) 100vw, 739px\" \/><figcaption class=\"wp-element-caption\">Questions 1 and 2 of 4, as a woman going through the menopause gets them. For each question you pick the answer that comes closest to your past few weeks.<\/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 hormone test from a web shop. A supplement for the menopause, a supplement for testosterone, a diet, a detox. 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 two months you still do not know whether it did anything. You have not recorded anywhere how much trouble you had when you started, and hormonal symptoms are exactly the symptoms you explain away the fastest yourself. Without a baseline, every change 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 instruments that someone else has validated, and with an honest limit alongside them: symptoms, never hormones. Only after that, talk about what you do with it. Analyse first, advise second.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The hormone scan is the first step of that analysis, and the step you take to a doctor if the score gives reason to.<\/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-hormoontest-doelvraag-f0097b47-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-5104\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-doelvraag-f0097b47-768x860.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-doelvraag-f0097b47-268x300.webp 268w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-doelvraag-f0097b47-914x1024.webp 914w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-doelvraag-f0097b47.webp 1360w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">The scan starts with what you want to improve yourself, and with your life stage.<\/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, including your sex and, for women, your life stage: those decide which questions you get. They do not count towards your score.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then come the hormone questions about the past few weeks: for women in or around the menopause, hot flushes or sweating, dryness, irritability or mood, and disturbed sleep; for men, interest in sex, drive and strength, and mood. Each question has five answers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You fill in your first name and email address. You see a first picture straight away, and with one tap on your dashboard your hormone score is on your screen, with the reading band alongside it. Your email holds a login link so you can find your result again later and extend your scan, with a blood test if you want.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-split-media is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-shot bp-scan-shot--wide is-layout-flow wp-block-group-is-layout-flow\">\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"448\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-startscherm-02170028-768x448.webp\" alt=\"Start screen of the BioProfile hormone scan with the button to begin\" class=\"wp-image-5105\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-startscherm-02170028-768x448.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-startscherm-02170028-300x175.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-startscherm-02170028-1024x597.webp 1024w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-startscherm-02170028.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 hormone score from 0 to 100, read for your life stage<\/li>\n\n\n<li>The reading band your score falls into, from clear symptoms to few symptoms<\/li>\n\n\n<li>For each question, how heavily it weighed on your score, from low to high, so you see which symptom pulls hardest<\/li>\n\n\n<li>An honest limit: symptoms, never hormones, and why a blood test is the only thing that sees a hormone<\/li>\n\n\n<li>A login link in your email, so you can keep your result, repeat it and take it to a doctor<\/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-hormoontest-aanmelden-33995ff1-768x576.webp\" alt=\"The screen where you fill in your first name and email address to see your result\" class=\"wp-image-5106\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-aanmelden-33995ff1-768x576.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-aanmelden-33995ff1-300x225.webp 300w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-aanmelden-33995ff1-1024x768.webp 1024w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-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 few weeks and you no longer have a feeling about your symptoms, but two numbers. And if you go to a doctor, you take them with you.<\/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=hormonal-balance&amp;lang=en\">Start the hormone 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 hormone score is there 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\">The scan starts with your life stage. Women in or around the menopause get the first four questions below, men the last three; women with regular cycles do not get them, because the scale has not been validated for that.<\/p>\n\n\n\n<ul class=\"wp-block-list bp-scan-items\">\n\n<li>Hot flushes or night sweats<\/li>\n\n\n<li>Vaginal dryness or discomfort<\/li>\n\n\n<li>Irritability or mood swings<\/li>\n\n\n<li>Sleep disturbed by hormonal changes<\/li>\n\n\n<li>Sex drive<\/li>\n\n\n<li>Drive, strength and a get-up-and-go attitude<\/li>\n\n\n<li>Feeling low, flat or irritable<\/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=\"863\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-latere-vragen-9d07ffd5-768x863.webp\" alt=\"Questions 3 and 4 of the BioProfile hormone scan for women: irritability or mood swings, and sleep disturbed by hormonal changes\" class=\"wp-image-5107\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-latere-vragen-9d07ffd5-768x863.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-latere-vragen-9d07ffd5-267x300.webp 267w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-latere-vragen-9d07ffd5-911x1024.webp 911w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-latere-vragen-9d07ffd5.webp 1080w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">Questions 3 and 4 of the questions for women. The same weeks, two other symptoms. Men get their own three.<\/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 first card is the instrument the questions for women are modelled on. The second is there to read the questions for men honestly: the best known questionnaires for men do not track the hormone, and that is why for men it is called a signal about vitality and drive, and not a hormone score.<\/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\">Menopause Rating Scale<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Eleven questions, scored from 0 to 44, spread over three groups: physical, psychological and urogenital, available in about thirty languages. It measures how much trouble menopausal symptoms give you. It does not measure a hormone, and it is only meaningful for women in or around the menopause, which is why we ask about your life stage first.<\/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: severity of menopausal symptoms in women in middle age.<\/p>\n\n\n\n<p class=\"bp-scan-cite wp-block-paragraph\"><a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC183844\/\">Menopause Rating Scale, a quality of life instrument, PubMed Central.<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-inst is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-badge bp-scan-badge--reference wp-block-paragraph\">used descriptively only<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Aging Males&#8217; Symptoms and ADAM<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The two best known symptom questionnaires for men do not track testosterone. The reported sensitivity for low testosterone sits around 54 percent at a specificity of around 41 percent, and the shorter screening is deliberately built low in specificity. So for men we score a signal about vitality and drive, we call it that too, and we say clearly that only a blood test makes a hormone visible.<\/p>\n\n\n\n<p class=\"bp-scan-use wp-block-paragraph\">Used only descriptively. We do not apply the diagnostic rule behind it here.<\/p>\n\n\n\n<p class=\"bp-scan-validfor wp-block-paragraph\">Validated for: symptom burden in ageing men, not the testosterone level.<\/p>\n\n\n\n<p class=\"bp-scan-cite wp-block-paragraph\"><a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/23862578\/\">Symptom questionnaires and testosterone, PubMed.<\/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--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\">Symptoms, never hormones<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the profile that depends most on a blood test and where the science is narrowest. For women in or around the menopause, symptom questionnaires are validated and genuinely informative. For everyone outside that, and for men in particular, that does not hold: the best known symptom questionnaires for men do not track testosterone. That is why we ask about this area according to your life stage, score a symptom burden and call it exactly that, and never present it as a hormone measurement.<\/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 B, cohort dependent, reliability capped at average within the cohort and low outside it.<\/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 question gets 0 to 4 points, from no trouble to a lot of trouble. The points are added up and converted into a hormone score from 0 to 100, read for your life stage. Higher is better.<\/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\">clear symptoms<\/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\">moderate<\/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\">mild<\/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\">few symptoms<\/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 hormone balance are worded in house and modelled on validated instruments, so no published cut-off value applies to exactly this score. Higher is always healthier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This scan falls into measurement class B: for women in or around the menopause a symptom questionnaire is validated and genuinely informative, and there the reliability of your score stays capped at average for as long as only your answers count. Outside that life stage, and for men, it is low, because the men&#8217;s questionnaires do not track the hormone. What lifts that ceiling is a blood test, and you can add one 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: medium reliability, symptom based. That label is not an aside; it tells you exactly how much weight you may 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=\"998\" src=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-score-6a085b3c-768x998.webp\" alt=\"The hormone questions read back on the results screen of the BioProfile scan, each with your answer and a score from 0 to 100\" class=\"wp-image-5102\" srcset=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-score-6a085b3c-768x998.webp 768w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-score-6a085b3c-231x300.webp 231w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-score-6a085b3c-788x1024.webp 788w, https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-score-6a085b3c.webp 880w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><figcaption class=\"wp-element-caption\">This is how the software builds up your score: every symptom gets its own number from 0 to 100, the lowest 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\">Menopausal symptoms last for years, and most women have no number for them<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In the American SWAN study, Avis and colleagues followed 1,449 women with regular hot flushes or night sweats across an average of thirteen visits: in total the symptoms lasted a median of 7.4 years, and they continued for a median of 4.5 years after the last period. Those who started with them early in the menopause had them the longest, a median of more than 11.8 years.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">1<\/a><\/sup> Freeman and colleagues followed 255 women for sixteen years: moderate to severe hot flushes peaked at 46 percent in the first two years after the last period, and a third still had them ten years later.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">2<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In 2005 Woods and Mitchell lined up the long-running studies: only hot flushes and night sweats, vaginal dryness and sleep problems change demonstrably with the stage of the menopause; a minority of women call them severe.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">3<\/a><\/sup> Geukes and colleagues found, in 208 working Dutch women aged 44 to 60, that menopausal symptoms explained 33.8 per cent of the difference in work ability.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">4<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Years of symptoms, measurable work ability, and almost nobody keeping a number for it. 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 symptoms can be measured with a questionnaire and hormones cannot<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A questionnaire does not see a hormone. What it does see is symptom burden, and for women in or around the menopause that is well validated. The Menopause Rating Scale was examined in 2004 in a study across nine countries on four continents: reliability was good, the correlation between the subscales and the total score lay between 0.7 and 0.9, and the scale turned out to measure the same thing in every country.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">5<\/a>,<a href=\"#bronnen\">6<\/a><\/sup> Schneider and colleagues put it to 306 German women aged 40 to 60 in 2000 and again a year and a half later: the scores correlated at 0.60, and most women stayed in the same category.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">7<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Harlow and the STRAW+10 working group set down in 2012 how the stages of the menopause are classified, by menstrual pattern and hormone markers, and that is precisely why this scan asks about your life stage first: a symptom score only has meaning in the stage the scale was validated for.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">8<\/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\">Why these questions in particular, and why it has a different name in men<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Our four questions for women follow the three groups of the Menopause Rating Scale, physical, psychological and urogenital, in our own words: hot flushes or sweating, dryness, irritability or mood, and sleep.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">6<\/a><\/sup> They are not a copy of it, and the card above says so in as many words.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For men it is different, and we say so out loud. In 2000 Morley and colleagues tested the ADAM questionnaire in 316 Canadian doctors aged 40 to 62: 88 percent sensitivity, 60 percent specificity for a low bioavailable testosterone.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">9<\/a><\/sup> In 2006 they compared three questionnaires in 148 men: the ADAM caught 97 percent of the low values, but with a specificity of 30 percent; the AMS 83 percent at 39 percent.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">10<\/a><\/sup> The study that the BioProfile analysis names comes out, in 985 men, at 54 percent sensitivity and 41 percent specificity for the AMS.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">11<\/a><\/sup> That is why for men it is called a signal about vitality and drive, and not a hormone score.<\/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 hormone score means a lot of symptoms over the past few weeks, and nothing beyond that. Wu and colleagues showed in 2010, in 3,369 European men aged 40 to 79, how narrow the link is: of all the symptoms, only three sexual symptoms as a set went together with low testosterone, and only the combination of those three with a measured value below 11 nanomol per litre defines it.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">12<\/a><\/sup> The Endocrine Society set out in 2018 that a deficiency is established only with symptoms and a repeatedly measured, fasting, morning low testosterone.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">13<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It works the same way for women: symptoms are the reason to ask for a blood test, not proof of a hormone level. A low score means it is worth looking further. Only a doctor can make a diagnosis, and only a blood test can see a hormone.<\/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 symptoms are worth measuring<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In 2011 Thurston and Joffe summed up what the SWAN study taught about hot flushes and night sweats: they count as the core symptoms of the menopause, they differ from one population group to another, and they are linked to the mental and physical health of women in middle age.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">14<\/a><\/sup> In Avis, younger age, more perceived stress, more low mood and more anxiety at the first symptoms were the factors that made the symptoms last longer.\u2060<sup class=\"bp-scan-sup\"><a href=\"#bronnen\">1<\/a><\/sup><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is association, not cause, and that is how those studies put it too. What it does say: symptoms that last years and affect your work are not symptoms to explain away as tired. A number per symptom, over a few weeks, is the start of a conversation that otherwise never begins.<\/p>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-bridge bp-scan-bridge--row is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group bp-scan-bridge-text is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"bp-scan-bridgelead wp-block-paragraph\">This is what the scan stands on. Now your hormone score.<\/p>\n\n\n\n<p class=\"bp-scan-ctamicro wp-block-paragraph\">Fill in your first name and email address, and your hormone score is there 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=hormonal-balance&amp;lang=en\">Start the hormone 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 Menopause Rating Scale and the questionnaires for ageing men are not ours and are not free to use. That is why we ask our own questions, modelled on those instruments, and nowhere call them a validated copy of them. And we do not measure a hormone: only a blood test sees a hormone.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--tight bp-scan-sec--beige is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\" id=\"bronnen\">Sources<\/h2>\n\n\n\n<p class=\"bp-scan-srclead wp-block-paragraph\">Every source below was checked on the day this page was published. The numbering follows the text: source 1 is the first one the text refers to, and the two instruments the analysis names sit in between, at the point where they come up.<\/p>\n\n\n\n<ol class=\"wp-block-list bp-scan-refs\">\n\n<li>Avis NE, Crawford SL, Greendale G, et al. Duration of menopausal vasomotor symptoms over the menopause transition. JAMA Internal Medicine, 2015. <a href=\"https:\/\/doi.org\/10.1001\/jamainternmed.2014.8063\">doi.org\/10.1001\/jamainternmed.2014.8063<\/a><\/li>\n\n\n<li>Freeman EW, Sammel MD, Sanders RJ. Risk of long-term hot flashes after natural menopause: evidence from the Penn Ovarian Aging Study cohort. Menopause, 2014. <a href=\"https:\/\/doi.org\/10.1097\/GME.0000000000000196\">doi.org\/10.1097\/GME.0000000000000196<\/a><\/li>\n\n\n<li>Woods NF, Mitchell ES. Symptoms during the perimenopause: prevalence, severity, trajectory, and significance in women&#8217;s lives. American Journal of Medicine, 2005. <a href=\"https:\/\/doi.org\/10.1016\/j.amjmed.2005.09.031\">doi.org\/10.1016\/j.amjmed.2005.09.031<\/a><\/li>\n\n\n<li>Geukes M, van Aalst MP, Nauta MCE, Oosterhof H. The impact of menopausal symptoms on work ability. Menopause, 2012. <a href=\"https:\/\/doi.org\/10.1097\/gme.0b013e31822ddc97\">doi.org\/10.1097\/gme.0b013e31822ddc97<\/a><\/li>\n\n\n<li>Heinemann K, Ruebig A, Potthoff P, et al. The Menopause Rating Scale (MRS) scale: a methodological review. Health and Quality of Life Outcomes, 2004. <a href=\"https:\/\/doi.org\/10.1186\/1477-7525-2-45\">doi.org\/10.1186\/1477-7525-2-45<\/a><\/li>\n\n\n<li>Menopause Rating Scale, an instrument for quality of life, PubMed Central. <a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC183844\/\">pmc.ncbi.nlm.nih.gov<\/a><\/li>\n\n\n<li>Schneider HPG, Heinemann LAJ, Rosemeier HP, Potthoff P, Behre HM. The Menopause Rating Scale (MRS): reliability of scores of menopausal complaints. Climacteric, 2000. <a href=\"https:\/\/doi.org\/10.3109\/13697130009167600\">doi.org\/10.3109\/13697130009167600<\/a><\/li>\n\n\n<li>Harlow SD, Gass M, Hall JE, et al. Executive summary of the Stages of Reproductive Aging Workshop + 10: addressing the unfinished agenda of staging reproductive aging. Menopause, 2012. <a href=\"https:\/\/doi.org\/10.1097\/gme.0b013e31824d8f40\">doi.org\/10.1097\/gme.0b013e31824d8f40<\/a><\/li>\n\n\n<li>Morley JE, Charlton E, Patrick P, et al. Validation of a screening questionnaire for androgen deficiency in aging males. Metabolism, 2000. <a href=\"https:\/\/doi.org\/10.1053\/meta.2000.8625\">doi.org\/10.1053\/meta.2000.8625<\/a><\/li>\n\n\n<li>Morley JE, Perry HM, Kevorkian RT, Patrick P. Comparison of screening questionnaires for the diagnosis of hypogonadism. Maturitas, 2006. <a href=\"https:\/\/doi.org\/10.1016\/j.maturitas.2005.07.004\">doi.org\/10.1016\/j.maturitas.2005.07.004<\/a><\/li>\n\n\n<li>Symptom questionnaires and testosterone, PubMed. <a href=\"https:\/\/pubmed.ncbi.nlm.nih.gov\/23862578\/\">pubmed.ncbi.nlm.nih.gov<\/a><\/li>\n\n\n<li>Wu FCW, Tajar A, Beynon JM, et al. Identification of late-onset hypogonadism in middle-aged and elderly men. New England Journal of Medicine, 2010. <a href=\"https:\/\/doi.org\/10.1056\/NEJMoa0911101\">doi.org\/10.1056\/NEJMoa0911101<\/a><\/li>\n\n\n<li>Bhasin S, Brito JP, Cunningham GR, et al. Testosterone therapy in men with hypogonadism: an Endocrine Society clinical practice guideline. Journal of Clinical Endocrinology and Metabolism, 2018. <a href=\"https:\/\/doi.org\/10.1210\/jc.2018-00229\">doi.org\/10.1210\/jc.2018-00229<\/a><\/li>\n\n\n<li>Thurston RC, Joffe H. Vasomotor symptoms and menopause: findings from the Study of Women&#8217;s Health across the Nation. Obstetrics and Gynecology Clinics of North America, 2011. <a href=\"https:\/\/doi.org\/10.1016\/j.ogc.2011.05.006\">doi.org\/10.1016\/j.ogc.2011.05.006<\/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 hormone scan<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A few questions, about three minutes, and your hormone 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=hormonal-balance&amp;lang=en\">Start the hormone 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 hormone score is there in your dashboard.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group bp-scan-sec bp-scan-sec--tight bp-scan-sec--beige is-layout-flow wp-block-group-is-layout-flow\">\n\n<h2 class=\"wp-block-heading\">Other scans<\/h2>\n\n\n\n<div class=\"wp-block-group bp-scan-links is-layout-flow wp-block-group-is-layout-flow\">\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/scan-wellbeing-test\/\">Wellbeing test (WHO-5)<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/scan-slaaptest\/\">Sleep test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/brain-fog-test\/\">Brain fog test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/scan-fatigue-test\/\">Fatigue test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/stress-test\/\">Stress test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/scan-lifestyle-test\/\">Lifestyle test<\/a><\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bioprofile.com\/en\/scan-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 measures symptoms, never hormones. It can tell you nothing about your oestrogen, testosterone or thyroid levels, it cannot establish a hormonal condition, and hormonal imbalance as a general idea cannot be measured with a questionnaire at all. Only a blood test sees a hormone, and pronounced symptoms are the reason to ask for one.<\/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=hormonal-balance&amp;lang=en\">Start the hormone scan<\/a><\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>BioProfile analysis \u00b7 hormone scan Hot flushes, a short fuse, a drive that has gone. Not tiredness: symptoms. We measure them. Your result in 3 minutes Your hormone score over the past few weeks, read for your life stage, with the reading band it falls in and, per question, the number that pulled your score [&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":"Menopause symptoms test: your hormone score in 3 minutes | BioProfile","_yoast_wpseo_metadesc":"Hot flushes, bad nights or a drive that has gone. A few questions put a number on your menopause symptoms, for women and men. 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-7132","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>Menopause symptoms test: your hormone score in 3 minutes | BioProfile<\/title>\n<meta name=\"description\" content=\"Hot flushes, bad nights or a drive that has gone. A few questions put a number on your menopause symptoms, for women and men. 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-hormone-test\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Menopause symptoms test: your hormone score in 3 minutes | BioProfile\" \/>\n<meta property=\"og:description\" content=\"Hot flushes, bad nights or a drive that has gone. A few questions put a number on your menopause symptoms, for women and men. Free, 3 minutes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bioprofile.com\/en\/scan-hormone-test\/\" \/>\n<meta property=\"og:site_name\" content=\"Bioprofile.com\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-30T20:30:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-telefoon-03e233e3.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-hormone-test\\\/\",\"url\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-hormone-test\\\/\",\"name\":\"Menopause symptoms test: your hormone score in 3 minutes | BioProfile\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-hormone-test\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-hormone-test\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/bp-scan-hormoontest-resultaat-telefoon-03e233e3-768x510.webp\",\"datePublished\":\"2026-08-27T10:36:14+00:00\",\"dateModified\":\"2026-09-30T20:30:54+00:00\",\"description\":\"Hot flushes, bad nights or a drive that has gone. A few questions put a number on your menopause symptoms, for women and men. Free, 3 minutes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-hormone-test\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-hormone-test\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-hormone-test\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/bp-scan-hormoontest-resultaat-telefoon-03e233e3-768x510.webp\",\"contentUrl\":\"https:\\\/\\\/bioprofile.com\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/bp-scan-hormoontest-resultaat-telefoon-03e233e3-768x510.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/scan-hormone-test\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bioprofile.com\\\/en\\\/home-2026\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scan: Hormone 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":"Menopause symptoms test: your hormone score in 3 minutes | BioProfile","description":"Hot flushes, bad nights or a drive that has gone. A few questions put a number on your menopause symptoms, for women and men. 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-hormone-test\/","og_locale":"en_US","og_type":"article","og_title":"Menopause symptoms test: your hormone score in 3 minutes | BioProfile","og_description":"Hot flushes, bad nights or a drive that has gone. A few questions put a number on your menopause symptoms, for women and men. Free, 3 minutes.","og_url":"https:\/\/bioprofile.com\/en\/scan-hormone-test\/","og_site_name":"Bioprofile.com","article_modified_time":"2026-09-30T20:30:54+00:00","og_image":[{"width":800,"height":531,"url":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-telefoon-03e233e3.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-hormone-test\/","url":"https:\/\/bioprofile.com\/en\/scan-hormone-test\/","name":"Menopause symptoms test: your hormone score in 3 minutes | BioProfile","isPartOf":{"@id":"https:\/\/bioprofile.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bioprofile.com\/en\/scan-hormone-test\/#primaryimage"},"image":{"@id":"https:\/\/bioprofile.com\/en\/scan-hormone-test\/#primaryimage"},"thumbnailUrl":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-telefoon-03e233e3-768x510.webp","datePublished":"2026-08-27T10:36:14+00:00","dateModified":"2026-09-30T20:30:54+00:00","description":"Hot flushes, bad nights or a drive that has gone. A few questions put a number on your menopause symptoms, for women and men. Free, 3 minutes.","breadcrumb":{"@id":"https:\/\/bioprofile.com\/en\/scan-hormone-test\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bioprofile.com\/en\/scan-hormone-test\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bioprofile.com\/en\/scan-hormone-test\/#primaryimage","url":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-telefoon-03e233e3-768x510.webp","contentUrl":"https:\/\/bioprofile.com\/wp-content\/uploads\/2026\/08\/bp-scan-hormoontest-resultaat-telefoon-03e233e3-768x510.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/bioprofile.com\/en\/scan-hormone-test\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bioprofile.com\/en\/home-2026\/"},{"@type":"ListItem","position":2,"name":"Scan: Hormone 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\/7132","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=7132"}],"version-history":[{"count":3,"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/pages\/7132\/revisions"}],"predecessor-version":[{"id":7417,"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/pages\/7132\/revisions\/7417"}],"wp:attachment":[{"href":"https:\/\/bioprofile.com\/en\/wp-json\/wp\/v2\/media?parent=7132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}