/* Small physical studies from the world of film, photography and music. */
html,body{overflow-x:clip}
.brand-name{font-size:44px;font-weight:550;letter-spacing:-2.4px}.brand-dot{display:none}.hero-copy>p{max-width:420px}.film-screen video{opacity:1}.featured-project{margin-bottom:38px}.rewild-feature .featured-work{grid-template-columns:.82fr 1fr}.rewild-feature .feature-copy{order:2;padding-left:45px}.rewild-feature .feature-stage{order:1}.rewild-title{font-size:clamp(58px,5.7vw,94px);line-height:1.02}.rewild-feature .feature-statement{font-size:30px}.rewild-feature .feature-atmosphere{background:radial-gradient(ellipse at 30% 40%,#4b4b2e1a,transparent 56%),linear-gradient(115deg,#111211,#151615)}
.prop-stage{position:relative;isolation:isolate;pointer-events:none;--prop-scale:1;width:240px;height:240px}.prop-stage:after{content:"";position:absolute;bottom:11%;left:22%;right:22%;height:8%;border-radius:50%;background:#0006;filter:blur(14px);z-index:-1;opacity:.5}.prop-stage[data-theme=light]:after{opacity:.16}.prop-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .7s}.prop-stage.gpu-ready canvas{opacity:1}.prop-stage.gpu-ready .prop-fallback{display:none}.prop-fallback{position:absolute;inset:0;perspective:700px}.prop-body{position:absolute;width:230px;height:230px;left:50%;top:50%;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(12deg) rotateY(-24deg) rotateZ(-6deg) scale(var(--prop-scale));animation:prop-float 11s ease-in-out infinite;animation-play-state:paused}.prop-body i,.prop-body b,.prop-body em{display:block;position:absolute;font-style:normal;box-sizing:border-box;transform-style:preserve-3d}.prop-stage.is-active .prop-body,.prop-stage.is-active .reel-disc,.prop-stage.is-active .vinyl-record,.prop-stage.is-active .slate-top,.prop-stage.is-active .aperture-blade,.prop-stage.is-active .prism-orbit{animation-play-state:running}
.work .section-heading{min-height:165px}.work .section-heading>p{margin-right:200px;max-width:230px}.work-object{position:absolute;right:0;bottom:0;width:185px;height:175px;--prop-scale:.63}.service-sculpture{background:radial-gradient(ellipse at 50% 40%,#303139,#141416 64%,#0d0d0e);aspect-ratio:.86;max-height:590px;overflow:hidden}.service-object{position:absolute;inset:7% 0 12%;width:100%;height:auto;--prop-scale:1.14}.service-sculpture .image-caption{font-size:8px;max-width:calc(100% - 60px);line-height:1.6}.service-sculpture .frame-corner{opacity:.45}.service-layout{grid-template-columns:.8fr 1.2fr;gap:10%}.service-content p{font-size:13px;line-height:1.9;max-width:460px}.service-list summary{padding:27px 0}.service-list h3{font-size:clamp(23px,2.25vw,38px)}.service-list details[data-service="5"] h3,.service-list details[data-service="6"] h3{font-size:clamp(22px,2.1vw,35px)}
.about-inner{position:relative}.about-object{position:absolute;right:var(--gutter);top:12px;width:270px;height:270px;--prop-scale:.85}.about-statement{max-width:calc(100% - 265px)}.about-lower{margin-top:75px;align-items:start}.studio-signature{display:flex;flex-direction:column;gap:14px;padding-top:4px;color:#565650}.studio-signature>span{font-size:10px;letter-spacing:.28em}.studio-signature>small{font-size:8px;letter-spacing:.1em}.studio-signature>i{width:65px;height:1px;background:#a6a49c;display:block;margin-top:15px}.about-lower p{font-size:18px;line-height:1.65}.about-lower p+p{font-size:13px}
.footer-top{align-items:center;gap:45px;min-height:320px}.footer-copy{max-width:72%}.footer-copy h2{font-size:clamp(45px,5.2vw,88px);line-height:1.04}.footer-description{font-size:13px;line-height:1.85;color:#92928b;margin-top:28px}.footer-copy .footer-email{margin-top:25px}.footer-object-wrap{width:290px;min-width:250px;height:310px;position:relative}.footer-object{width:100%;height:100%;--prop-scale:1}.footer-object-wrap .contact-circle{position:absolute;width:56px;height:56px;bottom:0;right:0;font-size:30px;z-index:3}.footer-bottom{margin-top:75px}.dialog-inner{position:relative}.dialog-object{position:absolute;right:var(--gutter);top:45px;width:135px;height:135px;--prop-scale:.46}.dialog-inner>h2{max-width:calc(100% - 145px)}.dialog-stills,.studio-contact-sheet,.about-stamp{display:none}
/* Camera body and layered optical glass. */
.camera-shell{left:24px;top:63px;width:175px;height:112px;border-radius:16px;background:linear-gradient(150deg,#5c6068 0,#22252b 16%,#101216 60%,#33363d);box-shadow:inset 1px 2px 2px #c7ccd53d,inset -3px -5px 10px #0009,9px 12px 1px #08090c;transform:translateZ(8px)}.camera-grip{left:22px;top:70px;width:32px;height:101px;border-radius:14px 5px 5px 14px;background:repeating-linear-gradient(0deg,#101216 0 3px,#202329 4px 5px);transform:translateZ(16px)}.camera-finder{left:78px;top:45px;width:65px;height:30px;border-radius:9px 9px 2px 2px;background:linear-gradient(130deg,#6e747e,#171a1f 48%);box-shadow:0 -2px 1px #a9aeb336}.camera-shutter{width:15px;height:7px;border-radius:50%;left:169px;top:58px;background:linear-gradient(#d55741,#90281c);transform:translateZ(12px)}.camera-lens{width:94px;height:94px;left:76px;top:74px;border-radius:50%;background:repeating-radial-gradient(circle,#0c0e13 0 2px,#4b505d 3px,#151821 4px 8px);box-shadow:inset 2px 2px 4px #b7bbc750,8px 8px 2px #050609;transform:translateZ(38px);padding:17px}.camera-lens b{inset:17px;border-radius:50%;background:radial-gradient(ellipse at 65% 28%,#566d97,#111a2c 23%,#050914 49%,#2b2045 70%,#080a10);border:2px solid #434951;box-shadow:inset 0 0 15px #000}
/* A reel, perforated film and its spindle. */
.reel-disc{width:160px;height:160px;left:28px;top:28px;border-radius:50%;background:radial-gradient(circle at 27% 20%,#e3e4e5,#6f747d 27%,#a3a8ad 45%,#434751 67%,#9298a1 81%,#30343b);border:5px solid #9097a0;box-shadow:inset 0 0 0 2px #e4e5e53b,8px 10px 0 #151820,10px 13px 8px #0006;transform:translateZ(12px);animation:reel-turn 28s linear infinite;animation-play-state:paused}.reel-disc b{width:31px;height:31px;border-radius:50%;left:59px;top:59px;background:radial-gradient(ellipse at 35% 20%,#373b44,#0e1117 70%);box-shadow:inset 1px 2px 3px #000,0 1px 1px #eff1f840;transform:rotate(calc(var(--i) * 60deg)) translateX(48px)}.reel-disc em{width:27px;height:27px;left:61px;top:61px;border-radius:50%;background:radial-gradient(circle,#090b11 0 25%,#c7c9ce 30% 40%,#444b55 50%);box-shadow:0 2px 2px #08090b}.film-tail{left:128px;top:165px;width:85px;height:37px;background:repeating-linear-gradient(90deg,#c5c1b7 0 3px,#0c0f15 3px 11px) top/100% 4px no-repeat,repeating-linear-gradient(90deg,#c5c1b7 0 3px,#0c0f15 3px 11px) bottom/100% 4px no-repeat,linear-gradient(#292e38,#090b11);border:1px solid #444750;transform:rotate(-12deg) translateZ(-4px)}
/* Nine diaphragm leaves, with a polished retaining ring. */
.aperture-rim{width:180px;height:180px;left:25px;top:25px;border-radius:50%;background:repeating-radial-gradient(circle,#16191e 0 2px,#636b77 3px,#16191e 4px 8px);border:4px solid #969da4;box-shadow:inset 2px 3px 6px #fff3,8px 10px 0 #12161c;transform:translateZ(5px)}.aperture-blade{width:63px;height:101px;left:94px;top:47px;background:linear-gradient(135deg,#c3c7ce,#414954 50%,#141b25);clip-path:polygon(0 0,100% 5%,82% 66%,23% 100%,0 63%);transform-origin:21px 68px;transform:rotate(calc(var(--i) * 40deg)) translateZ(10px);animation:iris-breathe 9s ease-in-out infinite;animation-play-state:paused}.aperture-core{width:30px;height:30px;border-radius:50%;left:100px;top:100px;background:#080b11;box-shadow:0 0 0 2px #333b47;transform:translateZ(15px)}
/* A record, partly withdrawn from a clean paper sleeve. */
.record-sleeve{left:18px;top:36px;width:148px;height:160px;border-radius:2px;background:linear-gradient(110deg,#f3ede1,#d6cfc1 62%,#b5b0a4);border-left:4px solid #a43b2a;box-shadow:2px 4px 0 #b6afa3,8px 13px 18px #0004;transform:translateZ(-5px)}.record-sleeve:after{content:"";position:absolute;left:45px;top:48px;width:57px;height:57px;border-radius:50%;background:radial-gradient(circle,#b2a592 0 14%,#d1cabc 15% 35%,#a9a18e 36% 39%,#d4cbb9 40%);opacity:.65}.vinyl-record{left:75px;top:36px;width:160px;height:160px;border-radius:50%;background:repeating-radial-gradient(circle,#080a0d 0 2px,#2b2d33 3px,#090b0f 4px 5px);box-shadow:inset 2px 4px 5px #aeb8d224,4px 8px 0 #07080a;transform:translateZ(17px);animation:record-turn 16s linear infinite;animation-play-state:paused}.vinyl-record:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,transparent,#a9b8cd23,transparent 25%,transparent 55%,#a9b8cd20,transparent 80%)}.vinyl-record b{width:45px;height:45px;left:57px;top:57px;border-radius:50%;background:radial-gradient(circle,#12151a 0 5%,#d0c6af 6% 33%,#a93627 34% 41%,#d8d0bc 42%);z-index:1}
/* Barn doors and a warm, contained pool of studio light. */
.light-housing{width:93px;height:93px;left:70px;top:41px;border-radius:50%;background:repeating-radial-gradient(circle,#171c23 0 4px,#555d69 5px,#151a21 7px 11px);border:3px solid #525b65;box-shadow:-9px -7px 0 #1b2028,9px 10px 14px #0005;transform:translateZ(20px)}.light-housing b{inset:13px;border-radius:50%;background:radial-gradient(ellipse at 35% 25%,#fff9d9,#e2cf9d 40%,#958557 73%,#292b26);border:2px solid #a9a084;box-shadow:0 0 26px #d6bc5b17,inset 0 0 10px #fff6}.barn-door{background:linear-gradient(135deg,#505965,#151a22 60%);box-shadow:1px 2px 2px #0007;border:1px solid #5b657033}.door-top{width:113px;height:42px;left:59px;top:17px;transform:translateZ(25px) rotateX(-35deg)}.door-left{width:42px;height:91px;left:32px;top:41px;transform:translateZ(23px) rotateY(35deg)}.door-right{width:42px;height:91px;left:159px;top:41px;transform:translateZ(23px) rotateY(-35deg)}.light-stand{width:100px;height:95px;left:65px;top:113px;border:6px solid #707983;border-top:0;border-radius:0 0 12px 12px;transform:translateZ(-10px)}.light-stand:after{position:absolute;content:"";height:28px;width:8px;background:#555d68;left:40px;bottom:-33px}.light-beam{width:170px;height:190px;left:72px;top:74px;clip-path:polygon(17% 0,40% 0,100% 100%,0 100%);background:linear-gradient(#e5dba821,transparent);transform:translateZ(40px) rotate(-28deg);filter:blur(4px);opacity:.5}
/* A hinged slate, opened in a quiet eight-second cycle. */
.slate-body{left:25px;top:72px;width:176px;height:118px;background:linear-gradient(135deg,#343b46,#151a22 45%,#10151b);border:1px solid #747b8640;border-radius:3px;box-shadow:5px 8px 0 #090c12;transform:translateZ(6px)}.slate-body b{left:13px;right:13px;height:1px;background:#d1d1c060}.slate-body b:nth-child(1){top:35px}.slate-body b:nth-child(2){top:68px}.slate-body b:nth-child(3){top:96px}.slate-top{left:24px;top:45px;width:179px;height:25px;border:1px solid #8a90945c;background:repeating-linear-gradient(120deg,#d8d9d7 0 18px,#151a22 19px 37px);box-shadow:0 4px 0 #0a0f17;transform-origin:left bottom;transform:translateZ(12px) rotate(-10deg);animation:slate-open 8s ease-in-out infinite;animation-play-state:paused}.slate-hinge{width:15px;height:15px;left:22px;top:66px;border-radius:50%;background:radial-gradient(circle,#141921 0 27%,#a3aab4 30% 60%,#303845 65%);transform:translateZ(18px)}
.prism-surface{width:128px;height:156px;left:50px;top:34px;clip-path:polygon(50% 0,100% 30%,85% 75%,50% 100%,15% 75%,0 30%);background:conic-gradient(from 20deg at 50% 45%,#d6e0e4,#36434f 20%,#a2b0bd 30%,#1b2836 50%,#7d8c9f 66%,#d8e0e1 75%,#4c5b69);transform:translateZ(10px)}.prism-orbit{width:184px;height:184px;border:1px solid #a1adbb;left:23px;top:23px;border-radius:50%;transform:rotateX(60deg) rotateY(15deg);animation:prism-turn 16s linear infinite;animation-play-state:paused}.prism-core{width:50px;height:50px;border:1px solid #ba4735;left:90px;top:89px;border-radius:50%;transform:rotateY(40deg) translateZ(45px)}
@keyframes prop-float{0%,100%{transform:translate(-50%,-50%) rotateX(12deg) rotateY(-24deg) rotateZ(-6deg) scale(var(--prop-scale))}50%{transform:translate(-50%,-53%) rotateX(17deg) rotateY(-9deg) rotateZ(-2deg) scale(var(--prop-scale))}}
@keyframes reel-turn{to{transform:translateZ(12px) rotate(360deg)}}
@keyframes record-turn{to{transform:translateZ(17px) rotate(360deg)}}
@keyframes iris-breathe{0%,100%{transform:rotate(calc(var(--i) * 40deg)) translateZ(10px)}50%{transform:rotate(calc(var(--i) * 40deg + 9deg)) translateZ(10px)}}
@keyframes slate-open{0%,15%,100%{transform:translateZ(12px) rotate(-4deg)}55%,70%{transform:translateZ(12px) rotate(-20deg)}}
@keyframes prism-turn{to{transform:rotateX(60deg) rotateY(15deg) rotateZ(360deg)}}
.project-open .prop-stage:not(.dialog-object) *{animation-play-state:paused!important}
@media(max-width:1050px){.about-object{width:220px;height:220px;--prop-scale:.7}.about-statement{max-width:calc(100% - 210px)}.work-object{width:150px;height:150px;--prop-scale:.52}.work .section-heading>p{margin-right:160px}.footer-object-wrap{width:235px;min-width:210px;height:270px}.footer-copy h2{font-size:57px}.footer-top{gap:25px}.rewild-title{font-size:65px}.rewild-feature .feature-copy{padding-left:25px}}
@media(max-width:680px){.brand-name{font-size:39px;letter-spacing:-2px}.work .section-heading{min-height:0;padding-bottom:8px}.work .section-heading>p{margin-right:105px;max-width:210px;min-height:64px}.work-object{width:100px;height:100px;right:0;top:75px;bottom:auto;--prop-scale:.35}.featured-project{margin-bottom:28px}.rewild-feature .featured-work{grid-template-columns:1fr .83fr}.rewild-feature .feature-copy{order:0;padding-left:0}.rewild-feature .feature-stage{order:1}.rewild-title{font-size:clamp(34px,9.4vw,48px)}.rewild-feature .feature-statement{font-size:18px}.service-layout{gap:35px}.service-sculpture{aspect-ratio:1.1;max-height:none}.service-object{inset:0 0 8%;--prop-scale:.8}.service-list summary{padding:23px 0;gap:13px}.service-list h3,.service-list details[data-service="5"] h3,.service-list details[data-service="6"] h3{font-size:23px}.service-content p{font-size:12px}.service-sculpture .image-caption{left:30px;bottom:28px;font-size:7px}.about-object{top:-24px;right:var(--gutter);width:88px;height:88px;--prop-scale:.3}.about-statement{max-width:100%;margin-top:35px}.about-lower{margin-top:45px;gap:32px}.about-lower p{font-size:16px}.about-lower p+p{font-size:12px}.studio-signature{gap:9px}.studio-signature>span{font-size:9px}.studio-signature>small{font-size:7px}.studio-signature>i{margin-top:8px}.footer-top{display:grid;grid-template-columns:1fr 105px;gap:20px 12px;min-height:0;align-items:center}.footer-copy{display:contents}.footer-copy>.eyebrow{grid-column:1/-1;margin-bottom:0}.footer-copy>h2{grid-column:1;grid-row:2;font-size:clamp(29px,8vw,38px);line-height:1.08}.footer-object-wrap{grid-column:2;grid-row:2;width:105px;min-width:0;height:155px}.footer-object{--prop-scale:.46}.footer-object-wrap .contact-circle{width:34px;height:34px;font-size:22px;right:0;bottom:0}.footer-description{grid-column:1/-1;grid-row:3;font-size:12px;margin-top:4px;line-height:1.8}.footer-copy .footer-email{grid-column:1/-1;grid-row:4;justify-self:start;margin-top:0}.footer-bottom{margin-top:55px}.dialog-object{width:85px;height:85px;top:28px;right:var(--gutter);--prop-scale:.29}.dialog-inner>h2{max-width:calc(100% - 75px);font-size:42px}.dialog-description{clear:both}.film-screen{border-radius:3px}}
@media(prefers-reduced-motion:reduce){.prop-body,.reel-disc,.vinyl-record,.slate-top,.aperture-blade,.prism-orbit{animation:none!important}.prop-stage canvas{transition:none}}
@media(max-width:680px){.service-layout{flex-direction:column;gap:28px}.service-sculpture{position:sticky;top:10px;z-index:4;width:100%;height:170px;max-height:170px;aspect-ratio:auto;border-radius:6px}.service-object{inset:0 0 9%;--prop-scale:.53}.service-sculpture .image-caption{bottom:16px;left:25px;font-size:6px}.service-sculpture .frame-corner{width:12px;height:12px}.service-sculpture .corner-tl,.service-sculpture .corner-tr{top:12px}.service-sculpture .corner-bl,.service-sculpture .corner-br{bottom:12px}}
/* Assemblies: an extending light, an optical element and an aerial rig. */
.lamp-head{position:absolute;inset:0;transform-style:preserve-3d;animation:light-rise 10s ease-in-out infinite;animation-play-state:paused}.light-mast{left:108px;top:160px;width:9px;height:62px;background:linear-gradient(90deg,#161b22,#8c969e 45%,#323c47);border-radius:3px;transform:translateZ(-14px)}.light-feet{left:67px;top:220px;width:91px;height:5px;border-radius:2px;background:linear-gradient(#68737f,#111720);transform:translateZ(-10px) rotate(-5deg)}.light-feet:after{content:"";position:absolute;width:65px;height:5px;left:14px;top:0;background:#343d48;transform:rotate(38deg)}.prop-stage.is-active .lamp-head,.prop-stage.is-active .drone-rotor b{animation-play-state:running}.camera-lens{animation:lens-separate 10s ease-in-out infinite;animation-play-state:paused}.prop-stage.is-active .camera-lens{animation-play-state:running}.drone-hull{left:72px;top:80px;width:89px;height:51px;border-radius:19px 19px 11px 11px;background:linear-gradient(145deg,#c6c8c7,#777e87 45%,#262f3b);box-shadow:inset 0 2px 1px #eef0ed77,5px 8px 1px #101722;transform:translateZ(12px)}.drone-hull:after{content:"";position:absolute;left:24px;right:24px;top:10px;height:16px;border-radius:6px;background:linear-gradient(#26303c,#10141c);box-shadow:0 1px 1px #fff5}.drone-arm{width:88px;height:12px;border-radius:5px;background:linear-gradient(#78808b,#151c26 65%);box-shadow:1px 3px 2px #070c14;transform:translateZ(0)}.arm-a{left:16px;top:75px;transform:rotate(27deg)}.arm-b{left:132px;top:75px;transform:rotate(-27deg)}.arm-c{left:16px;top:137px;transform:rotate(-27deg)}.arm-d{left:132px;top:137px;transform:rotate(27deg)}.drone-eye{width:26px;height:24px;border-radius:10px;left:103px;top:132px;background:linear-gradient(#5f6b78,#0b1019);transform:translateZ(25px)}.drone-eye b{inset:4px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#788ba7,#081025 40%,#334158 65%,#0b1020);border:1px solid #5d6d85}.drone-rotor{width:58px;height:20px;border-radius:50%;background:radial-gradient(ellipse,#2a3543 0 20%,#8994a3 25% 30%,#b5c6d914 33% 70%,transparent 72%);transform:translateZ(10px)}.drone-rotor b{width:67px;height:5px;left:-4px;top:7px;background:linear-gradient(90deg,#79839277,#141e2e 35% 65%,#79839277);border-radius:50%;animation:rotor-spin .22s linear infinite;animation-play-state:paused;transform-origin:center}.rotor-0{left:0;top:48px}.rotor-1{left:174px;top:48px}.rotor-2{left:0;top:143px}.rotor-3{left:174px;top:143px}.rotor-1 b,.rotor-2 b{animation-direction:reverse}
@keyframes rotor-spin{to{transform:rotate(360deg)}}@keyframes light-rise{0%,100%{transform:translateY(3px)}50%{transform:translateY(-28px)}}@keyframes lens-separate{0%,15%,100%{transform:translateZ(38px) translateX(0)}50%,65%{transform:translateZ(90px) translateX(15px)}}
@media(prefers-reduced-motion:reduce){.lamp-head,.camera-lens,.drone-rotor b{animation:none!important}}
