:root{--bg:#121212;--text:#fff;--muted:#717171;--red:#BE1919;--edge:40px;--header-top:0px;--font:"din-condensed-variable","Arial Narrow",sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:110px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased}body.admin-bar{--header-top:32px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block}p,h1,h2{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:7px}.skip-link{position:fixed;top:10px;left:10px;z-index:200;transform:translateY(-200%);padding:12px;background:white;color:#121212}.skip-link:focus{transform:none}
/* Stable viewport units keep Safari toolbar motion from resizing the page during a swipe. */
.viewport-section{min-height:100vh;min-height:100svh}.site-header{position:fixed;z-index:30;inset:var(--header-top) 0 auto;display:flex;justify-content:space-between;align-items:center;padding:40px var(--edge);font-size:22px;line-height:26px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;isolation:isolate}.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg);opacity:0;transition:opacity 200ms ease}.is-scrolled .site-header::before{opacity:1}.disciplines{display:flex;align-items:center;gap:10px}.disciplines i{display:block;width:5px;height:5px;margin:0 1px;background:white;transform:rotate(45deg)}
.hero{position:relative;display:grid;place-items:center;overflow:hidden;padding:130px var(--edge);isolation:isolate}.hero-image{position:absolute;inset:0;z-index:-1}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:center}.reel-cta{display:flex;flex-direction:column;align-items:center;gap:10px;text-transform:uppercase;font-size:55px;line-height:1.2;letter-spacing:.02em;font-weight:600;transform:translateY(-11px)}.reel-symbol{display:block;width:78px;height:51px;overflow:visible;flex-shrink:0}.reel-opening{opacity:0}
.fixed-footer{position:fixed;z-index:25;inset:auto var(--edge) 40px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.fixed-footer a{pointer-events:auto}.brand-square{display:block;width:48px;height:48px}.brand-square img{transform:scale(1.06);transform-origin:left bottom}.footer-links{display:flex;align-items:center;gap:60px}.text-link{display:inline-flex;align-items:flex-start;justify-content:center;gap:8px;text-transform:uppercase;font-size:28px;line-height:21px;font-weight:400;letter-spacing:.04em;padding-block:11.5px;margin-block:-11.5px;min-height:44px}.small-link{font-size:21px;line-height:16px;font-weight:600;letter-spacing:.06em;gap:7px;padding-block:14px;margin-block:-14px}.arrow{display:block;flex-shrink:0;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.arrow-small{--arrow-size:13px;mask-image:url('../icons/arrow-small.svg');-webkit-mask-image:url('../icons/arrow-small.svg')}.arrow-large{--arrow-size:17px;mask-image:url('../icons/arrow-large.svg');-webkit-mask-image:url('../icons/arrow-large.svg')}.socials{display:flex;align-items:center;gap:15px}.socials a{display:flex;align-items:center;justify-content:center;position:relative;min-height:25px}.socials a::before{content:"";position:absolute;inset:-7px}.scroll-cue{position:absolute;bottom:0;left:50%;transform:translateX(-50%);transition:opacity 200ms ease}.past-hero .scroll-cue{opacity:0;pointer-events:none;visibility:hidden}
.bio{padding:130px var(--edge);display:grid;place-items:center}.bio-inner{width:min(900px,100%)}.bio-copy{text-align:center;text-transform:uppercase;font-size:51px;line-height:61px;letter-spacing:.04em;color:var(--muted)}/* Keep inherited paragraph/animated-word metrics identical, including Safari text sizing. */
.bio-copy p{font-size:inherit;line-height:inherit}.bio-copy p+p{margin-top:61px}.bio-name{color:white}.bio-mobile-links{display:none}.bio-word{display:inline-block;line-height:inherit;vertical-align:top}.bio-pending .bio-word{opacity:0;transform:translateY(12px)}.bio-playing .bio-word{animation:bio-line-in 650ms ease both;animation-delay:calc(var(--line,0)*110ms)}@keyframes bio-line-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.work{width:min(736px,calc(100% - 2*var(--edge)));margin:0 auto;padding:0 0 120px}.work h2{text-align:center;text-transform:uppercase;font-size:51px;line-height:61px;letter-spacing:.04em;font-weight:400;color:var(--muted);margin-bottom:40px}.work-list{display:grid;gap:32px}.work-item{position:relative;aspect-ratio:736/320;isolation:isolate;overflow:hidden;background:#191919;outline-offset:5px;touch-action:auto}.work-item>img,.work-item>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.work-item>video{opacity:0;transition:opacity 140ms ease}.work-item.video-playing>video{opacity:1}.work-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.5);opacity:0;transition:opacity 170ms ease;padding:20px;pointer-events:none}.work-title{text-transform:uppercase;font-size:34px;line-height:1.2;letter-spacing:.04em;transform:scale(1.25);transition:transform 200ms ease;text-align:center}.reveal-pending{opacity:0;transform:translateY(25px)}.reveal-visible{opacity:1;transform:none;transition:opacity 650ms ease,transform 650ms ease;transition-delay:var(--reveal-delay,0ms)}.all-work{display:flex;width:max-content;margin:28.5px auto -11.5px}
.contact{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:clamp(150px,28.1vh,234px) var(--edge) 126px;gap:90px;text-align:center}.contact-prompt{display:flex;flex-direction:column;align-items:center;gap:50px}.contact h2{font-weight:400;font-size:71px;line-height:75px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.cta-mobile{display:none}.wordmark-reveal{width:172px;height:60px}.production-signoff{display:flex;flex-direction:column;align-items:center;gap:20px}.queens{display:flex;gap:3px;align-items:center;color:var(--red);font-size:13px;line-height:16px;letter-spacing:.04em;text-transform:uppercase}.copyright{color:#555;font-size:10px;line-height:12px;letter-spacing:.04em;font-weight:300}.standard-page{max-width:900px;margin:auto;padding:180px 40px}.standard-page h1{margin-bottom:30px}.standard-page a{color:var(--red)}
/* The dialog is exactly the player size; close controls sit outside it. */
.reel-dialog{border:0;border-radius:0;outline:0;box-shadow:none;background:#000;color:white;padding:0;margin:auto;width:var(--player-width,min(1200px,calc(100vw - 32px)));max-width:calc(100vw - 24px);max-height:none;overflow:visible}
.reel-dialog::backdrop{background:rgba(0,0,0,.92)}
.reel-player{position:relative;width:100%;aspect-ratio:var(--video-ratio,16 / 9);background:#000;overflow:hidden;isolation:isolate;line-height:0;border:0;outline:0;box-shadow:none}
.reel-player iframe{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;box-shadow:none;background:#000;color-scheme:normal}
.reel-close{position:fixed;z-index:2;top:calc(max(var(--edge),env(safe-area-inset-top)) - 11.5px);right:calc(max(var(--edge),env(safe-area-inset-right)) - 11.5px);border:0;width:44px;height:44px;padding:0;background:none;display:grid;place-items:center;cursor:pointer}.reel-close img{width:21px;height:21px}
body.reel-open{position:fixed;top:var(--reel-scroll-top,0px);left:0;width:100%;overflow:hidden}
html.reel-is-open{scroll-behavior:auto}
@media(min-width:1600px){.work{width:min(960px,calc(100% - 2*var(--edge)))}.bio-inner{width:1100px}.bio-copy{font-size:60px;line-height:1.2}.bio-copy p+p{margin-top:1.2em}}
@media(max-width:782px){body.admin-bar{--header-top:46px}}
@media(max-width:767px){
 html{scroll-padding-top:100px}.site-header{align-items:flex-start;flex-direction:column;gap:8px;font-size:20px;line-height:24px;padding:40px var(--edge);transition:padding 200ms ease}.site-name{font-size:32px;line-height:38.4px;letter-spacing:.06em;transition:font-size 200ms ease,line-height 200ms ease,letter-spacing 200ms ease}.is-scrolled .site-name{font-size:20px;line-height:24px}.is-scrolled .site-header{padding-top:20px;padding-bottom:20px}.disciplines{font-size:13px;line-height:16px;gap:10px}.disciplines i{width:4px;height:4px;margin:0 2px}.hero{place-items:center start;padding:130px var(--edge)}.reel-cta{flex-direction:row-reverse;font-size:39px;gap:10px;transform:none}.reel-symbol{width:59.647px;height:39px}.fixed-footer{bottom:max(40px,env(safe-area-inset-bottom));align-items:center}.brand-square{width:45px;height:46px}.brand-square img{transform:none}.fixed-footer .footer-links{display:none}.fixed-footer .scroll-cue{bottom:0}.scroll-cue{left:auto;right:0;transform:none}.bio{padding:140px var(--edge);min-height:100vh;min-height:100svh}.bio-inner{width:100%}.bio-copy{text-align:left;font-size:28px;line-height:41px;letter-spacing:.04em}.bio-copy p+p{margin-top:41px}.bio-mobile-links{display:flex;justify-content:flex-start;align-items:flex-start;flex-direction:column;margin-top:70px;gap:24px}.bio-mobile-links .socials{gap:0}.bio-mobile-links .socials a{min-width:44px;min-height:44px;justify-content:flex-start}.bio-mobile-links .socials a::before{display:none}.bio-mobile-links .social-icon{transform:scale(1.3846153846);transform-origin:left center}.work{width:100%;padding-bottom:120px}.work h2{font-size:31px;line-height:37px;text-align:left;margin:0 var(--edge) 40px}.work-list{gap:14px}.work-item{aspect-ratio:393/187}.work-title{font-size:28px}.work>.all-work{margin-left:var(--edge);margin-right:auto;justify-content:flex-start}.contact{align-items:flex-start;text-align:left;padding:clamp(180px,38.46vh,320px) var(--edge) 120px;gap:100px}.contact-prompt{align-items:flex-start}.contact h2{font-size:51px;line-height:51px}.cta-desktop{display:none}.cta-mobile{display:inline}.production-signoff{align-items:flex-start}.wordmark-reveal{width:122px;height:42.424px}.wordmark{transform:scale(.709302);transform-origin:left top;margin:0}
}
@media(max-width:359px){:root{--edge:24px}.reel-cta{font-size:35px}.bio-copy{font-size:26px;line-height:38px}.bio-mobile-links{gap:10px}.contact h2{font-size:46px;line-height:49px}}
@media(max-height:650px) and (min-width:768px){.bio{padding-block:120px}.contact{padding-top:150px;padding-bottom:120px;gap:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.bio-pending .bio-word,.bio-playing .bio-word,.reveal-pending{opacity:1;transform:none}}

/* Exact Figma exports, top-aligned with the tight text line box. */
.arrow{width:var(--arrow-size);height:var(--arrow-size);margin:0;transform-origin:center}
a,button{touch-action:manipulation}
.text-link{min-height:44px}
.link-label{position:relative;display:inline-block}

.scroll-cue{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.scroll-chevron{display:block;width:29px;height:15px;flex-shrink:0;background:#676767;-webkit-mask:url('../icons/scroll-chevron.svg') center/contain no-repeat;mask:url('../icons/scroll-chevron.svg') center/contain no-repeat}
/* 800ms of movement, then 2000ms still. The second chevron trails by 200ms. */
@keyframes scroll-nudge{
  0%{transform:translateY(0);background:#fff}
  5%{background:#fff}
  12%{background:#676767}
  14.2857%{transform:translateY(12px)}
  28.5714%,100%{transform:translateY(0);background:#676767}
}
@media(min-width:768px) and (hover:hover) and (pointer:fine){
  html:not(.touch-input) .link-label{background:linear-gradient(to right,var(--red) 50%,#fff 50%) 100% 0 / 200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:background-position 175ms ease}
  html:not(.touch-input) :is(a:not(.reel-cta),button:not(:disabled)):is(:hover,:focus-visible) .link-label{background-position:0 0}
  html:not(.touch-input) .arrow{transition:transform 250ms ease,background-color 100ms ease 75ms}
  html:not(.touch-input) .text-link:not(:disabled):is(:hover,:focus-visible) .arrow{transform:rotate(45deg);background:var(--red)}
  html:not(.touch-input) .socials a{transition:color 175ms ease}
  html:not(.touch-input) .socials a:is(:hover,:focus-visible){color:var(--red)}
  html:not(.touch-input) .work-item.is-active .work-overlay{opacity:1}
  html:not(.touch-input) .work-item.is-active .work-title{transform:scale(1)}
}
@media(prefers-reduced-motion:no-preference){
  html:not(.is-loading) .scroll-chevron{animation:scroll-nudge 2800ms ease-in-out infinite}
  html:not(.is-loading) .scroll-chevron:nth-child(2){animation-delay:200ms}
}
/* Natural scrolling is never animated globally. The chevron opts into smooth scrolling. */
html .reel-cta .link-label{transition:none}

/* Original Figma vector geometry, animated as independent logo parts. */
.site-loader{display:none;position:fixed;inset:0;z-index:100000;place-items:center;background:var(--bg)}
.site-loader[hidden]{display:none!important}
.is-loading{overflow:hidden}
.is-loading .site-loader{display:grid}
.is-loading .site-shell{opacity:0;pointer-events:none}
.loader-mark{width:clamp(37.6px,9.4vw,169.2px);height:auto;overflow:visible;opacity:0;transform:scale(.8)}
.loader-outline{opacity:1}
.loader-wipe{clip-path:polygon(0 100%,0 100%,0 100%)}
.loader-letter{opacity:0;transform:scale(0);transform-box:fill-box;transform-origin:center}
.loader-running .loader-mark{animation:loader-arrive 80ms ease-out both}
.loader-running .loader-wipe{animation:loader-diagonal 170ms ease-in-out 80ms both}
.loader-letters .loader-letter{animation:loader-letter-in 250ms ease-out both}
.loader-exiting .site-loader{opacity:0;transition:opacity 300ms ease}
.loader-exiting .loader-mark{animation:loader-depart 300ms ease-in both}
.loader-exiting .site-shell{opacity:1;transition:opacity 300ms ease}
@keyframes loader-arrive{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}
@keyframes loader-diagonal{from{clip-path:polygon(0 100%,0 100%,0 100%)}to{clip-path:polygon(0 100%,0 -100%,200% 100%)}}
@keyframes loader-letter-in{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
@keyframes loader-depart{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.65)}}
@media(prefers-reduced-motion:reduce){
  .is-loading .site-shell{opacity:1;pointer-events:auto}
  .site-loader{display:none!important}
  .arrow{transform:none!important}
  .work-title{transform:none}
}

@media(hover:none) and (pointer:coarse){
  .fixed-footer .footer-links{display:none}
  .bio-mobile-links{display:flex;justify-content:flex-start;align-items:flex-start;flex-direction:column;gap:24px;margin-top:70px}
  .bio-mobile-links .socials{gap:0}
  .bio-mobile-links .socials a{min-width:44px;min-height:44px;justify-content:flex-start}
  .bio-mobile-links .socials a::before{display:none}
}

/* Mobile loader: twice the previous size. Desktop is reduced by six percent. */
@media(max-width:767px),(hover:none) and (pointer:coarse){
  .loader-mark{width:clamp(80px,20vw,360px)}
}
/* Two restrained beats in each two-second cycle. */
.heart{transform-origin:center;animation:heart-beat 2000ms ease-in-out infinite;animation-play-state:paused}
html:not(.document-hidden):not(.is-loading) .queens.is-inview .heart{animation-play-state:running}
@keyframes heart-beat{
  0%,10%,23%,100%{transform:scale(1)}
  5%,16%{transform:scale(1.14)}
}

/* Original SVG masks inherit the same red as the other desktop links. */
.social-icon{display:block;width:13px;height:13px;background:currentColor;-webkit-mask:var(--social-icon) center/contain no-repeat;mask:var(--social-icon) center/contain no-repeat}
.social-instagram{--social-icon:url('../icons/instagram.svg')}
.social-linkedin{--social-icon:url('../icons/linkedin.svg')}
.social-vimeo{--social-icon:url('../icons/vimeo.svg');width:16px}
.social-tiktok{--social-icon:url('../icons/tiktok.svg');width:12px}
.social-youtube{--social-icon:url('../icons/youtube.svg');width:19px}
html.document-hidden .scroll-chevron,.past-hero .scroll-chevron{animation-play-state:paused}
/* Figma 8:126, darkened by 12 percentage points: #191919 at 42%, beneath a centered black radial at 20%.
   Only raw uploaded media is treated; exported Figma stills are already graded. */
.hero-treated{isolation:isolate}
.hero-treated::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(0,0,0,.2) 0%,rgba(0,0,0,0) 100%),linear-gradient(rgba(25,25,25,.42),rgba(25,25,25,.42))}
.hero-treated>img,.hero-video{filter:grayscale(1)}
.hero-video-layer{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity 200ms ease}
.hero-video-layer.is-playing{opacity:1}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.work-item{display:block}

.standard-page article+article{margin-top:60px}.standard-page img{max-width:100%;height:auto;margin-bottom:30px}

/* Pointer taps must not inherit the keyboard focus ring after a dialog opens. */
html.pointer-input :is(a,button,[tabindex]):focus{outline:none}
button,.text-link,.reel-cta,.site-name,.socials a{-webkit-user-select:none;user-select:none}
.site-name{position:relative}
.site-name::before{content:"";position:absolute;inset:-10px 0;min-height:44px}
/* Hide entrances before the loader starts revealing the shell. */
@media(prefers-reduced-motion:no-preference){
 .is-loading [data-reveal]:not(.reveal-visible){opacity:0;transform:translateY(25px)}
}

/* A short opacity flash confirms touch activation without color or layout changes.
   JavaScript applies this only to taps, never to swipe/scroll gestures. */
a.tap-feedback,button.tap-feedback{filter:opacity(.55)}
