@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/barlow-condensed-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/barlow-condensed-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/barlow-condensed-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/barlow-condensed-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/barlow-condensed-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/barlow-condensed-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/barlow-condensed-800-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/barlow-condensed-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/dm-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--bg:#090a09;--fg:#f2e9ef;--muted:#a499a4;--acid:#ff00ff;--line:#ffffff24;--pad:clamp(24px,5.2vw,88px);color-scheme:dark;font-family:'DM Sans',Arial,sans-serif;font-size:16px;background:var(--bg);color:var(--fg)}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--acid);outline-offset:7px}button{border:0;background:none}::selection{background:var(--acid);color:#090a09}.skip{position:fixed;top:-80px;left:24px;z-index:100;background:var(--acid);color:#000;padding:16px}.skip:focus{top:10px}.header{height:112px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:30;border-bottom:1px solid var(--line);background:#090a09e8}.brand{display:flex;align-items:center;gap:12px;font-size:18px;line-height:.93;font-weight:800;letter-spacing:-.7px}.brand-period{color:var(--acid)}.brand-mark{display:flex;align-items:center;gap:3px;height:35px}.brand-mark i{width:4px;background:var(--acid);height:16px}.brand-mark i:nth-child(2){height:32px}.brand-mark i:nth-child(3){height:24px}.brand-mark i:nth-child(4){height:12px}nav{display:flex;gap:32px;font-size:14px}nav a{color:#bcb3b9;position:relative;padding:20px 0}nav a:hover,nav a[aria-current=page]{color:var(--fg)}nav a[aria-current=page]:after{content:'';position:absolute;bottom:7px;left:0;width:20px;height:2px;background:var(--acid)}.header-tag{font-size:12px;letter-spacing:1.8px;color:var(--muted)}.menu-toggle{display:none}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:14px}.eyebrow:before{content:'';height:1px;width:28px;background:var(--acid)}h1,h2,h3,p{margin:0}h1,h2,.display{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-stretch:condensed;font-weight:600;text-transform:uppercase;letter-spacing:-.02em;line-height:.9}h1{font-size:clamp(5rem,9.6vw,10.5rem)}h2{font-size:clamp(3.3rem,6vw,6rem)}p{line-height:1.75;color:#bab0b6}main{min-height:70vh;outline:none}.home-hero{min-height:calc(100svh - 112px);position:relative;padding:68px var(--pad) 30px;display:flex;flex-direction:column;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;opacity:.76}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#090a09e6 0%,#090a0970 50%,transparent 100%),linear-gradient(0deg,#090a09 0%,transparent 32%)}.hero-top{display:flex;justify-content:space-between;max-width:calc(100% - 185px)}.hero-caption{font-size:12px;letter-spacing:1.5px;color:#ab9aab}.home-hero h1{margin:32px 0 26px;max-width:1050px}.home-hero h1 .outline{-webkit-text-stroke:1px #e5cfdd;color:transparent}.acid{color:var(--acid)}.hero-summary{display:flex;align-items:flex-end;gap:62px;margin-bottom:42px}.hero-summary p{max-width:345px;font-size:16px}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:14px;padding:14px 0;border-bottom:1px solid #7f607f;white-space:nowrap}.text-link span{font-size:24px;color:var(--acid);transition:transform .2s}.text-link:hover span{transform:translate(4px,-4px)}.hero-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;max-width:calc(100% - 160px);padding-top:22px;border-top:1px solid var(--line);font-size:12px;letter-spacing:1px;color:#aa96aa}.hero-bottom .scroll{display:flex;gap:20px;align-items:center}.scroll span{color:var(--acid);font-size:22px}.vertical-note{position:absolute;right:28px;top:45%;writing-mode:vertical-rl;font-size:12px;letter-spacing:2px;color:#d5aec7}.section{padding:100px var(--pad)}.intro{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;border-bottom:1px solid var(--line)}.intro h2{max-width:620px}.intro-copy{padding-top:12px;max-width:520px}.intro-copy p{font-size:18px}.small-meta{font-size:12px;letter-spacing:1.7px;color:var(--muted);margin-top:28px}.services{padding-right:calc(var(--pad) + 100px)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.section-heading>span{font-size:12px;color:var(--muted);letter-spacing:2px}.service-row{display:grid;grid-template-columns:64px 1fr 1fr 40px;align-items:center;gap:26px;padding:40px 0;border-top:1px solid var(--line);transition:padding .25s,background .25s}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row:hover{padding-left:18px;background:#ffffff04}.service-index{font-size:12px;color:var(--acid);align-self:start;margin-top:8px}.service-row h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(2.3rem,4vw,4.4rem);text-transform:uppercase;font-weight:500;line-height:1}.service-row p{font-size:14px;max-width:300px}.row-arrow{font-size:34px;color:var(--acid)}.closing{padding:70px var(--pad);background:var(--acid);color:#120a12;display:flex;align-items:center;justify-content:space-between;gap:40px}.closing h2{font-size:clamp(3rem,5vw,5.8rem)}.closing p{max-width:360px;color:#3b193b}.fixture{position:fixed;z-index:40;top:130px;right:40px;width:120px;height:145px;padding:0;filter:drop-shadow(0 8px 14px #0008)}.fixture svg{width:108px;height:125px;overflow:visible}.fixture-head{transform-origin:60px 63px;transform:rotate(-7deg);transition:transform 900ms cubic-bezier(.2,.7,.2,1)}.fixture:hover .fixture-head{transform:rotate(14deg)}.fixture .lens{opacity:.38;transition:opacity .6s}.fixture-hint{position:absolute;white-space:nowrap;right:110px;top:31px;font-size:11px;letter-spacing:1.6px;color:#d7b8cc}.fixture-hint span{display:inline-block;margin-left:12px;color:var(--acid);font-size:20px}.fixture-mobile-label{display:none}.fader-panel{position:fixed;z-index:40;bottom:34px;right:42px;width:87px;background:linear-gradient(110deg,#231e23,#11130f 60%);padding:14px 10px 12px;border:1px solid #483a48;border-radius:4px;box-shadow:0 12px 35px #0008}.fader-title{font-size:11px;letter-spacing:1.6px;display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 0 14px}.fader-title span{color:var(--acid);font-size:16px}.fader-body{position:relative;height:132px;--level:0}.fader-track{position:absolute;left:45px;top:0;width:5px;height:132px;background:#020300;border:1px solid #443544;border-radius:4px}.fader-scale{position:absolute;top:-6px;bottom:-6px;left:10px;display:flex;flex-direction:column;justify-content:space-between;font:10px monospace;color:#9d8b9d}.meter{width:3px;height:130px;position:absolute;left:0;bottom:0;background:repeating-linear-gradient(to top,#5f285f 0 5px,transparent 5px 8px)}.fader-body input{position:absolute;inset:-8px 0 -8px 28px;width:40px;height:148px;writing-mode:vertical-lr;direction:rtl;opacity:0;cursor:ns-resize;z-index:3;touch-action:none;margin:0}.fader-cap{pointer-events:none;position:absolute;left:31px;bottom:calc(var(--level)*1% - 9px);width:34px;height:21px;border-radius:2px;background:linear-gradient(#7b697b,#d9c5d2 44%,#483a48 49%,#c0a6b6 65%,#6d566d);border:1px solid #9b7e9b;box-shadow:0 3px 8px #000}.fader-cap i{display:block;height:2px;background:#ff00ff;margin-top:9px}.fader-body:focus-within{outline:2px solid var(--acid);outline-offset:7px}.fader-label{font-size:9px;letter-spacing:.8px;white-space:nowrap;margin-top:20px;padding:0;color:#c5adbc}.beam-field{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .9s;background:radial-gradient(ellipse at 80% 10%,#ffb7e526,transparent 75%);clip-path:polygon(calc(100% - 100px) 200px,0 100%,100% 100%)}body[data-page=light]{background:#000}body[data-page=light] .fixture-head{transform:rotate(40deg)}body[data-page=light] .fixture .lens{opacity:1;filter:drop-shadow(0 4px 10px #ff8dd5)}body[data-page=light] .fixture-hint{color:var(--acid)}body[data-page=light] .beam-field{opacity:1}body[data-page=light] footer{background:#000}body[data-page=light] .fader-panel{opacity:.5}body[data-page=sound] .meter{background:repeating-linear-gradient(to top,var(--acid) 0 5px,transparent 5px 8px)}.inner-hero{padding:70px calc(var(--pad) + 110px) 80px var(--pad);border-bottom:1px solid var(--line);position:relative;overflow:hidden;isolation:isolate}.inner-hero h1{margin:42px 0 30px}.inner-lead{max-width:550px;font-size:18px}.inner-bottom{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:58px;font-size:12px;letter-spacing:1.5px;color:var(--muted)}.audio-wave{display:flex;align-items:center;gap:5px;height:120px;position:absolute;right:190px;bottom:70px;opacity:.48;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000)}.audio-wave i{height:var(--h);width:4px;background:var(--acid);transform-origin:center;animation:pulse 1.8s ease-in-out infinite alternate;animation-delay:var(--d)}@keyframes pulse{to{transform:scaleY(.35)}}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-right:calc(var(--pad) + 120px)}.detail-grid h2{margin-bottom:30px}.detail-list{border-top:1px solid var(--line)}.detail-list article{padding:26px 0;border-bottom:1px solid var(--line)}.detail-list h3{font-size:18px;font-weight:500;margin-bottom:10px}.detail-list h3 span{color:var(--acid);font-family:monospace;font-size:12px;margin-right:16px}.detail-list p{font-size:15px;max-width:500px}.full-photo{position:relative;height:370px;overflow:hidden;margin-right:calc(var(--pad) + 110px);margin-left:var(--pad);border:1px solid var(--line)}.full-photo img{width:100%;height:100%;object-fit:cover}.full-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0009)}.full-photo span{position:absolute;left:30px;bottom:24px;z-index:2;font-size:12px;letter-spacing:1.8px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-right:calc(var(--pad) + 110px)}.process article{border-top:1px solid var(--line);padding-top:20px}.process .number{font-family:'Barlow Condensed',Impact,sans-serif;font-size:46px;color:var(--acid);margin-bottom:24px}.process h3{font-size:18px;font-weight:500;margin-bottom:12px}.process p{font-size:15px}.install-hero h1{font-size:clamp(5rem,9.5vw,10.5rem)}.install-diagram{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:64px;gap:30px;padding-top:24px}.install-diagram span{font-size:12px;letter-spacing:1.7px;color:var(--muted)}.install-diagram strong{display:block;font-size:16px;font-weight:500;color:var(--fg);margin-top:8px}.light-stage{height:calc(100svh - 112px);position:relative;overflow:hidden;background:#000}.light-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#552355 #000;padding:170px 22% 50px 16%;position:relative;z-index:2;clip-path:polygon(calc(100% - 100px) 90px,0 100%,100% 100%);background:radial-gradient(ellipse at 73% 10%,#89328920,transparent 75%)}.light-intro{min-height:calc(100svh - 270px);padding-top:20px;display:flex;flex-direction:column;justify-content:center}.light-intro h1{font-size:clamp(5rem,8vw,8.8rem);margin:30px 0}.light-intro p{max-width:470px;color:#ccaec1;font-size:17px}.light-intro .eyebrow{color:#e7bcd7}.light-scroll-hint{margin-top:32px;color:var(--acid);font-size:12px;letter-spacing:1.5px}.light-chapter{min-height:75svh;display:flex;flex-direction:column;justify-content:center;padding:45px 0;border-top:1px solid #d081b333}.light-chapter h2{margin:24px 0;font-size:clamp(3.5rem,5.5vw,6rem)}.light-chapter p{color:#c7a9bc;max-width:520px}.light-chapter .text-link{align-self:flex-start;margin-top:30px}.light-controls{position:absolute;bottom:24px;left:30px;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.light-controls button{font-size:12px;padding:10px 14px;border:1px solid #4d304d;border-radius:25px;color:#c3a0b6}.light-controls button:hover{border-color:var(--acid);color:var(--acid)}.light-progress{font-size:12px;letter-spacing:1.5px;color:#9e7e9e;padding-left:8px}.light-wide .light-scroll{clip-path:none;padding-top:70px}.light-wide .light-intro{min-height:75svh}.light-wide .beam-field{clip-path:none;opacity:.5}.light-wide .light-scroll{background:radial-gradient(ellipse at top right,#9b269b29,transparent 80%)}footer{padding:36px var(--pad);display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-right:calc(var(--pad) + 110px)}.footer-name{font-weight:700;color:#dfced9;letter-spacing:-.4px}.page-in{animation:page-in .55s both}@keyframes page-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.home-hero{padding-top:90px}.hero-summary{margin-bottom:65px}.home-hero h1{margin-top:50px}}
@media(max-width:1100px){nav{gap:22px}.header-tag{display:none}.hero-caption{display:none}.hero-summary{gap:35px}.home-hero h1{font-size:10.7vw}.intro{gap:45px}.service-row{grid-template-columns:40px 1fr 40px}.service-row p{grid-column:2;grid-row:2;max-width:440px}.row-arrow{grid-column:3;grid-row:1}.fixture{right:20px}.fader-panel{right:25px}.fixture-hint{display:none}.light-scroll{padding-left:12%;padding-right:20%;padding-top:190px;clip-path:polygon(calc(100% - 80px) 90px,0 100%,100% 100%)}.light-intro h1{font-size:8.7vw}.light-intro p{font-size:16px}.detail-grid{gap:40px}.audio-wave{right:130px;opacity:.23}}
@media(max-width:700px){:root{--pad:24px}.header{height:86px;padding:0 24px}.brand{font-size:16px}.brand-mark{transform:scale(.85);transform-origin:left center;margin-right:-4px}.menu-toggle{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px}.menu-toggle span{width:24px;height:1px;background:#eaccdf;transition:transform .2s}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}nav{display:none;position:absolute;top:86px;left:0;right:0;background:#0a0c08;border-bottom:1px solid #5b365b;padding:24px;flex-direction:column;gap:0}.menu-open nav{display:flex}nav a{font-size:18px;padding:18px 0}nav a[aria-current=page]:after{bottom:8px}.home-hero{min-height:calc(100svh - 86px);padding-top:45px;padding-bottom:26px}.hero-top{max-width:calc(100% - 65px)}.eyebrow{font-size:10px;letter-spacing:1.6px;gap:10px;line-height:1.6}.eyebrow:before{width:18px}.home-hero h1{font-size:clamp(4.2rem,14vw,6.8rem);margin:45px 0 26px;line-height:.93}.hero-photo{object-position:65% center;opacity:.62}.hero-shade{background:linear-gradient(90deg,#090a09c9,transparent),linear-gradient(0deg,#090a09,transparent 60%)}.hero-summary{display:block;margin-bottom:40px}.hero-summary p{max-width:270px;font-size:15px;line-height:1.7}.hero-summary .text-link{margin-top:14px;gap:25px}.hero-bottom{max-width:calc(100% - 65px);font-size:10px;letter-spacing:.6px}.hero-bottom>span{display:none}.vertical-note{display:none}.fixture{top:105px;right:14px;width:64px;height:95px}.fixture svg{width:64px;height:75px}.fixture-mobile-label{display:block;font-size:10px;letter-spacing:1px;color:#ddb9d0}.fader-panel{right:16px;bottom:20px;width:62px;padding:10px 6px}.fader-title{font-size:9px;letter-spacing:.7px;padding-bottom:12px}.fader-body{height:86px}.fader-track{height:86px;left:32px}.fader-scale{left:7px;font-size:8px}.meter{height:85px;width:2px}.fader-body input{height:102px;width:32px;left:22px}.fader-cap{left:23px;width:27px;height:19px}.fader-cap i{margin-top:8px}.fader-label{font-size:8px;letter-spacing:0;margin-top:17px;white-space:normal;line-height:1.4}.section{padding:64px 24px}.intro{grid-template-columns:1fr;gap:26px}.intro h2{font-size:3.4rem;max-width:310px}.intro-copy{padding:0}.intro-copy p{font-size:16px;max-width:310px}.small-meta{font-size:10px;line-height:1.8}.services{padding-right:90px}.section-heading>span{display:none}.service-row{gap:12px;grid-template-columns:24px 1fr 24px;padding:30px 0}.service-row h3{font-size:2.2rem}.service-row p{font-size:14px}.row-arrow{font-size:24px}.closing{padding:50px 90px 50px 24px;display:block}.closing h2{font-size:3.6rem}.closing p{margin-top:20px;font-size:15px}.inner-hero{padding:48px 24px 48px}.inner-hero h1{font-size:clamp(4rem,15.3vw,6.6rem);margin:45px 0 26px;max-width:calc(100% - 28px)}.inner-lead{font-size:16px;max-width:calc(100% - 55px)}.inner-bottom{font-size:10px;line-height:1.8;display:block;margin-top:36px}.inner-bottom span{display:block;margin:10px 0}.audio-wave{right:10px;bottom:110px;opacity:.12}.detail-grid{grid-template-columns:1fr;gap:36px;padding-right:90px}.detail-grid h2{font-size:3.1rem}.detail-list h3{font-size:17px}.detail-list h3 span{display:block;margin-bottom:12px}.detail-list p{font-size:15px}.full-photo{height:260px;margin:0 24px}.full-photo img{object-position:65% center}.full-photo span{font-size:10px;left:20px}.process{grid-template-columns:1fr;gap:32px;padding-right:90px}.process article{display:grid;grid-template-columns:38px 1fr;gap:10px 20px}.process .number{grid-row:span 2;font-size:36px;margin:0}.process h3{margin:0;padding-top:4px}.process p{grid-column:2}.install-diagram{gap:16px;grid-template-columns:1fr;margin-right:65px;margin-top:35px}.install-diagram div{display:flex;justify-content:space-between;align-items:center}.install-diagram strong{margin:0;font-size:14px}.install-diagram span{font-size:10px}.light-stage{height:calc(100svh - 86px)}.light-scroll{padding:135px 83px 30px 30px;clip-path:polygon(calc(100% - 43px) 66px,0 72%,0 100%,100% 100%)}.light-intro{justify-content:flex-start;min-height:calc(100svh - 220px);padding-top:100px}.light-intro h1{font-size:clamp(3rem,13vw,5rem);margin:22px 0}.light-intro p{font-size:15px;line-height:1.65}.light-intro .eyebrow{font-size:9px;letter-spacing:1.2px}.light-chapter{min-height:90svh;padding:170px 0 70px}.light-chapter h2{font-size:3.1rem}.light-chapter p{font-size:15px}.light-controls{left:20px;bottom:15px}.light-controls button{font-size:10px;background:#000a;padding:9px 12px}.light-progress{font-size:10px}.light-scroll-hint{font-size:10px;line-height:1.7;margin-top:24px}.beam-field{clip-path:polygon(calc(100% - 43px) 152px,0 76%,0 100%,100% 100%)}.light-wide .light-scroll{padding:60px 85px 60px 24px}.light-wide .light-intro{padding-top:35px;min-height:75svh}.light-wide .light-chapter{padding-top:70px;min-height:80svh}footer{padding:30px 90px 30px 24px;flex-direction:column;gap:15px;font-size:11px}footer>span:last-child{font-size:9px;letter-spacing:1px}}
/* A wide optical aperture keeps the reading area entirely inside the beam. */
.light-scroll{clip-path:polygon(calc(100% - 95px) 90px,0 34%,0 100%,100% 100%,100% 34%);padding-top:clamp(175px,24vh,260px)}
.beam-field{clip-path:polygon(calc(100% - 95px) 202px,0 44%,0 100%,100% 100%,100% 44%)}
.light-intro{justify-content:flex-start;padding-top:0;min-height:max(480px,70svh)}
.light-intro h1{font-size:clamp(4rem,7vw,7.7rem)}
.light-chapter{padding-top:200px;padding-bottom:90px;min-height:90svh}
.light-scroll{padding-bottom:240px}
.closing .text-link{color:#120a12;border-color:#120a12}.closing .text-link span{color:#120a12}
@media(max-width:700px){.light-scroll{clip-path:polygon(calc(100% - 43px) 66px,0 27%,0 100%,100% 100%,100% 27%);padding-top:205px;padding-left:24px;padding-right:85px}.beam-field{clip-path:polygon(calc(100% - 43px) 152px,0 34%,0 100%,100% 100%,100% 34%)}.light-intro{padding-top:0;min-height:560px}.light-intro h1{font-size:clamp(3rem,12vw,5rem)}.light-chapter{padding-top:210px}.light-wide .light-chapter{padding-top:80px}.light-wide .light-scroll{padding-bottom:140px}}
@media(max-height:650px) and (min-width:701px){.light-scroll{padding-top:150px;padding-left:18%}.light-intro h1{font-size:4rem;margin:18px 0}.light-intro p{font-size:15px}.light-intro .eyebrow{font-size:10px}.light-scroll-hint{margin-top:14px}.light-intro{min-height:460px}.light-controls{left:16px;bottom:16px}}
/* Both complete pages share a grid cell and add their weighted pixels. */
.crossfade-stage{display:grid;isolation:isolate;background:#000}
.crossfade-layer{grid-area:1 / 1;min-width:0;background:var(--bg);align-self:start}
.crossfade-layer[hidden]{display:none}
.crossfade-stage.is-mixing .crossfade-layer{mix-blend-mode:plus-lighter;will-change:opacity}
.crossfade-stage.is-mixing .audio-wave i{animation-play-state:paused}
.crossfade-layer[inert]{user-select:none}
.fader-body input{cursor:grab}
.fader-body input:active{cursor:grabbing}
.parallax-element{translate:var(--parallax-x,0px) var(--parallax-y,0px)}
.hero-photo.parallax-element{top:-100px;bottom:auto;height:calc(100% + 200px)}
.full-photo img.parallax-element{position:absolute;left:0;top:-80px;height:calc(100% + 160px)}
.installation-depth{position:absolute;inset:-100px -10%;z-index:-1;pointer-events:none;opacity:.55;background:linear-gradient(90deg,#090a09 12%,transparent 90%),repeating-linear-gradient(90deg,transparent 0 calc(16.666% - 1px),#da4cda1a calc(16.666% - 1px) 16.666%),repeating-linear-gradient(0deg,transparent 0 109px,#da4cda15 109px 110px),radial-gradient(ellipse at 85% 35%,#cf13cf20,transparent 55%);mask-image:linear-gradient(transparent,#000 18%,#000 75%,transparent)}
@media(max-width:700px){.hero-photo.parallax-element{top:-44px;height:calc(100% + 88px)}.full-photo img.parallax-element{top:-34px;height:calc(100% + 68px)}.installation-depth{opacity:.35}}
/* Smoked glass, with an opaque fallback for browsers without backdrop filtering. */
:root{--glass:linear-gradient(125deg,#ffffff0e,#ffffff03 52%,#ff00ff05);--glass-border:#ffffff21;--glass-shadow:inset 0 1px 0 #ffffff12,0 18px 50px #0003}
.header{background:#140f14eb;border-bottom-color:var(--glass-border);box-shadow:inset 0 -1px 0 #ffffff04}
.fader-panel{background:linear-gradient(125deg,#3a2d3ae8,#1a121aed);border-color:#e9bcd938;box-shadow:inset 0 1px 0 #ffdaf11f,0 12px 35px #0006}
.intro-copy,.detail-list,.install-diagram,.process article{background-color:#150f15;background-image:var(--glass);border:1px solid var(--glass-border);border-radius:18px;box-shadow:var(--glass-shadow)}
.intro-copy{padding:30px;align-self:start}
.detail-list{padding:8px 28px}
.detail-list article:last-child{border-bottom:0}
.install-diagram{padding:26px;margin-top:54px}
.process article{padding:28px}
.service-row{position:relative;margin-bottom:14px;padding:32px 24px;border:1px solid var(--glass-border);border-radius:16px;background:linear-gradient(115deg,#ffffff08,#ff00ff03);box-shadow:inset 0 1px 0 #ffffff09;transition:background .25s,border-color .25s}
.service-row:last-child{border-bottom:1px solid var(--glass-border)}
.service-row:hover{padding-left:24px;border-color:#ff00ff4f;background:linear-gradient(115deg,#ffffff10,#ff00ff0a)}
.full-photo{border-radius:20px;border-color:#ffffff30;box-shadow:var(--glass-shadow)}
.full-photo span{padding:12px 18px;border:1px solid #ffffff29;border-radius:10px;background:#180c18e6;max-width:calc(100% - 60px);line-height:1.6}
.hero-summary>.text-link{padding:15px 20px;border:1px solid #ffbce635;border-radius:12px;background:#200d20cc;box-shadow:inset 0 1px 0 #ffffff0c;transition:background .25s,border-color .25s}
.hero-summary>.text-link:hover{background:#301630db;border-color:#ff00ff70}
.light-chapter p{padding:24px;border:1px solid #f39bd321;border-radius:16px;background:linear-gradient(125deg,#ce7dce0c,#00000024);box-shadow:inset 0 1px 0 #ffc6ea0d}
.light-controls button{background:#201020e8;border-color:#e6a3cd38;box-shadow:inset 0 1px 0 #ffcfed15,0 6px 24px #0004}
.closing{position:relative;background:linear-gradient(125deg,#ff38ff,#eb04eb)}
.closing>.text-link{padding:16px 22px;border:1px solid #40004030;border-radius:12px;background:#ffffff26;box-shadow:inset 0 1px 0 #ffffff59}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .header{background:#100b10c4;-webkit-backdrop-filter:blur(20px) saturate(130%);backdrop-filter:blur(20px) saturate(130%)}
  .fader-panel{background:linear-gradient(125deg,#382938b5,#1b101bbd);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%)}
  .intro-copy,.detail-list,.install-diagram,.process article{background-color:#20132040;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .hero-summary>.text-link,.full-photo span,.light-controls button{background-color:#200b2080;-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%)}
  .light-chapter p{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
}
/* Avoid repeated blur passes while two full pages are composited. */
.is-mixing .crossfade-layer *{-webkit-backdrop-filter:none;backdrop-filter:none}
@media(max-width:700px){
  .intro-copy{padding:22px;max-width:100%}
  .detail-list{padding:2px 18px;min-width:0}
  .install-diagram{padding:20px 16px;margin-right:65px;gap:20px}
  .install-diagram div{display:block}.install-diagram strong{margin-top:6px}
  .process article{padding:22px 16px;gap:10px 12px}
  .service-row,.service-row:hover{padding:25px 14px;gap:10px;grid-template-columns:20px minmax(0,1fr) 20px}
  .service-row h3{font-size:1.95rem}.service-row p{grid-column:2 / 4}
  .hero-summary>.text-link{padding:13px 16px}
  .full-photo span{left:16px;bottom:16px;max-width:calc(100% - 32px);padding:10px 12px}
  .light-chapter p{padding:18px}
  .closing>.text-link{white-space:normal;line-height:1.6;margin-top:22px}
  .menu-open nav{background:#170f17ed;border-color:#ff00ff30;box-shadow:0 24px 40px #0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
  .intro-copy,.detail-list,.process article{-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media(prefers-reduced-transparency:reduce){.header,.fader-panel,.intro-copy,.detail-list,.install-diagram,.process article,.full-photo span,.hero-summary>.text-link,.light-controls button{background-color:#170f17;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.parallax-element{translate:none!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Original company mark and purple/magenta brand palette. */
:root{--brand-purple:#772582;--brand-magenta:#df087c;--acid:#ed4aab}
.brand-mark{display:block;width:40px;height:54px;object-fit:contain;flex-shrink:0}
.closing{background:linear-gradient(115deg,var(--brand-purple),#ba167e 62%,var(--brand-magenta));color:#fff}
.closing p{color:#f7e4f0}.closing .text-link,.closing .text-link span{color:#fff}
.closing>.text-link{border-color:#ffffff50;background:#ffffff12}
.brand-period{color:var(--brand-magenta)}
.acid{color:var(--acid)}
.fixture .lens{filter:drop-shadow(0 0 4px #df087c55)}
@media(max-width:700px){.brand-mark{width:32px;height:44px;transform:none;margin-right:0}}

/* Keep the original logo readable at narrow phone widths. */
.service-motion-track{position:relative;isolation:isolate;height:auto}
.service-motion-stage{position:relative;display:flow-root}
.service-motion-stage>.service-row{width:100%;margin:0 0 14px}
.service-motion-stage>.service-row:last-child{margin-bottom:0}
@media(prefers-reduced-motion:reduce){.service-motion-track{height:auto}.service-motion-stage{position:relative;top:auto}}
.service-motion{--pulse:0;--light-level:1;--card-progress:1;--build-0:1;--build-1:1;--build-2:1;--build-3:1;isolation:isolate;transform-origin:center;}
.service-motion>h3,.service-motion>p,.service-motion>.service-index,.service-motion>.row-arrow{position:relative;z-index:2}
.service-motion::before,.service-motion::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0}
.motion-sound{transform:scale(calc(1 + var(--pulse)*.018));border-color:rgb(237 74 171 / calc(.13 + var(--pulse)*.5));box-shadow:inset 0 1px 0 #ffffff12,0 0 calc(var(--pulse)*32px) rgb(223 8 124 / calc(var(--pulse)*.2))}
.motion-sound::before{background:radial-gradient(ellipse at 38% 50%,#df087c24,transparent 72%);opacity:var(--pulse)}
.motion-sound::after{inset:-3px;border:1px solid #ed4aab;transform:scale(var(--ripple-scale,1));opacity:var(--ripple-opacity,0)}
.motion-light,.motion-light:hover{background:#050505;border-color:rgb(237 74 171 / calc(var(--light-level)*.6));box-shadow:inset 0 0 28px rgb(223 8 124 / calc(var(--light-level)*.18)),0 0 30px rgb(223 8 124 / calc(var(--light-level)*.24));transition:none}
.motion-light::before{background:radial-gradient(ellipse at 50% 45%,#e36dbb55,#77258224 65%,#120d13);opacity:var(--light-level)}
.motion-light::after{background:#ffe5f4;opacity:calc(var(--ignition-flash,0)*.36);box-shadow:0 0 40px #ed4aab88}
.motion-light>h3,.motion-light>p,.motion-light>.service-index,.motion-light>.row-arrow{opacity:var(--light-level);text-shadow:0 0 calc(var(--light-level)*12px) #ed4aab55;transform:none;filter:none}
.motion-installation,.motion-installation:hover{background:transparent;border-color:transparent!important;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.motion-installation::before{display:block;z-index:1;background:linear-gradient(115deg,#211322,#170f19);border:1px solid #ed4aab45;opacity:var(--nano-finish,0);box-shadow:inset 0 1px 0 #ffffff12}
.motion-installation::after{display:none}
.nano-skin{position:absolute;inset:-1px;display:grid;grid-template-columns:repeat(24,1fr);grid-template-rows:repeat(8,1fr);border-radius:16px;overflow:hidden;pointer-events:none;z-index:0;opacity:calc(1 - var(--nano-finish,0))}
.nano-tile{--tile-progress:0;--tile-glow:0;position:relative;background:linear-gradient(135deg,#56213f,#211522);border:1px solid rgb(237 74 171 / calc(.12 + var(--tile-glow)*.85));opacity:var(--tile-progress);transform:translate(calc((1 - var(--tile-progress))*var(--drift-x)),calc((1 - var(--tile-progress))*var(--drift-y))) scale(var(--tile-progress));box-shadow:0 0 calc(var(--tile-glow)*16px) #ed4aab,inset 0 0 calc(var(--tile-glow)*12px) #ffb9e5;}
.nano-tile::after{content:'';position:absolute;inset:0;background:#ffd4f2;opacity:calc(var(--tile-glow)*.8)}
.motion-installation>.service-index,.motion-installation>h3,.motion-installation>p,.motion-installation>.row-arrow{opacity:var(--assembly-content,1);transform:none}
.motion-installation:focus-visible{--assembly-content:1!important;--nano-finish:1!important}
.motion-light:focus-visible{--ignition-flash:0!important}
@media(prefers-reduced-motion:reduce){.motion-installation{--assembly-content:1!important;--nano-finish:1!important}.nano-skin{display:none}}
.service-motion:focus-visible{--light-level:1!important;--card-progress:1!important;--build-0:1!important;--build-1:1!important;--build-2:1!important;--build-3:1!important}
@media(max-width:700px){.motion-sound{transform:scale(calc(1 + var(--pulse)*.012))}.motion-light>h3,.motion-light>p{filter:none}}
@media(prefers-reduced-motion:reduce){.service-motion{--pulse:0!important;--light-level:1!important;--card-progress:1!important;--build-0:1!important;--build-1:1!important;--build-2:1!important;--build-3:1!important}.service-motion::after{display:none}.service-motion,.service-motion>*{transform:none!important;filter:none!important}}
.brand{flex-shrink:0}.brand-mark{max-width:none;opacity:1;visibility:visible}
@media(max-width:700px){.brand-mark{width:40px;height:54px;flex:0 0 40px}.brand{gap:12px}}

@media(min-width:1101px){.service-motion-stage>.service-row{height:300px;min-height:300px;padding:48px 32px;grid-template-rows:1fr}.service-motion-stage .service-index{align-self:center;margin-top:0}}

/* Keep controls unlabelled above, with captions contained below the fader. */
.fixture-hint,.fixture-mobile-label,.fader-title{display:none!important}
.fader-label{display:block;width:100%;max-width:100%;white-space:normal;overflow-wrap:break-word;text-align:center;line-height:1.45;letter-spacing:0;padding:0}

@media(min-width:1101px){.light-scroll>section{margin-left:200px}}

.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;pointer-events:none}

/* Edge lighting and a diagonal reflection on the two technical pages. */
body:is([data-page="sound"],[data-page="installation"]) :is(.detail-list,.install-diagram,.process article){transition:border-color .3s ease,box-shadow .3s ease}
body:is([data-page="sound"],[data-page="installation"]) .detail-list{position:relative;isolation:isolate;overflow:hidden}
body:is([data-page="sound"],[data-page="installation"]) .detail-list::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,transparent 35%,#77258208 42%,#ed4aab24 48%,#ffe4f54a 50%,#ed4aab24 52%,transparent 65%);transform:translate(-110%,-110%);opacity:0;animation:none}
@keyframes detail-reflection{0%,15%{transform:translate(-110%,-110%);opacity:0}22%{opacity:1}57%{opacity:1}65%,100%{transform:translate(110%,110%);opacity:0}}
@media(hover:hover) and (pointer:fine){
 body:is([data-page="sound"],[data-page="installation"]) :is(.detail-list,.install-diagram,.process article):hover{border-color:#ed4aabbd;box-shadow:inset 0 0 18px #df087c16,0 0 0 1px #ed4aab30,0 0 28px #df087c30}
}
@media(prefers-reduced-motion:reduce){body:is([data-page="sound"],[data-page="installation"]) .detail-list::after{animation:none;display:none}}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body:is([data-page="sound"],[data-page="installation"]) .detail-list:hover::after{animation:detail-reflection 4.8s ease-in-out both}}




.contact-hero{padding-bottom:40px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;padding-right:calc(var(--pad) + 100px);padding-top:40px}.contact-layout h2{font-size:clamp(3rem,4.5vw,5rem);margin-bottom:26px}.contact-layout>div>p{max-width:400px}.quote-form{padding:32px;border:1px solid var(--glass-border);border-radius:18px;background:linear-gradient(135deg,#251526,#120e14);box-shadow:var(--glass-shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.form-grid label{display:flex;flex-direction:column;gap:10px;font-size:13px;color:#e8dce5}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;border:1px solid #ffffff30;border-radius:8px;background:#0d0b0f;color:var(--fg);padding:13px;font:inherit;font-size:16px}.form-grid textarea{resize:vertical}.form-grid :is(input,select,textarea):focus-visible{outline:2px solid #ed4aab;outline-offset:3px}.form-full{grid-column:1/-1}.form-note{font-size:12px;margin-top:24px;color:#bcb0ba}.quote-submit{margin-top:24px;padding:15px 22px;border-radius:8px;background:linear-gradient(110deg,#772582,#bd096c);font-weight:600;width:100%}.quote-submit:hover{box-shadow:0 0 24px #df087c40}.form-status{font-size:14px;margin-top:16px}.form-status:empty{display:none}@media(max-width:1100px){.contact-layout{grid-template-columns:1fr;gap:32px}}@media(max-width:700px){.contact-layout{padding-right:90px}.quote-form{padding:20px 14px}.form-grid{grid-template-columns:1fr;gap:20px}.contact-hero h1{font-size:clamp(3rem,12vw,5rem)}.contact-layout h2{font-size:3rem}}

.privacy-document{max-width:1100px;padding:20px calc(var(--pad) + 90px) 90px var(--pad)}.privacy-document h2{font-family:inherit;font-size:24px;line-height:1.3;text-transform:none;letter-spacing:0;margin:38px 0 16px}.privacy-document p{margin:14px 0}.privacy-document a,.form-note a{color:#ed4aab;text-decoration:underline;text-underline-offset:3px}.privacy-draft{padding:22px;border:1px solid #ed4aab66;border-radius:12px;background:#301026}.privacy-hero h1{font-size:clamp(3rem,8vw,8rem)}

.portfolio-hero h1{font-size:clamp(3.5rem,8vw,8rem)}.portfolio-notice{font-size:13px;max-width:580px;margin-top:25px;color:#c6afc1}.portfolio-scroll{display:flex;gap:16px;align-items:center;font-size:11px;letter-spacing:2px;margin-top:32px;color:#ed4aab}.portfolio-gallery{padding:20px calc(var(--pad) + 110px) 100px var(--pad)}.portfolio-card{position:sticky;top:24px;margin:0 0 100px;background:#160f18;border:1px solid #ed4aab40;border-radius:22px;overflow:hidden;box-shadow:0 -12px 45px #0008;isolation:isolate}.portfolio-card:last-child{margin-bottom:0}.portfolio-image{height:clamp(260px,55svh,600px);overflow:hidden;position:relative;background:#100b13}.portfolio-image img{width:100%;height:calc(100% + 60px);object-fit:cover;margin-top:-30px;transform:translateY(var(--gallery-drift,0px));display:block}.portfolio-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#160f1880,transparent 45%);pointer-events:none}.portfolio-placeholder{position:absolute;top:24px;left:24px;padding:9px 12px;border:1px solid #ffffff30;border-radius:30px;background:#120a16b3;font-size:10px;letter-spacing:1.4px;z-index:1}.portfolio-number{position:absolute;right:28px;bottom:15px;font-family:'Barlow Condensed',sans-serif;font-size:96px;line-height:1;color:#ffffff30;z-index:1}.portfolio-card figcaption{padding:28px 30px;display:flex;align-items:end;justify-content:space-between;gap:20px;background:linear-gradient(120deg,#241525,#140e17)}.portfolio-card h2{font-size:clamp(2rem,3.3vw,3.8rem);margin-top:14px}.portfolio-card .eyebrow{font-size:10px}.portfolio-coming{font-size:12px;color:#b7a2b1;max-width:145px;line-height:1.5}.portfolio-card:hover{border-color:#ed4aab80}@media(min-width:1101px){nav{gap:20px}.header-tag{display:none}}@media(max-width:700px){.portfolio-gallery{padding:10px 90px 64px 24px}.portfolio-card{top:16px;margin-bottom:65px;border-radius:16px}.portfolio-image{height:38svh;min-height:220px}.portfolio-card figcaption{padding:20px 16px;display:block}.portfolio-card h2{font-size:2.1rem}.portfolio-coming{display:block;max-width:none;margin-top:16px}.portfolio-placeholder{top:14px;left:12px;font-size:8px;padding:7px 9px}.portfolio-number{font-size:65px;right:16px}.portfolio-hero{padding-right:90px}.portfolio-hero h1{font-size:clamp(3rem,12vw,5rem)}.portfolio-hero .inner-lead{max-width:none}.portfolio-card .eyebrow{letter-spacing:1px;line-height:1.6}}@media(prefers-reduced-motion:reduce){.portfolio-card{position:relative;top:auto}.portfolio-image img{transform:none}}

/* Safari date controls must shrink inside the form grid. */
.quote-form,.form-grid,.form-grid>label{min-width:0}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid input[type="date"]{display:block;appearance:none;-webkit-appearance:none;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:48px;text-align:left}
.form-grid input[type="date"]::-webkit-date-and-time-value{min-width:0;text-align:left}
.form-grid input[type="date"]::-webkit-datetime-edit{min-width:0;padding:0}
@media(max-width:700px){.form-grid{grid-template-columns:minmax(0,1fr)}}

.installation-nanotech{position:relative;isolation:isolate;overflow:hidden;border-color:rgb(237 74 171 / calc(.22 + var(--panel-glow,0)*.6));box-shadow:0 0 calc(var(--panel-glow,0)*28px) #df087c30}
.installation-nanotech>.installation-skin{z-index:0;grid-column:auto;grid-row:auto;inset:0;opacity:calc((1 - var(--nano-finish,0))*.65)}
.installation-nanotech>:not(.installation-skin){position:relative;z-index:2}
@media(prefers-reduced-motion:reduce){.installation-skin{display:none}}

body[data-page="installation"] .installation-nanotech{border-color:rgb(237 74 171 / calc(.25 + var(--panel-glow,0)*.75));box-shadow:inset 0 0 calc(var(--panel-glow,0)*30px) #df087c35,0 0 calc(var(--panel-glow,0)*38px) #ed4aab50}
.installation-nanotech>.installation-skin{z-index:3;opacity:calc((1 - var(--nano-finish,0))*.8)}
.installation-skin .nano-tile{background:rgb(119 37 130 / calc(var(--tile-glow)*.4));border-color:rgb(237 74 171 / calc(var(--tile-glow)*.9));box-shadow:0 0 calc(var(--tile-glow)*22px) #ed4aab,inset 0 0 calc(var(--tile-glow)*18px) #ffd4f2}
.installation-skin .nano-tile::after{opacity:calc(var(--tile-glow)*.55)}

/* Installation uses only the nanotech surface effect. */
body[data-page="installation"] .detail-list::after,body[data-page="installation"] .detail-list:hover::after{display:none;animation:none}

button.portfolio-image{display:block;width:100%;padding:0;text-align:inherit;cursor:zoom-in;border:0;border-radius:inherit}button.portfolio-image:focus-visible{outline-offset:-4px}
body.photo-open{overflow:hidden}
.photo-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:#08080aF5;color:#fff;overflow:hidden}
.photo-lightbox[open]{display:flex;align-items:center;justify-content:center}.photo-lightbox::backdrop{background:#000e}
.photo-full{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.photo-close{position:absolute;z-index:2;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));width:48px;height:48px;display:grid;place-items:center;border:1px solid #ed4aab80;border-radius:50%;background:#160e1bea;color:#fff;cursor:pointer}.photo-close svg{width:24px;height:24px}.photo-close:hover{background:#772582}
@media(max-width:700px){.photo-lightbox{padding:12px}}

/* Aligned columns; the left stack pins slightly before the right stack. */
.portfolio-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start;padding-bottom:100px}
.portfolio-column{position:relative;min-width:0}
.portfolio-gallery .portfolio-card{position:sticky;top:32px;margin:0 0 100px;min-width:0;transform:translateY(var(--stack-lag,0px));box-shadow:0 -10px 35px #0009}
.portfolio-column:nth-child(2) .portfolio-card{top:32px}
.portfolio-gallery .portfolio-card:last-child{margin-bottom:0}
.portfolio-gallery .portfolio-image{height:auto;min-height:0;aspect-ratio:4/3}
.portfolio-gallery .portfolio-image img{position:absolute;inset:-30px 0 auto;margin:0;height:calc(100% + 60px)}
@media(max-width:700px){.portfolio-gallery{grid-template-columns:minmax(0,1fr);gap:65px;padding-bottom:64px}.portfolio-gallery .portfolio-card{top:16px;margin-bottom:65px}.portfolio-column:nth-child(2) .portfolio-card{top:16px}}
@media(prefers-reduced-motion:reduce){.portfolio-gallery .portfolio-card{position:relative;top:auto}}

/* Slightly imperfect placement, like photographs stacked by hand. */
.portfolio-gallery .portfolio-card{transform:translate(var(--stack-shift,0px),var(--stack-lag,0px)) rotate(var(--stack-angle,0deg));transform-origin:50% 55%;border:3px solid #40303e;box-shadow:0 14px 32px #0009,0 3px 7px #000b;border-radius:12px}
@media(prefers-reduced-motion:reduce){.portfolio-gallery .portfolio-card{transform:none}}

/* Warm photographic paper, with the characteristic blank Polaroid foot. */
.portfolio-gallery .portfolio-card{padding:14px 14px 56px;border:1px solid #e0d9cf;border-radius:3px;background:linear-gradient(135deg,#fffdf6,#eee9df);box-shadow:0 18px 38px #0008,0 4px 9px #0009,inset 0 0 0 1px #ffffffa6;overflow:visible}
.portfolio-gallery .portfolio-image{border-radius:1px;overflow:hidden;box-shadow:0 0 0 1px #21192230;background:#151016}
.portfolio-gallery .portfolio-card:hover{border-color:#e0d9cf}
.portfolio-gallery .portfolio-image:focus-visible{outline:3px solid #df087c;outline-offset:4px}
@media(max-width:700px){.portfolio-gallery .portfolio-card{padding:10px 10px 42px}}

.portfolio-column[hidden]{display:none}
@media(max-width:700px){.portfolio-gallery[data-layout="single"]{display:block}.portfolio-gallery[data-layout="single"] .portfolio-column{width:100%}}

/* A short invitation to interact when Home opens. */
@media(prefers-reduced-motion:no-preference){
 body[data-page="home"] .fixture-head{animation:fixture-invitation 2.8s ease-in-out .7s 1}
 body[data-page="home"] .fixture .lens{animation:fixture-invitation-glow 2.8s ease-in-out .7s 1}
 body[data-page="home"] .fixture:hover .fixture-head,body[data-page="home"] .fixture:focus-visible .fixture-head{animation:none}
}
@keyframes fixture-invitation{0%,100%{transform:rotate(-7deg)}25%{transform:rotate(8deg)}55%{transform:rotate(-17deg)}80%{transform:rotate(3deg)}}
@keyframes fixture-invitation-glow{0%,100%{opacity:.38;filter:drop-shadow(0 0 4px #df087c55)}35%,55%{opacity:1;filter:drop-shadow(0 0 12px #ed4aab) drop-shadow(0 0 22px #df087c88)}}

.service-faq{padding-right:calc(var(--pad) + 110px);max-width:1200px}.service-faq h2{margin:22px 0 36px;font-size:clamp(3rem,5vw,5rem)}.service-faq details{padding:22px 0;border-bottom:1px solid #ffffff24}.service-faq summary{cursor:pointer;font-size:17px;line-height:1.5;color:#eee3eb}.service-faq details p{margin-top:16px;max-width:760px}.service-faq summary::marker{color:#ed4aab}@media(max-width:700px){.service-faq{padding-right:90px}.service-faq summary{font-size:15px}}
/* Compact language control, visible independently of the mobile menu. */
.language-switch{display:flex;align-items:center;gap:7px;flex-shrink:0;font-size:11px;letter-spacing:1px;white-space:nowrap}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:44px;color:var(--muted);transition:color .2s}
.language-switch a:hover,.language-switch a[aria-current=true]{color:var(--fg)}
.language-switch a[aria-current=true]{text-decoration:underline;text-decoration-color:#df087c;text-underline-offset:6px}
.language-switch span{color:#ffffff35}
@media(max-width:1100px){.language-switch{margin-left:auto}.header{column-gap:14px}.header-tag{display:none}}
@media(min-width:1101px){.header{column-gap:18px}.header nav{gap:16px}.language-switch{gap:3px}}
/* Direct contacts: one general address and two balanced team cards. */
.company-contacts{padding-right:calc(var(--pad) + 110px);border-bottom:1px solid var(--line)}
.company-contacts h2{margin:24px 0 32px;font-size:clamp(3rem,5vw,5rem)}
.contact-general{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;margin-bottom:18px;border:1px solid #ffffff20;border-radius:14px;background:#ffffff04}
.contact-general strong{display:block;font-size:17px;margin-top:9px;font-weight:500}
.contact-general>a{font-size:16px;overflow-wrap:anywhere;line-height:1.5}.contact-general>a span{margin-left:12px;color:#ee4ab0}
.company-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.company-contact-grid article{min-width:0;padding:24px;border:1px solid #df087c30;border-radius:18px;background:linear-gradient(135deg,#7725821c,#ffffff03);backdrop-filter:blur(12px);transition:border-color .25s,box-shadow .25s}
.company-contact-grid article:hover{border-color:#df087c70;box-shadow:0 8px 30px #0003}
.company-contacts .eyebrow{font-size:10px;letter-spacing:1.1px;line-height:1.5}.company-contacts .eyebrow:before{width:18px;flex-shrink:0}
.person-heading{display:flex;align-items:center;gap:22px;min-height:112px}
.company-contact-grid .contact-portrait{display:block;flex-shrink:0;width:96px;height:112px;object-fit:cover;object-position:50% 25%;border-radius:12px;background:#090a09;margin:0}
.company-contact-grid h3{font-family:'DM Sans',Arial,sans-serif;text-transform:none;letter-spacing:-.5px;font-weight:500;font-size:23px;line-height:1.2;margin:12px 0 0}
.person-links{margin-top:22px;padding-top:14px;min-height:98px;border-top:1px solid #ffffff15;display:flex;flex-direction:column;justify-content:flex-start}
.person-links a{display:block;font-size:14px;line-height:1.5;padding:7px 0;overflow-wrap:anywhere;color:#e8cee1}
.company-contacts a:hover,.company-legal a:hover{color:#f04bb1}
.company-billing{margin-top:28px;padding-top:24px;border-top:1px solid #ffffff15;font-size:12px;line-height:1.9;overflow-wrap:anywhere}
@media(max-width:900px){.company-contact-grid{grid-template-columns:1fr}}
@media(max-width:700px){.company-contacts{padding-right:90px}.contact-general{align-items:flex-start;flex-direction:column;gap:14px;padding:20px}.contact-general>a{font-size:14px}.company-contact-grid article{padding:20px 16px}.person-heading{gap:14px;min-height:96px}.company-contact-grid .contact-portrait{width:76px;height:96px;border-radius:10px}.company-contact-grid h3{font-size:20px}.person-heading .eyebrow{font-size:9px;letter-spacing:.6px;display:block}.person-heading .eyebrow:before{display:none}.person-links{margin-top:18px}}
footer{flex-wrap:wrap}.company-legal{flex-basis:100%;display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:22px;border-top:1px solid var(--line);line-height:1.7;font-size:11px;overflow-wrap:anywhere}.company-legal strong{color:var(--fg)}

@media(max-width:700px){.company-contacts{padding-right:90px}.company-legal{flex-direction:column;gap:6px}}
.form-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.quote-submit:disabled{opacity:.55;cursor:not-allowed}.quote-form[aria-busy=true]{cursor:progress}
/* A portrait film alongside four live photographs. */
.home-media{padding-right:calc(var(--pad) + 110px);border-top:1px solid var(--line)}
.home-media-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px}.home-media-heading h2{margin-top:20px;font-size:clamp(3.5rem,6vw,6rem)}
.home-collage{display:grid;grid-template-columns:1.05fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;height:clamp(440px,48vw,640px)}
.collage-video{grid-row:1/3;margin:0;min-width:0;overflow:hidden;border-radius:18px;border:1px solid #df087c50;background:#000;box-shadow:0 18px 45px #0006}
.collage-video video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.collage-photo{position:relative;min-width:0;min-height:0;padding:0;overflow:hidden;border:1px solid #ffffff24;border-radius:18px;background:#161019}
.collage-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .6s ease}
@media(hover:hover){.collage-photo:hover img{transform:scale(1.045);filter:brightness(1.1)}.collage-photo:hover{border-color:#df087c80}}
@media(max-width:900px){.home-collage{gap:12px;height:480px;grid-template-columns:1.2fr 1fr 1fr}}
@media(max-width:700px){.home-media{padding-right:90px}.home-media-heading{display:block;margin-bottom:26px}.home-media-heading .text-link{margin-top:20px;font-size:13px;gap:18px}.home-collage{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:10px}.collage-video{grid-column:1/-1;grid-row:auto;aspect-ratio:9/16;border-radius:14px}.collage-photo{aspect-ratio:1/1;border-radius:12px}.home-media-heading h2{font-size:3.5rem}}
@media(prefers-reduced-motion:reduce){.collage-photo img{transition:none}.collage-photo:hover img{transform:none}}
/* Full-screen gallery controls, kept clear of the photograph on small screens. */
.photo-lightbox{padding:72px 84px}
.photo-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:48px;height:48px;display:grid;place-items:center;border:1px solid #ed4aab80;border-radius:50%;background:#160e1bea;color:#fff;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .2s,border-color .2s}
.photo-nav[hidden]{display:none}.photo-prev{left:20px}.photo-next{right:20px}.photo-nav svg{width:26px;height:26px}.photo-nav:hover{background:#772582;border-color:#ed4aab}.photo-nav:focus-visible,.photo-close:focus-visible{outline:2px solid #ed4aab;outline-offset:4px}
.photo-counter{position:absolute;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:14px;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:#eee;pointer-events:none}
@media(max-width:700px){.photo-lightbox{padding:80px 12px 100px}.photo-nav{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:none}.photo-prev{left:calc(50% - 110px)}.photo-next{right:calc(50% - 110px)}.photo-counter{bottom:calc(27px + env(safe-area-inset-bottom))}}
/* Keep the navigation within reach when scrolling back up. */
.header{position:sticky;top:0;transition:transform .25s ease;will-change:transform}
.header.header-hidden{transform:translateY(-100%)}
body.menu-open .header,.header:focus-within{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.header{transition:none}}
/* Fit the opening message and contact action within the available viewport. */
.home-hero{padding-top:clamp(24px,4svh,58px)}
.home-hero h1{font-size:min(9.6vw,12svh);margin:clamp(20px,3svh,32px) 0 22px}
.hero-summary{margin-bottom:24px;flex-shrink:0}
.hero-summary>.text-link{flex-shrink:0}
@media(max-width:700px){
 .home-hero{padding-top:28px}
 .home-hero h1{font-size:clamp(40px,min(14vw,8svh),68px);margin:28px 0 22px}
 .hero-summary{margin-bottom:24px}
}
/* Real projects within the sound and lighting service pages. */
.service-work{padding-right:calc(var(--pad) + 110px)}
.service-photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px;align-items:start}
.service-photo{display:block;width:100%;padding:0;overflow:hidden;border:1px solid #ed4aab40;border-radius:18px;background:#140e17;box-shadow:0 20px 50px #0005;cursor:zoom-in;transition:border-color .25s,box-shadow .25s}
.service-photo img{display:block;width:100%;height:auto;transition:transform .5s}
.service-photo:hover{border-color:#ed4aab;box-shadow:0 0 28px #b9228026}
@media(hover:hover){.service-photo:hover img{transform:scale(1.025)}}
.light-work{padding-bottom:130px;min-height:auto}
@media(max-width:700px){.service-work{padding-right:90px}.service-photo-gallery{grid-template-columns:1fr;gap:18px}.service-photo{border-radius:12px}.light-work{padding-top:70px;padding-bottom:140px}}
@media(prefers-reduced-motion:reduce){.service-photo,.service-photo img{transition:none}.service-photo:hover img{transform:none}}
/* Photographs follow the narrative within the moving-head beam. */
.light-inline-photo{margin:34px 0 16px;flex-shrink:0;max-width:760px}
.light-inline-photo.is-portrait{max-width:400px;align-self:center}
.light-intro:has(.light-inline-photo){padding-bottom:50px}
@media(max-width:700px){.light-inline-photo{margin-top:28px}.light-inline-photo.is-portrait{max-width:100%}}

.error-links{display:flex;flex-wrap:wrap;column-gap:40px}.error-en .inner-lead{margin-top:26px}

/* Sezione video + 4 foto in home: nascosta. Per ripristinarla, eliminare la riga seguente. */
.home-media{display:none}

.quote-form .privacy-ack{display:flex;align-items:flex-start;gap:12px;margin:20px 0 26px;font-size:14px;line-height:1.65;cursor:pointer}
.quote-form .privacy-ack input{appearance:auto;-webkit-appearance:checkbox;flex:0 0 20px;width:20px;min-width:20px;height:20px;margin:3px 0 0;padding:0;accent-color:#d7198d}
.quote-form .privacy-ack span{min-width:0}
