@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#0a111d;--paper:#f3f7fb;--orange:#70dfff;--muted:#a9b7c8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font-family:'DM Sans',sans-serif;font-size:16px}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select{outline-offset:6px}::selection{background:var(--orange);color:#fff}header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:28px 4%;border-bottom:1px solid #ffffff26}.brand{font-family:Manrope,sans-serif;font-weight:800;font-size:21px;letter-spacing:-1px;line-height:1}.brand span{display:block;font-size:10px;letter-spacing:5px;margin-top:8px;font-weight:500}.brand i{color:var(--orange);font-style:normal}nav{display:flex;gap:25px;align-items:center;font-size:13px}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:1px;background:var(--orange);transition:.3s}nav a:hover:after{width:100%}.outline{padding:12px 19px;border:1px solid #ffffff60;border-radius:2px}.menu-toggle{display:none;background:none;color:inherit;border:1px solid #777;padding:10px}.hero{min-height:800px;height:100svh;position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.55);object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#090c09b0,transparent 80%),linear-gradient(0deg,#11121090,transparent 50%)}.hero-inner{position:relative;z-index:2;margin:100px 8% 70px;max-width:1100px}.eyebrow{font-size:12px;letter-spacing:2.2px;text-transform:uppercase;display:flex;align-items:center;gap:14px;margin-bottom:28px}.eyebrow:before{content:'';width:27px;height:2px;background:var(--orange)}h1,h2,h3,p{margin:0}h1{font-family:Manrope,sans-serif;font-size:clamp(64px,7.8vw,120px);line-height:1.04;letter-spacing:-6px;font-weight:500}h1 em{font-style:normal;color:var(--orange)}.hero-copy{max-width:420px;line-height:1.7;color:#d9d9d2;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:18px 25px;background:var(--orange);color:#111;font-size:14px;font-weight:700;border:0;cursor:pointer;transition:background .25s,transform .25s}.button:hover{background:#a7efff;transform:translateY(-3px)}.button.secondary{background:transparent;color:var(--paper);border:1px solid #777}.hero-bottom{position:absolute;bottom:28px;left:4%;right:4%;z-index:3;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.3px;text-transform:uppercase}.scroll-mark{height:40px;width:1px;background:#fff6;display:inline-block;vertical-align:middle;margin-right:18px}.hero-index{font-size:12px;position:absolute;right:4%;top:50%;z-index:3;writing-mode:vertical-rl;letter-spacing:3px}.section{padding:110px 8%;scroll-margin-top:0}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:54px}.section-label{font-size:12px;text-transform:uppercase;letter-spacing:2px}.section-number{font-family:Manrope;font-size:14px;color:var(--muted)}h2{font-family:Manrope;font-size:clamp(40px,4.8vw,76px);font-weight:500;line-height:1.12;letter-spacing:-3px}h2 em{font-style:normal;color:var(--orange)}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:start}.body-copy{line-height:1.8;color:#aeb0a8;max-width:550px}.body-copy p+p{margin-top:20px}.about-bottom{display:grid;grid-template-columns:1.35fr 1fr;gap:7%;margin-top:65px;align-items:center}.photo{position:relative;overflow:hidden;background:#242620;min-height:280px}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s;filter:saturate(.75)}.photo:hover img{transform:scale(1.055);filter:saturate(1.2)}.photo .photo-tag{position:absolute;bottom:16px;left:16px;background:#111c;padding:8px 11px;font-size:11px;letter-spacing:1px;text-transform:uppercase}.about-image{height:420px}.principle{padding:24px 0;border-bottom:1px solid #ffffff25;display:flex;gap:22px}.principle b{font-weight:400;color:var(--orange);font-size:12px;padding-top:5px}.principle h3{font-family:Manrope;font-size:22px;font-weight:500;margin-bottom:8px}.principle p{color:var(--muted);line-height:1.7;font-size:14px}.parallax{height:360px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.parallax img,.parallax video{position:absolute;inset:-20% 0;width:100%;height:140%;object-fit:cover;filter:brightness(.35);will-change:transform}.parallax .words{position:relative;text-align:center;font-family:Manrope;font-size:clamp(32px,5.5vw,85px);font-weight:500;letter-spacing:-3px;line-height:1.12}.parallax small{display:block;font-family:'DM Sans';font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px}.light{background:var(--paper);color:var(--ink)}.light .body-copy{color:#526174}.light .section-number{color:#777}.advice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.steps{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.step{border-top:1px solid #1114;padding-top:25px}.step .big-number{font-size:14px;color:#696b64;margin-bottom:45px}.step h3{font-family:Manrope;font-size:24px;font-weight:600;margin-bottom:16px;letter-spacing:-.6px}.step p{font-size:15px;line-height:1.75;color:#5c6057}.services-header{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:55px}.services-header p{max-width:330px}.service-list{border-top:1px solid #ffffff30}.service-item{border-bottom:1px solid #ffffff30}.service-item summary{list-style:none;cursor:pointer;padding:30px 0;display:flex;align-items:center;gap:28px}.service-item summary::-webkit-details-marker{display:none}.service-item summary span{font-size:12px;color:var(--muted)}.service-item h3{font-family:Manrope;font-weight:400;font-size:clamp(23px,3vw,43px);letter-spacing:-1.2px;flex:1}.service-item summary b{font-weight:400;font-size:30px;color:var(--orange)}.service-item[open] summary b{transform:rotate(45deg)}.service-content{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:0 0 35px 45px}.service-content .photo{height:270px}.service-content p{line-height:1.8;color:var(--muted)}.service-content ul{padding-left:18px;line-height:2;margin:20px 0;color:#d3d3cc;font-size:14px}.tag{display:inline-block;border:1px solid #777;padding:7px 12px;font-size:12px;margin-top:20px}.rental-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px;margin-top:55px}.rental .photo{height:350px}.rental-info{display:flex;justify-content:space-between;align-items:start;padding:22px 0;border-bottom:1px solid #1113}.rental h3{font-family:Manrope;font-size:27px;letter-spacing:-1px;font-weight:600;margin-bottom:8px}.rental p{color:#65675f;font-size:14px}.rental-no{font-size:12px;margin-top:8px;color:#797b72}.text-link{display:inline-block;margin-top:30px;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:14px}.gallery-head{display:flex;justify-content:space-between;gap:30px;align-items:end}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:40px 0}.filters button{border:1px solid #5c6057;background:none;color:#aeb0a8;padding:11px 18px;border-radius:40px;font-size:13px;cursor:pointer}.filters button.active{background:var(--paper);color:var(--ink);border-color:var(--paper)}.gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:38px}.project{cursor:pointer}.project:nth-child(even){margin-top:80px}.project .photo{height:370px}.project:nth-child(3) .photo{height:450px}.project-info{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.project h3{font-family:Manrope;font-size:22px;font-weight:500}.project p{font-size:12px;color:var(--muted);margin-top:7px;text-transform:uppercase;letter-spacing:1px}.project-info span{color:var(--orange);font-size:22px}.contact{background:#0b1726;color:var(--paper)}.contact .section-number{color:#a8c9da}.contact h2{font-size:clamp(45px,6.5vw,100px);max-width:870px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;margin-top:60px}.contact-intro p{max-width:320px;line-height:1.8;margin-bottom:30px}.contact-intro .location{padding-top:28px;border-top:1px solid #1115;max-width:320px;font-size:14px;line-height:1.8}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{display:flex;flex-direction:column;gap:10px}.field.wide{grid-column:1/-1}.field label{font-size:13px}.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #1117;padding:10px 0;color:#111;border-radius:0}.field input::placeholder,.field textarea::placeholder{color:#5b2c19}.field textarea{min-height:100px;resize:vertical}.contact-form .button{background:#111;color:var(--paper);grid-column:1/-1;justify-self:start}.form-note{font-size:12px;line-height:1.7;grid-column:1/-1}footer{padding:60px 8% 25px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:30px;padding-bottom:50px}.footer-top .brand{font-size:32px}.footer-links{display:flex;gap:35px;font-size:14px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff25;padding-top:25px;font-size:12px;color:var(--muted)}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}dialog{background:var(--ink);color:var(--paper);border:1px solid #555;padding:0;max-width:950px;width:90%;max-height:90vh}dialog::backdrop{background:#000c;backdrop-filter:blur(8px)}.modal-photo{height:420px;width:100%;object-fit:cover}.modal-body{padding:30px}.modal-body h3{font-size:30px;margin-bottom:12px}.modal-body p{line-height:1.7;color:var(--muted)}.close-modal{position:absolute;right:15px;top:15px;padding:10px 14px;background:#111;color:#fff;border:1px solid #777;cursor:pointer}.hidden{display:none!important}.back-top{position:fixed;right:22px;bottom:22px;background:var(--paper);color:#111;border:0;width:45px;height:45px;border-radius:50%;font-size:12px;cursor:pointer;z-index:10;opacity:0;pointer-events:none;transition:.3s}.back-top.show{opacity:1;pointer-events:auto}
@media(min-width:1600px){.section{padding-left:12%;padding-right:12%}}@media(max-width:1000px){nav{gap:15px}nav a{font-size:12px}.hero-inner{margin-left:6%}h1{letter-spacing:-4px}.section{padding:80px 6%}.about-grid,.advice-grid{gap:6%}.services-header{gap:25px}.hero{min-height:700px}.rental .photo{height:280px}.project .photo{height:300px}.project:nth-child(3) .photo{height:330px}}
@media(max-width:760px){header{padding:23px 6%}.menu-toggle{display:block}nav{display:none;position:absolute;left:0;right:0;top:84px;background:#111;flex-direction:column;align-items:stretch;padding:25px 6%;gap:23px}nav.open{display:flex}nav a{font-size:16px}.hero{height:100svh;min-height:660px}h1{font-size:clamp(52px,12vw,85px);letter-spacing:-3px}.hero-inner{margin:100px 6% 50px}.hero-copy{font-size:15px;max-width:330px}.hero-bottom{left:6%;right:6%;font-size:10px}.hero-bottom .right-label{display:none}.hero-index{display:none}.eyebrow{font-size:10px;letter-spacing:1.4px}.section{padding:70px 6%}.section-top{margin-bottom:35px}h2{font-size:42px;letter-spacing:-2px}.about-grid,.about-bottom,.advice-grid,.service-content,.contact-layout{grid-template-columns:1fr;gap:30px}.about-bottom{margin-top:35px}.about-image{height:320px}.steps{grid-template-columns:1fr;gap:25px;margin-top:35px}.step .big-number{margin-bottom:20px}.parallax{height:260px}.parallax .words{font-size:40px;letter-spacing:-2px}.parallax small{font-size:10px}.services-header,.gallery-head{display:block}.services-header p{margin-top:25px}.service-item summary{gap:15px;padding:25px 0}.service-item h3{font-size:25px;letter-spacing:-.7px}.service-content{padding-left:0}.service-content .photo{height:230px}.rental-grid,.gallery{grid-template-columns:1fr;gap:35px}.rental .photo{height:320px}.project:nth-child(even){margin-top:0}.project .photo,.project:nth-child(3) .photo{height:320px}.filters{gap:7px}.filters button{font-size:12px;padding:9px 13px}.contact h2{font-size:54px;letter-spacing:-3px}.contact-layout{margin-top:35px}.contact-form{gap:22px}.footer-top{flex-direction:column}.footer-links{flex-wrap:wrap;gap:20px}.footer-bottom{flex-direction:column;gap:15px}footer{padding:45px 6% 25px}.modal-photo{height:270px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}.parallax img,.parallax video{will-change:auto}}

/* Full-height, viewport-anchored inter-section photographic panels. */
.parallax{height:68vh;min-height:420px;max-height:850px;isolation:isolate}.parallax img,.parallax video{inset:0 auto auto 0;height:100vh;min-height:100%;width:100%;object-position:center;filter:brightness(.42);transform:translate3d(0,var(--parallax-y,0px),0)}.parallax:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07111e55,transparent 45%,#07111e88);z-index:1;pointer-events:none}.parallax .words{z-index:2;text-shadow:0 3px 35px #0008}.parallax .words small{letter-spacing:3px}@media(max-width:760px){.parallax{height:60svh;min-height:360px}.parallax img,.parallax video{height:100vh}.parallax .words{padding:0 6%;font-size:44px}}@media(prefers-reduced-motion:reduce){.parallax img,.parallax video{height:100%;transform:none!important}}

.hero-video{filter:brightness(.65)}.video-toggle{position:absolute;right:4%;bottom:90px;z-index:4;border:1px solid #ffffff70;background:#1115;color:#eeeae2;padding:10px 14px;font-size:12px;cursor:pointer;backdrop-filter:blur(5px)}.video-toggle:hover{background:#111a}@media(max-width:760px){.video-toggle{right:6%;bottom:76px}}
/* Creative technology direction */
.scroll-progress{position:fixed;left:0;top:0;height:2px;background:var(--orange);width:100%;transform:scaleX(0);transform-origin:left;z-index:100}.hero-line{display:block;animation:heroEnter 1.15s cubic-bezier(.22,1,.36,1) both}.hero-line:nth-child(2){animation-delay:.15s}.hero-line:nth-child(3){animation-delay:.3s}@keyframes heroEnter{from{opacity:0;transform:translateY(45px);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}.led-grain{position:absolute;inset:0;background-image:radial-gradient(#ffffff35 .6px,transparent .8px);background-size:5px 5px;opacity:.19;z-index:1;pointer-events:none}header{position:fixed;top:16px;left:2%;right:2%;padding:18px 24px;transition:background .4s,border-color .4s,box-shadow .4s;border:1px solid #ffffff25;background:#0a142280;backdrop-filter:blur(16px);border-radius:4px}header.scrolled{background:#081321e8;border-color:#70dfff50;box-shadow:0 10px 40px #0004}nav a.active{color:var(--orange)}nav a.active:after{width:100%}.section-label,.screen-meta,.hero-index{font-family:monospace;font-weight:400}.section-label:before{content:'[ ';color:var(--orange)}.section-label:after{content:' ]';color:var(--orange)}.section-top{border-top:1px solid #ffffff20;padding-top:20px}.light .section-top{border-color:#1113}.photo{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .5s,border-color .5s,box-shadow .5s;border:1px solid transparent}.photo:hover{border-color:var(--orange);box-shadow:0 8px 30px #68d6ff20}.photo:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),#ffffff1c,transparent 60%);opacity:0;transition:opacity .4s}.photo:hover:after{opacity:1}.photo-tag{transition:transform .4s,opacity .4s}.photo:hover .photo-tag{transform:translateY(-5px)}.rental-info{transition:border-color .4s}.rental:hover .rental-info{border-color:var(--orange)}.parallax .words{transform:translateY(var(--words-y,0px));will-change:transform}.tech-lab{background:#0b1421;color:var(--paper);padding:45px;margin-top:85px;border:1px solid #293b50;position:relative}.tech-lab:before{content:'';position:absolute;top:-1px;left:45px;width:85px;height:2px;background:var(--orange)}.lab-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.lab-heading h3{font-family:Manrope;font-weight:500;font-size:44px;letter-spacing:-2px;line-height:1.12;margin-top:20px}.lab-heading p{max-width:260px;color:var(--muted);line-height:1.7;font-size:14px}.lab-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:45px}.lab-screen{display:flex;flex-direction:column;justify-content:space-between;min-width:0;background:#07111d;border:1px solid #ffffff20;padding:18px}.screen-meta{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:#93988d;gap:10px}.screen-meta button{background:none;border:0;color:var(--paper);font-size:12px;cursor:pointer}.screen-stage{height:330px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:20px 0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:25px 25px;margin:20px 0}#led-wall{width:100%;max-height:100%;aspect-ratio:1.5;position:relative;box-shadow:0 0 35px #ff5a2430;border:1px solid #ff5a2470;flex-shrink:0}#live-canvas{width:100%;height:100%;display:block}.panel-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#0008 1px,transparent 1px),linear-gradient(90deg,#0008 1px,transparent 1px);background-size:var(--panel-width,33.333%) var(--panel-height,25%)}.lab-controls{display:flex;flex-direction:column;gap:20px}.control label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:12px}.control output{color:var(--orange)}.control input[type=range]{width:100%;accent-color:var(--orange);cursor:pointer}.control input[type=color]{background:#242620;border:1px solid #555;width:100%;height:34px;padding:3px;cursor:pointer}.control select{width:100%;background:#20231d;color:var(--paper);border:1px solid #4d5146;padding:12px;font-size:14px}.lab-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding:20px 0}.lab-stats strong{display:block;font-family:Manrope;font-size:32px;font-weight:500}.lab-stats span{font-size:12px;color:var(--muted)}.lab-note{color:var(--muted);font-size:12px;line-height:1.7}.lab-controls .button{width:100%}.reveal{transition:opacity .9s,transform .9s}.button{position:relative;overflow:hidden}.button:before{content:'';position:absolute;inset:0;transform:translateX(-120%) skewX(-20deg);background:linear-gradient(90deg,transparent,#ffffff28,transparent);transition:transform .65s}.button:hover:before{transform:translateX(120%) skewX(-20deg)}
@media(max-width:1100px){header{padding:17px 18px}nav{gap:12px}nav a{font-size:12px}nav .outline{padding:10px}.lab-layout{gap:25px}.tech-lab{padding:30px}.screen-stage{height:270px}}@media(max-width:900px){.lab-layout{grid-template-columns:1fr}.screen-stage{height:350px}}@media(max-width:760px){header{top:10px;left:3%;right:3%;padding:14px 16px}nav{top:72px;border:1px solid #ffffff30;border-radius:4px;background:#0a1422f5}nav a{font-size:16px}.tech-lab{padding:22px;margin-top:50px}.lab-heading{display:block}.lab-heading h3{font-size:37px}.lab-heading p{margin-top:20px;max-width:none}.screen-stage{height:260px}.screen-meta{font-size:10px}.parallax .words{will-change:auto}}@media(prefers-reduced-motion:reduce){.hero-line{animation:none}.parallax .words,.photo{transform:none!important}}
.control input[type=file],.compare-uploads input{width:100%;font-size:12px;color:var(--muted)}input[type=file]::file-selector-button{border:1px solid #555;background:#252820;color:var(--paper);padding:10px 12px;margin-right:10px;cursor:pointer}.mini-actions{display:flex;gap:10px;align-items:center;margin-top:12px}.mini-actions button{padding:7px;font-size:12px;flex-shrink:0}.mini-actions span{font-size:11px;color:var(--muted)}.scene-lab,.comparison-lab{border-top:1px solid #ffffff25;margin-top:50px;padding-top:45px}.scene-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:35px}.scene-viewport{height:460px;background:radial-gradient(ellipse at bottom,#252b27,#060906 70%);border:1px solid #ffffff20;position:relative;overflow:hidden;perspective:900px;touch-action:pan-y;cursor:grab}.scene-viewport:active{cursor:grabbing}.scene-orbit{position:absolute;left:50%;top:58%;width:360px;height:230px;margin-left:-180px;margin-top:-115px;transform-style:preserve-3d;transform:scale(var(--scene-scale,.9)) rotateX(var(--scene-tilt,-12deg)) rotateY(var(--scene-angle,-18deg));transition:transform .12s linear}.stage-floor{position:absolute;left:-40px;top:100px;width:440px;height:280px;background:repeating-linear-gradient(90deg,#242b28 0 39px,#414a43 40px 41px);border:2px solid #627063;transform:rotateX(90deg);box-shadow:0 0 25px #000}.scene-led{position:absolute;width:280px;height:150px;left:40px;top:0;transform:translateZ(-65px) translateX(var(--screen-x,0px));border:5px solid #293e55;box-shadow:0 0 25px color-mix(in srgb,var(--orange) 30%,transparent);background:#07111d}.scene-led canvas{width:100%;height:100%;display:block}.scene-truss{position:absolute;left:-45px;top:-35px;width:450px;height:18px;transform:translateZ(-50px);border:2px solid #889187;background:repeating-linear-gradient(45deg,transparent 0 10px,#6b776d 11px 13px,transparent 14px 23px)}.light-beam{position:absolute;top:-20px;width:100px;height:280px;background:linear-gradient(var(--light-color,#ff5a24),transparent);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);opacity:var(--light-opacity,.65);transform:translateZ(30px);mix-blend-mode:screen;pointer-events:none}.beam-one{left:-45px;transform:translateZ(10px) rotateZ(-15deg)}.beam-two{right:-45px;transform:translateZ(10px) rotateZ(15deg)}.scene-hint{position:absolute;left:20px;bottom:20px;font:10px monospace;color:#a3aea2;letter-spacing:1px}.scene-controls{display:flex;flex-direction:column;gap:22px}.scene-orbit.wide .stage-floor{left:-80px;width:520px}.scene-orbit.compact .stage-floor{left:0;width:360px;height:220px}.comparison-images{height:380px;position:relative;overflow:hidden;--split:50%;background:#07111d}.comparison-images>img,.comparison-images #after-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-images #after-layer{position:absolute;inset:0;clip-path:inset(0 0 0 var(--split))}.compare-line{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:var(--orange);pointer-events:none}.compare-line:after{content:'↔';position:absolute;left:-20px;top:50%;width:42px;height:42px;border-radius:50%;background:var(--orange);color:#111;display:grid;place-items:center;font-size:22px}.compare-label{position:absolute;bottom:20px;background:#111c;padding:10px;font:12px monospace}.before-label{left:20px}.after-label{right:20px}.compare-range{display:block;font-size:13px;margin:20px 0}.compare-range input{display:block;width:100%;accent-color:var(--orange);margin-top:12px}.compare-uploads{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:20px}.compare-uploads label{font-size:13px}.compare-uploads input{display:block;margin-top:12px}.led-transition-fade{animation:ledFade .65s ease both}.led-transition-wipe{animation:ledWipe .65s ease both}.led-transition-pulse{animation:ledPulse .65s ease both}@keyframes ledFade{from{opacity:.15}to{opacity:1}}@keyframes ledWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes ledPulse{0%{filter:brightness(.2)}50%{filter:brightness(1.7)}100%{filter:brightness(1)}}@media(max-width:900px){.scene-layout{grid-template-columns:1fr}}@media(max-width:760px){.scene-viewport{height:350px}.scene-orbit{zoom:.8}.comparison-images{height:260px}.compare-uploads{grid-template-columns:1fr}.scene-hint{font-size:9px;left:12px}.mini-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.scene-orbit{transition:none}.led-transition-fade,.led-transition-wipe,.led-transition-pulse{animation:none}}
/* Scroll driven blue firework opening */
:root{--electric:#73d8ff}.hero-scroll{height:230vh;background:#04070b}.hero{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden;background:#04070b;color:#f4f7fa;display:grid;place-items:center;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#0a1520 0,transparent 42%);pointer-events:none}.hero:after{content:none}.hero #firework-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero:before{z-index:0}.hero-core,.hero-hint{z-index:1}.hero-core{width:100%;height:100%;position:relative;display:flex;align-items:center;flex-direction:column;text-align:center}.hero-brand{position:absolute;top:calc(50% - 96px);margin:0;animation:brand-arrive 1.1s cubic-bezier(.2,.8,.2,1) .2s both;font:400 clamp(19px,3vw,36px)/1 Manrope,sans-serif;letter-spacing:.3em;color:#f3f5f6;opacity:1;transition:opacity .1s}.hero-brand span{font-weight:600}.hero-orb{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,#d2f5ff 0,#87ddff 27%,#32a7e0 63%,#11638c 100%);box-shadow:0 0 8px #61ceff,0 0 22px #2797d566,0 0 42px #168ac628;opacity:1;transition:opacity .1s,transform .1s;z-index:1}.hero-message{position:absolute;top:61%;left:50%;width:min(780px,88vw);transform:translate(-50%,18px);opacity:0;transition:opacity .16s,transform .16s;pointer-events:none}.hero-message .eyebrow{font:11px monospace;letter-spacing:.22em;color:#8bdfff;margin-bottom:20px}.hero-message h1{font:400 clamp(34px,5vw,66px)/1.06 Manrope,sans-serif;letter-spacing:-.06em;margin:0 0 17px}.hero-message>p:not(.eyebrow){color:#bdcbd4;max-width:620px;margin:0 auto;font-size:clamp(15px,1.4vw,18px);line-height:1.7}.hero-message .hero-cta{display:inline-block;pointer-events:auto;margin-top:22px;border:1px solid #72d5ff7a;padding:12px 18px;color:#e7f7ff;font-size:14px;transition:background .25s,color .25s}.hero-message .hero-cta:hover{background:#75d8ff;color:#05111a}.hero-hint{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);font:11px monospace;letter-spacing:.14em;text-transform:uppercase;color:#a6b7c2;display:flex;align-items:center;gap:12px}.hero-hint span{width:5px;height:5px;border-radius:100%;background:#75d8ff;box-shadow:0 0 12px #75d8ff}.hero-scroll.is-exploded .hero-brand{opacity:0}.wedding-section{background:#0a1421}.wedding-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin:55px 0 60px}.wedding-heading h2{font:400 clamp(42px,6vw,82px)/.99 Manrope,sans-serif;letter-spacing:-.065em;margin:20px 0 0}.wedding-heading>p{max-width:390px;color:#b8bbc2;line-height:1.8;font-size:16px}.wedding-film{position:relative;max-height:min(66vw,720px);aspect-ratio:16/9;margin:0 0 48px;background:#111;overflow:hidden;border:1px solid #ffffff1d}.wedding-film video{display:block;width:100%;height:100%;object-fit:cover}.wedding-film figcaption{position:absolute;bottom:0;left:0;padding:35px 18px 14px;width:100%;color:white;font-size:12px;background:linear-gradient(transparent,#030508a8);pointer-events:none}.wedding-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.wedding-photo{margin:0;min-width:0}.wedding-photo img{display:block;aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;filter:saturate(.82);transition:filter .4s,transform .6s}.wedding-photo:hover img{filter:saturate(1);transform:translateY(-5px)}.wedding-photo figcaption{display:flex;justify-content:space-between;padding-top:12px;font-size:13px;color:#d2d4d6}.wedding-photo figcaption span{font:11px monospace;color:#81868c}.wedding-note{color:#999da3;font-size:13px;margin:25px 0}.wedding-section>.text-link{display:inline-block;color:#f6f6f5;border-bottom:1px solid #72d5ff;padding-bottom:7px;margin-top:5px}
@keyframes brand-arrive{from{opacity:0;filter:blur(7px);transform:translateY(14px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(max-width:760px){.hero{min-height:540px}.hero-brand{top:calc(50% - 90px)}.hero-message{top:60%;width:86vw}.hero-message h1{font-size:clamp(32px,9vw,48px)}.hero-message>p:not(.eyebrow){font-size:15px}.hero-hint{bottom:22px}.wedding-heading{grid-template-columns:1fr;gap:15px;margin:38px 0}.wedding-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.wedding-photo:last-child{grid-column:span 2;width:calc(50% - 6px)}.wedding-film{aspect-ratio:4/3;max-height:none}.hero-scroll{height:220vh}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:100svh}.hero-brand,.hero-orb,.hero-message{transition:none;animation:none}.wedding-photo img{transition:none}}
@media(min-width:761px) and (max-width:1050px){header{padding-left:2%;padding-right:2%}nav{gap:8px}nav a{font-size:11px}nav .outline{padding:8px}.brand{font-size:18px}.brand span{letter-spacing:4px}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:100svh}.hero-message{top:59%;opacity:1;transform:translate(-50%,0);pointer-events:auto}.hero-hint{display:none}.hero-brand{animation:none}}
/* Cinematic transition and live entertainment / immersive experience */
.cinematic-cut{height:100svh;min-height:620px;position:relative;isolation:isolate;overflow:hidden;background:#07111e;color:#f5f8fc}.interlude-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:brightness(.64) saturate(.8)}.interlude-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#040609dc 0%,#04060989 42%,#0406091a 100%),linear-gradient(0deg,#04060990,transparent 55%)}.interlude-copy{position:absolute;left:8vw;bottom:clamp(80px,12vh,145px);max-width:1000px}.interlude-copy .eyebrow{font:12px monospace;letter-spacing:.2em;color:#a4e7ff}.interlude-copy h2{font:400 clamp(54px,9vw,132px)/.93 Manrope,sans-serif;letter-spacing:-.075em;margin:28px 0 36px}.interlude-copy h2 em{color:#9be5ff;font-style:normal}.interlude-toggle{position:absolute;right:4vw;bottom:30px;z-index:2;border:1px solid #ffffff70;background:#07111e9c;color:#f4f6f7;padding:11px 15px;font-size:12px;cursor:pointer;backdrop-filter:blur(8px)}.animation-section{background:#0b1421}.animation-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;margin:52px 0 55px}.animation-heading .eyebrow{font:12px monospace;letter-spacing:.17em;color:#9ce5ff}.animation-heading h2{font:400 clamp(44px,6.6vw,88px)/.98 Manrope,sans-serif;letter-spacing:-.065em;margin:20px 0 0}.animation-heading h2 em,.animation-feature-copy h3 em{color:#87dcff;font-style:normal}.animation-heading>p{max-width:460px;color:#c1c6cc;line-height:1.8;font-size:16px}.animation-feature{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:center;margin-bottom:55px}.animation-video{position:relative;overflow:hidden;margin:0;aspect-ratio:16/9;background:#020407;border:1px solid #ffffff26}.animation-video video{display:block;width:100%;height:100%;object-fit:cover}.animation-video figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:40px 18px 16px;background:linear-gradient(transparent,#020407cf);pointer-events:none}.animation-video figcaption span{font:12px monospace;letter-spacing:.15em;color:#98e3ff}.animation-video figcaption small,.dj-shot figcaption small{font-size:12px;color:#d0d4d9}.animation-feature-copy .section-label{color:#91dfff}.animation-feature-copy h3{font:500 clamp(31px,4vw,49px)/1.04 Manrope,sans-serif;letter-spacing:-.05em;margin:22px 0}.animation-feature-copy p{font-size:16px;line-height:1.8;color:#bec4cb}.animation-cta{display:inline-flex;gap:16px;align-items:center;margin-top:14px;border-bottom:1px solid #80dcff90;padding:0 0 9px;font-size:14px;line-height:1.5}.animation-cta span{color:#8ee1ff}.dj-gallery{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:16px;align-items:start}.dj-shot{margin:0;overflow:hidden;background:#101319;border:1px solid transparent;transition:border-color .3s,box-shadow .3s}.dj-shot:nth-child(2){margin-top:65px}.dj-shot:nth-child(3){margin-top:25px}.dj-shot:hover{border-color:#8be0ff;box-shadow:0 14px 36px #48c7ff1b}.dj-shot img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .65s,filter .5s;filter:saturate(.82)}.dj-shot:hover img{transform:scale(1.04);filter:saturate(1)}.dj-shot figcaption{display:flex;flex-direction:column;gap:6px;padding:15px 16px}.dj-shot figcaption span{font-size:14px;color:#f1f3f4}.animation-keywords{margin:32px 0 0;padding-top:20px;border-top:1px solid #ffffff20;color:#9faab2;font-size:14px;line-height:1.7}
@media(max-width:930px){header{padding:17px 5%}.menu-toggle{display:block}header nav{display:none;position:absolute;left:0;right:0;top:73px;background:#0c0e12f7;border:1px solid #ffffff25;border-radius:3px;flex-direction:column;align-items:stretch;padding:24px 6%;gap:21px}header nav.open{display:flex}header nav a{font-size:16px}}
@media(max-width:760px){.cinematic-cut{min-height:610px}.interlude-copy{left:6%;right:6%;bottom:100px}.interlude-copy h2{font-size:clamp(48px,13vw,78px);margin:23px 0 28px}.interlude-toggle{right:5%;bottom:17px;padding:9px 11px}.animation-heading{grid-template-columns:1fr;gap:16px;margin:37px 0}.animation-feature{grid-template-columns:1fr;gap:24px}.animation-video{aspect-ratio:4/3}.animation-feature-copy h3{font-size:36px}.dj-gallery{grid-template-columns:1fr 1fr;gap:13px}.dj-shot:nth-child(2),.dj-shot:nth-child(3){margin-top:0}.dj-shot:last-child{grid-column:span 2;width:calc(50% - 7px);justify-self:end}.dj-shot img{aspect-ratio:4/5}.dj-shot figcaption{padding:12px}.dj-shot figcaption span{font-size:13px}}
@media(prefers-reduced-motion:reduce){.dj-shot img{transition:none}}
/* Cannes bay fades in with the final settled particle shells. */
.hero .hero-cannes-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:0;filter:brightness(.54) saturate(.70);z-index:1;pointer-events:none;will-change:opacity}.hero .hero-image-shade{position:absolute;inset:0;background:linear-gradient(90deg,#02060bc5 0%,#02060b67 52%,#02060b3e 100%),linear-gradient(0deg,#02060bc9 0%,#02060b68 40%,#02060b5b 100%);z-index:2;pointer-events:none}.hero #firework-canvas{z-index:3}.hero-core,.hero-hint{z-index:4}@media(max-width:760px){.hero .hero-cannes-image{object-position:60% center}}

/* CREATIVE EVENT · direction électrique bleu glacier */
:root{--ink:#0a111d;--paper:#f3f7fb;--orange:#70dfff;--muted:#a9b7c8;color-scheme:dark}
body{background:#0a111d}
.contact{background:linear-gradient(135deg,#0b1726 0%,#0d1b2d 52%,#0a1421 100%);color:#f3f7fb}
.contact .section-number{color:#a8c9da}
.contact .section-top{border-color:#70dfff55}
.contact h2 em,.contact .section-label:before,.contact .section-label:after{color:#83e5ff}
.contact .contact-intro,.contact .location{color:#c6d1dd}
.contact-form input,.contact-form textarea,.contact-form select{background:#101e30;color:#f3f7fb;border-color:#486078}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#75ddff;box-shadow:0 0 0 3px #65d5ff20}
.contact-form .button{background:#70dfff;color:#07111e}
.light{background:#f3f7fb;color:#0a111d}
.light .section-top{border-color:#0b17261f}
.light .section-label:before,.light .section-label:after{color:#138db7}
.light .section-number{color:#63788a}
.light h2 em,.light h3 em{color:#087ea9}
.light .text-link{border-color:#178fb5;color:#0a4260}
.light .photo-tag{background:#07111ee0;color:#f3f7fb}
.section.light{position:relative}
.section.light:before,.congress-services:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,#54c9f342 8%,#54c9f390 25%,#80e3ff 51%,#4abce772 78%,transparent 100%);box-shadow:0 0 13px #59cfff35;pointer-events:none}
.section.light:after,.congress-services:after{content:"";position:absolute;top:-2px;left:8%;width:46px;height:4px;background:linear-gradient(90deg,#6edfff 0 4px,transparent 4px 10px,#6edfffaa 10px 34px,transparent 34px);box-shadow:0 0 10px #5ccfff80;pointer-events:none}
.section.light .section-top{border-color:transparent}
.congress-services{position:relative;background:#f3f7fb;color:#0a111d}
.congress-services .eyebrow{color:#087ea9}
.tech-lab{background:#0b1421;border-color:#29405a;box-shadow:0 18px 70px #0003}
.tech-lab:before{background:#70dfff;box-shadow:0 0 14px #62d8ff9c}
.lab-screen{background:#07111d}
#led-wall{box-shadow:0 0 35px color-mix(in srgb,var(--module-emission,#ff8240) 28%,transparent);border-color:color-mix(in srgb,var(--module-emission,#ff8240) 56%,transparent)}
.scene-led{box-shadow:0 0 25px color-mix(in srgb,var(--light-color,#ff8240) 38%,transparent)}

.wedding-section,.animation-section{background:#0a1421}
.cinematic-cut{background:#06101b}
.hero,.hero-scroll{background:#050b13}
.parallax:after{background:linear-gradient(180deg,#07111e45,transparent 45%,#07111e85)}
header{border-color:#ffffff24}
header.scrolled{box-shadow:0 10px 40px #0208138c}
@media(max-width:760px){.section.light:after,.congress-services:after{left:7%}}

.light .body-copy{color:#526174}.photo{background:#172435}.control select{background:#142235;border-color:#40546b}input[type=color]{background:#142235}input[type=file]::file-selector-button{background:#142235}.scene-led{background:#07111d}.comparison-images{background:#07111d}

/* Animation gallery: four distinct event experiences */
#animation .dj-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#animation .dj-shot:nth-child(2),#animation .dj-shot:nth-child(3){margin-top:0}
#animation .dj-shot:last-child{grid-column:auto;width:auto;justify-self:stretch}
#animation .animation-ideas{max-width:850px;margin:34px auto 0;padding:23px 26px;border-left:1px solid #8be0ff;color:var(--muted);font-size:15px;line-height:1.8;background:linear-gradient(90deg,#8be0ff0c,transparent 70%)}
#animation .animation-ideas a{display:inline-block;margin-left:8px;color:#8ee1ff;text-decoration:none;border-bottom:1px solid #8ee1ff70}
#animation .animation-ideas a span{margin-left:5px}
@media(max-width:1050px){#animation .dj-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){#animation .dj-gallery{grid-template-columns:1fr 1fr;gap:13px}#animation .dj-shot:last-child{grid-column:auto;width:auto}#animation .animation-ideas{margin-top:26px;padding:18px;font-size:14px}}
@media(max-width:480px){#animation .dj-gallery{grid-template-columns:1fr}}

/* One unified LED and stage configurator */
#led-studio .lab-heading{margin-bottom:32px}#led-studio .lab-heading h3 em{font-style:normal;color:#8be0ff}
#led-studio .scene-viewport{height:560px;background-color:#07111d}
#led-studio .scene-viewport:before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(180deg,#07111d99,#07111d30 45%,#07111dbb),var(--scene-background,none);background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.82)}
#led-studio .scene-orbit{z-index:1}#led-studio .scene-readout{position:absolute;z-index:3;top:16px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#d6e7f2;font:11px monospace;letter-spacing:.08em;text-shadow:0 2px 8px #000;background:#07111d80;padding:11px 13px;backdrop-filter:blur(8px)}
#led-studio .scene-readout button{border:1px solid #8be0ff70;background:#07111d99;color:#eaf8ff;padding:7px 10px;font:11px sans-serif;cursor:pointer}#led-studio .scene-readout-bottom{top:auto;bottom:14px;color:#b8cbd5}#led-studio .scene-readout-bottom .scene-hint{position:static;font:10px monospace;color:inherit;letter-spacing:.08em}
#led-studio .scene-led{background:#07111d;overflow:hidden}#led-studio #scene-content{display:block;width:100%;height:100%}
#led-studio .unified-controls{gap:18px}#led-studio .control-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}#led-studio .lab-stats strong{font-size:24px}#led-studio .lab-stats strong span{display:inline;font:inherit;color:inherit}#led-studio .render-buffer{position:absolute;left:-10000px;top:0;width:960px;height:540px;overflow:hidden;visibility:hidden;pointer-events:none}
@media(max-width:900px){#led-studio .scene-viewport{height:470px}}@media(max-width:760px){#led-studio .scene-viewport{height:380px}#led-studio .scene-readout{left:10px;right:10px;top:10px;padding:9px;font-size:9px}#led-studio .scene-readout-bottom{top:auto;bottom:10px}#led-studio .scene-readout-bottom .scene-hint{font-size:8px}#led-studio .control-pair{grid-template-columns:1fr;gap:15px}}
@media(max-width:420px){#led-studio .scene-readout-bottom{align-items:flex-start;flex-direction:column;gap:6px}}

/* Simplified interlude and oversized section-title parallax */
.mini-actions button{border:1px solid #555;background:none;color:var(--paper);padding:10px 16px;font-size:13px;cursor:pointer}
.cinematic-cut.parallax{height:100svh;min-height:620px;max-height:none}
.cinematic-cut.parallax .interlude-video{inset:0 auto auto 0;width:100%;height:120svh;min-height:100%;transform:translate3d(0,var(--parallax-y,0px),0);filter:brightness(.48) saturate(.78);will-change:transform}
.cinematic-cut.parallax .interlude-overlay{background:linear-gradient(180deg,#06101b45,transparent 38%,#07111e78)}
.cinematic-cut.parallax .interlude-copy{position:absolute;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:max-content;max-width:92vw;text-align:center;z-index:2}
.cinematic-cut.parallax .interlude-copy h2{font:400 clamp(58px,10vw,148px)/.95 Manrope,sans-serif;letter-spacing:-.075em;margin:0;color:#f5f8fc;text-shadow:0 4px 45px #020712b8}
.cinematic-cut.parallax .interlude-toggle{z-index:3;width:44px;height:44px;border-radius:50%;padding:0;display:grid;place-items:center;font-size:15px;transition:background .2s,border-color .2s}
.cinematic-cut.parallax .interlude-toggle:hover{background:#12304a;border-color:#8be0ff}
.parallax .words{font-size:clamp(38px,7vw,112px)}
.parallax .words h2{font:inherit;letter-spacing:inherit;line-height:inherit;color:inherit}
@media(max-width:760px){.cinematic-cut.parallax{height:100svh;min-height:610px}.cinematic-cut.parallax .interlude-video{height:120svh}.cinematic-cut.parallax .interlude-copy{left:50%;right:auto;top:50%;bottom:auto;width:92vw;transform:translate(-50%,-50%)}.cinematic-cut.parallax .interlude-copy h2{font-size:clamp(46px,12vw,78px);margin:0}.cinematic-cut.parallax .interlude-toggle{right:5%;bottom:17px;width:40px;height:40px}.parallax .words{font-size:clamp(38px,9vw,58px)}}
@media(prefers-reduced-motion:reduce){.parallax video{height:100%;transform:none!important}}

/* Uniform heights for the inter-section parallax panels */
.parallax:not(.cinematic-cut){height:360px;min-height:360px;max-height:none}
.parallax:not(.cinematic-cut) img{top:-27.5%;height:155%;transform:translate3d(0,calc(var(--parallax-y,0px)*.18),0)}
@media(max-width:760px){.parallax:not(.cinematic-cut){height:260px;min-height:260px}.parallax:not(.cinematic-cut) img{top:-27.5%;height:155%}}

/* All parallax title panels, including the presentation video, share one height. */
.parallax:not(.cinematic-cut){height:500px;min-height:500px;max-height:500px}
.cinematic-cut.parallax{height:500px;min-height:500px;max-height:500px}

/* CREATIVE EVENT — panneaux plus doux, dégradés froids et matières vitrées */
:root{--panel-radius:28px;--glass-line:rgba(178,226,255,.16);--glow-cyan:rgba(74,205,255,.16);--glow-violet:rgba(110,96,255,.12)}
html{background:#070d17}
body{background:radial-gradient(ellipse at 8% 6%,#143653 0%,transparent 34%),radial-gradient(ellipse at 93% 30%,#20214b55 0%,transparent 35%),linear-gradient(145deg,#070d17,#0a1423 58%,#080e18);background-attachment:fixed}
header{position:fixed;top:14px;left:3%;right:3%;width:94%;max-width:1580px;margin-inline:auto;padding:15px 24px;border:1px solid #c8eaff24;border-radius:999px;background:linear-gradient(110deg,rgba(7,15,28,.88),rgba(15,24,43,.76));backdrop-filter:blur(22px) saturate(140%);box-shadow:0 14px 45px #02061155;transition:background .3s,border-color .3s,box-shadow .3s}
header.scrolled{background:linear-gradient(110deg,rgba(7,15,28,.96),rgba(18,27,48,.91));border-color:#a9e5ff35;box-shadow:0 15px 50px #02061199}
header nav{gap:clamp(10px,1.35vw,22px)}
.outline{border-radius:999px;border-color:#bfeaff45;background:linear-gradient(110deg,#36cfff1c,#7664ff1c);padding:11px 18px;transition:background .25s,border-color .25s,transform .25s}
.outline:hover{background:linear-gradient(110deg,#3ad2ff3a,#7865ff36);border-color:#b9edff80;transform:translateY(-1px)}
.menu-toggle{border-radius:999px;border-color:#bfeaff50;background:#0d1929b8}
.hero,.hero-scroll{background:radial-gradient(ellipse at 52% 45%,#153a53 0%,#08111c 42%,#050912 100%)}
.hero-cta,.button{border-radius:999px}
.hero-cta{background:linear-gradient(105deg,#44d8ff 0%,#688bff 54%,#9668ff 100%);color:#06101e;box-shadow:0 10px 35px #4abff849;transition:transform .3s,box-shadow .3s,filter .3s}
.hero-cta:hover{transform:translateY(-3px);box-shadow:0 15px 42px #7b78ff65;filter:saturate(1.12)}
.section{position:relative;isolation:isolate;margin:clamp(18px,2.2vw,34px) 2.2%;padding:clamp(56px,8vw,112px) clamp(24px,6vw,92px);border:1px solid var(--glass-line);border-radius:var(--panel-radius);overflow:hidden;background:radial-gradient(ellipse at 7% 0%,var(--glow-cyan),transparent 45%),radial-gradient(ellipse at 100% 86%,var(--glow-violet),transparent 43%),linear-gradient(145deg,#101e30f5,#0b1422f7 64%,#0d1727f5);box-shadow:0 25px 90px #02071156,inset 0 1px #ffffff08}
.section:not(.light):before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,#8ce5ff05,transparent 36%,#8f7cff08 100%)}
.section.light{background:radial-gradient(ellipse at 92% 0%,#91e7ff42,transparent 38%),radial-gradient(ellipse at 0% 100%,#c4bbff2c,transparent 44%),linear-gradient(140deg,#f8fcff,#edf5fb 65%,#f6f8ff);border-color:#92dfff55;box-shadow:0 24px 75px #00122320,inset 0 1px #fff}
.section.light:before,.section.light:after{z-index:1}
.parallax{width:95.6%;margin:clamp(18px,2vw,30px) auto;border:1px solid #c2eaff36;border-radius:24px;box-shadow:0 20px 65px #0207127a,0 0 38px #5dcfff10;isolation:isolate}
.cinematic-cut.parallax{width:95.6%;margin:clamp(18px,2vw,30px) auto;border-radius:24px;border:1px solid #c2eaff36;box-shadow:0 20px 65px #02071280}
.parallax:after{background:linear-gradient(180deg,#07111e4d 0%,#09132312 35%,#06101e99 100%);border-radius:inherit}
.photo,.photo img,.animation-video,.dj-shot,.project .photo,.rental .photo{border-radius:18px}
.photo{border:1px solid #b5e5ff1c;box-shadow:0 16px 42px #02081252;transition:transform .4s,border-color .35s,box-shadow .35s}
.photo:hover{border-color:#78dfff88;box-shadow:0 20px 52px #050c18a6,0 0 30px #55caff21}
.photo .photo-tag{border:1px solid #bcecff36;border-radius:999px;backdrop-filter:blur(12px);background:linear-gradient(100deg,#081321d9,#172744c9)}
.service-list{border:0;display:grid;gap:13px}
.service-item{border:1px solid #a9dfff26;border-radius:18px;padding:0 20px;background:linear-gradient(120deg,#122238d9,#0c1726e8);box-shadow:0 12px 36px #02081435;overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s}
.service-item:hover{border-color:#75dfff66;transform:translateY(-2px);box-shadow:0 17px 42px #02081459,0 0 26px #50cfff14}
.service-item summary{padding:25px 0}
.service-content{padding:0 0 25px 42px}
.rental{padding:12px;border:1px solid #95dfff30;border-radius:21px;background:linear-gradient(145deg,#ffffff,#f0f7fc);box-shadow:0 18px 50px #0002;overflow:hidden}
.rental-info{padding:20px 8px 10px;border:0}
.project{overflow:hidden;border:1px solid #b4e5ff24!important;border-radius:20px!important;background:linear-gradient(145deg,#111f31,#0a1422)!important;box-shadow:0 16px 44px #02081466;transition:transform .35s,border-color .35s,box-shadow .35s}
.project:hover{transform:translateY(-5px);border-color:#7ee0ff78!important;box-shadow:0 22px 48px #0208148a,0 0 30px #5bcfff1b}
.project .photo{border:0;border-radius:0;box-shadow:none}
.project-info{padding:17px 19px 20px}
.step{padding:23px 22px 26px;border:1px solid #79d8ff2a;border-radius:18px;background:linear-gradient(145deg,#edf7fc,#ffffff);box-shadow:0 12px 38px #00182a17}
.principle{padding:22px 18px;border:1px solid #b5e5ff20;border-radius:16px;background:linear-gradient(100deg,#b2ecff0b,transparent);margin:11px 0}
.gallery .photo,.wedding-gallery .photo,.dj-shot,.animation-video{border:1px solid #b5e5ff28;border-radius:18px;box-shadow:0 16px 44px #02081455}
.filters button,.interlude-toggle,.back-top,.contact-form .button{border-radius:999px}
#led-studio .scene-viewport{border:1px solid #92dcff38;border-radius:24px;overflow:hidden;box-shadow:0 25px 70px #02071288,0 0 40px #51caff1b}
#led-studio .lab-controls{border:1px solid #9adfff30;border-radius:22px;background:linear-gradient(135deg,#102137,#0c1625);box-shadow:0 18px 55px #02071266}
#led-studio .lab-stats>div,.control{border-radius:14px}
#animation .animation-ideas{border:1px solid #90ddff30;border-left:3px solid #71dcff;border-radius:16px;background:linear-gradient(110deg,#2fbfff15,#796aff12 80%,transparent);padding:22px 24px}
.contact{border-color:#80dfff36;background:radial-gradient(ellipse at 95% 0%,#735eff24,transparent 42%),radial-gradient(ellipse at 0% 100%,#3acfff1d,transparent 45%),linear-gradient(145deg,#101f33,#0a1422 66%,#11152b)}
.contact-form{padding:24px;border:1px solid #a5e4ff2b;border-radius:22px;background:linear-gradient(145deg,#15263caa,#0b1728cc);box-shadow:0 20px 55px #02071268}
.contact-form .button{background:linear-gradient(100deg,#49d7ff,#668eff 60%,#956dff);color:#08111f}
footer{margin:25px 2.2% 18px;padding:35px 4%;border:1px solid #b5e5ff20;border-radius:22px;background:linear-gradient(115deg,#101e30,#0a1220 60%,#171935);box-shadow:0 20px 55px #02071260}
@media(max-width:930px){header{top:10px;left:3%;right:3%;width:94%;padding:13px 18px;border-radius:22px}header nav{border-radius:18px;background:linear-gradient(145deg,#101f33f7,#0b1222f7);box-shadow:0 20px 55px #020712bb}}
@media(max-width:760px){.section{margin:15px 3%;padding:54px 22px;border-radius:21px}.parallax,.cinematic-cut.parallax{width:94%;margin:17px auto;border-radius:18px}.service-item{padding-inline:15px;border-radius:15px}.service-content{padding-left:0}.rental{border-radius:17px;padding:9px}.project{border-radius:16px!important}.contact-form{padding:18px;border-radius:18px}footer{margin:18px 3%;padding:28px 22px;border-radius:18px}}

/* Full-bleed section and parallax treatment */
.section,
.section.light,
.contact {
  width: 100%;
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.section {
  overflow: visible;
}
.section.light {
  border-color: transparent;
}
.parallax,
.cinematic-cut.parallax {
  width: 100%;
  max-width: none;
  height: 500px;
  min-height: 500px;
  max-height: 500px;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.parallax .words h2,
.cinematic-cut .interlude-copy h2 {
  color: #fff !important;
}
.parallax:after {
  border-radius: 0;
}
.project .photo {
  border-radius: 14px;
  overflow: hidden;
}
@media (max-width: 760px) {
  .section,
  .section.light,
  .contact {
    width: 100%;
    margin: 0;
    border-radius: 0;
  }
  .section {
    padding: 54px 22px;
  }
  .parallax,
  .cinematic-cut.parallax {
    width: 100%;
    height: 500px;
    min-height: 500px;
    max-height: 500px;
    margin: 0;
    border-radius: 0;
  }
}

/* Full width sections with comfortable, consistent inner margins */
.section,
.section.light,
.section.contact {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: clamp(28px, 7vw, 124px);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
.section > * {
  width: 100%;
  max-width: 1480px;
  margin-inline: auto;
}
.studio-section {
  background: radial-gradient(ellipse at 78% 5%, #123452 0%, transparent 42%), linear-gradient(145deg,#080f1b,#0b1524 60%,#09111d);
  color: #f3f7fb;
}
.studio-section .tech-lab {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.studio-section .tech-lab:before { display: none; }
.section:not(.light) h2,
.section:not(.light) h3,
.studio-section h2,
.studio-section h3 { color: #f3f7fb; }
.section:not(.light) h2 em,
.section:not(.light) h3 em,
.studio-section h2 em,
.studio-section h3 em { color: #8be0ff; }
.section.light h2,
.section.light h3 { color: #0a111d; }

/* The installation preview leads; all controls follow beneath it. */
#led-studio .lab-heading { margin: 0 auto 34px; max-width: 1480px; }
#led-studio .lab-layout { display: flex; flex-direction: column; gap: 26px; width: 100%; }
#led-studio .scene-viewport { order: 0; width: 100%; height: clamp(400px, 46vw, 620px); min-height: 400px; }
#led-studio .lab-controls { order: 1; width: 100%; padding: clamp(20px, 3vw, 38px); gap: 18px; }
#led-studio .lab-controls > .control,
#led-studio .lab-controls > .control-pair,
#led-studio .lab-controls > .lab-stats,
#led-studio .lab-controls > .ai-image-generator { width: 100%; }
#led-studio .control { padding: 17px 19px; }
#led-studio .ai-image-generator { padding: clamp(18px, 2.7vw, 30px); }
#led-studio .lab-note { padding-inline: 6px; line-height: 1.75; }

/* Wedding film and gallery: one consistent rounded frame system. */
.wedding-film { border: 1px solid #a8e6ff38; border-radius: 24px; overflow: hidden; box-shadow: 0 24px 65px #0207118c, 0 0 38px #51caff18; }
.wedding-film video { border-radius: inherit; }
.wedding-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 0 auto 54px; }
.wedding-details article { min-width: 0; padding: 25px 24px 27px; border: 1px solid #91dcff28; border-radius: 18px; background: linear-gradient(145deg,#122238,#0c1625 78%); box-shadow: 0 15px 40px #0208124d; }
.wedding-details article > span { display: block; margin-bottom: 32px; color: #8be0ff; font: 11px monospace; letter-spacing: .14em; }
.wedding-details h3 { margin: 0 0 12px; color: #f4f7fb; font: 500 clamp(19px,2vw,25px)/1.2 Manrope,sans-serif; letter-spacing: -.03em; }
.wedding-details p { color: #b8c4d1; font-size: 14px; line-height: 1.8; }
.wedding-gallery { align-items: stretch; }
.wedding-photo { min-width: 0; margin: 0; overflow: hidden; border: 1px solid #b5e5ff28; border-radius: 18px; background: #0b1523; box-shadow: 0 16px 44px #02081455; }
.wedding-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 0; }
.wedding-photo figcaption { min-height: 47px; align-items: center; padding: 12px 14px; }

/* Make every portfolio tile use the same image frame and proportion. */
.gallery .project { display: flex; flex-direction: column; height: 100%; padding: 10px !important; border-radius: 20px !important; }
.gallery .project .photo { flex: none; width: 100%; height: auto !important; min-height: 0; margin: 0 0 13px; aspect-ratio: 4/3; border-radius: 14px !important; }
.gallery .project .photo img { width: 100%; height: 100%; object-fit: cover; }
.gallery .project-info { flex: 1; width: 100%; padding: 8px 8px 10px; }
.gallery .project-info h3 { color: #f3f7fb; }
.gallery .project-info p { line-height: 1.55; }
.photo img,.wedding-photo img,.gallery .project .photo img { transition: transform .65s cubic-bezier(.2,.7,.2,1),filter .5s; }
.wedding-photo:hover img,.gallery .project:hover .photo img { transform: scale(1.045); filter: saturate(1.08); }

@media (max-width: 760px) {
  .section,.section.light,.section.contact { padding-inline: 22px; }
  #led-studio .scene-viewport { height: 400px; min-height: 400px; }
  #led-studio .lab-controls { padding: 16px; }
  .wedding-details { grid-template-columns: 1fr; gap: 12px; margin-bottom: 38px; }
  .wedding-details article { padding: 20px; }
  .wedding-details article > span { margin-bottom: 18px; }
  .wedding-photo img { aspect-ratio: 1/1; }
  .gallery .project .photo { aspect-ratio: 4/3; }
}

/* Center the LED studio introduction as one clear focal point. */
#led-studio .lab-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  max-width: 1040px;
  margin: 0 auto 38px;
  text-align: center;
}
#led-studio .lab-heading > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  text-align: center;
}
#led-studio .lab-heading .section-label { text-align: center; }
#led-studio .lab-heading h3 {
  margin: 0;
  text-align: center;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.08;
}
#led-studio .lab-heading p {
  width: min(100%, 680px);
  max-width: 680px;
  margin: 0;
  color: #c4d0dc;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.75;
  text-align: center;
}

/* Center and strengthen the two service prompts. */
.installation-note {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 34px auto 0;
  padding: 13px 24px;
  border-radius: 999px;
  color: #f3f7fb;
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.4;
  text-align: center;
}
.wedding-cta {
  display: flex;
  width: fit-content;
  max-width: 100%;
  justify-content: center;
  align-items: center;
  margin: 34px auto 0;
  padding: 13px 24px;
  border: 1px solid #8be0ff72;
  border-radius: 999px;
  background: linear-gradient(105deg,#38cfff1b,#806bff1b);
  color: #f4f8fc;
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.4;
  text-align: center;
  transition: transform .25s,border-color .25s,box-shadow .25s;
}
.wedding-cta:hover { transform: translateY(-2px); border-color: #8be0ff; box-shadow: 0 10px 28px #40caff25; }

/* A dozen project cards keep the category selector directly above them. */
#realisations .filters { margin: 32px 0 22px; }
#realisations .gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; align-items: stretch; }
#realisations .gallery .project { min-width: 0; }
#realisations .gallery .project .photo { aspect-ratio: 4/3; }
#realisations .gallery .project-info { min-height: 76px; align-items: center; }
#realisations .gallery .project-info h3 { font-size: clamp(17px,1.6vw,22px); letter-spacing: -.035em; }
#realisations .gallery .project-info p { margin-top: 5px; font-size: 13px; }
@media (max-width: 900px) {
  #realisations .gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
}
@media (max-width: 540px) {
  #realisations .gallery { grid-template-columns: 1fr; gap: 14px; }
  #realisations .gallery .project .photo { aspect-ratio: 1.25/1; }
  .installation-note,.wedding-cta { font-size: 16px; padding: 12px 18px; }
  #led-studio .lab-heading { gap: 15px; margin-bottom: 26px; }
  #led-studio .lab-heading h3 { font-size: clamp(32px,9vw,46px); }
}


/* Final layout polish: service badge, centered studio heading, and clean gallery rows. */
.installation-note {
  background: linear-gradient(135deg, #050a10, #111b29) !important;
  border: 1px solid #8be0ff55 !important;
  box-shadow: 0 10px 34px #02071155, 0 0 24px #48caff12;
  color: #f4f8fc !important;
}
#led-studio .lab-heading {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  justify-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
}
#led-studio .lab-heading > div {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
}
#led-studio .lab-heading .section-label {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}
#led-studio .lab-heading h3,
#led-studio .lab-heading p {
  width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
}
#led-studio .lab-heading h3 { max-width: 100% !important; }
#led-studio .tech-lab,
#led-studio .lab-layout { width: 100% !important; margin-inline: auto !important; }
#realisations .gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: auto;
  align-items: stretch !important;
  gap: 28px 22px !important;
  width: 100%;
}
#realisations .gallery .project {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch;
  width: 100% !important;
  height: auto !important;
  min-width: 0;
  margin: 0 !important;
  overflow: hidden;
  transform: none !important;
}
#realisations .gallery .project:hover { z-index: 1; transform: none !important; }
#realisations .gallery .project .photo {
  position: relative;
  display: block;
  flex: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3;
  margin: 0 0 12px !important;
  overflow: hidden;
}
#realisations .gallery .project .photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#realisations .gallery .project-info {
  display: flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 88px;
  margin: 0;
}
#realisations .gallery .project-info > div { min-width: 0; }
#realisations .gallery .project-info h3,
#realisations .gallery .project-info p { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  #realisations .gallery { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 22px 16px !important; }
}
@media (max-width: 540px) {
  #realisations .gallery { grid-template-columns: minmax(0,1fr) !important; gap: 18px !important; }
  #realisations .gallery .project .photo { aspect-ratio: 1.25 / 1; }
}

/* Sparse, edge-hugging cyan circuit traces, revealed as each chapter enters view. */
.matrix-scroll-traces {
  position: fixed;
  z-index: 14;
  inset: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  opacity: .82;
  mix-blend-mode: normal;
}
@media (prefers-reduced-motion: reduce) {
  .matrix-scroll-traces { display: none; }
}

/* Screen editor: full-frame artwork, local venue background, and direct screen dragging. */
#led-studio .scene-viewport{background-image:linear-gradient(180deg,#071321a6,#07132178 55%,#071321ba),var(--scene-background,transparent),radial-gradient(ellipse at bottom,#172d43,#060d16 72%);background-size:cover,cover,cover;background-position:center} 
#led-studio .scene-orbit{top:66%;touch-action:none;cursor:grab;will-change:transform}
#led-studio .scene-led{transform:translateZ(-65px);user-select:none;-webkit-user-select:none;border-color:#3986ad;background:#07111d;box-shadow:0 0 28px #53cfff32}
#led-studio .scene-led canvas{pointer-events:none}
#led-studio .scene-viewport:has(.scene-orbit.is-dragging){cursor:grabbing}
#led-studio .scene-hint{font-size:11px;letter-spacing:.05em;color:#b9eaff;text-shadow:0 1px 8px #020813}


/* Prompt-based image generation for the LED display. */
#led-studio .ai-image-generator{display:flex;flex-direction:column;gap:14px;width:100%;padding:clamp(18px,2.7vw,30px);border:1px solid #64cfff38;border-radius:20px;background:linear-gradient(145deg,#102239,#0a1422 74%);box-shadow:inset 0 1px #ffffff0c}
#led-studio .image-generator-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
#led-studio .image-quota{font:12px monospace;color:#a8e7ff}
#led-studio .image-generator-intro{margin:0;color:#e4f1f7;line-height:1.65}
#led-studio .image-prompt-label{color:#e4f1f7;font-size:14px;font-weight:600}
#led-studio #image-prompt{width:100%;min-height:112px;resize:vertical;padding:14px;border:1px solid #8dcdf04d;border-radius:12px;background:#06111d;color:#f0f8ff;line-height:1.6}
#led-studio #image-prompt::placeholder{color:#91a5b7}
#led-studio .image-generator-note,#led-studio .image-generator-limits,#led-studio .image-generator-status{margin:0;color:#aab8c8;font-size:13px;line-height:1.65}
#led-studio .image-generate-button{width:100%;margin:0}
#led-studio .image-generate-button:disabled{opacity:.48;cursor:not-allowed}
#led-studio .image-result{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:14px;border:1px solid #8bddff3a;border-radius:16px;background:#06111dba}
#led-studio .image-result[hidden]{display:none}
#led-studio .generated-image{display:block;width:100%;max-height:380px;object-fit:contain;border-radius:12px;background:#050b12}
#led-studio .image-download{width:auto;margin:0}
#led-studio .image-result-note{margin:0;color:#aab8c8;font-size:13px;line-height:1.6}
@media(max-width:620px){#led-studio .image-generator-head{align-items:flex-start;flex-direction:column}}
/* Drag the complete installation as one unit: LED panel, support and stage. */
#led-studio .scene-orbit{transform:translate3d(var(--scene-x,0px),var(--scene-y,0px),0) scale(var(--scene-scale,.9)) rotateX(var(--scene-tilt,-12deg)) rotateY(var(--scene-angle,-18deg));touch-action:none;cursor:grab}
#led-studio .scene-orbit.is-dragging{cursor:grabbing;transition:none}
#led-studio .scene-orbit{top:66%}
#led-studio .scene-viewport{cursor:grab}
#led-studio .scene-viewport:has(.scene-orbit.is-dragging){cursor:grabbing}


/* Compact uploads and keep image generation separate from the installation controls. */
#led-studio .upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}
#led-studio .upload-card{min-width:0;padding:18px;border:1px solid #91dfff28;border-radius:16px;background:linear-gradient(145deg,#0b1826,#101d2b)}
#led-studio .upload-card>label{display:block;margin-bottom:14px;font-size:15px;font-weight:600}
#led-studio .upload-card input[type=file]{min-width:0}
#led-studio .upload-card .mini-actions{align-items:flex-start;flex-wrap:wrap}
#led-studio .ai-image-generator{margin-top:30px;padding:clamp(22px,3.5vw,38px);border-color:#78d9ff65;background:radial-gradient(ellipse at 0 0,#17608630,transparent 60%),linear-gradient(145deg,#0c1b2b,#08111b)}
#led-studio .image-generator-title{margin:12px 0 0;color:#f1f8fc;font-size:clamp(22px,3vw,30px);font-weight:550;letter-spacing:-.03em}
#led-studio .ai-image-generator .image-generator-head{align-items:flex-start}
#led-studio .scene-led{transform:translateZ(-50px)}
@media(max-width:760px){#led-studio .upload-grid{grid-template-columns:1fr}}

/* Three Cannes congress capsules per row on desktop; keep two on tablets and one on phones. */
@media(min-width:1000px){.congress-directory .events-list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1800px;padding-left:clamp(24px,4vw,68px);padding-right:clamp(24px,4vw,68px);gap:clamp(14px,1.6vw,24px)}.congress-directory .event-visual{height:clamp(170px,18vw,270px);margin:12px 12px 0;padding:6px}.congress-directory .event-copy{padding:20px 19px 22px}.congress-directory .event-copy h2{font-size:clamp(22px,2vw,31px)}.congress-directory .event-copy>p{font-size:14px}.congress-directory .event-copy .keyword-line{font-size:13px}}
@media(min-width:761px) and (max-width:999px){.congress-directory .events-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.animation-advice{margin-top:72px;padding:clamp(24px,4vw,48px);border:1px solid #76d8ff35;border-radius:24px;background:linear-gradient(140deg,#102238,#0b1725 72%);box-shadow:0 20px 55px #02081355}
.animation-advice-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.65fr);gap:18px 8vw;align-items:end}
.animation-advice-heading .eyebrow{grid-column:1/-1;margin:0;color:#9ce5ff;font:12px monospace;letter-spacing:.17em}
.animation-advice-heading h3{margin:0;font:400 clamp(32px,4.5vw,58px)/1.02 Manrope,sans-serif;letter-spacing:-.055em}
.animation-advice-heading h3 em{color:#87dcff;font-style:normal}
.animation-advice-heading>p:not(.eyebrow){margin:0;color:#c1cbd5;font-size:15px;line-height:1.8}
.animation-advice-heading .text-link{grid-column:1/-1;justify-self:start}
.animation-advice-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:35px}
.animation-advice-steps article{padding:20px;border:1px solid #83d9ff24;border-radius:16px;background:#07132180}
.animation-advice-steps article>span{color:#8edfff;font:11px monospace;letter-spacing:.09em}
.animation-advice-steps h4{margin:14px 0 8px;font-size:18px;font-weight:600;color:#f1f7fc}
.animation-advice-steps p{margin:0;color:#bdcad5;font-size:14px;line-height:1.65}
@media(max-width:760px){.animation-advice{margin-top:45px;padding:22px;border-radius:19px}.animation-advice-heading{grid-template-columns:1fr;gap:17px}.animation-advice-heading .eyebrow,.animation-advice-heading .text-link{grid-column:auto}.animation-advice-steps{grid-template-columns:1fr;gap:11px;margin-top:25px}}

/* FAQ générale, placée entre les réalisations et le contact. */
.faq-section{background:#0b1928;color:#f3f7fb;padding-top:105px;padding-bottom:115px}
.faq-heading{display:grid;grid-template-columns:1.1fr .65fr;gap:8%;align-items:end;margin-bottom:48px}
.faq-heading>p{max-width:390px;color:#b8c7d5;line-height:1.8;margin-bottom:8px}
.faq-list{max-width:1100px;border-top:1px solid #87dfff42}
.faq-list details{border-bottom:1px solid #87dfff42;padding:0 4px}
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0;font:500 clamp(17px,1.7vw,22px) Manrope,sans-serif;color:#f2f7fc}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';flex:0 0 auto;color:#70dfff;font:300 28px 'DM Sans',sans-serif;transition:transform .2s}
.faq-list details[open] summary:after{transform:rotate(45deg)}
.faq-list details p{max-width:820px;padding:0 44px 23px 0;color:#b8c7d5;line-height:1.8}
.faq-parallax{height:500px}
@media(max-width:760px){.faq-section{padding:75px 7% 82px}.faq-heading{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.faq-list summary{padding:20px 0}.faq-list details p{padding-right:8px}.faq-parallax{height:500px}}
