.case-study{border:1px solid var(--line);background:white}.case-study>header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:28px;border-bottom:1px solid var(--line)}.case-study>header span,.after-copy span{font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--aqua2)}.case-study>header h3{font:600 clamp(25px,3vw,42px) 'Space Grotesk';letter-spacing:-.04em;margin:8px 0 0}.case-tabs{display:flex;border:1px solid var(--line);padding:4px;border-radius:100px}.case-tab{border:0;background:transparent;border-radius:100px;padding:12px 18px;font-weight:700;cursor:pointer;transition:.25s}.case-tab b{margin-left:8px;color:var(--aqua2)}.case-tab.active{background:var(--ink);color:white}.case-panel{display:none;min-height:620px}.case-panel.active{display:grid}.case-panel[data-panel="before"]{grid-template-columns:1.7fr .8fr;gap:8px;background:var(--ink);padding:8px}.case-panel figure{position:relative;margin:0;overflow:hidden}.case-panel img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s}.case-panel figure:hover img{transform:scale(1.025)}.before-main{min-height:610px}.before-side{display:grid;grid-template-rows:1fr 1fr;gap:8px}.case-panel figcaption{position:absolute;left:15px;bottom:15px;background:#0b1212d9;color:white;padding:9px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;backdrop-filter:blur(8px)}.after-panel{grid-template-columns:1.45fr .55fr;background:var(--ink);color:white;padding:8px}.after-panel video{width:100%;height:620px;background:#000;object-fit:contain}.after-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:42px}.after-copy h3{font:600 32px 'Space Grotesk';letter-spacing:-.04em;margin:14px 0}.after-copy p{color:#aeb8b5;line-height:1.6}.case-study>footer{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.12em}.case-next{border:0;background:none;font:700 13px 'DM Sans';cursor:pointer}.case-next b{font-size:20px;margin-left:15px;transition:transform .3s;display:inline-block}.case-next:hover b{transform:translateX(6px)}
@media(max-width:900px){.case-study>header{align-items:flex-start;flex-direction:column}.case-panel[data-panel="before"],.after-panel{grid-template-columns:1fr}.before-main{min-height:420px}.before-side{grid-template-columns:1fr 1fr;grid-template-rows:280px}.after-panel video{height:520px}.after-copy{padding:28px}}
@media(max-width:560px){.case-panel[data-panel="before"]{display:none}.case-panel[data-panel="before"].active{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.case-panel[data-panel="before"] figure{min-width:88vw;height:430px;scroll-snap-align:center}.before-side{display:contents}.case-tabs{width:100%}.case-tab{flex:1}.after-panel video{height:460px}.case-study>footer{padding:16px}.case-study>footer>span{display:none}}
.showcase>header{align-items:center}.showcase>header>b{font-size:10px;letter-spacing:.14em;color:var(--aqua2)}.showcase-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;background:var(--ink);gap:8px;padding:8px}.result-video{min-height:680px;position:relative;background:#000;display:grid;place-items:center;overflow:hidden}.result-video video{width:100%;height:680px;object-fit:contain;background:#000}.media-label{position:absolute;left:18px;bottom:18px;background:#f4f7f5e8;backdrop-filter:blur(12px);padding:12px 16px;display:flex;align-items:center;gap:14px}.media-label i,.rail-title i{font-style:normal;font:700 10px 'Space Grotesk';letter-spacing:.14em;color:var(--aqua2)}.media-label span,.rail-title span{font-size:11px}.before-rail{display:grid;grid-template-rows:auto repeat(3,1fr);gap:8px}.rail-title{background:var(--paper);padding:14px;display:flex;justify-content:space-between;align-items:center}.before-rail figure{margin:0;position:relative;min-height:0;overflow:hidden;cursor:zoom-in}.before-rail img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s}.before-rail figure:hover img{transform:scale(1.05)}.before-rail figcaption{position:absolute;right:8px;bottom:8px;background:var(--aqua);color:var(--ink);width:28px;height:28px;display:grid;place-items:center;font:700 10px 'Space Grotesk'}.showcase>footer a{text-decoration:none;font-weight:700;font-size:12px}.showcase>footer a b{display:inline-block;margin-left:12px;transition:transform .25s}.showcase>footer a:hover b{transform:translateX(5px)}
@media(max-width:900px){.showcase-grid{grid-template-columns:1fr}.result-video,.result-video video{height:590px;min-height:590px}.before-rail{grid-template-columns:repeat(3,1fr);grid-template-rows:auto 220px}.rail-title{grid-column:1/-1}.showcase>header{flex-direction:row}}
@media(max-width:560px){.showcase>header{flex-direction:column}.showcase-grid{padding:5px}.result-video,.result-video video{height:520px;min-height:520px}.before-rail{display:flex;overflow-x:auto}.rail-title{min-width:120px}.before-rail figure{min-width:75vw;height:240px}.media-label{left:10px;bottom:10px}.showcase>footer>span{display:block;font-size:9px}.showcase>footer{gap:18px}}
.cinematic{isolation:isolate}.cinematic video{filter:saturate(.82) contrast(1.12) brightness(.96) sepia(.05);transform:scale(1.075);transition:filter 1.2s,transform 6s cubic-bezier(.2,.75,.2,1);opacity:0}.cinematic.in-view video{animation:videoFade 1.2s .45s forwards;transform:scale(1.01)}.video-tint{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(135deg,#12cbbb24 0%,transparent 42%,#06100f38 100%);mix-blend-mode:color}.video-wipe{position:absolute;inset:0;background:var(--aqua);z-index:4;transform-origin:right}.cinematic.in-view .video-wipe{animation:wipeOut 1.1s cubic-bezier(.75,0,.2,1) forwards}.cinematic .media-label{z-index:3;opacity:0;transform:translateY(12px)}.cinematic.in-view .media-label{animation:labelIn .6s 1s forwards}.before-rail figure{opacity:0;transform:translateX(20px)}.showcase.visible .before-rail figure{animation:thumbIn .55s forwards}.showcase.visible .before-rail figure:nth-of-type(1){animation-delay:.55s}.showcase.visible .before-rail figure:nth-of-type(2){animation-delay:.7s}.showcase.visible .before-rail figure:nth-of-type(3){animation-delay:.85s}@keyframes wipeOut{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}@keyframes videoFade{to{opacity:1}}@keyframes labelIn{to{opacity:1;transform:none}}@keyframes thumbIn{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.cinematic video,.before-rail figure,.cinematic .media-label{opacity:1;transform:none}.video-wipe{display:none}}
.showcase-grid{background:transparent;padding:0;gap:12px;align-items:stretch}.result-video{background:transparent;height:680px;min-height:680px}.result-video video{height:680px;width:100%;background:transparent;object-fit:cover}.before-rail{height:680px;grid-template-rows:44px repeat(3,minmax(0,1fr));gap:12px}.before-rail figure{border:0}.before-rail figcaption{display:none}.cinematic video{transform:scale(1.035)}.cinematic.in-view video{transform:scale(1)}
@media(max-width:900px){.showcase-grid{gap:10px}.result-video,.result-video video{height:590px;min-height:590px}.before-rail{height:auto;grid-template-rows:44px 220px}.before-rail figure{height:220px}}
@media(max-width:560px){.result-video,.result-video video{height:500px;min-height:500px}.before-rail{height:auto}.before-rail figure{height:240px}}
.social-project{max-width:var(--max);margin:0 auto 150px;padding:0 6%;display:grid;grid-template-columns:1fr 520px;gap:9%;align-items:center}.social-copy h2{font:600 clamp(48px,6vw,86px) 'Space Grotesk';letter-spacing:-.06em;line-height:.92;margin:24px 0}.social-copy>p:not(.section-no){max-width:480px;color:var(--muted);line-height:1.7}.facebook-reel{background:var(--ink);padding:24px;display:flex;flex-direction:column;align-items:center;position:relative}.facebook-reel:before{content:'FACEBOOK REEL';position:absolute;top:24px;left:-48px;background:var(--aqua);padding:10px 14px;font:700 9px 'Space Grotesk';letter-spacing:.14em;transform:rotate(-90deg) translateX(-100%);transform-origin:left top}.facebook-reel iframe{width:420px;max-width:100%;aspect-ratio:9/16;height:auto;background:#111}.facebook-reel>a{color:white;font-size:11px;margin-top:18px}
@media(max-width:900px){.social-project{grid-template-columns:1fr;margin-bottom:100px;padding:0 24px}.facebook-reel{width:min(520px,100%);justify-self:center}}
@media(max-width:560px){.facebook-reel{padding:12px}.facebook-reel:before{display:none}.social-project{padding:0 18px}}
.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}.project-tags span{border:1px solid var(--line);padding:9px 13px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;background:white}.project-tags+.text-link{margin-top:8px}
.apartment-project{padding-top:40px;border-top:1px solid var(--line)}.apartment-project .facebook-reel{background:var(--aqua)}.apartment-project .facebook-reel:before{content:'APPARTEMENT RÉNOVÉ';background:var(--ink);color:white}.apartment-project .facebook-reel iframe{width:100%;max-width:560px;aspect-ratio:1/1}.apartment-project .facebook-reel>a{color:var(--ink);font-weight:700}.apartment-project .social-copy{padding-left:4%}
@media(max-width:900px){.apartment-project .facebook-reel{order:2}.apartment-project .social-copy{order:1;padding-left:0}}
.apartment-project{grid-template-columns:minmax(620px,1.35fr) .65fr;gap:6%}.apartment-project .facebook-reel{padding:18px;width:100%}.apartment-project .facebook-reel iframe{width:100%;max-width:720px;min-height:700px;aspect-ratio:auto}
@media(max-width:1100px){.apartment-project{grid-template-columns:minmax(520px,1.15fr) .85fr}.apartment-project .facebook-reel iframe{min-height:650px}}
@media(max-width:900px){.apartment-project{grid-template-columns:1fr}.apartment-project .facebook-reel{width:min(720px,100%)}.apartment-project .facebook-reel iframe{min-height:700px}}
@media(max-width:560px){.apartment-project .facebook-reel iframe{min-height:580px}}
.brand-stage{background:var(--aqua);isolation:isolate}.stage-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff20 1px,transparent 1px),linear-gradient(90deg,#ffffff20 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(135deg,black,transparent 80%);animation:gridDrift 18s linear infinite}.orbit{position:absolute;border:1px solid #eafffb99;border-radius:50%;left:50%;top:47%;transform:translate(-50%,-50%)}.orbit-one{width:520px;height:520px;animation:orbitPulse 5s ease-in-out infinite}.orbit-two{width:390px;height:390px;border-style:dashed;animation:orbitSpin 20s linear infinite}.orbit-two:before,.orbit-two:after{content:'';position:absolute;width:12px;height:12px;background:var(--ink);border-radius:50%}.orbit-two:before{top:-6px;left:50%}.orbit-two:after{bottom:-6px;left:50%}.building-lines{position:absolute;inset:11%;opacity:.22;animation:planFloat 7s ease-in-out infinite}.building-lines i{position:absolute;background:var(--ink)}.building-lines i:nth-child(1){width:72%;height:3px;left:5%;bottom:15%}.building-lines i:nth-child(2){width:3px;height:67%;left:20%;bottom:15%}.building-lines i:nth-child(3){width:48%;height:3px;left:20%;top:20%;transform:rotate(32deg);transform-origin:left}.building-lines i:nth-child(4){width:3px;height:55%;right:20%;bottom:15%}.brand-core{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:290px;height:290px;border-radius:50%;background:#f4f7f5f2;display:grid;place-items:center;box-shadow:0 30px 90px #00675f3d;z-index:3;animation:coreFloat 5s ease-in-out infinite}.brand-core img{width:205px;height:205px;object-fit:contain;position:relative;z-index:2}.brand-core small{position:absolute;bottom:27px;font:700 8px 'Space Grotesk';letter-spacing:.18em;color:var(--ink)}.core-halo{position:absolute;inset:-14px;border:2px solid #f4f7f588;border-radius:50%;animation:halo 2.8s ease-out infinite}.stage-note{position:absolute;background:var(--ink);color:white;padding:11px 14px;display:flex;gap:10px;align-items:center;font:600 10px 'Space Grotesk';letter-spacing:.08em;z-index:4;box-shadow:0 12px 30px #00675f22}.stage-note b{color:var(--aqua)}.note-one{left:7%;top:18%;animation:noteFloat 4s ease-in-out infinite}.note-two{right:6%;top:34%;animation:noteFloat 4s .7s ease-in-out infinite}.note-three{left:10%;bottom:18%;animation:noteFloat 4s 1.4s ease-in-out infinite}.stage-signature{position:absolute;right:7%;bottom:8%;display:flex;align-items:center;gap:12px;font:600 10px 'Space Grotesk';letter-spacing:.08em}.stage-signature i{width:32px;height:2px;background:var(--ink);position:relative}.stage-signature i:after{content:'';position:absolute;right:0;top:-3px;width:8px;height:8px;border:2px solid var(--ink);border-radius:50%}.stage-signature b{font-size:8px;color:#08786f}@keyframes gridDrift{to{background-position:48px 48px}}@keyframes orbitPulse{50%{width:555px;height:555px;opacity:.65}}@keyframes orbitSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes planFloat{50%{transform:translateY(-12px) rotate(.8deg)}}@keyframes coreFloat{50%{transform:translate(-50%,-53%)}}@keyframes halo{0%{transform:scale(.96);opacity:1}100%{transform:scale(1.15);opacity:0}}@keyframes noteFloat{50%{transform:translateY(-9px)}}
@media(max-width:1100px){.brand-core{width:240px;height:240px}.brand-core img{width:170px;height:170px}.orbit-one{width:440px;height:440px}.orbit-two{width:330px;height:330px}}
@media(max-width:560px){.brand-core{width:215px;height:215px}.brand-core img{width:150px;height:150px}.orbit-one{width:360px;height:360px}.orbit-two{width:280px;height:280px}.stage-note{padding:8px;font-size:8px}.stage-signature{display:none}}
.brand-stage{--move-x:0px;--move-y:0px;--reverse-x:0px;--reverse-y:0px;--tilt-x:0deg;--tilt-y:0deg;--px:50%;--py:50%;cursor:crosshair}.brand-stage:after{content:'';position:absolute;width:190px;height:190px;left:var(--px);top:var(--py);transform:translate(-50%,-50%) scale(.2);border-radius:50%;background:radial-gradient(circle,#ffffff47,transparent 68%);opacity:0;transition:opacity .3s,transform .4s;pointer-events:none;z-index:1}.brand-stage.is-hovered:after{opacity:1;transform:translate(-50%,-50%) scale(1)}.brand-core{transition:box-shadow .45s;will-change:transform}.brand-stage.is-hovered .brand-core{animation:none;transform:translate(calc(-50% + var(--move-x)),calc(-50% + var(--move-y))) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));box-shadow:0 35px 90px #00675f55}.brand-stage.is-hovered .brand-core img{transform:scale(1.06);filter:drop-shadow(0 12px 18px #00675f35)}.brand-core img{transition:transform .45s,filter .45s}.brand-stage.is-hovered .orbit-one{animation-duration:2.2s;border-width:2px;transform:translate(calc(-50% + var(--reverse-x)),calc(-50% + var(--reverse-y)))}.brand-stage.is-hovered .orbit-two{animation-duration:7s}.stage-note{transition:transform .45s,background .3s,color .3s}.brand-stage.is-hovered .note-one{animation:none;transform:translate(var(--reverse-x),var(--reverse-y))}.brand-stage.is-hovered .note-two{animation:none;transform:translate(var(--move-x),var(--reverse-y))}.brand-stage.is-hovered .note-three{animation:none;transform:translate(var(--reverse-x),var(--move-y))}.brand-stage .stage-note:hover{background:white;color:var(--ink);transform:scale(1.09)!important}.brand-stage .stage-note:hover b{color:var(--aqua2)}.brand-stage.is-hovered .building-lines{animation-duration:3s;opacity:.32}.brand-stage.is-hovered .stage-grid{animation-duration:7s}
