@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/font-0-0d85af813fc3.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/font-1-7dde307fa887.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-2-b0ae3e89a7d3.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/font-3-376427b53221.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/font-4-b79a2ea7a38f.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/font-5-2a8e7f713ee7.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/font-6-829aad32ab95.ttf) format('truetype');
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/font-7-5be2b984cdb8.ttf) format('truetype');
}

:root{--bg:#141613;--fg:#eef0e9;--muted:#a1a59a;--accent:#c5f467;--line:#34382f;--panel:#1b1e18;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif;--mono:'Space Mono',monospace;--ease:cubic-bezier(.22,.68,0,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--fg);font:16px var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a,button,summary,input{outline-offset:6px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent)}button{color:inherit}::selection{background:var(--accent);color:var(--bg)}.skip{position:fixed;top:-100px;left:15px;z-index:100;padding:15px;background:var(--accent);color:var(--bg)}.skip:focus{top:15px}.header{display:flex;align-items:center;gap:32px;padding:23px 5%;position:sticky;top:0;z-index:20;background:#141613ee;backdrop-filter:blur(15px);border-bottom:1px solid #34382f70}.wordmark{font-size:26px;font-weight:700;letter-spacing:-1.5px;white-space:nowrap}.wordmark span{font-weight:400}.header nav{margin-left:auto;display:flex;align-items:center;gap:32px;font-size:14px}.header nav a{transition:color .25s}.header nav a:hover{color:var(--accent)}.contact-nav{margin-left:22px}.arcade-trigger{display:flex;align-items:center;gap:9px;border:1px solid #647449;border-radius:30px;background:transparent;padding:8px 15px;font-size:13px;color:var(--accent);transition:background .3s,border-color .3s}.arcade-trigger:hover{background:#25311b;border-color:var(--accent)}.game-icon{font-size:23px;line-height:1}.hero{padding:45px 5% 0}.eyebrow{font:12px/1.6 var(--mono);letter-spacing:.04em}.hero>.eyebrow{display:flex;justify-content:space-between;color:var(--muted)}.hero h1{font:700 clamp(64px,10.4vw,185px)/.9 var(--display);letter-spacing:-.022em;margin:42px 0 36px}.hero h1 span{color:var(--accent)}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:0 0 48px}.hero-bottom p{font-size:17px;line-height:1.55;margin:0;color:#c3c7ba}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid #6c7460;padding:8px 0;transition:color .25s,border-color .25s}.text-link:hover{color:var(--accent);border-color:var(--accent)}.featured-motion{margin-top:12px}.hero-film{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:#20241b;border-radius:3px}.hero-film>img,.hero-film>video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.hero-film>img{height:110%;top:-5%;will-change:transform}.hero-film>video{opacity:0;transition:opacity .7s}.hero-film>video.is-playing{opacity:1}.featured-caption{display:flex;align-items:center;justify-content:space-between;padding:17px 0;font-size:15px}.featured-caption span{color:var(--muted);font-size:13px;margin-left:15px}.featured-caption button{border:0;background:none;padding:7px 0;font-size:13px;color:var(--muted)}.featured-caption button:hover{color:var(--accent)}.section{padding:100px 5%}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:35px;align-items:start;margin-bottom:50px}.section-head>.eyebrow{color:var(--muted);padding-top:10px}.section-head h2{font:600 clamp(46px,5.4vw,84px)/1 var(--display);letter-spacing:-.01em;margin:0}.section-head>p{display:none}.projects{display:grid;grid-template-columns:1fr 1fr;gap:55px 30px}.project-card{min-width:0}.project-image{display:block;position:relative;aspect-ratio:4/5;background:var(--panel);overflow:hidden;border-radius:3px}.project-image .scroll-image{width:100%;height:110%;position:absolute;top:-5%;left:0;object-fit:cover;will-change:transform}.project-image img{display:block;transition:filter .5s}.project-image:hover img{filter:brightness(1.06)}.project-open{position:absolute;right:20px;bottom:20px;background:#eff3e7;display:grid;place-items:center;color:#172011;width:42px;height:42px;border-radius:50%;font-size:21px;transition:transform .4s var(--ease),background .4s}.project-image:hover .project-open{transform:rotate(45deg);background:var(--accent)}.media-kind{position:absolute;top:18px;left:18px;padding:7px 10px;border-radius:20px;background:#141613b8;font-size:12px;backdrop-filter:blur(10px)}.project-caption{display:flex;align-items:start;justify-content:space-between;gap:15px;padding-top:18px}.project-caption h3{font-size:23px;font-weight:500;letter-spacing:-.55px;margin:0}.project-caption p{font-size:13px;color:var(--muted);margin:7px 0 0}.project-caption>span{display:none}.archive-link{margin-top:40px}.clients{padding-top:20px;padding-bottom:80px}.client-heading{display:flex;align-items:baseline;justify-content:space-between;gap:25px;padding-top:35px;border-top:1px solid var(--line)}.client-heading h2{font-size:15px;font-weight:500;margin:0}.client-heading p{font-size:13px;color:var(--muted);margin:0}.client-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:40px;align-items:center;padding:45px 0 10px}.client-logos>div{height:68px;display:flex;align-items:center;justify-content:center}.client-logos img{max-width:100%;width:auto;max-height:54px;height:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:opacity .4s,filter .4s}.client-logos>div:hover img{opacity:1;filter:grayscale(0)}.client-logos>div:nth-child(2) img{max-height:48px}.about{border-top:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.portrait{margin:0;max-width:420px}.portrait img{display:block;width:100%;height:510px;object-fit:cover;filter:grayscale(1);border-radius:3px}.portrait figcaption{font:12px var(--mono);color:var(--muted);margin-top:16px}.about-copy p{font-size:16px;line-height:1.8;color:#b4b9ac;margin:0 0 20px}.about-copy .large-copy{font-size:38px;line-height:1.2;letter-spacing:-1px;color:var(--fg);margin-bottom:24px}.expertise{display:flex;flex-wrap:wrap;gap:10px 18px;margin:25px 0}.expertise span{font-size:13px;color:var(--muted)}.experience{display:grid;grid-template-columns:1fr 2fr;gap:35px;margin-top:95px;padding-top:45px;border-top:1px solid var(--line)}.experience>.eyebrow{color:var(--muted)}.experience h3{font:600 58px/1 var(--display);margin:20px 0}.roles details{border-top:1px solid var(--line)}.roles details:last-child{border-bottom:1px solid var(--line)}.roles summary{display:grid;grid-template-columns:135px 1fr 18px;gap:18px;align-items:start;list-style:none;padding:24px 0;cursor:pointer}.roles summary::-webkit-details-marker{display:none}.role-date{font:12px/1.6 var(--mono);color:var(--muted);padding-top:4px}.roles strong{display:block;font-size:20px;font-weight:500;letter-spacing:-.4px;transition:color .25s}.roles summary:hover strong{color:var(--accent)}.roles small{display:block;margin-top:6px;color:var(--muted);font-size:14px}.expand{font-size:24px;line-height:1;transition:transform .3s;color:var(--muted)}.roles details[open] .expand{transform:rotate(45deg);color:var(--accent)}.role-body{margin:0 20px 28px 153px;color:#b4b9ac;font-size:15px;line-height:1.75}.role-body p{margin:0 0 15px}.role-body ul{padding-left:18px;margin:0}.role-body li{padding-left:3px;margin-bottom:10px}.playground{border-top:1px solid var(--line)}.off-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.off-image{height:420px;background:#1b1e18;border-radius:3px;overflow:hidden;padding:30px}.off-image img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .7s var(--ease)}.off-card:hover img{transform:scale(1.025)}.ink-card .off-image{background:#090b08;padding:0}.off-card>div:last-child{padding-top:20px}.off-card .eyebrow{font-size:12px;color:var(--muted)}.off-card h3{font-size:23px;font-weight:500;letter-spacing:-.4px;margin:7px 0}.footer{border-top:1px solid var(--line);padding-top:50px;padding-bottom:25px}.footer-top{display:flex;justify-content:space-between;color:var(--muted)}.big-contact{display:flex;align-items:center;justify-content:space-between;font:600 clamp(62px,11.8vw,200px)/1.15 var(--display);letter-spacing:-.025em;color:var(--accent);margin:28px 0}.big-contact>span{font-family:Arial,sans-serif;font-size:.6em;transition:transform .5s var(--ease)}.big-contact:hover>span{transform:translate(7px,-7px)}.contact-row{display:flex;justify-content:space-between;gap:25px;margin:20px 0 60px}.contact-row>a{font-size:22px;letter-spacing:-.5px}.contact-row>div{display:flex;gap:30px;font-size:14px}.contact-row a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:24px;border-top:1px solid var(--line);font:12px/1.6 var(--mono);color:var(--muted)}
/* Native dialogs preserve keyboard navigation, focus and escape behavior. */
dialog{border:1px solid var(--line);border-radius:8px;padding:0;max-height:92dvh;background:var(--bg);color:var(--fg);overscroll-behavior:contain}dialog::backdrop{background:#080a07d9;backdrop-filter:blur(10px)}body:has(dialog[open]){overflow:hidden}.dialog-top,.arcade-top{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 25px;background:var(--bg);border-bottom:1px solid var(--line)}.dialog-top .eyebrow,.arcade-top .eyebrow{font-size:12px;color:var(--muted)}.close-button{display:grid;place-items:center;border:1px solid #525a47;background:none;width:36px;height:36px;border-radius:50%;font-size:14px;flex-shrink:0;transition:background .3s}.close-button:hover{background:var(--accent);color:var(--bg)}.project-dialog{width:min(1080px,94vw)}.project-intro{padding:35px 35px 25px}.project-intro .eyebrow{color:var(--muted)}.project-intro h2{font:600 clamp(42px,6vw,76px)/1 var(--display);margin:16px 0 20px}.project-intro>p{max-width:680px;font-size:16px;line-height:1.75;color:var(--muted)}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:0 35px 30px;align-items:start}.project-gallery figure{margin:0;min-width:0}.project-gallery figure:first-child,.project-gallery .video-figure{grid-column:1/-1}.project-gallery img{width:100%;height:auto;display:block;border-radius:3px}.project-gallery figure:first-child img{max-height:650px;object-fit:contain;background:#1c2017}.project-gallery figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px}.project-gallery video{display:block;width:100%;max-height:65dvh;background:#0c0e0a;border-radius:3px}.video-description{font-size:13px;color:var(--muted);line-height:1.7}.project-dialog .text-link{margin:0 35px 35px}.error-message{padding:40px;line-height:1.7}.arcade-dialog{width:min(840px,94vw);box-shadow:0 30px 100px #0008;background:#151b12}.arcade-top{background:#151b12}.arcade-title{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px}.arcade-title p{font:12px var(--mono);letter-spacing:.08em;margin:0 0 10px;color:var(--muted)}.arcade-title h2{font:600 clamp(34px,4.4vw,52px)/1 var(--display);margin:0;color:var(--accent);text-transform:uppercase}.arcade-title button{background:none;border:1px solid #424d35;border-radius:20px;font-size:12px;padding:9px 12px;white-space:nowrap;color:var(--muted)}.scoreboard{display:grid;grid-template-columns:repeat(4,1fr);margin:0 28px;padding:12px 0;border-block:1px solid #343e2b}.scoreboard>div{text-align:center}.scoreboard span{display:block;font:12px var(--mono);letter-spacing:.04em;color:#9faa91}.scoreboard output{display:block;font:400 26px var(--mono);margin-top:7px;color:var(--accent)}.court-wrap{position:relative;margin:0 20px;background:#151b12}.court-wrap:after{display:none}#court{width:100%;height:auto;aspect-ratio:900/520;display:block;touch-action:none;cursor:crosshair;border-radius:5px}.game-message{position:absolute;top:13px;left:10%;right:10%;text-align:center;font-size:12px;color:#aebf99;pointer-events:none;margin:0}.game-controls{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:center;gap:23px;padding:20px 28px;border-top:1px solid #343e2b}.game-controls label{font:12px var(--mono);color:#9faa91}.game-controls output{float:right;color:var(--fg)}input[type=range]{width:100%;display:block;accent-color:var(--accent);margin:12px 0 0;cursor:pointer}.shoot-button{padding:13px 21px;border-radius:30px;border:1px solid var(--accent);background:var(--accent);color:#14200c;font-size:14px}.shoot-button:disabled{opacity:.4;cursor:default}.reset-button{border:0;background:none;padding:13px 5px;color:var(--muted);font-size:12px}.arcade-help{font-size:12px;line-height:1.7;text-align:center;color:var(--muted);padding:0 25px 20px;margin:0}.arcade-help span{font-size:12px;color:#7f8e70}.reveal-ready{transition:opacity .75s var(--ease),translate .85s var(--ease)}.reveal-ready:not(.revealed){opacity:0;translate:0 22px}
@media(min-width:1600px){.hero-film{aspect-ratio:16/9}.section{padding-top:125px;padding-bottom:125px}.clients{padding-top:25px;padding-bottom:85px}.portrait{max-width:500px}.portrait img{height:600px}.off-image{height:520px}}
@media(max-width:1050px){.header nav{gap:22px}.contact-nav{margin-left:0}.client-logos{gap:25px}.roles summary{grid-template-columns:105px 1fr 18px;gap:15px}.role-body{margin-left:120px}.role-date{font-size:12px}.roles strong{font-size:18px}.about-grid{gap:7%}.portrait img{height:470px}.off-image{height:380px}}
@media(max-width:760px){html{scroll-padding-top:125px}.header{gap:15px;flex-wrap:wrap;padding:17px 5%}.wordmark{font-size:25px}.header nav{order:3;width:100%;justify-content:space-between;gap:14px;font-size:13px}.arcade-trigger{margin-left:auto;padding:7px 13px}.hero{padding-top:30px}.hero>.eyebrow{font-size:12px;gap:25px}.hero h1{font-size:12.8vw;margin:33px 0 28px;line-height:.93}.hero-bottom{align-items:start;flex-direction:column;gap:18px;margin-bottom:30px}.hero-bottom p{font-size:15px}.hero-bottom .text-link{font-size:13px}.hero-film{aspect-ratio:16/9}.featured-caption{font-size:13px;gap:20px}.featured-caption span{display:block;margin:5px 0 0;font-size:12px}.featured-caption button{font-size:12px}.section{padding:70px 5%}.section-head{grid-template-columns:1fr;gap:15px;margin-bottom:35px}.section-head>.eyebrow{font-size:12px;padding:0}.section-head h2{font-size:50px}.projects{grid-template-columns:1fr;gap:38px}.project-caption h3{font-size:22px}.project-caption p{font-size:12px}.client-heading{display:block;padding-top:30px}.client-heading p{margin-top:10px;font-size:12px;line-height:1.7}.clients{padding-top:5px;padding-bottom:50px}.client-logos{grid-template-columns:repeat(3,1fr);gap:28px;padding-top:30px}.client-logos>div{height:58px}.client-logos img{max-height:40px}.client-logos>div:nth-child(2) img{max-height:40px}.about-grid{grid-template-columns:1fr;gap:30px}.portrait{max-width:none}.portrait img{height:430px}.about-copy .large-copy{font-size:35px}.about-copy p{font-size:15px}.experience{grid-template-columns:1fr;gap:30px;margin-top:55px;padding-top:35px}.experience h3{font-size:45px;margin:15px 0}.experience h3 br{display:none}.roles summary{grid-template-columns:92px 1fr 18px;gap:13px;padding:23px 0}.role-date{font-size:12px}.roles strong{font-size:17px}.roles small{font-size:13px}.role-body{margin-left:0;font-size:14px;line-height:1.8;margin-right:5px}.off-grid{grid-template-columns:1fr;gap:35px}.off-image{height:420px}.off-card h3{font-size:22px}.footer-top .eyebrow{font-size:12px}.footer-top{gap:25px}.big-contact{font-size:12.6vw;margin:30px 0}.contact-row{flex-direction:column;gap:23px;margin-bottom:40px}.contact-row>a{font-size:20px}.contact-row>div{font-size:13px}.footer-bottom{font-size:12px;flex-wrap:wrap}.footer-bottom>span:nth-child(2){display:none}.project-intro{padding:25px 22px}.project-gallery{grid-template-columns:1fr;padding:0 20px 25px;gap:20px}.project-dialog .text-link{margin-left:22px}.dialog-top,.arcade-top{padding:12px 18px}.dialog-top .eyebrow{font-size:12px}.arcade-title{padding:20px}.arcade-title h2{font-size:35px}.arcade-title p{font-size:12px}.scoreboard{margin:0 20px}.scoreboard output{font-size:23px}.scoreboard span{font-size:12px}.court-wrap{margin:0 12px}.game-message{font-size:12px;top:8px}.game-controls{grid-template-columns:1fr 1fr;padding:18px 20px;gap:20px}.shoot-button,.reset-button{width:100%}.arcade-help{font-size:12px}.arcade-help span{font-size:12px}.arcade-dialog{max-height:95dvh}.close-button{width:34px;height:34px}}
@media(max-width:380px){.hero>.eyebrow{font-size:12px}.header nav{font-size:12px}.off-image{height:350px}.portrait img{height:360px}.role-date{font-size:12px}.roles summary{grid-template-columns:80px 1fr 15px}.roles strong{font-size:16px}.scoreboard span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.scroll-image{transform:none!important}.reveal-ready:not(.revealed){opacity:1;translate:none}}

.scoreboard span{min-height:32px;display:grid;place-items:center}.roles summary{grid-template-columns:145px 1fr 18px}.role-body{margin-left:163px}@media(max-width:760px){.hero>.eyebrow{font-size:12px;align-items:start}.hero>.eyebrow>span{max-width:48%}.roles summary{grid-template-columns:100px 1fr 18px}.role-body{margin-left:0}.scoreboard span{font-size:12px;line-height:1.4}.footer-bottom{font-size:12px}.header nav{font-size:14px}}
/* Motion stays inside the media frame, leaving navigation and reading stable. */
.hero-film>.scroll-image,.project-image .scroll-image{height:124%;top:-12%;bottom:auto;will-change:transform}
.projects:not(.gallery-grid){row-gap:70px;padding-bottom:75px}.projects:not(.gallery-grid)>.project-card:nth-child(even){translate:0 75px}
.archive-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:30px;margin-top:55px}.archive-link p{color:var(--muted);font-size:14px}.pill-link{display:inline-flex;align-items:center;gap:35px;border:1px solid var(--accent);border-radius:40px;padding:17px 24px;color:var(--accent);transition:background .3s,color .3s}.pill-link:hover{background:var(--accent);color:var(--bg)}
.work-hero{padding:65px 5% 40px}.work-hero .eyebrow{color:var(--muted)}.work-hero h1{font:600 clamp(70px,12vw,180px)/.9 var(--display);margin:30px 0;color:var(--accent);letter-spacing:-.02em}.work-intro{display:flex;justify-content:space-between;gap:35px;align-items:end}.work-intro p{max-width:470px;color:#b4b9ac;line-height:1.65;margin:0}.work-intro>span{font:12px var(--mono);color:var(--muted)}.gallery-section{padding:0 5% 100px}.filter-bar{position:sticky;top:84px;z-index:10;padding:20px 0;margin-bottom:30px;background:#141613f5;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap}.filter-bar button{background:none;border:1px solid var(--line);border-radius:30px;font-size:13px;padding:11px 17px;transition:background .25s,color .25s,border-color .25s}.filter-bar button span{font:10px var(--mono);margin-left:8px;opacity:.6}.filter-bar button:hover{border-color:var(--accent)}.filter-bar button[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}.gallery-grid .project-caption h3{font-size:21px}.gallery-grid .project-caption p{font-size:12px;line-height:1.5}.project-card[hidden]{display:none}.gallery-grid .project-image{aspect-ratio:4/5}.gallery-status{color:var(--muted);font:12px var(--mono);margin:0 0 25px}.gallery-grid .project-card{animation:card-in .55s var(--ease) both}@keyframes card-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
.client-tools{display:flex;align-items:center;gap:24px}.marquee-toggle{border:1px solid var(--line);background:none;border-radius:25px;padding:8px 13px;font-size:12px;white-space:nowrap}.client-marquee{overflow:hidden;margin:36px -5.56% 0;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.client-track{display:flex;width:max-content;animation:client-roll 125s linear infinite}.client-group{display:flex;align-items:center;flex-shrink:0}.client-item{width:185px;height:96px;display:flex;align-items:center;justify-content:center;padding:15px 25px;text-align:center;flex-shrink:0}.client-item img{max-width:135px;max-height:58px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.68}.client-item span{font-size:17px;letter-spacing:-.3px;font-weight:500;color:#b8beb0;line-height:1.2}.client-item:hover img{opacity:1}.client-roster{margin-top:24px;color:var(--muted);font-size:12px;line-height:1.9}.client-roster summary{cursor:pointer;display:inline-block;border-bottom:1px solid var(--line);padding:4px 0}.client-roster p{max-width:1050px}@keyframes client-roll{to{transform:translateX(-50%)}}
@media(max-width:1050px){.gallery-grid{grid-template-columns:1fr 1fr}.client-tools{gap:15px}.client-tools p{max-width:320px}}
@media(max-width:760px){.projects:not(.gallery-grid){padding-bottom:0;row-gap:38px}.projects:not(.gallery-grid)>.project-card:nth-child(even){translate:none}.archive-link{align-items:start;flex-direction:column;gap:15px;margin-top:35px}.work-hero{padding-top:40px}.work-hero h1{font-size:21vw}.work-intro{flex-direction:column;align-items:start;gap:20px}.work-intro p{font-size:15px}.filter-bar{top:113px;gap:7px;padding:15px 0}.filter-bar button{padding:10px 13px;font-size:12px}.gallery-grid{gap:32px 15px}.gallery-grid .project-caption h3{font-size:18px}.gallery-grid .project-caption p{font-size:12px}.gallery-grid .media-kind{top:10px;left:10px;padding:5px 8px;font-size:11px}.gallery-grid .project-open{width:30px;height:30px;right:12px;bottom:12px;font-size:17px}.gallery-section{padding-bottom:60px}.client-tools{align-items:center;justify-content:space-between}.client-tools p{max-width:240px}.client-item{width:155px}.client-item img{max-width:110px}.client-marquee{margin-top:20px}.client-roster{margin-top:15px}}
@media(max-width:440px){.gallery-grid{grid-template-columns:1fr}.gallery-grid .project-caption h3{font-size:23px}.gallery-grid .media-kind{font-size:12px}.gallery-grid .project-image{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){.client-track{animation:none}.client-marquee{overflow-x:auto;mask-image:none}.client-group[aria-hidden=true]{display:none}.hero-film>.scroll-image,.project-image .scroll-image{height:100%;top:0}.gallery-grid .project-card{animation:none}}
.client-item img[src$="client-zeta.webp"],.client-item img[src$="client-zoflora.webp"]{filter:grayscale(1);opacity:.8}
.header nav a[aria-current=page]{color:var(--accent)}
.film-caption{display:flex;align-items:center;justify-content:space-between;gap:20px}.film-play{border:1px solid var(--line);border-radius:25px;background:none;color:var(--accent);font-size:12px;padding:10px 15px;white-space:nowrap}.film-play:hover{border-color:var(--accent)}
/* Preserve internal logo contrast instead of flattening every pixel to white. */
.client-item img{filter:grayscale(1) brightness(1.4)}
.client-item img[src$="client-ag.webp"],.client-item img[src$="client-att.webp"],.client-item img[src$="client-recode.webp"],.client-item img[src$="client-sedar.webp"]{filter:grayscale(1) invert(1)}
.dual-filters{display:flex;align-items:end;gap:25px;padding:20px 0}.dual-filters label{display:block;font:12px var(--mono);color:var(--muted);width:min(300px,35%)}.dual-filters select{appearance:auto;display:block;width:100%;margin-top:10px;padding:12px 15px;background:#1b2116;color:var(--fg);border:1px solid #465337;border-radius:6px;font:15px var(--body);cursor:pointer}.dual-filters .filter-clear{font-size:13px;align-self:end;margin-bottom:1px;border:0;padding:13px 5px}.gallery-empty{padding:50px 0;min-height:240px}.gallery-empty h2{font:600 45px var(--display)}.gallery-empty p{color:var(--muted);line-height:1.7}.load-more{display:flex;margin:55px auto 0;background:none;cursor:pointer}.load-more[hidden],.gallery-empty[hidden]{display:none}.project-gallery figure{scroll-margin-top:80px}.project-gallery .selected-media{outline:1px solid #5c7641;outline-offset:8px}.client-item img{filter:grayscale(1) brightness(1.5);max-height:65px;opacity:.8}.client-track{animation-duration:115s}.gallery-grid .project-caption p{max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.9em}.project-image:hover .scroll-image{filter:brightness(1.08)}
@media(max-width:760px){.dual-filters{gap:12px;flex-wrap:wrap}.dual-filters label{width:calc(50% - 6px);font-size:12px}.dual-filters select{font-size:14px;padding:11px 9px}.dual-filters .filter-clear{padding:5px 0;font-size:12px}.gallery-grid .project-caption p{font-size:13px}.gallery-grid{gap:38px 20px}}
.project-image .contained-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.dual-filters button:hover{color:var(--accent)}
@media(prefers-reduced-motion:reduce){.marquee-toggle{display:none}}
@media(min-width:761px) and (max-height:900px){.arcade-top{padding:10px 20px}.arcade-title{padding:14px 24px}.arcade-title p{margin-bottom:6px}.arcade-title h2{font-size:40px}.scoreboard{padding:8px 0}.scoreboard span{min-height:18px}.scoreboard output{font-size:22px}.arcade-dialog .court-wrap{max-width:calc(159.2dvh - 590px);min-width:280px;margin-inline:auto}.game-controls{padding:14px 24px}.arcade-help{padding-bottom:15px;line-height:1.5}}

/* Restrained filter pills and a full-frame, touch-friendly carousel. */
.dual-filters{gap:14px;align-items:center}.dual-filters label{position:relative;width:260px;font:12px var(--mono);letter-spacing:.03em}.dual-filters select{appearance:none;border-radius:100px;background:#20251c;border:1px solid #3a4432;padding:15px 48px 15px 20px;margin-top:8px;font:500 14px var(--body);transition:background .2s,border-color .2s,box-shadow .2s}.dual-filters label:after{content:'';position:absolute;right:22px;bottom:21px;width:7px;height:7px;border-right:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(45deg);pointer-events:none}.dual-filters select:hover{background:#293222;border-color:#71865a}.dual-filters select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.dual-filters .filter-clear{border-radius:100px;padding:14px 20px;margin-bottom:0;color:var(--muted)}
.project-gallery.carousel-track{display:flex;position:relative;gap:0;padding:0;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;align-items:start}.carousel-track::-webkit-scrollbar{display:none}.project-gallery.carousel-track figure{flex:0 0 100%;width:100%;padding:0 24px;scroll-snap-align:start;scroll-snap-stop:always}.project-gallery.carousel-track img,.project-gallery.carousel-track video{width:100%;height: min(58dvh,680px);max-height:none;object-fit:contain;background:#10130e}.carousel-track figcaption{font-size:14px;min-height:40px;padding:10px 0;margin:0}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:25px;padding:18px 24px 30px}.carousel-controls span{font:14px var(--mono);color:var(--muted);min-width:70px;text-align:center}.carousel-controls button{width:46px;height:46px;border:1px solid #465337;border-radius:50%;background:#222a1c;font-size:23px;transition:background .2s,color .2s}.carousel-controls button:hover:not(:disabled){background:var(--accent);color:var(--bg)}.carousel-controls button:disabled{opacity:.25;cursor:default}.project-dialog:has(.carousel-track) .project-intro{padding-top:20px;padding-bottom:16px}.project-dialog:has(.carousel-track) .project-intro h2{font-size:clamp(28px,4vw,48px);margin:10px 0}.project-dialog:has(.carousel-track) .project-intro>p{display:none}
@media(max-width:760px){.dual-filters label{width:calc(50% - 7px)}.dual-filters select{padding:13px 32px 13px 15px;font-size:14px}.dual-filters label:after{right:17px;bottom:19px}.dual-filters .filter-clear{padding:10px 15px}.project-gallery.carousel-track figure{padding:0 14px}.project-gallery.carousel-track img,.project-gallery.carousel-track video{height:52dvh}}

.carousel-track:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}
/* Focused creative viewer, with restrained glass chrome. */
.project-dialog{width:min(1220px,94vw);height:min(900px,94dvh);max-height:94dvh;padding:0;border:1px solid #ffffff24;border-radius:24px;background:#12170feF;box-shadow:0 40px 120px #0009;overflow:hidden;backdrop-filter:blur(24px)}.project-dialog::backdrop{background:#080c08b8;backdrop-filter:blur(14px) saturate(.65)}.project-dialog[open]{display:flex;flex-direction:column;animation:viewer-in .35s var(--ease)}.project-dialog .dialog-top{flex-shrink:0;position:relative;background:linear-gradient(120deg,#ffffff09,#ffffff02);border-bottom:1px solid #ffffff0d;padding:16px 24px}.project-dialog .dialog-top .eyebrow{font:12px var(--mono);letter-spacing:.06em;color:#a6b09e}.project-dialog .close-button{width:38px;height:38px;border:1px solid #ffffff24;background:#ffffff0b;backdrop-filter:blur(12px);transition:background .2s,transform .2s}.project-dialog .close-button:hover{background:#ffffff20;transform:rotate(90deg)}.project-dialog #project-content{display:flex;flex-direction:column;flex:1;min-height:0}.project-dialog:has(.carousel-track) .project-intro{padding:20px 28px 18px;flex-shrink:0}.project-dialog:has(.carousel-track) .project-intro h2{font:500 clamp(22px,2.5vw,34px)/1.2 var(--body);letter-spacing:-.035em;margin:7px 0 0}.project-intro .eyebrow{font:12px var(--mono);color:#b1c1a3}.project-dialog .project-gallery.carousel-track{flex:1;min-height:0;align-items:stretch}.project-dialog .project-gallery.carousel-track figure{display:flex;flex-direction:column;height:100%;padding:0 24px;min-height:0}.project-dialog .project-gallery.carousel-track img,.project-dialog .project-gallery.carousel-track video{flex:1;min-height:0;width:100%;height:0;max-height:none;object-fit:contain;background:transparent;border-radius:10px}.project-dialog .carousel-track figcaption{flex-shrink:0;min-height:42px;display:flex;align-items:center;padding:12px 4px 0;font-size:13px;color:#aebba4;gap:14px}.project-dialog .carousel-track .film-caption{justify-content:space-between}.project-dialog .film-play{background:#ffffff0b;border:1px solid #ffffff20;backdrop-filter:blur(12px);padding:8px 14px;border-radius:30px;color:#d2e8bf;font-size:12px;white-space:nowrap}.project-dialog .video-description{display:none}.project-dialog .carousel-controls{flex-shrink:0;align-self:center;gap:20px;padding:7px;margin:15px 0 20px;border-radius:100px;background:linear-gradient(120deg,#ffffff12,#ffffff06);border:1px solid #ffffff20;box-shadow:0 6px 24px #0002;backdrop-filter:blur(20px)}.project-dialog .carousel-controls button{width:40px;height:40px;background:#ffffff08;border:1px solid #ffffff12;font-size:22px}.project-dialog .carousel-controls span{min-width:62px;color:#d0d9c9;font:13px var(--mono)}.project-dialog .single-slide-controls{display:none}.project-dialog:has(.single-slide-controls) .carousel-track{margin-bottom:22px}.project-dialog .carousel-track:focus-visible{outline:1px solid #c5f46760;outline-offset:-2px}.project-dialog .carousel-controls button[hidden]{display:none}@keyframes viewer-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:760px){.project-dialog{width:96vw;height:94dvh;border-radius:18px}.project-dialog .dialog-top{padding:12px 16px}.project-dialog .dialog-top .eyebrow{font-size:10px;letter-spacing:0}.project-dialog:has(.carousel-track) .project-intro{padding:16px 18px}.project-dialog:has(.carousel-track) .project-intro h2{font-size:22px}.project-dialog .project-gallery.carousel-track figure{padding:0 12px}.project-dialog .carousel-track figcaption{font-size:12px;line-height:1.5}.project-dialog .carousel-controls{margin:12px 0 16px}}@media(prefers-reduced-motion:reduce){.project-dialog[open]{animation:none}.project-dialog .close-button{transition:none}}
.project-dialog .project-intro{position:relative;padding-right:155px!important}.viewer-details{position:absolute;right:28px;top:24px;z-index:5}.viewer-details summary{list-style:none;cursor:pointer;font-size:12px;color:#c2ccb9;padding:9px 13px;border:1px solid #ffffff20;border-radius:24px;background:#ffffff08}.viewer-details summary::-webkit-details-marker{display:none}.viewer-details[open] summary{color:var(--accent);border-color:#c5f46760}.viewer-details>div{position:absolute;right:0;top:44px;width:min(350px,75vw);padding:20px;border:1px solid #ffffff25;border-radius:16px;background:#22291ff5;backdrop-filter:blur(24px);box-shadow:0 16px 40px #0006;max-height:45dvh;overflow:auto}.viewer-details p{font-size:14px;line-height:1.7;color:#c5d0bb;margin:0}.viewer-details a{display:inline-block;font-size:13px;color:var(--accent);margin-top:15px}@media(max-width:760px){.project-dialog .project-intro{padding-right:130px!important}.viewer-details{right:16px;top:17px}.viewer-details summary{font-size:11px;padding:8px 10px}}
/* Rounded artwork frames and a light, artwork-first viewing surface. */
.project-image,.hero-film,.off-image,.off-image img{border-radius:18px}.project-image,.hero-film,.off-image{transition:transform .55s var(--ease),box-shadow .55s var(--ease);transform-origin:center}.project-image:hover,.hero-film:hover,.off-card:hover .off-image{transform:scale(1.018);box-shadow:0 14px 38px #0003}.project-image:focus-visible,.hero-film:focus-visible{outline-offset:5px}.project-dialog{width:min(1440px,96vw);height:94dvh;max-height:94dvh;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;overflow:visible}.project-dialog::backdrop{background:#080b08e0;backdrop-filter:blur(24px) saturate(.6)}.project-dialog .dialog-top{position:absolute;right:8px;top:0;z-index:8;padding:0;background:none;border:0}.project-dialog .dialog-top>.eyebrow{display:none}.project-dialog .close-button{width:38px;height:38px;background:#ffffff12;box-shadow:0 5px 20px #0002}.project-dialog #project-content{padding-top:44px;overflow:visible}.project-dialog .project-gallery.carousel-track{order:0;flex:1;min-height:0}.project-dialog .project-gallery.carousel-track figure{padding:0 10px}.project-dialog .project-gallery.carousel-track img,.project-dialog .project-gallery.carousel-track video{border-radius:16px;background:transparent;box-shadow:none}.project-dialog .carousel-track figcaption{display:none}.project-dialog .carousel-track .film-caption{display:flex;min-height:38px;justify-content:center;padding-top:8px}.project-dialog .film-caption>span{display:none}.project-dialog .film-play{padding:6px 14px;font-size:12px}.project-dialog:has(.carousel-track) .project-intro{order:2;flex-shrink:0;max-width:760px;align-self:center;width:100%;padding:12px 150px 6px 16px!important;text-align:left;min-height:63px}.project-dialog:has(.carousel-track) .project-intro h2{font:500 clamp(16px,1.8vw,23px)/1.3 var(--body);letter-spacing:-.02em;margin:4px 0 0}.project-intro .eyebrow{font-size:11px;color:#a5b19b}.viewer-details{top:14px;right:16px}.viewer-details>div{top:auto;bottom:44px}.project-dialog .carousel-controls{order:1;margin:14px auto 0;padding:5px;gap:16px}.project-dialog .carousel-controls button{width:36px;height:36px}.project-dialog:has(.single-slide-controls) .carousel-track{margin-bottom:0}.project-dialog .project-gallery.series-track{overflow-x:auto;overflow-y:hidden;gap:20px;scroll-snap-type:x mandatory;align-items:stretch}.project-dialog .project-gallery.series-track figure{flex:0 0 64%;width:64%;padding:20px 0 0;scroll-snap-align:center;transform:scale(calc(1 - var(--distance,0)*.075));opacity:calc(1 - var(--distance,0)*.2);transition:transform .5s var(--ease),opacity .5s var(--ease);transform-origin:center;position:relative}.project-dialog .series-track figure:first-child{margin-left:18%}.project-dialog .series-track figure:last-child{margin-right:18%}.project-dialog .series-track figure.active-slide{opacity:1;transform:scale(1);z-index:2}.project-dialog .series-track img,.project-dialog .series-track video{filter:drop-shadow(0 15px 30px #0005)}.project-dialog .series-track:focus-visible{outline:0}.project-dialog .series-track:focus-visible .active-slide{outline:1px solid #c5f46750;outline-offset:-1px;border-radius:16px}@media(max-width:760px){.project-image,.hero-film,.off-image,.off-image img{border-radius:14px}.project-dialog{width:98vw;height:95dvh;max-height:95dvh}.project-dialog .dialog-top{right:12px}.project-dialog:has(.carousel-track) .project-intro{padding:12px 125px 4px 16px!important;min-height:68px}.project-dialog:has(.carousel-track) .project-intro h2{font-size:16px}.project-dialog .project-gallery.series-track{gap:10px}.project-dialog .project-gallery.series-track figure{flex-basis:76%;width:76%;padding-top:10px}.project-dialog .series-track figure:first-child{margin-left:12%}.project-dialog .series-track figure:last-child{margin-right:12%}.project-dialog .carousel-controls{margin-top:10px}.project-dialog .project-gallery.carousel-track img,.project-dialog .project-gallery.carousel-track video{border-radius:12px}}@media(prefers-reduced-motion:reduce){.project-image,.hero-film,.off-image,.project-dialog .series-track figure{transition:none}.project-image:hover,.hero-film:hover,.off-card:hover .off-image{transform:none}}@media(hover:none){.project-image:hover,.hero-film:hover,.off-card:hover .off-image{transform:none;box-shadow:none}}

@media(min-width:761px){.project-dialog .project-gallery.series-track figure{flex-basis:min(62vw,580px);width:min(62vw,580px)}.project-dialog .series-track figure:first-child{margin-left:calc((100% - min(62vw,580px))/2)}.project-dialog .series-track figure:last-child{margin-right:calc((100% - min(62vw,580px))/2)}}
.project-image .hover-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:0;pointer-events:none;border-radius:inherit;transition:opacity .3s ease}.project-image.preview-playing .hover-video{opacity:1}.project-image .media-kind,.project-image .project-open{z-index:2}.project-image.preview-playing:after{content:'MUTED PREVIEW';position:absolute;bottom:19px;left:18px;z-index:2;color:#eef4e7;background:#131810b8;backdrop-filter:blur(10px);padding:7px 10px;border-radius:20px;font:10px var(--mono);letter-spacing:.03em}
.project-dialog .project-gallery.carousel-track figure{align-items:center;justify-content:center}.project-dialog .carousel-track .film-caption{width:100%}.slide-pick{position:absolute;inset:0;border:0;background:transparent;cursor:pointer;border-radius:16px;z-index:3}.slide-pick[hidden]{display:none}.slide-pick:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
/* Natural-ratio masonry: every image and video stays fully visible. */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1px;column-gap:24px;row-gap:0;align-items:start}.gallery-grid .project-card{align-self:start;min-width:0}.gallery-grid .project-image{aspect-ratio:auto}.gallery-grid .project-image img.natural-image{position:static;display:block;width:100%;height:auto;min-height:0;object-fit:contain;transform:none!important}.gallery-grid .project-image .hover-video{object-fit:contain}.gallery-grid .project-caption p{min-height:0}.project-dialog.has-document .document-reader{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;border-radius:14px;padding:0 16px;scrollbar-color:#738167 #1c2318;align-self:center;width:min(100%,1050px)}.document-reader figure{margin:0 0 25px}.document-reader img{display:block;width:100%;height:auto;border-radius:10px;background:white}.document-reader figcaption{text-align:center;color:#aab89f;font:12px var(--mono);padding:12px 0 0}.project-dialog.has-document .project-intro{position:relative;order:2;width:min(100%,1050px);align-self:center;padding:13px 270px 6px 16px!important;flex-shrink:0;min-height:65px}.project-dialog.has-document .project-intro h2{font:500 clamp(16px,1.8vw,23px)/1.3 var(--body);margin:4px 0 0;letter-spacing:-.02em}.project-dialog.has-document .project-intro>p{display:none}.document-download{position:absolute;right:145px;top:14px;padding:9px 13px;border:1px solid #ffffff20;background:#ffffff08;border-radius:24px;font-size:12px;color:#d0dfc2}.document-reader:focus-visible{outline:1px solid #c5f46760;outline-offset:3px}@media(max-width:1050px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.gallery-grid{grid-template-columns:1fr}.project-dialog.has-document .document-reader{padding:0 8px}.project-dialog.has-document .project-intro{padding:12px 130px 48px 16px!important}.document-download{left:16px;right:auto;top:auto;bottom:3px}.document-reader img{border-radius:7px}}

.ink-card .off-image img{width:100%;height:100%;object-fit:cover;padding:0}

.client-item img[src$="client-official-esm.webp"]{filter:invert(1);opacity:.8}
