.bed-diagnostic { background:#f7f4ee; color:var(--ink); padding:32px 0 64px; overflow-anchor:none; }
.bed-diagnostic [hidden] { display:none!important; }
.bed-diagnostic__shell { width:min(1240px,calc(100% - 64px)); margin:auto; }
.bed-diagnostic__breadcrumb { display:flex; gap:14px; font-size:12px; margin-bottom:25px; }
.bed-diagnostic__breadcrumb a { color:inherit; }
.bed-diagnostic__layout { display:grid; grid-template-columns:.85fr 1.15fr; align-items:start; background:#fff; border:1px solid #e4ded5; }
.bed-diagnostic__intro { padding:46px 40px 30px; background:var(--navy); color:#fff; overflow:hidden; }
.bed-diagnostic__eyebrow { display:block; color:#bd884f; font-size:10px; font-weight:600; letter-spacing:.17em; line-height:1.6; }
.bed-diagnostic__intro h1 { margin:23px 0; font:600 clamp(44px,4.6vw,64px)/1.04 "Cormorant Garamond",serif; letter-spacing:-.025em; }
.bed-diagnostic__intro>p { max-width:34ch; color:#d3d7dc; font-size:13px; line-height:1.9; }
.bed-diagnostic__art { position:relative; margin:30px -40px 28px; height:245px; background:#fff; overflow:hidden; }
.bed-diagnostic__art img { width:100%; height:100%; object-fit:cover; object-position:center; }
.bed-diagnostic__halo,.bed-diagnostic__layers { display:none; }
.bed-diagnostic__promise { display:flex; flex-wrap:wrap; gap:9px 18px; padding-top:8px; font-size:10px; color:#f2e6d8; }
.bed-diagnostic__promise span+span::before { content:"·"; margin-right:15px; color:#bd884f; }
.bed-diagnostic__intro .bed-diagnostic__aside-note { margin:19px 0 0; font-size:11px; color:#aeb6c0; }
.bed-diagnostic__workspace { min-width:0; padding:43px 42px; scroll-margin-top:24px; }
.bed-diagnostic__workspace .bed-diagnostic__eyebrow { color:#926132; }
.bed-diagnostic__workspace h2 { color:var(--ink); font:600 38px/1.1 "Cormorant Garamond",serif; letter-spacing:-.018em; margin:14px 0 16px; }
.bed-diagnostic__workspace h2:focus { outline:none; }
.bed-diagnostic__welcome { padding:40px 0 30px; }
.bed-diagnostic__welcome h2 { font-size:46px; max-width:17ch; margin-top:28px; }
.bed-diagnostic__welcome>p { color:#5a626b; font-size:14px; line-height:1.9; max-width:42ch; }
.bed-diagnostic__primary { display:inline-flex; justify-content:center; align-items:center; gap:22px; min-height:50px; padding:15px 22px; border:1px solid var(--navy); background:var(--navy); color:white; font:600 12px/1.4 Montserrat,sans-serif; text-decoration:none; cursor:pointer; transition:background .18s,color .18s; }
.bed-diagnostic__primary:hover { background:#17304a; }
.bed-diagnostic__primary:disabled { opacity:.38; cursor:not-allowed; }
.bed-diagnostic__welcome .bed-diagnostic__primary { margin-top:27px; }
.bed-diagnostic__welcome .bed-diagnostic__welcome-note { color:#767c82; font-size:11px; margin-top:20px; }
.bed-diagnostic__progress>div:first-child { display:flex; justify-content:space-between; gap:15px; font-size:11px; font-weight:600; margin-bottom:12px; }
.bed-diagnostic__track { height:3px; background:#eae5dd; overflow:hidden; }
.bed-diagnostic__track>span { display:block; background:#bd884f; height:100%; transition:width .3s ease; }
.bed-diagnostic__question { padding-top:26px; animation:bed-question-in .25s ease both; }
.bed-diagnostic__number { color:#b39c82; font-size:11px; letter-spacing:.15em; }
.bed-diagnostic__hint { color:#65707a; font-size:12px; line-height:1.8; margin-bottom:22px; }
.bed-diagnostic__choices { display:grid; gap:10px; margin:0; padding:0; border:0; min-width:0; }
.bed-diagnostic__choice { position:relative; display:flex; align-items:center; gap:14px; min-height:78px; padding:15px 17px; border:1px solid #dcd9d3; cursor:pointer; transition:border-color .18s,background .18s; }
.bed-diagnostic__choice:hover { border-color:#bd884f; background:#fcfaf6; }
.bed-diagnostic__choice:has(input:checked) { border-color:#9a6b38; background:#fbf6ed; }
.bed-diagnostic__choice input { position:absolute; width:1px; height:1px; opacity:0; }
.bed-diagnostic__choice:has(input:focus-visible) { outline:2px solid var(--navy); outline-offset:3px; }
.bed-diagnostic__choice-copy { display:block; min-width:0; flex:1; }
.bed-diagnostic__choice-copy strong { display:block; font-size:13px; font-weight:600; line-height:1.4; }
.bed-diagnostic__choice-copy>span { display:block; font-size:11px; line-height:1.6; color:#687079; margin-top:4px; }
.bed-diagnostic__choice-mark { width:17px; height:17px; flex:0 0 17px; border:1px solid #b8b6b1; border-radius:50%; }
.bed-diagnostic__choice:has(input:checked) .bed-diagnostic__choice-mark { border:5px solid #9a6b38; background:white; }
.bed-diagnostic__choices--sizes { grid-template-columns:repeat(3,minmax(0,1fr)); }
.bed-diagnostic__choices--sizes .bed-diagnostic__choice { min-height:58px; padding:13px 10px; gap:8px; }
.bed-diagnostic__choices--sizes .bed-diagnostic__choice-copy strong { font-size:11px; }
.bed-diagnostic__choices--sizes .bed-diagnostic__choice:last-child { grid-column:1/-1; }
.bed-diagnostic__actions { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:28px; }
.bed-diagnostic__back { border:0; background:none; padding:12px 0; min-height:44px; color:#485661; cursor:pointer; text-decoration:underline; text-underline-offset:4px; font:500 11px/1.5 Montserrat,sans-serif; }
.bed-diagnostic__quiet { color:#727980; font-size:10px; }
.bed-diagnostic__loading { display:flex; min-height:460px; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.bed-diagnostic__loading h2 { max-width:13ch; margin:24px 0 10px; }
.bed-diagnostic__loading-status { font-size:12px; line-height:1.8; color:#63717c; min-height:44px; max-width:33ch; }
.bed-diagnostic__loading-art { position:relative; width:148px; height:100px; }
.bed-diagnostic__loading-art span { position:absolute; left:14px; width:120px; height:50px; border-radius:12px; border:1px solid #bd884f; background:#f5eadc; transform:rotate(-12deg) skewX(15deg); animation:bed-comfort-breathe 1.7s ease-in-out infinite; }
.bed-diagnostic__loading-art span:nth-child(1) { top:45px; background:#07111f; border-color:#07111f; animation-delay:.18s; }
.bed-diagnostic__loading-art span:nth-child(2) { top:30px; background:#d4b28b; animation-delay:.12s; }
.bed-diagnostic__loading-art span:nth-child(3) { top:15px; animation-delay:.06s; }
.bed-diagnostic__loading-art span:nth-child(4) { top:0; background:#fff; }
.bed-diagnostic__result-summary { font-size:11px; color:#65707a; line-height:1.8; padding-bottom:22px; border-bottom:1px solid #e5e0d8; }
.bed-diagnostic__results { display:grid; gap:22px; margin-top:25px; }
.bed-diagnostic__result { display:grid; grid-template-columns:170px minmax(0,1fr); gap:20px; padding-bottom:24px; border-bottom:1px solid #e5e0d8; animation:bed-question-in .3s ease both; }
.bed-diagnostic__result-media { background:#f7f5f1; aspect-ratio:1/1.1; display:grid; align-items:center; overflow:hidden; }
.bed-diagnostic__result-media img { display:block; width:100%; height:100%; object-fit:contain; }
.bed-diagnostic__no-image { display:block; text-align:center; font:600 36px "Cormorant Garamond",serif; color:#a09380; }
.bed-diagnostic__result-rank { color:#96632f; font-size:9px; text-transform:uppercase; font-weight:600; letter-spacing:.08em; }
.bed-diagnostic__result-copy h3 { font:600 27px/1.05 "Cormorant Garamond",serif; margin:9px 0; color:var(--ink); }
.bed-diagnostic__result-specs,.bed-diagnostic__alternative { font-size:10px; line-height:1.8; color:#65707a; margin:8px 0; }
.bed-diagnostic__alternative { color:#805d35; }
.bed-diagnostic__reasons { display:flex; flex-wrap:wrap; gap:5px; list-style:none; padding:0; margin:12px 0; }
.bed-diagnostic__reasons li { padding:4px 7px; font-size:9px; line-height:1.5; color:#5b573f; background:#f6f1e8; }
.bed-diagnostic__result-price { display:block; font-size:17px; color:var(--ink); margin-top:12px; }
.bed-diagnostic__variant-note { display:block; margin-top:4px; font-size:9px; color:#687079; }
.bed-diagnostic__product-link { display:inline-flex; align-items:center; min-height:44px; color:var(--navy); font-size:11px; font-weight:600; text-decoration:underline; text-underline-offset:4px; margin-top:5px; }
.bed-diagnostic__result-actions { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-top:20px; }
.bed-diagnostic__advisor { color:var(--navy); font-size:11px; min-height:44px; display:flex; align-items:center; text-underline-offset:4px; }
.bed-diagnostic button:focus-visible,.bed-diagnostic a:focus-visible { outline:2px solid #9a6b38; outline-offset:4px; }
@keyframes bed-question-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@keyframes bed-comfort-breathe { 0%,100% { transform:translateY(0) rotate(-12deg) skewX(15deg); } 50% { transform:translateY(-9px) rotate(-12deg) skewX(15deg); } }
@media (max-width:1100px) { .bed-diagnostic__intro { padding:36px 28px 25px; } .bed-diagnostic__art { margin-inline:-28px; } .bed-diagnostic__workspace { padding:36px 28px; } .bed-diagnostic__result { grid-template-columns:130px minmax(0,1fr); gap:15px; } }
@media (max-width:860px) { .bed-diagnostic { padding:22px 0 40px; } .bed-diagnostic__shell { width:calc(100% - 32px); } .bed-diagnostic__layout { grid-template-columns:1fr; } .bed-diagnostic__intro { padding:28px 25px; } .bed-diagnostic__intro h1 { font-size:48px; } .bed-diagnostic__intro>p { max-width:46ch; } .bed-diagnostic__art { height:200px; margin:24px -25px; } .bed-diagnostic__workspace { padding:30px 25px; } .bed-diagnostic__welcome { padding:8px 0; } .bed-diagnostic__welcome h2 { font-size:39px; } .bed-diagnostic__workspace h2 { font-size:34px; } .bed-diagnostic__loading { min-height:370px; } }
@media (max-width:480px) { .bed-diagnostic__intro .bed-diagnostic__aside-note { display:none; } .bed-diagnostic__workspace { padding:28px 20px; } .bed-diagnostic__promise { gap:8px 12px; font-size:9px; } .bed-diagnostic__promise span+span::before { margin-right:9px; } .bed-diagnostic__choices--sizes { grid-template-columns:repeat(2,minmax(0,1fr)); } .bed-diagnostic__primary { padding:14px 17px; font-size:11px; } .bed-diagnostic__result { grid-template-columns:105px minmax(0,1fr); gap:12px; } .bed-diagnostic__result-copy h3 { font-size:25px; } }
@media (prefers-reduced-motion:reduce) { .bed-diagnostic *, .bed-diagnostic *::before, .bed-diagnostic *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
