{"id":1211,"date":"2026-10-26T16:08:35","date_gmt":"2026-10-26T15:08:35","guid":{"rendered":"https:\/\/lu.andufit.com\/?page_id=1211"},"modified":"2026-10-26T17:15:20","modified_gmt":"2026-10-26T16:15:20","slug":"deep-sleep","status":"publish","type":"page","link":"https:\/\/lu.andufit.com\/fi\/deep-sleep\/","title":{"rendered":"Miksi her\u00e4\u00e4t v\u00e4syneen\u00e4 kahdeksan tunnin unen j\u00e4lkeenkin"},"content":{"rendered":"\n<!-- ANDUFIT landing page: deep-sleep v1 (fi). Paste into ONE Custom HTML block on a blank page template. -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600&display=swap\" rel=\"stylesheet\">\n<style>\n\/* ANDUFIT design tokens, taken from andufit.com (Oct 2026) *\/\n#afx-lp {\n    --ink: #0B0F12;\n    --ink-70: rgba(11, 15, 18, .7);\n    --ink-60: rgba(11, 15, 18, .6);\n    --ink-45: rgba(11, 15, 18, .45);\n    --bg: #FFFFFF;\n    --soft: #F9F8F7;\n    --mist: #E4EEF1;\n    --teal: #00576E;\n    --aqua: #3DB7B0;\n    --deep: #07161C;\n    --line: rgba(11, 15, 18, .15);\n    --line-soft: rgba(11, 15, 18, .06);\n    --font: \"Inter\", system-ui, -apple-system, \"Segoe UI\", Roboto, Arial, sans-serif;\n    color-scheme: light;\n    box-sizing: border-box;\n    padding-top: env(safe-area-inset-top, 0px);\n}\n\n#afx-lp *, #afx-lp *::before, #afx-lp *::after {\n    box-sizing: inherit\n}\n\n#afx-lp {\n    -webkit-text-size-adjust: 100%\n}\n\n#afx-lp {\n    margin: 0;\n    background: var(--bg);\n    color: var(--ink);\n    font-family: var(--font);\n    font-size: 18px;\n    line-height: 1.65;\n    -webkit-font-smoothing: antialiased\n}\n\n#afx-lp img {\n    max-width: 100%;\n    height: auto;\n    display: block\n}\n\n#afx-lp a {\n    color: var(--teal)\n}\n\n#afx-lp :focus-visible {\n    outline: 2px solid var(--teal);\n    outline-offset: 3px;\n    border-radius: 4px\n}\n\n#afx-lp strong {\n    font-weight: 600\n}\n\n#afx-lp .col {\n    max-width: 844px;\n    margin: 0 auto;\n    padding: 0 22px\n}\n\n#afx-lp .wide {\n    max-width: 844px;\n    margin: 0 auto;\n    padding: 0 22px\n}\n\n#afx-lp .band {\n    background: var(--soft)\n}\n\/* header *\/\n\n#afx-lp .top {\n    border-bottom: 1px solid var(--line-soft);\n    background: var(--bg)\n}\n\n#afx-lp .top .wide {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    height: 60px\n}\n\n#afx-lp .logo img {\n    height: 22px;\n    width: auto\n}\n\n#afx-lp .adlabel {\n    font-size: 12px;\n    color: var(--ink-60);\n    border: 1px solid var(--line);\n    border-radius: 9999px;\n    padding: 3px 11px\n}\n\/* eyebrow, as on andufit.com *\/\n\n#afx-lp .eyebrow {\n    font-size: 13px;\n    font-weight: 600;\n    letter-spacing: .12em;\n    text-transform: uppercase;\n    color: var(--teal);\n    margin: 0 0 12px\n}\n\/* hero *\/\n\n#afx-lp .hero {\n    padding: 26px 0 0\n}\n\n#afx-lp h1 {\n    font-weight: 600;\n    font-size: clamp(31px, 6vw, 44px);\n    line-height: 1.1;\n    letter-spacing: -.01em;\n    margin: 0 0 16px\n}\n\n#afx-lp .dek {\n    font-size: 19px;\n    line-height: 1.55;\n    color: var(--ink-70);\n    margin: 0 0 22px\n}\n\n#afx-lp .byline {\n    display: flex;\n    gap: 12px;\n    align-items: center;\n    font-size: 14px;\n    color: var(--ink-60);\n    margin-bottom: 24px\n}\n\n#afx-lp .byline .avatar {\n    width: 44px;\n    height: 44px;\n    border-radius: 50%;\n    object-fit: cover;\n    background: var(--mist);\n    flex: 0 0 44px\n}\n\n#afx-lp .byline b {\n    color: var(--ink);\n    font-weight: 500;\n    display: block\n}\n\n#afx-lp .hero-fig {\n    margin: 0\n}\n\n#afx-lp .hero-fig img {\n    width: 100%;\n    aspect-ratio: 4\/3;\n    object-fit: cover;\n    border-radius: 10px\n}\n\n#afx-lp figcaption, #afx-lp .cap {\n    font-size: 14px;\n    color: var(--ink-60);\n    margin-top: 8px;\n    line-height: 1.5\n}\n\n#afx-lp .stars {\n    color: var(--aqua);\n    letter-spacing: 2px;\n    font-size: 14px;\n    line-height: 1\n}\n\n#afx-lp .stars .off {\n    color: var(--line)\n}\n\/* article *\/\n\n#afx-lp article {\n    padding: 26px 0 0\n}\n\n#afx-lp article p {\n    margin: 0 0 1.05em\n}\n\/* two-tone headings, as on andufit.com *\/\n\n#afx-lp h2 {\n    font-weight: 600;\n    font-size: clamp(25px, 4.4vw, 32px);\n    line-height: 1.18;\n    letter-spacing: -.01em;\n    margin: 2.1em 0 .55em;\n    color: var(--ink)\n}\n\n#afx-lp h3 {\n    font-weight: 600;\n    font-size: 22px;\n    line-height: 1.3;\n    letter-spacing: -.005em;\n    margin: 0 0 8px\n}\n\n#afx-lp .lead::first-letter {\n    font-weight: 600;\n    float: left;\n    font-size: 3.3em;\n    line-height: .9;\n    margin: .05em .09em 0 0;\n    color: var(--teal)\n}\n\n#afx-lp .pull {\n    border-left: 2px solid var(--aqua);\n    padding: 2px 0 2px 18px;\n    margin: 1.6em 0;\n    font-size: 21px;\n    line-height: 1.45;\n    font-weight: 400\n}\n\n#afx-lp .pull small {\n    display: block;\n    font-size: 13px;\n    color: var(--ink-60);\n    margin-top: 8px;\n    line-height: 1.5\n}\n\/* stat card, like the homepage benefit cards *\/\n\n#afx-lp .stat {\n    background: var(--soft);\n    border: 1px solid var(--line-soft);\n    border-radius: 10px;\n    padding: 22px;\n    margin: 1.4em 0\n}\n\n#afx-lp .stat .num {\n    font-weight: 400;\n    font-size: 48px;\n    line-height: 1;\n    color: var(--teal);\n    margin-bottom: 8px\n}\n\n#afx-lp .stat p {\n    margin: 0;\n    font-size: 16px;\n    line-height: 1.5\n}\n\n#afx-lp .stat .src {\n    display: block;\n    font-size: 13px;\n    color: var(--ink-60);\n    margin-top: 6px\n}\n\/* checklist, styled like the BEDCHECK options *\/\n\n#afx-lp .check {\n    background: var(--bg);\n    border: 1px solid var(--line-soft);\n    border-radius: 10px;\n    padding: 16px;\n    margin: 1.2em 0;\n    display: grid;\n    gap: 8px\n}\n\n#afx-lp .check label {\n    display: flex;\n    gap: 12px;\n    align-items: flex-start;\n    padding: 14px 16px;\n    border-radius: 10px;\n    border: 1px solid var(--line);\n    background: var(--soft);\n    cursor: pointer;\n    font-size: 16px;\n    line-height: 1.45;\n    transition: border-color .15s, background .15s\n}\n\n#afx-lp .check label:has(input:checked) {\n    border-color: var(--teal);\n    background: #EEF5F6\n}\n\n#afx-lp .check input {\n    appearance: none;\n    -webkit-appearance: none;\n    flex: 0 0 20px;\n    height: 20px;\n    margin: 1px 0 0;\n    border: 1.5px solid var(--ink-45);\n    border-radius: 50%;\n    display: grid;\n    place-items: center;\n    cursor: pointer;\n    background: var(--bg)\n}\n\n#afx-lp .check input:checked {\n    border-color: var(--teal);\n    background: var(--teal)\n}\n\n#afx-lp .check input:checked::after {\n    content: \"\";\n    width: 5px;\n    height: 9px;\n    border: solid #fff;\n    border-width: 0 2px 2px 0;\n    transform: rotate(45deg) translate(-.5px, -1px)\n}\n\n#afx-lp .check-out {\n    font-size: 14px;\n    color: var(--ink-60);\n    padding: 4px 4px 0;\n    min-height: 2.4em\n}\n\n#afx-lp .check-out.hit {\n    color: var(--teal);\n    font-weight: 500\n}\n\/* night timeline, in the dark science-section style *\/\n\n#afx-lp .night {\n    background: radial-gradient(120% 80% at 50% 110%, rgba(0, 87, 110, .55), transparent 60%), var(--deep);\n    color: #fff;\n    border-radius: 10px;\n    padding: 28px 22px 24px;\n    margin: 1.8em -6px\n}\n\n#afx-lp .night .eyebrow {\n    color: var(--aqua)\n}\n\n#afx-lp .night h3 {\n    margin-bottom: 6px;\n    color: #fff\n}\n\n#afx-lp .night .sub {\n    font-size: 14px;\n    color: rgba(255, 255, 255, .6);\n    margin: 0 0 18px\n}\n\n#afx-lp .toggle {\n    display: inline-grid;\n    grid-template-columns: 1fr 1fr;\n    max-width: 100%;\n    background: rgba(255, 255, 255, .08);\n    border: 1px solid rgba(255, 255, 255, .1);\n    border-radius: 9999px;\n    padding: 4px;\n    margin-bottom: 24px\n}\n\n#afx-lp .toggle button {\n    line-height: 1.3;\n    font-family: var(--font);\n    font-size: 14px;\n    font-weight: 500;\n    border: 0;\n    background: transparent;\n    color: rgba(255, 255, 255, .7);\n    padding: 9px 16px;\n    border-radius: 9999px;\n    cursor: pointer\n}\n\n#afx-lp .toggle button[aria-pressed=\"true\"] {\n    background: #fff;\n    color: var(--deep)\n}\n\n#afx-lp .tl {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n    position: relative\n}\n\n#afx-lp .tl::before {\n    content: \"\";\n    position: absolute;\n    left: 62px;\n    top: 8px;\n    bottom: 8px;\n    width: 1.5px;\n    background: linear-gradient(rgba(255, 255, 255, .15), rgba(61, 183, 176, .7))\n}\n\n#afx-lp .tl li {\n    display: grid;\n    grid-template-columns: 50px 1fr;\n    gap: 24px;\n    padding: 0 0 18px;\n    position: relative\n}\n\n#afx-lp .tl li:last-child {\n    padding-bottom: 0\n}\n\n#afx-lp .tl time {\n    font-size: 13px;\n    font-weight: 500;\n    color: rgba(255, 255, 255, .55);\n    padding-top: 2px;\n    text-align: right;\n    font-variant-numeric: tabular-nums\n}\n\n#afx-lp .tl li::after {\n    content: \"\";\n    position: absolute;\n    left: 57px;\n    top: 7px;\n    width: 12px;\n    height: 12px;\n    border-radius: 50%;\n    background: var(--deep);\n    border: 1.5px solid rgba(255, 255, 255, .5)\n}\n\n#afx-lp .tl li.key::after {\n    background: var(--aqua);\n    border-color: var(--aqua);\n    box-shadow: 0 0 0 5px rgba(61, 183, 176, .2), 0 0 18px rgba(61, 183, 176, .6)\n}\n\n#afx-lp .tl b {\n    font-weight: 500;\n    font-size: 16px;\n    display: block;\n    margin-bottom: 2px;\n    color: #fff\n}\n\n#afx-lp .tl span {\n    font-size: 16px;\n    line-height: 1.55;\n    color: rgba(255, 255, 255, .7)\n}\n\n#afx-lp .tl[hidden] {\n    display: none\n}\n\n#afx-lp .tl.show {\n    animation: fade .35s ease\n}\n\n@keyframes fade {\n    from {\n        opacity:0\n    }\n\n    to {\n        opacity: 1\n    }\n}\n\n#afx-lp .night .verdict {\n    margin: 22px 0 0;\n    padding-top: 16px;\n    border-top: 1px solid rgba(255, 255, 255, .1);\n    font-size: 16px;\n    color: #fff\n}\n\/* tried list *\/\n\n#afx-lp .tried {\n    display: grid;\n    gap: 10px;\n    margin: 1.2em 0\n}\n\n#afx-lp .tried div {\n    background: var(--soft);\n    border: 1px solid var(--line-soft);\n    border-radius: 10px;\n    padding: 16px 18px\n}\n\n#afx-lp .tried h3 {\n    display: flex;\n    justify-content: space-between;\n    gap: 12px;\n    align-items: baseline;\n    font-size: 17px;\n    margin-bottom: 6px\n}\n\n#afx-lp .tried h3 em {\n    font-style: normal;\n    font-size: 13px;\n    font-weight: 500;\n    color: var(--teal);\n    white-space: nowrap;\n    border: 1px solid rgba(0, 87, 110, .3);\n    border-radius: 9999px;\n    padding: 2px 9px\n}\n\n#afx-lp .tried p {\n    margin: 0;\n    font-size: 16px;\n    line-height: 1.55;\n    color: var(--ink-70)\n}\n\/* product *\/\n\n#afx-lp .product {\n    padding: 10px 0 34px;\n    margin: 2.4em 0 0\n}\n\n#afx-lp .product h2 {\n    margin-top: 1.3em\n}\n\n#afx-lp .photo {\n    margin: 1.2em 0 .4em;\n    border-radius: 10px;\n    overflow: hidden;\n    background: var(--deep)\n}\n\n#afx-lp .photo img {\n    width: 100%;\n    aspect-ratio: 16\/10;\n    object-fit: cover\n}\n\n#afx-lp .photo video {\n    display: block;\n    width: 100%;\n    height: auto;\n    object-fit: cover;\n    background: var(--soft)\n}\n\n#afx-lp .photo.video {\n    background: var(--soft)\n}\n\n#afx-lp .specs {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 10px;\n    margin: 18px 0\n}\n\n#afx-lp .specs div {\n    background: var(--bg);\n    border: 1px solid var(--line-soft);\n    border-radius: 10px;\n    padding: 15px 16px\n}\n\n#afx-lp .specs b {\n    font-weight: 600;\n    font-size: 24px;\n    color: var(--teal);\n    display: block;\n    line-height: 1.15\n}\n\n#afx-lp .specs span {\n    font-size: 15px;\n    color: var(--ink-70);\n    line-height: 1.45;\n    display: block;\n    margin-top: 4px\n}\n\/* ritual *\/\n\n#afx-lp .ritual {\n    display: grid;\n    gap: 10px;\n    margin: 1.2em 0\n}\n\n#afx-lp .ritual div {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 10px;\n    align-content: start;\n    align-items: start;\n    background: var(--bg);\n    border: 1px solid var(--line-soft);\n    border-radius: 10px;\n    padding: 16px 18px\n}\n\n#afx-lp .ritual .when {\n    font-size: 15px;\n    font-weight: 500;\n    justify-self: start;\n    color: var(--teal);\n    border: 1px solid rgba(0, 87, 110, .35);\n    border-radius: 9999px;\n    padding: 6px 14px;\n    text-align: center;\n    white-space: nowrap\n}\n\n#afx-lp .ritual p {\n    margin: 0;\n    font-size: 15px;\n    line-height: 1.5;\n    color: var(--ink-70)\n}\n\/* CTA, matches \"Bekijk de prijs\" on andufit.com *\/\n\n#afx-lp .btn {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-height: 58px;\n    padding: 16px 32px;\n    background: var(--teal);\n    color: #fff;\n    font-family: var(--font);\n    font-weight: 400;\n    font-size: 17px;\n    border-radius: 8px;\n    text-decoration: none;\n    text-align: center\n}\n\n#afx-lp .btn:hover {\n    background: #00485B\n}\n\n#afx-lp .cta-block {\n    margin: 1.6em 0 0\n}\n\n#afx-lp .cta-note {\n    font-size: 14px;\n    color: var(--ink-60);\n    text-align: center;\n    margin-top: 10px\n}\n\/* study, in the dark science style with the PubMed pill *\/\n\n#afx-lp .study {\n    background: var(--soft);\n    border: 1px solid var(--line-soft);\n    border-radius: 14px;\n    padding: 22px 18px;\n    margin: 1.4em 0 .8em\n}\n\n#afx-lp .pill {\n    display: inline-block;\n    font-size: 13px;\n    font-weight: 600;\n    letter-spacing: .02em;\n    color: var(--teal);\n    background: var(--mist);\n    border-radius: 9999px;\n    padding: 6px 13px;\n    margin-bottom: 14px\n}\n\n#afx-lp .study h3 {\n    font-size: 20px;\n    margin: 0 0 4px\n}\n\n#afx-lp .study .meta {\n    font-size: 14px;\n    color: var(--ink-60);\n    margin: 0 0 16px\n}\n\n#afx-lp .setup {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 10px\n}\n\n#afx-lp .setup div {\n    background: var(--bg);\n    border: 1px solid var(--line-soft);\n    border-radius: 10px;\n    padding: 13px 15px\n}\n\n#afx-lp .setup b {\n    display: block;\n    font-size: 16px;\n    font-weight: 600;\n    line-height: 1.3\n}\n\n#afx-lp .setup span {\n    display: block;\n    font-size: 14px;\n    color: var(--ink-60);\n    margin-top: 2px\n}\n\n#afx-lp .study-grid {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: 10px;\n    margin: 14px 0 0\n}\n\n#afx-lp .study-grid div {\n    border-top: 2px solid var(--aqua);\n    padding: 12px 2px 0\n}\n\n#afx-lp .study-grid b {\n    font-weight: 600;\n    font-size: 26px;\n    color: var(--teal);\n    display: block;\n    line-height: 1.15\n}\n\n#afx-lp .study-grid span {\n    font-size: 14px;\n    color: var(--ink-70);\n    line-height: 1.35;\n    display: block;\n    margin-top: 4px\n}\n\n#afx-lp .fine {\n    font-size: 13px;\n    line-height: 1.55;\n    color: var(--ink-60)\n}\n\/* faq *\/\n\n#afx-lp .faq details {\n    border-bottom: 1px solid var(--line)\n}\n\n#afx-lp .faq summary {\n    list-style: none;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 17px;\n    padding: 18px 34px 18px 0;\n    position: relative\n}\n\n#afx-lp .faq summary::-webkit-details-marker {\n    display: none\n}\n\n#afx-lp .faq summary::after {\n    content: \"\";\n    position: absolute;\n    right: 6px;\n    top: 24px;\n    width: 9px;\n    height: 9px;\n    border: solid var(--ink-60);\n    border-width: 0 1.5px 1.5px 0;\n    transform: rotate(45deg);\n    transition: transform .2s\n}\n\n#afx-lp .faq details[open] summary::after {\n    transform: rotate(-135deg);\n    top: 28px\n}\n\n#afx-lp .faq details p {\n    margin: 0 0 18px;\n    font-size: 16px;\n    color: var(--ink-70)\n}\n\/* offer *\/\n\n#afx-lp .offer {\n    background: var(--soft);\n    border: 1px solid var(--line-soft);\n    border-radius: 10px;\n    padding: 28px 22px;\n    margin: 2.4em 0 1em\n}\n\n#afx-lp .offer h2 {\n    margin: 0 0 10px\n}\n\n#afx-lp .offer ul {\n    list-style: none;\n    padding: 0;\n    margin: 18px 0 22px;\n    display: grid;\n    gap: 10px\n}\n\n#afx-lp .offer li {\n    display: flex;\n    gap: 12px;\n    font-size: 16px;\n    line-height: 1.45\n}\n\n#afx-lp .offer li svg {\n    flex: 0 0 20px;\n    margin-top: 2px;\n    color: var(--aqua)\n}\n\n#afx-lp .offer h2 {\n    font-size: clamp(24px, 4vw, 30px);\n    line-height: 1.2\n}\n\n#afx-lp .offer > p {\n    margin: 0\n}\n\n#afx-lp .trial {\n    list-style: none;\n    margin: 20px 0 6px;\n    padding: 0;\n    display: grid;\n    gap: 10px\n}\n\n#afx-lp .trial li {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 4px;\n    align-content: start;\n    background: var(--bg);\n    border: 1px solid var(--line-soft);\n    border-radius: 10px;\n    padding: 18px\n}\n\n#afx-lp .trial b {\n    justify-self: start;\n    font-size: 15px;\n    font-weight: 500;\n    color: var(--teal);\n    border: 1px solid rgba(0, 87, 110, .35);\n    border-radius: 9999px;\n    padding: 6px 14px;\n    white-space: nowrap;\n    margin-bottom: 8px\n}\n\n#afx-lp .trial span {\n    font-size: 15px;\n    line-height: 1.5;\n    color: var(--ink-70)\n}\n\n@media (min-width: 760px) {\n    #afx-lp .trial {\n        grid-template-columns: repeat(3, 1fr)\n    }\n\n    #afx-lp .trial li {\n        grid-template-columns: 1fr;\n        gap: 4px;\n        align-content: start;\n        align-items: start\n    }\n}\n\n#afx-lp .signoff {\n    font-family: \"Freestyle Script\", \"Brush Script MT\", cursive;\n    font-size: 34px;\n    color: var(--teal);\n    text-align: center;\n    margin: 20px 0 0\n}\n\n#afx-lp .sources {\n    border-top: 1px solid var(--line-soft);\n    margin-top: 3em;\n    padding: 22px 0 130px\n}\n\n#afx-lp .sources h2 {\n    font-size: 16px;\n    font-weight: 500;\n    margin: 0 0 10px\n}\n\n#afx-lp .sources ol {\n    padding-left: 20px;\n    margin: 0 0 16px\n}\n\n#afx-lp .sources li {\n    font-size: 13px;\n    line-height: 1.55;\n    color: var(--ink-60);\n    margin-bottom: 6px\n}\n\/* floating CTA: same style as the main button, appears in the product section *\/\n\n#afx-lp .sticky {\n    position: fixed;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    z-index: 20;\n    pointer-events: none;\n    background: none;\n    border: 0;\n    box-shadow: none;\n    padding: 0 16px calc(14px + env(safe-area-inset-bottom, 0px));\n    transform: translateY(140%);\n    transition: transform .35s ease\n}\n\n#afx-lp .sticky.on {\n    transform: none\n}\n\n#afx-lp .sticky .inner {\n    max-width: 800px;\n    margin: 0 auto;\n    pointer-events: auto;\n    background: none;\n    border: 0;\n    padding: 0\n}\n\n#afx-lp .sticky .btn {\n    box-shadow: 0 12px 28px -10px rgba(0, 40, 50, .55), 0 2px 6px rgba(0, 40, 50, .15)\n}\n\n@media (min-width: 760px) {\n    #afx-lp .night {\n        padding: 34px 34px 28px\n    }\n}\n\n@media (max-width: 420px) {\n    #afx-lp {\n        font-size: 17px\n    }\n\n    #afx-lp .study-grid b {\n        font-size: 22px\n    }\n}\n\/* ===== Solution section: dark brand band, product image blends into the background ===== *\/\n\n#afx-lp .sol {\n    margin: 2.4em 0 0\n}\n\n#afx-lp .sol-card {\n    background: radial-gradient(90% 40% at 50% 30%, #2a454c 0%, #1e343a 60%, #15272d 100%);\n    color: #fff;\n    border-radius: 14px;\n    padding: 36px 22px 30px;\n    margin: 0 -10px\n}\n\n#afx-lp .sol .eyebrow {\n    color: var(--aqua)\n}\n\n#afx-lp .sol h2 {\n    color: #fff;\n    margin-top: 0\n}\n\n#afx-lp .sol h3 {\n    color: #fff;\n    font-size: 26px;\n    margin: 2.2em 0 .5em\n}\n\n#afx-lp .sol p {\n    color: rgba(255, 255, 255, .78)\n}\n\n#afx-lp .sol .cap {\n    color: rgba(255, 255, 255, .55)\n}\n\n#afx-lp .sol-lead {\n    font-size: 18px;\n    line-height: 1.6\n}\n\n#afx-lp .sol-hero {\n    position: relative;\n    margin: 4px -12px 0;\n    padding: 0\n}\n\n#afx-lp .sol-hero img {\n    width: 100%;\n    height: auto;\n    -webkit-mask-image: radial-gradient(ellipse 72% 70% at 50% 52%, #000 55%, transparent 100%);\n    mask-image: radial-gradient(ellipse 72% 70% at 50% 52%, #000 55%, transparent 100%)\n}\n\n#afx-lp .chip {\n    position: absolute;\n    font-size: 13px;\n    font-weight: 500;\n    color: #fff;\n    background: rgba(7, 22, 28, .55);\n    border: 1px solid rgba(61, 183, 176, .55);\n    border-radius: 9999px;\n    padding: 6px 12px;\n    white-space: nowrap;\n    -webkit-backdrop-filter: blur(6px);\n    backdrop-filter: blur(6px)\n}\n\n#afx-lp .chip::before {\n    content: \"\";\n    display: inline-block;\n    width: 7px;\n    height: 7px;\n    border-radius: 50%;\n    background: var(--aqua);\n    box-shadow: 0 0 10px var(--aqua);\n    margin-right: 8px;\n    vertical-align: 1px\n}\n\n#afx-lp .figures {\n    list-style: none;\n    margin: 0;\n    padding: 22px 0;\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    border-top: 1px solid rgba(255, 255, 255, .12);\n    border-bottom: 1px solid rgba(255, 255, 255, .12)\n}\n\n#afx-lp .figures li {\n    text-align: center;\n    padding: 0 6px\n}\n\n#afx-lp .figures li + li {\n    border-left: 1px solid rgba(255, 255, 255, .12)\n}\n\n#afx-lp .figures b {\n    display: block;\n    font-size: 30px;\n    font-weight: 600;\n    line-height: 1.1;\n    color: var(--aqua)\n}\n\n#afx-lp .figures span {\n    display: block;\n    font-size: 13px;\n    color: rgba(255, 255, 255, .65);\n    margin-top: 4px\n}\n\n#afx-lp .frame {\n    margin: 1em 0 .4em;\n    border-radius: 10px;\n    overflow: hidden;\n    border: 1px solid rgba(255, 255, 255, .1);\n    background: #0f1e23\n}\n\n#afx-lp .frame video {\n    display: block;\n    width: 100%;\n    height: auto;\n    object-fit: cover\n}\n\n#afx-lp .steps {\n    list-style: none;\n    margin: 18px 0 0;\n    padding: 0;\n    display: grid;\n    gap: 14px;\n    counter-reset: st\n}\n\n#afx-lp .steps li {\n    display: grid;\n    grid-template-columns: 32px 1fr;\n    column-gap: 14px;\n    counter-increment: st\n}\n\n#afx-lp .steps li::before {\n    content: counter(st);\n    grid-row: 1\/span 2;\n    width: 32px;\n    height: 32px;\n    border-radius: 50%;\n    border: 1px solid rgba(61, 183, 176, .6);\n    color: var(--aqua);\n    font-size: 14px;\n    font-weight: 600;\n    display: grid;\n    place-items: center\n}\n\n#afx-lp .steps b {\n    font-size: 17px;\n    font-weight: 600;\n    color: #fff;\n    line-height: 1.35;\n    padding-top: 5px\n}\n\n#afx-lp .steps span {\n    font-size: 16px;\n    line-height: 1.55;\n    color: rgba(255, 255, 255, .72)\n}\n\n#afx-lp .sol .specs {\n    margin: 18px 0 0\n}\n\n#afx-lp .sol .specs div {\n    padding: 18px\n}\n\n@media (max-width: 520px) {\n    #afx-lp .sol .specs {\n        grid-template-columns: 1fr\n    }\n}\n\n#afx-lp .sol .specs div {\n    background: rgba(255, 255, 255, .05);\n    border: 1px solid rgba(255, 255, 255, .1)\n}\n\n#afx-lp .sol .specs b {\n    color: var(--aqua);\n    font-size: 20px;\n    line-height: 1.3\n}\n\n#afx-lp .sol .specs span {\n    color: rgba(255, 255, 255, .75);\n    margin-top: 6px;\n    font-size: 15px;\n    line-height: 1.5\n}\n\n#afx-lp .science {\n    margin-top: .6em\n}\n\n#afx-lp .couple {\n    margin-top: .6em\n}\n\n#afx-lp .couple .ritual {\n    margin-top: 1.2em\n}\n\n#afx-lp .couple .ritual div {\n    background: var(--soft)\n}\n\n@media (min-width: 760px) {\n    #afx-lp .couple .ritual {\n        grid-template-columns: 1fr 1fr\n    }\n}\n\n#afx-lp .sol .ritual div {\n    background: rgba(255, 255, 255, .05);\n    border: 1px solid rgba(255, 255, 255, .1)\n}\n\n#afx-lp .sol .ritual p {\n    color: rgba(255, 255, 255, .85)\n}\n\n#afx-lp .sol .ritual .when {\n    color: var(--aqua);\n    border-color: rgba(61, 183, 176, .5)\n}\n\n@media (min-width: 760px) {\n    #afx-lp .steps {\n        grid-template-columns: repeat(3, 1fr);\n        gap: 24px\n    }\n\n    #afx-lp .steps li {\n        grid-template-columns: 1fr;\n        grid-row: span 3;\n        grid-template-rows: subgrid;\n        row-gap: 8px\n    }\n\n    #afx-lp .steps li::before {\n        grid-row: auto\n    }\n\n    #afx-lp .steps b {\n        padding-top: 0\n    }\n\n    #afx-lp .sol .ritual {\n        grid-template-columns: 1fr 1fr\n    }\n\n    #afx-lp .sol-card {\n        padding: 52px 48px 44px;\n        margin: 0 -24px\n    }\n\n    #afx-lp .sol-hero {\n        margin: 4px -24px 0\n    }\n}\n\n@media (max-width: 480px) {\n    #afx-lp .figures {\n        grid-template-columns: 1fr 1fr;\n        row-gap: 18px\n    }\n\n    #afx-lp .figures li:nth-child(3) {\n        border-left: 0\n    }\n\n    #afx-lp .figures b {\n        font-size: 26px\n    }\n\n    #afx-lp .chip {\n        font-size: 11.5px;\n        padding: 4px 9px\n    }\n\n    #afx-lp .sol h3 {\n        font-size: 23px\n    }\n}\n\n@media (prefers-reduced-motion: reduce) {\n    #afx-lp * {\n        animation: none !important;\n        transition: none !important\n    }\n}\n\n\/* resets against theme styles *\/\n#afx-lp img, #afx-lp video {\n    border: 0;\n    box-shadow: none;\n    margin: 0\n}\n\n#afx-lp figure {\n    margin-left: 0;\n    margin-right: 0\n}\n\n#afx-lp ul, #afx-lp ol {\n    margin-left: 0\n}\n\n#afx-lp a.btn, #afx-lp a.btn:hover, #afx-lp a.btn:focus {\n    color: #fff;\n    text-decoration: none\n}\n\n#afx-lp h1, #afx-lp h2, #afx-lp h3 {\n    font-family: var(--font);\n    text-transform: none\n}\n\n\/* hide leftover theme chrome (Shoptimizer header bar, footer, mobile bars) on this page only *\/\nbody #masthead, body .site-header, body .header-4-container, body .col-full-nav, body .site-footer, body #colophon, body .shoptimizer-mobile-menu-bar, body .mobile-footer-bar {\n    display: none !important\n}\n\nhtml, body {\n    background: #fff !important\n}\n\nbody .site-content {\n    padding-top: 0 !important\n}\n\/* ===== Rugcheck survey (flow and scoring as the bedcheck on andufit.com) ===== *\/\n\n.sv {\n    background: var(--bg);\n    border: 1px solid var(--line);\n    border-radius: 14px;\n    padding: 20px 18px 22px;\n    margin: 1.2em 0 .4em;\n    box-shadow: 0 1px 2px rgba(11, 15, 18, .04)\n}\n\n#afx-lp .sv-head {\n    display: flex;\n    justify-content: space-between;\n    align-items: baseline;\n    margin-bottom: 10px\n}\n\n#afx-lp .sv-eyebrow {\n    font-size: 13px;\n    font-weight: 600;\n    letter-spacing: .12em;\n    text-transform: uppercase;\n    color: var(--teal);\n    margin: 0\n}\n\n#afx-lp .sv-count {\n    font-size: 13px;\n    color: var(--ink-60)\n}\n\n#afx-lp .sv-bar {\n    height: 4px;\n    border-radius: 9999px;\n    background: rgba(11, 15, 18, .08);\n    overflow: hidden;\n    margin-bottom: 18px\n}\n\n#afx-lp .sv-bar i {\n    display: block;\n    height: 100%;\n    width: 33%;\n    background: var(--teal);\n    border-radius: 9999px;\n    transition: width .35s ease\n}\n\n#afx-lp .sv-step h3 {\n    font-size: 20px;\n    margin: 0 0 4px\n}\n\n#afx-lp .sv-hint {\n    font-size: 15px;\n    color: var(--ink-60);\n    margin: 0 0 14px\n}\n\n#afx-lp .sv .check {\n    border: 0;\n    padding: 0;\n    margin: 0\n}\n\n#afx-lp .sv-nav {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-top: 18px;\n    gap: 12px\n}\n\n#afx-lp .sv-btn {\n    font-family: var(--font);\n    font-size: 16px;\n    font-weight: 500;\n    color: #fff;\n    background: var(--teal);\n    border: 0;\n    border-radius: 8px;\n    padding: 13px 22px;\n    min-height: 48px;\n    cursor: pointer\n}\n\n#afx-lp .sv-btn:disabled {\n    background: rgba(11, 15, 18, .12);\n    color: var(--ink-45);\n    cursor: default\n}\n\n#afx-lp .sv-back {\n    font-family: var(--font);\n    font-size: 15px;\n    color: var(--ink-60);\n    background: none;\n    border: 0;\n    padding: 10px 0;\n    cursor: pointer\n}\n\n#afx-lp .sv-back:hover {\n    color: var(--teal)\n}\n\n#afx-lp .sv-options {\n    display: grid;\n    gap: 8px\n}\n\n#afx-lp .sv-options button {\n    display: flex;\n    gap: 12px;\n    align-items: center;\n    text-align: left;\n    font-family: var(--font);\n    font-size: 16px;\n    color: var(--ink);\n    background: var(--soft);\n    border: 1px solid var(--line);\n    border-radius: 10px;\n    padding: 14px 16px;\n    min-height: 52px;\n    cursor: pointer;\n    transition: border-color .15s, background .15s\n}\n\n#afx-lp .sv-options button i {\n    flex: 0 0 20px;\n    height: 20px;\n    border: 1.5px solid var(--ink-45);\n    border-radius: 50%;\n    display: grid;\n    place-items: center\n}\n\n#afx-lp .sv-options button[aria-checked=\"true\"] {\n    border-color: var(--teal);\n    background: #EEF5F6\n}\n\n#afx-lp .sv-options button[aria-checked=\"true\"] i {\n    border-color: var(--teal);\n    background: var(--teal);\n    box-shadow: inset 0 0 0 4px #EEF5F6\n}\n\n#afx-lp .sv-scale {\n    margin-top: 16px\n}\n\n#afx-lp .sv-scale p {\n    font-size: 16px;\n    line-height: 1.35;\n    margin: 0 0 8px\n}\n\n#afx-lp .sv-nums {\n    display: flex;\n    gap: 6px\n}\n\n#afx-lp .sv-nums button {\n    flex: 1;\n    min-width: 0;\n    height: 46px;\n    font-family: var(--font);\n    font-size: 16px;\n    color: var(--ink-70);\n    background: var(--soft);\n    border: 1px solid rgba(11, 15, 18, .2);\n    border-radius: 8px;\n    cursor: pointer;\n    transition: all .15s\n}\n\n#afx-lp .sv-nums button:hover {\n    border-color: var(--teal);\n    color: var(--teal);\n    background: #fff\n}\n\n#afx-lp .sv-nums button[aria-pressed=\"true\"] {\n    background: var(--teal);\n    border-color: var(--teal);\n    color: #fff;\n    font-weight: 600\n}\n\n#afx-lp .sv-ends {\n    display: flex;\n    justify-content: space-between;\n    font-size: 13px;\n    color: var(--ink-45);\n    margin-top: 4px\n}\n\n#afx-lp .sv-score {\n    background: #E4EEF1;\n    border: 1px solid rgba(0, 87, 110, .18);\n    border-radius: 12px;\n    padding: 18px\n}\n\n#afx-lp .sv-big {\n    display: flex;\n    align-items: baseline;\n    gap: 8px;\n    margin: 6px 0 10px\n}\n\n#afx-lp .sv-big b {\n    font-size: 56px;\n    font-weight: 500;\n    line-height: 1;\n    color: var(--band-text, #a16207);\n    font-variant-numeric: tabular-nums\n}\n\n#afx-lp .sv-big span {\n    font-size: 15px;\n    color: var(--ink-60)\n}\n\n#afx-lp .sv-meter {\n    height: 8px;\n    border-radius: 9999px;\n    background: #fff;\n    overflow: hidden\n}\n\n#afx-lp .sv-meter i {\n    display: block;\n    height: 100%;\n    width: 0;\n    background: var(--band-bar, #eab308);\n    border-radius: 9999px;\n    transition: width .9s ease\n}\n\n#afx-lp .sv-what {\n    font-size: 14px;\n    color: var(--ink-60);\n    margin: 10px 0 14px\n}\n\n#afx-lp .sv-score h3 {\n    font-size: 19px;\n    margin: 0 0 4px\n}\n\n#afx-lp .sv-score p:last-child {\n    font-size: 15px;\n    color: var(--ink-70);\n    margin: 0\n}\n\n#afx-lp .sv-report {\n    margin-top: 14px;\n    border: 1px solid var(--line);\n    border-radius: 12px;\n    padding: 18px\n}\n\n#afx-lp .sv-author {\n    display: flex;\n    gap: 14px;\n    align-items: center;\n    margin-bottom: 10px\n}\n\n#afx-lp .sv-author img {\n    width: 56px;\n    height: 56px;\n    border-radius: 50%;\n    object-fit: cover;\n    flex: 0 0 56px\n}\n\n#afx-lp .sv-author h3 {\n    font-size: 19px;\n    margin: 0 0 2px\n}\n\n#afx-lp .sv-author p {\n    font-size: 14px;\n    color: var(--teal);\n    margin: 0\n}\n\n#afx-lp .sv-lead {\n    font-size: 15px;\n    color: var(--ink-70);\n    margin: 0 0 14px\n}\n\n#afx-lp .sv-sr {\n    position: absolute;\n    width: 1px;\n    height: 1px;\n    overflow: hidden;\n    clip: rect(0 0 0 0)\n}\n\n#afx-lp #svEmail {\n    display: block;\n    width: 100%;\n    font-family: var(--font);\n    font-size: 17px;\n    color: var(--ink);\n    background: #fff;\n    border: 1px solid rgba(11, 15, 18, .2);\n    border-radius: 10px;\n    padding: 14px 16px;\n    margin: 0 0 10px;\n    min-height: 52px\n}\n\n#afx-lp #svEmail:focus {\n    outline: 2px solid var(--teal);\n    outline-offset: 1px;\n    border-color: var(--teal)\n}\n\n#afx-lp .sv-err {\n    font-size: 14px;\n    color: #b3261e;\n    margin: 8px 0 0;\n    min-height: 0\n}\n\n#afx-lp .sv-consent {\n    font-size: 13px;\n    color: var(--ink-60);\n    margin: 10px 0 0\n}\n\n#afx-lp .sv-consent a {\n    color: var(--ink-60)\n}\n\n#afx-lp .sv-done h3 {\n    font-size: 19px;\n    margin: 0 0 4px;\n    color: var(--teal)\n}\n\n#afx-lp .sv-done p {\n    font-size: 15px;\n    color: var(--ink-70);\n    margin: 0\n}\n\n#afx-lp .sv-restart {\n    display: block;\n    margin: 12px auto 0;\n    font-size: 14px\n}\n\n#afx-lp .sv-step {\n    animation: svIn .3s ease\n}\n\n@keyframes svIn {\n    from {\n        opacity: 0;\n        transform:translateY(6px)\n    }\n\n    to {\n        opacity: 1;\n        transform: none\n    }\n}\n\n@media (min-width: 760px) {\n    #afx-lp .sv {\n        padding: 28px 30px 30px\n    }\n\n    #afx-lp .sv-options {\n        grid-template-columns: 1fr 1fr\n    }\n}\n\n#afx-lp .sv-lg button {\n    font-size: 18px;\n    font-weight: 500;\n    min-height: 58px\n}\n\n#afx-lp .sv-chips {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px\n}\n\n#afx-lp .sv-chips button {\n    font-family: var(--font);\n    font-size: 16px;\n    color: var(--ink);\n    background: var(--soft);\n    border: 1px solid var(--line);\n    border-radius: 9999px;\n    padding: 11px 18px;\n    min-height: 46px;\n    cursor: pointer;\n    transition: all .15s\n}\n\n#afx-lp .sv-chips button[aria-pressed=\"true\"] {\n    background: var(--teal);\n    border-color: var(--teal);\n    color: #fff\n}\n\n#afx-lp .sv-step h3 {\n    font-size: 21px\n}\n\n#afx-lp .sv-step .sv-scale {\n    margin-top: 10px\n}\n\n\/* consistent question layout: same title size, same gap to answers, same answer text size *\/\n#afx-lp .sv-step h3 {\n    font-size: 21px;\n    line-height: 1.3;\n    margin: 0 0 16px\n}\n\n#afx-lp .sv-step .sv-hint {\n    margin: -10px 0 16px;\n    font-size: 15px\n}\n\n#afx-lp .sv-step .sv-scale {\n    margin: 0\n}\n\n#afx-lp .sv-options button, #afx-lp .sv-lg button {\n    font-size: 17px;\n    font-weight: 400;\n    min-height: 54px\n}\n\n#afx-lp .sv-nums button {\n    font-size: 17px;\n    height: 54px\n}\n\n#afx-lp .sv-chips button {\n    font-size: 17px;\n    min-height: 48px\n}\n\n#afx-lp .sv-ends {\n    margin-top: 8px\n}\n\n#afx-lp .sv-nav {\n    margin-top: 20px\n}\n\n\/* scale end labels: above the buttons, clearly readable *\/\n#afx-lp .sv-ends {\n    display: flex;\n    justify-content: space-between;\n    margin: 0 0 8px;\n    font-size: 15px;\n    font-weight: 600;\n    color: var(--teal)\n}\n\n#afx-lp .byline-role {\n    display: block;\n    font-size: 13.5px;\n    line-height: 1.4;\n    color: var(--ink-60);\n    margin-top: 2px\n}\n\n#afx-lp .byline {\n    align-items: flex-start\n}\n\n#afx-lp .byline .avatar {\n    margin-top: 2px\n}\n\n#afx-lp .sv-head {\n    flex-wrap: wrap;\n    row-gap: 4px;\n    column-gap: 12px\n}\n\n#afx-lp .sv-head .sv-eyebrow, #afx-lp .sv-head .sv-count {\n    white-space: nowrap\n}\n\n#afx-lp .sv-head .sv-eyebrow {\n    letter-spacing: .1em\n}\n\n\/* iOS Safari tints its bottom toolbar from fixed elements near the bottom edge.\n   Remove the floating button from layout while it is hidden, and drop unused theme drawers. *\/\n#afx-lp .sticky:not(.on) {\n    display: none\n}\n\n#afx-lp .sticky.on {\n    animation: afxStickyIn .35s ease both\n}\n\n@keyframes afxStickyIn {\n    from {\n        transform:translateY(140%)\n    }\n\n    to {\n        transform: none\n    }\n}\n\n#shoptimizerCartDrawer, .shoptimizer-mini-cart-wrap, .col-full-nav {\n    display: none !important\n}\n\n\/* keep the floating button off the screen edge, so Safari does not sample it for its toolbar colour *\/\n#afx-lp .sticky {\n    bottom: calc(14px + env(safe-area-inset-bottom, 0px));\n    padding: 0 16px;\n    background: transparent\n}\n\n#afx-lp .bars {\n    background: var(--soft);\n    border: 1px solid var(--line);\n    border-radius: 14px;\n    padding: 20px 20px 14px;\n    margin: 22px 0\n}\n\n#afx-lp .bars-title {\n    font-size: 13px;\n    font-weight: 600;\n    letter-spacing: .12em;\n    text-transform: uppercase;\n    color: var(--teal);\n    margin: 0 0 14px\n}\n\n#afx-lp .bar-row {\n    margin: 0 0 16px\n}\n\n#afx-lp .bar-label {\n    display: block;\n    font-size: 15px;\n    font-weight: 600;\n    color: var(--ink);\n    margin-bottom: 6px\n}\n\n#afx-lp .bar {\n    position: relative;\n    height: 30px;\n    background: #fff;\n    border-radius: 6px;\n    margin: 4px 0;\n    overflow: hidden\n}\n\n#afx-lp .bar i {\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    background: var(--mist);\n    border-radius: 6px\n}\n\n#afx-lp .bar.on i {\n    background: var(--aqua)\n}\n\n#afx-lp .bar em {\n    position: relative;\n    font-style: normal;\n    font-size: 14px;\n    line-height: 30px;\n    padding-left: 10px;\n    color: var(--ink)\n}\n\n#afx-lp .bar.on em {\n    font-weight: 600\n}\n\n#afx-lp .reviews {\n    display: grid;\n    gap: 12px;\n    margin-top: 22px\n}\n\n#afx-lp .reviews figure {\n    margin: 0;\n    background: #fff;\n    border: 1px solid var(--line);\n    border-radius: 14px;\n    padding: 18px 20px\n}\n\n#afx-lp .reviews p {\n    margin: 0 0 8px;\n    font-size: 17px;\n    line-height: 1.5;\n    color: var(--ink)\n}\n\n#afx-lp .reviews figcaption {\n    font-size: 14px;\n    color: var(--ink-60)\n}\n\n@media (min-width: 760px) {\n    #afx-lp .reviews {\n        grid-template-columns: 1fr 1fr\n    }\n}\n\n#afx-lp .progs {\n    display: grid;\n    gap: 10px;\n    margin: 18px 0 20px\n}\n\n#afx-lp .progs > div {\n    display: flex;\n    gap: 14px;\n    align-items: flex-start;\n    background: rgba(255, 255, 255, .06);\n    border: 1px solid rgba(255, 255, 255, .14);\n    border-radius: 14px;\n    padding: 16px 18px\n}\n\n#afx-lp .progs .pnum {\n    flex: 0 0 auto;\n    font-size: 14px;\n    font-weight: 600;\n    letter-spacing: .04em;\n    color: var(--deep);\n    background: var(--aqua);\n    border-radius: 9999px;\n    padding: 5px 11px;\n    margin-top: 1px\n}\n\n#afx-lp .progs b {\n    display: block;\n    font-size: 18px;\n    font-weight: 600;\n    color: #fff;\n    margin-bottom: 3px\n}\n\n#afx-lp .progs span:not(.pnum) {\n    display: block;\n    font-size: 16px;\n    line-height: 1.5;\n    color: rgba(255, 255, 255, .78)\n}\n\n@media (min-width: 760px) {\n    #afx-lp .progs {\n        grid-template-columns: 1fr 1fr\n    }\n}\n<\/style>\n<div id=\"afx-lp\">\n    <header class=\"top\">\n        <div class=\"wide\">\n            <a class=\"logo\" href=\"https:\/\/www.andufit.com\/\" data-track=\"logo\">\n                <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.andufit.com\/logo-andufit.png\" alt=\"ANDUFIT\" width=\"81\" height=\"22\">\n            <\/a>\n        <\/div>\n    <\/header>\n\n    <main>\n        <section class=\"hero\">\n            <div class=\"col\">\n                <h1>Miksi her\u00e4\u00e4t v\u00e4syneen\u00e4 kahdeksan tunnin unen j\u00e4lkeenkin<\/h1>\n                <p class=\"dek\">Nukut tarpeeksi tunteja, mutta et tarpeeksi syv\u00e4sti. Lue, miksi syv\u00e4 uni v\u00e4henee vuosien my\u00f6t\u00e4, mit\u00e4 se tekee energiallesi, mielialallesi ja ulkon\u00e4\u00f6llesi, ja miten ANDUFIT, patjasi alle asetettava hierontamoduuli, auttaa sinua nukkumaan syvemmin.<\/p>\n                <div class=\"byline\">\n                    <img loading=\"lazy\" decoding=\"async\" class=\"avatar\" src=\"https:\/\/nl.andufit.com\/wp-content\/uploads\/sites\/2\/2026\/10\/dr-roland-portrait.webp\" width=\"44\" height=\"44\" alt=\"\">\n                    <div>\n                        <b>Yhteisty\u00f6ss\u00e4 tri Roland Stutzin kanssa<\/b>\n                        <span class=\"byline-role\">Urheilutieteilij\u00e4 ja Andullation\u00aein tieteellisen neuvoston puheenjohtaja<\/span>\n                    <\/div>\n                <\/div>\n                <figure class=\"hero-fig\">\n                    <img decoding=\"async\" src=\"https:\/\/nl.andufit.com\/wp-content\/uploads\/sites\/2\/2026\/10\/Man_sleeping_on_teal_bed-2.jpg\" width=\"1200\" height=\"896\" alt=\"Mies nukkuu syv\u00e4sti pime\u00e4ss\u00e4 makuuhuoneessa, kun ANDUFIT-hierontamoduulin pehme\u00e4t v\u00e4r\u00e4htelyt kulkevat n\u00e4kyv\u00e4sti patjan l\u00e4pi\" fetchpriority=\"high\">\n                    <figcaption>Pehme\u00e4t Andullation\u00ae-v\u00e4r\u00e4htelyt patjan alla olevasta ANDUFIT-hierontamoduulista, kun vaivut syv\u00e4\u00e4n uneen.<\/figcaption>\n                <\/figure>\n            <\/div>\n        <\/section>\n\n        <article>\n            <div class=\"col\">\n                <h2 style=\"margin-top:.8em\">Kahdeksan tuntia s\u00e4ngyss\u00e4, ja silti v\u00e4synyt<\/h2>\n                <p class=\"lead\">Her\u00e4tyskello soi, ja tuntuu kuin olisit juuri nukahtanut. Sait tuntisi t\u00e4yteen, ehk\u00e4 jopa enemm\u00e4n kuin ennen. Silti on vaikea p\u00e4\u00e4st\u00e4 vauhtiin. Sen n\u00e4kee peilist\u00e4kin: silm\u00e4pussit, harmaa iho, kasvot, jotka n\u00e4ytt\u00e4v\u00e4t vanhemmilta kuin milt\u00e4 tunnet olosi. Ja jo puoleenp\u00e4iv\u00e4\u00e4n menness\u00e4 energia hiipuu.<\/p>\n                <p>Moni ajattelee nukkuvansa yksinkertaisesti liian v\u00e4h\u00e4n. He menev\u00e4t aikaisemmin nukkumaan, ostavat uuden patjan tai kokeilevat melatoniinia. Useimmilla ongelma ei kuitenkaan ole tuntien m\u00e4\u00e4r\u00e4. Se on siin\u00e4, kuinka syvi\u00e4 ne tunnit ovat.<\/p>\n\n                <h2>Et nuku v\u00e4hemm\u00e4n, nukut kevyemmin<\/h2>\n                <div class=\"stat\">\n                    <div class=\"num\">80\u00a0%<\/div>\n                    <p>\n                        v\u00e4hemm\u00e4n syv\u00e4\u00e4 unta miehill\u00e4 20 ja 50 ik\u00e4vuoden v\u00e4lill\u00e4. 16\u201325-vuotiailla syv\u00e4\u00e4 unta oli 19\u00a0% unesta, 36\u201350-vuotiailla en\u00e4\u00e4 3\u00a0%. Loput muuttui kevyemm\u00e4ksi uneksi.\n                        <span class=\"src\">Van Cauter ym., JAMA, 2000<\/span>\n                    <\/p>\n                <\/div>\n                <p>Naisilla v\u00e4heneminen on hitaampaa. He nukkuvat keskim\u00e4\u00e4rin syvemmin kuin miehet, mutta heill\u00e4 on useammin levottomia \u00f6it\u00e4: nukahtaminen on vaikeampaa ja her\u00e4\u00e4misi\u00e4 on enemm\u00e4n, erityisesti vaihdevuosien aikaan.<\/p>\n                <p>Syv\u00e4 uni on vaihe, jolloin kehosi todella palautuu. Silloin se tuottaa hormoneja, jotka korjaavat lihaksia, ihoa ja kudoksia. Jos unesi on kevyemp\u00e4\u00e4 tai levottomampaa, makaat s\u00e4ngyss\u00e4 yht\u00e4 kauan, mutta pienempi osa y\u00f6st\u00e4 todella tekee ty\u00f6t\u00e4 hyv\u00e4ksesi.<\/p>\n                <p>Salakavalaa on se, ettet huomaa sit\u00e4 sill\u00e4 hetkell\u00e4. Et v\u00e4ltt\u00e4m\u00e4tt\u00e4 her\u00e4\u00e4 useammin. Nukut vain v\u00e4hemm\u00e4n syv\u00e4sti, ja tunnet sen vasta seuraavana aamuna.<\/p>\n\n                <h2>Mit\u00e4 liian v\u00e4h\u00e4inen syv\u00e4 uni tekee sinulle<\/h2>\n                <p>Syv\u00e4n unen puute ei n\u00e4y y\u00f6ll\u00e4, vaan p\u00e4iv\u00e4ll\u00e4. Se hiipii huomaamatta, ja siksi moni laittaa sen stressin, kiireen tai yksinkertaisesti i\u00e4n piikkiin.<\/p>\n                <div class=\"tried\">\n                    <div>\n                        <h3>\n                            V\u00e4synyt, vaikka nukuit koko y\u00f6n \n                            <em>energia<\/em>\n                        <\/h3>\n                        <p>Ilman riitt\u00e4v\u00e4\u00e4 syv\u00e4\u00e4 unta kehosi ei palaudu kunnolla. Her\u00e4\u00e4t ilman energiaa, ja puoleenp\u00e4iv\u00e4\u00e4n menness\u00e4 olet jo poikki.<\/p>\n                    <\/div>\n                    <div>\n                        <h3>\n                            Huonompi mieliala, heikompi keskittyminen \n                            <em>mieliala<\/em>\n                        <\/h3>\n                        <p>Levottoman y\u00f6n j\u00e4lkeen \u00e4rsyynnyt helpommin ja olet v\u00e4hemm\u00e4n positiivinen. Syv\u00e4 uni auttaa aivojasi my\u00f6s k\u00e4sittelem\u00e4\u00e4n p\u00e4iv\u00e4\u00e4 ja poistamaan kuona-aineita. Sen puute n\u00e4kyy keskittymisess\u00e4, muistissa ja tuottavuudessa.<\/p>\n                    <\/div>\n                    <div>\n                        <h3>\n                            N\u00e4yt\u00e4t ik\u00e4\u00e4si vanhemmalta \n                            <em>ulkon\u00e4k\u00f6<\/em>\n                        <\/h3>\n                        <p>Syv\u00e4 uni on kehosi y\u00f6llinen huolto, my\u00f6s ihosi. Jos nukut huonosti, se n\u00e4kyy silm\u00e4pusseina, harmaana ihona ja juonteina.<\/p>\n                    <\/div>\n                    <div>\n                        <h3>\n                            Hitaampi palautuminen \n                            <em>keho<\/em>\n                        <\/h3>\n                        <p>Syv\u00e4n unen aikana kehosi tuottaa hormoneja, jotka korjaavat lihaksia, ihoa ja kudoksia. V\u00e4hemm\u00e4n syv\u00e4\u00e4 unta tarkoittaa heikompaa palautumista kiireisen p\u00e4iv\u00e4n tai liikunnan j\u00e4lkeen.<\/p>\n                    <\/div>\n                <\/div>\n                <p>Hyv\u00e4 uutinen: syv\u00e4 uni ei ole pysyv\u00e4 ominaisuus. Se, kuinka rentoutuneena aloitat y\u00f6n, ratkaisee paljon.<\/p>\n\n                <h2>Mit\u00e4 y\u00f6ll\u00e4 tapahtuu<\/h2>\n                <p>Syvin uni sijoittuu p\u00e4\u00e4osin y\u00f6n ensimm\u00e4isiin tunteihin. Siksi sill\u00e4, miten aloitat nuo ensimm\u00e4iset tunnit, on suuri merkitys. Sek\u00e4 miehill\u00e4 ett\u00e4 naisilla j\u00e4nnitys ja levottomuus ovat suurimmat esteet.<\/p>\n                <p>\n                    <strong>P\u00e4\u00e4 ja keho ovat yh\u00e4 p\u00e4\u00e4ll\u00e4.<\/strong>\n                     Kiireisen p\u00e4iv\u00e4n j\u00e4lkeen hermostosi pysyy valppaana. Syke laskee hitaammin, ja lihakset pysyv\u00e4t j\u00e4nnittynein\u00e4.\n                <\/p>\n                <p>\n                    <strong>Nukahdat, mutta vain kevyesti.<\/strong>\n                     Jos menet nukkumaan j\u00e4nnittyneen\u00e4, pysyt pidemp\u00e4\u00e4n kevyess\u00e4 unessa. Juuri ensimm\u00e4inen syv\u00e4n unen vaihe, joka palauttaa eniten, lyhenee.\n                <\/p>\n                <p>\n                    <strong>Her\u00e4\u00e4t palautumatta.<\/strong>\n                     Nukuit tuntikausia, mutta et tarpeeksi syv\u00e4sti. Siksi olet v\u00e4synyt kahdeksankin tunnin j\u00e4lkeen.\n                <\/p>\n\n                <div class=\"night\" id=\"nacht\">\n                    <p class=\"eyebrow\">Y\u00f6 unessasi<\/p>\n                    <h3>Nukkumaanmenosta her\u00e4tyskelloon<\/h3>\n                    <p class=\"sub\">Vaihda tavallisen y\u00f6n ja ANDUFIT-hierontamoduulin kanssa vietetyn y\u00f6n v\u00e4lill\u00e4.<\/p>\n                    <div class=\"toggle\" role=\"group\" aria-label=\"Valitse y\u00f6\">\n                        <button type=\"button\" aria-pressed=\"true\" data-night=\"zonder\">Tavallinen y\u00f6<\/button>\n                        <button type=\"button\" aria-pressed=\"false\" data-night=\"met\">ANDUFIT-moduulin kanssa<\/button>\n                    <\/div>\n                    <ol class=\"tl show\" data-panel=\"zonder\">\n                        <li>\n                            <time>23:00<\/time>\n                            <div>\n                                <b>Menet nukkumaan<\/b>\n                                <span>Ajatukset py\u00f6riv\u00e4t yh\u00e4 p\u00e4iv\u00e4ss\u00e4, hartiat ja selk\u00e4 ovat j\u00e4nnittyneet.<\/span>\n                            <\/div>\n                        <\/li>\n                        <li>\n                            <time>23:40<\/time>\n                            <div>\n                                <b>Vihdoin unessa<\/b>\n                                <span>Nukahdat, mutta pysyt pitk\u00e4\u00e4n kevyess\u00e4 unessa.<\/span>\n                            <\/div>\n                        <\/li>\n                        <li>\n                            <time>03:00<\/time>\n                            <div>\n                                <b>Levotonta<\/b>\n                                <span>Her\u00e4\u00e4t hetkeksi, ja nukahtaminen uudelleen kest\u00e4\u00e4.<\/span>\n                            <\/div>\n                        <\/li>\n                        <li class=\"key\">\n                            <time>07:00<\/time>\n                            <div>\n                                <b>Her\u00e4tyskello soi, olet v\u00e4synyt<\/b>\n                                <span>Tarpeeksi tunteja s\u00e4ngyss\u00e4, mutta liian v\u00e4h\u00e4n syv\u00e4\u00e4 unta todelliseen palautumiseen.<\/span>\n                            <\/div>\n                        <\/li>\n                    <\/ol>\n                    <ol class=\"tl\" data-panel=\"met\" hidden>\n                        <li>\n                            <time>22:45<\/time>\n                            <div>\n                                <b>Ohjelma 19, Nukahtaminen<\/b>\n                                <span>K\u00e4ynnist\u00e4t ohjelman patjasi alla olevasta hierontamoduulista. Pehme\u00e4t, matalataajuiset Andullation\u00ae-v\u00e4r\u00e4htelyt rentouttavat koko kehosi.<\/span>\n                            <\/div>\n                        <\/li>\n                        <li>\n                            <time>23:00<\/time>\n                            <div>\n                                <b>Ohjelma 18, Unessa pysyminen<\/b>\n                                <span>Lihakset rentoutuvat, hengitys rauhoittuu ja vaivut uneen ilman p\u00e4iv\u00e4n j\u00e4nnityksi\u00e4.<\/span>\n                            <\/div>\n                        <\/li>\n                        <li class=\"key\">\n                            <time>23:30<\/time>\n                            <div>\n                                <b>Ensimm\u00e4inen syv\u00e4 unesi<\/b>\n                                <span>Rentoutuneena siirryt helpommin y\u00f6n ensimm\u00e4iseen syv\u00e4n unen vaiheeseen.<\/span>\n                            <\/div>\n                        <\/li>\n                        <li>\n                            <time>07:00<\/time>\n                            <div>\n                                <b>Her\u00e4\u00e4t lev\u00e4nneen\u00e4<\/b>\n                                <span>Yht\u00e4 monta tuntia s\u00e4ngyss\u00e4, mutta y\u00f6, joka tekee paremmin ty\u00f6t\u00e4 hyv\u00e4ksesi. Tunnet sen, ja n\u00e4et sen peilist\u00e4.<\/span>\n                            <\/div>\n                        <\/li>\n                    <\/ol>\n                    <p class=\"verdict\" id=\"verdict\">Ero ei siis ole siin\u00e4, kuinka kauan nukut, vaan kuinka syv\u00e4sti.<\/p>\n                <\/div>\n\n                <h2>Mit\u00e4 useimmat ovat jo kokeilleet<\/h2>\n                <p>Jos her\u00e4\u00e4t v\u00e4syneen\u00e4, olet todenn\u00e4k\u00f6isesti jo kokeillut yht\u00e4 ja toista. Mik\u00e4\u00e4n niist\u00e4 ei ole v\u00e4\u00e4rin. Ne vain harvoin puuttuvat siihen, mik\u00e4 on syv\u00e4n unen tiell\u00e4: j\u00e4nnitykseen, jonka kanssa menet nukkumaan.<\/p>\n                <div class=\"tried\">\n                    <div>\n                        <h3>\n                            Ravintolis\u00e4t \n                            <em>vaihtelevat tulokset<\/em>\n                        <\/h3>\n                        <p>Melatoniini, magnesium, valeriaana, kamomilla tai CBD: moni kokeilee niit\u00e4. Melatoniini auttaa l\u00e4hinn\u00e4 siirtyneeseen rytmiin, muiden on tarkoitus auttaa rentoutumaan. Vaikutus vaihtelee paljon ihmisest\u00e4 toiseen, eiv\u00e4tk\u00e4 ne automaattisesti syvenn\u00e4 untasi.<\/p>\n                    <\/div>\n                    <div>\n                        <h3>\n                            S\u00e4\u00e4nn\u00f6llinen iltarutiini \n                            <em>edelleen perusta<\/em>\n                        <\/h3>\n                        <p>Ajoissa nukkumaan, v\u00e4hemm\u00e4n ruutuja, viile\u00e4 makuuhuone. Kaikki j\u00e4rkev\u00e4\u00e4, mutta kehon j\u00e4nnitys ei sill\u00e4 katoa.<\/p>\n                    <\/div>\n                    <div>\n                        <h3>\n                            Uusi patja \n                            <em>kallis ja ep\u00e4varma<\/em>\n                        <\/h3>\n                        <p>J\u00e4rkev\u00e4, jos vanha patjasi on todella kulunut. Mutta parhaallakin patjalla menet nukkumaan j\u00e4nnittyneen\u00e4 kiireisen p\u00e4iv\u00e4n j\u00e4lkeen.<\/p>\n                    <\/div>\n                    <div>\n                        <h3>\n                            Unil\u00e4\u00e4kkeet \n                            <em>eiv\u00e4t joka y\u00f6ksi<\/em>\n                        <\/h3>\n                        <p>Ne auttavat nukahtamaan, mutta ne on tarkoitettu lyhytaikaiseen k\u00e4ytt\u00f6\u00f6n ja l\u00e4\u00e4k\u00e4rin ohjeen mukaan. Siksi moni etsii jotain joka illaksi.<\/p>\n                    <\/div>\n                <\/div>\n\n                <h2>Mit\u00e4 tutkimus kertoo pehmeist\u00e4 v\u00e4r\u00e4htelyist\u00e4 ja unesta<\/h2>\n                <p>Soulilaiset tutkijat halusivat selvitt\u00e4\u00e4, voivatko pehme\u00e4t v\u00e4r\u00e4htelyt s\u00e4ngyss\u00e4 parantaa huonosti nukkuvien unta. 27 henkil\u00f6\u00e4 nukkui kaksi y\u00f6t\u00e4 unilaboratoriossa: yhden y\u00f6n tuskin tuntuvien, syd\u00e4men sykkeen tahtiin ajoitettujen v\u00e4r\u00e4htelyjen kanssa ja yhden y\u00f6n ilman. He eiv\u00e4t itse tienneet, kumpi y\u00f6 oli kumpi.<\/p>\n                <div class=\"bars\">\n                    <p class=\"bars-title\">Mit\u00e4 mittaukset osoittivat<\/p>\n                    <div class=\"bar-row\">\n                        <span class=\"bar-label\">Valveilla olo minuutteina y\u00f6ss\u00e4<\/span>\n                        <div class=\"bar\">\n                            <i style=\"width:100%\"><\/i>\n                            <em>Ilman 48,6<\/em>\n                        <\/div>\n                        <div class=\"bar on\">\n                            <i style=\"width:76%\"><\/i>\n                            <em>V\u00e4r\u00e4htelyjen kanssa 37,0<\/em>\n                        <\/div>\n                    <\/div>\n                    <div class=\"bar-row\">\n                        <span class=\"bar-label\">Koettu unen laatu (1\u20135)<\/span>\n                        <div class=\"bar\">\n                            <i style=\"width:46%\"><\/i>\n                            <em>Ilman 2,3<\/em>\n                        <\/div>\n                        <div class=\"bar on\">\n                            <i style=\"width:62%\"><\/i>\n                            <em>V\u00e4r\u00e4htelyjen kanssa 3,1<\/em>\n                        <\/div>\n                    <\/div>\n                    <div class=\"bar-row\">\n                        <span class=\"bar-label\">Rauhoittavan hermoston aktiivisuus syv\u00e4ss\u00e4 unessa<\/span>\n                        <div class=\"bar\">\n                            <i style=\"width:50%\"><\/i>\n                            <em>Ilman 2,94<\/em>\n                        <\/div>\n                        <div class=\"bar on\">\n                            <i style=\"width:100%\"><\/i>\n                            <em>V\u00e4r\u00e4htelyjen kanssa 5,85<\/em>\n                        <\/div>\n                    <\/div>\n                    <p class=\"fine\">Keskiarvot: Kwon ym., Frontiers in Neuroscience, 2024. Tutkimus tarkasteli v\u00e4r\u00e4htelystimulaation periaatetta, ei ANDUFITia itsess\u00e4\u00e4n.<\/p>\n                <\/div>\n                <p>Osallistujat olivat v\u00e4hemm\u00e4n aikaa hereill\u00e4 ja arvioivat unensa paremmaksi. Tutkijat havaitsivat, ett\u00e4 hermoston rauhoittava osa aktivoitui, se osa, joka laskee sykett\u00e4 ja antaa kehon palautua.<\/p>\n            <\/div>\n\n            <section class=\"sol\" id=\"oplossing\">\n                <div class=\"col\">\n                    <div class=\"sol-card\">\n                        <p class=\"eyebrow\">Ratkaisu<\/p>\n                        <h2>P\u00e4ivit\u00e4 s\u00e4nkysi hieronnalla syv\u00e4\u00e4n uneen<\/h2>\n                        <p class=\"sol-lead\">Pehmeit\u00e4, rytmikk\u00e4it\u00e4 v\u00e4r\u00e4htelyj\u00e4 s\u00e4ngyss\u00e4 juuri silloin, kun menet nukkumaan: t\u00e4m\u00e4n periaatteen l\u00f6yd\u00e4t ANDUFITista, 20 ohjelman hierontamoduulista, jonka liu\u2019utat patjan tai sijauspatjan alle.<\/p>\n                        <div class=\"progs\">\n                            <div>\n                                <span class=\"pnum\">P19<\/span>\n                                <div>\n                                    <b>Nukahtaminen<\/b>\n                                    <span>Rentouttaa koko kehon ja auttaa nukahtamaan nopeasti.<\/span>\n                                <\/div>\n                            <\/div>\n                            <div>\n                                <span class=\"pnum\">P18<\/span>\n                                <div>\n                                    <b>Unessa pysyminen<\/b>\n                                    <span>Auttaa rentoutumaan paremman unenlaadun saavuttamiseksi koko y\u00f6n ajan.<\/span>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n\n                        <figure class=\"sol-hero\">\n                            <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nl.andufit.com\/wp-content\/uploads\/sites\/2\/2026\/10\/andufit-boxspring-two-modules.webp\" width=\"1080\" height=\"810\" alt=\"Jenkkis\u00e4nky, jonka patja on nostettu, ja sen alla kaksi ANDUFIT-moduulia hehkuvine hierontavy\u00f6hykkeineen\">\n                            <span class=\"chip\" style=\"left:6%;top:63%\">Patjan tai sijauspatjan alle<\/span>\n                            <span class=\"chip\" style=\"right:6%;top:80%\">Vain 7 cm korkea<\/span>\n                        <\/figure>\n\n                        <h3>N\u00e4in se toimii<\/h3>\n                        <figure class=\"frame\">\n                            <video autoplay muted loop playsinline preload=\"metadata\" poster=\"https:\/\/nl.andufit.com\/wp-content\/uploads\/sites\/2\/2026\/10\/andufit-how-it-works-mattress-poster.webp\" style=\"aspect-ratio:16\/9\" aria-label=\"Animaatio: patja laskeutuu ANDUFIT-moduulin p\u00e4\u00e4lle, ja v\u00e4r\u00e4htelyt kulkevat patjan l\u00e4pi sen p\u00e4\u00e4ll\u00e4 makaavaan naiseen\" data-video=\"werking\">\n                                <source src=\"https:\/\/nl.andufit.com\/wp-content\/uploads\/sites\/2\/2026\/10\/andufit-how-it-works-mattress.mp4\" type=\"video\/mp4\">\n                            <\/video>\n                        <\/figure>\n                        <p>Pehme\u00e4t, matalataajuiset Andullation\u00ae-v\u00e4r\u00e4htelyt kulkevat patjan l\u00e4pi seitsem\u00e4n moottorin avulla viiteen kehon vy\u00f6hykkeeseen, hartioista pohkeisiin. Ne auttavat lihaksia rentoutumaan ja rauhoittavat kehoa. Samaa teknologiaa k\u00e4ytet\u00e4\u00e4n my\u00f6s fysioterapiassa.<\/p>\n                        <div class=\"specs\">\n                            <div>\n                                <b>Sopii jokaiseen s\u00e4nkyyn<\/b>\n                                <span>Toimii kaikkien enint\u00e4\u00e4n 45 cm paksujen patjojen ja sijauspatjojen l\u00e4pi, jenkkis\u00e4ngyss\u00e4, s\u00e4leikk\u00f6pohjalla tai umpipohjalla.<\/span>\n                            <\/div>\n                            <div>\n                                <b>Asennettu 10 minuutissa<\/b>\n                                <span>Liu\u2019uta moduuli patjan alle, kytke kaukos\u00e4\u00e4din, ja valmista. Ty\u00f6kaluja ei tarvita.<\/span>\n                            <\/div>\n                            <div>\n                                <b>20 ohjelmaa<\/b>\n                                <span>Nukahtamisesta ja unessa pysymisest\u00e4 sel\u00e4n ja niskan rentoutukseen tai palautumiseen urheilun j\u00e4lkeen. 7 intensiteetill\u00e4, pehme\u00e4st\u00e4 voimakkaaseen.<\/span>\n                            <\/div>\n                            <div>\n                                <b>Nauti vain<\/b>\n                                <span>Yksi hierontakerta kest\u00e4\u00e4 15 minuuttia. Sin\u00e4 makaat, ANDUFIT hoitaa loput.<\/span>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <section class=\"science\">\n                <div class=\"col\">\n                    <h2>Mit\u00e4 k\u00e4ytt\u00e4j\u00e4t itse huomaavat<\/h2>\n                    <p>Andullation\u00ae on kehitetty Saksassa yhdess\u00e4 yliopistojen kanssa, ja sit\u00e4 k\u00e4ytet\u00e4\u00e4n my\u00f6s fysioterapiassa. ANDUFIT kysyi omilta k\u00e4ytt\u00e4jilt\u00e4\u00e4n, mit\u00e4 he huomaavat unessaan s\u00e4\u00e4nn\u00f6llisen k\u00e4yt\u00f6n j\u00e4lkeen.<\/p>\n                    <div class=\"study\">\n                        <span class=\"pill\">ANDUFIT-k\u00e4ytt\u00e4j\u00e4kysely<\/span>\n                        <h3>Mit\u00e4 k\u00e4ytt\u00e4j\u00e4t kertovat<\/h3>\n                        <div class=\"study-grid\">\n                            <div>\n                                <b>82\u00a0%<\/b>\n                                <span>nukahtaa helpommin<\/span>\n                            <\/div>\n                            <div>\n                                <b>79\u00a0%<\/b>\n                                <span>her\u00e4\u00e4 lev\u00e4nneemp\u00e4n\u00e4<\/span>\n                            <\/div>\n                            <div>\n                                <b>60\u00a0%<\/b>\n                                <span>kokee unensa syvemm\u00e4ksi<\/span>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <p class=\"fine\">ANDUFIT-k\u00e4ytt\u00e4jien itse raportoimia kokemuksia, ilman verrokkiryhm\u00e4\u00e4. ANDUFIT ei ole l\u00e4\u00e4kinn\u00e4llinen laite eik\u00e4 lupaa parantumista. Jos univaikeudet jatkuvat, k\u00e4\u00e4nny l\u00e4\u00e4k\u00e4rin puoleen.<\/p>\n\n                    <div class=\"reviews\">\n                        <figure>\n                            <p>\u201dEnnen her\u00e4sin monta kertaa y\u00f6ss\u00e4. Nyt nukun her\u00e4tyskelloon asti, tuskin uskon sit\u00e4.\u201d<\/p>\n                            <figcaption>Heike F., Saksa<\/figcaption>\n                        <\/figure>\n                        <figure>\n                            <p>\u201dP\u00e4\u00e4ni k\u00e4vi koko ajan ylikierroksilla. Kahdenkymmenen minuutin j\u00e4lkeen olen vain rauhallinen ja nukahdan.\u201d<\/p>\n                            <figcaption>Bert A., Belgia<\/figcaption>\n                        <\/figure>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <section class=\"couple\">\n                <div class=\"col\">\n                    <h2>Yhdess\u00e4 s\u00e4ngyss\u00e4, kummallakin oma hieronta<\/h2>\n                    <p>Jaatko s\u00e4ngyn? Silloin kummallakin on oma moduuli, kummassakin 20 ohjelmaa. Sin\u00e4 valitset Nukahtamisen, kumppanisi jotain aivan muuta.<\/p>\n                    <figure class=\"photo video\">\n                        <video autoplay muted loop playsinline preload=\"metadata\" poster=\"https:\/\/nl.andufit.com\/wp-content\/uploads\/sites\/2\/2026\/10\/andufit-couple-two-modules-poster.webp\" style=\"aspect-ratio:6\/5\" aria-label=\"Animaatio: pariskunta s\u00e4ngyss\u00e4 valitsee kumpikin oman ohjelmansa, kun kaksi ANDUFIT-moduulia toimii patjan alla\" data-video=\"koppel\">\n                            <source src=\"https:\/\/nl.andufit.com\/wp-content\/uploads\/sites\/2\/2026\/10\/andufit-couple-two-modules.mp4\" type=\"video\/mp4\">\n                        <\/video>\n                    <\/figure>\n                    <p class=\"cap\">Kaksi moduulia rinnakkain, kummassakin 20 ohjelmaa.<\/p>\n                    <div class=\"ritual\">\n                        <div>\n                            <span class=\"when\">Nukkumaan menness\u00e4<\/span>\n                            <p>Ohjelma 19, Nukahtaminen, 15 minuuttia. Kehosi rentoutuu ja nukahdat ilman p\u00e4iv\u00e4n j\u00e4nnityksi\u00e4.<\/p>\n                        <\/div>\n                        <div>\n                            <span class=\"when\">Sen j\u00e4lkeen<\/span>\n                            <p>Ohjelma 18, Unessa pysyminen. Pysyt rentoutuneena rauhallisempaa y\u00f6t\u00e4 varten.<\/p>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <div class=\"col\">\n                <section class=\"offer\" id=\"aanbod\">\n                    <h2>Kiinnostaako, mit\u00e4 ANDUFIT voi tehd\u00e4 sinulle? Kokeile 14 y\u00f6t\u00e4 omassa s\u00e4ngyss\u00e4si<\/h2>\n                    <p>Sinun ei tarvitse uskoa meit\u00e4 sanomalla. Laita ANDUFIT oman patjasi alle ja k\u00e4yt\u00e4 sit\u00e4 kaksi viikkoa niin kuin k\u00e4ytt\u00e4isit sit\u00e4 jatkossakin joka ilta. Kiinnit\u00e4 erityisesti huomiota siihen, milt\u00e4 sinusta tuntuu aamulla ja milt\u00e4 n\u00e4yt\u00e4t.<\/p>\n                    <ol class=\"trial\">\n                        <li>\n                            <b>Y\u00f6 1<\/b>\n                            <span>Valitset ohjelman 19 ja intensiteetin, joka tuntuu hyv\u00e4lt\u00e4.<\/span>\n                        <\/li>\n                        <li>\n                            <b>Viikko 1<\/b>\n                            <span>ANDUFITin kanssa nukahtamisesta tulee iltasi vakiohetki.<\/span>\n                        <\/li>\n                        <li>\n                            <b>Y\u00f6 14<\/b>\n                            <span>Sin\u00e4 p\u00e4\u00e4t\u00e4t. Jos et huomaa eroa, palautat sen maksutta ja saat koko summan takaisin.<\/span>\n                        <\/li>\n                    <\/ol>\n                    <ul>\n                        <li>\n                            <svg viewBox=\"0 0 20 20\" width=\"20\" height=\"20\" aria-hidden=\"true\">\n                                <path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                            <\/svg>\n                            Ilmainen toimitus 2\u20133 arkip\u00e4iv\u00e4ss\u00e4, ilmainen palautus\n                        <\/li>\n                        <li>\n                            <svg viewBox=\"0 0 20 20\" width=\"20\" height=\"20\" aria-hidden=\"true\">\n                                <path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                            <\/svg>\n                            Mahdollisuus maksaa eriss\u00e4\n                        <\/li>\n                    <\/ul>\n                    <a class=\"btn\" href=\"#\" data-cta=\"offer\">Katso hinta<\/a>\n                <\/section>\n\n                <section class=\"sources\">\n                    <h2>L\u00e4hteet<\/h2>\n                    <ol>\n                        <li>Van Cauter E, Leproult R, Plat L. Age-related changes in slow wave sleep and REM sleep and relationship with growth hormone and cortisol levels in healthy men. JAMA, 2000;284(7):861-868. L\u00e4hde syv\u00e4n unen v\u00e4henemiselle miehill\u00e4 ja yhteydelle palautumishormoneihin.<\/li>\n                        <li>Redline S e.a. The effects of age, sex, ethnicity, and sleep-disordered breathing on sleep architecture. Archives of Internal Medicine, 2004;164(4):406-418. L\u00e4hde miesten ja naisten syv\u00e4n unen eroille.<\/li>\n                        <li>Xie L e.a. Sleep drives metabolite clearance from the adult brain. Science, 2013;342(6156):373-377. L\u00e4hde aivojen kuona-aineiden poistumiselle unen aikana.<\/li>\n                        <li>Kwon HB e.a. Effect of closed-loop vibration stimulation on sleep quality for poor sleepers. Frontiers in Neuroscience, 2024;18:1456237. PMID 39435444. L\u00e4hde v\u00e4r\u00e4htelystimulaation tuloksille.<\/li>\n                        <li>ANDUFIT, kysely omille k\u00e4ytt\u00e4jille. Itse raportoitu, ilman verrokkiryhm\u00e4\u00e4. L\u00e4hde luvuille 82\u00a0%, 79\u00a0% ja 60\u00a0%.<\/li>\n                    <\/ol>\n                    <p class=\"fine\">T\u00e4m\u00e4 artikkeli on ANDUFITin mainos. ANDUFIT ei ole l\u00e4\u00e4kinn\u00e4llinen laite eik\u00e4 korvaa l\u00e4\u00e4k\u00e4rin neuvoja. Tulokset vaihtelevat yksil\u00f6llisesti.<\/p>\n                <\/section>\n            <\/div>\n        <\/article>\n    <\/main>\n\n    <div class=\"sticky\" id=\"sticky\" aria-hidden=\"true\">\n        <div class=\"inner\">\n            <a class=\"btn\" href=\"#\" data-cta=\"sticky\" tabindex=\"-1\">Katso hinta<\/a>\n        <\/div>\n    <\/div>\n<\/div>\n<script>\n(function() {\n    \/\/ Destination: change once per market\/page\n    \/\/ ---- Page config (same in every language) ----\n    var LP_ID = \"deep-sleep\"; \/\/ English page name, identical across all languages\n    var LP_VERSION = \"v1\"; \/\/ bump to v2, v3... for a new version of the same page\n    var CTA_URL = \"https:\/\/www.andufit.com\/checkout\/?width=90&length=200\";\n    \/\/ Language comes from the directory (\/nl\/, \/fr\/, \/de\/...), with the html lang attribute as fallback\n    \/\/ Language: html lang set by WordPress\/WPML (nl-NL, fr-BE, da-DK...), else URL directory (\/fr\/), else subdomain\n    var seg = (location.pathname.split(\"\/\")[1] || \"\").toLowerCase();\n    var sub = location.hostname.split(\".\")[0].toLowerCase();\n    var htmlLang = (document.documentElement.lang || \"\").slice(0, 2).toLowerCase();\n    var PAGE_LANG = \"fi\"; \/\/ language this file is written in, used when the page itself has no lang setting\n    var LP_LANG = htmlLang || (\/^[a-z]{2}(-[a-z]{2})?$\/.test(seg) ? seg : PAGE_LANG);\n\n    \/\/ Tracking: pushes to GTM dataLayer, picked up later for pixel + CAPI\n    window.dataLayer = window.dataLayer || [];\n    function track(name, params) {\n        var p = Object.assign({\n            event: name,\n            lp_id: LP_ID,\n            lp_version: LP_VERSION,\n            lp_lang: LP_LANG,\n            lp_key: LP_ID + \"-\" + LP_VERSION\n        }, params || {});\n        try {\n            window.dataLayer.push(p);\n        } catch (e) {}\n    }\n\n    \/\/ CTA links + click events\n    document.querySelectorAll(\"[data-cta]\").forEach(function(a) {\n        a.href = CTA_URL;\n        a.addEventListener(\"click\", function() {\n            track(\"lp_cta_click\", {\n                cta_position: a.dataset.cta\n            });\n        });\n    });\n\n    \/\/ ---- Rugcheck survey: same score, bands and Klaviyo properties as the bedcheck on andufit.com ----\n    var KLAVIYO = {\n        \"be-nl\": {\n            k: \"VQ3H6i\",\n            l: \"RGkCrC\",\n            taal: \"nl\"\n        },\n        \"be-fr\": {\n            k: \"VQ3H6i\",\n            l: \"RGkCrC\",\n            taal: \"fr\"\n        },\n        \"nl\": {\n            k: \"VWTWCN\",\n            l: \"QRrRwi\",\n            taal: \"nl\"\n        },\n        \"fr\": {\n            k: \"RX49Be\",\n            l: \"TTHgX8\",\n            taal: \"fr\"\n        },\n        \"de\": {\n            k: \"W26WX5\",\n            l: \"RKQdiz\",\n            taal: \"de\"\n        },\n        \"es\": {\n            k: \"Ryu86G\",\n            l: \"TbXjdV\",\n            taal: \"es\"\n        },\n        \"int\": {\n            k: \"U2QKtz\",\n            l: \"WBcW8Z\"\n        } \/\/ ANDUFIT (Luxembourg, Europe)\n    };\n    var SOURCE = \"Survey - \" + LP_ID; \/\/ naming: \"Survey - {page name}\"\n    var BANDS = {\n        high: {\n            t: \"Je nachten doen grotendeels hun werk\",\n            x: \"Je staat meestal op met genoeg reserve. Het verslag laat zien waar het laatste stuk herstel zit en hoe je het zo houdt.\",\n            c: \"#15803d\",\n            b: \"#22c55e\"\n        },\n        ok: {\n            t: \"Het gaat, maar niet elke nacht\",\n            x: \"De ene nacht geeft je wat je nodig hebt, de andere niet. Dat verschil zit meestal in hoe diep je lichaam \\u2019s nachts tot rust komt. Het verslag laat zien welke nachten je het meest kosten en wat eraan helpt.\",\n            c: \"#a16207\",\n            b: \"#eab308\"\n        },\n        mid: {\n            t: \"Er zit ruimte in je nachten\",\n            x: \"Een deel van je nacht gaat naar spanning in plaats van naar herstel, en dat voel je overdag. Het verslag laat zien waar dat gebeurt en wat je het eerst verandert.\",\n            c: \"#c2410c\",\n            b: \"#f97316\"\n        },\n        low: {\n            t: \"Hier valt veel te winnen\",\n            x: \"Je nachten kosten je meer dan ze opleveren, en dat stapelt op. Het verslag laat zien wat je het eerst aanpakt en welke programma\\u2019s daarbij horen.\",\n            c: \"#b3261e\",\n            b: \"#dc2626\"\n        }\n    };\n    var MSG = {\n        invalid: \"Vul een geldig e-mailadres in.\",\n        failed: \"Er ging iets mis. Probeer het nog eens.\",\n        busy: \"Een moment\"\n    };\n\n    var sv = document.getElementById(\"rugcheck\");\n    if (sv) {\n        var TOTAL = 6,\n            RESULT = 7;\n        var st = {\n                wakeup: \"\",\n                duur: \"\",\n                slaap: null,\n                klachten: null,\n                ochtend: null,\n                tried: []\n            },\n            started = false,\n            cur = 1;\n        function band(s) {\n            return s >= 80 ? \"high\" : s >= 60 ? \"ok\" : s >= 40 ? \"mid\" : \"low\";\n        }\n        function score() {\n            var v = [st.slaap, st.klachten, st.ochtend].filter(function(x) {\n                return typeof x === \"number\";\n            });\n            return v.length ? Math.round(v.reduce(function(a, b) {\n                return a + b;\n            }, 0) \/ v.length * 20) : 0;\n        }\n        function doelen() {\n            var d = [\"sleep\"]; \/\/ always sleep on this page\n            if (st.klachten !== null && st.klachten <= 2)\n                d.push(\"stress\");\n\n            if (st.ochtend !== null && st.ochtend <= 3)\n                d.push(\"energy\");\n            if (st.ochtend !== null && st.ochtend <= 2)\n                d.push(\"recovery\");\n            var order = [\"back\", \"sleep\", \"energy\", \"stress\", \"recovery\", \"muscle\"];\n            return order.filter(function(x) {\n                return d.indexOf(x) > -1;\n            });\n        }\n        function startOnce() {\n            if (!started) {\n                started = true;\n                track(\"lp_survey_start\");\n            }\n        }\n        function go(n) {\n            cur = n;\n            sv.querySelectorAll(\".sv-step\").forEach(function(s) {\n                s.hidden = (+s.dataset.s !== n);\n            });\n            sv.dataset.step = n;\n            document.getElementById(\"svNum\").textContent = Math.min(n, TOTAL);\n            document.getElementById(\"svBar\").style.width = (n >= RESULT ? 100 : n \/ TOTAL * 100) + \"%\";\n            sv.querySelector(\".sv-count\").style.visibility = n >= RESULT ? \"hidden\" : \"visible\";\n            if (n === RESULT)\n                showScore();\n            track(\"lp_survey_step\", {\n                step: n\n            });\n            var top = sv.getBoundingClientRect().top;\n            if (top < 0 || top > innerHeight * 0.6)\n                sv.scrollIntoView({\n                    behavior: \"smooth\",\n                    block: \"start\"\n                });\n        }\n        function next() {\n            setTimeout(function() {\n                go(cur + 1);\n            }, 240);\n        }\n        sv.querySelectorAll(\"[data-back]\").forEach(function(b) {\n            b.addEventListener(\"click\", function() {\n                go(Math.max(1, cur - 1));\n            });\n        });\n        sv.querySelectorAll(\"[data-go]\").forEach(function(b) {\n            b.addEventListener(\"click\", function() {\n                go(+b.dataset.go);\n            });\n        });\n\n        \/\/ single-choice questions (one tap, auto-advance)\n        sv.querySelectorAll(\"[data-q][data-v]\").forEach(function(b) {\n            b.addEventListener(\"click\", function() {\n                startOnce();\n                var q = b.dataset.q;\n                sv.querySelectorAll('[data-q=\"' + q + '\"][data-v]').forEach(function(o) {\n                    o.setAttribute(\"aria-checked\", o === b ? \"true\" : \"false\");\n                });\n                st[q] = b.dataset.v;\n                next();\n            });\n        });\n\n        \/\/ 1-5 scales (one tap, auto-advance)\n        sv.querySelectorAll(\".sv-scale\").forEach(function(q) {\n            var box = q.querySelector(\".sv-nums\"),\n                key = q.dataset.q,\n                label = q.closest(\".sv-step\").querySelector(\"h3\").textContent;\n            for (var i = 1; i <= 5; i++) {\n                (function(v) {\n                    var b = document.createElement(\"button\");\n                    b.type = \"button\";\n                    b.textContent = v;\n                    b.setAttribute(\"aria-pressed\", \"false\");\n                    b.setAttribute(\"aria-label\", label + \" \" + v);\n                    b.addEventListener(\"click\", function() {\n                        startOnce();\n                        st[key] = v;\n                        box.querySelectorAll(\"button\").forEach(function(x) {\n                            x.setAttribute(\"aria-pressed\", x === b ? \"true\" : \"false\");\n                        });\n                        next();\n                    });\n                    box.appendChild(b);\n                })(i);\n            }\n        });\n\n        \/\/ what have you tried (optional, multi-select; \"nothing\" is exclusive)\n        var chips = sv.querySelectorAll(\"[data-chip]\");\n        chips.forEach(function(c) {\n            c.addEventListener(\"click\", function() {\n                var on = c.getAttribute(\"aria-pressed\") !== \"true\";\n                if (on && c.dataset.chip === \"nothing\")\n                    chips.forEach(function(x) {\n                        x.setAttribute(\"aria-pressed\", \"false\");\n                    });\n                if (on && c.dataset.chip !== \"nothing\")\n                    sv.querySelector('[data-chip=\"nothing\"]').setAttribute(\"aria-pressed\", \"false\");\n                c.setAttribute(\"aria-pressed\", on ? \"true\" : \"false\");\n                st.tried = [].filter.call(chips, function(x) {\n                    return x.getAttribute(\"aria-pressed\") === \"true\";\n                }).map(function(x) {\n                    return x.dataset.chip;\n                });\n            });\n        });\n        sv.querySelector(\"[data-finish]\").addEventListener(\"click\", function() {\n            go(RESULT);\n        });\n\n        \/\/ result\n        function showScore() {\n            var s = score(),\n                k = band(s),\n                B = BANDS[k],\n                el = document.getElementById(\"svScore\");\n            sv.style.setProperty(\"--band-text\", B.c);\n            sv.style.setProperty(\"--band-bar\", B.b);\n            document.getElementById(\"svBandTitle\").textContent = B.t;\n            document.getElementById(\"svBandText\").textContent = B.x;\n            var meter = document.getElementById(\"svMeter\");\n            meter.style.width = \"0\";\n            setTimeout(function() {\n                meter.style.width = s + \"%\";\n            }, 60);\n            if (matchMedia(\"(prefers-reduced-motion: reduce)\").matches) {\n                el.textContent = s;\n            }\n            else {\n                var t0 = null;\n                (function f(t) {\n                    if (!t0)\n                        t0 = t;\n                    var p = Math.min((t - t0) \/ 900, 1);\n                    el.textContent = Math.round(s * p);\n                    if (p < 1)\n                        requestAnimationFrame(f);\n                })(performance.now());\n            }\n            track(\"lp_survey_score\", {\n                score: s,\n                band: k,\n                wakeup: st.wakeup,\n                duur: st.duur,\n                tried: st.tried.join(\",\")\n            });\n        }\n\n        var form = document.getElementById(\"svForm\"),\n            err = document.getElementById(\"svErr\"),\n            btn = document.getElementById(\"svSubmit\");\n        \/\/ Country for Klaviyo: browser time zone first, store subdomain as fallback\n        function tz() {\n            try {\n                return Intl.DateTimeFormat().resolvedOptions().timeZone || \"\";\n            } catch (x) {\n                return \"\";\n            }\n        }\n        function market() {\n            var z = tz(),\n                TZ = {\n                    \"Europe\/Brussels\": \"be\",\n                    \"Europe\/Amsterdam\": \"nl\",\n                    \"Europe\/Berlin\": \"de\",\n                    \"Europe\/Vienna\": \"de\",\n                    \"Europe\/Paris\": \"fr\",\n                    \"Europe\/Madrid\": \"es\",\n                    \"Europe\/Dublin\": \"ie\",\n                    \"Europe\/Luxembourg\": \"lu\",\n                    \"Europe\/Copenhagen\": \"dk\",\n                    \"Europe\/Stockholm\": \"se\",\n                    \"Europe\/Helsinki\": \"fi\",\n                    \"Europe\/Rome\": \"it\",\n                    \"Europe\/Lisbon\": \"pt\",\n                    \"Europe\/London\": \"uk\"\n                };\n            if (TZ[z])\n                return TZ[z];\n            if (LP_LANG === \"en\" && z.indexOf(\"America\/\") === 0)\n                return \"us\";\n            return location.hostname.split(\".\")[0].toLowerCase();\n        }\n        \/\/ email submit -> Klaviyo\n        form.addEventListener(\"submit\", function(e) {\n            e.preventDefault();\n            var email = document.getElementById(\"svEmail\").value.trim();\n            if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$\/.test(email)) {\n                err.textContent = MSG.invalid;\n                return;\n            }\n            err.textContent = \"\";\n            btn.disabled = true;\n            var label = btn.textContent;\n            btn.textContent = MSG.busy;\n            var mkt = market();\n            var cfg = KLAVIYO[mkt === \"be\" ? \"be-\" + LP_LANG : mkt];\n            \/\/ only use the country account if it sends emails in this page's language, otherwise the language's home account\n            if (!cfg || (cfg.taal && cfg.taal !== LP_LANG))\n                cfg = KLAVIYO[LP_LANG] || KLAVIYO.int;\n            var s = score();\n            var props = {\n                \/\/ generic: which survey, which version, which market (overwritten by the next survey)\n                language: (mkt === \"us\" ? \"us\" : (cfg.taal || LP_LANG || \"en\")),\n                survey_last: LP_ID,\n                survey_version: LP_VERSION,\n                market: mkt,\n                \/\/ page-specific answers (prefix stays unique per page)\n                deep_sleep_wakeup: st.wakeup,\n                deep_sleep_fall_asleep: st.duur,\n                deep_sleep_tried: st.tried.join(\",\"),\n                deep_sleep_sleep: st.slaap || 0,\n                deep_sleep_tension: st.klachten || 0,\n                deep_sleep_morning: st.ochtend || 0,\n                deep_sleep_score: s,\n                \/\/ read by the \"Verslag dr. Stutz\" email template, keep until the template uses the English keys\n                herstelscore: s,\n                check_slaap: st.slaap || 0,\n                check_klachten: st.klachten || 0,\n                check_ochtend: st.ochtend || 0,\n                check_doelen: doelen().join(\",\")\n            };\n            fetch(\"https:\/\/a.klaviyo.com\/client\/subscriptions?company_id=\" + encodeURIComponent(cfg.k), {\n                method: \"POST\",\n                headers: {\n                    \"Content-Type\": \"application\/vnd.api+json\",\n                    \"revision\": \"2024-10-15\"\n                },\n                body: JSON.stringify({\n                    data: {\n                        type: \"subscription\",\n                        attributes: {\n                            custom_source: SOURCE,\n                            profile: {\n                                data: {\n                                    type: \"profile\",\n                                    attributes: {\n                                        email: email,\n                                        properties: props\n                                    }\n                                }\n                            }\n                        },\n                        relationships: {\n                            list: {\n                                data: {\n                                    type: \"list\",\n                                    id: cfg.l\n                                }\n                            }\n                        }\n                    }\n                })\n            }).then(function(r) {\n                if (!r.ok)\n                    throw new Error(\"Klaviyo \" + r.status);\n                form.hidden = true;\n                document.getElementById(\"svDone\").hidden = false;\n                track(\"lp_survey_submit\", {\n                    score: s,\n                    band: band(s)\n                });\n                window.dataLayer.push({\n                    event: \"klaviyo_popup_signup\",\n                    popup_source: SOURCE\n                });\n            }).catch(function() {\n                err.textContent = MSG.failed;\n                btn.disabled = false;\n                btn.textContent = label;\n            });\n        });\n    }\n\n    \/\/ Night timeline toggle\n    var verdicts = {\n        zonder: \"Ero ei siis ole siin\\u00e4, kuinka kauan nukut, vaan kuinka syv\\u00e4sti.\",\n        met: \"Ei vaadi lis\\u00e4aikaa: makaat jo valmiiksi s\\u00e4ngyss\\u00e4, ja y\\u00f6si tekee paremmin ty\\u00f6t\\u00e4 hyv\\u00e4ksesi.\"\n    };\n    document.querySelectorAll(\"[data-night]\").forEach(function(btn) {\n        btn.addEventListener(\"click\", function() {\n            var k = btn.dataset.night;\n            document.querySelectorAll(\"[data-night]\").forEach(function(b) {\n                b.setAttribute(\"aria-pressed\", b === btn ? \"true\" : \"false\");\n            });\n            document.querySelectorAll(\"[data-panel]\").forEach(function(p) {\n                var on = p.dataset.panel === k;\n                p.hidden = !on;\n                p.classList.toggle(\"show\", on);\n            });\n            document.getElementById(\"verdict\").textContent = verdicts[k];\n            track(\"lp_timeline_toggle\", {\n                state: k\n            });\n        });\n    });\n\n    \/\/ Videos: play only when visible, track first view\n    document.querySelectorAll(\"video[data-video]\").forEach(function(v) {\n        var seen = false;\n        if (matchMedia(\"(prefers-reduced-motion: reduce)\").matches) {\n            v.removeAttribute(\"autoplay\");\n            v.pause();\n            v.controls = true;\n        }\n        if (\"IntersectionObserver\" in window) {\n            new IntersectionObserver(function(e) {\n                if (e[0].isIntersecting) {\n                    if (!v.controls)\n                        v.play().catch(function() {});\n                    if (!seen) {\n                        seen = true;\n                        track(\"lp_video_view\", {\n                            video: v.dataset.video\n                        });\n                    }\n                }\n                else\n                    v.pause();\n            }, {\n                threshold: .4\n            }).observe(v);\n        }\n    });\n\n    \/\/ FAQ opens\n    document.querySelectorAll(\"[data-faq]\").forEach(function(d) {\n        d.addEventListener(\"toggle\", function() {\n            if (d.open)\n                track(\"lp_faq_open\", {\n                    faq: d.dataset.faq\n                });\n        });\n    });\n\n    \/\/ Scroll depth\n    var marks = [25, 50, 75, 90],\n        hit = {};\n    function onScroll() {\n        var h = document.documentElement,\n            pct = (h.scrollTop + innerHeight) \/ h.scrollHeight * 100;\n        marks.forEach(function(m) {\n            if (pct >= m && !hit[m]) {\n                hit[m] = 1;\n                track(\"lp_scroll\", {\n                    depth: m\n                });\n            }\n        });\n    }\n    addEventListener(\"scroll\", onScroll, {\n        passive: true\n    });\n\n    \/\/ Floating CTA: appears once the product section is well in view, hides at the offer block\n    var sticky = document.getElementById(\"sticky\"),\n        sol = document.getElementById(\"oplossing\"),\n        started = false,\n        offerIn = false,\n        surveyIn = false;\n    function setSticky() {\n        var on = started && !offerIn && !surveyIn;\n        sticky.classList.toggle(\"on\", on);\n        sticky.setAttribute(\"aria-hidden\", on ? \"false\" : \"true\");\n        sticky.querySelector(\"a\").tabIndex = on ? 0 : -1;\n    }\n    function checkStart() {\n        if (!started && sol && sol.getBoundingClientRect().top < innerHeight * 0.35) {\n            started = true;\n            setSticky();\n        }\n    }\n    addEventListener(\"scroll\", checkStart, {\n        passive: true\n    });\n    checkStart();\n    if (\"IntersectionObserver\" in window) {\n        new IntersectionObserver(function(e) {\n            offerIn = e[0].isIntersecting;\n            setSticky();\n        }).observe(document.getElementById(\"aanbod\"));\n        var rc = document.getElementById(\"rugcheck\");\n        if (rc)\n            new IntersectionObserver(function(e) {\n                surveyIn = e[0].isIntersecting;\n                setSticky();\n            }).observe(rc);\n    }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Miksi her\u00e4\u00e4t v\u00e4syneen\u00e4 kahdeksan tunnin unen j\u00e4lkeenkin Nukut tarpeeksi tunteja, mutta et tarpeeksi syv\u00e4sti. Lue, miksi syv\u00e4 uni v\u00e4henee vuosien my\u00f6t\u00e4, mit\u00e4 se tekee energiallesi, mielialallesi ja ulkon\u00e4\u00f6llesi, ja miten ANDUFIT, patjasi alle asetettava hierontamoduuli, auttaa sinua nukkumaan syvemmin. Yhteisty\u00f6ss\u00e4 tri Roland Stutzin kanssa Urheilutieteilij\u00e4 ja Andullation\u00aein tieteellisen neuvoston puheenjohtaja Pehme\u00e4t Andullation\u00ae-v\u00e4r\u00e4htelyt patjan alla olevasta [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-blank-canvas.php","meta":{"footnotes":""},"class_list":["post-1211","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/pages\/1211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/comments?post=1211"}],"version-history":[{"count":2,"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/pages\/1211\/revisions"}],"predecessor-version":[{"id":1214,"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/pages\/1211\/revisions\/1214"}],"wp:attachment":[{"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/media?parent=1211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}