

:root{--red:#E21B23;--black:#090909;--white:#F5F5F5;--gray:#858585}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font:15px Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:5px}header{position:fixed;inset:0 0 auto;z-index:10;padding:24px 4%;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#090909ed,transparent)}.logo{font-size:23px;font-weight:700;letter-spacing:-1px}.logo em{color:var(--red);font-style:normal}.logo small{display:block;font-size:8px;letter-spacing:2px;font-weight:400;margin-top:5px}nav{display:flex;gap:28px;align-items:center}nav a{font-size:11px;text-transform:uppercase;letter-spacing:1px}.pill{border:1px solid #ffffff35;border-radius:40px;padding:13px 22px}.red{background:var(--red);border-color:var(--red)}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:3px;color:#b1b1b1}.hero{padding:150px 0 70px;min-height:100vh;text-align:center;overflow:hidden;background:radial-gradient(ellipse at 50% 85%,#e21b2315,transparent 65%)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif;font-weight:400}h1{font-size:clamp(80px,12vw,180px);line-height:.82;margin:30px auto 24px;letter-spacing:-2px}h1 span{color:var(--red)}.hero p{max-width:410px;margin:0 auto;line-height:1.8;color:#a7a7a7;font-size:13px}.hero .pill{display:inline-block;margin:25px 0 48px}.hero-meta{display:flex;justify-content:space-between;margin:0 7% 18px;font-size:9px;letter-spacing:2px;color:var(--gray)}.reels{display:flex;justify-content:center;gap:16px;padding:15px 4% 25px;perspective:1200px}.reel{position:relative;flex:0 0 18%;max-width:245px;aspect-ratio:9/16;border:1px solid #ffffff25;border-radius:10px;overflow:hidden;background:#171717;transform:translateY(var(--offset));transition:transform .5s,border-color .3s;cursor:pointer;text-align:left;color:white;padding:0}.reel:nth-child(1),.reel:nth-child(5){--offset:28px}.reel:nth-child(2),.reel:nth-child(4){--offset:10px}.reel:nth-child(3){--offset:0px}.reel:hover{transform:translateY(-8px) rotate(0deg);border-color:var(--red)}.poster{position:absolute;inset:0;background:radial-gradient(ellipse at 25% 15%,#ce172b90,transparent 40%),linear-gradient(130deg,#242424,#0b0b0b)}.poster:after{content:'';position:absolute;width:140%;height:30%;background:#e21b2370;filter:blur(30px);transform:rotate(-40deg);left:-20%;top:45%}.reel:nth-child(2) .poster{background:repeating-linear-gradient(100deg,#101010 0 20px,#292929 23px,#111 26px)}.reel:nth-child(3) .poster{background:radial-gradient(ellipse at 55% 45%,#ea203da0,transparent 40%),#111}.reel:nth-child(4) .poster{background:linear-gradient(160deg,#3d1416,#080808 65%)}.reel:nth-child(5) .poster{background:repeating-radial-gradient(circle at 100% 0,#333 0 1px,#111 2px 32px)}.reel .number{position:absolute;top:18px;left:18px;font-size:10px;letter-spacing:2px}.reel .play{position:absolute;top:43%;left:50%;transform:translateX(-50%);border:1px solid #ffffff60;border-radius:50%;width:48px;height:48px;display:grid;place-items:center}.reel .caption{position:absolute;bottom:18px;left:18px;right:10px}.caption strong{font:30px 'Bebas Neue',Impact,sans-serif;display:block}.caption small{font-size:8px;letter-spacing:2px;color:#ccc}.reel video{position:absolute;width:100%;height:100%;object-fit:cover}.scrollnote{margin-top:42px;font-size:9px;letter-spacing:3px;color:#858585}.scene{height:200vh;position:relative}.scene-inner{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;background:var(--red);text-align:center;padding:8%}.scene .eyebrow{color:#ffffffa0}.scene h2{font-size:clamp(64px,10vw,150px);line-height:.95;max-width:1000px;transform:scale(var(--scale,1));opacity:var(--opacity,1)}.scene h2 .outline{-webkit-text-stroke:1px white;color:transparent}.scene p{font-size:13px;margin-top:30px;max-width:400px;line-height:1.8}.section{padding:120px 7%}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section h2{font-size:clamp(55px,7vw,105px);line-height:.95;margin-top:20px}.section-top p{max-width:290px;font-size:13px;line-height:1.9;color:#858585}.works{display:grid;grid-template-columns:1.2fr 1fr;gap:26px}.work{aspect-ratio:16/10;background:#151515;border:1px solid #ffffff15;position:relative;overflow:hidden;display:flex;align-items:end;padding:30px}.work:first-child{background:radial-gradient(ellipse at 70% 20%,#e21b2340,transparent 55%),#151515}.work:before{content:'REC';position:absolute;top:25px;left:30px;color:var(--red);font-size:9px;letter-spacing:3px}.work h3{font-size:42px}.work small{color:#858585;font-size:10px}.work .ghost{position:absolute;right:20px;top:25%;font:130px 'Bebas Neue',Impact;color:#ffffff05}.services{background:var(--white);color:var(--black)}.service{display:grid;grid-template-columns:80px 1fr 1fr;gap:25px;padding:32px 0;border-top:1px solid #09090925;align-items:center}.service .index{color:var(--red);font-size:12px}.service h3{font-size:48px}.service p{color:#666;font-size:13px;line-height:1.8}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.portrait{min-height:390px;position:relative;background:linear-gradient(145deg,#252525,#101010);display:grid;place-items:center;border:1px solid #ffffff15}.portrait .monogram{font:150px 'Bebas Neue',Impact;color:#e21b23}.portrait small{position:absolute;bottom:25px;font-size:9px;letter-spacing:3px;color:#858585}.about p{font-size:14px;line-height:2;color:#aaa;margin:25px 0}.about a{border-bottom:1px solid var(--red);padding-bottom:8px;font-size:12px}.contact{padding:130px 7%;background:var(--red);position:relative}.contact h2{font-size:clamp(75px,11vw,165px);line-height:.85;max-width:900px;margin:30px 0}.contact p{font-size:13px;line-height:1.9;max-width:370px}.contact button{margin-top:30px;background:white;color:#090909;border:0;padding:19px 28px;border-radius:40px}.contact button[disabled]{cursor:default;opacity:.75}.contact .eyebrow{color:#ffffffa0}footer{padding:28px 7%;display:flex;justify-content:space-between;gap:25px;font-size:10px;color:#858585}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}#cursor{position:fixed;z-index:30;width:22px;height:22px;border:1px solid var(--red);border-radius:50%;pointer-events:none;top:0;left:0;box-shadow:0 0 25px #e21b2370;transition:width .2s,height .2s,background .2s;display:none}#cursor.hover{width:52px;height:52px;background:#e21b2320}dialog{background:#101010;color:white;border:1px solid #333;border-radius:14px;width:min(460px,90vw);padding:35px}dialog::backdrop{background:#000c}dialog h3{font-size:38px;margin-bottom:15px}dialog p{color:#aaa;line-height:1.8;font-size:13px}dialog button{margin-top:25px;background:var(--red);color:white;border:0;padding:12px 22px;border-radius:25px}#progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--red);z-index:50}@media(max-width:700px){header{padding:20px 6%}.logo{font-size:20px}nav a:not(.pill){display:none}nav .pill{padding:10px 15px;font-size:9px}.hero{padding-top:135px}h1{font-size:21vw;letter-spacing:-1px}.hero p{padding:0 8%}.hero-meta{font-size:7px;margin-top:5px}.reels{justify-content:flex-start;overflow-x:auto;gap:12px;padding:10px 8% 35px}.reel{flex-basis:58%;max-width:230px;--offset:0px!important}.section{padding:80px 7%}.section-top{display:block}.section-top p{margin-top:25px}.works,.about{grid-template-columns:1fr}.service{grid-template-columns:35px 1fr;gap:12px}.service p{grid-column:2}.service h3{font-size:36px}.portrait{min-height:300px}.about{gap:35px}.scene{height:150vh}.scene-inner{padding:7%}.scene h2{font-size:17vw}.contact{padding:90px 7%}footer{flex-wrap:wrap}.hero-meta span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.reveal{opacity:1;transform:none}.scene{height:auto}.scene-inner{min-height:85vh;position:relative}.scene h2{transform:none!important;opacity:1!important}#cursor{display:none!important}}


.hero{position:relative;padding-bottom:45px}.hero .pill{position:relative;z-index:2;margin-bottom:30px}.reels{display:block;overflow:hidden;width:100%;padding:32px 0 45px;perspective:none;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}.reel-track{display:flex;width:max-content;animation:filmstrip 48s linear infinite;will-change:transform}.reel-group{display:flex;gap:15px;padding-right:15px;align-items:center;flex-shrink:0}.reel{flex:0 0 210px;width:210px;max-width:none;border-radius:8px;--offset:0px!important;transform:perspective(900px) rotateY(var(--angle,0deg)) translateY(var(--lift,0px));transition:filter .3s,border-color .3s}.reel:nth-child(5n+1){--angle:12deg;--lift:-16px}.reel:nth-child(5n+2){--angle:7deg;--lift:-7px}.reel:nth-child(5n+4){--angle:-7deg;--lift:-7px}.reel:nth-child(5n){--angle:-12deg;--lift:-16px}.reel:hover{transform:perspective(900px) rotateY(var(--angle,0deg)) translateY(var(--lift,0px));filter:brightness(1.2)}@keyframes filmstrip{to{transform:translateX(-50%)}}#cursor{width:60px;height:60px;border:0;background:#fff;mix-blend-mode:difference;box-shadow:none;border-radius:50%;transition:width .18s,height .18s}#cursor.hover{width:88px;height:88px;background:#fff}body,body a,body button{cursor:auto}.version-link{position:fixed;bottom:18px;right:18px;z-index:15;background:#090909e8;color:#f5f5f5;border:1px solid #ffffff30;border-radius:30px;font-size:10px;letter-spacing:1px;padding:11px 15px}.motion-control{background:transparent;color:#aaa;border:1px solid #ffffff30;border-radius:30px;font-size:9px;padding:9px 14px;margin-top:20px;letter-spacing:1px}.reels.paused .reel-track{animation-play-state:paused}@media(pointer:fine){body,body a,body button{cursor:none}}@media(max-width:700px){.reels{padding:25px 0 35px;overflow:hidden}.reel{flex:0 0 170px;width:170px;max-width:none}.reel-track{animation-duration:40s}.hero .pill{margin-bottom:20px}.hero-meta{margin-top:15px}}@media(prefers-reduced-motion:reduce){.reel-track{animation:none}.reels{overflow-x:auto;mask-image:none}.reel-group[aria-hidden]{display:none}.reel{transform:none!important}body,body a,body button{cursor:auto}.motion-control{display:none}}


.motion-scene{height:170vh}.motion-scene .scene-inner{background:#090909;padding:90px 5% 40px;justify-content:center}.motion-scene .eyebrow{position:relative;z-index:10;color:#858585}.motion-stage{width:min(900px,100%);height:min(65vh,640px);min-height:410px;position:relative;margin:25px auto 15px;isolation:isolate}.motion-scene h2{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:Inter,Arial,sans-serif;font-size:clamp(52px,7.4vw,106px);font-weight:700;line-height:.88;letter-spacing:-.065em;transform:none!important;opacity:1!important;z-index:5;pointer-events:none}.motion-scene h2 span{color:#e21b23;position:absolute;margin-left:6.5em;bottom:calc(50% - 1.75em)}.motion-frames{position:absolute;inset:0}.moment-frame{position:absolute;left:50%;top:50%;width:clamp(110px,16vw,220px);aspect-ratio:3/4;margin-left:calc(clamp(110px,16vw,220px)/-2);margin-top:calc(clamp(110px,16vw,220px)*-2/3);border:1px solid #ffffff30;border-radius:3px;overflow:hidden;box-shadow:0 16px 45px #0008;background:#242424;animation:moment-orbit 12s linear infinite;animation-delay:var(--delay);animation-play-state:paused;transform-origin:center}.moment-frame:nth-child(2n){aspect-ratio:4/3;background:#2c1012}.moment-frame:nth-child(3n){background:#151515}.moment-frame img{width:100%;height:100%;object-fit:cover;display:block}.moment-frame .frame-art{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,#e21b2370,transparent 55%),repeating-linear-gradient(110deg,#ffffff05 0 1px,transparent 2px 35px)}.moment-frame:nth-child(2n) .frame-art{background:linear-gradient(140deg,#5b1119,#151515 70%)}.moment-frame:nth-child(3n) .frame-art{background:radial-gradient(ellipse at 70% 70%,#484848,#111 70%)}.frame-art span{position:absolute;top:14px;left:14px;color:#f5f5f590;font:9px Inter;letter-spacing:2px}.frame-art b{position:absolute;bottom:14px;left:14px;font:38px 'Bebas Neue',Impact,sans-serif;color:#f5f5f555;letter-spacing:1px}.motion-scene.running .moment-frame{animation-play-state:running}.motion-scene.paused .moment-frame{animation-play-state:paused}.motion-footer{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center}.motion-footer p{color:#858585;font-size:11px!important;margin-top:0!important}.motion-footer .motion-control{margin-top:14px}@keyframes moment-orbit{0%{transform:translate(-140px,-165px) rotate(-12deg) scale(.9);z-index:2}24%{transform:translate(165px,-100px) rotate(9deg) scale(1);z-index:2}25%{z-index:8}50%{transform:translate(140px,135px) rotate(-7deg) scale(1.08);z-index:8}74%{transform:translate(-175px,85px) rotate(12deg) scale(1);z-index:8}75%{z-index:2}100%{transform:translate(-140px,-165px) rotate(-12deg) scale(.9);z-index:2}}@media(max-width:700px){.motion-scene{height:145vh}.motion-stage{height:420px;min-height:0;margin:30px 0}.motion-scene h2{font-size:clamp(44px,11vw,74px)}.moment-frame{width:130px;margin-left:-65px;margin-top:-87px}.motion-scene .scene-inner{padding:90px 6% 30px}@keyframes moment-orbit{0%{transform:translate(-65px,-115px) rotate(-12deg) scale(.85);z-index:2}24%{transform:translate(85px,-60px) rotate(9deg) scale(.9);z-index:2}25%{z-index:8}50%{transform:translate(70px,100px) rotate(-7deg) scale(1);z-index:8}74%{transform:translate(-90px,60px) rotate(12deg) scale(.9);z-index:8}75%{z-index:2}100%{transform:translate(-65px,-115px) rotate(-12deg) scale(.85);z-index:2}}}@media(prefers-reduced-motion:reduce){.motion-scene{height:auto}.motion-scene .scene-inner{min-height:90vh;height:auto}.moment-frame{animation:none!important;transform:translate(-140px,-110px) rotate(-10deg);z-index:2}.moment-frame:nth-child(2){transform:translate(120px,100px) rotate(10deg)}.moment-frame:nth-child(n+3){display:none}.motion-scene .motion-control{display:none}}


.motion-stage{width:min(1180px,100%);height:640px;max-height:72vh;min-height:500px}.moment-frame{width:160px;margin-left:-80px;margin-top:-107px;aspect-ratio:3/4;z-index:2!important;animation-name:moment-pop;animation-duration:12s;animation-timing-function:linear;--x:clamp(230px,32vw,425px);--y:-110px;--r:-12deg}.moment-frame:nth-child(1){--x:calc(clamp(230px,32vw,425px)*-1);--y:-105px;--r:-12deg}.moment-frame:nth-child(2){--x:0px;--y:-245px;--r:8deg}.moment-frame:nth-child(3){--x:clamp(230px,32vw,425px);--y:-100px;--r:12deg}.moment-frame:nth-child(4){--x:clamp(230px,32vw,425px);--y:160px;--r:-8deg}.moment-frame:nth-child(5){--x:0px;--y:255px;--r:-7deg}.moment-frame:nth-child(6){--x:calc(clamp(230px,32vw,425px)*-1);--y:160px;--r:10deg}.moment-frame:nth-child(2n){aspect-ratio:4/3;margin-top:-60px}.motion-scene h2{z-index:5;text-shadow:0 2px 10px #09090990}@keyframes moment-pop{0%,100%{transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.6);opacity:0}3%{transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(1.06);opacity:1}6%,12%{transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(1);opacity:1}17%,99%{transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.6);opacity:0}}@media(max-width:700px){.motion-stage{height:480px;min-height:420px;max-height:none}.moment-frame{width:95px;margin-left:-47.5px;margin-top:-63px}.moment-frame:nth-child(2n){margin-top:-36px}.moment-frame:nth-child(1){--x:calc(clamp(115px,37vw,190px)*-1);--y:-135px}.moment-frame:nth-child(2){--y:-200px}.moment-frame:nth-child(3){--x:clamp(115px,37vw,190px);--y:-135px}.moment-frame:nth-child(4){--x:clamp(115px,37vw,190px);--y:160px}.moment-frame:nth-child(5){--y:220px}.moment-frame:nth-child(6){--x:calc(clamp(115px,37vw,190px)*-1);--y:155px}.motion-scene h2{font-size:clamp(40px,10.5vw,70px)}}@media(prefers-reduced-motion:reduce){.moment-frame{opacity:.65;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.8)!important}.moment-frame:nth-child(n+3){display:none}}


.moment-frame{left:calc(50% + var(--x));top:calc(50% + var(--y));z-index:8!important;animation:card-axis-popup 12s linear infinite!important;animation-delay:var(--delay)!important;animation-play-state:paused!important;transform:rotate(var(--r)) scale(.55);opacity:0;will-change:transform,opacity}.motion-scene.running .moment-frame{animation-play-state:running!important}.motion-scene.paused .moment-frame{animation-play-state:paused!important}.moment-frame:nth-child(1){--x:calc(clamp(170px,25vw,330px)*-1);--y:-115px}.moment-frame:nth-child(2){--x:0px;--y:-215px}.moment-frame:nth-child(3){--x:clamp(170px,25vw,330px);--y:-105px}.moment-frame:nth-child(4){--x:clamp(170px,25vw,330px);--y:150px}.moment-frame:nth-child(5){--x:0px;--y:230px}.moment-frame:nth-child(6){--x:calc(clamp(170px,25vw,330px)*-1);--y:155px}@keyframes card-axis-popup{0%,100%{transform:rotate(var(--r)) scale(.55);opacity:0}3%{transform:rotate(var(--r)) scale(1.08);opacity:1}5%,10%{transform:rotate(var(--r)) scale(1);opacity:1}15%,99%{transform:rotate(var(--r)) scale(.55);opacity:0}}@media(max-width:700px){.moment-frame:nth-child(1){--x:calc(clamp(105px,32vw,155px)*-1);--y:-130px}.moment-frame:nth-child(2){--y:-200px}.moment-frame:nth-child(3){--x:clamp(105px,32vw,155px);--y:-130px}.moment-frame:nth-child(4){--x:clamp(105px,32vw,155px);--y:150px}.moment-frame:nth-child(5){--y:215px}.moment-frame:nth-child(6){--x:calc(clamp(105px,32vw,155px)*-1);--y:150px}}@media(prefers-reduced-motion:reduce){.moment-frame{animation:none!important;opacity:.5;transform:rotate(var(--r)) scale(.7)!important;z-index:2!important}}


.moment-frame{z-index:2!important;translate:var(--push-x,0px) var(--push-y,0px);animation-name:card-reactive-popup!important;will-change:transform,translate,opacity}.motion-scene h2{z-index:5;text-shadow:0 2px 14px #090909a0}.motion-frames{pointer-events:none}@keyframes card-reactive-popup{0%,100%{transform:rotate(var(--r)) scale(.6);opacity:0}4%{transform:rotate(var(--r)) scale(1.06);opacity:1}8%,43%{transform:rotate(var(--r)) scale(1);opacity:1}51%,99%{transform:rotate(var(--r)) scale(.6);opacity:0}}@media(prefers-reduced-motion:reduce){.moment-frame{translate:0px 0px!important}}
.moment-frame.is-front{z-index:9!important;box-shadow:0 24px 65px #000b,0 0 0 1px #ffffff50}.moment-frame{transition:box-shadow .2s}.motion-scene h2{width:100%;text-align:center;align-items:center;justify-content:center;margin:0;padding:0}.motion-scene h2 .manifesto-line{position:static;display:block;margin:0;color:#F5F5F5;letter-spacing:-.065em;line-height:.88}
.hero-title{font-size:clamp(64px,9.5vw,145px);line-height:.94;letter-spacing:-.015em;margin:30px auto 24px;padding:0 4%}.hero-title .hero-line{display:block;color:#F5F5F5;animation:hero-line-in .85s cubic-bezier(.2,.7,.2,1) both}.hero-title .hero-line:nth-child(2){animation-delay:.4s}.hero-title .accent,.hero-title .accent span{color:#E21B23}@keyframes hero-line-in{from{opacity:0;transform:translateY(35px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media(max-width:700px){.hero-title{font-size:clamp(39px,10vw,70px);line-height:1.04;padding:0 3%;letter-spacing:-.01em;margin:30px auto 25px}}@media(prefers-reduced-motion:reduce){.hero-title .hero-line,}

.hero-title .word-switch{display:inline-grid;vertical-align:baseline;overflow:hidden;position:relative;border:0;border-radius:0;background:transparent;font:inherit;line-height:inherit;letter-spacing:inherit;padding:0;margin:0;color:#E21B23;text-align:center}.hero-title .word-switch>span{grid-area:1/1;display:block;transition:transform .25s ease,opacity .25s ease;color:#E21B23}.hero-title .word-switch .swap-base{transform:translateY(0);opacity:1}.hero-title .word-switch .swap-alt{transform:translateY(105%);opacity:0}.hero-title .word-switch:hover .swap-base,.hero-title .word-switch:focus-visible .swap-base{transform:translateY(-105%);opacity:0}.hero-title .word-switch:hover .swap-alt,.hero-title .word-switch:focus-visible .swap-alt{transform:translateY(0);opacity:1}@media(prefers-reduced-motion:reduce){.hero-title .word-switch>span{transition:none}}

.works{align-items:start}.work.project-bossa{display:block;aspect-ratio:auto;padding:0;background:#151515}.project-bossa:before{display:none}.project-bossa>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 40%}.project-body{padding:28px}.project-body small{letter-spacing:2px;font-size:9px;color:#858585}.project-body h3{margin:14px 0 18px;font-size:48px}.project-body p{font-size:13px;line-height:1.9;color:#b3b3b3;margin:12px 0}.project-body a{display:inline-block;font-size:11px;margin-top:15px;padding-bottom:7px;border-bottom:1px solid #E21B23}@media(max-width:700px){.project-body{padding:24px}.project-bossa>img{aspect-ratio:4/5;object-position:center}}
.work.project-film{display:block;aspect-ratio:auto;padding:0;background:#151515}.project-film:before{display:none}.vimeo-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000}.vimeo-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.project-film .project-body h3{font-size:38px}.reel-vimeo{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#000}.reel:has(.reel-vimeo) .caption{z-index:2;background:linear-gradient(transparent,#0009);left:0;right:0;bottom:0;padding:35px 18px 18px}.reel:has(.reel-vimeo) .number{z-index:2;text-shadow:0 1px 5px #000}.reel:has(.reel-vimeo) .play{z-index:2;background:#0003}.dialog-vimeo{width:100%;height:65vh;max-height:650px;border:0;background:#000}.reel.has-video .reel-vimeo{z-index:1}.reel.has-video .caption,.reel.has-video .number,.reel.has-video .play{z-index:2}.reel.has-video .poster{display:none}.portrait.portrait-photo{min-height:0;background:#090909;overflow:hidden;border:0;aspect-ratio:4/5}.portrait-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}@media(max-width:700px){.portrait.portrait-photo{min-height:0;max-width:480px;width:100%;margin:auto}}.portrait.portrait-photo{display:block;opacity:1;transform:none;height:auto;aspect-ratio:auto}.portrait-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.moment-frame:nth-child(2),.moment-frame:nth-child(4){aspect-ratio:1;margin-top:-80px}.moment-frame:nth-child(6){aspect-ratio:3/4;margin-top:-107px}@media(max-width:700px){.moment-frame:nth-child(2),.moment-frame:nth-child(4){margin-top:-47.5px}.moment-frame:nth-child(6){margin-top:-63px}}.moment-frame:nth-child(1){--x:calc(clamp(140px,21vw,270px)*-1);--y:-90px}.moment-frame:nth-child(2){--x:0px;--y:-170px}.moment-frame:nth-child(3){--x:clamp(140px,21vw,270px);--y:-85px}.moment-frame:nth-child(4){--x:clamp(140px,21vw,270px);--y:120px}.moment-frame:nth-child(5){--x:0px;--y:185px}.moment-frame:nth-child(6){--x:calc(clamp(140px,21vw,270px)*-1);--y:125px}@media(max-width:700px){.moment-frame:nth-child(1){--x:calc(clamp(85px,27vw,130px)*-1);--y:-100px}.moment-frame:nth-child(2){--y:-155px}.moment-frame:nth-child(3){--x:clamp(85px,27vw,130px);--y:-100px}.moment-frame:nth-child(4){--x:clamp(85px,27vw,130px);--y:110px}.moment-frame:nth-child(5){--y:170px}.moment-frame:nth-child(6){--x:calc(clamp(85px,27vw,130px)*-1);--y:115px}}
.logo .brand-logo{display:block;width:90px;height:auto}.headline-intro{position:relative}.intro-emblem{position:absolute;left:50%;top:50%;width:190px;aspect-ratio:851/867;transform:translate(-50%,-50%);pointer-events:none;animation:signature-exit .45s ease 2.7s both}.intro-emblem svg,.intro-emblem>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.intro-emblem path{stroke:#F5F5F5;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:signature-draw 2s cubic-bezier(.4,0,.3,1) .1s forwards}.intro-emblem path.signature-inner{animation-duration:.55s;animation-delay:1.85s}.intro-emblem>img{opacity:0;animation:signature-original .25s ease 2.35s forwards}.hero-title .hero-line{animation-delay:3s}.hero-title .hero-line:nth-child(2){animation-delay:3.3s}@keyframes signature-draw{to{stroke-dashoffset:0}}@keyframes signature-original{to{opacity:1}}@keyframes signature-exit{to{opacity:0;transform:translate(-50%,-55%) scale(.94);visibility:hidden}}@media(max-width:700px){.logo .brand-logo{width:70px}.intro-emblem{width:115px}}@media(prefers-reduced-motion:reduce){.intro-emblem{display:none}.hero-title .hero-line{animation:none;opacity:1;transform:none;filter:none}}

html{scroll-padding-top:110px}body{overflow-x:clip}.skip-link{position:fixed;left:15px;top:-80px;padding:12px 20px;background:#f5f5f5;color:#090909;z-index:100}.skip-link:focus{top:15px}.reveal{opacity:1;transform:none}.reveal.visible{animation:finish-reveal .6s ease both}@keyframes finish-reveal{from{transform:translateY(16px)}to{transform:none}}header{padding-top:15px;padding-bottom:15px;backdrop-filter:blur(8px);background:#090909d9}.logo .brand-logo{width:76px;height:55px;object-fit:contain}.hero{padding-top:135px}.hero .eyebrow{padding:0 18px;line-height:1.8;letter-spacing:2px}.works{grid-template-columns:1fr 1fr}.project-bossa>img{aspect-ratio:16/10;object-position:50% 35%}.project-body h3{font-size:clamp(34px,3.5vw,48px)}.project-body{padding:28px}.vimeo-frame{display:block;border:0;padding:0;aspect-ratio:16/10;overflow:hidden}.vimeo-frame img,.mini-cover img{display:block;width:100%;height:100%;object-fit:cover}.video-launch{position:absolute;inset:0;display:flex;gap:12px;align-items:center;justify-content:center;color:#fff;background:#0002;font-size:28px;transition:background .2s}.video-launch span{font-size:10px;letter-spacing:2px}.project-watch:hover .video-launch{background:#0005}.more-works{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px}.portfolio-mini{background:#151515;border:1px solid #ffffff15}.mini-cover{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#090909}.portfolio-mini>div{padding:25px}.portfolio-mini small{font-size:9px;letter-spacing:2px;color:#858585}.portfolio-mini h3{font-size:30px;margin-top:12px}.portfolio-mini p{font-size:12px;line-height:1.8;color:#aaa;margin-top:12px}.whatsapp-link{display:inline-block;margin-top:30px;background:#f5f5f5;color:#090909;padding:19px 28px;border-radius:40px;font-size:14px}.contact h2{font-size:clamp(70px,10.5vw,150px)}.reel-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.reel.has-video .reel-cover{z-index:0}.reel.has-video .reel-vimeo{z-index:1}.reel.has-video .caption{padding-top:55px;background:linear-gradient(transparent,#000b)}.reel .number{background:#09090960;padding:5px 7px;border-radius:3px}.reels{touch-action:pan-y}.reels.has-focus .reel-track{animation-play-state:paused}.reels.offscreen .reel-track{animation-play-state:paused}dialog{width:min(1000px,94vw);max-height:92dvh;padding:25px}dialog h3{font-size:30px;padding-right:75px;margin-bottom:15px}dialog #close{position:absolute;top:17px;right:20px;margin:0;padding:9px 15px}.modal-player{height:min(70dvh,650px);background:#000}.modal-player iframe{width:100%;height:100%;border:0;display:block}body.modal-open{overflow:hidden}.service h3{font-size:clamp(30px,3.2vw,48px);line-height:1.05}.service{grid-template-columns:50px 1fr 1fr}.service p{max-width:430px}.intro-emblem{animation-delay:2.1s}.intro-emblem path:not(.signature-inner){animation-duration:1.45s}.intro-emblem path.signature-inner{animation-delay:1.25s;animation-duration:.45s}.intro-emblem>img{animation-delay:1.7s}.hero-title .hero-line{animation-delay:2.45s}.hero-title .hero-line:nth-child(2){animation-delay:2.7s}.motion-scene{height:150vh}.motion-stage{height:590px;min-height:420px;max-height:66dvh}.motion-scene h2{font-size:clamp(52px,7vw,100px)}#cursor{z-index:50}footer a{padding:8px 0}@media(max-width:900px){.section{padding:90px 6%}.section-top p{max-width:260px}.project-body{padding:22px}.about{gap:6%}.hero-title{font-size:10vw}.motion-stage{min-height:390px}}@media(max-width:700px){html{scroll-padding-top:85px}header{padding:12px 6%}.logo .brand-logo{width:60px;height:44px}.hero{padding-top:110px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.hero-title{font-size:10vw;line-height:1.06}.hero-meta{gap:15px;justify-content:center}.hero-meta span:nth-child(2){display:none}.works,.more-works{grid-template-columns:1fr;gap:22px}.project-bossa>img{aspect-ratio:4/3;object-position:50% 33%}.section-top{margin-bottom:30px}.section h2{font-size:clamp(48px,12vw,76px)}.service{grid-template-columns:25px 1fr;padding:26px 0;gap:12px}.service h3{font-size:32px}.service p{grid-column:2}.contact h2{font-size:clamp(52px,13vw,84px);line-height:.95}.contact{padding:80px 7%}.whatsapp-link{padding:17px 22px;font-size:13px}.motion-scene{height:auto}.motion-scene .scene-inner{position:relative;height:auto;min-height:690px;padding:80px 5% 45px}.motion-stage{height:440px;min-height:440px;max-height:none;margin:18px 0}.motion-scene h2{font-size:clamp(39px,10.4vw,70px)}.moment-frame{width:95px}.about{gap:35px}.about .portrait{width:100%;max-width:420px}.about p{margin:20px 0}dialog{padding:20px}dialog h3{font-size:25px}.modal-player{height:65dvh}.intro-emblem{width:110px}.reel-group{gap:12px;padding-right:12px}.reel{flex-basis:170px;width:170px}.scrollnote{font-size:8px;letter-spacing:2px}}@media(max-width:380px){.hero-title{font-size:9.8vw}.hero .pill{font-size:12px;padding:13px 19px}.section{padding:70px 6%}.service h3{font-size:29px}.whatsapp-link{font-size:12px}.moment-frame{width:85px;margin-left:-42.5px}}@media(prefers-reduced-motion:reduce){.hero-title .hero-line{animation:none}.intro-emblem{display:none}.reveal.visible{animation:none}.reel-track{animation:none}.reels{overflow-x:auto}.moment-frame{animation:none!important;translate:0 0!important}.scene-inner{height:auto}.motion-control{display:none}#cursor{display:none!important}body,body a,body button{cursor:auto}}

body,body a,body button{cursor:auto}body.custom-cursor,body.custom-cursor a,body.custom-cursor button{cursor:none}body{scrollbar-gutter:stable}.hero-title .word-switch.is-swapped .swap-base{transform:translateY(-105%);opacity:0}.hero-title .word-switch.is-swapped .swap-alt{transform:translateY(0);opacity:1}@media(prefers-reduced-motion:reduce){body.custom-cursor,body.custom-cursor a,body.custom-cursor button{cursor:auto}}

/* Kinetic text finish: movement is clipped to the glyphs, never their boxes. */
.gradient-title{--ink-base:#f5f5f5;--ink-mid:#a5a5a5;--ink-accent:#e21b23;--ink-glint:#fff;--light-x:50%;--light-y:50%}.gradient-title .title-ink{display:inline;color:var(--ink-base);background-image:radial-gradient(ellipse at var(--light-x) var(--light-y),var(--ink-glint) 0%,transparent 62%),linear-gradient(110deg,var(--ink-base) 0%,var(--ink-mid) 20%,var(--ink-base) 34%,var(--ink-accent) 49%,var(--ink-base) 64%,var(--ink-mid) 80%,var(--ink-base) 100%);background-size:100% 100%,270% 100%;background-position:0 0,0% 50%;background-blend-mode:screen;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:title-gradient-flow 8s ease-in-out infinite alternate;animation-play-state:paused}.gradient-title.gradient-active .title-ink{animation-play-state:running}.hero-title .accent{--ink-base:#e21b23;--ink-mid:#9e1219;--ink-accent:#ff5159;--ink-glint:#ffc2c5}.services .gradient-title{--ink-base:#090909;--ink-mid:#656565;--ink-accent:#ba141c;--ink-glint:#333;background-blend-mode:normal}.services .gradient-title .title-ink{background-image:linear-gradient(110deg,var(--ink-base) 0%,var(--ink-mid) 24%,var(--ink-accent) 45%,var(--ink-base) 65%,var(--ink-mid) 83%,var(--ink-base) 100%);background-size:270% 100%;background-blend-mode:normal}.contact .gradient-title{--ink-base:#fff;--ink-mid:#ffd7d9;--ink-accent:#fff;--ink-glint:#fff}.hero-title .hero-line{animation:hero-line-in .85s cubic-bezier(.2,.7,.2,1) .05s both}.hero-title .hero-line:nth-child(2){animation-delay:.25s}.hero-title .word-switch .title-ink{display:inline}.hero-title .word-switch .swap-base,.hero-title .word-switch .swap-alt{-webkit-text-fill-color:initial}.motion-scene h2{text-shadow:none}.hero-title .hero-line>.title-ink{color:#f5f5f5}@keyframes title-gradient-flow{from{background-position:0 0,0% 50%}to{background-position:0 0,100% 50%}}.services .gradient-title .title-ink{animation-name:title-gradient-single}@keyframes title-gradient-single{from{background-position:0% 50%}to{background-position:100% 50%}}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.gradient-title .title-ink{background:none;color:var(--ink-base);-webkit-text-fill-color:currentColor}}@media(prefers-reduced-motion:reduce){.gradient-title .title-ink{animation:none!important;background-position:0 0,35% 50%}.hero-title .hero-line{animation:none;opacity:1;transform:none;filter:none}}@media(forced-colors:active){.gradient-title .title-ink{background:none;-webkit-text-fill-color:CanvasText;color:CanvasText;animation:none}}

.gradient-title .title-ink{position:static!important;margin:0!important;inset:auto!important;transform:none;font-size:inherit;line-height:inherit;letter-spacing:inherit}

/* Gradients animate exclusively while hovered or focused. */
.gradient-title .title-ink,.gradient-title.gradient-active .title-ink{animation-play-state:paused!important}.gradient-title:focus-within .title-ink{animation-play-state:running!important}@media(hover:hover){.gradient-title:hover .title-ink{animation-play-state:running!important}}.motion-scene h2{pointer-events:auto}
.project-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.project-tab{position:relative;display:block;width:100%;aspect-ratio:3/4;padding:0;border:1px solid #ffffff25;border-radius:7px;overflow:hidden;background:#151515;color:#fff;text-align:left;transition:border-color .3s,transform .3s,box-shadow .3s}.project-tab>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .35s;filter:brightness(.74)}.project-tab:first-child>img{object-position:45% center}.project-tab:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#090909d9 100%);pointer-events:none}.project-tab-label{position:absolute;left:24px;right:24px;bottom:24px;z-index:1;display:flex;flex-direction:column;gap:10px}.project-tab-label small{font-size:8px;letter-spacing:1.8px;color:#ddd}.project-tab-label strong{font:clamp(30px,3.7vw,50px) 'Bebas Neue',Impact,sans-serif;line-height:1}.tab-teaser{font-size:12px;line-height:1.6;max-height:0;opacity:0;overflow:hidden;transition:max-height .35s,opacity .35s}.tab-action{font-size:9px;letter-spacing:1.5px;color:#f5f5f5}.project-tab.is-selected{border-color:#e21b23;box-shadow:0 0 0 1px #e21b23}.project-tab.is-selected .tab-teaser,.project-tab:hover .tab-teaser,.project-tab:focus-visible .tab-teaser{max-height:60px;opacity:1}.project-tab:hover>img,.project-tab.is-selected>img{transform:scale(1.035);filter:brightness(.9)}.project-detail{margin-top:28px;padding:32px;border:1px solid #ffffff20;background:#111;border-radius:7px;scroll-margin-top:100px}.project-detail-top{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;margin-bottom:30px}.project-detail-top small{font-size:9px;letter-spacing:2px;color:#858585}.project-detail-top h3{font-size:clamp(36px,4vw,58px);line-height:1;margin-top:15px}.project-detail-description{font-size:13px;line-height:1.9;color:#b5b5b5}.project-media-grid{display:grid;grid-template-columns:.85fr 1.3fr .85fr;gap:18px;align-items:start}.project-media{min-width:0;background:#191919;border:1px solid #ffffff10}.media-visual{position:relative;display:block;width:100%;border:0;padding:0;background:#090909;overflow:hidden}.media-visual img{width:100%;height:100%;display:block;object-fit:cover}.media-photo .media-visual{aspect-ratio:3/4}.media-photo .media-visual img{object-position:45% center}.media-landscape .media-visual{aspect-ratio:16/9}.media-vertical .media-visual{aspect-ratio:9/16}.media-vertical .media-visual img{object-position:center}.media-info{padding:18px}.media-info small{font-size:8px;color:#999;letter-spacing:1.2px;line-height:1.7;display:block}.media-info h4{font:26px 'Bebas Neue',Impact,sans-serif;margin:10px 0 0;line-height:1.1;color:#f5f5f5}.media-info p{font-size:11px;line-height:1.85;color:#aaa;margin-top:13px}.media-info a{display:inline-block;font-size:10px;border-bottom:1px solid #e21b23;margin-top:15px;padding-bottom:5px}.porto-monogram{position:absolute;inset:0;display:grid;place-content:center;color:#e21b23;font:clamp(35px,4vw,64px) 'Bebas Neue',Impact,sans-serif;text-align:center;line-height:.9;background:radial-gradient(ellipse at 50% 20%,#e21b2320,transparent 70%)}.pending-caption{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:#858585;font-size:8px;letter-spacing:2px}.project-detail.switching{animation:project-panel-in .3s ease}@keyframes project-panel-in{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:none}}.project-media-grid.two-media{grid-template-columns:repeat(2,minmax(0,1fr))}.two-media .media-vertical{max-width:360px}.project-detail:focus-visible{outline:1px solid #e21b23;outline-offset:5px}@media(max-width:900px){.project-tab-label{left:17px;right:17px;bottom:20px}.project-detail{padding:23px}.project-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-media-grid .media-landscape{grid-column:2;grid-row:1}.project-media-grid .media-pending{grid-column:1;grid-row:2}.project-detail-top{grid-template-columns:1fr;gap:20px}}@media(max-width:700px){.project-tabs{display:flex;overflow-x:auto;gap:13px;padding:2px 2px 14px;scroll-snap-type:x mandatory}.project-tab{flex:0 0 72%;width:72%;aspect-ratio:3/4;scroll-snap-align:start}.project-tab-label strong{font-size:39px}.project-tab-label small{font-size:8px}.project-detail{padding:20px 15px;margin-top:15px}.project-media-grid,.project-media-grid.two-media{display:flex;flex-direction:column;gap:20px}.project-media{width:100%}.media-photo,.media-vertical{max-width:340px;margin:0 auto}.media-landscape{order:1}.media-photo{order:0}.media-vertical{order:2}.project-detail-top h3{font-size:43px}.project-detail-description{font-size:12px}.media-info p{font-size:12px}.tab-teaser{font-size:12px}}@media(prefers-reduced-motion:reduce){.gradient-title .title-ink{animation:none!important}.project-tab,.project-tab>img,.tab-teaser{transition:none}.project-detail.switching{animation:none}}
