@font-face{font-family:VCR;src:url('/assets/VCR_OSD_MONO_1.001.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Acidic;src:url('/assets/Acidic.TTF') format('truetype');font-display:swap;font-weight:400}
:root{--blue:#0b426d;--ink:#f3f3eb;--muted:#c0d8e6;--line:#7094ae;--ease:cubic-bezier(.23,1,.32,1);--gutter:clamp(20px,5vw,80px);color-scheme:dark}
*{box-sizing:border-box}html{background:var(--blue);scroll-padding-top:100px}body{margin:0;background:var(--blue);color:var(--ink);font-family:VCR,monospace;font-size:16px;line-height:1.5;font-synthesis:none}body::before{content:'';position:fixed;inset:0;z-index:-1;background:url('/assets/blue-sky.jpg') center/40px 100% repeat-x;pointer-events:none}::selection{background:var(--ink);color:var(--blue)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px;touch-action:manipulation}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,video:focus-visible{outline:2px solid var(--ink);outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}img,video{max-width:100%;display:block}a{transition:opacity 160ms ease}a:active{opacity:.7}.brand{font-family:Acidic,monospace;font-size:36px;line-height:1.1;text-decoration:none;white-space:nowrap}.header{padding:0 var(--gutter);background:var(--blue)}nav{height:88px;max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr 2fr 1fr 1fr;align-items:center;gap:20px}nav a{text-decoration:none;text-transform:uppercase;font-size:16px;padding:12px 0}nav .brand{text-transform:none;text-align:center;font-size:38px}nav a:nth-last-child(-n+2){text-align:right}nav a[aria-current]{text-decoration:underline;text-underline-offset:7px}main{max-width:1600px;margin:auto;padding:0 var(--gutter)}.home-intro{padding:52px 0 58px;display:flex;align-items:end;justify-content:space-between;gap:32px}.home-intro h1{font-size:clamp(25px,3.4vw,52px);line-height:1.12;max-width:900px}.home-intro p{color:var(--muted);white-space:nowrap;padding-bottom:4px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-head h2,.section-title{font-size:18px;text-transform:uppercase}.section-head a{font-size:14px;padding:8px 0}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 24px}.work-link{text-decoration:none;display:block}.poster{position:relative;overflow:hidden;background:#072e4c;aspect-ratio:16/9}.poster img{width:100%;height:100%;object-fit:cover;transition:transform 260ms var(--ease)}.watch{position:absolute;right:16px;bottom:16px;background:var(--blue);color:var(--ink);padding:9px 13px;font-size:14px;opacity:0;transform:translateY(5px);transition:opacity 180ms ease,transform 180ms var(--ease)}.work-link:focus-visible .watch{opacity:1;transform:none}.caption{display:flex;justify-content:space-between;gap:12px;padding-top:12px}.caption h3{font-size:18px}.caption p{font-size:14px;color:var(--muted);text-align:right}.contact-cta{padding:110px 0 95px}.contact-cta h2{font-size:clamp(26px,4vw,52px);line-height:1.2;margin-bottom:20px}.text-link{display:inline-block;padding:9px 0;font-size:18px}footer{max-width:1600px;margin:auto;padding:35px var(--gutter) 40px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;font-size:14px;color:var(--muted)}footer .brand{color:var(--ink);font-size:32px}footer>div:last-child{display:grid;justify-content:end;gap:8px}.page-heading{padding:64px 0 64px}.page-heading h1{font-size:clamp(36px,5.3vw,76px);line-height:1.08;max-width:1000px}.page-heading p{color:var(--muted);margin-top:28px;font-size:18px}.section-title{margin-bottom:25px}.music{padding:110px 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.music h2{font-size:clamp(28px,3vw,42px);line-height:1.1;margin-bottom:28px}.music p{max-width:42ch;margin-bottom:22px;color:var(--muted)}iframe{border:0;display:block;background:var(--blue);border-radius:12px}.spotify>a{font-size:14px;margin-top:12px}.about-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(35px,7vw,100px);align-items:start;padding-bottom:100px}.portrait{overflow:hidden}.portrait img{width:100%;height:auto}.prose{max-width:62ch}.prose h2{font-size:24px;margin-bottom:28px}.prose p{font-size:18px;line-height:1.6;margin-bottom:24px}.contacts{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:35px;padding:0 0 60px}.contacts h2{font-size:22px;margin-bottom:22px}.contacts p{color:var(--muted);margin-bottom:8px}.contacts a{display:block;overflow-wrap:anywhere}.contacts .social{margin-top:24px}.contact-faces{width:70%;max-width:850px;margin:0 auto 60px;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 85%,transparent)}.case-top{display:flex;justify-content:space-between;padding:30px 0;color:var(--muted);font-size:14px}.film{background:#072e4c}.film video{width:100%;max-height:78vh;aspect-ratio:16/9;object-fit:contain}.case-info{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:35px 0 70px}.case-info h1{font-size:clamp(30px,4vw,54px);line-height:1.2}.case-info p{margin-top:10px}.case-info .credit{font-size:16px;align-self:start;text-align:right;max-width:40ch;justify-self:end;color:var(--muted)}.case-next{border-top:1px solid var(--line);padding:30px 0 80px;display:flex;justify-content:space-between;gap:24px}.media-error{padding:24px}.skip{position:fixed;top:8px;left:16px;z-index:40;padding:10px;background:var(--ink);color:var(--blue);transform:translateY(-150%)}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}#intro{position:fixed;inset:0;background:var(--blue) url('/assets/blue-sky.jpg') center/40px 100% repeat-x;z-index:30;display:grid;place-items:center;animation:intro-away 3s forwards;pointer-events:auto}.intro-art{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(100vw,144vh);max-height:100dvh;object-fit:contain;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}#intro video{opacity:0}#intro video.playing{opacity:1}.intro-brand{position:absolute;top:9vh;font-size:clamp(40px,8vw,100px)}.spinner{position:absolute;bottom:10vh;width:26px;height:26px;border:2px solid #ffffff50;border-top-color:var(--ink);border-radius:50%;animation:spin 650ms linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes intro-away{0%,90%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@media(hover:hover) and (pointer:fine){.work-link:hover img{transform:scale(1.025)}.work-link:hover .watch{opacity:1;transform:none}nav a:hover{text-decoration:underline;text-underline-offset:7px}}
@media(max-width:767px){nav{height:auto;min-height:104px;grid-template-columns:repeat(4,1fr);gap:4px 10px;padding:18px 0 8px}nav .brand{grid-column:1/-1;grid-row:1;font-size:35px;padding:0 0 10px}nav a,nav a:nth-last-child(-n+2){text-align:center;font-size:14px;padding:10px 0}.home-intro{padding:36px 0 38px;display:block}.home-intro p{margin-top:22px;font-size:14px}.home-intro h1{font-size:clamp(24px,6vw,40px)}.work-grid{grid-template-columns:1fr;gap:30px}.caption h3{font-size:17px}.caption p{font-size:14px;max-width:60%}.watch{opacity:1;transform:none;font-size:12px;padding:7px 10px;right:12px;bottom:12px}.contact-cta{padding:70px 0}.section-head{margin-bottom:16px}.section-head h2{font-size:16px}.section-head a{font-size:13px}.page-heading{padding:40px 0}.page-heading h1{font-size:clamp(30px,8vw,52px)}.page-heading p{font-size:16px}.music,.about-layout{grid-template-columns:1fr;gap:30px}.music{padding-top:70px}.about-layout{padding-bottom:65px}.portrait img{max-height:440px;object-fit:cover;object-position:center 57%}.prose p{font-size:16px}.contacts{grid-template-columns:1fr;gap:40px}.contacts h2{margin-bottom:14px}.contact-faces{width:100%}.case-top{font-size:12px;gap:16px}.case-info{grid-template-columns:1fr;padding-bottom:45px;gap:16px}.case-info .credit{text-align:left;justify-self:start}.case-next{padding-bottom:50px;font-size:14px}footer{grid-template-columns:1fr 1fr;gap:24px}footer .brand{grid-column:1/-1}footer>div:last-child{justify-content:start;font-size:12px}.intro-art{width:100%;height:100%;object-fit:contain}.intro-brand{top:10vh}.spinner{bottom:12vh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}#intro{display:none!important}}
