/* Compact gallery composition and the Benga motion layer. */
.hero{min-height:77svh;padding-top:135px}.hero-title{font-size:clamp(85px,11vw,185px);margin-top:4vw;margin-bottom:4vw}.hero-star{font-size:9vw}.hero-project{width:min(540px,calc(100% - 80px));height:270px;max-height:none;margin:35px auto 0;border-radius:2px;padding:0;text-align:left}.hero-project-label{font-size:28px;left:22px;bottom:15px}.hero-project-label small{font-size:11px}.hero-project-arrow{font-size:30px;right:22px;bottom:27px}.section-pad{padding-top:75px;padding-bottom:75px}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.project-card:first-child,.project-card:last-child:nth-child(even){grid-column:auto}.project-media,.project-card:first-child .project-media,.project-card:last-child:nth-child(even) .project-media{aspect-ratio:1.45;max-height:240px;width:100%;padding:0;text-align:left;display:block}.project-index{width:27px;height:27px;font-size:10px;right:10px;top:10px}.project-pill{left:12px;bottom:12px;font-size:11px;padding:8px 11px;transform:none}.project-caption{display:block;padding-top:13px}.project-caption h3{font-size:21px}.project-caption p{font-size:12px;max-width:none;text-align:left;margin-top:4px}.client-section{padding-top:10px;padding-bottom:60px}.craft{grid-template-columns:.7fr 1fr;gap:8vw}.craft-image{aspect-ratio:1.2;max-width:410px;max-height:300px}.film-section .films-grid{grid-template-columns:1fr 1fr}.film-section .film-card{max-width:570px}.film-card>button{max-height:245px}.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 18px;padding-bottom:65px}.gallery figure:nth-child(n){grid-column:auto}.gallery img,.gallery figure:nth-child(n) img{aspect-ratio:1.45;max-height:210px}.detail-hero{max-width:500px;margin:35px auto}.detail-hero button{padding:0;display:block;width:100%}.detail-hero img{height:290px;min-height:0;object-fit:cover}.work-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.work-feature img{aspect-ratio:1.45;max-height:220px}.work-feature h2{font-size:21px}.work-feature>div{display:block}.work-feature p{font-size:12px;text-align:left;max-width:none;margin-top:5px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}.service-tile>button{width:100%;display:block;padding:0;overflow:hidden}.service-tile>button img{aspect-ratio:1.65;max-height:220px;object-fit:cover;transition:transform .8s var(--ease)}.service-tile:hover img{transform:scale(1.035)}.service-tile>a{display:flex;justify-content:space-between;margin-top:14px;gap:15px}.service-tile h2{font-size:23px;line-height:1.1}.people-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 24px}.person>button{width:100%;padding:0;display:block}.person img{aspect-ratio:1.25;max-height:235px}.person h2{font-size:22px}.story-card img,.no-image{aspect-ratio:1.8;max-height:240px}.story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-card h2{font-size:24px}.section-heading h2{font-size:clamp(30px,3.5vw,54px)}
.motion-cursor,.cursor-centre,.cursor-trail{position:fixed;left:0;top:0;pointer-events:none;opacity:0;z-index:1300}.motion-cursor{width:40px;height:40px;margin:-20px 0 0 -20px;border:1.5px solid #879577;border-radius:50%;display:grid;place-items:center;transition:width .35s,height .35s,margin .35s,background .35s,border-color .35s,opacity .3s;color:#171a19;font:10px ui-monospace,monospace;letter-spacing:.06em}.motion-cursor.visible,.cursor-centre.visible{opacity:1}.motion-cursor.over-link{width:64px;height:64px;margin:-32px 0 0 -32px;background:#d5fa4525;border-color:#8aa927}.motion-cursor.labelled{width:88px;height:88px;margin:-44px 0 0 -44px;background:var(--lime);border-color:var(--lime)}.motion-cursor.pressed{scale:.85}.cursor-centre{width:6px;height:6px;margin:-3px;background:#91ab31;border-radius:50%}.cursor-trail{border-radius:50%;background:var(--lime)}.cursor-trail.visible{opacity:.6}.particle-transition{position:fixed;inset:0;z-index:1500;pointer-events:auto}.particle-transition canvas{width:100%;height:100%;display:block}.particle-transition>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--paper);font:12px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.16em;text-align:center;opacity:0}.benga-intro{position:fixed;inset:0;background:#171a19;z-index:1600;color:var(--paper);overflow:hidden}.benga-intro>canvas{position:absolute;inset:0;width:100%;height:100%}.intro-top{position:absolute;top:32px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;font:11px ui-monospace,monospace;letter-spacing:.1em}.intro-top button{color:var(--paper);padding:10px;border-bottom:1px solid #ffffff55}.benga-intro .intro-bottom{position:absolute;bottom:45px;left:var(--pad);right:var(--pad);margin:0;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px;font:12px ui-monospace,monospace;letter-spacing:.03em}.intro-number{font-size:60px;font-weight:300;letter-spacing:-.05em}.intro-message{justify-self:end}.intro-track{height:1px;background:#ffffff30;grid-column:1/-1}.intro-track i{display:block;height:1px;background:var(--lime);transform-origin:left}.intro-fading{animation:intro-exit .65s var(--ease) forwards}@keyframes intro-exit{to{opacity:0;transform:scale(1.07)}}.intro-replay{font:11px ui-monospace,monospace;letter-spacing:.03em;color:inherit;border-bottom:1px solid;padding:0 0 5px;margin:0 0 0 25px}.scroll-top{position:fixed;right:26px;bottom:25px;width:48px;height:48px;padding:0;border-radius:50%;background:var(--paper);color:var(--ink);border:1px solid var(--line);z-index:40;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .4s,transform .4s}.scroll-top.shown{opacity:1;pointer-events:auto;transform:none}.scroll-top svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:1.5}.scroll-top .track{stroke:#d5d9ca}.scroll-top .progress{stroke:#7d932a;stroke-dasharray:138.23;stroke-dashoffset:calc(138.23 * (1 - var(--progress,0)))}.scroll-top>span{font-size:22px}.scroll-status{position:fixed;left:0;top:0;width:100%;height:2px;transform:scaleX(var(--scroll-progress,0));transform-origin:left;background:#b4ca54;z-index:50;pointer-events:none}.word-mask{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .06em .16em;margin:0 -.06em -.16em}.word-in{display:inline-block;transition:transform 1s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0)*.035s)}.motion-heading .word-in{transform:translateY(115%)}.motion-heading.is-revealed .word-in{transform:none}.highlight-word{color:#a4a69d;transition:color .22s}.highlight-word.lit{color:var(--ink)}.scroll-signal{position:relative;overflow:hidden}.scroll-signal:after{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#6e8429,transparent);transform:translateX(-100%)}.scroll-signal.in-view:after{animation:signal-scan 1.3s var(--ease) both}@keyframes signal-scan{to{transform:translateX(100%)}}html.lenis{scroll-behavior:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.hero-bottom{position:relative}.hero-bottom .intro-replay{position:absolute;left:0;bottom:-24px;font-size:10px;opacity:.65;margin:0}
@media(max-width:1023px){.feature-grid,.work-grid,.service-grid,.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.story-grid{grid-template-columns:1fr 1fr}.hero-project{width:min(480px,calc(100% - 56px));height:240px}.craft{gap:5vw}.hero{padding-top:120px}.hero-title{font-size:13vw;margin-top:9vw}.hero-bottom{margin-top:auto}}
@media(max-width:600px){.hero{min-height:75svh;padding-top:110px;padding-bottom:45px}.hero-title{font-size:16vw;margin-top:15vw;margin-bottom:15vw}.hero-star{font-size:11vw}.hero-project{width:calc(100% - 40px);max-width:350px;height:200px;margin-top:24px}.hero-project-label{font-size:24px;left:16px;bottom:12px}.hero-project-label small{font-size:10px}.hero-project-arrow{right:16px;bottom:22px}.section-pad{padding-top:48px;padding-bottom:48px}.feature-grid,.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 14px}.project-media,.project-card:first-child .project-media,.project-card:last-child:nth-child(even) .project-media{aspect-ratio:1.25;max-height:150px}.project-caption h3{font-size:18px;line-height:1.1}.project-caption p{font-size:11px;line-height:1.25}.project-index{width:22px;height:22px;font-size:9px;right:6px;top:6px}.project-pill{font-size:9px;left:6px;bottom:6px;padding:5px 7px}.gallery{grid-template-columns:1fr 1fr;gap:17px 12px;padding-bottom:45px}.gallery figure:nth-child(n){grid-column:auto}.gallery img,.gallery figure:nth-child(n) img{aspect-ratio:1.3;max-height:155px}.craft{grid-template-columns:1fr}.craft-image{max-width:300px;aspect-ratio:1.3;height:220px}.film-section .films-grid{grid-template-columns:1fr}.film-card>button{max-height:210px}.service-grid{gap:28px 14px}.service-tile>button img{aspect-ratio:1.25;max-height:160px}.service-tile h2{font-size:19px}.service-tile span{font-size:20px}.people-grid{gap:28px 14px}.person img{max-height:160px}.person h2{font-size:19px}.work-feature img{max-height:160px;aspect-ratio:1.25}.work-feature h2{font-size:19px}.work-feature p{font-size:11px}.detail-hero{margin:25px 20px;max-width:350px}.detail-hero img{height:220px}.story-grid{grid-template-columns:1fr}.story-card img,.no-image{max-height:200px}.intro-top{top:22px;font-size:9px}.benga-intro .intro-bottom{bottom:32px;display:block;font-size:10px}.intro-message{margin:20px 0}.intro-number{font-size:45px}.scroll-top{right:15px;bottom:15px;width:42px;height:42px}}
@media(hover:none),(pointer:coarse){.motion-cursor,.cursor-centre,.cursor-trail{display:none!important}}
@media(prefers-reduced-motion:reduce){.benga-intro,.particle-transition,.motion-cursor,.cursor-centre,.cursor-trail,.intro-replay{display:none!important}.motion-heading .word-in{transform:none}.highlight-word{color:var(--ink)}.scroll-signal:after{display:none}html{scroll-behavior:auto}}
/* Inset frames keep the photograph's own edges visible. */
main img:not(.card-brand){outline:1px solid rgba(245,244,239,.85);outline-offset:-9px}
.client-logos img{outline-color:#171a1925;outline-offset:-3px}
.library-grid img{outline-color:#171a193d}
.viewer img{outline:1px solid #f5f4ef66;outline-offset:-12px}
.people-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.business-card{background:#1b242b;color:var(--paper);padding:16px;border:1px solid #78877c;box-shadow:0 7px 20px #1822300c;position:relative;transition:transform .5s var(--ease),box-shadow .5s}
.business-card:before{content:'';position:absolute;inset:6px;border:1px solid #b3c3a433;pointer-events:none}
.business-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px #18223020}
.card-topline,.card-bottomline{display:flex;justify-content:space-between;gap:10px;font:9px ui-monospace,monospace;letter-spacing:.08em;color:#c2cbbb}
.card-topline{padding:2px 0 12px;border-bottom:1px solid #ffffff25}
.business-card-body{display:grid;grid-template-columns:43% minmax(0,1fr);gap:18px;padding:18px 0;min-height:242px}
.business-card .headshot{width:100%;height:215px;position:relative;padding:0;overflow:hidden;background:#111b23;border:1px solid #ffffff35}
.business-card .headshot img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:var(--face);filter:grayscale(1);transform:scale(1.45);transform-origin:var(--face);transition:filter .6s,transform .8s var(--ease);outline:none}
.business-card .headshot:after{content:'';position:absolute;inset:7px;border:1px solid #f5f4ef9c;pointer-events:none}
.business-card:hover .headshot img{filter:grayscale(0);transform:scale(1.5)}
.card-identity{display:flex;flex-direction:column;align-items:start;min-width:0;padding:4px 0}
.card-brand{width:84px;height:33px;object-fit:contain;object-position:left;filter:invert(1);outline:none;margin-bottom:23px}
.business-card h2{font-size:24px;line-height:1.02;margin:0;letter-spacing:-.035em;overflow-wrap:normal}
.business-card p{font-size:12px;line-height:1.4;margin-top:9px;color:#c6d0c0}
.card-rule{width:30px;height:2px;background:var(--lime);margin-top:18px}
.card-profile{display:flex;justify-content:space-between;gap:10px;width:100%;margin-top:auto;padding-top:18px;font-size:11px}
.card-profile span{color:var(--lime)}
.card-bottomline{padding-top:12px;border-top:1px solid #ffffff25;font-size:8px}
@media(max-width:1150px){.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.people-grid{grid-template-columns:1fr;gap:20px}.business-card{padding:17px}.business-card-body{min-height:230px;gap:20px}.business-card .headshot{height:220px}.business-card h2{font-size:26px}.card-brand{width:90px;margin-bottom:25px}.business-card p{font-size:13px}.card-topline{font-size:9px}.card-bottomline{font-size:8px}.card-profile{font-size:12px}}
@media(prefers-reduced-motion:reduce){.business-card:hover{transform:none}.business-card:hover .headshot img{transform:scale(1.45)}}
.business-card .card-brand{filter:invert(1);max-height:none}
/* Tighter head-and-shoulders framing for the wider environmental portraits. */
.business-card:nth-child(-n+6) .headshot img{transform:scale(2);transform-origin:50% 0%}
.business-card:nth-child(n+7) .headshot img{transform:scale(1.12);transform-origin:var(--face)}
.business-card:nth-child(-n+6):hover .headshot img{transform:scale(2.04)}
.business-card:nth-child(n+7):hover .headshot img{transform:scale(1.16)}
@media(prefers-reduced-motion:reduce){.business-card:nth-child(-n+6):hover .headshot img{transform:scale(2)}.business-card:nth-child(n+7):hover .headshot img{transform:scale(1.12)}}
.business-card:nth-child(2) .headshot img{transform-origin:50% 25%}
.business-card:nth-child(3) .headshot img{transform-origin:100% 15%}
.business-card:nth-child(4) .headshot img{transform-origin:50% 30%}
.business-card:nth-child(6) .headshot img{transform-origin:50% 15%}
/* A more practical hierarchy: useful information before oversized statements. */
.hero-stage{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;background:var(--ink);padding:125px var(--pad) 45px;color:var(--paper)}
.hero-stage .hero{padding:0;min-height:0;overflow:visible;background:none}
.hero-stage .hero-top{font-size:12px}.hero-stage .hero-top>span:last-child{display:none}
.hero-stage .hero-title{font-size:clamp(58px,6.5vw,98px);line-height:.95;margin:28px 0 23px;letter-spacing:-.06em}
.hero-stage .hero-star{font-size:54px;right:5%;top:4px}
.hero-description{font-size:17px;line-height:1.55;letter-spacing:-.015em;max-width:470px;color:#d0d4cb}
.hero-actions{display:flex;align-items:center;gap:25px;margin:27px 0 30px;font-size:14px}
.hero-action-primary{background:var(--lime);color:var(--ink);padding:14px 19px;border:1px solid var(--lime)}.hero-action-primary:hover{background:var(--paper);border-color:var(--paper)}
.hero-stage .hero-bottom{font-size:11px;display:flex;gap:24px;align-items:center;margin:0;color:#c1c7b9}.hero-stage .hero-bottom>p:nth-child(2),.hero-stage .hero-bottom>a{display:none}
.hero-stage .hero-bottom .intro-replay{position:static;margin-left:0;font-size:10px}
.hero-stage .hero-project{width:100%;max-width:520px;height:310px;margin:0;justify-self:end;box-shadow:12px 12px 0 #d5fa4512}
.hero-project-label{font-size:23px}.hero-project-label small{font-size:10px}
.proof-strip{display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;gap:25px;align-items:center;padding:25px var(--pad);border-bottom:1px solid var(--line);font-size:12px;color:#62685d}
.proof-strip strong{display:block;color:var(--ink);font-size:15px;font-weight:500;margin-bottom:5px}.proof-strip>a{color:var(--ink);justify-self:end;border-bottom:1px solid;padding-bottom:4px;font-size:13px}
.section-pad{padding-top:48px;padding-bottom:48px}
.statement{display:grid;grid-template-columns:.65fr 2fr;gap:25px 40px;align-items:start}
.statement>.eyebrow{margin:6px 0 0}.editorial{font-size:clamp(25px,2.3vw,36px);line-height:1.25;letter-spacing:-.035em;max-width:960px}.editorial .indent{display:none}
.statement-bottom{grid-column:2;margin-top:4px;font-size:13px}.statement-bottom>span{line-height:1.5}
.section-heading{margin-bottom:23px}.section-heading h2{font-size:clamp(26px,2.5vw,38px);line-height:1.15;letter-spacing:-.035em}
.capabilities .section-heading{margin-bottom:30px}.service-row{padding:21px 0}.service-row h3{font-size:clamp(22px,2.3vw,32px)}.service-no{padding-top:7px}.service-description{font-size:13px}
.craft-copy h2{font-size:36px;line-height:1.1;margin:20px 0}.craft-copy p{font-size:17px;line-height:1.6;max-width:540px;margin-bottom:22px}
.home-quote blockquote{font-size:clamp(30px,3.5vw,50px);line-height:1.15;margin:30px 0;letter-spacing:-.04em}
.page-intro{padding:132px var(--pad) 37px}.page-intro h1{font-size:clamp(38px,4vw,60px);line-height:1.08;margin-top:23px;max-width:1050px;letter-spacing:-.045em}.page-intro h1 br{display:none}.page-intro h1 br:after{content:' '}.intro-bottom{margin-top:24px}.intro-bottom p{font-size:17px;line-height:1.5;max-width:650px}
.prose{font-size:18px;line-height:1.65;max-width:860px}.prose h2,.prose h3{font-size:30px;line-height:1.25;margin-bottom:25px}.prose h4,.prose h5{font-size:24px;margin-top:35px}.testimonials-copy p{font-size:19px;line-height:1.6}
.footer{padding-top:40px}.footer-cta{font-size:clamp(38px,5vw,72px);line-height:1.05;padding-bottom:30px;letter-spacing:-.045em}.footer-cta br{display:none}.footer-cta span{font-size:60px}.footer-word{font-size:18vw;margin-top:20px;line-height:1.1}.footer-grid{margin-top:30px}
@media(max-width:1023px){.hero-stage{gap:30px;padding-top:115px;grid-template-columns:1fr 1fr}.hero-stage .hero-title{font-size:65px}.hero-stage .hero-star{display:none}.hero-stage .hero-project{height:270px}.proof-strip{grid-template-columns:1fr 1fr 1fr}.proof-strip>a{display:none}}
@media(max-width:600px){.hero-stage{grid-template-columns:1fr;gap:28px;padding-top:110px;padding-bottom:30px}.hero-stage .hero-title{font-size:64px;margin:22px 0}.hero-stage .hero-star{display:block;font-size:36px;right:0;top:5px}.hero-description{font-size:16px;max-width:100%}.hero-actions{gap:20px;margin:23px 0;font-size:12px}.hero-action-primary{padding:13px 15px}.hero-stage .hero-project{height:190px;max-width:none;justify-self:stretch}.hero-stage .hero-bottom{margin:0;font-size:10px}.proof-strip{padding:20px;gap:12px;font-size:10px}.proof-strip strong{font-size:12px;line-height:1.3}.section-pad{padding-top:35px;padding-bottom:35px}.statement{grid-template-columns:1fr;gap:18px}.editorial{font-size:25px;line-height:1.3}.statement-bottom{grid-column:auto;font-size:12px}.section-heading h2{font-size:27px}.capabilities .section-heading{margin-bottom:23px}.service-row{padding:20px 0}.service-row h3{font-size:22px}.craft-copy h2{font-size:29px}.craft-copy p{font-size:16px}.home-quote blockquote{font-size:32px;margin:25px 0}.page-intro{padding-top:115px;padding-bottom:30px}.page-intro h1{font-size:37px;line-height:1.1;margin-top:20px;overflow-wrap:normal}.page-intro h1 br{display:block}.intro-bottom{margin-top:20px}.intro-bottom p{font-size:16px}.prose{font-size:17px}.testimonials-copy p{font-size:18px}.footer-cta{font-size:38px;padding-right:35px}.footer-cta br{display:block}.footer-cta span{font-size:36px}.footer-word{font-size:26vw;margin-top:30px}}
/* CGI direction: midnight surfaces, luminous edges and fabricated detail. */
:root{--line:#b5d3e526;--cyan:#92e5ed;--night:#09131e;--glass:#142332}
body{background:radial-gradient(ellipse at 90% 0%,#153145 0%,transparent 45%),#0b1520;color:#e5edf2}
.header .brand img{filter:invert(1)}.header{color:#e5edf2}
.hero-stage{background:radial-gradient(ellipse at 75% 45%,#1c3b442e,transparent 65%),#07111b;position:relative;isolation:isolate;gap:7vw;min-height:570px}
.hero-stage:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#98d4e807 1px,transparent 1px),linear-gradient(90deg,#98d4e807 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000);z-index:-1;pointer-events:none}
.hero-stage .hero-title{font-size:clamp(58px,6vw,86px)}.hero-stage .hero-title>span:not(.hero-star){background:linear-gradient(110deg,#d5fa45 0%,#bff18a 60%,#92e5ed 100%);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-stage .hero-star{color:#b4e8bd;font-size:40px;opacity:.8}
.hero-description{color:#b6c9d6;font-size:16px;max-width:440px}.hero-stage .hero-top{color:#a7becd}.hero-stage .hero-bottom{color:#8fa6b7}
.hero-action-primary{background:linear-gradient(130deg,#d5fa45,#c5ef7d);box-shadow:0 0 25px #c8ff4912;border-color:#d5fa4577}
.proof-strip{background:#0c1926;color:#9db3c0;border-top:1px solid #a0d8e51c;border-bottom:1px solid #a0d8e51c}.proof-strip strong,.proof-strip>a{color:#dce7eb}
.cgi-scene{width:100%;max-width:550px;justify-self:end;position:relative;background:linear-gradient(140deg,#1527358c,#08131fe6);border:1px solid #a1dfe735;box-shadow:0 25px 65px #0003,inset 0 1px 0 #ffffff15;padding:12px;transform-style:preserve-3d;perspective:900px}
.cgi-scene:before,.cgi-scene:after{content:'';position:absolute;width:27px;height:27px;border-color:#9cd8c4;pointer-events:none;z-index:1}.cgi-scene:before{top:-1px;left:-1px;border-top:1px solid;border-left:1px solid}.cgi-scene:after{right:-1px;bottom:-1px;border-right:1px solid;border-bottom:1px solid}
.scene-top{display:flex;justify-content:space-between;align-items:center;padding:6px 5px 14px;font:9px ui-monospace,monospace;letter-spacing:.14em;color:#9ab4c5}.scene-indicator{width:5px;height:5px;border-radius:50%;background:#c7f269;box-shadow:0 0 10px #c7f26988}
.cgi-art{width:100%;display:block;padding:0;overflow:hidden;position:relative;background:#08121b;transition:transform .8s var(--ease);transform:rotateX(var(--scene-x,0deg)) rotateY(var(--scene-y,0deg));transform-style:preserve-3d}
.cgi-art img{aspect-ratio:1.7;object-fit:cover;outline:1px solid #92e5ed30;outline-offset:-8px;transition:transform 1s var(--ease)}.cgi-art:hover img{transform:scale(1.025)}
.cgi-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#d0f4ff08 48%,transparent 70%);transform:translateX(-110%);animation:material-sheen 9s ease-in-out infinite}
@keyframes material-sheen{0%,65%{transform:translateX(-110%)}90%,100%{transform:translateX(110%)}}
.scene-enlarge{position:absolute;bottom:16px;left:16px;font-size:10px;letter-spacing:.02em;background:#0a1523c7;color:#d6e8ee;padding:8px 11px;border:1px solid #91d0dc44}
.cgi-scene figcaption{display:flex;justify-content:space-between;gap:15px;padding:13px 5px 4px;font-size:11px;color:#c4d6df}.cgi-scene figcaption>span:last-child{font:9px ui-monospace,monospace;color:#7d98ab;align-self:center}
.editorial .highlight-word{color:#687e8d}.editorial .highlight-word.lit{color:#e5edf2}.statement{background:linear-gradient(180deg,#0d1822,#0c1620)}
.eyebrow{color:#9fb7c4}.section-heading .link{color:#cfe2eb}.project-caption p,.work-feature p,.person p{color:#a8bdcb}
.project-media,.gallery .image-open,.service-tile>button,.work-feature>a,.craft-image,.film-card>button,.library-grid figure button{border:1px solid #86bccb35;background:#122330;box-shadow:0 8px 24px #0002}
main img:not(.card-brand){outline-color:#a1d8df77}.client-logos{background:#dde4df;border:1px solid #9dc6cb55;padding:24px;margin-top:25px;gap:35px}.client-logos img{outline:none;filter:grayscale(1);mix-blend-mode:multiply;height:50px}.client-section{padding-top:18px}
.project-pill,.project-index,.image-plus{background:#091724e6;color:#d9e8ed;border:1px solid #9dcbd64d}.project-caption a:hover,.card-profile:hover{color:#d5fa45}
.capabilities{background:linear-gradient(125deg,#18313b,#0d202c);color:#e5edf2;border-block:1px solid #a5d3df22}.capabilities .eyebrow{color:#a6c1cd}.service-row{border-color:#a5d3df25}.service-row h3{color:#e4eff2}.service-no,.row-arrow{color:#c7ee89}.service-description{color:#a7c0cd}.all-services{color:#c5ee94}
.craft-copy p,.intro-bottom p{color:#b3c5d1}.film-card h3{color:#dce7ec}.home-quote{background:linear-gradient(120deg,#111e2a,#0b1622);border-top-color:#9bc7d422}.home-quote blockquote{color:#dce8e9}
.page-intro{background:radial-gradient(ellipse at 85% 0,#22425055,transparent 65%);border-bottom-color:#9bc7d425}.prose{color:#cad8df}.prose h2,.prose h3,.prose h4,.prose h5{color:#e5edf2}.prose td,.prose th{border-color:#9bc7d42b}
.library-search input,.contact-layout input,.contact-layout textarea{color:#e5edf2;border-color:#9bc7d45c}.library-search input::placeholder{color:#839aaa}.form-note,#form-status{color:#9cb1bf}.submit-button{background:#d5fa45;color:#101a22}.submit-button:hover{background:#d4ed91}.no-image{color:#14212d}.sitemap-grid>a{border-color:#9bc7d42b}.sitemap-grid>a:hover{color:#d5fa45}.original-copy{border-color:#9bc7d42b}
.footer{background:#070f18;border-top:1px solid #9bc7d42a}.footer-cta{font-size:clamp(36px,4.3vw,62px);border-color:#9bc7d42b}.footer-cta span{color:#c4ee86}.footer-grid .eyebrow{color:#7898ab}.footer-word{font-size:clamp(85px,10vw,160px);letter-spacing:-.06em;color:#b6c6ce;margin-left:0;margin-top:30px}.footer-bottom{border-color:#9bc7d42b;color:#a1b6c3}
.business-card{background:linear-gradient(135deg,#1a2b38,#111e2a);border-color:#729eaa66}.business-card:before{border-color:#91bdc52b}.card-rule{box-shadow:0 0 9px #c5ee7640}.scroll-top{background:#122434;color:#d5e7ec;border-color:#89bdcb44}.scroll-top .track{stroke:#38606c}.scroll-top .progress{stroke:#b4dc7d}.scroll-status{background:linear-gradient(90deg,#7cbfca,#d5fa45)}
.motion-cursor{border-color:#a4c2cc99}.motion-cursor.over-link{background:#93dfe21a;border-color:#92e5ed}.cursor-centre{background:#92e5ed}
@media(max-width:1023px){.hero-stage{gap:30px;min-height:0}.hero-stage .hero-title{font-size:62px}.cgi-scene{max-width:none}.cgi-art img{aspect-ratio:1.35}.client-logos{gap:25px;padding:20px}}
@media(max-width:600px){.hero-stage{padding-top:110px;gap:30px}.hero-stage .hero-title{font-size:61px}.hero-stage .hero-star{font-size:30px}.cgi-scene{padding:10px;max-width:100%}.cgi-art img{aspect-ratio:1.65}.scene-top{font-size:8px}.cgi-scene figcaption{font-size:10px;padding-top:12px}.cgi-scene figcaption>span:last-child{font-size:8px}.scene-enlarge{font-size:9px;padding:6px 8px;bottom:12px;left:12px}.client-logos{gap:23px;padding:20px 13px}.client-logos img{height:40px}.footer-cta{font-size:36px}.footer-word{font-size:25vw}}
@media(prefers-reduced-motion:reduce){.cgi-art{transform:none}.cgi-art:after{animation:none}.editorial .highlight-word{color:#e5edf2}}
/* Keep the hit target fixed while the artwork responds to the pointer. */
.cgi-art{transform:none}.cgi-art img{transform:perspective(900px) rotateX(var(--scene-x,0deg)) rotateY(var(--scene-y,0deg))}.cgi-art:hover img{transform:perspective(900px) rotateX(var(--scene-x,0deg)) rotateY(var(--scene-y,0deg)) scale(1.02)}
.work-anchors a{border-color:currentColor}
@media(prefers-reduced-motion:reduce){.cgi-art img,.cgi-art:hover img{transform:none}}

/* Three motion studies share one compact panel. */
.studio-stage{position:relative;aspect-ratio:16/9;overflow:hidden;background:#081421;outline:1px solid #92e5ed35;outline-offset:-8px}
.studio-video,.studio-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.studio-poster{transition:opacity .35s;pointer-events:none}.is-playing .studio-poster{opacity:0}
.studio-enlarge,.studio-play{position:absolute;bottom:14px;background:#07131cdb;border:1px solid #b0d6d644;color:#e6efe9;padding:7px 10px;font-size:10px;z-index:2}
.studio-enlarge{left:14px}.studio-play{right:14px;min-width:69px}
.studio-selectors{display:flex;gap:6px;margin-top:10px}.studio-selectors button{flex:1;padding:9px 4px;border:1px solid #a1dfe72b;background:transparent;color:#99b0bf;font:10px ui-monospace,monospace;transition:background .2s,color .2s}
.studio-selectors button[aria-pressed=true]{color:#d5fa45;background:#d5fa4510;border-color:#d5fa4559}
.studio-status{font-size:10px;color:#a8bdc8;margin:0 4px}.studio-status:empty{display:none}
.intro-logo-film{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#081421}.benga-intro .intro-top,.benga-intro .intro-bottom{z-index:2}
@media(max-width:600px){.studio-selectors button{font-size:9px}.studio-enlarge,.studio-play{font-size:9px;padding:6px 8px}.studio-enlarge{left:12px}.studio-play{right:12px}}

.studio-stage:after{content:"";position:absolute;inset:8px;border:1px solid #92e5ed35;pointer-events:none;z-index:1}
