@font-face{font-family:Brutal;src:url('assets/fonts/BrutalType.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Brutal;src:url('assets/fonts/BrutalType-Medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Brutal;src:url('assets/fonts/BrutalType-Bold.woff2') format('woff2');font-weight:700;font-display:swap}:root{--ink:#000;--muted:#707070;--line:#d5d5d5;--gutter:3.2vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fff;color:var(--ink);font-family:Brutal,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}button{background:none;border:0}.skip{position:fixed;top:-100px;left:15px;z-index:20;background:#000;color:white;padding:15px}.skip:focus{top:15px}.site-header{height:96px;padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;background:white;position:relative;z-index:10}.brand img{width:240px;height:auto;filter:invert(1)}.site-header nav{display:flex;align-items:center;gap:30px;font-size:21px}.site-header nav a:hover,.menu-trigger:hover{color:#777}.menu-trigger{padding:5px 0}.menu-trigger span{margin-left:10px}.opening{padding:58px var(--gutter) 35px}.opening h1{font-size:clamp(48px,5.1vw,84px);line-height:1.04;letter-spacing:-.045em;max-width:1100px}.opening-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-top:35px;font-size:13px}.opening-bottom p{color:#666}.opening-bottom a{border-bottom:1px solid;padding-bottom:4px}.hero-media{position:relative;display:block;background:#00181b;overflow:hidden}.hero-media>img{width:100%;height:78vh;min-height:500px;object-fit:cover;object-position:50% 50%;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.hero-media:hover>img{transform:scale(1.025)}.media-label{position:absolute;bottom:40px;left:var(--gutter);display:flex;justify-content:space-between;gap:55px;background:#fff;padding:18px 22px;min-width:250px;font-size:20px}.media-credit{position:absolute;right:var(--gutter);bottom:48px;color:white;font-size:12px}.manifesto{padding:110px var(--gutter) 135px}.manifesto h2{font-size:clamp(70px,13vw,220px);line-height:.86;letter-spacing:-.07em;white-space:nowrap}.manifesto h2>span:not(.square){display:inline-block}.square{display:inline-block;width:.65em;height:.65em;background:#000;margin-left:.1em}.manifesto-copy{width:58%;margin:65px 0 0 auto;font-size:24px;line-height:1.4;letter-spacing:-.025em}.manifesto-copy p+p{margin-top:22px}.text-link{display:inline-block;font-size:16px;border-bottom:1px solid;padding-bottom:3px}.manifesto-copy .text-link{margin-top:30px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-bottom:40px}.section-heading h2{font-size:24px;letter-spacing:-.03em}.section-heading>span{font-size:13px;color:var(--muted)}.work{padding-top:10px}.work>.section-heading{padding:0 var(--gutter)}.feature-project{position:relative;display:block;background:#101c1d;overflow:hidden}.feature-project>img{height:82vh;min-height:520px;width:100%;object-fit:cover;object-position:center 45%;transition:transform .8s}.feature-project:hover>img{transform:scale(1.03)}.project-label{position:absolute;bottom:40px;left:var(--gutter);padding:20px;background:white;min-width:380px;display:flex;justify-content:space-between;gap:50px;font-size:26px;line-height:1.15}.project-label small{font-size:15px}.work-index{padding:45px var(--gutter) 0}.work-row{display:grid;grid-template-columns:65px 1fr 1fr 40px;align-items:center;gap:20px;padding:32px 0;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.work-row:hover{padding-left:15px;background:#f5f5f5}.row-number{font-size:12px;color:var(--muted)}.work-row h3{font-size:clamp(30px,4vw,60px);letter-spacing:-.045em}.row-type{font-size:16px}.row-type small{display:block;margin-top:8px;font-size:11px;color:var(--muted)}.row-arrow{font-size:30px}.practice{padding:130px var(--gutter) 100px}.practice-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end;margin:70px 0}.practice-heading h3{font-size:clamp(48px,7vw,105px);line-height:1;letter-spacing:-.055em}.practice-heading>p{font-size:23px;line-height:1.4;max-width:440px}.practice-list>a{display:flex;justify-content:space-between;padding:24px 0;border-top:1px solid var(--line);font-size:clamp(27px,3.3vw,52px);letter-spacing:-.04em;transition:color .2s}.practice-list>a:hover{color:#888}.lab{display:grid;grid-template-columns:1fr 1.15fr;background:#f0f0ed}.lab-copy{padding:75px 6vw 75px var(--gutter)}.lab-copy h2{font-size:clamp(48px,6vw,90px);line-height:1;letter-spacing:-.05em;margin-bottom:35px}.lab-copy>p{font-size:20px;line-height:1.5;max-width:420px}.lab-copy .small{font-size:12px;color:var(--muted);margin:30px 0}.lab-image{background:#000;display:flex;align-items:center;overflow:hidden}.lab-image img{width:100%;height:auto}.references{padding:110px var(--gutter) 90px}.reference-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;margin-bottom:45px}.reference-intro h2{font-size:clamp(45px,6vw,90px);line-height:1.02;letter-spacing:-.055em}.reference-intro p{font-size:22px;line-height:1.4}.logo-slider-header{display:flex;justify-content:space-between;align-items:center;gap:25px}.logo-slider-header p{font-size:12px;color:var(--muted)}.slider-controls{display:flex;gap:10px}.slider-controls button{width:42px;height:42px;border:1px solid #aaa;border-radius:50%;font-size:20px}.slider-controls button:disabled{opacity:.3;cursor:default}.logo-slider{display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;padding:30px 0;scrollbar-width:thin;scrollbar-color:#999 #eee}.logo-slide{flex:0 0 28%;min-width:220px;height:150px;border-block:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;scroll-snap-align:start}.logo-slide>span{font-size:28px;letter-spacing:-1px}.logo-slide>small{font-size:9px;letter-spacing:1px;color:var(--muted)}.logo-slide img{width:auto;max-width:75%;max-height:65px;object-fit:contain}.reference-quotes{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:20px}.reference-pending{grid-column:1/-1;font-size:12px;color:var(--muted)}.client-quote{padding-top:25px;border-top:1px solid var(--line)}blockquote{margin:0 0 25px;font-size:22px;line-height:1.5}.client-quote>a,.reference-document{font-size:13px;border-bottom:1px solid;padding-bottom:4px}.contact{padding:80px var(--gutter);background:#000;color:#fff}.contact>p{font-size:22px}.contact-title{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:clamp(80px,14vw,220px);letter-spacing:-.065em;line-height:1.25;border-bottom:1px solid #555;padding-bottom:30px}.contact-title>span{font-size:.65em;transition:transform .3s}.contact-title:hover>span{transform:translate(10px,-10px)}.contact-details{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:40px;padding-top:40px;font-size:16px}.contact-details h3{font-size:12px;color:#aaa;margin-bottom:15px}.contact-details>a{align-self:end;justify-self:end;border-bottom:1px solid;padding-bottom:5px}footer{padding:32px var(--gutter);background:#000;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #333;font-size:12px}footer img{width:240px}dialog{border:0;background:#000;color:#fff;width:100%;max-width:none;max-height:none;height:100dvh;margin:0;padding:25px var(--gutter);position:fixed;inset:0;z-index:30}dialog::backdrop{background:#000}.menu-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #555;padding-bottom:25px}.menu-top h2,.menu-close{font-size:20px}dialog nav{padding:20px 0}dialog nav a{display:flex;align-items:baseline;justify-content:space-between;font-size:clamp(38px,6.8vh,85px);line-height:1.2;letter-spacing:-.04em;border-bottom:1px solid #333;padding:8px 0}dialog nav a:hover{color:#999}dialog nav a span{font-size:12px;color:#888}.menu-email{display:inline-block;margin-top:25px;font-size:18px;border-bottom:1px solid;padding-bottom:5px}.page-heading{padding:70px var(--gutter) 60px}.page-heading h1{font-size:clamp(60px,9vw,140px);line-height:1.02;letter-spacing:-.055em;margin:30px 0}.lede{font-size:24px;line-height:1.4}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:80px var(--gutter) 110px}.about-body h2{font-size:clamp(40px,5vw,75px);line-height:1.05;letter-spacing:-.05em}.about-body>div{font-size:22px;line-height:1.5}.about-body p+p{margin-top:25px}.small{font-size:13px!important;line-height:1.7!important;color:var(--muted)}.experience{padding:30px var(--gutter) 80px}.experience>h2{font-size:36px;margin-bottom:35px;letter-spacing:-.04em}.experience-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:baseline;padding:25px 0;border-top:1px solid var(--line)}.experience-row h3{font-size:28px}.experience-row p{font-size:17px}.experience-row>span{font-size:12px;color:var(--muted)}.experience>.small{margin-top:25px}.case-hero{margin-bottom:50px}.case-hero img{width:100%}.case-hero figcaption,.case-grid figcaption{padding:15px var(--gutter);font-size:12px;color:var(--muted)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 var(--gutter);margin-bottom:50px}.case-posters{background:#101819;padding:60px 20% 0}.case-posters figcaption{color:#aaa;padding-left:0}.missing-art{padding:90px var(--gutter);background:#eeefed}.missing-art h2{font-size:clamp(45px,7vw,100px);line-height:1;letter-spacing:-.05em;margin-bottom:35px}.missing-art p{font-size:18px;color:#666}.next-project{display:flex;justify-content:space-between;align-items:baseline;padding:65px var(--gutter);border-top:1px solid var(--line);gap:30px}.next-project strong{font-size:clamp(35px,5vw,75px);font-weight:400;letter-spacing:-.04em}
@media(max-width:700px){:root{--gutter:6vw}.site-header{height:80px;padding:20px var(--gutter)}.brand img{width:170px}.site-header nav{gap:15px;font-size:14px}.site-header nav>a{display:none}.menu-trigger{font-size:17px}.opening{padding-top:45px}.opening h1{font-size:clamp(38px,8.8vw,60px);line-height:1.06}.opening-bottom{font-size:11px;gap:20px;align-items:center;margin-top:28px}.opening-bottom p{max-width:160px}.hero-media>img{height:55vh;min-height:370px;object-position:64% center}.media-label{bottom:25px;min-width:180px;font-size:16px;padding:14px 16px;gap:25px}.media-credit{display:none}.manifesto{padding:75px var(--gutter)}.manifesto h2{font-size:16.2vw;line-height:.95}.manifesto-copy{width:100%;margin-top:40px;font-size:20px}.section-heading{margin-bottom:25px;align-items:center}.section-heading h2{font-size:22px}.section-heading>span{display:none}.feature-project>img{height:65vh;min-height:430px;object-position:45% center}.project-label{bottom:25px;min-width:260px;max-width:88%;padding:15px;font-size:23px;gap:25px}.project-label small{font-size:12px}.work-index{padding-top:20px}.work-row{grid-template-columns:25px 1fr 25px;gap:10px;padding:25px 0}.work-row h3{font-size:34px}.row-type{grid-column:2;grid-row:2;font-size:13px}.row-type small{display:inline;margin-left:12px;font-size:9px}.row-arrow{grid-column:3;grid-row:1;font-size:25px}.practice{padding:80px var(--gutter) 65px}.practice-heading{grid-template-columns:1fr;gap:30px;margin:40px 0}.practice-heading h3{font-size:53px}.practice-heading>p{font-size:20px}.practice-list>a{font-size:27px;padding:20px 0}.lab{grid-template-columns:1fr}.lab-copy{padding:55px var(--gutter)}.lab-copy h2{font-size:55px}.lab-copy>p{font-size:18px}.lab-image{min-height:300px}.references{padding:70px var(--gutter)}.reference-intro{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.reference-intro h2{font-size:51px}.reference-intro p{font-size:19px}.logo-slider-header{align-items:start}.logo-slider-header p{font-size:11px;line-height:1.6}.logo-slide{flex-basis:75%;min-width:210px;height:130px}.reference-quotes{grid-template-columns:1fr}.contact{padding:55px var(--gutter)}.contact>p{font-size:18px}.contact-title{font-size:21vw;padding-bottom:25px}.contact-details{grid-template-columns:1fr;gap:30px;font-size:15px}.contact-details>a{justify-self:start}.contact-details h3{margin-bottom:8px}footer{flex-wrap:wrap;gap:25px}footer img{width:180px}footer p{order:3;width:100%;color:#aaa}footer>a:last-child{margin-left:auto}.page-heading{padding-top:40px}.page-heading h1{font-size:62px}.lede{font-size:20px}.about-body{grid-template-columns:1fr;padding-top:50px;padding-bottom:65px;gap:35px}.about-body h2{font-size:45px}.about-body>div{font-size:19px}.experience-row{grid-template-columns:1fr;gap:10px}.experience>h2{font-size:30px}.case-grid{grid-template-columns:1fr}.case-posters{padding:30px 8% 0}.next-project{padding-block:40px}.next-project>span{font-size:12px}.next-project strong{font-size:34px}.missing-art{padding-block:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.hero-film{background:#000}.hero-film video{display:block;width:100%;height:auto;max-height:85vh;min-height:0;object-fit:contain;background:#000}.film-label{position:absolute;top:30px;left:var(--gutter);background:#fff;color:#111;display:flex;gap:45px;align-items:center;padding:15px 18px;font-size:16px}.case-hero video{display:block;width:100%;height:auto;background:#000}html.lenis.lenis-smooth{scroll-behavior:auto!important}.motion-target{transition:opacity .9s ease,translate .9s cubic-bezier(.16,1,.3,1)}.motion-target.awaiting-view{opacity:0;translate:0 26px}.feature-project>img{transform:translateY(var(--media-y,0px)) scale(1.08);will-change:transform}.feature-project:hover>img{transform:translateY(var(--media-y,0px)) scale(1.1)}@media(max-width:700px){.film-label{top:15px;font-size:12px;padding:10px 12px;gap:20px}.hero-film video{min-height:0;max-height:none}}@media(prefers-reduced-motion:reduce){.motion-target.awaiting-view{opacity:1;translate:none}.feature-project>img,.feature-project:hover>img{transform:none;will-change:auto}}
.hero-film video{max-height:none;aspect-ratio:16/9}

.practice-list>a{justify-content:flex-start}.work-row{grid-template-columns:65px 1fr 1fr}.slider-controls button{width:auto;min-width:60px;border-radius:0;font-size:11px;padding:8px}.film-pause{position:absolute;right:var(--gutter);bottom:25px;color:white;background:#0009;border:1px solid #ffffff60;padding:8px 12px;font-size:12px}.film-pause:hover{background:#000d}@media(max-width:700px){.work-row{grid-template-columns:25px 1fr}.film-pause{bottom:15px;font-size:11px;padding:7px 10px}}
.film-pause{opacity:0;pointer-events:none}.film-pause:focus-visible{opacity:1;pointer-events:auto}

/* The film covers the pinned introduction, then leaves with the normal page flow. */
.hero-sequence{position:relative;isolation:isolate}
.hero-sequence>.opening{position:sticky;top:0;z-index:0;background:#fff}
.hero-sequence>.hero-film{position:relative;z-index:1}


/* Keep the film edge clean and give the independent keyboard room to breathe. */
.hero-film{background:#fff;clip-path:inset(0 0 2px 0);margin-bottom:-2px}
.manifesto h2{font-size:clamp(58px,8vw,125px);line-height:.96}
.keyboard-showcase{padding:20px var(--gutter) 45px;background:transparent}
.keyboard-showcase picture{display:block;max-width:1250px;margin:auto}
.keyboard-showcase img{width:100%;height:auto}
@media(max-width:700px){.manifesto h2{font-size:12vw}.keyboard-showcase{padding:0 var(--gutter) 20px}}

.manifesto-top{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:3vw}
.manifesto-top h2{font-size:clamp(52px,6.5vw,105px)}
.manifesto-top .keyboard-showcase{padding:0;min-width:0}
.manifesto-top .keyboard-showcase picture{width:100%;max-width:none}
@media(max-width:700px){.manifesto-top{grid-template-columns:1fr;gap:24px}.manifesto-top h2{font-size:12vw}}

.site-header .brand{display:flex;align-items:center;flex-shrink:0}.site-header .brand img{width:44px;height:44px;object-fit:contain;filter:invert(1)}
@media(max-width:700px){.site-header .brand img{width:36px;height:36px}}

.gfa-case-logo{width:180px;height:auto;margin-top:45px}

/* Shared rectangular hover and keyboard-focus treatment. */
.site-header nav>a,.site-header .menu-trigger,.opening-bottom>a{position:relative;isolation:isolate;transition:color .18s ease}
.site-header nav>a::before,.site-header .menu-trigger::before,.opening-bottom>a::before{content:"";position:absolute;inset:-8px -10px;background:#000;z-index:-1;opacity:0;transition:opacity .18s ease;pointer-events:none}
.site-header nav>a:is(:hover,:focus-visible),.site-header .menu-trigger:is(:hover,:focus-visible),.opening-bottom>a:is(:hover,:focus-visible){color:#fff}
.site-header nav>a:is(:hover,:focus-visible)::before,.site-header .menu-trigger:is(:hover,:focus-visible)::before,.opening-bottom>a:is(:hover,:focus-visible)::before{opacity:1}
.film-label{transition:background-color .18s ease,color .18s ease}
.film-label:is(:hover,:focus-visible){background:#000;color:#fff}
.work-row{transition:background-color .18s ease,color .18s ease}
.work-row:is(:hover,:focus-visible){background:#000;color:#fff;padding-left:0}
.work-row:is(:hover,:focus-visible) .row-number,.work-row:is(:hover,:focus-visible) .row-type small{color:#fff}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.menu-logo img{width:44px;height:44px;object-fit:contain}
#site-menu{clip-path:inset(0 0 100% 0);transition:clip-path .44s cubic-bezier(.65,0,.35,1)}
#site-menu.menu-visible{clip-path:inset(0);transition-duration:.7s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
#site-menu::backdrop{background:transparent}
#site-menu nav a,#site-menu .menu-email{opacity:0;transform:translateY(28px);transition:opacity .2s ease,transform .3s ease}
#site-menu.menu-visible nav a,#site-menu.menu-visible .menu-email{opacity:1;transform:translateY(0);transition-duration:.55s;transition-timing-function:cubic-bezier(.16,1,.3,1);transition-delay:.13s}
#site-menu.menu-visible nav a:nth-child(2){transition-delay:.19s}
#site-menu.menu-visible nav a:nth-child(3){transition-delay:.25s}
#site-menu.menu-visible nav a:nth-child(4){transition-delay:.31s}
#site-menu.menu-visible .menu-email{transition-delay:.36s}
@media(prefers-reduced-motion:reduce){#site-menu{clip-path:none}#site-menu nav a,#site-menu .menu-email{transform:none;opacity:1}}

/* Explicitly requested menu-panel motion, including when OS motion reduction is enabled. */
#site-menu{clip-path:inset(0 0 100% 0);transition:clip-path .6s cubic-bezier(.65,0,.35,1)!important;will-change:clip-path}
#site-menu.menu-visible{clip-path:inset(0);transition:clip-path .9s cubic-bezier(.16,1,.3,1)!important}
#site-menu nav a,#site-menu .menu-email{opacity:0;transform:translateY(24px);transition:opacity .25s ease,transform .3s ease!important}
#site-menu.menu-visible nav a,#site-menu.menu-visible .menu-email{opacity:1;transform:translateY(0);transition:opacity .55s ease .2s,transform .65s cubic-bezier(.16,1,.3,1) .2s!important}
#site-menu.menu-visible nav a:nth-child(2){transition-delay:.27s!important}
#site-menu.menu-visible nav a:nth-child(3){transition-delay:.34s!important}
#site-menu.menu-visible nav a:nth-child(4){transition-delay:.41s!important}
#site-menu.menu-visible .menu-email{transition-delay:.48s!important}

/* Image-led project stack, expertise pair and studio gallery. */
.work>.feature-project{margin-bottom:14px}
.work>.gfa-feature{background:#eef3f7}
.work>.gfa-feature>img{height:auto;min-height:0;aspect-ratio:16/9;object-fit:contain;transform:none}
.gfa-feature .project-label{bottom:24px;font-size:22px}
.feature-project:is(:hover,:focus-visible) .project-label{background:#000;color:white}
.expertise{padding:110px var(--gutter) 30px}
.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.expertise-card{position:relative;aspect-ratio:1/1;overflow:hidden;background:#111}
.expertise-card>img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.expertise-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.75));pointer-events:none}
.expertise-card h3{position:absolute;z-index:1;bottom:26px;left:26px;color:white;font-size:clamp(28px,4vw,64px);line-height:.98;letter-spacing:-.04em}
.expertise-card:is(:hover,:focus-visible)>img{transform:scale(1.035)}
.editorial-card{background:#edf2f7}
.editorial-card>img{object-fit:contain}
.project-invitation{padding:100px var(--gutter) 90px;display:grid;grid-template-columns:1fr 1fr}
.project-invitation h2{grid-column:2;font-size:clamp(36px,4.2vw,68px);line-height:1.05;letter-spacing:-.04em}
.project-invitation a{color:#858585;transition:color .2s}
.project-invitation a:hover{color:#000}
.studio-gallery{display:grid;grid-template-columns:repeat(3,1fr)}
.studio-gallery>a{display:block;aspect-ratio:1;overflow:hidden;background:#f1f1f1}
.studio-gallery>a>img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.studio-gallery>a:hover>img{transform:scale(1.04)}
.gallery-intro{padding:30px var(--gutter);display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.gallery-intro h2{font-size:clamp(28px,3vw,48px);line-height:1.02;letter-spacing:-.04em}
.gallery-intro a{align-self:flex-start}
@media(max-width:700px){.expertise{padding-top:65px}.expertise-grid{grid-template-columns:1fr}.expertise-card h3{font-size:42px;left:20px;bottom:20px}.project-invitation{padding:70px var(--gutter);grid-template-columns:1fr}.project-invitation h2{grid-column:1}.studio-gallery{grid-template-columns:repeat(2,1fr)}.gallery-intro{padding:20px}.gallery-intro h2{font-size:29px}.gallery-intro .text-link{font-size:13px}.gfa-feature .project-label{position:relative;bottom:auto;left:auto;max-width:none;min-width:0;font-size:20px}.gfa-feature .project-label small{font-size:12px}}

.work-row{grid-template-columns:1fr 1fr}.work-row .row-type{grid-column:2;grid-row:1}@media(max-width:700px){.work-row{grid-template-columns:1fr}.work-row .row-type{grid-column:1;grid-row:2}}

/* Compact, edge-to-edge project banners. */
.work>.feature-project{width:100%;height:27.333vh;min-height:0}
.work>.feature-project>img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.work>.gfa-feature{height:18.75vw}
.work>.gfa-feature>img{object-position:center;transform:none}
.work>.feature-project .project-label{position:absolute;left:var(--gutter);bottom:16px;min-width:0;max-width:88%;padding:12px 16px;font-size:20px}
.work>.feature-project .project-label small{font-size:12px}
@media(max-width:700px){.work>.feature-project{height:21.667vh}.work>.gfa-feature{height:18.75vw;min-height:130px}.work>.feature-project .project-label{bottom:10px;padding:8px 12px;font-size:16px}.work>.feature-project .project-label small{font-size:10px}}

.reference-quotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:50px}.reference-summary{border-top:1px solid var(--line);padding-top:25px}.reference-summary h3{font-size:25px;margin-bottom:22px;letter-spacing:-.03em}.reference-summary>p{font-size:18px;line-height:1.55}.reference-attribution{display:flex;flex-direction:column;gap:7px;margin-top:28px;font-size:13px;line-height:1.5}.reference-attribution strong{font-weight:500}.reference-attribution span,.reference-attribution small{color:#707070}.reference-attribution small{font-size:11px;margin-top:7px}@media(max-width:800px){.reference-quotes{grid-template-columns:1fr}.reference-summary>p{font-size:18px}}

.work>.cineplexx-feature>img{object-position:50% 43%}

/* One shared frame size for every homepage project banner. */
.work>.feature-project,.work>.gfa-feature{height:18.75vw;min-height:130px}

.reference-client-logo{width:auto;max-width:180px;height:75px;object-fit:contain;object-position:left center;margin-bottom:24px}.logo-slide img{max-height:85px}

.gfa-heading{padding-bottom:20px}.gfa-hero{overflow:hidden}.gfa-hero>img{margin-top:-10vw}@media(max-width:700px){.gfa-heading{padding-bottom:16px}.gfa-hero>img{margin-top:-8vw}}

.anniversary-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;max-width:900px;margin:45px 0 0;padding:24px 0 0;border-top:1px solid var(--line)}.anniversary-meta dt{font-size:12px;color:var(--muted);margin-bottom:10px}.anniversary-meta dd{font-size:17px;margin:0}.scardian-heading{padding-bottom:35px}.anniversary-story{padding-top:55px;padding-bottom:55px}.scardian-film{margin-bottom:20px}@media(max-width:700px){.anniversary-meta{grid-template-columns:1fr;gap:20px;margin-top:30px}.anniversary-story{padding-block:35px}}

/* Avoid competing native and wheel-driven easing. */
html.lenis,html.lenis body{scroll-behavior:auto!important}

.anniversary-logo-section{padding:45px var(--gutter) 65px}.anniversary-logo-section .section-heading h2{font-size:clamp(26px,3vw,44px);letter-spacing:-.04em}.anniversary-logo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.anniversary-logo-frame{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;background:#f4f4f2;overflow:hidden}.anniversary-logo-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#000}.static-logo-space{border:1px solid #ddd;text-align:center;padding:30px}.static-logo-space span{font-size:22px;letter-spacing:-.025em}.static-logo-space small{display:block;color:#777;font-size:12px;margin-top:12px;letter-spacing:0}.anniversary-logo-pair figcaption{font-size:12px;color:#707070;padding-top:14px}@media(max-width:700px){.anniversary-logo-section{padding-block:30px 45px}.anniversary-logo-pair{grid-template-columns:1fr;gap:30px}}

/* Match the supplied portrait logo film: 2000 × 2500, with no letterboxing. */
.anniversary-logo-pair{align-items:start;grid-template-columns:1fr 1fr;gap:24px}
.anniversary-logo-frame{position:relative;aspect-ratio:4/5}
.anniversary-logo-frame video{width:100%;height:100%;object-fit:cover;background:#f4f4f2}
.scardian-film{position:relative}
.clean-video-toggle{display:block;background:#f3f3f3;color:#222;border:1px solid #ddd;padding:9px 14px;margin:12px var(--gutter) 0;font-size:12px;transition:background .2s,color .2s}
.clean-video-toggle:hover{background:#000;color:#fff}
.anniversary-logo-frame .clean-video-toggle{position:absolute;bottom:14px;left:14px;margin:0;background:rgba(255,255,255,.88);border-color:rgba(0,0,0,.12);color:#222}
.anniversary-logo-frame .clean-video-toggle:hover{background:#fff}
@media(max-width:700px){.anniversary-logo-pair{grid-template-columns:1fr}}

.clean-video-toggle{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.clean-video-toggle svg{display:block}

.anniversary-logo-animation .anniversary-logo-frame video{transform:scale(1.08);transform-origin:center}

.anniversary-logo-animation .anniversary-logo-frame video{transform:scale(1.45);transform-origin:50% 70%}

.static-logo-art{background:#f4f4f2}.static-logo-art img{width:100%;height:100%;object-fit:contain}.work>.scardian-feature>img{transform:none;object-position:center}

.hero-sequence + .work{padding-top:80px}@media(max-width:700px){.hero-sequence + .work{padding-top:48px}}

.static-logo-art{background:#fff}

/* Cineplexx campaign collection: preserve complete layouts and readable typography. */
.cine-overview{padding-top:35px;padding-bottom:75px}
.cine-campaign-section{padding:35px var(--gutter) 65px}
.cine-section-intro{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:end;margin-bottom:35px}
.cine-section-intro h2{font-size:clamp(36px,4.6vw,72px);line-height:1.02;letter-spacing:-.045em}
.cine-section-intro p{font-size:19px;line-height:1.5;max-width:540px}
.cine-art{margin:0;min-width:0}.cine-art img{width:100%;height:auto;object-fit:contain}
.cine-art figcaption,.cine-motion figcaption{font-size:12px;color:#707070;line-height:1.5;padding:13px 0 20px}
.cine-joker-formats{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:26px;margin-top:20px;align-items:start}
.cine-landscape-stack{display:flex;flex-direction:column;gap:20px;min-width:0}
.cine-event-pair{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:26px;margin-top:20px;align-items:center}
.cine-service-pair{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:26px;align-items:start;margin-top:20px}
.cine-motion-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.cine-motion:first-child{grid-column:1/-1}
.cine-motion video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#000}
@media(max-width:700px){.cine-overview{padding-bottom:35px}.cine-campaign-section{padding-top:25px;padding-bottom:40px}.cine-section-intro{grid-template-columns:1fr;gap:20px;margin-bottom:25px}.cine-section-intro p{font-size:17px}.cine-joker-formats,.cine-event-pair,.cine-service-pair,.cine-motion-grid{grid-template-columns:1fr;gap:24px}.cine-motion:first-child{grid-column:auto}.cine-story{max-width:500px;margin-inline:auto;width:100%}.cine-landscape-stack{gap:20px}}

.cine-motion-grid{grid-template-columns:1fr}.cine-motion:first-child{grid-column:auto}.cine-luxx-wide{width:100%;margin-top:20px}

.cine-motion-section{padding-left:0;padding-right:0}.cine-motion-section>.cine-section-intro{padding-inline:var(--gutter)}.cine-motion-grid{gap:24px}.cine-motion video{width:100%;display:block}

.cine-fairy-tale video{aspect-ratio:1998/1080;height:auto;object-fit:cover;background:transparent}

.cine-social-section{padding:30px var(--gutter) 80px}.cine-social-grid{display:grid;grid-template-columns:repeat(4,minmax(0,360px));justify-content:space-between;gap:24px}.cine-social-card{min-width:0}.cine-social-card video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#000}.cine-social-card figcaption{padding-top:12px;font-size:12px;line-height:1.5;color:#707070}@media(max-width:1000px){.cine-social-grid{grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;gap:28px}}@media(max-width:500px){.cine-social-section{padding-bottom:50px}.cine-social-grid{gap:20px 14px}.cine-social-card figcaption{font-size:11px}}

.editorial-card>img{object-fit:cover;object-position:center;transform:scale(1.18)}.editorial-card:is(:hover,:focus-visible)>img{transform:scale(1.22)}.cine-stitch{margin-bottom:24px}

.agency-capabilities .experience-row{grid-template-columns:1fr 1.5fr}.agency-capabilities .experience-row p{line-height:1.5;max-width:650px}@media(max-width:700px){.agency-capabilities .experience-row{grid-template-columns:1fr}}
