:root{--purple:#7923e8;--black:#090909;--white:#f4f2ed;--ink:#111;--pad:clamp(22px,4vw,68px);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Montserrat,Arial,sans-serif;cursor:none}a,button{color:inherit}button{font:inherit}.purple-section{background:var(--purple);color:var(--black)}.dark-section{background:var(--black);color:var(--white)}.light-section{background:var(--white);color:var(--ink)}
.nav{position:fixed;z-index:50;top:0;left:0;width:100%;height:92px;padding:22px var(--pad);display:flex;align-items:flex-start;justify-content:space-between;mix-blend-mode:difference;color:#fff;pointer-events:none}.nav>*{pointer-events:auto}.wordmark{text-decoration:none;display:flex;align-items:flex-end;gap:5px;font-size:34px;font-weight:500;letter-spacing:-3px;line-height:.8}.wordmark small{font-size:12px;letter-spacing:-.5px}.nav nav{display:flex;gap:32px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nav nav a{text-decoration:none;position:relative}.nav nav a:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.nav nav a:hover:after{transform:scaleX(1);transform-origin:left}.menu{display:none;background:none;border:0;width:36px;height:28px}.menu span{display:block;height:2px;background:currentColor;margin:7px 0}
.hero{min-height:100svh;position:relative;overflow:hidden;padding:110px var(--pad) 36px;display:flex;align-items:center}.hero-meta{position:absolute;top:110px;left:var(--pad);display:flex;gap:28px}.meta{font-size:9px;font-weight:700;letter-spacing:.13em}.kinetic{margin:2vh 0 0 auto;width:min(100%,1040px);font-size:clamp(78px,15.2vw,230px);line-height:.69;letter-spacing:-.085em;text-align:right;font-weight:900;text-transform:uppercase;position:relative}.kinetic span{display:block;will-change:transform;transition:transform .2s ease-out}.kinetic .outline{color:transparent;-webkit-text-stroke:2px var(--black);text-stroke:2px var(--black)}.line-a{padding-right:14%}.line-b{padding-right:2%}.line-c{transform:translateX(5%)}.hero-note{position:absolute;left:var(--pad);bottom:13%;font-size:12px;line-height:1.55;font-weight:600}.scroll-cue{position:absolute;right:var(--pad);bottom:38px;text-decoration:none;font-size:9px;font-weight:700;letter-spacing:.14em;display:flex;align-items:center;gap:14px}.scroll-cue i{width:55px;height:1px;background:currentColor;position:relative}.scroll-cue i:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(-45deg)}.hero-index{position:absolute;left:var(--pad);bottom:36px;display:flex;gap:25px}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.reel-section{padding:clamp(80px,10vw,160px) var(--pad);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:5vw;align-items:center}.reel-copy h2,.section-head h2,.standard-intro h2{font-size:clamp(52px,7.5vw,118px);line-height:.88;letter-spacing:-.075em;margin:25px 0;font-weight:800}.reel-copy h2 em,.section-head h2 em,.standard-intro h2 em{font-weight:400;font-style:italic}.reel-copy>p:last-child{max-width:390px;font-size:14px;line-height:1.7;color:#aaa}.reel-card{position:relative;border:0;background:#111;padding:0;aspect-ratio:16/9;overflow:hidden;color:#fff;width:100%;display:block}.reel-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15);opacity:.76;transition:transform 1.2s var(--ease),filter .6s}.reel-card:hover img{transform:scale(1.035);filter:grayscale(0)}.play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:50%;width:110px;height:110px;display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:.12em}.duration{position:absolute;right:20px;bottom:18px;font-size:10px}
.work-section{padding:14vh 0 0;overflow:hidden}.section-head{padding:0 var(--pad) 9vh;display:grid;grid-template-columns:1fr 2fr auto;gap:4vw;align-items:start}.section-head h2{margin:0}.section-head .count{font-size:10px;font-weight:700}.project-list{padding:0 var(--pad)}.project{display:grid;grid-template-columns:2fr 1fr;gap:3vw;margin-bottom:9vh;align-items:end}.project:nth-child(even){grid-template-columns:1fr 1.6fr}.project:nth-child(even) .project-media{order:2}.project-media{border:0;padding:0;background:#ddd;position:relative;overflow:hidden;aspect-ratio:16/9}.project-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .9s var(--ease),filter .5s}.project-media:hover img{transform:scale(1.045);filter:saturate(1.1)}.project-info h3{font-size:clamp(38px,5vw,78px);line-height:.9;letter-spacing:-.06em;margin:0 0 18px}.project-info p{font-size:12px}.project-info span{font-size:9px;font-weight:700;letter-spacing:.12em}.manifesto-strip{background:var(--purple);color:#000;display:flex;white-space:nowrap;gap:40px;padding:12px 0;font-size:clamp(38px,5vw,80px);font-weight:900;letter-spacing:-.055em;overflow:hidden}.manifesto-strip span{animation:marquee 18s linear infinite}@keyframes marquee{to{transform:translateX(calc(-100% - 40px))}}
.studio-section{min-height:110vh;padding:13vh var(--pad);position:relative}.studio-label{display:flex;justify-content:space-between}.studio-section h2{font-size:clamp(70px,12vw,190px);line-height:.72;letter-spacing:-.09em;text-transform:uppercase;margin:12vh 0 10vh;text-align:right}.studio-section h2 span{font-weight:400;color:transparent;-webkit-text-stroke:2px #000}.studio-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;border-top:1px solid #000;padding-top:28px}.studio-grid p{font-size:14px;line-height:1.7;max-width:600px}.studio-grid .lead{font-size:clamp(22px,3vw,42px);line-height:1.18;letter-spacing:-.035em;margin-top:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:10vh;border-top:1px solid #000}.services span{padding:22px 0;border-bottom:1px solid #000;font-size:11px;font-weight:700;text-transform:uppercase}
.standard-section{padding:14vh var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.standard-intro{position:sticky;top:120px;align-self:start}.standard-intro>p:last-child{color:#888}.standard-list{list-style:none;margin:0;padding:0}.standard-list li{min-height:190px;border-top:1px solid #333;padding:28px 0;display:grid;grid-template-columns:70px 1fr;gap:22px}.standard-list li>span{font-size:11px;color:var(--purple);font-weight:800}.standard-list h3{font-size:clamp(30px,4vw,55px);letter-spacing:-.055em;margin:0 0 18px}.standard-list p{color:#999;max-width:360px;font-size:13px;line-height:1.6}
.cases-section{padding:14vh var(--pad)}.section-head.compact{padding:0 0 8vh;grid-template-columns:1fr 2fr}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.case{min-height:620px;padding:clamp(25px,4vw,55px);display:flex;flex-direction:column;justify-content:space-between}.purple-card{background:var(--purple);color:#000}.dark-card{background:#111;color:#fff}.case>span,.case>strong{font-size:9px;letter-spacing:.14em}.case h3{font-size:clamp(52px,7vw,102px);line-height:.78;letter-spacing:-.08em;margin:auto 0 30px}.case p{max-width:520px;font-size:14px;line-height:1.65}.metrics{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:end;gap:8px 15px;border-top:1px solid #444;padding-top:25px}.metrics b{font-size:30px}.metrics small{font-size:8px;letter-spacing:.1em;color:#999}
.vision-section{padding:14vh var(--pad)}.vision-section blockquote{font-size:clamp(40px,7vw,105px);line-height:.98;letter-spacing:-.06em;margin:12vh 0 18vh;max-width:1400px}.director{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;border-top:1px solid #333;padding-top:8vh}.director h2{font-size:clamp(48px,7vw,100px);line-height:.85;letter-spacing:-.07em}.director>div:last-child>p:last-child{max-width:520px;color:#aaa;line-height:1.7;font-size:14px}.credentials{padding:12vh var(--pad)}.logo-type{display:grid;grid-template-columns:repeat(3,1fr);margin:8vh 0;border-top:1px solid #bbb}.logo-type span{padding:35px 0;border-bottom:1px solid #bbb;font-weight:900;font-size:clamp(18px,3vw,42px);letter-spacing:-.05em}.award{max-width:850px;font-size:clamp(22px,3vw,42px);line-height:1.2;font-weight:600}
.contact-section{min-height:100svh;padding:13vh var(--pad) 30px;display:flex;flex-direction:column;justify-content:space-between}.contact-cta{font-size:clamp(75px,14vw,205px);line-height:.7;letter-spacing:-.09em;font-weight:900;text-decoration:none;margin:8vh 0}.contact-cta span{color:transparent;-webkit-text-stroke:2px #000}.contact-meta{display:grid;grid-template-columns:2fr 1fr 1fr;border-top:1px solid #000;padding:25px 0 60px;gap:30px}.contact-meta div{display:flex;flex-direction:column;gap:12px}.contact-meta span{font-size:9px;font-weight:800;letter-spacing:.12em}.contact-meta a{font-size:12px;text-decoration:none;font-weight:600}.contact-section footer{border-top:1px solid #000;padding-top:20px;display:flex;justify-content:space-between;font-size:9px;font-weight:700}.contact-section footer a{text-decoration:none}
.video-modal{width:min(1100px,94vw);max-width:none;border:0;padding:0;background:#000;color:#fff}.video-modal::backdrop{background:rgba(121,35,232,.92)}.close-modal{display:block;margin-left:auto;border:0;background:none;padding:14px 0;font-size:10px;letter-spacing:.14em}.video-frame{aspect-ratio:16/9}.video-frame iframe{width:100%;height:100%;border:0}.cursor{position:fixed;z-index:1000;width:58px;height:58px;border:1px solid rgba(255,255,255,.7);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference;display:grid;place-items:center;transition:width .3s var(--ease),height .3s var(--ease),background .3s}.cursor span{font-size:7px;letter-spacing:.12em}.cursor.active{width:95px;height:95px;background:#fff;color:#000}
@media(max-width:800px){body{cursor:auto}.cursor{display:none}.nav{height:70px;padding-top:20px}.nav nav{display:none;position:absolute;top:0;left:0;width:100%;height:100vh;background:#000;flex-direction:column;padding:120px var(--pad);font-size:34px;gap:28px}.nav nav.open{display:flex}.menu{display:block}.hero{padding-top:90px}.hero-meta{top:92px}.kinetic{font-size:clamp(72px,25vw,135px);line-height:.73;margin-left:-8px;text-align:left}.line-a,.line-b{padding-right:0}.line-c{transform:none}.hero-note{bottom:12%}.reel-section{grid-template-columns:1fr;padding-top:16vh}.reel-card{aspect-ratio:16/9}.section-head,.section-head.compact{grid-template-columns:1fr}.project,.project:nth-child(even){grid-template-columns:1fr}.project:nth-child(even) .project-media{order:0}.project-info{padding-top:18px}.studio-section h2{text-align:left;margin-top:14vh}.studio-grid,.standard-section,.case-grid,.director{grid-template-columns:1fr}.services{grid-template-columns:1fr 1fr;column-gap:18px}.standard-intro{position:static}.case{min-height:520px}.logo-type{grid-template-columns:1fr 1fr}.contact-meta{grid-template-columns:1fr}.contact-section footer{gap:15px;flex-wrap:wrap}.metrics{grid-template-columns:auto 1fr}.nav.menu-open{mix-blend-mode:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.nav{mix-blend-mode:normal;color:#000;transition:color .3s ease}.nav.on-dark{color:#fff}

/* Supplied brand artwork and director portrait. */
.studio-section .studio-brand{margin:clamp(48px,7vw,112px) 0;line-height:0;width:100%;aspect-ratio:4.5;position:relative;overflow:hidden}
.studio-brand img{display:block;position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-47.3%)}
.standard-intro .standard-brand{position:relative;overflow:hidden;aspect-ratio:2.4;width:100%;margin:0 0 36px;line-height:0;mix-blend-mode:screen}
.standard-brand img{position:absolute;width:270%;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-53.4%);mix-blend-mode:screen}
.director-portrait{overflow:hidden;background:var(--purple)}
.director-portrait img{display:block;width:100%;height:auto}
.cursor.over-reel{opacity:0}
.reel-card{cursor:pointer}
@media(min-width:801px){.reel-copy h2{font-size:clamp(48px,5.5vw,88px)}}
@media(max-width:800px){.reel-section{gap:36px}.reel-copy h2{font-size:clamp(48px,9vw,72px)}.play{width:76px;height:76px;font-size:10px}.studio-section{min-height:0}.standard-intro{max-width:560px}.studio-section .studio-brand{margin:56px 0}.nav.menu-open{color:#fff}}
.festival-recognition{background:#7923e8;color:#090909;min-height:78svh;padding:clamp(90px,10vh,150px) var(--pad);display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.55fr);gap:7vw;position:relative;overflow:hidden}.festival-meta{display:flex;flex-direction:column;justify-content:space-between;align-self:stretch;line-height:1.45;z-index:2}.festival-content{z-index:2;align-self:center;padding-bottom:8vh}.festival-content>h2{font-size:clamp(82px,11vw,178px);font-weight:900;letter-spacing:-.09em;line-height:.71;text-transform:uppercase;margin:28px 0 52px}.festival-content>h2 em{font-weight:400;font-style:italic;color:transparent;-webkit-text-stroke:2px #090909}.festival-selection{font-size:clamp(15px,1.45vw,23px);font-weight:600;line-height:1.35;margin:0;max-width:760px}.festival-secondary{border-top:1px solid #090909;margin-top:48px;padding-top:22px;display:grid;grid-template-columns:minmax(120px,.4fr) 1fr;gap:30px;max-width:820px}.festival-secondary span{font-size:10px;font-weight:800;letter-spacing:.16em}.festival-secondary p{font-size:13px;line-height:1.5;margin:0}.festival-year{position:absolute;right:-.025em;bottom:-.25em;font-size:clamp(160px,30vw,480px);font-weight:900;line-height:.7;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:2px rgba(9,9,9,.3);z-index:1;pointer-events:none}@media(max-width:700px){.festival-recognition{min-height:88svh;grid-template-columns:1fr;gap:65px;padding-top:100px}.festival-meta{min-height:130px}.festival-content{align-self:start;padding-bottom:20vh}.festival-content>h2{font-size:clamp(76px,23vw,118px);margin-bottom:42px}.festival-selection br,.festival-secondary br{display:none}.festival-secondary{grid-template-columns:1fr;gap:14px}.festival-year{font-size:55vw;bottom:-.06em}}
.case-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:800px){.case-grid{grid-template-columns:1fr}}
.festival-year{right:var(--pad);bottom:clamp(28px,4vw,64px);font-size:clamp(130px,23vw,360px);line-height:.8;white-space:nowrap}
@media(max-width:700px){.festival-year{font-size:25vw;right:var(--pad);bottom:32px}}

.project-recognition{max-width:820px;margin:-2vh 0 10vh auto;padding-top:24px;border-top:1px solid #090909;font-size:clamp(18px,2vw,29px);line-height:1.25;letter-spacing:-.025em}
.project-recognition em{font-family:Georgia,serif;font-weight:400}
@media(max-width:800px){.project-recognition{margin:-2vh 0 9vh;padding-top:18px;font-size:18px}}
