/* V3 · typographic choreography and alternating light / dark scenes. */
body{padding-top:94px;transition:background-color .7s,color .7s}.header{position:fixed;z-index:65;top:12px;left:var(--gutter);right:var(--gutter);height:70px;margin:0;padding:0 22px;border:1px solid #00000014;border-radius:14px;background:#ffffffb0;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);color:#000;box-shadow:0 5px 35px #00000006;transition:background .45s,color .45s,border-color .45s}.header nav{margin-right:40px}.header .contact-link{display:inline-flex;align-items:center;justify-content:center;background:#000;color:#fff;border:1px solid #000;padding:14px 23px;border-radius:100px;font-size:12px;font-weight:700;line-height:1;transition:background .25s,color .25s,transform .4s var(--ease)}.header .contact-link:hover{background:#fff;color:#000;transform:translateY(-2px)}.header.is-on-dark{background:#151515a3;color:#fff;border-color:#ffffff2c}.header.is-on-dark .menu-toggle span{background:#fff}.header.is-on-dark .contact-link{background:#fff;color:#000;border-color:#fff}.header.is-on-dark .contact-link:hover{background:#333;color:#fff}.header.is-on-dark .roll>span:after{color:#fff}.header-end{gap:24px}.header .logo-word{font-size:17px}.menu-top{padding:12px 22px 0;height:82px}.menu-dialog{z-index:100}.cursor-label{white-space:normal;line-height:1.35;font-size:11px;padding:15px;pointer-events:none}.case-float-nav{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:55;display:flex;gap:5px;padding:6px;border:1px solid #0002;border-radius:100px;background:#ffffffbd;color:#000;backdrop-filter:blur(22px);box-shadow:0 5px 35px #00000012}.case-float-nav a{padding:15px 28px;border-radius:99px;font-size:11px;font-weight:700;letter-spacing:.06em;transition:background .25s,color .25s}.case-float-nav a:hover{background:#000;color:#fff}.modal-open .case-float-nav{visibility:hidden}
/* The two names interlock, offset, then resolve into a paired wordmark. */
.identity-intro{position:fixed;inset:0;z-index:120;display:grid;place-content:center;background:#fff;color:#000;pointer-events:none;overflow:hidden;animation:identityExit .8s 1.65s cubic-bezier(.76,0,.24,1) both}.identity-pair{font:400 clamp(65px,17vw,280px)/.97 var(--display);letter-spacing:-.035em;position:relative}.identity-name{display:block;white-space:nowrap;overflow:hidden;padding:0 .04em}.identity-name>span{display:inline-block;animation:identityLetter 1.05s var(--ease) both;animation-delay:calc(var(--letter)*35ms)}.identity-name:first-child{animation:identityLeft 1.4s var(--ease) both}.identity-name:last-child{animation:identityRight 1.4s var(--ease) both}.identity-name:last-child>span{animation-delay:calc(160ms + var(--letter)*35ms)}.identity-caption{font:600 10px var(--body);letter-spacing:.13em;text-align:center;margin-top:35px;animation:fadeIn .6s .65s both}@keyframes identityLeft{0%{transform:translateX(-65%) skewX(-12deg)}65%{transform:translateX(3%)}100%{transform:none}}@keyframes identityRight{0%{transform:translateX(65%) skewX(12deg);color:transparent;-webkit-text-stroke:1px #000}65%{transform:translateX(-3%);color:transparent;-webkit-text-stroke:1px #000}100%{transform:none;color:#000;-webkit-text-stroke:0}}@keyframes identityLetter{0%{transform:translateY(110%) rotate(12deg)}100%{transform:none}}@keyframes identityExit{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
/* A stationary WE, independent verb and object reels, one responsive line. */
.cinema-hero{padding-top:75px}.rotating-headline{font:400 9.8vw/1.25 var(--display);letter-spacing:-.025em;display:flex;align-items:baseline;gap:.19em;margin:0 var(--gutter) 45px;white-space:nowrap;text-wrap:nowrap;perspective:1000px;max-width:calc(100% - var(--gutter)*2)}.headline-fixed{flex:none}.headline-slot{position:relative;display:inline-flex;align-items:baseline;flex:none;overflow:hidden;min-width:0;padding:0 .015em;transition:width .85s var(--ease),background .35s,color .35s;transform-style:preserve-3d}.headline-slot>span{display:inline-block;white-space:nowrap;transform-origin:50% 100%;line-height:1.25}.headline-letter{display:inline-block;transform-origin:50% 100%}.headline-object{cursor:default;isolation:isolate;outline-offset:6px;padding-bottom:.025em}.headline-object:after{content:'';position:absolute;bottom:.105em;left:.015em;right:.015em;height:.035em;background:currentColor;z-index:3;pointer-events:none}.headline-object:hover,.headline-object:focus-visible{background:#000;color:#fff}.headline-object:hover:after,.headline-object:focus-visible:after{bottom:.08em}.rotating-headline.is-introducing .headline-fixed{animation:headlineFixedIn 1s .2s var(--ease) both}.rotating-headline.is-introducing .headline-slot{animation:headlineFixedIn 1.2s .4s var(--ease) both}.rotating-headline.is-introducing .headline-object{animation-delay:.55s}@keyframes headlineFixedIn{from{opacity:0;transform:translateY(35px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
/* Scene transitions are activated when entering the viewport, also on reverse scroll. */
[data-tone="dark"]{--tone-bg:#fff;--tone-ink:#000;--paper:var(--tone-bg);--ink:var(--tone-ink);background:var(--tone-bg);color:var(--tone-ink);transition:background-color .8s var(--ease),color .8s var(--ease)}[data-tone="dark"].tone-active,.service-dark{--tone-bg:#000;--tone-ink:#fff;--paper:#000;--ink:#fff;--line:#ffffff42}.manifesto{padding-top:130px;padding-bottom:130px;text-align:left;display:grid;grid-template-columns:1.65fr 1fr;gap:8vw;align-items:end}.manifesto .manifesto-title{font:400 6.5vw/1.03 var(--display);text-transform:uppercase;letter-spacing:-.02em;margin:0;max-width:none;perspective:1000px}.manifesto-line{display:block;transform-origin:0 50%;will-change:auto}.manifesto-line:nth-child(2){padding-left:12%}.manifesto-line:nth-child(4){padding-left:19%}.creative-trigger{font:inherit;color:inherit;background:none;letter-spacing:inherit;text-align:left;padding:0;cursor:pointer;position:relative;line-height:inherit}.creative-trigger:after{content:'';height:2px;position:absolute;left:0;right:0;bottom:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.creative-trigger:hover:after,.creative-trigger:focus-visible:after{transform:scaleX(1)}.manifesto-copy{margin:0;max-width:400px;padding-bottom:5px}.manifesto h3{font-size:25px;max-width:none;margin:0 0 24px;text-align:left;letter-spacing:-.04em;color:inherit}.manifesto-copy p{font-size:15px;color:inherit}.manifesto .pill-link{margin-top:30px;border-color:currentColor;color:inherit;padding:19px 32px;letter-spacing:.04em;font-size:12px}.manifesto.tone-active .pill-link:hover{background:#fff;color:#000}.work-section{padding-top:125px;background:#fff;color:#000}.work-heading{margin-bottom:85px}.work-title>span{display:block;overflow:visible}.proud-word{display:inline-block;transform-origin:50% 65%;transition:transform .75s cubic-bezier(.2,1.55,.3,1),letter-spacing .75s var(--ease);position:relative;z-index:2;cursor:default}.work-title:hover .proud-word,.proud-word:focus-visible{transform:scale(1.22,1.35);letter-spacing:.012em}.work-title{overflow:visible;line-height:1.17!important}.js-motion .work-title.reveal{clip-path:inset(0 0 100% 0);transform:translateY(70px);transition:clip-path 1.25s var(--ease),transform 1.25s var(--ease),opacity .8s}.js-motion .work-title.reveal.in-view{clip-path:inset(-30% -10% -35%);transform:none}
.play-section{position:relative;grid-template-columns:1fr 1fr;gap:5vw;min-height:650px;padding-top:80px;padding-bottom:150px}.play-section h2{font-size:8vw;line-height:1.08}.shuffle-deck{display:block;padding:0;background:none;border:0;width:80%;height:420px;margin:0 8%;cursor:pointer;text-align:initial;outline-offset:35px;overflow:visible;perspective:1400px}.shuffle-card{display:block;inset:0;background:#fff;border:7px solid #fff;box-shadow:0 5px 25px #00000010;transform:translateX(calc((var(--card) - 1)*19px)) rotate(calc((var(--card) - 1)*8deg));transition:transform .7s var(--ease);pointer-events:none}.shuffle-card:nth-child(3){transform:translateX(19px) rotate(8deg)}.shuffle-card img{width:100%;height:100%;object-fit:cover}.shuffle-deck:hover .shuffle-card:nth-child(1){transform:translateX(-27px) rotate(-12deg)}.shuffle-deck:hover .shuffle-card:nth-child(3){transform:translateX(27px) rotate(12deg)}.deck-touch-label{position:absolute;z-index:5;bottom:20px;right:0;background:#fff;color:#000;border:1px solid #000;width:68px;height:68px;display:none;place-items:center;border-radius:50%;font-size:10px;pointer-events:none}
.footer{margin:0;padding:75px var(--gutter) 0;border:0}.footer .footer-cta{color:inherit}.footer .footer-cta:hover>.arrow{color:inherit}.footer-details{padding-bottom:55px}.footer-details a:hover{color:inherit;text-decoration:underline;text-underline-offset:5px}.footer-base{color:inherit;opacity:.75;border-color:currentColor}.footer .motion-toggle{color:inherit}.footer.tone-active .text-link{color:#fff}.footer.tone-active :focus-visible{outline-color:#fff}body[data-page="project"] .footer{padding-bottom:100px}
/* Project photographs retain their complete composition at every size. */
body[data-page="project"] .case-hero{height:auto;max-height:none;margin:0 var(--gutter);overflow:visible}body[data-page="project"] .case-hero img{height:auto;width:100%;object-fit:contain}body[data-page="project"] .case-gallery{padding-left:var(--gutter);padding-right:var(--gutter)}body[data-page="project"] .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:5vw 3vw;align-items:start}body[data-page="project"] .gallery-item{aspect-ratio:auto;background:none;overflow:visible}body[data-page="project"] .gallery-item img{width:100%;height:auto;max-height:none;object-fit:contain;transform:none!important}body[data-page="project"] .gallery-item.wide{grid-column:1/-1}body[data-page="project"] .next-project img{height:auto;max-height:none;width:100%;object-fit:contain}.case-films{padding-left:var(--gutter);padding-right:var(--gutter)}.case-films .film-grid{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}.case-films .film-grid video{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:#000}.case-films .film-grid figure:first-child{grid-column:1/-1}.case-autoplay{display:block}.case-story{padding-top:100px;padding-bottom:100px}.case-float-nav a:focus-visible{outline-color:#000}
/* Whole service sections expand. Summary remains a native keyboard control. */
.services-head{padding-top:90px;padding-bottom:95px;display:grid;grid-template-columns:1.15fr .85fr;column-gap:5vw;align-items:center}.services-head>.label{grid-column:1/-1}.services-head .display-title{font-size:8.6vw;line-height:1.12}.services-bts{align-self:stretch;min-height:260px;overflow:hidden}.services-bts img{height:100%;width:100%;object-fit:cover}.service-segment{padding:0 var(--gutter);position:relative;scroll-margin-top:100px;background:#fff;color:#000}.service-segment.service-dark{background:#000;color:#fff}.segment-summary{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;list-style:none;cursor:pointer;padding:80px 60px 80px 0;min-height:285px}.segment-summary::-webkit-details-marker{display:none}.segment-summary::marker{content:''}.segment-summary h2{font:400 7.5vw/1.1 var(--display);text-transform:uppercase;letter-spacing:-.025em;grid-column:1;grid-row:1;transition:transform .5s var(--ease)}.segment-summary p{font-size:20px;letter-spacing:-.025em;line-height:1.7;grid-column:2;grid-row:1;max-width:580px}.service-segment:nth-child(even) .segment-summary h2{grid-column:2}.service-segment:nth-child(even) .segment-summary p{grid-column:1}.segment-toggle{position:absolute;right:2px;top:50%;font:300 37px/1 var(--body);transform:translateY(-50%);transition:transform .5s var(--ease)}.service-segment[open] .segment-toggle{transform:translateY(-50%) rotate(45deg)}.segment-summary:hover h2{transform:translateX(9px)}.segment-summary:focus-visible{outline-color:currentColor;outline-offset:-8px}.segment-panel{overflow:hidden}.segment-panel-inner{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding-bottom:90px;align-items:start}.segment-photo{grid-column:1;grid-row:1;position:sticky;top:110px}.segment-photo img{width:100%;height:auto;object-fit:contain}.segment-subsections{grid-column:2;grid-row:1}.service-segment:nth-child(even) .segment-photo{grid-column:2}.service-segment:nth-child(even) .segment-subsections{grid-column:1}.segment-subsections section{padding:0 0 28px;margin-bottom:30px;border-bottom:1px solid currentColor;border-color:#0002}.service-dark .segment-subsections section{border-color:#fff3}.segment-subsections h3{font:400 33px/1.2 var(--display);text-transform:uppercase;letter-spacing:-.015em;margin-bottom:15px}.segment-subsections p{font-size:15px;line-height:1.85}.service-segment[open] .segment-panel-inner{animation:segmentIn .7s var(--ease)}@keyframes segmentIn{from{opacity:0;transform:translateY(-25px)}to{opacity:1;transform:none}}
.case-films .film-grid video{max-height:85svh}
@media(max-width:1100px){.header{padding:0 18px}.header nav{gap:20px;margin-right:25px}.header-end{gap:20px}.header .contact-link{padding:13px 18px}.manifesto{gap:5vw}.manifesto h3{font-size:22px}.segment-summary p{font-size:18px}.segment-summary{gap:6vw;padding-right:45px}.segment-panel-inner{gap:6vw}.shuffle-deck{height:330px}.services-head{column-gap:4vw}}
@media(max-width:767px){body{padding-top:88px}.header{top:10px;height:64px;left:12px;right:12px;padding:0 13px;border-radius:12px}.header .logo-word{font-size:14px}.header-end{gap:15px}.header .contact-link{font-size:10px;padding:13px 16px}.header nav{display:none}.menu-toggle{width:30px}.menu-toggle span{width:24px}.menu-top{padding:10px 5px 0;height:74px}.identity-pair{font-size:17.5vw}.identity-caption{font-size:8px;letter-spacing:.08em;margin-top:24px}.cinema-hero{padding-top:48px}.rotating-headline{font-size:9vw;gap:.16em;margin-bottom:32px;line-height:1.3}.headline-slot>span{line-height:1.3}.headline-object:after{bottom:.12em;height:.045em}.manifesto{display:block;padding-top:90px;padding-bottom:90px}.manifesto .manifesto-title{font-size:12.7vw;line-height:1.1;letter-spacing:-.02em}.manifesto-line:nth-child(2){padding-left:12%}.manifesto-line:nth-child(4){padding-left:20%}.manifesto-copy{margin:45px 0 0 10%;max-width:440px}.manifesto h3{font-size:22px;line-height:1.45;margin-bottom:20px}.manifesto-copy p{font-size:14px;line-height:1.8}.manifesto .pill-link{font-size:11px;padding:17px 26px;margin-top:28px}.work-section{padding-top:85px}.work-heading{margin-bottom:50px}.work-title{font-size:12.4vw!important;line-height:1.2!important}.work-title:hover .proud-word,.proud-word:focus-visible{transform:scale(1.13,1.23)}.play-section{display:block;padding-top:35px;padding-bottom:95px;min-height:0;overflow:hidden}.play-section h2{font-size:14vw;line-height:1.12}.shuffle-deck{width:78%;height:340px;margin:55px auto 0}.deck-touch-label{display:grid}.shuffle-card{border-width:5px}.footer{padding:50px var(--gutter) 0}.footer-details{padding:35px 0}.footer-cta{font-size:11.4vw}.footer-base{padding-bottom:22px}.services-head{display:block;padding-top:45px;padding-bottom:55px}.services-head .display-title{font-size:12.5vw}.services-bts{margin:32px 0 0 18%;min-height:0;height:240px}.services-bts img{height:100%;object-fit:cover}.segment-summary{grid-template-columns:1fr;gap:24px;padding:45px 0;min-height:0}.segment-summary h2,.service-segment:nth-child(even) .segment-summary h2{grid-column:1;grid-row:1;font-size:15.5vw;padding-right:35px}.segment-summary p,.service-segment:nth-child(even) .segment-summary p{grid-column:1;grid-row:2;font-size:16px;line-height:1.75;padding-right:8px}.segment-toggle{top:64px;font-size:29px}.segment-panel-inner{display:flex;flex-direction:column;gap:35px;padding-bottom:50px}.segment-photo{position:static;width:100%}.segment-subsections{width:100%}.segment-subsections h3{font-size:29px}.segment-subsections p{font-size:14px;line-height:1.85}.segment-subsections section{padding-bottom:23px;margin-bottom:25px}.case-float-nav{bottom:15px;padding:5px;gap:3px}.case-float-nav a{font-size:10px;padding:14px 24px}.case-story{padding-top:50px;padding-bottom:55px}.case-films .film-grid{grid-template-columns:1fr;gap:28px}.case-films .film-grid video{min-height:0}body[data-page="project"] .gallery{gap:22px 14px}body[data-page="project"] .case-hero{margin:0}body[data-page="project"] .footer{padding-bottom:85px}}
@media(max-width:380px){.header .contact-link{padding:12px 13px}.header-end{gap:10px}.shuffle-deck{height:280px}.segment-summary h2,.service-segment:nth-child(even) .segment-summary h2{font-size:15vw}}
@media(pointer:fine){.shuffle-deck{cursor:none}}
@media(prefers-reduced-motion:reduce){.identity-intro{display:none!important}[data-tone="dark"]{--tone-bg:#000;--tone-ink:#fff}.js-motion .work-title.reveal{clip-path:none;transform:none;opacity:1}.headline-letter{transform:none!important;filter:none!important;opacity:1!important}.shuffle-deck{cursor:pointer}.proud-word{transform:none!important}}
.reduced-motion .identity-intro{display:none!important}.reduced-motion [data-tone="dark"]{--tone-bg:#000;--tone-ink:#fff}.reduced-motion .work-title.reveal{clip-path:none;opacity:1;transform:none}.reduced-motion .headline-letter{transform:none!important;filter:none!important;opacity:1!important}.reduced-motion .shuffle-deck{cursor:pointer}.reduced-motion .proud-word{transform:none!important}
