@font-face{
  font-family:'Geist Mono';src:url('../fonts/GeistMono-Variable.ttf') format('truetype');
  font-style:normal;font-weight:100 900;font-display:swap;
}
:root{--mono:'Geist Mono',monospace}
.site-header{gap:clamp(18px,3vw,48px)}
.language-switcher{display:flex;align-items:center;gap:10px;flex:none;font-size:14px}
.language-switcher a{opacity:.55;transition:opacity .2s}
.language-switcher a:hover{opacity:1}
.language-switcher [aria-current]{border-bottom:1px solid currentColor}
.services-intro{max-width:780px;margin:35px 0 40px 63px}
.service-row__body{max-width:850px;margin:0 0 36px 63px;font-size:17px;line-height:1.65}
.service-row__body h4{font-size:22px;letter-spacing:-.035em;margin:0 0 20px}
.service-row__body p{margin-bottom:18px}
.service-projects{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:25px}
.service-projects a{border-bottom:1px solid var(--line)}
.service-projects span{opacity:.6}
.lab-research{display:grid;grid-template-columns:1fr 1.8fr;gap:6vw;padding-bottom:60px}
.contact-direct.prose p{font-size:19px;line-height:1.6}
.project-games{padding-bottom:65px}
.project-games__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:30px}
.game-card__heading{display:flex;align-items:baseline;gap:16px;margin-bottom:20px}
.game-card__heading h3{font-size:clamp(25px,2.7vw,45px);letter-spacing:-.05em}
.game-player{position:relative;aspect-ratio:842/526;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f2f4f2)}
.game-player__preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.game-player__launch{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:rgba(255,255,255,.72)}
.game-player__launch[hidden],.game-card__actions [hidden]{display:none}
.game-player__icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid currentColor;border-radius:50%;font-size:32px;transition:transform .25s}
.game-player__launch:hover .game-player__icon{transform:rotate(45deg)}
.game-player iframe{display:block;position:absolute;top:0;left:0;width:842px;height:526px;border:0;transform:scale(var(--game-scale,1));transform-origin:0 0}
.game-card.is-game-active .game-player__preview{visibility:hidden}
.game-card__actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:18px}
.game-card__actions .text-link{font-size:13px;text-align:left}
@media(max-width:1000px){.project-games__grid{grid-template-columns:1fr;gap:38px}.game-card__heading h3{font-size:34px}.game-player{max-height:650px}.game-card__actions .text-link{font-size:15px}}
@media(max-width:760px){
 .site-header{gap:14px;flex-wrap:wrap}
 .site-header .brand{margin-right:auto}
 .site-header .brand__symbol{width:29px;height:29px;margin-left:7px}
 .language-switcher{gap:8px;font-size:13px}
 .menu-toggle{margin-left:0}
 .services-intro,.service-row__body{margin-left:0}
 .lab-research{grid-template-columns:1fr;gap:25px;padding-bottom:40px}
}
@media(max-width:370px){.site-header .brand{font-size:28px}.site-header{gap:10px}.site-header .brand__symbol{width:25px;height:25px}}
body{font-size:19px}
.mono,.section-label,.eyebrow{font-family:var(--mono);font-weight:450;letter-spacing:0;font-size:13px;line-height:1.6}
.nav-list a{font-family:var(--mono);font-size:16px;font-weight:500;letter-spacing:-.035em;line-height:1.5}
.nav-list li:last-child a{padding:12px 21px}
.header-note{font-size:12px}
.menu-toggle{font-size:15px;font-weight:500}
.pill-link,.filter-button,.field-pause,.hero-controls button,.lab-controls button,.back-top,.text-link{font-family:var(--mono);font-weight:500;letter-spacing:-.025em}
.pill-link{font-size:18px;min-height:62px;padding:17px 26px;gap:28px}
.text-link{font-size:15px;line-height:1.5;padding-bottom:5px}
.filter-button{font-size:14px;padding:12px 17px;line-height:1.45;min-height:46px}
.archive-result,.project-card__caption>.mono,.project-facts,.project-facts dt,.project-facts dd,.footer-bottom{font-size:12px}
.project-facts dd{font-size:13px;line-height:1.6}
.project-card__caption{border-bottom:0;padding-top:17px;gap:18px}
.project-card__caption>.mono{max-width:210px}
.project-card__link:hover img{transform:scale(1.022)}
.featured-project:hover>img{transform:scale(1.018)}
.hero__bottom p,.hero--immersive .hero__bottom p,.manifesto__copy,.lab-teaser__copy>p:not(.eyebrow),.lab-controls p,.process-grid p,.contact-strip__bottom p,.contact-direct>p+p{font-size:17px;line-height:1.6}
.footer-top>p{font-size:16px;line-height:1.5}
.hero-baseline{font-size:12px}
.hero-controls{max-width:420px;font-size:12px;gap:14px 21px;padding:16px 19px}
.hero-controls button,.hero-intensity{font-size:12px}
.hero-intensity input{width:160px}
.field-instructions{font-size:11px;line-height:1.6}
.lab-controls label{font-size:13px}
.lab-controls__buttons .pill-link{font-size:15px;padding:13px 20px;min-height:50px}
.lab-canvas__hint,.field-top,.field-bottom{font-size:12px}
.workshop-row p{font-size:13px}
.contact-form legend,.contact-form>label,.form-two>label{font-family:var(--mono);font-size:15px;font-weight:500;line-height:1.6}
.contact-choices>label,.contact-choices span{font-family:var(--mono);font-size:14px;font-weight:450;line-height:1.5}
.contact-choices span{padding:12px 16px}
.contact-form input:not([type=radio]),.contact-form textarea{font-family:var(--mono);font-size:19px;line-height:1.65;letter-spacing:-.025em;padding-block:16px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#686c65}
.contact-form textarea{min-height:150px}
.contact-form__note{font-size:12px;line-height:1.65;max-width:560px}
.contact-form>.pill-link{font-size:18px;min-width:300px;min-height:64px}
.contact-direct>.text-link,.copy-status,.contact-form>[role=status]{font-size:13px}
.contact-direct>.text-link{margin-top:20px}
.contact-email{font-family:var(--mono);font-size:clamp(23px,2.1vw,34px);font-weight:500;letter-spacing:-.055em}
/* Photographs retain a sharply cut, slowly moving polygon. */
.photo-surface{
  position:relative;isolation:isolate;
  clip-path:polygon(8% 12%,73% 0%,100% 19%,91% 88%,26% 100%,0% 66%);
  animation:pb-contour-one 22s ease-in-out infinite alternate;
  animation-delay:var(--contour-phase,0s);
  animation-play-state:paused;
}
.photo-surface.is-contour-visible{animation-play-state:running}
.contours-paused .photo-surface{animation-play-state:paused}
.photo-surface[data-photo-contour="2"]{animation-name:pb-contour-two;animation-duration:25s}
.photo-surface[data-photo-contour="3"]{animation-name:pb-contour-three;animation-duration:27s}
.photo-surface[data-photo-contour="4"]{animation-name:pb-contour-four;animation-duration:24s}
@keyframes pb-contour-one{
  0%{clip-path:polygon(8% 12%,73% 0%,100% 19%,91% 88%,26% 100%,0% 66%)}
  50%{clip-path:polygon(15% 3%,79% 6%,98% 31%,84% 97%,17% 92%,2% 56%)}
  100%{clip-path:polygon(3% 18%,68% 2%,96% 13%,99% 80%,32% 97%,0% 73%)}
}
@keyframes pb-contour-two{
  0%{clip-path:polygon(17% 1%,88% 12%,100% 65%,79% 99%,5% 87%,0% 25%)}
  50%{clip-path:polygon(25% 0%,96% 21%,93% 72%,69% 96%,1% 79%,5% 17%)}
  100%{clip-path:polygon(10% 7%,81% 3%,99% 55%,87% 93%,12% 99%,1% 36%)}
}
@keyframes pb-contour-three{
  0%{clip-path:polygon(5% 23%,67% 1%,96% 12%,100% 76%,39% 100%,0% 86%)}
  50%{clip-path:polygon(1% 31%,75% 7%,100% 24%,94% 85%,29% 96%,7% 76%)}
  100%{clip-path:polygon(12% 15%,60% 0%,93% 6%,98% 67%,48% 97%,0% 93%)}
}
@keyframes pb-contour-four{
  0%{clip-path:polygon(27% 0%,94% 17%,100% 72%,71% 100%,1% 81%,7% 16%)}
  50%{clip-path:polygon(19% 5%,87% 7%,98% 62%,79% 95%,5% 90%,0% 25%)}
  100%{clip-path:polygon(35% 2%,100% 26%,94% 81%,61% 98%,0% 71%,13% 9%)}
}
@media(prefers-reduced-motion:reduce){.photo-surface{animation:none}}
.project-card__image,.featured-project,.project-cover,.studio-image,.gallery-item a{background:transparent}
.project-card__image>.photo-surface,.featured-project>.photo-surface{position:absolute;inset:0}
.project-card__image .photo-surface>img,.featured-project .photo-surface>img{width:100%;height:100%;object-fit:cover}
.project-card__index{background:transparent}
.featured-project::after{display:none}
.featured-project>.photo-surface::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 40%,rgba(0,0,0,.5));z-index:3}
.featured-project__top,.featured-project__bottom{left:13%;right:13%}
.featured-project__top{top:14%}
.featured-project__bottom{bottom:16%}
.featured-project__bottom h2{font-size:clamp(85px,10vw,180px)}
.gallery-item .photo-surface{height:100%}
.single-pb_project .project-gallery{align-items:start}
.single-pb_project .project-gallery .gallery-item{min-width:0}
.single-pb_project .project-gallery .gallery-item a{
 width:min(100%,calc(950px * var(--photo-ratio,1)));height:auto;margin-inline:auto;
}
.single-pb_project .project-gallery .photo-surface{height:auto;aspect-ratio:var(--photo-ratio,1)}
.single-pb_project .project-gallery .photo-surface>img{width:100%;height:100%;max-height:none;object-fit:contain}
.project-cover .photo-surface>img{width:100%;max-height:860px;min-height:350px;object-fit:cover}
.featured-project:hover .photo-surface>img{transform:scale(1.018);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (pointer:fine){
 .single-pb_project .project-gallery .photo-surface{transition:clip-path .45s cubic-bezier(.2,.7,.2,1)}
 .single-pb_project .gallery-item a:hover .photo-surface,
 .single-pb_project .gallery-item a:focus-visible .photo-surface{
  clip-path:polygon(0% 0%,50% 0%,100% 0%,100% 100%,50% 100%,0% 100%)!important;
 }
}
@media(prefers-reduced-motion:reduce){.single-pb_project .project-gallery .photo-surface{transition:none}}
@media(max-width:760px){
 .featured-project__top,.featured-project__bottom{left:12%;right:12%}
 .featured-project__top{top:16%;font-size:11px}
 .featured-project__bottom{bottom:17%}
 .featured-project__bottom h2{font-size:86px}
 .featured-project__arrow{font-size:60px}
 .project-cover .photo-surface>img{min-height:360px;max-height:580px}
}
@media(max-width:1100px){.hero-controls{max-width:370px}.hero--immersive .hero__bottom p{font-size:16px}}
@media(max-width:760px){
  body{font-size:18px}
  .mono,.section-label,.eyebrow{font-size:12px}
  .mobile-nav-list a{font-family:var(--mono);font-size:clamp(29px,7.5vw,48px);font-weight:500;letter-spacing:-.06em;line-height:1.65}
  .pill-link{font-size:17px;min-height:58px;padding:15px 21px}
  .text-link,.back-top{font-size:14px}
  .filter-button{font-size:13px;padding:11px 14px}
  .hero--immersive{min-height:840px}
  .hero--immersive .hero__bottom p{font-size:15px}
  .hero--immersive .eyebrow{font-size:11px}
  .hero--immersive .field-top{bottom:230px;font-size:11px}
  .hero--immersive .field-bottom{flex-direction:column;gap:14px;align-items:stretch;bottom:24px;font-size:12px}
  .field-instructions{max-width:none;align-self:start;font-size:11px;padding:0}
  .hero-controls{max-width:none;width:100%;padding:14px 16px;gap:13px 25px;font-size:12px}
  .hero-controls button,.hero-intensity{font-size:12px}
  .hero-intensity input{width:100%}
  .hero-intensity output{min-width:22px}
  .section-heading>.mono:last-child{font-size:11px;max-width:160px}
  .hero-baseline,.footer-bottom,.archive-link>.mono{font-size:11px}
  .project-card__caption>.mono{font-size:11px;max-width:145px}
  .project-facts dt{font-size:11px}.project-facts dd{font-size:12px}
  .workshop-row p,.lab-canvas__hint{font-size:12px}
  .contact-choices span{font-size:13px;padding:11px 14px}
  .contact-form input:not([type=radio]),.contact-form textarea{font-size:18px}
  .contact-form legend,.contact-form>label,.form-two>label{font-size:14px}
  .form-two{grid-template-columns:1fr;gap:0}
  .contact-form__note,.contact-direct>.text-link,.contact-form>[role=status]{font-size:12px}
  .contact-form>.pill-link{font-size:17px;width:100%;min-width:0}
  .contact-page header>.eyebrow{font-size:11px;max-width:100%}
}
