:root{--portfolio-yellow:#ede134;--clients-pink:#fd4e67;--portfolio-gap:clamp(5px,1.24vw,16px)}
.intro,.work{background:var(--portfolio-yellow)}
.intro{position:relative;overflow:hidden;isolation:isolate;--intro-y-scale:1}
.intro>p,.intro>h2,.intro-bottom{position:relative;z-index:2}
.intro-bottom{position:relative;min-height:clamp(210px,25vw,380px)}
.intro-y{position:absolute;z-index:1;left:-4%;top:31%;width:clamp(280px,38vw,690px);height:auto;transform:scale(var(--intro-y-scale));transform-origin:34% 50%;will-change:transform;pointer-events:none;user-select:none;opacity:.96}
.intro-bottom>p{margin-left:auto;position:relative;z-index:2}
.hero h1 em{color:#ff4e67}
.intro h2 span{color:#55551d}
.work{padding:0 3.2% var(--portfolio-gap)}
.work .section-heading{margin-bottom:24px}
.portfolio-mosaic{display:flex;flex-direction:column;gap:var(--portfolio-gap)}
.portfolio-row{display:grid;gap:var(--portfolio-gap);width:100%;overflow:hidden}
.portfolio-row.full{grid-template-columns:1fr;aspect-ratio:16/9}
.portfolio-row.split-a{grid-template-columns:45fr 55fr;aspect-ratio:2.72}
.portfolio-row.cinema{grid-template-columns:1fr;aspect-ratio:2.35}
.portfolio-row.split-b{grid-template-columns:70fr 30fr;aspect-ratio:2.54}
.portfolio-row.split-c{grid-template-columns:61fr 39fr;aspect-ratio:2.9}
.portfolio-row.full-game{grid-template-columns:1fr;aspect-ratio:2.02}
.portfolio-row.split-d{grid-template-columns:25fr 75fr;aspect-ratio:3.12}
.portfolio-row.layout-kaia{grid-template-columns:1fr;aspect-ratio:2.07}
.portfolio-row.layout-triple{grid-template-columns:repeat(3,1fr);aspect-ratio:2.44}
.portfolio-row.layout-galinha{grid-template-columns:1fr;aspect-ratio:2.34}
.portfolio-row.layout-40-60{grid-template-columns:40fr 60fr;aspect-ratio:2.51}
.portfolio-row.layout-60-40{grid-template-columns:60fr 40fr;aspect-ratio:2.94}
.portfolio-row.layout-boy{grid-template-columns:1fr;aspect-ratio:2.84}
.portfolio-row.layout-70-30{grid-template-columns:70fr 30fr;aspect-ratio:2.75}
.portfolio-row.layout-25-75{grid-template-columns:25fr 75fr;aspect-ratio:3.28}
.project-tile{min-width:0;min-height:0;display:block;overflow:hidden;position:relative;border-radius:15px}
.project-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.project-video-preview{position:absolute;z-index:0;inset:0;overflow:hidden;background:#111;opacity:0;transition:opacity .12s ease;pointer-events:none}
.project-video-preview iframe{position:absolute;top:50%;left:50%;border:0;transform:translate(-50%,-50%);pointer-events:none}
.project-video-preview video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;pointer-events:none}
.has-video-preview.is-previewing .project-video-preview{opacity:1}
.has-video-preview.is-previewing>img{opacity:0}
.project-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.58));opacity:0;transition:opacity .35s ease;pointer-events:none}
.project-meta{position:absolute;z-index:1;left:clamp(16px,2vw,30px);right:clamp(16px,2vw,30px);bottom:clamp(15px,1.8vw,27px);display:flex;align-items:flex-end;justify-content:space-between;gap:20px;color:#fff;opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.project-meta strong{font:500 clamp(23.4px,2.275vw,36.4px)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.035em}
.project-meta span{font-size:14.3px;line-height:1.25;letter-spacing:.08em;text-align:right;text-transform:uppercase}
.project-tile:hover img,.project-tile:focus-visible img{transform:scale(1.025)}
.project-tile[href="/guitar-drum/"]>img{transform:scale(1.02)}
.project-tile[href="/guitar-drum/"]:hover>img,.project-tile[href="/guitar-drum/"]:focus-visible>img{transform:scale(1.04)}
.project-tile:hover::after,.project-tile:focus-visible::after,.project-tile:hover .project-meta,.project-tile:focus-visible .project-meta{opacity:1}
.project-tile:hover .project-meta,.project-tile:focus-visible .project-meta{transform:none}
.project-tile:focus-visible{outline:4px solid #151515;outline-offset:-4px}
.partners{background:var(--clients-pink);overflow:clip}
.partners .section-heading h2{max-width:980px}
body:not(.detail) .partners .section-heading h2.home-reveal{transform:translateY(42px) skewY(2deg);filter:blur(5px);transition:opacity .9s ease,transform .9s cubic-bezier(.16,1,.3,1),filter .9s ease}
body:not(.detail) .partners .section-heading h2.home-reveal.is-in-view{transform:none;filter:none}
.logos{position:relative;isolation:isolate}
.logos img{--logo-scale:1;--hover-boost:0;position:relative;z-index:1;transform:scale(calc(var(--logo-scale) + var(--hover-boost)));transition:opacity .65s ease,filter .65s ease,transform .42s cubic-bezier(.16,1,.3,1);will-change:transform}
.logos img[alt="Disney"]{--logo-scale:1.2}
.logos img:nth-child(9){--logo-scale:1.55}
.logos img:nth-child(12){--logo-scale:1.45}
.logos img[alt="SEGA"]{--logo-scale:2.4}
.logos img:nth-child(15){--logo-scale:1.45}
.logos img:hover{--hover-boost:.035}
.logos img.logo-enter{opacity:0;filter:grayscale(1) blur(5px);transform:translateY(30px) scale(calc(var(--logo-scale) * .88))}
.logos img.logo-enter.is-in-view{opacity:1;filter:grayscale(1);transform:scale(calc(var(--logo-scale) + var(--hover-boost)))}
.logos-distortion{position:absolute;inset:-100px -80px;z-index:2;width:calc(100% + 160px);height:calc(100% + 200px);pointer-events:none;opacity:0;visibility:hidden}
.logos.lens-active .logos-distortion{opacity:1;visibility:visible}
.logos.lens-active img{visibility:hidden}
.amigos{background:#fff}
.amigos.amigos-motion-ready .eyebrow,.amigos.amigos-motion-ready h2,.amigos.amigos-motion-ready p:not(.eyebrow),.amigos.amigos-motion-ready .text-link{opacity:0;transform:translateY(30px);filter:blur(6px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1),filter .8s ease}
.amigos.amigos-motion-ready h2{transition-delay:120ms}
.amigos.amigos-motion-ready p:not(.eyebrow){transition-delay:250ms}
.amigos.amigos-motion-ready .text-link{transition-delay:380ms}
.amigos.amigos-motion-ready .amigos-art{opacity:0;transform:translateX(54px) scale(.93);filter:blur(10px);transition:opacity 1s ease,transform 1s cubic-bezier(.16,1,.3,1),filter 1s ease;transition-delay:220ms}
.amigos.amigos-motion-ready.is-in-view .eyebrow,.amigos.amigos-motion-ready.is-in-view h2,.amigos.amigos-motion-ready.is-in-view p:not(.eyebrow),.amigos.amigos-motion-ready.is-in-view .text-link,.amigos.amigos-motion-ready.is-in-view .amigos-art{opacity:1;transform:none;filter:none}
.brand img,.detail .brand img{width:132px;height:40px;filter:none;object-fit:contain;display:block}
.detail-body h2{font-size:25px;font-weight:500;letter-spacing:-.03em;margin:32px 0 15px}
.detail-body h2:first-child{margin-top:0}
.detail .detail-title{background:var(--portfolio-yellow)}
.detail .brand{background:transparent;border-radius:0;padding:0}
@media(max-width:760px){.brand img,.detail .brand img{width:112px;height:34px}.work{padding:0 3.2% var(--portfolio-gap)}.work .section-heading{padding-top:0;margin-bottom:18px}.intro{padding-bottom:65px}.intro-bottom{min-height:310px;align-items:flex-end}.intro-y{left:-29%;top:39%;width:96vw;opacity:.9}.intro-bottom>p{max-width:62%;font-size:16px}.project-tile{border-radius:11px}.project-meta{left:13px;right:13px;bottom:12px;gap:8px}.project-meta strong{font-size:20.8px}.project-meta span{font-size:11.7px}.detail-body h2{font-size:23px}}
@media(max-width:760px){
 .partners .logos{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:18px;row-gap:30px}
 .partners .logos img{height:58px}
 .partners .logos img:nth-child(9){--logo-scale:1.2}
 .partners .logos img:nth-child(12){--logo-scale:1}
 .partners .logos img[alt="SEGA"]{--logo-scale:1.25}
 .partners .logos img:nth-child(15){--logo-scale:1.15}
}
@media(prefers-reduced-motion:reduce){.project-tile img,.project-tile::after,.project-meta,.logos img,.project-video-preview{transition:none}.logos img.logo-enter{opacity:1;filter:grayscale(1);transform:scale(var(--logo-scale))}body:not(.detail) .partners .section-heading h2.home-reveal{filter:none;transform:none;transition:none}}
@media(prefers-reduced-motion:reduce){.amigos.amigos-motion-ready .eyebrow,.amigos.amigos-motion-ready h2,.amigos.amigos-motion-ready p:not(.eyebrow),.amigos.amigos-motion-ready .text-link,.amigos.amigos-motion-ready .amigos-art{opacity:1;transform:none;filter:none;transition:none}}
@media(prefers-reduced-motion:reduce){.intro{--intro-y-scale:1.12}.intro-y{will-change:auto}}
nav a:not(.pill):hover{text-decoration:none}
.nav-roll{position:relative;display:inline-block;overflow:hidden;height:1.25em;line-height:1.25;vertical-align:top}
.nav-roll-line{display:block;white-space:nowrap}
.nav-roll-line:last-child{position:absolute;inset:0}
.nav-roll-char{display:inline-block;transition:transform .46s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--char-index)*18ms);will-change:transform}
.nav-roll-line:first-child .nav-roll-char{transform:translateY(0) rotate(0)}
.nav-roll-line:last-child .nav-roll-char{transform:translateY(115%) rotate(7deg)}
nav a:not(.pill):hover .nav-roll-line:first-child .nav-roll-char,nav a:not(.pill):focus-visible .nav-roll-line:first-child .nav-roll-char,.footer-roll-link:hover .nav-roll-line:first-child .nav-roll-char,.footer-roll-link:focus-visible .nav-roll-line:first-child .nav-roll-char{transform:translateY(-115%) rotate(-7deg)}
nav a:not(.pill):hover .nav-roll-line:last-child .nav-roll-char,nav a:not(.pill):focus-visible .nav-roll-line:last-child .nav-roll-char,.footer-roll-link:hover .nav-roll-line:last-child .nav-roll-char,.footer-roll-link:focus-visible .nav-roll-line:last-child .nav-roll-char{transform:translateY(0) rotate(0)}
@media(prefers-reduced-motion:reduce){.nav-roll-char{transition:none}}
