/* Projection playground. Real catalogue imagery sits inside a responsive light stage. */
body.lab{--bg:#fbf9f2;--text:#273b3e;--muted:#5c706e;--accent:#cf522e;--panel:#fffef9;--line:#cfd9cf;background:var(--bg);color:var(--text)}
.lab main{max-width:none}.lab header{max-width:none;padding:22px 6vw;border:0;background:#fbf9f2}.lab .brand{padding:0;background:transparent}.lab .brand img{width:150px;height:42px}.lab .nav{gap:28px}.lab .nav a{font-size:13px;position:relative}.lab .nav a::after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.lab .nav a:hover::after{transform:scaleX(1)}.lab section{padding:95px 6vw;scroll-margin-top:28px}.lab section+section{border:0}.lab h1,.lab h2,.lab h3{text-wrap:balance}.lab h2{font-size:clamp(34px,4vw,62px);letter-spacing:-.055em;line-height:1.06;font-weight:650}.lab p{line-height:1.7}.lab .button,.lab button{border-radius:50px;transition:transform .25s,box-shadow .25s,background .25s}.lab .button:hover,.lab button:hover{transform:translateY(-3px)}.lab .button:active,.lab button:active{transform:translateY(1px)}.lab .button{padding:18px 26px;background:#273b3e;color:#fffef9;box-shadow:0 5px 0 #cf522e30}.lab .button img{filter:invert(1)}
.lab .hero{display:block;min-height:0;position:relative;padding:60px 6vw 65px;background:radial-gradient(ellipse at 15% 55%,#e8e4ff66,transparent 45%),#fbf9f2}.lab-head{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin-bottom:30px}.lab .product-name{font-size:16px;font-weight:650;color:#5c706e;letter-spacing:0;margin:0 0 20px}.lab .hero h1{font-size:clamp(65px,7.8vw,122px);line-height:.91;letter-spacing:-.075em;margin:0;font-weight:750}.lab .hero h1 span{color:#cf522e}.lab-intro{padding-bottom:6px}.lab .hero .intro{font-size:18px;max-width:490px;margin-bottom:25px}.projected-room{height:555px;position:relative;isolation:isolate;margin:35px -2vw 0;--scene-accent:#ec9b56;--aim-x:0px;--aim-y:0px;perspective:1200px}.room-geometry{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:60px 60px 0 0;z-index:-1}.room-side{position:absolute;left:0;top:8%;width:28%;height:65%;background:linear-gradient(110deg,#e2ddce,#fcf8e9);clip-path:polygon(0 0,100% 15%,100% 86%,0 100%)}.room-floor{position:absolute;left:0;right:0;bottom:0;height:39%;background:linear-gradient(160deg,#e9e4d6,#f6f1e5 50%,#e7e5db);clip-path:polygon(12% 0,85% 0,100% 100%,0 100%)}.room-floor::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 15%,#b9c4b344 15.15%,transparent 15.3%);transform:perspective(400px) rotateX(40deg) scale(1.3);transform-origin:top}.room-beam{position:absolute;inset:5% 8% 20% 22%;background:linear-gradient(140deg,#fffdf200,#f6e66b44,#fff7a733);clip-path:polygon(0 0,100% 18%,93% 100%,0 22%);animation:beam-breathe 8s ease-in-out infinite}.room-photo{position:absolute!important;left:16%;right:16%;top:8px;bottom:65px;margin:0!important;transform:translate3d(calc(var(--aim-x)*.35),calc(var(--aim-y)*.35),0) rotate(-2deg)!important;transition:transform .55s cubic-bezier(.15,.65,.25,1);z-index:2;background:#fffef9;border:10px solid #fffef9;border-bottom:0;border-radius:26px;box-shadow:0 28px 40px #324c3025;overflow:hidden}.lab .hero .room-photo img{width:100%;height:calc(100% - 45px);object-fit:cover;border-radius:17px 17px 4px 4px;border:0;box-shadow:none;display:block}.lab .hero .room-photo figcaption{height:45px;color:#3f5955;font-size:14px;font-weight:650;padding:10px 15px;line-height:1.5}.room-note{position:absolute;z-index:3;right:0;bottom:80px;display:flex;align-items:center;gap:15px;background:#f5d863;color:#3a4231;padding:22px 26px;border-radius:25px 25px 25px 3px;box-shadow:0 8px 0 #d9c362;transform:rotate(4deg);font-size:16px;line-height:1.5;max-width:280px}.room-note img{flex-shrink:0}.room-spot{position:absolute;border-radius:50%;mix-blend-mode:multiply;opacity:.8;animation:spot-drift 10s ease-in-out infinite}.spot-a{width:220px;height:85px;left:5%;bottom:30px;background:#a8c7ea;rotate:-18deg}.spot-b{width:220px;height:100px;right:7%;bottom:0;background:#c1d691;rotate:14deg;animation-delay:-5s}.spot-c{width:110px;height:110px;left:8%;top:11%;background:#eabcce;animation-delay:-3s}.room-loop{position:absolute;left:4%;bottom:60px;width:180px;height:180px;border:3px dashed #ce6b47;border-radius:50%;transform:rotateX(58deg) rotate(-15deg);animation:loop-turn 30s linear infinite}.room-pointer{position:absolute;left:50%;top:50%;width:130px;height:130px;background:radial-gradient(#ffffedaa,transparent 70%);transform:translate(calc(var(--aim-x)*8),calc(var(--aim-y)*6));transition:transform .5s;opacity:.8}.projected-room[data-scene="1"]{--scene-accent:#90b9b8}.projected-room[data-scene="2"] .spot-a{background:#f0ad82}.projected-room[data-scene="3"] .spot-c{background:#a7d7c5}.projected-room[data-scene="3"] .room-note{background:#bdd4e9;box-shadow:0 8px 0 #9eb9d1}.projected-room[data-scene="2"] .room-note{background:#c5db98;box-shadow:0 8px 0 #a9bf7e}.projected-room[data-scene="1"] .room-note{background:#efbba6;box-shadow:0 8px 0 #d69c85}
.scene-navigation{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px 30px;border-top:1px solid #c5cfc2;padding-top:28px}.scene-heading h2{font-size:29px;margin-bottom:7px;letter-spacing:-.035em}.scene-heading p{font-size:14px;margin:0}.lab .mechanics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;gap:10px}.lab .mechanics button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;padding:16px 19px;background:#eeeade;border:1px solid transparent;color:#344d48;border-radius:18px;position:relative}.lab .mechanics button span{font-size:20px;font-weight:750;letter-spacing:-.04em}.lab .mechanics button small{font-size:12px;font-weight:500;line-height:1.3;color:#53695f}.lab .mechanics button:nth-child(2){background:#e9dcd2}.lab .mechanics button:nth-child(3){background:#e3ebd3}.lab .mechanics button:nth-child(4){background:#dfe8f0}.lab .mechanics button[aria-pressed=true]{background:#304b42;color:#fffef9;box-shadow:0 5px 0 #aebdb0;border-color:#304b42}.lab .mechanics button[aria-pressed=true] small{color:#d6e3d2}.lab #mechanic-info{grid-column:2;font-size:14px;max-width:850px;min-height:48px;padding:0;margin:4px 0 0;color:#5c706e}
.lab #solutions{background:#eef0e5;border-radius:70px 70px 0 0}.lab #solutions>h2{max-width:700px;margin-bottom:50px}.lab .products{grid-template-columns:1fr;gap:36px;counter-reset:models}.lab .product-card{display:grid;grid-template-columns:1.15fr 1fr;border:0;border-radius:32px;background:#fffef9;box-shadow:0 6px 0 #d6ddc9;overflow:hidden;transition:transform .35s,box-shadow .35s}.lab .product-card:nth-child(even){grid-template-columns:1fr 1.15fr}.lab .product-card:nth-child(even)>img{grid-column:2;grid-row:1}.lab .product-card:nth-child(even)>.card-body{grid-column:1;grid-row:1}.lab .product-card:nth-child(2){background:#f5e1d5}.lab .product-card:nth-child(3){background:#e4edce}.lab .product-card:nth-child(4){background:#dfe8f0}.lab .product-card>img{height:100%;min-height:430px;max-height:570px;object-fit:cover}.lab .product-card:nth-child(4)>img{object-fit:contain;background:#fff}.lab .product-card>.index{display:none}.lab .card-body{padding:45px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.lab .card-body h3{font-size:clamp(30px,3.1vw,47px);letter-spacing:-.055em;max-width:500px}.lab .card-body p{font-size:16px}.lab .price{font-size:30px;margin:16px 0 26px;color:#304b42}.lab .card-body button{width:auto;max-width:100%;background:#304b42;color:#fffef9;padding:16px 23px}.lab .card-body button img{filter:invert(1)}.lab .product-card.selected{box-shadow:0 6px 0 #304b42,0 0 0 2px #304b42}.lab .product-card:hover{transform:translateY(-4px)}
.lab .gallery-section{background:#fffef9}.lab .equipment-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:40px}.lab .equipment-gallery figure{padding:12px;background:#f0eddf;border-radius:24px}.lab .equipment-gallery figure:nth-child(even){margin-top:45px;margin-bottom:-10px;background:#e3ebda}.lab .equipment-gallery img{height:245px;border-radius:15px;object-fit:cover}.lab .equipment-gallery figcaption{font-size:15px;color:#304b42;padding:12px 4px 0}.lab .gallery-section .note{margin-top:35px}.lab .technical{background:#304b42;color:#fffef9;border-radius:70px 0 70px 0}.lab .technical h2{max-width:760px;margin-bottom:45px}.lab .technical .features{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.lab .technical article{border-top:1px solid #aec6a9;padding-top:27px}.lab .technical h3{font-size:25px;font-weight:650;line-height:1.18}.lab .technical p{font-size:14px;color:#d4decc}.lab .technical article:nth-child(2){margin-top:35px}.lab .technical article:nth-child(4){margin-top:35px}.lab .lab-comparison{background:#fbf9f2}.lab .comparison-scroll{border-radius:20px;border:1px solid #c5cfc2;background:#fffef9}.lab .comparison-scroll table{margin:0}.lab .comparison-scroll th{background:#e8eddd}.lab .lab-placement{background:#e8d8ad;grid-template-columns:.95fr 1.05fr;gap:7vw;align-items:center}.lab .lab-zones{display:grid;gap:17px}.lab .lab-zones article{border:0;background:#fff9ea;border-radius:25px;padding:28px 30px;box-shadow:0 6px 0 #d3c297;position:relative}.lab .lab-zones article:nth-child(2){margin-left:30px;background:#eef0d4}.lab .lab-zones article:nth-child(3){margin-left:60px;background:#e4e9ed}.lab .lab-zones b{font-size:21px;font-weight:700;letter-spacing:-.025em}.lab .lab-zones p{font-size:14px;margin:10px 0 0}.lab .faq{max-width:none;padding-inline:12vw;background:#fbf9f2}.lab .faq details{border-color:#b9c8b5}.lab .faq summary{font-size:21px;font-weight:650}.lab .faq details[open] p{animation:answer-in .35s ease-out}.lab .request{background:#304b42;color:#fffef9;border-radius:65px 65px 0 0;gap:7vw}.lab .request p{color:#d5dfcf}.lab .request form{background:#f5f3e9;padding:32px;border-radius:30px;color:#273b3e;box-shadow:12px 12px 0 #78936e}.lab .request input,.lab .request select,.lab .request textarea{background:#fffef9;border-color:#becab5;border-radius:10px}.lab .request form button{background:#cf522e;color:#fff;padding:18px}.lab #lead-status.error{color:#a12c26}.lab #lead-status.success{color:#304b42}.lab .contacts article{border:0;background:#eeefdf;border-radius:25px;padding:27px}.lab .contacts article:nth-child(2){background:#e2eade}.lab .contacts img{border-radius:80px 80px 15px 15px}.lab .contacts a{font-size:18px}.lab #articles{padding-top:20px}.lab .article-card{border-radius:23px!important}.lab .article-card h3,.lab .article-card-button{overflow-wrap:anywhere}.lab footer{max-width:none;background:#e4e9db;border:0}.lab .article-close{color:#fff!important}.is-motion-paused *,.is-motion-paused *::before,.is-motion-paused *::after,.is-tab-hidden *,.is-tab-hidden *::before,.is-tab-hidden *::after,.motion-offscreen *,.motion-offscreen *::before,.motion-offscreen *::after{animation-play-state:paused!important}.is-motion-paused{scroll-behavior:auto}.is-motion-paused .room-photo,.is-motion-paused .room-pointer{transition:none!important}.reveal-in{animation:reveal-in .7s cubic-bezier(.2,.7,.2,1)}
@keyframes spot-drift{50%{translate:18px -10px;scale:1.07}}@keyframes beam-breathe{50%{opacity:.5;translate:10px 0}}@keyframes loop-turn{to{rotate:360deg}}@keyframes reveal-in{from{translate:0 20px}to{translate:0 0}}@keyframes answer-in{from{opacity:.5;translate:0 -5px}to{opacity:1;translate:0 0}}
@media(min-width:1700px){.lab section{padding-inline:max(6vw,calc((100vw - 1480px)/2))}.lab .projected-room{max-width:1480px;margin-inline:auto}}
@media(max-width:1100px){.lab .nav{gap:17px}.lab .hero{padding-top:65px}.lab-head{gap:40px;grid-template-columns:1fr 1fr}.lab .hero h1{font-size:76px}.lab .hero .intro{font-size:16px}.projected-room{height:475px}.room-photo{left:12%;right:15%;bottom:70px}.room-note{padding:18px;max-width:240px;font-size:14px}.scene-navigation{grid-template-columns:1fr}.scene-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.scene-heading h2{margin:0}.lab #mechanic-info{grid-column:1}.lab .technical .features{grid-template-columns:repeat(2,minmax(0,1fr))}.lab .technical article:nth-child(n){margin:0}.lab .card-body{padding:32px}.lab .product-card>img{min-height:400px}.lab .equipment-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.lab .equipment-gallery img{height:290px}.lab .request{gap:40px}.lab .request form{padding:25px}.lab .lab-placement{gap:40px}.lab .lab-zones article:nth-child(3){margin-left:30px}.lab .contacts a{font-size:16px}.lab .contacts img{width:80px;height:105px}.lab .articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.lab header{padding:17px 6vw}.lab .brand img{width:135px;height:36px}.lab .menu-toggle{display:flex;background:#e6ecdc;color:#304b42;border-radius:50%;padding:10px}.lab .nav{font-size:16px}.lab .nav a{font-size:16px}.lab section{padding:60px 6vw}.lab .hero{padding-top:27px;padding-bottom:45px}.lab-head{display:contents}.lab .hero{display:flex;flex-direction:column;gap:0}.lab-head>div:first-child{order:0}.lab .product-name{font-size:14px;margin-bottom:15px}.lab .hero h1{font-size:clamp(52px,13.4vw,81px);line-height:.96;margin:0;letter-spacing:-.07em}.lab .lab-intro{order:2;padding:0;margin-top:15px}.lab .hero .intro{font-size:16px;max-width:none;margin-bottom:21px}.lab .button{width:100%;padding:16px 22px}.projected-room{order:1;width:calc(100% + 6vw);height:380px;min-height:380px;margin:25px -3vw 0;perspective:none}.room-geometry{border-radius:30px 30px 0 0}.room-photo{left:6%!important;right:6%!important;top:0;bottom:68px;border-width:7px;border-radius:20px;transform:rotate(-2deg)!important}.lab .hero .room-photo img{height:calc(100% - 38px);border-radius:13px 13px 3px 3px;object-position:center}.lab .hero .room-photo figcaption{height:38px;font-size:12px;padding:8px 9px}.room-note{font-size:12px;right:3%;bottom:26px;padding:12px 15px;max-width:205px;gap:10px;border-radius:18px 18px 18px 3px;box-shadow:0 5px 0 #d9c362}.room-note img{width:24px;height:24px}.room-loop{left:0;bottom:8px;width:120px;height:120px}.spot-a{width:150px;height:60px;left:0;bottom:4px}.spot-b{width:150px;height:60px;right:0;bottom:12px}.spot-c{width:60px;height:60px;left:0;top:12%}.room-side{width:40%;height:60%}.room-floor{height:37%}.scene-navigation{order:3;display:block;margin-top:35px;padding-top:25px;width:100%}.scene-heading{display:block;margin-bottom:20px}.scene-heading h2{font-size:27px;margin-bottom:5px}.scene-heading p{font-size:13px}.lab .mechanics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lab .mechanics button{padding:15px;border-radius:16px;min-height:83px}.lab .mechanics button span{font-size:19px}.lab .mechanics button small{font-size:11px}.lab #mechanic-info{font-size:13px;min-height:75px;margin-top:21px}.lab #solutions{border-radius:40px 40px 0 0}.lab #solutions>h2{margin-bottom:30px}.lab .products{gap:27px}.lab .product-card:nth-child(n){display:flex;flex-direction:column;border-radius:24px;margin:0}.lab .product-card>img{height:270px;min-height:0;max-height:none}.lab .card-body{padding:26px}.lab .card-body h3{font-size:31px}.lab .card-body p{font-size:15px}.lab .price{font-size:28px;margin:10px 0 22px}.lab .card-body button{width:100%;font-size:14px}.lab .equipment-gallery{gap:18px 12px;margin-top:30px}.lab .equipment-gallery figure{padding:8px;border-radius:17px}.lab .equipment-gallery img{height:180px;border-radius:11px}.lab .equipment-gallery figure:nth-child(even){margin-top:30px;margin-bottom:0}.lab .equipment-gallery figcaption{font-size:12px;padding:10px 3px 3px;line-height:1.5}.lab .technical{border-radius:35px 0 35px 0}.lab .technical .features{grid-template-columns:1fr;gap:25px}.lab .technical h2{margin-bottom:30px}.lab .technical h3{font-size:24px;margin-bottom:15px}.lab .lab-placement{grid-template-columns:1fr;gap:30px}.lab .lab-zones article{padding:24px}.lab .lab-zones article:nth-child(n){margin-left:0}.lab .lab-zones article:nth-child(2){margin-left:15px}.lab .lab-zones b{font-size:19px}.lab .faq{padding-inline:6vw}.lab .faq summary{font-size:18px}.lab .request{border-radius:35px 35px 0 0;grid-template-columns:1fr;gap:28px}.lab .request form{padding:25px 20px;border-radius:24px;box-shadow:6px 6px 0 #78936e}.lab .contacts article{padding:23px;gap:18px}.lab .contacts a{font-size:16px}.lab .articles-grid{grid-template-columns:1fr}.lab #articles{padding-top:15px}.room-pointer{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.room-photo{transform:rotate(-2deg)!important}.room-pointer{display:none}.reveal-in{translate:none!important}}
.scene-change{animation:scene-change .5s ease-out}@keyframes scene-change{from{opacity:.65;scale:1.015}to{opacity:1;scale:1}}

/* Let the stacked heading use the same mobile text edge as the rest of the page. */
.lab-head>div{min-width:0}
@media(max-width:760px){.lab-head>div:first-child{width:100%;align-self:stretch}.lab .lab-intro{width:100%;align-self:stretch}}
@media(max-width:760px){.room-photo{bottom:90px}.room-note{bottom:0}}
@media(max-width:760px){.projected-room{height:420px;min-height:420px}.room-photo{bottom:125px}.room-note{max-width:230px}}
