{"id":1215,"date":"2026-10-26T16:10:30","date_gmt":"2026-10-26T15:10:30","guid":{"rendered":"https:\/\/lu.andufit.com\/?page_id=1215"},"modified":"2026-10-26T17:18:32","modified_gmt":"2026-10-26T16:18:32","slug":"new-mattress","status":"publish","type":"page","link":"https:\/\/lu.andufit.com\/fi\/new-mattress\/","title":{"rendered":"Uusi patja? Lue t\u00e4m\u00e4 ennen kuin ostat"},"content":{"rendered":"\n<!-- ANDUFIT landing page: new-mattress 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\n#afx-lp .checks {\n    list-style: none;\n    padding: 0;\n    margin: 14px 0 18px;\n    display: grid;\n    gap: 10px\n}\n\n#afx-lp .checks li {\n    display: flex;\n    gap: 12px;\n    align-items: flex-start;\n    background: var(--soft);\n    border: 1px solid var(--line);\n    border-radius: 12px;\n    padding: 14px 16px;\n    font-size: 17px;\n    line-height: 1.5\n}\n\n#afx-lp .checks svg {\n    flex: 0 0 auto;\n    color: var(--teal);\n    margin-top: 3px\n}\n\n#afx-lp .cmp-wrap {\n    overflow-x: auto;\n    margin: 16px 0 18px;\n    border: 1px solid var(--line);\n    border-radius: 14px\n}\n\n#afx-lp .cmp {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 15px;\n    line-height: 1.4;\n}\n\n#afx-lp .cmp th, #afx-lp .cmp td {\n    padding: 12px 14px;\n    text-align: left;\n    border-bottom: 1px solid var(--line);\n    vertical-align: top\n}\n\n#afx-lp .cmp thead th {\n    background: var(--soft);\n    font-weight: 600;\n    color: var(--ink)\n}\n\n#afx-lp .cmp thead th:last-child {\n    background: var(--teal);\n    color: #fff\n}\n\n#afx-lp .cmp tbody th {\n    font-weight: 600;\n    color: var(--ink);\n    width: 34%\n}\n\n#afx-lp .cmp tbody tr:last-child th, #afx-lp .cmp tbody tr:last-child td {\n    border-bottom: 0\n}\n\n#afx-lp .cmp td.yes {\n    color: var(--teal);\n    font-weight: 600\n}\n\n#afx-lp .cmp td.no {\n    color: var(--ink-60)\n}\n\n#afx-lp .cmp td:last-child {\n    background: rgba(61, 183, 176, .08)\n}\n\n@media (max-width: 520px) {\n    #afx-lp .cmp {\n        font-size: 13.5px;\n        table-layout:fixed\n    }\n\n    #afx-lp .cmp th, #afx-lp .cmp td {\n        overflow-wrap: break-word;\n        hyphens:auto\n    }\n\n    #afx-lp .cmp th, #afx-lp .cmp td {\n        padding:10px 7px\n    }\n\n    #afx-lp .cmp tbody th, #afx-lp .cmp thead th:first-child {\n        width: 34%\n    }\n}\n\n@media (max-width: 380px) {\n    #afx-lp .cmp {\n        font-size:12.5px\n    }\n\n    #afx-lp .cmp th, #afx-lp .cmp td {\n        padding: 9px 5px\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>Uusi patja? Lue t\u00e4m\u00e4 ennen kuin ostat<\/h1>\n                <p class=\"dek\">Ennen kuin investoit uuteen patjaan: lue, mit\u00e4 se ratkaisee ja mit\u00e4 ei sel\u00e4llesi ja unellesi, ja miksi ANDUFITin, patjasi alle asetettavan hierontamoduulin, kanssa voit ehk\u00e4 yksinkertaisesti pit\u00e4\u00e4 nykyisen patjasi.<\/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\/new_mattress.jpg\" width=\"1200\" height=\"896\" alt=\"Uusi premium-patja s\u00e4nkyliikkeess\u00e4, hintalappu 2490 euroa\" fetchpriority=\"high\">\n                    <figcaption>Uusi patja on iso hankinta. Selvit\u00e4 ensin, mit\u00e4 se ratkaisee ja mit\u00e4 ei sel\u00e4llesi ja unellesi.<\/figcaption>\n                <\/figure>\n            <\/div>\n        <\/section>\n\n        <article>\n            <div class=\"col\">\n                <h2 style=\"margin-top:.8em\">J\u00e4ykk\u00e4 selk\u00e4 tai levoton y\u00f6, ja patja saa syyt niskoilleen<\/h2>\n                <p class=\"lead\">Nouset yl\u00f6s j\u00e4yk\u00e4n sel\u00e4n kanssa, tai nukut levottomasti etk\u00e4 tunne itse\u00e4si lev\u00e4nneeksi. Patja vaikuttaa loogiselta syylliselt\u00e4. Katselet kaupoissa ja verkossa ja n\u00e4et hintoja 500 eurosta yli 5\u00a0000 euroon.<\/p>\n                <p>Se on iso hankinta, tehty siin\u00e4 toivossa, ett\u00e4 her\u00e4isit toisin. Joskus uusi patja todella on ratkaisu. Usein ei. Alla luet, miten eron tunnistaa, mit\u00e4 tutkimus sanoo oikeasta patjasta ja mit\u00e4 patja ei miss\u00e4\u00e4n tapauksessa pysty tekem\u00e4\u00e4n.<\/p>\n\n                <h2>Milloin uusi patja on j\u00e4rkev\u00e4<\/h2>\n                <p>Patja kuluu. Jos tunnistat useamman n\u00e4ist\u00e4 merkeist\u00e4, vaihtaminen on hyv\u00e4 ajatus:<\/p>\n                <ul class=\"checks\">\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                        <span>\n                            <b>Patjasi on yli 8\u201310 vuotta vanha.<\/b>\n                             Silloin se on menett\u00e4nyt suuren osan tuestaan.\n                        <\/span>\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                        <span>\n                            <b>N\u00e4et tai tunnet painauman.<\/b>\n                             Kohdasta, jossa makaat, patja on painunut.\n                        <\/span>\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                        <span>\n                            <b>Nukut paremmin hotellissa.<\/b>\n                             Silloin syy on todenn\u00e4k\u00f6isesti omassa s\u00e4ngyss\u00e4si.\n                        <\/span>\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                        <span>\n                            <b>Her\u00e4\u00e4t, koska makaat ep\u00e4mukavasti.<\/b>\n                             K\u00e4\u00e4nnyt usein etsiess\u00e4si hyv\u00e4\u00e4 asentoa.\n                        <\/span>\n                    <\/li>\n                <\/ul>\n                <p>Tunnistatko n\u00e4ist\u00e4 vain v\u00e4h\u00e4n tai et mit\u00e4\u00e4n, mutta nouset silti j\u00e4yk\u00e4n sel\u00e4n kanssa tai et tunne itse\u00e4si lev\u00e4nneeksi? Silloin syy ei todenn\u00e4k\u00f6isesti ole patjassasi, eik\u00e4 uusi patja sit\u00e4 ratkaise.<\/p>\n\n                <h2>Kovempi ei ole parempi: mit\u00e4 tutkimus sanoo<\/h2>\n                <p>Pitk\u00e4\u00e4n ajateltiin, ett\u00e4 kova patja on paras sel\u00e4lle. Tutkimus n\u00e4ytt\u00e4\u00e4 muuta.<\/p>\n                <div class=\"stat\">\n                    <div class=\"num\">51\u00a0%<\/div>\n                    <p>\n                        selk\u00e4vaivaisista koki 90 p\u00e4iv\u00e4n j\u00e4lkeen v\u00e4hemm\u00e4n vaivaa s\u00e4ngyss\u00e4 keskikovalla patjalla. Kovalla patjalla luku oli 40\u00a0%. Mukana oli 313 aikuista.\n                        <span class=\"src\">Kovacs ym., The Lancet, 2003<\/span>\n                    <\/p>\n                <\/div>\n                <p>Laaja 39 tutkimuksen katsaus p\u00e4\u00e4tyi samaan: keskikova patja on paras mukavuuden, unen laadun ja sel\u00e4n asennon kannalta. Ja hinta kertoo siit\u00e4 vain v\u00e4h\u00e4n. Kallis patja ei automaattisesti ole parempi sel\u00e4llesi tai unellesi.<\/p>\n\n                <h2>Mit\u00e4 patja ei pysty tekem\u00e4\u00e4n<\/h2>\n                <p>Paraskin patja on passiivinen. Se tukee sinua, mutta ei tee muuta. Ja juuri siin\u00e4 on ongelma niille, jotka nousevat j\u00e4yk\u00e4n sel\u00e4n kanssa tai her\u00e4\u00e4v\u00e4t v\u00e4synein\u00e4.<\/p>\n                <div class=\"tried\">\n                    <div>\n                        <h3>\n                            Sel\u00e4llesi \n                            <em>j\u00e4ykkyys<\/em>\n                        <\/h3>\n                        <p>Lihakset, jotka ovat jo j\u00e4nnittyneet menness\u00e4si makuulle, pysyv\u00e4t j\u00e4nnittynein\u00e4. Makaat l\u00e4hes liikkumatta kahdeksan tuntia, selk\u00e4lihasten verenkierto hidastuu, ja yl\u00f6s noustessa selk\u00e4 tuntuu j\u00e4yk\u00e4lt\u00e4. Mill\u00e4 patjalla tahansa.<\/p>\n                    <\/div>\n                    <div>\n                        <h3>\n                            Unellesi \n                            <em>syvyys<\/em>\n                        <\/h3>\n                        <p>P\u00e4iv\u00e4n j\u00e4nnitykset kulkevat mukanasi s\u00e4nkyyn. Jos menet nukkumaan j\u00e4nnittyneen\u00e4, pysyt pidemp\u00e4\u00e4n kevyess\u00e4 unessa, oli patja kuinka hyv\u00e4 tahansa.<\/p>\n                    <\/div>\n                <\/div>\n                <p>Patja on siis hyv\u00e4 perusta, mutta se ei poista j\u00e4nnityst\u00e4 kehostasi. Siihen tarvitset jotain, joka rentouttaa aktiivisesti juuri oikealla hetkell\u00e4: kun menet nukkumaan ja ennen kuin nouset yl\u00f6s.<\/p>\n\n                <h2>Uusi patja, ANDUFIT vai molemmat?<\/h2>\n                <div class=\"cmp-wrap\">\n                    <table class=\"cmp\">\n                        <thead>\n                            <tr>\n                                <th><\/th>\n                                <th>Uusi patja<\/th>\n                                <th>ANDUFIT<\/th>\n                            <\/tr>\n                        <\/thead>\n                        <tbody>\n                            <tr>\n                                <th>Tuki sel\u00e4lle<\/th>\n                                <td class=\"yes\">Kyll\u00e4, jos keskikova<\/td>\n                                <td>Toimii nykyisen patjasi kanssa<\/td>\n                            <\/tr>\n                            <tr>\n                                <th>Rentouttaa j\u00e4nnit\u00adtyneet lihakset<\/th>\n                                <td class=\"no\">Ei<\/td>\n                                <td class=\"yes\">Kyll\u00e4, pehmeill\u00e4 v\u00e4r\u00e4h\u00adtelyill\u00e4<\/td>\n                            <\/tr>\n                            <tr>\n                                <th>Auttaa nukah\u00adtamaan<\/th>\n                                <td class=\"no\">Ei<\/td>\n                                <td class=\"yes\">Kyll\u00e4, ohjelmalla 19<\/td>\n                            <\/tr>\n                            <tr>\n                                <th>Joka ilta ja aamu<\/th>\n                                <td>Passiivinen, koko y\u00f6n<\/td>\n                                <td class=\"yes\">Aktiivinen, kun itse haluat<\/td>\n                            <\/tr>\n                            <tr>\n                                <th>Oma s\u00e4nky s\u00e4ilyy<\/th>\n                                <td class=\"no\">Ei, vaihdat patjan<\/td>\n                                <td class=\"yes\">Kyll\u00e4<\/td>\n                            <\/tr>\n                            <tr>\n                                <th>Valinnat<\/th>\n                                <td>Yksi kiinte\u00e4 kovuus<\/td>\n                                <td class=\"yes\">20 ohjelmaa<\/td>\n                            <\/tr>\n                            <tr>\n                                <th>Hinta<\/th>\n                                <td>500 eurosta yli 5\u00a0000 euroon<\/td>\n                                <td>Alkaen 990\u00a0\u20ac<\/td>\n                            <\/tr>\n                        <\/tbody>\n                    <\/table>\n                <\/div>\n                <p>\n                    <strong>Onko patjasi kulunut?<\/strong>\n                     Vaihda se, ja valitse keskikova. ANDUFIT toimii my\u00f6s uuden patjasi alla. \n                    <strong>Onko patjasi viel\u00e4 hyv\u00e4?<\/strong>\n                     Silloin ANDUFIT on fiksumpi investointi: ratkaiset sen, mihin patja ei pysty, ja pid\u00e4t oman s\u00e4nkysi.\n                <\/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 rentoon selk\u00e4\u00e4n ja syv\u00e4\u00e4n uneen<\/h2>\n                        <p class=\"sol-lead\">ANDUFIT on 20 ohjelman hierontamoduuli, jonka liu\u2019utat patjan tai sijauspatjan alle. Pehme\u00e4t, matalataajuiset v\u00e4r\u00e4htelyt rentouttavat kehoasi juuri siell\u00e4, miss\u00e4 patja ei riit\u00e4.<\/p>\n                        <div class=\"progs\">\n                            <div>\n                                <span class=\"pnum\">P08<\/span>\n                                <div>\n                                    <b>Selk\u00e4<\/b>\n                                    <span>Lievitt\u00e4\u00e4 sel\u00e4n lihasj\u00e4nnityst\u00e4 ja rentouttaa selk\u00e4lihaksia.<\/span>\n                                <\/div>\n                            <\/div>\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\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>Sel\u00e4n ja niskan rentoutuksesta nukahtamiseen, unessa pysymiseen 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>Andullation\u00ae-teknologia, tieteeseen perustuva<\/h2>\n                    <p>Andullation\u00ae on kehitetty Saksassa yhdess\u00e4 yliopistojen kanssa, ja sit\u00e4 k\u00e4ytet\u00e4\u00e4n my\u00f6s fysioterapiassa. Teknologiaa on lis\u00e4ksi tutkittu riippumattomasti.<\/p>\n                    <p>PubMediss\u00e4 julkaistu vertaisarvioitu tutkimus seurasi 50 henkil\u00f6\u00e4, jotka saivat viisi puolen tunnin andullaatiohierontaa. Tutkijat mittasivat ennen ja j\u00e4lkeen, miten osallistujat kokivat kivun, milt\u00e4 heist\u00e4 tuntui ja kuinka paljon painetta heid\u00e4n alaselk\u00e4ns\u00e4 kesti.<\/p>\n                    <div class=\"study\">\n                        <span class=\"pill\">Vertaisarvioitu \u00b7 PubMed<\/span>\n                        <h3>Mik\u00e4 muuttui viiden kerran j\u00e4lkeen<\/h3>\n                        <p class=\"meta\">Parras-Molt\u00f3 A, Ribas-Serna J. Dose-Response, 2019;17(2). PMID 31105478.<\/p>\n                        <div class=\"study-grid\">\n                            <div>\n                                <b>-52,3\u00a0%<\/b>\n                                <span>kivun kokeminen<\/span>\n                            <\/div>\n                            <div>\n                                <b>+45,1\u00a0%<\/b>\n                                <span>hyvinvointi<\/span>\n                            <\/div>\n                            <div>\n                                <b>+34,5\u00a0%<\/b>\n                                <span>alasel\u00e4n kipukynnys<\/span>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <p class=\"fine\">Tutkimus 50 henkil\u00f6ll\u00e4 ilman verrokkiryhm\u00e4\u00e4, julkaistu PubMediss\u00e4. ANDUFIT ei ole l\u00e4\u00e4kinn\u00e4llinen laite eik\u00e4 lupaa parantumista. Jos vaivat jatkuvat, k\u00e4\u00e4nny l\u00e4\u00e4k\u00e4rin puoleen.<\/p>\n                    <p>Ent\u00e4 unesi? Omille k\u00e4ytt\u00e4jille tehdyss\u00e4 kyselyss\u00e4 82\u00a0% kertoi nukahtavansa helpommin ja 79\u00a0% her\u00e4\u00e4v\u00e4ns\u00e4 lev\u00e4nneemp\u00e4n\u00e4.<\/p>\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 Sel\u00e4n, kumppanisi Nukahtamisen. Siihen yksi patja ei pysty.<\/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\">Illalla<\/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\">Aamulla<\/span>\n                            <p>Ohjelma 8, Selk\u00e4, 15 minuuttia, jo ennen kuin nouset. Selk\u00e4si rentoutuu, kun viel\u00e4 makaat.<\/p>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/section>\n\n            <div class=\"col\">\n                <section class=\"offer\" id=\"aanbod\">\n                    <h2>Ep\u00e4r\u00f6itk\u00f6 viel\u00e4? Kokeile ANDUFITia 14 y\u00f6t\u00e4 omassa s\u00e4ngyss\u00e4si<\/h2>\n                    <p>Ennen kuin k\u00e4yt\u00e4t tuhansia euroja uuteen patjaan, voit kokeilla ANDUFITia ensin nykyisell\u00e4 patjallasi. K\u00e4yt\u00e4 sit\u00e4 kaksi viikkoa niin kuin k\u00e4ytt\u00e4isit sit\u00e4 jatkossakin joka p\u00e4iv\u00e4. Kiinnit\u00e4 erityisesti huomiota siihen, miten nouset aamulla.<\/p>\n                    <ol class=\"trial\">\n                        <li>\n                            <b>Y\u00f6 1<\/b>\n                            <span>Valitset illalla ohjelman 19 ja aamulla ohjelman 8, sill\u00e4 intensiteetill\u00e4, joka tuntuu hyv\u00e4lt\u00e4.<\/span>\n                        <\/li>\n                        <li>\n                            <b>Viikko 1<\/b>\n                            <span>Illasta ja aamusta tulee vakiohetki\u00e4 sel\u00e4llesi ja unellesi.<\/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>Kovacs FM e.a. Effect of firmness of mattress on chronic non-specific low-back pain: randomised, double-blind, controlled, multicentre trial. The Lancet, 2003;362(9396):1599-1604. L\u00e4hde keskikovan ja kovan patjan vertailulle.<\/li>\n                        <li>Caggiari G e.a. What type of mattress should be chosen to avoid back pain and improve sleep quality? Review of the literature. Journal of Orthopaedics and Traumatology, 2021;22:51. L\u00e4hde 39 tutkimuksen katsaukselle.<\/li>\n                        <li>Caggiari G e.a. Mattress impact on lifestyle and back pain: a 25-year orthopedic literature review guideline. Journal of Orthopaedics and Traumatology, 2026. L\u00e4hde merkeille patjasta, joka ei en\u00e4\u00e4 tue riitt\u00e4v\u00e4sti.<\/li>\n                        <li>Parras-Molt\u00f3 A, Ribas-Serna J. Dose-Response, 2019;17(2). PMID 31105478. L\u00e4hde Andullation\u00aein tuloksille.<\/li>\n                        <li>ANDUFIT, kysely omille k\u00e4ytt\u00e4jille. Itse raportoitu, ilman verrokkiryhm\u00e4\u00e4. L\u00e4hde luvuille 82\u00a0% ja 79\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. Patjojen hinnat ovat suuntaa antavia. 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 = \"new-mattress\"; \/\/ 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: \"Het verschil zit dus niet in hoe lang je slaapt, maar in hoe diep.\",\n        met: \"Geen extra tijd nodig: je ligt toch al in bed, en je nacht werkt beter voor je.\"\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>Uusi patja? Lue t\u00e4m\u00e4 ennen kuin ostat Ennen kuin investoit uuteen patjaan: lue, mit\u00e4 se ratkaisee ja mit\u00e4 ei sel\u00e4llesi ja unellesi, ja miksi ANDUFITin, patjasi alle asetettavan hierontamoduulin, kanssa voit ehk\u00e4 yksinkertaisesti pit\u00e4\u00e4 nykyisen patjasi. Yhteisty\u00f6ss\u00e4 tri Roland Stutzin kanssa Urheilutieteilij\u00e4 ja Andullation\u00aein tieteellisen neuvoston puheenjohtaja Uusi patja on iso hankinta. Selvit\u00e4 ensin, mit\u00e4 [&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-1215","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/pages\/1215","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=1215"}],"version-history":[{"count":2,"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/pages\/1215\/revisions"}],"predecessor-version":[{"id":1217,"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/pages\/1215\/revisions\/1217"}],"wp:attachment":[{"href":"https:\/\/lu.andufit.com\/fi\/wp-json\/wp\/v2\/media?parent=1215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}