/* Motion is progressive enhancement: content remains visible without JavaScript. */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#2872ed,#77c9ff);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.header{position:sticky;top:0;z-index:40;background:#ffffffed;backdrop-filter:blur(18px);transition:box-shadow .35s,border-color .35s}.header.is-scrolled{border-color:#dce7f6;box-shadow:0 14px 28px -25px #20529977}
.header nav a{position:relative}.header nav a:not(.nav-button):after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:2px;background:#2872ed;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav a:hover{text-decoration:none}.header nav a[aria-current=location]:after,.header nav a:hover:after{transform:scaleX(1)}
.hero{position:relative;isolation:isolate}.hero:before{content:'';position:absolute;z-index:-1;width:65%;height:430px;right:-3%;top:-10px;background:radial-gradient(ellipse,#d8eaff70,transparent 68%);filter:blur(30px);pointer-events:none;animation:hero-glow 10s ease-in-out infinite alternate}
h1{overflow:visible}.hero-letter{display:inline-block;transform-origin:50% 100%}.js-motion .hero-letter{animation:letter-in 1.05s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.08s + var(--letter)*.045s)}.hero-period{animation:letter-in 1s cubic-bezier(.16,1,.3,1) both,period-glow 5s 1.5s ease-in-out infinite!important;animation-delay:calc(.08s + var(--letter)*.045s),1.5s!important}
.js-motion .hero-label{animation:soft-in .9s .05s both}.js-motion .hero-info h2{animation:soft-in 1s .35s both}.js-motion .hero-copy{animation:soft-in 1s .5s both}.js-motion .product-visual{animation:soft-in 1.2s .6s both}
.development i{box-shadow:0 0 0 0 #2872ed44;animation:status-pulse 3s ease-out infinite}
.nav-button,.text-link,.back-top{transition:transform .3s,color .3s,background .3s,box-shadow .3s}.nav-button{overflow:hidden;isolation:isolate;box-shadow:0 4px 12px #2872ed18}.nav-button:before{content:'';position:absolute;inset:-50% -100%;background:linear-gradient(110deg,transparent 40%,#ffffff35 50%,transparent 60%);transform:translateX(-40%);transition:transform .65s;z-index:-1}.nav-button:hover{transform:translateY(-2px);box-shadow:0 8px 23px #2872ed30}.nav-button:hover:before{transform:translateX(40%)}.nav-button span,.text-link span{display:inline-block;transition:transform .3s}.nav-button:hover span{transform:translate(3px,-3px)}.text-link:hover span{transform:translateY(4px)}
.product-visual{position:relative;isolation:isolate;box-shadow:0 24px 65px -38px #164c9b99;transition:box-shadow .5s}.product-visual:hover{box-shadow:0 32px 90px -34px #164c9b88}.scene-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#8cbfff0b 1px,transparent 1px),linear-gradient(90deg,#8cbfff0b 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse,black,transparent 80%)}.product-visual:after{content:'';position:absolute;inset:0;background:radial-gradient(400px circle at var(--spot-x,50%) var(--spot-y,40%),#79b9ff12,transparent);pointer-events:none;z-index:0}.scene-frame{position:relative;perspective:1200px;z-index:1}.scene-parallax{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .65s cubic-bezier(.2,.7,.3,1);transform-style:preserve-3d}.mat-scene{display:block;width:100%;height:auto;margin:-16px 0 -23px;overflow:visible}.mat-scene .mattress-layer,.mat-scene .sensor-layer,.mat-scene .sheet-layer,.mat-scene .scene-connection{transition:translate 1.1s cubic-bezier(.2,.8,.2,1);transform-box:view-box}.mat-scene .sheet-layer{animation:sheet-float 6s ease-in-out infinite}.mat-scene .sensor-layer{animation:sensor-float 6s -.6s ease-in-out infinite}.mat-scene .mattress-layer{animation:mattress-float 6s -1.2s ease-in-out infinite}.sensor-node{animation:node-pulse 3s ease-in-out infinite}.sensor-node:nth-of-type(3n){animation-delay:-1s}.sensor-node:nth-of-type(3n + 1){animation-delay:-2s}.sensor-scan{animation:sensor-sweep 4.5s ease-in-out infinite;filter:drop-shadow(0 0 8px #72d4ff);opacity:.7}.scene-callouts{transition:opacity .5s}.scene-connection{animation:sensor-float 6s -.6s ease-in-out infinite}
.product-visual.is-assembled .sheet-layer{translate:0 67px}.product-visual.is-assembled .mattress-layer{translate:0 -44px}.product-visual.is-assembled .scene-callouts{opacity:0}.product-visual.is-assembled .sensor-scan{opacity:.25}.scene-controls{display:flex;position:relative;z-index:2;align-items:center;justify-content:space-between;padding:0 27px 23px;gap:15px}.layer-toggle{border:1px solid #a2c5fb44;background:#93bbfa0e;color:#e0eeff;padding:11px 15px;border-radius:5px;font-size:10px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background .3s,border-color .3s}.layer-toggle:hover{background:#93bbfa25;border-color:#a2c5fb99}.layer-icon{font-size:21px;line-height:1;display:inline-block;transition:transform .7s}.is-assembled .layer-icon{transform:rotate(90deg)}.control-arrow{margin-left:13px;display:inline-block;transition:transform .3s}.layer-toggle:hover .control-arrow{transform:translate(2px,-2px)}.scene-hint{font:8px monospace;letter-spacing:1px;color:#a4bddf}.visual-footer{position:relative;z-index:1}
@media(prefers-reduced-motion:no-preference){.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1);transition-delay:var(--reveal-delay,0ms)}.js-motion .reveal.is-visible{opacity:1;transform:none}.js-motion .spec-table .reveal{transform:translateY(12px)}}
.steps{position:relative}.steps:before{content:'';position:absolute;top:-1px;left:0;height:2px;width:100%;background:linear-gradient(90deg,#2872ed,#78c7ff);transform:scaleX(0);transform-origin:left;transition:transform 1.5s cubic-bezier(.2,.8,.2,1)}.steps.is-visible:before{transform:scaleX(1)}.steps article{position:relative;transition:translate .4s}.steps article:hover{translate:0 -5px}.steps .step-number{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border:1px solid #b9d3f4;border-radius:50%;color:#2872ed;transition:background .3s,color .3s,box-shadow .3s}.steps article:hover .step-number{background:#2872ed;color:#fff;box-shadow:0 0 0 6px #2872ed0b}
.demo-shell{transition:box-shadow .5s,border-color .5s}.demo-shell:hover{box-shadow:0 18px 65px #2252a212;border-color:#bad0ef}.demo-actions{display:flex;align-items:center;gap:16px}.demo-play{font-size:9px;display:flex;align-items:center;gap:7px;border:0;background:none;color:#2367d0;cursor:pointer;padding:7px}.play-symbol{font-size:9px;width:12px}.demo-play:hover{color:#103f94}.time-tabs{position:relative}.time-tabs button{position:relative;transition:color .3s,background .3s,box-shadow .3s,transform .3s}.time-tabs button:hover{transform:translateY(-2px)}.time-tabs button[aria-pressed=true]{box-shadow:0 3px 12px #193c7c14}.pressure-stage{overflow:hidden;border-radius:8px}.map-scan{position:absolute;left:0;right:0;top:-6%;height:15%;background:linear-gradient(transparent,#2872ed0c,transparent);border-bottom:1px solid #2872ed25;z-index:2;pointer-events:none;animation:map-sweep 6s linear infinite}.demo-section:not(.in-view) .map-scan{animation-play-state:paused}.chart-line{stroke-dasharray:700;stroke-dashoffset:0;transition:stroke-dashoffset 2s cubic-bezier(.2,.6,.4,1)}.js-motion .chart-line{stroke-dashoffset:700}.js-motion .demo-section.is-revealed .chart-line{stroke-dashoffset:0}.reading-note.is-changing{animation:note-change .5s ease both}#chart-point{transition:cx .65s cubic-bezier(.2,.8,.2,1),cy .65s cubic-bezier(.2,.8,.2,1)}
.spec-table>div{transition:background .3s,padding .3s}.spec-table>div:hover{background:#e4efff;padding-inline:12px}.progress-list summary{transition:color .3s}.progress-list summary:hover{color:#2872ed}.progress-list details[open] p{animation:soft-in .4s ease both}.team-card{transition:translate .4s}.team-card:hover{translate:0 -7px}.portrait-placeholder{overflow:hidden;transition:border-color .4s,box-shadow .4s}.portrait-placeholder:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#d5e6ff88,transparent 60%);opacity:.2;transition:opacity .4s}.team-card:hover .portrait-placeholder{border-color:#88b6f4;box-shadow:0 15px 30px -20px #3476cc88}.team-card:hover .portrait-placeholder:before{opacity:1}.portrait-placeholder:after{transition:transform .5s}.team-card:hover .portrait-placeholder:after{transform:translate(-50%,-50%) rotate(90deg)}
.motion-toggle{position:fixed;right:22px;bottom:20px;z-index:60;border:1px solid #d4e3f5;background:#ffffffed;backdrop-filter:blur(12px);color:#41618d;box-shadow:0 4px 22px #12376810;border-radius:30px;padding:11px 15px;display:flex;align-items:center;gap:9px;font-size:10px;cursor:pointer;transition:color .3s,border-color .3s,transform .3s}.motion-toggle:hover{color:#175ac6;border-color:#8ab6f4;transform:translateY(-2px)}.motion-symbol{font-size:11px;width:10px;text-align:center}
.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important;transition-duration:0s!important}.motion-paused .reveal,.motion-paused .hero-letter,.motion-paused .hero-label,.motion-paused .hero-info h2,.motion-paused .hero-copy,.motion-paused .product-visual{opacity:1!important;transform:none!important;animation:none!important}.motion-paused .scene-parallax{transform:none}.motion-paused .chart-line{stroke-dashoffset:0}
@keyframes letter-in{from{opacity:0;transform:translateY(52px) rotateX(35deg);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes soft-in{from{opacity:0;transform:translateY(23px)}to{opacity:1;transform:none}}
@keyframes period-glow{0%,100%{text-shadow:0 0 0 #2872ed00}50%{text-shadow:0 0 35px #2872ed55}}
@keyframes hero-glow{from{transform:translate(-3%,3%) scale(.9);opacity:.6}to{transform:translate(8%,-4%) scale(1.1);opacity:1}}
@keyframes status-pulse{0%{box-shadow:0 0 0 0 #2872ed44}70%,100%{box-shadow:0 0 0 6px #2872ed00}}
@keyframes sheet-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes sensor-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes mattress-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes node-pulse{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes sensor-sweep{0%{transform:translate(0,0);opacity:0}12%{opacity:.8}85%{opacity:.8}100%{transform:translate(303px,149px);opacity:0}}
@keyframes map-sweep{from{transform:translateY(0)}to{transform:translateY(760%)}}
@keyframes note-change{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.scene-hint{font-size:7px}.header nav a:not(.nav-button):after{bottom:-6px}}
@media(max-width:640px){.header{background:#fffffff5}.header nav a:not(.nav-button):after{left:8px;bottom:6px;width:28px}.hero:before{height:250px;width:90%;right:0;top:0;filter:blur(15px)}.mat-scene{width:100%;height:auto;aspect-ratio:760/540;margin:0}.scene-callouts{display:none}.scene-controls{padding:0 16px 17px}.layer-toggle{font-size:8px;gap:8px;padding:10px 11px}.layer-icon{font-size:17px}.control-arrow{margin-left:0}.scene-hint{display:none}.steps:before{display:none}.steps .step-number{width:28px;height:28px;font-size:8px;margin-top:0}.steps article{column-gap:17px}.demo-actions{gap:7px}.demo-play{font-size:7px;padding:6px 0}.demo-brand span{display:none}.motion-toggle{right:12px;bottom:12px;padding:10px 12px;font-size:9px}.demo-toolbar{gap:8px}.team-card:hover{translate:0 0}.footer{padding-bottom:68px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal,.js-motion .hero-letter,.js-motion .hero-label,.js-motion .hero-info h2,.js-motion .hero-copy,.js-motion .product-visual{opacity:1!important;transform:none!important;filter:none!important}.scene-parallax{transform:none!important}.chart-line{stroke-dashoffset:0}.scroll-progress{display:none}.map-scan,.sensor-scan{display:none}}
.product-visual:not(.in-view) .mat-scene *{animation-play-state:paused}.demo-play:disabled{opacity:.45;cursor:default}.motion-toggle:disabled{cursor:default}.js-motion:not(.motion-paused) .hero-period{animation-name:letter-in,period-glow!important}
/* Keep anchored headings below the sticky navigation. */
html{scroll-padding-top:130px}.product-visual{scroll-margin-top:0}
@media(max-width:640px){html{scroll-padding-top:102px}}
