:root{--bg:#050505;--panel:#0d0c0c;--ink:#f3f0ec;--muted:#99938e;--line:#292727;--head:'Barlow Condensed',sans-serif;--body:Inter,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);overflow-x:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1540px,calc(100% - 96px));margin:auto}.topbar{height:88px;position:fixed;z-index:50;top:0;width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;padding:0 max(48px,calc((100vw - 1540px)/2));background:rgba(5,5,5,.96);border-bottom:1px solid #242424}.logo{width:152px;height:54px;overflow:hidden}.logo img{object-fit:contain}.topbar nav{display:flex;justify-self:end;gap:40px}.topbar nav a{color:#fff;font-size:15px;font-weight:600;transition:opacity .2s}.topbar nav a:hover{opacity:.62}.mobile-menu{display:none}.landing{min-height:100svh;padding:128px max(48px,calc((100vw - 1540px)/2)) 40px;display:flex;flex-direction:column;justify-content:center;background:#000}.landing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,375px));gap:22px;justify-content:center;align-items:center}.landing-grid figure{margin:0;height:min(70vh,620px);overflow:hidden;background:#111}.landing-grid img{object-fit:cover;filter:grayscale(1)}.landing-grid figure:nth-child(2){transform:translateY(-24px)}.landing-note{display:flex;justify-content:space-between;width:min(1170px,100%);margin:25px auto 0;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.18em}.clients{border-block:1px solid var(--line);padding:44px 0;overflow:hidden}.clients>p{text-align:center;color:#888;font-size:12px;text-transform:uppercase;letter-spacing:.3em;margin:0 0 32px}.ticker>div{width:max-content;white-space:nowrap;font:700 34px/1 var(--head);color:#9d9a97;animation:ticker 28s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.block{padding-top:140px;padding-bottom:150px}.films{background:#100f0f}.heading{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;margin-bottom:75px}.heading em{display:block;color:#8e8883;font-style:normal;font-size:12px;text-transform:uppercase;letter-spacing:.28em;margin-bottom:22px}.heading h1,.heading h2{font:800 clamp(62px,7vw,118px)/.84 var(--head);letter-spacing:-.035em;margin:0;text-transform:uppercase}.heading>p{color:#9d9894;font-size:18px;line-height:1.6;margin:0;max-width:520px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.video-card{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111;cursor:pointer}.video-card img{filter:brightness(.78);transition:.6s}.video-card:hover img{filter:brightness(.95);transform:scale(1.025)}.play{position:absolute;left:20px;bottom:18px;width:52px;height:52px;background:#fff;color:#000;border-radius:50%;display:grid;place-items:center;font-size:18px}.video-card b{position:absolute;left:86px;bottom:34px;font:700 18px var(--head);letter-spacing:.06em}.more{display:block;margin:70px auto 0;background:transparent;color:#fff;border:1px solid #393939;padding:18px 34px;text-transform:uppercase;font-weight:700;letter-spacing:.08em;cursor:pointer}.poster-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:42px 18px}.poster{cursor:pointer}.poster-img{aspect-ratio:3/4;overflow:hidden;background:#181818}.poster img{transition:.6s}.poster:hover img{transform:scale(1.02)}.poster h3{font:700 25px/1 var(--head);text-transform:uppercase;margin:15px 0 5px}.poster p{color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:0}.studio-anchor{scroll-margin-top:88px}.awards{background:#080808;color:#f3f0ec;padding:150px 0;border-block:1px solid var(--line)}.award-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}.award-intro em{grid-column:1/-1;color:#777;font-style:normal;font-size:12px;text-transform:uppercase;letter-spacing:.28em}.award-intro h2{font:800 clamp(64px,8vw,126px)/.84 var(--head);margin:15px 0 0}.award-intro p{color:#999;max-width:440px;font-size:18px;line-height:1.6}.award-table{margin-top:90px;border-top:1px solid #555}.award-table article{display:grid;grid-template-columns:100px 1fr 1fr;gap:30px;align-items:baseline;border-bottom:1px solid #333;padding:26px 0}.award-table b{font-size:15px;color:#777}.award-table h3{font:700 clamp(28px,3vw,45px)/1 var(--head);text-transform:uppercase;margin:0}.award-table p{color:#888;margin:0}.archive{display:block;width:max-content;margin:50px auto 0;border-bottom:1px solid;padding-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portrait{aspect-ratio:4/5;overflow:hidden}.portrait img{width:300%;max-width:none;filter:grayscale(1);transition:filter .45s,transform .7s}.team article:nth-child(1) img{transform:translateX(0)}.team article:nth-child(2) img{transform:translateX(-33.333%)}.team article:nth-child(3) img{transform:translateX(-66.666%)}.team article:hover img,.team article.active img{filter:grayscale(0)}.team h3{font:700 29px/1 var(--head);text-transform:uppercase;margin:18px 0 4px}.team p{color:#777;text-transform:uppercase;font-size:11px;letter-spacing:.1em;margin:0}.contact{background:#050505;color:#f3f0ec;padding:150px 0 90px;border-top:1px solid var(--line)}.contact-label{color:#777;font-size:12px;text-transform:uppercase;letter-spacing:.22em}.contact-email{display:block;width:max-content;max-width:100%;margin-top:65px;font:700 clamp(42px,7vw,110px)/1 var(--head);border-bottom:2px solid;overflow-wrap:anywhere}.contact-grid{margin-top:110px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;border-top:1px solid #333;padding-top:30px;text-transform:uppercase;font-size:12px;line-height:1.8;color:#aaa}footer{height:86px;display:flex;justify-content:space-between;align-items:center;color:#777;font-size:11px;text-transform:uppercase}dialog{width:min(1000px,calc(100% - 40px));padding:0;background:#080808;color:#fff;border:1px solid #333}dialog::backdrop{background:rgba(0,0,0,.9)}dialog>button{position:absolute;z-index:2;right:15px;top:15px;width:45px;height:45px;border-radius:50%;border:1px solid #777;background:#050505;color:#fff;font-size:27px}.modal-inner{display:grid;grid-template-columns:1fr 1fr}.modal-inner img{height:75vh;object-fit:contain;background:#111}.modal-copy{padding:90px 40px}.modal-copy h2{font:800 clamp(45px,6vw,90px)/.85 var(--head);text-transform:uppercase;margin:15px 0 25px}.modal-copy p{color:#aaa;line-height:1.6}.modal-copy small{text-transform:uppercase;letter-spacing:.1em;color:#777}
@media(max-width:900px){.wrap{width:calc(100% - 36px)}.topbar{height:70px;padding:0 18px;grid-template-columns:1fr auto}.logo{width:120px}.topbar nav{display:none}.mobile-menu{display:block;width:34px;background:none;border:0}.mobile-menu i{display:block;height:1px;background:#fff;margin:8px 0}.topbar.open{height:100svh;display:block;padding-top:8px}.topbar.open nav{display:flex;flex-direction:column;margin-top:20vh;gap:22px}.topbar.open nav a{font:700 42px var(--head);color:#fff;text-transform:uppercase}.topbar.open .mobile-menu{position:absolute;right:18px;top:18px}.landing{min-height:720px;padding:100px 18px 30px}.landing-grid{grid-template-columns:repeat(3,1fr);gap:8px}.landing-grid figure{height:62vh}.landing-grid figure:nth-child(2){transform:translateY(-10px)}.heading{display:block}.heading>p{margin-top:35px}.video-grid{grid-template-columns:1fr 1fr}.poster-grid{grid-template-columns:repeat(2,1fr)}.award-intro{display:block}.award-intro p{margin-top:35px}.award-table article{grid-template-columns:60px 1fr}.award-table p{grid-column:2}.team{grid-template-columns:1fr;gap:50px}.contact-grid{grid-template-columns:1fr}.contact-grid p{margin:0 0 20px}.modal-inner{grid-template-columns:1fr}.modal-inner img{height:50vh}.modal-copy{padding:35px 25px 55px}}@media(max-width:560px){.video-grid,.poster-grid{grid-template-columns:1fr}.video-card{max-width:520px}.poster{max-width:321px}.award-table article{display:block}.award-table h3{margin:10px 0}.award-table p{margin-top:10px}}
/* Focus pass: restrained landing and denser work archive */
.landing{min-height:100svh!important;padding:120px 48px 40px!important;display:grid!important;place-items:center;position:relative}.landing-single{width:min(750px,72vw);aspect-ratio:750/418;background:#111}.landing-single img{object-fit:contain;filter:none}.landing>p{position:absolute;bottom:32px;margin:0;color:#777;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.commercials{padding-block:110px 130px}.commercials header{display:grid;grid-template-columns:1fr auto;align-items:end;border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:28px}.commercials header span{grid-column:1/-1;color:#777;font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}.commercials h1{font:700 clamp(38px,5vw,74px)/1 var(--head);margin:0}.commercials header p{color:#777;margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.video-grid{gap:10px}.video-card b{font-size:15px}.play{width:42px;height:42px;left:14px;bottom:14px}.video-card b{left:68px;bottom:27px}.poster-grid{grid-template-columns:repeat(6,1fr);gap:34px 14px}.poster h3{font-size:20px}.poster-img{aspect-ratio:auto}.poster-img img{height:auto;object-fit:contain}.films .heading{margin-bottom:52px}@media(max-width:1100px){.poster-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.landing{padding:90px 18px 30px!important}.landing-single{width:min(750px,94vw)}.commercials{padding-block:80px 100px}.commercials header{display:block}.commercials header p{margin-top:14px}.poster-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.poster-grid{grid-template-columns:repeat(2,1fr)}}

/* Full-screen studio landing */
.topbar{background:transparent;border-bottom-color:transparent;box-shadow:none;transition:background .3s,border-color .3s}
.topbar.scrolled,.topbar.open{background:rgba(5,5,5,.97);border-bottom:1px solid rgba(255,255,255,.12)}
.logo,.topbar.scrolled .logo{background:none;mask:none;-webkit-mask:none;opacity:1;mix-blend-mode:screen}
.logo img{opacity:1;object-fit:contain}
.landing{height:100svh;min-height:620px!important;padding:0!important;display:grid!important;place-items:center;position:relative;overflow:hidden;background:#000}
.landing-stage{position:absolute;left:50%;top:50%;width:max(100vw,179.6vh);height:max(100vh,55.68vw);transform:translate(-50%,-50%) scale(1.055);transform-origin:left center}
.landing-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;filter:none}
.hero-screen{position:absolute;left:29.5%;top:24.8%;width:35.05%;height:26.3%;overflow:hidden;background:#050505;box-shadow:0 0 30px rgba(0,0,0,.36)}
.hero-screen video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;background:#050505;filter:brightness(.82) saturate(.88) contrast(1.04);opacity:0;transition:opacity .18s ease}
.hero-screen video.is-active{opacity:1}
.hero-sound{position:absolute;z-index:4;left:69.1%;top:37.95%;transform:translateY(-50%);width:38px;height:38px;padding:0;display:grid;place-items:center;color:#050505;border:0;border-radius:2px;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.28);cursor:pointer;transition:transform .2s,background .2s,color .2s}
.hero-sound:hover{transform:translateY(-50%) scale(1.06)}
.hero-sound:focus-visible{outline:2px solid #fff;outline-offset:4px}
.hero-sound svg{width:19px;height:19px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero-sound svg path:first-child{stroke:none}
.hero-sound .speaker-on{display:none}
.hero-sound.sound-on{color:#fff;background:#050505;box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 8px 24px rgba(0,0,0,.32)}
.hero-sound.sound-on .speaker-off{display:none}
.hero-sound.sound-on .speaker-on{display:block}
.landing-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.12) 0%,rgba(0,0,0,.03) 48%,rgba(0,0,0,.5) 100%);pointer-events:none}
.scroll-hint{position:absolute;z-index:3;left:50%;right:auto;bottom:17px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;color:#fff;background:none;border:0;transition:opacity .2s}
.scroll-hint span{font:600 9px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 10px #000}
.scroll-hint i{position:relative;display:block;width:1px;height:46px;background:rgba(255,255,255,.72);transform-origin:top;animation:scroll-line 1.55s cubic-bezier(.65,0,.35,1) infinite}
.scroll-hint i::after{content:"";position:absolute;right:-3px;bottom:0;width:7px;height:7px;border-right:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(45deg)}
.scroll-hint:hover{opacity:.68}
@keyframes scroll-line{0%,100%{transform:scaleY(.72);opacity:.62}50%{transform:scaleY(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.scroll-hint i{animation:none}}
@media(max-width:900px){.landing{height:100svh;min-height:620px!important;padding:0!important}.scroll-hint{left:50%;right:auto;bottom:13px;gap:8px}.scroll-hint i{height:38px}.hero-sound{left:69.1%;width:34px;height:34px}.hero-sound svg{width:17px;height:17px}}

/* Stronger landing controls */
.logo{width:190px;height:64px}
.topbar nav a{font-size:17px}
.hero-sound{width:48px;height:48px}
.hero-sound svg{width:23px;height:23px}
.scroll-hint{bottom:12px;gap:11px}
.scroll-hint span{font-size:12px;letter-spacing:.24em}
.scroll-hint i{height:58px}
.scroll-hint i::after{right:-4px;width:9px;height:9px}
@media(max-width:900px){.logo{width:142px;height:52px}.scroll-hint{bottom:10px;gap:9px}.scroll-hint span{font-size:12px}.scroll-hint i{height:48px}.hero-sound{width:42px;height:42px}.hero-sound svg{width:20px;height:20px}}

/* Quality pass: accessible focus, restrained motion and clear hero controls */
:focus-visible{outline:2px solid #fff;outline-offset:4px}
.hero-skip{position:absolute;z-index:4;left:67.1%;top:37.95%;transform:translate(-50%,-50%);width:2.85%;height:auto;aspect-ratio:1;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:2px;background:#050505;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.28);cursor:pointer;transition:transform .2s,background .2s,color .2s}
.hero-skip:hover{transform:translate(-50%,-50%) scale(1.06)}
.hero-skip svg{width:48%;height:48%;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero-skip svg path:first-child{stroke:none}
.footer-links{display:flex;align-items:center;gap:24px}
.poster:focus-visible,.team article:focus-visible{outline:2px solid #fff;outline-offset:6px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .58s ease,transform .58s cubic-bezier(.2,.72,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
dialog{opacity:0;transform:translateY(12px) scale(.985);transition:opacity .24s ease,transform .24s ease,overlay .24s allow-discrete,display .24s allow-discrete}
dialog[open]{opacity:1;transform:none}
@starting-style{dialog[open]{opacity:0;transform:translateY(12px) scale(.985)}}
@media(max-width:900px){.footer-links{gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.is-visible,dialog,dialog[open]{opacity:1;transform:none;transition:none}.video-card img,.poster img,.team img{transition:none!important}}
footer,.team p,.poster p,.heading em,.heading>p,.clients>p,.award-summary p{color:#aaa}

/* Hero controls follow the proportional studio artwork at every desktop width. */
@media(min-width:761px){.hero-sound{left:70.65%;top:37.95%;width:2.85%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%)}.hero-sound:hover{transform:translate(-50%,-50%) scale(1.06)}.hero-sound svg{width:48%;height:48%}}

/* Keep the COSMIX palette independent of the visitor's light/dark preference. */
:root{color-scheme:only dark}html{background:#050505}

/* Reserve poster space before lazy images load; show the complete artwork without cropping. */
.poster-img{aspect-ratio:3/4;background:#111}.poster-img img{width:100%;height:100%;object-fit:contain}

/* Partner links in the primary navigation */
.topbar nav { gap: clamp(13px, 1.8vw, 30px); }
.topbar nav a { color: #fff; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.topbar nav a:hover, .topbar nav a:focus-visible { color: #fff; opacity: 1; }
@media (min-width: 901px) {
  .topbar .logo { width: 202px; height: 66px; }
  .topbar nav a { font-size: 13px; }
  .topbar nav .partner-link { color: #fff; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
  .topbar nav .partner-link-first { margin-left: 2px; padding-left: 16px; border-left: 1px solid #343434; }
}

/* Tighter desktop section rhythm around the expand controls. */
@media (min-width: 761px) {
  .films { padding-top: 72px; padding-bottom: 48px; }
  .films #more-films { margin-top: 56px; }
  #team.block { padding-top: 72px; }
}
