.floor-showroom{background:#eeece8;color:#24221f;position:relative;padding:72px var(--gutter,32px);isolation:isolate}
.floor-showroom.floor-enhanced{height:215vh;padding-top:0;padding-bottom:0}
.floor-sticky{max-width:1600px;margin:auto;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.35fr);gap:5vw;align-items:center}
.floor-enhanced .floor-sticky{position:sticky;top:0;min-height:100vh;min-height:100svh;padding:45px 0}
.floor-copy{position:relative;z-index:1;max-width:460px}
.floor-eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:10px;margin:0 0 26px;color:#7a4a2c}
.floor-copy h2{font-size:clamp(42px,4.4vw,74px);font-weight:400;line-height:1.04;letter-spacing:-.055em;margin:0 0 24px;text-wrap:balance}
.floor-intro{font-size:16px;line-height:1.6;color:#57534d;max-width:380px;margin:0 0 32px}
.floor-tones{padding:0;margin:0;border:0;display:flex;gap:18px;flex-wrap:wrap}
.floor-tones legend{font-size:11px;padding:0;margin-bottom:16px}
.floor-tones label{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;cursor:pointer;min-width:70px;padding:5px}
.floor-tones input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}
.floor-swatch{display:block;width:43px;height:43px;border-radius:50%;background-image:url('assets/oak-texture.jpg');background-size:180px 100px;box-shadow:0 0 0 4px #eeece8,0 0 0 5px transparent;pointer-events:none}
.floor-swatch-light{background-color:#dbc7a6;filter:brightness(1.2) saturate(.65)}.floor-swatch-natural{background-color:#b58a59}.floor-swatch-smoked{background-color:#77614f;filter:brightness(.62) saturate(.55)}
.floor-tones input:checked~.floor-swatch{outline:1px solid #9e5f37;outline-offset:5px}
.floor-tones input:focus-visible~.floor-swatch{outline:3px solid #9e5f37;outline-offset:6px}
.floor-disclaimer{font-size:11px;line-height:1.6;color:#67635e;max-width:340px;margin:23px 0 0}
.floor-display{min-width:0}.floor-viewport{height:clamp(340px,42vw,570px);position:relative;perspective:1100px;perspective-origin:50% 40%;touch-action:pan-y;overflow:clip}
.floor-halo{position:absolute;inset:12% 0 5%;background:radial-gradient(ellipse,#fff9 0%,#fff0 67%);pointer-events:none}
.floor-camera{position:absolute;left:50%;top:49%;width:344px;height:392px;transform-style:preserve-3d;transform:translate(-50%,-50%) scale(var(--floor-scale,1)) rotateX(var(--floor-tilt,56deg)) rotateZ(var(--floor-turn,-28deg))}
@media(prefers-reduced-motion:no-preference){.floor-camera{transition:transform 140ms ease-out}}
.floor-boards{position:absolute;inset:0;transform-style:preserve-3d}
.floor-ground{position:absolute;inset:-15px;background:#5d493929;filter:blur(19px);transform:translateZ(-24px);border-radius:10%;opacity:var(--floor-shadow,.7)}
.floor-plank{position:absolute;width:var(--floor-plank-width,170px);height:54px;transform-style:preserve-3d}
.floor-face{position:absolute;display:block;backface-visibility:hidden}
.floor-face-top{inset:0;transform:translateZ(7px);background-color:#b58a59;background-image:linear-gradient(90deg,#fff1,#fff0 50%,#47280013),url('assets/oak-texture.jpg');background-size:100% 100%,510px 162px;background-position:center,var(--floor-grain,0% 0%);border:1px solid #603a2329;box-shadow:inset 0 0 0 1px #fff2;filter:var(--floor-finish,none)}
.floor-face-bottom{inset:0;transform:rotateX(180deg);background:#665346}
.floor-face-front,.floor-face-back{width:var(--floor-plank-width,170px);height:7px;background:linear-gradient(#98734f,#765334)}
.floor-face-front{top:54px;transform-origin:top;transform:translateZ(7px) rotateX(-90deg)}
.floor-face-back{top:0;transform-origin:top;transform:rotateX(90deg)}
.floor-face-left,.floor-face-right{width:7px;height:54px;background:linear-gradient(90deg,#6c4c33,#a87c51)}
.floor-face-left{left:0;transform-origin:left;transform:rotateY(-90deg)}
.floor-face-right{left:var(--floor-plank-width,170px);transform-origin:left;transform:translateZ(7px) rotateY(90deg)}
.floor-controls{position:relative;z-index:2;max-width:530px;margin:0 auto;border-top:1px solid #c9c4bb;padding:20px 0 0}
.floor-assembly{display:flex;align-items:center;gap:22px}.floor-assembly label{font-size:12px;flex:1}.floor-assembly input{width:45%;min-height:32px;accent-color:#9e5f37;cursor:pointer}
.floor-actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:5px}.floor-actions button,.floor-scroll-resume{border:0;background:none;color:#57534d;font:inherit;font-size:11px;padding:10px 0;min-height:44px;cursor:pointer}.floor-actions button{display:flex;align-items:center;gap:6px}.floor-actions button:hover,.floor-scroll-resume:hover{color:#9e5f37}.floor-actions button span[aria-hidden]{font-size:20px}.floor-mode{color:#67635e;font-size:10px;line-height:1.5;margin:8px 0 0}.floor-scroll-resume{text-decoration:underline;text-underline-offset:4px}.floor-controls [hidden]{display:none}
.floor-controls :focus-visible{outline:2px solid #9e5f37;outline-offset:5px}
.floor-showroom:not(.floor-enhanced) .floor-display{display:none}
@media(max-width:780px){.floor-showroom{padding:50px var(--gutter,24px)}.floor-showroom.floor-enhanced{height:185vh}.floor-sticky{grid-template-columns:1fr;gap:8px}.floor-enhanced .floor-sticky{padding:32px 0;align-content:center}.floor-copy{max-width:580px}.floor-eyebrow{margin-bottom:14px}.floor-copy h2{font-size:clamp(36px,7vw,48px);max-width:410px;margin-bottom:16px}.floor-intro{font-size:14px;max-width:520px;margin-bottom:18px}.floor-tones{gap:15px}.floor-tones legend{margin-bottom:5px}.floor-tones label{flex-direction:row;min-width:0;gap:9px;font-size:10px;padding:7px 3px}.floor-swatch{width:24px;height:24px;flex:none}.floor-disclaimer{font-size:10px;max-width:480px;margin-top:14px}.floor-viewport{height:300px;margin-top:-6px}.floor-controls{padding-top:11px}.floor-actions{gap:18px}.floor-mode{margin-top:0}}
@media(max-width:780px) and (max-height:850px){.floor-enhanced .floor-sticky{position:relative;min-height:auto;padding:48px 0}.floor-showroom.floor-enhanced{height:auto}.floor-viewport{height:290px}}
@media(min-width:781px) and (max-height:730px){.floor-enhanced .floor-sticky{position:relative;min-height:auto}.floor-showroom.floor-enhanced{height:auto}}
@media(prefers-reduced-motion:reduce){.floor-showroom.floor-enhanced{height:auto}.floor-enhanced .floor-sticky{position:relative;min-height:auto;padding:60px 0}.floor-camera,.floor-plank{transition:none!important}.floor-scroll-resume{display:none!important}}
