:root{--paper:#000;--ink:#efefef;--muted:#aaa;--line:#686868;--gap:30px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:dm-sans,Arial,sans-serif;font-size:18px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:6px}[hidden]{display:none!important}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:900;letter-spacing:-.055em;line-height:.98}p{line-height:1.4}a:hover{text-decoration:none}.header{height:78px;padding:20px 2.3vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;background:#000;position:sticky;top:0;z-index:20}.header .logo img{width:54px;height:auto}.header nav{display:flex;gap:26px;font-size:20px;font-weight:500;letter-spacing:-.025em}.studio-nav{justify-self:end}.header a[aria-current],.header nav a:hover{text-decoration:underline;text-underline-offset:7px}.is-home .header{position:absolute;top:100svh;width:100%}.is-home.nav-visible .header{position:fixed;top:0}.mobile-menu{display:none;background:none;border:1px solid #777;padding:8px 14px}.home-cover{height:100svh;min-height:550px;position:relative;margin:0 3.3vw;overflow:hidden}.background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.cover-shade{position:absolute;inset:0;background:#0005;pointer-events:none}.cover-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(180px,21vw,310px)}.cover-brand>img{width:100%;height:auto}.marquee{display:flex;overflow:hidden;white-space:nowrap;font-size:clamp(35px,4.4vw,65px);font-weight:900;letter-spacing:-.065em;line-height:1.1;margin-top:8px}.marquee span{flex-shrink:0;animation:marquee 12s linear infinite}.circle{border:1px solid #aaa;border-radius:50%;width:96px;height:96px;background:transparent;display:grid;place-items:center;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;transition:background .2s,color .2s}.circle:hover{background:#efefef;color:#000}.cover-menu,.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%)}.cover-scroll{position:absolute;right:28px;bottom:45px;font-size:34px}.motion-toggle{position:absolute;left:18px;bottom:18px;padding:8px 12px;border:1px solid #ffffff70;background:#0008;font-size:11px}.intro-section{padding:125px 2.3vw 105px;display:grid;grid-template-columns:2.1fr 1fr;gap:60px;align-items:center}.intro-statements h1{font-size:clamp(40px,5.4vw,82px);margin:0 0 28px;line-height:.97}.intro-statements h1:last-child{margin:0}.outline-button{border:1px solid #ddd;min-height:65px;min-width:230px;display:grid;place-items:center;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:15px;overflow:hidden;text-align:center;padding:15px 25px}.outline-button span{transition:transform .22s}.outline-button:hover span{transform:translateY(-3px)}.intro-section .outline-button{justify-self:end;width:100%;max-width:295px}.category-switch{height:85svh;min-height:520px;margin:0 2.3vw;position:relative;overflow:hidden}.category-layer{position:absolute;inset:0;opacity:0;transition:opacity .4s}.category-layer.active{opacity:1}.category-switch nav{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.category-switch nav a{font-size:clamp(48px,7vw,100px);font-weight:900;letter-spacing:-.06em;line-height:1.05}.category-switch nav a:not(:hover):not(:focus-visible){-webkit-text-stroke:1px white;color:transparent}.category-switch nav a:first-child:last-child{color:white}.category-hero{height:calc(100svh - 78px);min-height:600px;position:relative;margin:0 2.3vw;overflow:hidden}.category-intro{position:relative;display:grid;grid-template-columns:1.45fr .85fr 1.1fr;gap:35px;height:100%;align-items:center;padding-bottom:80px}.category-intro h1{font-size:clamp(46px,5.4vw,82px);margin:0}.category-intro h1>*{display:block}.outline-type{-webkit-text-stroke:1.4px #efefef;color:transparent}.category-services{list-style:none;margin:0;padding:0;font-size:15px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;line-height:1.85}.category-description{font-size:20px;line-height:1.3}.category-description p:last-child{margin:0}.work-section{padding:65px 2.3vw}.projects{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project-card{display:block;min-width:0}.project-card.wide{grid-column:1/-1}.project-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#171717}.project-image>img{width:100%;height:100%;object-fit:cover}.project-card.wide .project-image{aspect-ratio:2/1}.hover-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s}.is-playing .hover-video{opacity:1}.project-overlay{position:absolute;inset:0;display:flex;align-items:center;padding:30px;background:#0005;opacity:0;transition:opacity .25s}.project-overlay h2{font-size:clamp(26px,3.15vw,48px);margin:0;transform:translateY(14px);transition:transform .25s}.project-overlay h2 span{font-weight:900}.project-card:hover .project-overlay,.project-card:focus-visible .project-overlay{opacity:1}.project-card:hover .project-overlay h2,.project-card:focus-visible .project-overlay h2{transform:translateY(0)}.masonry{display:block;columns:3;column-gap:30px}.masonry .project-card{break-inside:avoid;margin-bottom:30px}.masonry .project-image,.masonry .project-card.wide .project-image{aspect-ratio:auto}.masonry .project-image>img{height:auto}.masonry .project-overlay{padding:20px}.masonry h2{font-size:clamp(25px,2.5vw,40px)}.contact-cta{padding:110px 2.3vw;display:grid;grid-template-columns:2.1fr 1fr;gap:60px;align-items:center}.contact-cta h2{font-size:clamp(42px,5.1vw,76px);margin:0}.rotating-copy{min-height:2.1em}.contact-cta .outline-button{justify-self:end;width:100%;max-width:295px}.footer{padding:65px 2.3vw 30px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:30px}.footer h2{font-size:20px;letter-spacing:0;font-weight:500;margin-bottom:22px}.footer-grid a{display:block;line-height:1.55;font-size:20px;font-weight:400}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.legal-links{margin-top:30px}.legal-links a{font-size:14px}.footer-bottom{display:flex;justify-content:space-between;margin-top:60px;font-size:12px;color:#aaa}.languages{display:flex;gap:14px}.languages [aria-current]{text-decoration:underline;text-underline-offset:4px}.menu-dialog{border:0;padding:80px 6vw;background:#000;color:white;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0}.menu-dialog::backdrop{background:#000}.menu-dialog nav{display:flex;flex-direction:column;justify-content:center;min-height:75%;gap:12px}.menu-dialog nav a{font-size:clamp(44px,7vw,100px);font-weight:900;letter-spacing:-.06em;line-height:1.1}.menu-dialog nav a:hover{-webkit-text-stroke:1px white;color:transparent}.dialog-close{position:absolute;right:4vw;top:25px;background:none;border:1px solid #888;border-radius:30px;padding:10px 20px}.section{padding:60px 2.3vw}.page-title{font-size:clamp(48px,7vw,100px);margin:30px 0 70px}.body-content{font-size:20px;line-height:1.4}.body-content p{max-width:900px}.body-content h2{font-size:clamp(35px,5vw,72px);margin:60px 0 30px}.body-content a{text-decoration:underline}.body-content figure{margin:40px 0}.body-content figure>ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.body-content figcaption{font-size:15px;margin-top:15px}.body-content img{width:100%;height:auto}.case{padding:0 2.3vw}.case-film{margin:0 auto}.film{aspect-ratio:16/9;position:relative;background:#111;overflow:hidden}.film.portrait{aspect-ratio:9/16}.film.square{aspect-ratio:1}.film>img,.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}.play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;border:0;background:#0004;color:white;font-size:17px;text-align:left;padding:24px}.play small{display:block;font-size:11px;margin-top:6px}.play-icon{display:grid;place-items:center;border:1px solid white;border-radius:50%;width:70px;height:70px;flex-shrink:0}.case-close{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10;background:#0009;text-transform:none;letter-spacing:0;font-size:20px}.case-description{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;padding:70px 0}.case-description h1{font-size:clamp(40px,5vw,72px)}.case-description p{font-size:22px;line-height:1.4}.credits{display:flex;flex-wrap:wrap;gap:35px;margin:0;padding:35px 0;border-bottom:1px solid #333}.credits>div{flex:1;min-width:150px}.credits dt{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#aaa;margin-bottom:8px}.credits dd{margin:0}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:35px 0 75px}.film-grid.three{grid-template-columns:repeat(3,1fr)}.film-grid figure{margin:0}.film-grid .play{font-size:14px;flex-direction:column}.film-grid .play-icon{width:50px;height:50px}.contact-details{padding:80px 0}.contact-details h2{font-size:65px}.contact-details a{font-size:30px}.contact-details p{margin-top:30px}.filters{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:35px}.filters button{border:1px solid #aaa;border-radius:30px;padding:10px 20px;background:none}.filters [aria-pressed=true]{background:#eee;color:#000}.skip{position:absolute;top:-100px;left:10px;z-index:100;background:white;color:black;padding:12px}.skip:focus{top:10px}.nojs{position:absolute;inset:40% 20%;z-index:5;text-align:center;background:#000;padding:20px}.placeholder{display:grid;place-items:center}.slate{font-size:60px}.slate small{display:block;font-size:14px}.image-fallback{display:grid;place-items:center;height:100%;font-size:40px}.motion-paused .marquee span{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-100%)}}@media(hover:none){.project-overlay{opacity:1;align-items:end;background:linear-gradient(transparent 45%,#000a)}.project-overlay h2{transform:none}.hover-video{display:none}}@media(max-width:900px){.category-intro{grid-template-columns:1.2fr 1fr;gap:24px}.category-description{grid-column:1/-1;max-width:750px;font-size:18px}.category-hero{height:auto;min-height:85svh}.category-intro{padding:70px 20px 150px}.masonry{columns:2}.intro-section,.contact-cta{gap:25px;grid-template-columns:2fr 1fr}.header nav{font-size:17px;gap:18px}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){:root{--gap:16px}.header{height:65px;padding:18px 20px;display:flex;justify-content:space-between}.header nav{display:none}.mobile-menu{display:block}.home-cover{margin:0;min-height:480px}.cover-brand{width:200px}.marquee{font-size:45px}.cover-menu{width:80px;height:80px}.intro-section{padding:100px 20px 60px;display:block}.intro-statements h1{font-size:42px;letter-spacing:-.055em;margin-bottom:25px}.intro-section .outline-button,.contact-cta .outline-button{margin-top:40px;width:100%;max-width:none}.category-switch{margin:0 20px;height:70svh;min-height:420px}.category-switch nav a{font-size:49px}.category-hero{margin:0 20px;min-height:850px}.category-intro{display:block;padding:55px 15px 150px}.category-intro h1{font-size:52px;margin-bottom:35px}.category-services{font-size:12px;margin-bottom:28px}.category-description{font-size:18px}.work-section{padding:40px 20px}.projects{grid-template-columns:1fr;gap:20px}.project-card.wide{grid-column:auto}.project-card.wide .project-image{aspect-ratio:16/9}.masonry{columns:1}.masonry .project-card{margin-bottom:20px}.project-overlay{opacity:1;align-items:end;background:linear-gradient(transparent,#0009)}.project-overlay h2{font-size:30px;transform:none}.contact-cta{padding:65px 20px;display:block}.contact-cta h2{font-size:43px}.footer{padding:50px 20px 25px}.footer-grid{gap:35px 15px}.footer-grid a,.footer h2{font-size:16px}.legal-links a{font-size:12px}.section{padding:40px 20px}.case{padding:0 20px}.case-description{display:block;padding:40px 0}.case-description h1{font-size:43px}.case-description p{font-size:19px}.credits{gap:20px}.credits>div{min-width:110px}.film-grid,.film-grid.three{grid-template-columns:1fr}.case-close{width:70px;height:70px;bottom:12px}.play{font-size:14px;flex-direction:column}.play-icon{width:50px;height:50px}.case .body-content{font-size:18px}.contact-details a{font-size:24px}.body-content h2{font-size:40px}.menu-dialog{padding:80px 25px}.menu-dialog nav a{font-size:48px}.body-content figure>ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hover-video{display:none}}
.service-section,.about-hero{position:relative;min-height:calc(100svh - 78px);margin:0 2.3vw;overflow:hidden}.service-section .cover-shade,.about-hero .cover-shade{background:#0009}.service-copy{position:relative;display:grid;grid-template-columns:1.2fr .85fr 1.3fr;gap:40px;align-items:center;padding:100px 20px;min-height:calc(100svh - 78px)}.service-copy h1{font-size:clamp(45px,5.4vw,82px)}.service-list{font-size:15px;line-height:1.8;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.service-copy p{font-size:20px}.about-intro{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:90px;padding:90px 20px 150px;align-items:center;min-height:85svh}.about-intro h1{font-size:clamp(48px,6vw,90px)}.about-intro p{font-size:24px}.team{padding:90px 2.3vw;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.team-portrait{aspect-ratio:3/4;position:relative;overflow:hidden}.team-portrait img{width:100%;height:100%;object-fit:cover}.team-bio{position:absolute;inset:0;background:#000b;padding:25px;display:flex;align-items:center;opacity:0;transition:opacity .25s}.team-card:hover .team-bio,.team-card:focus .team-bio{opacity:1}.team-card h2{font-size:34px;margin:20px 0 8px}.team-card>p{font-size:16px}.contact-details{margin:0 2.3vw;padding:60px 0}@media(max-width:900px){.service-copy{grid-template-columns:1fr 1fr}.service-copy>div:last-child{grid-column:1/-1}.about-intro{gap:40px}.team-bio{font-size:15px;padding:15px}}@media(max-width:600px){.service-section,.about-hero{margin:0 20px}.service-copy{display:block;padding:55px 15px}.service-copy h1{font-size:50px}.service-list{margin-bottom:35px}.service-copy p{font-size:18px}.about-intro{display:block;padding:55px 15px 150px}.about-intro h1{font-size:50px}.about-intro p{font-size:20px}.team{grid-template-columns:1fr;padding:50px 20px}.team-bio{font-size:18px;padding:25px}.contact-details{margin:0 20px}}@media(hover:none){.team-bio{position:static;opacity:1;background:none;padding:20px 0;font-size:17px}.team-portrait{aspect-ratio:auto;overflow:visible}.team-portrait img{aspect-ratio:3/4;height:auto}}
