@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@300;400;500;600&display=swap');
:root{--bg:#171817;--ink:#f0eee8;--muted:#acaca5;--glow:223,207,172;--line:#ffffff24}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif;transition:background 1.8s,color 1.2s}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:transparent;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;font-weight:400;line-height:1.08;letter-spacing:-.055em}h2{font-size:clamp(42px,6.8vw,105px)}em{font-family:Georgia,serif;font-weight:400}p{max-width:650px}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:500;margin-bottom:30px}.lede{font-size:clamp(18px,2vw,26px);margin-top:35px;color:var(--muted);max-width:650px}.ambience{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 52% 4%,rgba(var(--glow),.16),transparent 67%);animation:breathe 9s ease-in-out infinite alternate}header{position:fixed;top:0;left:0;right:0;height:105px;display:flex;justify-content:space-between;align-items:center;padding:20px 4%;z-index:50;pointer-events:none}header a{pointer-events:auto}.brand{width:110px;opacity:0;transition:opacity 1s}.brand img,.opening-brand img{filter:grayscale(1) invert(1);mix-blend-mode:screen}.talk{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.1em;background:#191a18c9;backdrop-filter:blur(18px);color:#f3f0e8;border:1px solid #ffffff40;padding:13px 20px;border-radius:40px}.talk svg{width:18px;height:18px}.talk span{margin-left:14px}.opening{min-height:800px;height:100svh;position:relative;overflow:hidden;background:#111210}.pendant{position:absolute;left:50%;top:0;width:70px;height:240px;transform:translateX(-50%);z-index:3;filter:brightness(.25);transition:filter .6s}.pendant img{width:600px;max-width:none;position:absolute;left:-265px;top:0;clip-path:polygon(49.5% 0,50.6% 0,50.6% 15%,53.5% 16%,53.5% 39%,52.5% 40%,47.7% 40%,46.8% 39%,46.8% 16%,49.5% 15%)}.light-cone{position:absolute;left:50%;top:235px;width:1150px;height:1100px;transform:translateX(-50%);background:conic-gradient(from 155deg at 50% 0,transparent 0deg,rgba(255,247,218,.1) 5deg,rgba(255,247,218,.19) 25deg,rgba(255,247,218,.1) 45deg,transparent 50deg);filter:blur(12px);mask-image:linear-gradient(#000,transparent 85%);opacity:0;transition:opacity 2s}.opening-brand{position:absolute;width:clamp(240px,29vw,400px);left:50%;top:38%;transform:translateX(-50%);opacity:0;transition:opacity 2s}.opening-thought{position:absolute;top:46%;left:8%;right:8%;font-size:clamp(64px,9vw,145px);text-align:center;opacity:0;transform:translateY(20px);transition:opacity 2s,transform 2s}.opening-foot{position:absolute;bottom:40px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.15em;opacity:0;transition:opacity 2s}.opening-foot b{display:inline-block;margin-left:20px;animation:drift 3s ease-in-out infinite alternate}.lit .pendant{filter:brightness(1)}.lit .light-cone{opacity:1;animation:breathe 8s ease-in-out 2s infinite alternate}.lit .opening-brand{opacity:1}.lit .opening-foot{opacity:1}.intro-done .opening-brand{opacity:0}.intro-done .opening-thought{opacity:1;transform:none}.intro-done .brand{opacity:1}.motion{position:fixed;bottom:20px;right:4%;z-index:60;border:1px solid #ffffff30;border-radius:30px;padding:8px 13px;background:#1a1b19d9;color:#eee;font-size:12px;backdrop-filter:blur(12px)}.progress{position:fixed;left:0;top:0;width:var(--progress,0%);height:2px;background:#d8c39a;z-index:100}.beat{min-height:100svh;padding:140px 10%;display:flex;align-items:center;position:relative}.skip{position:fixed;top:0;left:20px;transform:translateY(-150%);z-index:100;background:white;color:black;padding:15px}.skip:focus{transform:none}@keyframes breathe{from{opacity:.55}to{opacity:1}}@keyframes drift{from{transform:translateY(-5px)}to{transform:translateY(5px)}}.paused *{animation-play-state:paused!important}.paused{scroll-behavior:auto}@media(max-width:700px){header{height:90px;padding:15px 6%}.talk{padding:11px 14px;gap:8px}.talk span{display:none}.brand{width:84px}.opening{min-height:700px}.opening-foot{left:7%;right:7%;bottom:75px}.opening-foot>span{display:none}.opening-foot a{margin:auto}.opening-thought{top:47%}.beat{padding:110px 7%;min-height:90svh}.motion{right:6%;bottom:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.brand,.opening-foot,.light-cone,.opening-thought{opacity:1}.pendant{filter:brightness(1)}.opening-brand{display:none}}
/* The stage is continuous; lighting, rather than panels, changes its character. */
header .brand img,.opening-brand img{filter:none;mix-blend-mode:normal}header .brand{width:116px}body.is-light header .brand img{filter:brightness(.16)}body.is-light{--ink:#242722;--muted:#65685f;--line:#262a2424}.beat>div{width:100%}.beat p+p{margin-top:20px}.beat h2+ h2{margin-top:60px}.beat p:not(.eyebrow):not(.lede):not(.quiet){font-size:17px}.beat h3{font-size:clamp(30px,4vw,58px)}.quiet{color:var(--muted);font-size:16px;margin-top:45px}.quiet-link{display:inline-flex;gap:80px;margin-top:50px;border-bottom:1px solid var(--line);padding-bottom:12px}.seeing{gap:6%;padding-right:0;min-height:110svh}.seeing-copy{flex:1}.seeing-copy h2{font-size:clamp(40px,5.2vw,80px)}.seeing-copy h3{font-size:clamp(30px,3.8vw,58px);margin-top:25px}.seeing-image{width:45%;margin:0;position:relative;align-self:stretch;overflow:hidden}.seeing-image img{width:100%;height:100%;object-fit:cover;animation:kenburns 24s ease-in-out infinite alternate}.seeing-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 70%,#0009)}figcaption{font-size:11px;letter-spacing:.06em}.seeing-image figcaption{position:absolute;bottom:25px;left:25px;right:20px;color:#f3f0e9;z-index:2}.question{min-height:100svh}.question h2{font-size:clamp(70px,11vw,165px)}.question-line{position:absolute!important;right:20%;height:65%;width:1px!important;background:linear-gradient(transparent,#dbc89b,transparent);box-shadow:0 0 50px 6px #dec58525;transform:rotate(20deg);animation:breathe 7s ease-in-out infinite alternate}.overload{overflow:hidden;isolation:isolate}.catalogue-noise{position:absolute;inset:0;z-index:-1;mask-image:radial-gradient(ellipse at 50% 50%,transparent 15%,#000 75%)}.catalogue-noise span{position:absolute;left:var(--x);top:var(--y);font-size:var(--size);white-space:nowrap;opacity:.25;animation:noise 9s var(--delay) ease-in-out infinite alternate;font-family:monospace}.noise-focus{text-align:center}.noise-focus p{margin-left:auto;margin-right:auto}.noise-focus h2{font-size:clamp(46px,7vw,108px)}.noise-focus .lede{font-size:clamp(24px,3.3vw,50px);color:var(--ink)}.question-wheel{position:relative;height:240px;max-width:1000px}.question-wheel h2{position:absolute;inset:0;opacity:0;transform:translateY(30px);transition:opacity 1s,transform 1.5s;pointer-events:none}.question-wheel h2.active{opacity:1;transform:none}.pivot{padding-top:170px;padding-bottom:170px}.pivot h2{font-size:clamp(40px,6vw,92px)}.pivot .answer{margin-left:18%;color:#ddc9a1}.curated{display:grid;grid-template-columns:1fr 1fr;gap:10%;min-height:110svh}.curated h2{font-size:clamp(62px,8vw,118px)}.process-sequence{list-style:none;padding:0;margin:0}.process-sequence li{display:flex;gap:25px;padding:17px 0;border-bottom:1px solid var(--line);opacity:.42;transition:opacity 1s,transform 1s}.process-sequence li.active{opacity:1;transform:translateX(12px)}.process-sequence li>span{font:12px monospace;padding-top:8px}.process-sequence h3{font-size:28px}.process-sequence p{font-size:14px;color:var(--muted);margin-top:6px}.technical-world{padding:140px 10% 70px;position:relative}.tech-heading{position:relative;z-index:2}.tech-heading h2{font-size:clamp(43px,6vw,90px)}.tech-orbit{height:520px;position:relative;margin:50px -6% 0;overflow:hidden}.tech-orbit>span{position:absolute;left:var(--x);top:var(--y);font:12px monospace;letter-spacing:.06em;color:var(--muted);animation:float-tech 11s var(--delay) ease-in-out infinite alternate;z-index:2}.polar{position:absolute;height:430px;left:50%;top:25px;transform:translateX(-50%);color:#4b635f;opacity:.5;animation:polar-breathe 9s infinite alternate}.distribution{stroke:#98764d;stroke-dasharray:8 3;animation:dash 8s linear infinite}.technical-depth{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:30px 0}.technical-depth article{min-width:0}.technical-depth h3{font-size:clamp(30px,3.5vw,50px);margin:30px 0}.technical-depth p{font-size:16px;color:var(--muted)}.technical-depth .terms{font:12px/1.8 monospace;margin-top:28px;letter-spacing:.05em}.spectral-bar{height:165px;background:linear-gradient(90deg,#6d58a749,#668bad55,#7c9f7c66,#d8c07f77,#b4745855);clip-path:polygon(0 95%,0 70%,8% 20%,14% 66%,23% 70%,32% 43%,41% 37%,49% 34%,60% 17%,70% 25%,80% 45%,90% 60%,100% 76%,100% 95%);animation:breathe 6s infinite alternate}.beam-diagram{height:165px;width:100%}.thermal{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;min-height:110svh}.thermal .lede{margin-bottom:30px}.thermal-copy>p:not(.eyebrow){color:var(--muted)}.heat-path{position:relative;text-align:center;padding:30px 0}.heat-path:before{content:'';position:absolute;left:50%;width:160px;top:0;bottom:10%;transform:translateX(-50%);background:radial-gradient(ellipse,#d5aa7740,transparent 65%);z-index:-1;animation:breathe 6s infinite alternate}.heat-path div{border-top:1px solid var(--line);padding:22px 0}.heat-path b{display:block;font:12px monospace;letter-spacing:.09em}.heat-path span{display:block;color:var(--muted);font-size:14px;margin-top:6px}.heat-path i{display:block;animation:heat-flow 3s infinite;font-style:normal;color:#a77a46}.heat-path i:nth-of-type(2){animation-delay:1s}.heat-path i:nth-of-type(3){animation-delay:2s}.heat-path small{font-size:12px;display:block;line-height:1.7;color:var(--muted);margin-top:25px}.integration{min-height:110svh}.integration h2{font-size:clamp(46px,7vw,103px)}.integration-line{display:flex;gap:24px;align-items:center;margin:55px 0;border-block:1px solid var(--line);padding:35px 0;max-width:1000px}.integration-line span{font:12px/1.7 monospace;letter-spacing:.06em}.integration-line i{font-style:normal;color:#a88b5c;animation:breathe 3s infinite alternate}.integration details{max-width:750px;border-top:1px solid var(--line);margin-top:40px}.integration summary{padding:18px 0;cursor:pointer;list-style:none}.integration summary span{float:right}.integration details p{color:var(--muted);font-size:15px!important;margin-bottom:20px}.reassurance p{color:var(--muted);margin-bottom:35px}.reassurance h2{font-size:clamp(44px,6.7vw,100px)}.reassurance em{color:#decca8}.project-narrative{padding:120px 5% 100px}.project-intro{padding:0 5%;margin-bottom:70px}.project-intro h2{font-size:clamp(45px,6vw,88px)}.project-select{display:flex;gap:30px;margin:0 5% 30px;flex-wrap:wrap}.project-select button{border:0;border-bottom:1px solid transparent;padding:12px 0;font-size:14px;color:var(--muted)}.project-select button[aria-pressed=true]{color:var(--ink);border-color:currentColor}.project-select button span{font:11px monospace;margin-right:9px}.project-case{display:grid;grid-template-columns:1.5fr 1fr;gap:0;min-height:600px;background:#20221f;color:#f0eee8;overflow:hidden}.project-case[hidden]{display:none}.project-photo{position:relative;margin:0;overflow:hidden;min-width:0}.project-photo>img{width:100%;height:100%;object-fit:cover;animation:kenburns 24s infinite alternate ease-in-out}.project-photo:after{position:absolute;content:'';inset:0;background:linear-gradient(transparent 75%,#0009);pointer-events:none}.project-photo figcaption{position:absolute;bottom:20px;left:25px;right:20px;z-index:2;color:#eee}.target{position:absolute;width:70px;height:70px;border:1px solid #fff9;border-radius:50%;z-index:2;animation:target 5s infinite alternate;opacity:.6}.target:after{content:'+';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:16px monospace}.target-one{left:30%;top:50%}.target-two{right:15%;top:25%;animation-delay:-2s}.project-script{position:relative;padding:45px 12%;align-self:stretch}.project-script>.eyebrow{color:#c6c5bb;font-size:11px}.project-stage{position:absolute;left:12%;right:12%;top:130px;opacity:0;visibility:hidden;transition:opacity 1s,transform 1s;transform:translateY(15px)}.project-stage.active{opacity:1;visibility:visible;transform:none}.project-stage>span{font:11px monospace;letter-spacing:.14em;color:#bbbcb2}.project-stage h3{font-size:clamp(30px,3.2vw,48px);margin-top:28px}.project-stage p{font-size:15px;color:#bfc0b7;margin-top:25px}.fixture-crop{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:1125/1002;background:#f1f0ec}.fixture-crop img{position:absolute;max-width:none;width:100%;height:100%;left:0;top:0;object-fit:fill;filter:grayscale(1)}.surface-reflector-detail{aspect-ratio:1120/1250}.surface-reflector-detail img{width:108.928571%;height:122.24%;left:-3.57143%;top:-8%}.suspended-linear-optics{aspect-ratio:1208/928}.suspended-linear-optics img{width:100.99338%;height:100%}.linear-mounting-systems{aspect-ratio:1083/1918}.project-stage .fixture-crop{height:170px;width:190px;margin-top:24px;background:#eee}.project-stage .linear-mounting-systems{height:200px;width:113px}.project-stage .surface-reflector-detail{width:154px}.project-stage:has(.fixture-crop) h3{font-size:26px;margin-top:18px}.project-stage:has(.fixture-crop) p{margin-top:12px;font-size:13px}.stage-nav{display:flex;align-items:center;gap:24px;padding:30px 5%;border-bottom:1px solid var(--line)}.stage-nav button{border:0;padding:8px 0;color:var(--muted);font-size:13px}.stage-nav button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:8px}.stage-nav>span{opacity:.3}.stage-nav .project-play{margin-left:auto;border:1px solid var(--line);border-radius:50%;width:40px;height:40px;padding:0}.project-note{font-size:12px;color:var(--muted);padding:20px 5%;max-width:900px}.resort-story{padding:80px 10% 130px}.resort-story figure{margin:0 0 60px;position:relative;aspect-ratio:1.65;overflow:hidden}.resort-story img{width:100%;height:100%;object-fit:cover;animation:kenburns 25s infinite alternate}.resort-story figcaption{position:absolute;bottom:20px;left:25px;color:white;text-shadow:0 1px 5px #000}.resort-story h2{font-size:clamp(42px,6vw,90px);margin-bottom:28px}.resort-story p{color:var(--muted)}.resort-story .resort-flow{font-size:14px;margin-top:35px;max-width:900px}.resort-flow span{margin:0 10px;color:var(--ink)}.custom{display:grid;grid-template-columns:1.4fr 1fr;gap:8%}.custom h2{font-size:clamp(40px,5.1vw,78px)}.custom .lede{margin-bottom:25px}.custom-detail{position:relative}.custom-detail .fixture-crop{border-radius:50%;animation:levitate 9s infinite alternate}.custom-labels{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:35px;font:11px monospace;letter-spacing:.12em}.custom-labels span{animation:breathe 5s infinite alternate}.custom-labels span:nth-child(2n){animation-delay:-2s}.fewer{display:grid;grid-template-columns:1.5fr 1fr;gap:8%}.fewer .lede{margin-bottom:25px}.purpose{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 15px;font:12px monospace;text-align:center}.purpose>span{color:var(--muted);animation:unneeded 9s infinite alternate}.purpose .purpose-word{color:var(--ink);text-shadow:0 0 25px #ffe3a6;animation:breathe 5s infinite alternate}.credibility{min-height:90svh}.credibility>div{max-width:1050px}.credibility h2{font-size:clamp(60px,8vw,120px)}.credibility .lede{margin-bottom:20px}.clients{margin-top:65px;border-top:1px solid var(--line);padding-top:25px}.clients p:first-child{font-size:12px!important;letter-spacing:.08em;color:var(--muted)}.clients p:last-child{max-width:980px;font-size:14px!important;line-height:2.2;color:#c7c8bd;margin-top:14px}.value h2{font-size:clamp(46px,6.7vw,100px)}.value h3{margin-top:65px;font-size:clamp(28px,3.6vw,52px)}.transformation{padding:90px 0 70px;background:#151714;color:#f0eee8}.transform-intro{padding:40px 10% 75px}.transform-intro h2{font-size:clamp(50px,6.8vw,105px)}.transform-intro p:last-child{margin-top:30px;color:#b4b7ad}.light-lab{--base:1;--task:0;--wall:0;--tint:0;--colour:0;--temp:#f5d8a3;--hue-a:#656cc6;--hue-b:#c77076}.room{position:relative;width:100%;aspect-ratio:1672/941;overflow:hidden;background:#131512;isolation:isolate}.room img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 2.2s,filter 2.2s}.room-base{filter:brightness(var(--base))}.room-task{filter:brightness(1.2) saturate(.85);opacity:var(--task);mask-image:radial-gradient(ellipse 22% 18% at 65% 59%,#000 20%,transparent 90%),radial-gradient(ellipse 12% 17% at 90% 34%,#000 20%,transparent 90%),radial-gradient(ellipse 15% 12% at 18% 74%,#000 20%,transparent 95%),radial-gradient(ellipse 2% 3% at 36% 9%,#000,transparent),radial-gradient(ellipse 2% 3% at 64% 10%,#000,transparent)}.room-wall{filter:brightness(1.1);opacity:var(--wall);mask-image:linear-gradient(104deg,transparent 73%,#000 94%),radial-gradient(ellipse 27% 10% at 60% 27%,#000,transparent 95%)}.room-temperature{position:absolute;inset:0;background:var(--temp);mix-blend-mode:soft-light;opacity:var(--tint);transition:background 3s,opacity 3s;mask-image:linear-gradient(110deg,transparent 5%,#000 35%)}.room-colour{position:absolute;inset:0;background:linear-gradient(120deg,var(--hue-a),var(--hue-b) 72%,#e5b4b9);mix-blend-mode:color;opacity:var(--colour);transition:opacity 3s,background 3s;mask-image:linear-gradient(100deg,transparent 20%,#000 60%);animation:colour-shift 12s infinite alternate ease-in-out}.room-shadow{position:absolute;inset:0;background:linear-gradient(#0006,transparent 20%,transparent 58%,#000b);pointer-events:none}.room-top{position:absolute;top:25px;left:4%;right:4%;display:flex;justify-content:space-between;font:11px monospace;letter-spacing:.12em;color:#fff}.room-caption{position:absolute;left:7%;right:7%;bottom:9%;color:white}.room-caption p{font-size:clamp(15px,2vw,25px);margin-bottom:12px}.room-caption h3{font-size:clamp(30px,5vw,75px);text-shadow:0 2px 25px #0005}.room-timer{position:absolute;bottom:0;left:0;height:2px;background:#e4ce9e;width:var(--timer,0%);transition:width .1s linear}.light-lab[data-scene=considered],.light-lab[data-scene=warm27],.light-lab[data-scene=warm30],.light-lab[data-scene=neutral],.light-lab[data-scene=tunable],.light-lab[data-scene=colour],.light-lab[data-scene=rgbw],.light-lab[data-scene=event]{--base:.37;--task:1;--wall:.78;--tint:.35}.light-lab[data-scene=warm27]{--temp:#edb466;--tint:.65}.light-lab[data-scene=warm30]{--temp:#f1cf92;--tint:.48}.light-lab[data-scene=neutral]{--temp:#dceaff;--tint:.5;--base:.43}.light-lab[data-scene=tunable]{--temp:#f4d396;--tint:.6}.light-lab[data-scene=tunable] .room-temperature{animation:tunable 8s infinite alternate}.light-lab[data-scene=colour]{--colour:.75;--hue-a:#527594;--hue-b:#c18b50;--base:.33}.light-lab[data-scene=rgbw]{--colour:.85;--hue-a:#567bbc;--hue-b:#b0799c;--task:1;--base:.34}.light-lab[data-scene=event]{--colour:.95;--hue-a:#5576c4;--hue-b:#b26789;--base:.31;--tint:.1}.scene-controls{display:flex;justify-content:center;gap:22px;padding:32px 4%;flex-wrap:wrap;align-items:center}.scene-controls button{border:0;padding:5px 0;font-size:12px;color:#afb3a7;display:flex;align-items:center;gap:8px;min-height:36px}.scene-controls i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.3}.scene-controls button[aria-pressed=true]{color:#f5e8c8}.scene-controls button[aria-pressed=true] i{opacity:1;box-shadow:0 0 12px #efcd86}.scene-controls .lab-play{border:1px solid #ffffff40;border-radius:50%;width:40px;height:40px;justify-content:center}.simulation-note{margin:0 auto;text-align:center;font-size:12px;max-width:800px;color:#a6aa9c;padding:0 20px}.more{min-height:110svh}.more h2{font-size:clamp(50px,7.5vw,112px)}.recap{min-height:110svh}.recap h2{font-size:clamp(43px,6.2vw,92px)}.recap-line{margin-top:45px;color:var(--muted);font-size:14px!important;max-width:800px}.scale{display:flex;gap:80px;border-top:1px solid var(--line);padding-top:35px;margin-top:70px;max-width:900px}.scale h3{font-size:30px}.scale p{color:var(--muted);font-size:15px!important}.contact{text-align:center;overflow:hidden;min-height:110svh}.contact>div{position:relative;z-index:1}.contact .final-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,#e0bc794d,transparent 65%);z-index:0;animation:breathe 9s infinite alternate}.final-brand{width:175px;margin:0 auto 65px}.contact .eyebrow{margin-inline:auto}.contact h2{font-size:clamp(60px,9vw,135px)}.talk-final{display:inline-flex;margin:40px auto 35px}.contact-details{display:flex;gap:35px;justify-content:center;font-size:16px}.contact-details a{border-bottom:1px solid #24272235;padding-bottom:5px}.end-mark{max-width:none;display:flex;justify-content:space-between;margin-top:90px!important;font-size:11px!important;letter-spacing:.12em;color:var(--muted)}.paused .question-wheel h2{transition:none}.paused .question-wheel h2.active{opacity:1}.paused .process-sequence li{opacity:1;transform:none}@keyframes kenburns{from{transform:scale(1.01) translateX(0)}to{transform:scale(1.055) translateX(-.7%)}}@keyframes noise{from{transform:translate(-10px,10px);opacity:.12}to{transform:translate(20px,-30px);opacity:.5}}@keyframes float-tech{from{transform:translate(-12px,12px);opacity:.25}to{transform:translate(10px,-16px);opacity:.9}}@keyframes polar-breathe{from{opacity:.3}to{opacity:.7}}@keyframes dash{to{stroke-dashoffset:-88}}@keyframes heat-flow{0%,100%{opacity:.25;transform:translateY(-4px)}60%{opacity:1;transform:translateY(4px)}}@keyframes target{from{transform:scale(.75);opacity:.2}to{transform:scale(1.1);opacity:.65}}@keyframes levitate{from{transform:translateY(-8px)}to{transform:translateY(8px)}}@keyframes unneeded{from{opacity:.55}to{opacity:.07}}@keyframes tunable{from{background:#efbe7e}to{background:#d4e5ff}}@keyframes colour-shift{from{filter:hue-rotate(-12deg)}to{filter:hue-rotate(25deg)}}
@media(min-width:1800px){.beat{padding-left:max(10%,calc((100vw - 1500px)/2));padding-right:max(10%,calc((100vw - 1500px)/2))}}
@media(max-width:900px){.curated,.thermal{gap:6%;grid-template-columns:1fr 1fr}.seeing{padding-right:0}.project-case{min-height:540px;grid-template-columns:1.2fr 1fr}.project-script{padding:35px 9%}.project-stage{left:9%;right:9%;top:110px}.project-stage h3{font-size:30px}.custom{grid-template-columns:1.3fr 1fr}.purpose{font-size:10px;gap:35px 8px}.scene-controls{gap:13px}.technical-depth{gap:6%}}
@media(max-width:700px){.beat{min-height:95svh}.opening-thought{font-size:clamp(65px,13vw,95px)}header .brand{width:90px}.seeing{display:flex;flex-direction:column;gap:45px;padding:110px 7% 60px}.seeing-copy{width:100%}.seeing-copy h2{font-size:46px}.seeing-copy h3{font-size:34px}.seeing-image{width:100%;height:430px}.question h2{font-size:78px}.question-line{right:15%}.question-wheel{height:230px}.question-wheel h2{font-size:48px;letter-spacing:-.05em}.pivot{padding-top:120px;padding-bottom:120px}.pivot h2{font-size:42px}.pivot .answer{margin-left:5%;margin-top:60px}.curated,.thermal,.custom,.fewer{display:flex;flex-direction:column;gap:60px;align-items:stretch}.curated h2{font-size:80px}.process-sequence li{padding:14px 0}.process-sequence h3{font-size:25px}.technical-world{padding:100px 7% 40px}.tech-orbit{height:390px;margin:25px -5%}.tech-orbit>span{font-size:10px}.polar{height:340px;top:25px}.technical-depth{grid-template-columns:1fr;gap:60px}.technical-depth h3{font-size:37px}.spectral-bar,.beam-diagram{height:130px}.thermal h2{font-size:64px}.heat-path{padding:0 7%}.integration h2{font-size:46px}.integration-line{gap:12px;flex-direction:column;align-items:flex-start;margin:30px 0;padding:25px 0}.integration-line i{transform:rotate(90deg)}.integration-line span{font-size:12px}.reassurance h2{font-size:44px}.project-narrative{padding:90px 0 60px}.project-intro{padding:0 7%;margin-bottom:45px}.project-intro h2{font-size:44px}.project-select{margin:0 7% 25px;gap:8px 20px}.project-select button{font-size:12px}.project-case{display:flex;flex-direction:column;min-height:0}.project-photo{height:380px}.project-script{height:420px;padding:30px 7%}.project-stage{left:7%;right:7%;top:85px}.project-stage h3{font-size:34px;max-width:360px;margin-top:23px}.project-stage p{max-width:420px;font-size:15px}.project-stage .fixture-crop{float:right;margin:0 0 15px 16px;width:130px;height:140px}.project-stage .linear-mounting-systems{height:190px;width:107px}.project-stage .surface-reflector-detail{width:125px}.project-stage:has(.fixture-crop) h3{font-size:28px;margin-top:25px}.project-stage:has(.fixture-crop) p{font-size:14px;margin-top:20px}.stage-nav{padding:20px 7%;gap:12px;flex-wrap:wrap}.stage-nav button{font-size:12px}.stage-nav>span{display:none}.stage-nav .project-play{width:32px;height:32px}.project-note{padding:20px 7%}.resort-story{padding:60px 7% 90px}.resort-story figure{aspect-ratio:.9;margin-bottom:45px}.resort-story h2{font-size:44px}.resort-story figcaption{font-size:9px;left:15px}.custom h2{font-size:43px}.custom-detail{max-width:340px;align-self:center}.fewer h2{font-size:48px}.purpose{font-size:12px;padding:30px 0}.credibility h2{font-size:72px}.clients{margin-top:45px}.value h2{font-size:46px}.value h3{font-size:32px}.transform-intro{padding:40px 7% 60px}.transform-intro h2{font-size:54px}.room{aspect-ratio:1.12}.room img{object-fit:fill}.room-top{top:16px;left:5%;right:5%;font-size:9px;gap:15px}.room-top span:first-child{max-width:120px}.room-caption{left:6%;right:6%;bottom:10%}.room-caption h3{font-size:35px}.room-caption p{font-size:15px}.scene-controls{gap:9px 18px;padding:22px 7%}.scene-controls button{font-size:11px}.scene-controls i{width:4px;height:4px}.more h2{font-size:55px}.recap h2{font-size:44px}.scale{flex-direction:column;gap:25px;margin-top:50px}.scale h3{font-size:32px}.contact h2{font-size:64px}.contact-details{flex-direction:column;gap:18px;align-items:center}.end-mark{gap:20px;text-align:left;line-height:1.8;font-size:9px!important}.final-brand{width:150px;margin-bottom:55px}}
@media(prefers-reduced-motion:reduce){.question-wheel{height:auto}.question-wheel h2{position:static;opacity:1;transform:none;font-size:clamp(30px,4vw,56px);margin:25px 0}.process-sequence li{opacity:1;transform:none}.project-photo>img,.seeing-image img,.resort-story img{transform:none}.catalogue-noise span,.tech-orbit>span{opacity:.4}.room-timer{display:none}}

.is-away *{animation-play-state:paused!important}.project-stories[data-stage="3"] .target{opacity:0;animation:none}.project-stories[data-stage="1"] .project-photo>img{filter:brightness(.6);transition:filter 1s}.project-photo>img{transition:filter 1s}
/* Preserve source proportions and contain the theatrical light at narrow widths. */
img{height:auto}
.pendant{overflow:hidden}
.pendant img{height:auto}
.question{overflow:hidden}
.room-task{mask-image:radial-gradient(ellipse 22% 18% at 65% 59%,#000 20%,transparent 90%),radial-gradient(ellipse 12% 17% at 90% 34%,#000 20%,transparent 90%),radial-gradient(ellipse 15% 12% at 18% 74%,#000 20%,transparent 95%)}
@media(max-width:700px){.room img{width:159%;max-width:none;height:100%;left:-29.5%;object-fit:fill}.opening-thought{top:43%}.opening-foot{bottom:95px}}
.local-paused *{animation-play-state:paused!important}
.noise-fixtures{position:absolute;inset:0;pointer-events:none;z-index:-1}
.noise-fixtures>.fixture-crop{position:absolute;width:130px;opacity:.14;animation:noise 7s infinite alternate;mix-blend-mode:luminosity}
.noise-fixtures>.fixture-crop:nth-child(1){top:12%;left:10%}
.noise-fixtures>.fixture-crop:nth-child(2){top:16%;right:10%;animation-delay:-3s}
.noise-fixtures>.fixture-crop:nth-child(3){bottom:8%;left:25%;animation-delay:-5s}
@media(max-width:700px){.noise-fixtures>.fixture-crop{width:90px}}
/* Light is the canvas: darkness belongs only to the moment before switch-on. */
:root{--bg:#f3f3ee;--ink:#242722;--muted:#60645a;--line:#262a2429}
body{isolation:isolate;transition:background-color 2.2s ease,color 1s}
.ambience{background:radial-gradient(ellipse at 40% 0%,rgba(var(--glow),.46),transparent 68%),radial-gradient(ellipse at 90% 65%,rgba(var(--glow),.2),transparent 65%);background-size:130% 130%;animation:daylight-breathe 12s ease-in-out infinite alternate}
.opening{background:#111210;transition:background-color 1.35s ease}
.lit .opening{background:var(--bg)}
.lit .opening:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 17%,#fffdf1e6,transparent 74%);animation:breathe 8s ease-in-out infinite alternate}
.opening-brand img{filter:brightness(.16)}
.opening-thought,.opening-foot{color:#252820}
.lit .light-cone{background:conic-gradient(from 155deg at 50% 0,transparent 0deg,#fffcee66 5deg,#fffefa 25deg,#fffcee66 45deg,transparent 50deg)}
.lit .talk,.lit .motion{background:#faf9f0ed;color:#252820;border-color:#25282044;box-shadow:0 3px 25px #54492d0a}
.lit .brand img{filter:brightness(.16)}
.pivot .answer,.reassurance em{color:#715b32}
.project-case{background:#f7f5ec;color:#252820;border:1px solid #2528201a}
.project-script>.eyebrow,.project-stage>span{color:#65685d}
.project-stage p{color:#585e51}
.project-stage:has(.fixture-crop) p{color:#585e51}
.project-stage .fixture-crop{border:1px solid #25282014}
.seeing-image figcaption,.project-photo figcaption,.resort-story figcaption{background:#faf8efed;color:#34392e;text-shadow:none;padding:10px 13px;width:fit-content;max-width:calc(100% - 45px);backdrop-filter:blur(12px);border-radius:2px}
.clients p:last-child{color:#52594b}
.transformation{background:transparent;color:var(--ink)}
.transform-intro p:last-child{color:var(--muted)}
.light-lab{background:#faf8ef}
.room-caption{position:relative;inset:auto;padding:35px 7% 15px;color:#252820;background:#faf8ef}
.room-caption h3{text-shadow:none;font-size:clamp(32px,4.8vw,72px)}
.room-caption p{color:#626856;font-size:clamp(16px,1.8vw,23px)}
.room-shadow{background:linear-gradient(#0002,transparent 18%,transparent 88%,#0001)}
.room-top{color:#252820;align-items:flex-start}
.room-top span{background:#faf8efee;padding:9px 12px;backdrop-filter:blur(10px)}
.scene-controls{background:#faf8ef}
.scene-controls button{color:#646957}
.scene-controls button[aria-pressed=true]{color:#292e21;font-weight:600}
.scene-controls button[aria-pressed=true] i{background:#7d6b37;box-shadow:0 0 9px #ad904c88}
.scene-controls .lab-play{border-color:#25282044}
.simulation-note{color:#666d5a;padding-bottom:30px}
body[data-ambience=colour] .ambience{background:radial-gradient(ellipse at 10% 20%,rgba(var(--glow),.48),transparent 65%),radial-gradient(ellipse at 92% 65%,#c6dfe778,transparent 65%),radial-gradient(ellipse at 55% 95%,#ead5c18c,transparent 65%);background-size:140% 140%;animation:hue-wash 16s infinite alternate ease-in-out}
@keyframes daylight-breathe{from{opacity:.65;background-position:0% 0%}to{opacity:1;background-position:75% 35%}}
@keyframes hue-wash{from{opacity:.8;background-position:0% 15%;filter:hue-rotate(-8deg)}to{opacity:1;background-position:80% 60%;filter:hue-rotate(20deg)}}
@media(max-width:700px){.room-caption{inset:auto;padding:28px 7% 8px}.room-caption h3{font-size:35px}.room-caption p{font-size:16px}.room-top span{padding:6px 8px;font-size:9px}.project-stage p{color:#585e51}}
@media(prefers-reduced-motion:reduce){.opening{background:#f3f3ee}.ambience{animation:none!important}}
.lit header{background:linear-gradient(#f7f6eff0 0%,#f7f6efba 65%,#f7f6ef00 100%)}
/* Restored before/after imagery and the original, richer lighting treatment. */
.comparison .lit-scene,.comparison .poor-scene{position:absolute;inset:0}
.comparison .lit-scene img,.comparison .poor-scene img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%;mask:none;opacity:1;transform:none;filter:none}
.comparison .lit-scene img{transition:filter 1.5s ease}
.comparison .poor-scene{clip-path:inset(0 var(--reveal) 0 0);transition:clip-path 2.2s cubic-bezier(.3,0,.2,1)}
.comparison-colour{position:absolute;inset:0;mix-blend-mode:color;opacity:0;transition:opacity 1.5s,background 1.5s}
.comparison .room-top{z-index:4;pointer-events:none}
.comparison-divider{position:absolute;top:0;bottom:0;left:calc(100% - var(--reveal));width:2px;background:#fff9;z-index:4;pointer-events:none;transition:left 2.2s cubic-bezier(.3,0,.2,1)}
.comparison-divider span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#faf8eff0;border:1px solid #fff;color:#34392e;display:grid;place-items:center;font-size:22px}
.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:5;cursor:ew-resize;margin:0;direction:rtl}
.comparison:focus-within{outline:2px solid #957d4c;outline-offset:4px}
.comparison.manual .poor-scene,.comparison.manual .comparison-divider{transition:none}
.comparison .room-timer{z-index:6;pointer-events:none}
.light-lab[data-scene=warm27] .lit-scene img{filter:brightness(.78) saturate(1.1)}
.light-lab[data-scene=warm27] .comparison-colour{background:radial-gradient(ellipse at 40% 10%,#ffa453aa,transparent 85%);opacity:.65}
.light-lab[data-scene=warm30] .comparison-colour{background:radial-gradient(ellipse at 60% 10%,#ffc47ca0,transparent 80%);opacity:.22}
.light-lab[data-scene=neutral] .lit-scene img{filter:saturate(.64) brightness(1.08)}
.light-lab[data-scene=neutral] .comparison-colour{background:linear-gradient(#a1d5ffb0,#c9e2f850);opacity:.8}
.light-lab[data-scene=tunable] .lit-scene img{filter:saturate(.8) brightness(.98)}
.light-lab[data-scene=tunable] .comparison-colour{background:linear-gradient(var(--temperature-colour,#ffe0a1),transparent);opacity:.7;animation:white-temperature-cycle 8s infinite alternate ease-in-out}
.light-lab[data-scene=tunable].local-paused .comparison-colour{animation:none}
.light-lab[data-scene=colour] .lit-scene img{filter:brightness(.8) saturate(.75)}
.light-lab[data-scene=colour] .comparison-colour{background:radial-gradient(ellipse at 80% 0%,hsl(var(--hue,280) 90% 62% / .95),transparent 70%),radial-gradient(ellipse at 0% 15%,hsl(calc(var(--hue,280) + 90) 90% 62% / .9),transparent 65%);opacity:.95;animation:breathe 6s ease-in-out infinite alternate}
.light-lab[data-scene=rgbw] .comparison-colour{background:radial-gradient(ellipse at 85% 15%,#ba55eacc,transparent 65%),radial-gradient(ellipse at 8% 35%,#25cdeacc,transparent 55%);opacity:.9;mask-image:radial-gradient(ellipse 28% 24% at 65% 59%,transparent 20%,#000 95%);animation:breathe 7s ease-in-out infinite alternate}
.light-lab[data-scene=event] .lit-scene img{filter:brightness(.8)}
.light-lab[data-scene=event] .comparison-colour{background:radial-gradient(ellipse at 75% 15%,#ed42cacc,transparent 70%),radial-gradient(ellipse at 10% 40%,#1bd6edee,transparent 65%);opacity:1;animation:event-hue-cycle 14s linear infinite}
.fine-controls{padding:12px 7% 35px;display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#faf8ef}
.fine-controls label{font-size:14px;color:#555e4b;display:grid;grid-template-columns:1fr auto;gap:10px}
.fine-controls output{font:12px monospace;align-self:center;color:#303729}
.fine-controls input{grid-column:1/-1;width:100%;min-height:30px;margin:3px 0;accent-color:#948052;cursor:pointer}
.fine-controls label:last-child input{accent-color:#9c83ab}
@keyframes event-hue-cycle{to{filter:hue-rotate(360deg)}}
@keyframes white-temperature-cycle{from{background:linear-gradient(#ffc779aa,transparent)}to{background:linear-gradient(#a1d5ffcc,transparent)}}
@media(max-width:700px){.comparison{aspect-ratio:4/3}.comparison .lit-scene img,.comparison .poor-scene img{width:100%;height:100%;left:0;object-fit:cover;object-position:53% center}.fine-controls{grid-template-columns:1fr;gap:24px}.comparison-divider span{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.comparison .poor-scene,.comparison-divider{transition:none!important}}

/* Lighting references, woven into the technical story. */
.lighting-study{grid-column:1/-1;width:100%;margin-top:100px;text-align:left;position:relative;z-index:2}.study-heading{display:flex;align-items:baseline;gap:5%;margin-bottom:32px}.study-heading h3{font-size:clamp(26px,3vw,44px);font-weight:400;margin:0;flex:1}.study-heading p{flex:1;max-width:560px;font-size:16px;line-height:1.7}.study-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}.study-tools figure{margin:0;min-width:0}.reference-window{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#f4f3ef;overflow:hidden;padding:12px}.reference-crop{position:relative;overflow:hidden;flex-shrink:0}.reference-crop img{position:absolute;max-width:none;object-fit:fill;animation:none;transform:none}.study-tools figcaption{position:static!important;background:transparent!important;color:#4a4943!important;padding:14px 0!important;font-size:12px!important;letter-spacing:.035em;line-height:1.5}.integration{display:block}.integration>.lighting-study{max-width:none}.study-tools figure:nth-child(3n+2) .reference-window{background:#efeee9}@media(min-width:1100px){.thermal .study-tools{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:650px){.lighting-study{margin-top:64px}.study-heading{display:block}.study-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.reference-window{padding:5px}.study-tools figcaption{font-size:11px!important}}
