.hero-scope{--paper: #ffffff;--ink: #121212;--signal: #ea4a25;--font-brand: "Helvetica Neue", "Arial Nova", Arial, sans-serif;--gutter: clamp(20px, 2vw, 36px);--hero-progress: 0;--header-color: #121212;--header-mark-background: #121212;--header-mark-color: #ffffff}.header-on-dark .hero-scope{--header-color: #ffffff;--header-mark-background: #ffffff;--header-mark-color: #171616}.hero-scope *{box-sizing:border-box}.hero-scope{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font-brand);font-weight:700;overflow-x:clip}.hero-scope a{color:inherit;text-decoration:none}.hero-scope .hero-sequence{height:100svh;position:relative}.hero-scope .hero{position:relative;width:100%;height:100svh;overflow:hidden;background:var(--paper);isolation:isolate}.hero-scope .site-header{position:fixed;z-index:20;inset:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;padding:22px var(--gutter);color:var(--header-color);transition:color .2s ease;text-transform:uppercase}.hero-scope .wordmark{display:flex;align-items:center;gap:10px;font-size:clamp(20px,2vw,31px);line-height:1;letter-spacing:-.055em}.hero-scope .wordmark-mark{display:grid;place-items:center;width:1.12em;aspect-ratio:1;border-radius:50%;color:var(--header-mark-color);background:var(--header-mark-background);transition:color .2s ease,background-color .2s ease;font-size:.68em;font-style:italic}.hero-scope .site-nav{display:flex;gap:clamp(20px,3.2vw,56px);font-size:12px;line-height:1;letter-spacing:-.02em}.hero-scope .site-nav a{position:relative}.hero-scope .site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .35s ease}.hero-scope .site-nav a:hover:after,.hero-scope .site-nav a:focus-visible:after{right:0}.hero-scope .shape-wrap{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;height:100%;will-change:opacity}.hero-scope .webgl-shape,.hero-scope .webgl-shape canvas,.hero-scope .shape-fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero-scope .webgl-shape canvas{display:block}.hero-scope .shape-fallback{background:#090909;-webkit-mask:url(/assets/tts-shape-mask.png) center / contain no-repeat;mask:url(/assets/tts-shape-mask.png) center / contain no-repeat}.hero-scope .no-webgl .webgl-shape{display:none}.hero-scope .hero-copy,.hero-scope .scroll-cue{position:absolute;z-index:4;bottom:24px;text-transform:uppercase;font-size:clamp(17px,1.55vw,23px);line-height:.98;letter-spacing:-.045em}.hero-scope .hero-copy{left:var(--gutter)}.hero-scope .hero-copy p{margin:0}.hero-scope .scroll-cue{right:var(--gutter);display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.04em}.hero-scope .scroll-cue i{display:block;width:36px;height:1px;background:currentColor;transform-origin:left;animation:cue 1.8s ease-in-out infinite}.hero-scope .progress{position:absolute;z-index:4;right:0;top:0;bottom:0;width:2px;background:#0000000f}.hero-scope .progress span{display:block;width:100%;height:calc(var(--hero-progress) * 100%);background:var(--signal)}.hero-scope .work-section{position:relative;min-height:118svh;padding:22px var(--gutter) 56px;background:#171616;color:var(--paper)}.hero-scope .work-kicker{display:flex;justify-content:space-between;margin-bottom:18px;text-transform:uppercase;font-size:11px;letter-spacing:.03em}.hero-scope .work-media{position:relative;height:min(68vw,72svh);min-height:430px;overflow:hidden;background:url(/assets/scene-night.jpg) center / cover}.hero-scope .work-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000001f}.hero-scope .work-media__grain{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;opacity:.12;background-image:url(/assets/grain.png);animation:grain .25s steps(2) infinite}.hero-scope .work-index{position:absolute;z-index:2;top:20px;left:20px;font-size:clamp(12px,1vw,16px)}.hero-scope .work-footer{display:flex;justify-content:space-between;align-items:flex-end;padding-top:20px;text-transform:uppercase}.hero-scope .work-footer h1{margin:0;font-size:clamp(56px,10vw,156px);line-height:.76;letter-spacing:-.075em;font-weight:700}.hero-scope .work-footer p{margin:0;font-size:11px;line-height:1.35;text-align:right}.hero-scope .portfolio-section{position:relative;min-height:125svh;padding:100px var(--gutter) clamp(140px,18vw,300px);overflow:hidden;color:var(--paper);background:#171616}.hero-scope .portfolio-heading{position:relative;z-index:2;display:flex;align-items:baseline;justify-content:space-between;margin-bottom:clamp(72px,10vw,150px);text-transform:uppercase}.hero-scope .portfolio-heading h1{margin:0;font-size:12px;line-height:1;letter-spacing:.03em}.hero-scope .portfolio-heading span{font-size:10px;letter-spacing:.04em}.hero-scope .portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3.2vw,54px) clamp(16px,1.7vw,28px);align-items:start}.hero-scope .portfolio-card{display:block;min-width:0;margin:0;padding:0;border:0;color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}.hero-scope .portfolio-card:nth-child(4n+2){transform:translateY(9vw)}.hero-scope .portfolio-card:nth-child(4n+3){transform:translateY(3vw)}.hero-scope .portfolio-card:nth-child(4n+4){transform:translateY(7vw)}.hero-scope .portfolio-card__media{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;background:#0b0b0b}.hero-scope .portfolio-card:nth-child(3n+2) .portfolio-card__media{aspect-ratio:4 / 3.55}.hero-scope .portfolio-card:nth-child(3n) .portfolio-card__media{aspect-ratio:16 / 10}.hero-scope .portfolio-card__media img,.hero-scope .portfolio-card__media video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .5s ease}.hero-scope .portfolio-card:hover .portfolio-card__media img,.hero-scope .portfolio-card:hover .portfolio-card__media video,.hero-scope .portfolio-card:focus-visible .portfolio-card__media img,.hero-scope .portfolio-card:focus-visible .portfolio-card__media video{transform:scale(1.045);filter:saturate(1.08)}.hero-scope .portfolio-card__meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding-top:10px;text-transform:uppercase}.hero-scope .portfolio-card__meta strong{overflow:hidden;font-size:clamp(18px,1.7vw,28px);line-height:.95;letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap}.hero-scope .portfolio-card__meta span{grid-column:1;font-size:9px;line-height:1.2;letter-spacing:.03em;opacity:.72}.hero-scope .portfolio-card__meta i{grid-column:2;grid-row:1 / span 2;font-size:9px;font-style:normal;opacity:.72}.hero-scope .project-dialog{width:min(1120px,calc(100vw - 36px));max-width:none;padding:0;border:0;color:var(--paper);background:#171616}.hero-scope .project-dialog::backdrop{background:#0a0a0ad1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-scope .project-dialog__close{position:absolute;z-index:2;top:14px;right:14px;padding:9px 12px;border:0;color:#171616;background:var(--paper);font:700 10px/1 var(--font-brand);text-transform:uppercase;cursor:pointer}.hero-scope .project-dialog__media{width:100%;aspect-ratio:16 / 9;background:#090909}.hero-scope .project-dialog__media img,.hero-scope .project-dialog__media video{display:block;width:100%;height:100%;object-fit:cover}.hero-scope .project-dialog__meta{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:18px;text-transform:uppercase}.hero-scope .project-dialog__meta h2{margin:0;font-size:clamp(34px,6vw,86px);line-height:.82;letter-spacing:-.06em}.hero-scope .project-dialog__meta p{margin:0;font-size:10px;text-align:right}.hero-scope .about-section{min-height:100svh;display:flex;align-items:center;padding:8vw var(--gutter);background:var(--paper)}.hero-scope .about-section p{width:min(1060px,90%);margin:0;font-size:clamp(40px,7vw,110px);line-height:.91;letter-spacing:-.06em;text-transform:uppercase}@keyframes cue{0%,to{transform:scaleX(.25);opacity:.45}50%{transform:scaleX(1);opacity:1}}@keyframes grain{0%{transform:translateZ(0)}25%{transform:translate3d(3%,-2%,0)}50%{transform:translate3d(-2%,4%,0)}75%{transform:translate3d(4%,2%,0)}}@media (min-width: 769px) and (max-width: 1099px){.hero-scope .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-scope .portfolio-card{transform:none!important}.hero-scope .portfolio-card:nth-child(3n+2){transform:translateY(8vw)!important}}@media (max-width: 768px){.hero-scope{--gutter: 18px}.hero-scope .site-header{padding-top:18px}.hero-scope .site-nav{gap:18px;font-size:10px}.hero-scope .hero-copy{bottom:22px;font-size:16px;max-width:210px}.hero-scope .scroll-cue{bottom:24px}.hero-scope .scroll-cue i{width:22px}.hero-scope .work-section{padding-top:18px}.hero-scope .work-media{height:64svh;min-height:360px}.hero-scope .work-footer{align-items:flex-start;gap:24px;flex-direction:column}.hero-scope .work-footer h1{font-size:clamp(58px,19vw,100px)}.hero-scope .work-footer p{text-align:left}.hero-scope .portfolio-section{padding-top:88px}.hero-scope .portfolio-grid{grid-template-columns:1fr;gap:64px}.hero-scope .portfolio-card,.hero-scope .portfolio-card:nth-child(3n+2){transform:none!important}}@media (max-width: 430px){.hero-scope .wordmark{font-size:19px;gap:7px}.hero-scope .site-nav a:nth-child(2){display:none}.hero-scope .hero-copy{font-size:15px;bottom:20px}.hero-scope .scroll-cue{font-size:9px;bottom:21px}.hero-scope .scroll-cue i{display:none}.hero-scope .work-media{margin-inline:calc(var(--gutter) * -1)}.hero-scope .work-kicker{font-size:9px}.hero-scope .portfolio-heading{margin-bottom:62px}.hero-scope .portfolio-grid{grid-template-columns:1fr;gap:58px}.hero-scope .portfolio-card,.hero-scope .portfolio-card:nth-child(3n+2){transform:none!important}.hero-scope .portfolio-card__meta strong{font-size:25px}.hero-scope .project-dialog{width:calc(100vw - 20px)}.hero-scope .project-dialog__media{aspect-ratio:4 / 5}.hero-scope .project-dialog__meta{align-items:flex-start;flex-direction:column}.hero-scope .project-dialog__meta p{text-align:left}}@media (prefers-reduced-motion: reduce){.hero-scope *,.hero-scope *:before,.hero-scope *:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.reduced-motion .hero-scope *,.reduced-motion .hero-scope *:before,.reduced-motion .hero-scope *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
