html:has(.universe:target){scroll-behavior:auto}.projects-gallery{--gallery-ink:#26345b;--pointer-x:0;--pointer-y:0;--restoration:1;--turn:0}.gallery-heading{justify-content:space-between;align-items:flex-end;gap:36px;padding-block:90px 64px;display:flex}.gallery-heading h2{letter-spacing:-.055em;margin-top:14px;font-size:clamp(44px,5.3vw,78px);font-weight:900;line-height:1.04}.gallery-heading h2 span{color:var(--brand)}.gallery-heading .section-intro{max-width:320px;padding-bottom:5px}.gallery-track{position:relative}.gallery-sticky{isolation:isolate;background:#eeeaf5;height:100svh;min-height:660px;position:relative;overflow:hidden}.gallery-rail{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;height:100%;display:flex;overflow:auto hidden}.gallery-rail::-webkit-scrollbar{display:none}.universe{--scene-bg:#eeeaf5;--scene-accent:#ba9e73;--name-color:#686282;isolation:isolate;scroll-snap-align:start;scroll-snap-stop:always;width:100%;height:100%;color:var(--gallery-ink);background:var(--scene-bg);flex:0 0 100%;position:relative;overflow:hidden}.universe-frame{isolation:isolate;width:100%;height:100%;position:relative}.universe-name-front{display:none}.universe-figurine{--scene-bg:#fbeae0;--scene-accent:#e49b87;--name-color:#ad6252}.universe-renovation{--scene-bg:#eaf0e9;--scene-accent:#aabd9c;--name-color:#62775b}.universe-atmosphere{pointer-events:none;position:absolute;inset:0;overflow:hidden}.universe-halo{width:90%;height:110%;transform:translate3d(calc(var(--pointer-x) * 30px),calc(var(--pointer-y) * 20px),0);background:radial-gradient(#fff9 0%,#fff3 37%,#0000 67%);border-radius:50%;position:absolute;top:-12%;left:5%}.universe-ecrin .universe-halo{background:radial-gradient(at 52% 48%,#fff0 12%,#b5a3c933 45%,#f6f1e966 70%)}.universe-orbit{border:1px solid color-mix(in srgb,var(--name-color) 12%,transparent);border-radius:50%;width:76vw;max-width:1100px;height:76vw;max-height:1100px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotateX(52deg)rotate(-18deg)}.universe-caption{z-index:5;letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;gap:20px;font-size:12px;font-weight:700;display:flex;position:absolute;top:40px;left:4.5%;right:4.5%}.universe-total{opacity:.55;margin-left:10px}.universe-name{z-index:1;text-align:center;white-space:nowrap;letter-spacing:-.065em;width:100%;color:var(--name-color);transform:translate3d(calc(var(--pointer-x) * -12px),calc(var(--pointer-y) * -8px),0);font-size:clamp(70px,18vw,280px);font-weight:900;line-height:1;position:absolute;top:19%;left:0}.universe-figurine .universe-name{font-size:clamp(70px,14.5vw,230px);top:23%}.universe-renovation .universe-name{font-size:clamp(52px,10.6vw,175px);top:27%}.universe-scene{z-index:2;aspect-ratio:1;perspective:1100px;pointer-events:none;width:min(57vw,70svh,740px);position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.universe-object{transform-style:preserve-3d;transform:translate3d(calc(var(--pointer-x) * 12px),calc(var(--pointer-y) * 8px),28px) rotateX(calc(var(--pointer-y) * -3deg)) rotateY(calc(var(--pointer-x) * 4deg + var(--turn) * 1deg));position:absolute;inset:0}.universe-main-image,.universe-raw-image{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.universe-raw-image{opacity:calc(1 - var(--restoration));-webkit-mask-image:url(/images/projects/renovation-diorama-1248.webp);mask-image:url(/images/projects/renovation-diorama-1248.webp);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.universe-object-light{opacity:calc(.04 + var(--pointer-x) * .035);mix-blend-mode:soft-light;pointer-events:none;transform:translate3d(calc(var(--pointer-x) * -50px),calc(var(--pointer-y) * -30px),35px);background:radial-gradient(at 40% 20%,#fffa,#0000 65%);border-radius:50%;position:absolute;inset:10%}.universe-shadow{width:60%;height:9%;transform:translate3d(calc(var(--pointer-x) * -15px),0,-60px);background:radial-gradient(#35334f24,#0000 70%);border-radius:50%;position:absolute;bottom:-3%;left:20%}.universe-figurine .universe-shadow{width:43%;bottom:0;left:29%}.universe-turntable{height:3%;transform:rotateY(calc(var(--pointer-x) * 8deg + var(--turn) * 3deg));border-bottom:2px solid #fff9;border-radius:50%;position:absolute;bottom:7%;left:30%;right:30%}.universe-fragments{transform:translate3d(calc(var(--pointer-x) * 24px),calc(var(--pointer-y) * 15px),80px);position:absolute;inset:0}.universe-fragments i{left:calc(4% + var(--fragment) * 14%);top:calc(20% + mod(var(--fragment) * 19%, 65%));width:calc(5px + mod(var(--fragment), 3) * 4px);height:calc(8px + mod(var(--fragment), 3) * 5px);background:linear-gradient(135deg,#fff9,var(--scene-accent));opacity:.6;clip-path:polygon(50% 0,100% 35%,70% 100%,0 65%);transform:rotate(calc(var(--fragment) * 40deg));position:absolute}.universe-figurine .universe-fragments i{clip-path:none;opacity:.45;border-radius:50%}.universe-renovation .universe-fragments i{clip-path:none;opacity:.4;border-radius:1px;width:4px;height:4px}.universe-copy{z-index:4;max-width:340px;position:absolute;bottom:112px;left:4.5%}.universe-copy p{text-wrap:pretty;font-size:14px;line-height:1.7}.universe-enter{z-index:5;color:#fff;background:var(--gallery-ink);border-radius:40px;align-items:center;gap:28px;min-height:62px;padding:12px 14px 12px 25px;font-size:14px;font-weight:700;transition:translate .18s,background .2s;display:flex;position:absolute;bottom:125px;right:4.5%;box-shadow:0 8px 25px #26345b14}.universe-enter svg{background:#fff2;border-radius:50%;width:36px;height:36px;padding:8px}.universe-enter:hover{background:#3c4f7c}.gallery-navigation{z-index:10;color:var(--gallery-ink);pointer-events:none;border-top:1px solid #26345b24;justify-content:space-between;align-items:center;gap:20px;padding-top:14px;display:flex;position:absolute;bottom:20px;left:4.5%;right:4.5%}.gallery-navigation button{pointer-events:auto}.gallery-scroll-hint{letter-spacing:.12em;min-width:230px;font-size:10px;font-weight:700}.gallery-scroll-hint span{align-items:center;gap:12px}.gallery-scroll-hint svg{width:14px;height:14px}.gallery-desktop-hint{display:none}.gallery-touch-hint{display:flex}.gallery-steps{align-items:center;gap:12px;display:flex}.gallery-steps button{min-width:64px;min-height:44px;color:inherit;background:0 0;border:0;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.gallery-steps button>span:first-child{transform-origin:0;background:#26345b30;width:52px;height:2px;transition:background .3s,transform .3s;display:block;transform:scaleX(.54)}.gallery-steps button[aria-current]>span:first-child{background:var(--gallery-ink);transform:scaleX(1)}.gallery-arrows{justify-content:flex-end;gap:8px;min-width:230px;display:flex}.gallery-arrows button{width:44px;height:44px;color:inherit;background:0 0;border:1px solid #26345b38;border-radius:50%;place-items:center;display:grid}.gallery-arrows button:disabled{opacity:.3}.gallery-arrows svg{width:18px;height:18px}.projects-gallery[data-simple=true] .universe-fragments,.projects-gallery[data-simple=true] .universe-object-light{display:none}.projects-gallery[data-simple=true] .universe-object,.projects-gallery[data-simple=true] .universe-name{transform:none}@media (min-width:1101px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.gallery-track{height:360svh;min-height:2376px}.gallery-sticky{position:sticky;top:0}.gallery-rail{display:block;overflow:hidden}.universe{background:0 0;position:absolute;inset:0}.universe:before{content:"";background:var(--scene-bg);opacity:var(--presence);position:absolute;inset:0}.universe-atmosphere,.universe-caption{opacity:var(--presence)}.universe-name{opacity:var(--presence);transform:translate3d(calc(var(--pointer-x) * -12px + var(--distance) * -60px),calc(var(--pointer-y) * -8px),0) scale(calc(1 - var(--distance) * .06))}.universe-scene{opacity:var(--presence);transform:translate3d(calc(-50% + var(--distance) * 180px),calc(-50% + var(--distance) * 25px),0) scale(calc(1 - var(--distance) * .27))}.universe-copy,.universe-enter{opacity:clamp(0,calc(var(--presence) * 3 - 2),1)}.universe:not([data-active=true]){pointer-events:none}.gallery-desktop-hint{display:flex}.gallery-touch-hint{display:none}.projects-gallery[data-visible=true][data-simple=false] .universe[data-active=true] .universe-object{will-change:transform}}@media (max-width:1100px),(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.projects-gallery{--scene-progress:1;--title-crossing:1}.gallery-heading h2 span{transform-origin:0;transform:translate3d(calc(var(--intro-progress,0) * 10px),0,0) scale(calc(1 + var(--intro-progress,0) * .045));display:inline-block}.gallery-track,.gallery-sticky,.gallery-rail{height:auto;min-height:0;max-height:none;display:block;overflow:visible}.gallery-rail{scroll-snap-type:none;overscroll-behavior:auto}.gallery-sticky{background:0 0}.universe{scroll-snap-align:none;scroll-snap-stop:normal;height:max(90svh,650px + 10svh);overflow:visible}.universe-frame{height:80svh;min-height:650px;position:sticky;top:0;overflow:clip}.universe-atmosphere{opacity:1}.universe-halo{transform:translate3d(0,calc((1 - var(--scene-progress)) * 22px),0) scale(calc(.94 + var(--scene-progress) * .06))}.universe-orbit{opacity:.5;width:110vw;height:110vw;top:39%}.universe-caption{font-size:10px;top:26px;left:6%;right:6%}.universe-caption>span:first-child{transform:translate3d(0,calc((1 - var(--scene-progress)) * 8px),0)}.universe-name,.universe-figurine .universe-name,.universe-renovation .universe-name{transform-origin:top;padding-block:.16em;padding-inline:4%;line-height:.98;top:calc(17% - .16em)}.universe-name{font-size:26vw}.universe-figurine .universe-name{font-size:18vw}.universe-renovation .universe-name{white-space:normal;padding-inline:6%;font-size:15vw}.projects-gallery .universe .universe-name{transform:translate3d(0,calc(74px - var(--scene-progress) * 108px),0) scale(calc(.83 + var(--scene-progress) * .21))}.universe-name-front{z-index:4;color:#363951;pointer-events:none;clip-path:inset(0 0 calc((1 - var(--title-crossing)) * 100%) 0);text-shadow:0 2px 12px var(--scene-bg),0 0 2px var(--scene-bg);display:block}.universe-figurine .universe-name-front{color:#824839}.universe-renovation .universe-name-front{color:#40573b}.universe-scene,.universe-figurine .universe-scene{width:min(98vw,48svh,460px);opacity:calc(.65 + var(--scene-progress) * .35);transform:translate3d(-50%,calc(-50% + (1 - var(--scene-progress)) * 28px),0) scale(calc(.92 + var(--scene-progress) * .08));top:40%}.projects-gallery .universe .universe-object{transform:translate3d(0,calc((1 - var(--scene-progress)) * -6px),0) rotateX(calc((1 - var(--scene-progress)) * 3deg)) rotateY(calc((1 - var(--scene-progress)) * -3deg)) rotateZ(calc((1 - var(--scene-progress)) * -1deg))}.universe-shadow{opacity:calc(.5 + var(--scene-progress) * .5);transform:scale(calc(.9 + var(--scene-progress) * .1))}.universe-fragments,.universe-object-light{display:none}.universe-raw-image{-webkit-mask-image:url(/images/projects/renovation-diorama-640.webp);mask-image:url(/images/projects/renovation-diorama-640.webp)}.projects-gallery .universe .universe-raw-image{opacity:calc(1 - var(--scene-progress));animation:none}.universe-copy{max-width:unset;transform:translate3d(0,calc((1 - var(--scene-progress)) * 12px),0);bottom:126px;left:6%;right:6%}.universe-copy p{max-width:460px;font-size:13px;line-height:1.65}.universe-enter{justify-content:space-between;gap:20px;min-height:58px;padding-left:22px;bottom:38px;left:6%;right:6%}.gallery-navigation{background:#eaf0e9;border-top:0;gap:12px;padding:16px 6%;position:relative;inset:auto}.gallery-scroll-hint{display:none}.gallery-steps button>span:first-child{width:28px;transform:scaleX(.57)}.gallery-steps button[aria-current]>span:first-child{transform:scaleX(1)}}@media (min-width:601px) and (max-width:1100px),(min-width:601px) and (pointer:coarse),(min-width:601px) and (prefers-reduced-motion:reduce){.universe-name{font-size:min(22vw,210px)}.universe-figurine .universe-name{font-size:min(16vw,160px)}.universe-renovation .universe-name{white-space:nowrap;font-size:min(10vw,112px)}.universe-scene,.universe-figurine .universe-scene{width:min(72vw,50svh,560px)}.universe-copy{max-width:42%;bottom:65px;left:6%}.universe-enter{max-width:42%;bottom:65px;left:auto;right:6%}}@media (max-height:600px) and (min-width:601px) and (pointer:coarse){.universe{height:auto}.universe-frame{min-height:500px;position:relative}.universe-scene,.universe-figurine .universe-scene{width:290px;top:43%}.universe-name{font-size:125px}.universe-figurine .universe-name{font-size:100px}.universe-renovation .universe-name{font-size:76px}.universe-copy,.universe-enter{bottom:35px}}@media (max-width:600px){.gallery-heading{padding-block:64px 40px;display:block}.gallery-heading h2{font-size:48px}.gallery-heading .section-intro{max-width:340px;margin-top:22px;font-size:14px}.gallery-steps{gap:8px}.gallery-steps button{gap:6px;min-width:47px}.gallery-arrows{min-width:0}}@media (max-height:600px) and (min-width:1101px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.gallery-sticky{height:100svh;min-height:360px}.universe-caption{font-size:10px;top:16px}.universe-scene{width:min(37vw,54svh);top:40%}.universe-copy{max-width:32%;bottom:86px}.universe-copy p{font-size:12px;line-height:1.5}.universe-enter{gap:14px;min-height:50px;padding:8px 10px 8px 18px;font-size:12px;bottom:96px}.universe-name,.universe-figurine .universe-name,.universe-renovation .universe-name{top:18%}.universe-name{font-size:16vw}.gallery-navigation{padding-top:8px;bottom:10px}}@media (max-width:350px){.gallery-heading h2{font-size:43px}.universe-caption{gap:8px;font-size:9px}}.project-departure{z-index:120;pointer-events:all;perspective:700px;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.departure-material{opacity:0;background:#17172b;animation:.62s ease-in forwards departure-cover;position:absolute;inset:0}.departure-figurine .departure-material{background:#f4b49c}.departure-renovation .departure-material{background:#d6c4ac}.project-departure img{width:min(70vh,700px);max-width:none;animation:.62s cubic-bezier(.6,.02,.9,.3) forwards departure-zoom;position:absolute}.project-departure i{width:30vw;height:60vh;left:calc(var(--fragment) * 20% - 15%);top:calc(mod(var(--fragment),3) * 20%);clip-path:polygon(50% 0,100% 35%,70% 100%,0 65%);opacity:0;background:linear-gradient(135deg,#e1cb9999,#9896b1aa,#241f37);animation:.62s ease-in forwards departure-fragment;position:absolute}.departure-figurine i{clip-path:none;background:linear-gradient(135deg,#ffe4d7,#ef987f,#8c8abb);border-radius:35%}.departure-renovation i{clip-path:polygon(0 15%,80% 0,100% 85%,10% 100%);background:linear-gradient(30deg,#f6ebd8,#b5a084)}@keyframes room-restored{0%{opacity:1}to{opacity:0}}@keyframes departure-zoom{to{opacity:.1;transform:translateZ(650px)rotate(4deg)}}@keyframes departure-cover{to{opacity:1}}@keyframes departure-fragment{20%{opacity:0}to{opacity:1;transform:translateZ(350px) rotate(calc(var(--fragment) * 17deg))}}.projects-gallery[data-simple=true] .project-departure img,.projects-gallery[data-simple=true] .project-departure i{display:none}.projects-gallery[data-simple=true] .departure-material{animation-duration:.22s}@media (prefers-reduced-motion:reduce){.projects-gallery *,.projects-gallery :before{scroll-behavior:auto!important;transition:none!important;animation:none!important}.universe-raw-image{display:none}.universe{height:auto}.universe-frame{position:relative}.projects-gallery .gallery-heading h2 span{transform:none}.projects-gallery .universe .universe-name{transform:translateY(-34px)scale(1.04)}.projects-gallery .universe-name-front{clip-path:none}.projects-gallery .universe .universe-object,.projects-gallery .universe-copy,.projects-gallery .universe-halo,.projects-gallery .universe-caption>span:first-child{transform:none}.projects-gallery .universe-scene{opacity:1;transform:translate(-50%,-50%)}}.gallery-heading-aside{width:100%;max-width:350px}.gallery-chapters{border-top:1px solid var(--border);margin-top:28px;display:none}.gallery-chapters a{border-bottom:1px solid var(--border);min-height:59px;color:var(--gallery-ink);align-items:center;gap:16px;padding:10px 2px;transition:color .2s,padding-left .25s;display:flex}.gallery-chapters a:hover{color:var(--brand);padding-left:8px}.gallery-chapters a:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.gallery-chapter-number{letter-spacing:.12em;opacity:.82;font-size:11px}.gallery-chapter-name{letter-spacing:-.035em;flex:1;font-size:18px;font-weight:900}.gallery-chapters svg{width:17px;height:17px;transition:transform .25s}.gallery-chapters a:hover svg{transform:translate(3px,-3px)}.gallery-step-label{display:none}.gallery-step-number{display:inline}@media (min-width:1101px){.gallery-chapters{display:block}.gallery-steps{flex:1;justify-content:center;gap:6px}.gallery-steps button{min-width:0;padding-inline:7px;font-size:12px}.gallery-steps button>span:first-child{width:22px}.gallery-step-label{white-space:nowrap;display:inline}.gallery-step-number{opacity:.55;font-size:10px}.gallery-scroll-hint{min-width:180px}.gallery-arrows{min-width:112px}}@media (min-width:1101px) and (max-width:1250px){.gallery-scroll-hint{min-width:0}.gallery-step-label{font-size:11px}.gallery-steps button{gap:5px;padding-inline:3px}}@media (max-width:1100px){.gallery-heading-aside{max-width:320px}}@media (max-width:600px){.gallery-heading-aside{max-width:none}}@media (prefers-reduced-motion:reduce){.gallery-chapters a,.gallery-chapters svg{transition:none}}@keyframes gallery-word-arrive{0%{opacity:.05;transform:translateY(112%)rotate(3deg)}to{opacity:1;transform:translate(0,0)rotate(0)}}@keyframes gallery-outline-arrive{0%{opacity:0;transform:translateY(74px)scale(1.045)}to{opacity:.28;transform:translateY(23px)scale(1.015)}}@keyframes gallery-rule-arrive{0%{opacity:0;transform:scaleX(0)}to{opacity:.85;transform:scaleX(1)}}@media (min-width:1101px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.universe-name-word-mask{vertical-align:bottom;margin-bottom:-.16em;padding-bottom:.16em;display:inline-block;overflow:clip}.universe-name-word{transform-origin:0 100%;display:inline-block}.universe-name:not(.universe-name-front):after{content:"";background:linear-gradient(90deg,transparent,var(--scene-accent),transparent);height:2px;position:absolute;bottom:-.09em;left:27%;right:27%;transform:scaleX(0)}.projects-gallery[data-stage-visible=true][data-simple=false] .universe[data-active=true] .universe-name-word{animation:.82s cubic-bezier(.18,.72,.16,1) both gallery-word-arrive;animation-delay:calc(var(--word-index) * .14s)}.projects-gallery[data-stage-visible=true][data-simple=false] .universe[data-active=true] .universe-name:not(.universe-name-front):after{animation:.9s cubic-bezier(.18,.72,.16,1) .26s both gallery-rule-arrive}.projects-gallery .universe-name-front{z-index:3;pointer-events:none;color:#0000;-webkit-text-stroke:1.5px var(--name-color);opacity:calc(var(--presence) * .28);transform:translate3d(calc(var(--pointer-x) * -20px),23px,0) scale(1.015);display:block}.projects-gallery[data-stage-visible=true][data-simple=false] .universe[data-active=true] .universe-name-front{animation:1s cubic-bezier(.18,.72,.16,1) both gallery-outline-arrive}}@media (prefers-reduced-motion:reduce){.universe-name-word,.universe-name-front{animation:none!important}}
