:root{--bg:#111110;--px:clamp(20px,4vw,76px);--nav-h:88px;--text2:#b3ada5;--text3:#a39c93}
body{font-weight:400}button,a{-webkit-tap-highlight-color:transparent}.nav{background:#111110;border-bottom:1px solid #ffffff12;padding:0 var(--px)}.nav-logo{font-size:16px;letter-spacing:.09em}.nav-logo img{width:34px;height:34px}.nav-right{gap:32px}.desktop-nav{font-size:13px}.btn-book{font-size:11px;letter-spacing:.07em;gap:24px;padding:12px 20px;border-color:#8f887e}.nav-toggle{margin-left:4px}.tog{width:22px;gap:5px}.tog span:last-child{display:none}.nav-toggle[aria-expanded=true] .tog span:first-child{transform:none}.hero-page{padding-top:var(--nav-h)!important}.cinema-hero{position:relative;height:calc(90svh - 88px);min-height:500px;max-height:1000px;background:#222;overflow:hidden}.cinema-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 65%)}.hero-bottom{position:absolute;bottom:65px;left:var(--px);right:var(--px);display:flex;justify-content:space-between;align-items:end;gap:20px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--text2);display:block;margin-bottom:20px}.hero-bottom .eyebrow{color:#e6e3dd}.hero-line{font-family:Syne,sans-serif;font-size:clamp(25px,3vw,48px);font-weight:700;letter-spacing:-.035em;line-height:1.05}.watch-reel{display:flex;gap:18px;align-items:center;border:0;background:none;color:#fff;text-align:left;font-size:15px}.round-play{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border:1px solid #ffffff80;border-radius:50%;font-size:27px}.watch-reel small{display:block;font-size:10px;margin-top:4px;color:#e6e3dd;letter-spacing:.06em}.hero-pause{position:absolute;right:var(--px);top:22px;display:flex;gap:8px;align-items:center;border:1px solid #ffffff60;background:#111110bb;padding:10px 12px;min-height:44px;color:#fff}.hero-pause .hero-reel-lbl{font-size:9px;letter-spacing:.1em}.intro-line{padding:28px var(--px);display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:24px;border-bottom:1px solid var(--bdr)}.intro-line>span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--text2)}.intro-line>span:last-child{text-align:right}.intro-line p{font-size:14px;text-align:center;max-width:460px;justify-self:center;color:#d2cdc5}.selected-work{padding:96px var(--px) 88px}.work-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px;gap:30px}.work-heading h2{font:700 clamp(32px,4vw,56px)/1.1 Syne,sans-serif;letter-spacing:-.04em}.work-heading .eyebrow{margin-bottom:12px}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{background:none;border:1px solid transparent;color:var(--text2);font-size:12px;min-height:44px;padding:8px 19px;border-radius:30px}.filters button[aria-pressed=true]{border-color:#958b7c;color:var(--text)}.filters button:hover{background:#ffffff09}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px 24px}.project-card{display:block;background:transparent;border:0;padding:0;text-align:left;color:var(--text);min-width:0}.project-image{aspect-ratio:16/10;position:relative;overflow:hidden;background:#20201e}.project-card:nth-child(4n+1) .project-image{aspect-ratio:16/10}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .7s;filter:brightness(.86)}.project-card:hover img{transform:scale(1.025);filter:brightness(1)}.project-play{position:absolute;right:18px;bottom:18px;width:44px;height:44px;border:1px solid #ffffff70;border-radius:50%;background:#11111080;display:flex;align-items:center;justify-content:center;font-size:21px}.project-kind{position:absolute;left:18px;top:18px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;background:#111110d9;padding:6px 10px}.project-caption{display:flex;justify-content:space-between;gap:12px;padding-top:18px}.project-caption h3{font:700 clamp(17px,1.65vw,24px)/1.2 Syne,sans-serif;letter-spacing:-.02em}.project-caption p{font-size:12px;color:var(--text2);margin-top:7px}.project-caption>span{font-size:24px;font-weight:300;color:var(--stone)}.collaborations{padding:38px var(--px);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);display:flex;gap:50px;align-items:center}.collaborations .eyebrow{margin:0;white-space:nowrap}.collaborations>div{display:flex;justify-content:space-between;gap:28px;flex:1;flex-wrap:wrap}.collaborations>div span{font-family:Syne,sans-serif;font-size:14px;color:#b3ada5;font-weight:700}.closing{padding:110px var(--px) 100px}.closing-link{font:700 clamp(36px,5.7vw,88px)/1.15 Syne,sans-serif;letter-spacing:-.055em;display:flex;align-items:center;justify-content:space-between;gap:24px}.closing-link span{font-family:Karla,sans-serif;font-weight:300;font-size:1.1em}.closing>div{display:flex;justify-content:space-between;margin-top:36px;gap:20px;color:var(--text2);font-size:13px}.closing a:hover{color:var(--stone)}footer{padding-top:32px}.foot-logo{font-size:12px}.foot-top{grid-template-columns:1fr auto 1fr}.foot-links{gap:22px}.foot-copy,.foot-legal a,#privacySettings{font-size:10px}.foot-legal{gap:22px}.foot-bottom{align-items:center}.lb-inner{width:min(1100px,100%,calc((100dvh - 240px)*16/9))}.project-detail{position:absolute;top:calc(100% + 12px);left:0;right:0}.project-detail p{font-size:10px;color:var(--stone);text-transform:uppercase;letter-spacing:.13em}.project-detail h2{font:700 clamp(16px,2vw,24px)/1.25 Syne,sans-serif;margin-top:7px}.video-help{top:calc(100% + 76px);font-size:11px}.video-help span{display:none}#localPlayer{position:absolute;inset:0;width:100%;height:100%;background:#000}.contact-wrap{max-width:760px;margin:0 auto;padding-top:72px;padding-bottom:100px}.contact-wrap h2{font-size:clamp(38px,7vw,72px);letter-spacing:-.05em}.form-group label{font-size:10px}.form-submit{background:var(--stone)}.form-note{font-size:12px}.about-wrap{padding-top:72px}.about-text{font:700 clamp(24px,3vw,44px)/1.25 Syne,sans-serif}.person-card{background:none;padding:30px 0}.people-section{padding-left:0;padding-right:0}.cookie-bar{border:1px solid #6d6457;left:var(--px);right:var(--px);bottom:20px;width:auto;padding:20px;box-shadow:0 20px 80px #0008}.overlay{padding-top:0}.ov-link{font-size:clamp(28px,6vw,70px)}.legal-wrap{margin:auto;max-width:850px}.form-check-label a{text-decoration:underline}
@media(min-width:1100px){.project-grid{grid-template-columns:1.15fr 1fr}.project-card:nth-child(even){padding-top:70px}.project-grid.filtered .project-card{padding-top:0}.selected-work{padding-bottom:110px}}
@media(max-width:900px){.nav-right{gap:18px}.intro-line{grid-template-columns:1fr 1fr}.intro-line p{grid-row:2;grid-column:1/-1;text-align:left;justify-self:start;max-width:100%;font-size:14px}.intro-line>span:last-child{grid-row:1;grid-column:2}.foot-top{grid-template-columns:1fr}.foot-logo,.foot-links,.social-links{justify-self:start}.hero-bottom{bottom:40px}.collaborations{display:block}.collaborations .eyebrow{margin-bottom:22px}.project-grid{gap:34px 18px}.selected-work{padding-top:65px}}
@media(max-width:600px){:root{--nav-h:72px}.nav-logo{font-size:13px}.nav-logo img{width:26px;height:26px}.desktop-nav{display:none}.nav-right{gap:10px}.btn-book{font-size:10px;padding:8px 12px;gap:16px}.nav-toggle{margin-left:0}.cinema-hero{height:70svh;min-height:460px}.hero-bottom{display:block;bottom:30px}.hero-line{font-size:32px}.watch-reel{margin-top:30px;font-size:13px}.round-play{width:46px;height:46px;font-size:22px}.hero-pause .hero-reel-lbl{display:none}.hero-pause{top:16px;padding:10px}.hero-bottom .eyebrow{font-size:9px;margin-bottom:12px}.intro-line{padding-top:22px;padding-bottom:24px;gap:14px}.intro-line>span{font-size:9px}.selected-work{padding-top:54px;padding-bottom:60px}.work-heading{display:block;margin-bottom:28px}.work-heading h2{font-size:36px}.filters{margin-top:24px;gap:2px}.filters button{padding:8px 16px;font-size:11px}.project-grid{grid-template-columns:1fr;gap:30px}.project-image{aspect-ratio:16/10}.project-caption{padding-top:14px}.project-caption h3{font-size:19px}.project-caption p{font-size:11px}.collaborations>div{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}.collaborations>div span{font-size:12px}.closing{padding:65px var(--px)}.closing-link{font-size:42px;max-width:100%;letter-spacing:-.06em}.closing>div{flex-direction:column;margin-top:28px;gap:12px;font-size:12px}.foot-links{gap:18px}.foot-bottom{align-items:flex-start}.foot-legal{gap:14px}.lb-inner{width:min(100%,calc((100dvh - 230px)*16/9))}.contact-wrap{padding-top:45px}.project-detail h2{font-size:17px}}
@media(max-width:360px){.nav{padding:0 12px}.nav-logo{font-size:11px}.nav-right{gap:4px}.btn-book{padding:7px 9px;gap:10px}.nav-logo img{width:23px;height:23px}.closing-link{font-size:36px}}
@media(max-height:500px){.lb-inner{width:min(100%,calc((100dvh - 165px)*16/9))}.project-detail h2{font-size:14px}.video-help{top:calc(100% + 52px)}.project-detail p{font-size:9px}.lightbox{padding-top:55px;padding-bottom:100px}.ov-link{font-size:25px}.cinema-hero{min-height:450px}}
@media(prefers-reduced-motion:reduce){.project-image img{transition:none}}

.nav-logo{white-space:nowrap;flex-shrink:0}.mobile-label{display:none}@media(max-width:600px){.desktop-label{display:none}.mobile-label{display:inline}.nav-right{gap:8px}.nav-logo{font-size:12px}.btn-book{gap:12px;padding:8px 12px}}
@media(max-width:360px){.nav-logo{font-size:10.5px;gap:5px}.nav-right{gap:4px}.btn-book{padding:8px 10px;gap:8px}}

/* Header and hero controls */
.nav-logo img,
.foot-logo img {
  background: transparent;
  border-radius: 0;
  padding: 0;
  filter: none;
}
.nav-logo img { width: 40px; height: 40px; }
.nav-right { gap: 14px; }
.btn-portal { border: 0; border-radius: 2px; }
.btn-portal svg { width: 19px; height: 19px; }
.nav-right .btn-book {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  padding: 0 12px;
  border: 0;
  background: transparent;
  font-size: 10px;
  letter-spacing: .08em;
}
.btn-book::before {
  content: "";
  position: absolute;
  inset: 6px 0;
  border: 1px solid #80786e;
  border-radius: 2px;
  pointer-events: none;
}
.nav-right .btn-book:hover { color: white; }
.btn-book:hover::before { border-color: currentColor; }
.hero-pause {
  top: auto;
  bottom: 38px;
  right: var(--px);
  width: 44px;
  height: 44px;
  padding: 0;
  justify-content: center;
  background: transparent;
  border: 0;
  isolation: isolate;
}
.hero-pause::before {
  content: "";
  position: absolute;
  inset: 5px;
  z-index: -1;
  border: 1px solid #ffffff75;
  border-radius: 2px;
  background: #11111080;
}
.hero-pause:hover::before { border-color: #fff; }
.hero-bottom { right: calc(var(--px) + 54px); bottom: 40px; }

/* One centered lead project, followed by pairs of stills. */
.project-grid { max-width: 1320px; margin-inline: auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
.project-card:nth-child(even) { padding-top: 0; }
.project-card.featured-project {
  grid-column: 1 / -1;
  width: min(100%, 980px);
  justify-self: center;
}
.project-card .project-image,
.project-card:nth-child(4n+1) .project-image { aspect-ratio: 16/9; }
.project-image img { filter: saturate(.85); display: block; }
.project-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgb(8 9 9 / 16%), rgb(8 9 9 / 7%) 40%, rgb(8 9 9 / 34%));
}
.project-play, .project-kind { z-index: 1; }
.project-play {
  right: 14px;
  bottom: 14px;
  width: 29px;
  height: 29px;
  border-radius: 2px;
  background: #11111092;
}
.project-card:hover img { filter: saturate(1); transform: scale(1.012); }

/* Native horizontal scrolling supports touch, keyboard and trackpads. */
.client-strip {
  margin: 0 var(--px);
  padding: clamp(36px,5vw,72px) 0;
  border-top: 1px solid var(--bdr);
}
.client-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.client-top h2 { font: 700 clamp(24px,3vw,39px)/1.15 Syne,sans-serif; letter-spacing: -.045em; }
.client-controls { display: flex; gap: 4px; }
.client-controls button {
  width: 44px;
  height: 44px;
  border: 1px solid var(--bdr2);
  border-radius: 2px;
  color: var(--text);
  background: transparent;
  display: grid;
  place-items: center;
}
.client-controls button:disabled { opacity: .35; }
.client-controls button:not(:disabled):hover { border-color: var(--stone); }
.client-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--bdr2) transparent;
}
.client-list li {
  flex: 0 0 clamp(158px,20%,260px);
  height: 104px;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 12px 18px;
}
.client-list img { display: block; max-width: 100%; max-height: 65px; width: auto; height: auto; object-fit: contain; }
.client-name { font: 700 15px/1.2 Syne,sans-serif; color: var(--text2); }

/* Consent and the inquiry agreement */
.cookie-bar {
  left: auto; right: var(--px); bottom: 18px;
  width: min(370px,calc(100% - var(--px) * 2));
  display: block;
  padding: 20px;
  background: #1b1a18;
  border-color: #49443e;
}
.cookie-copy h2 { font: 700 17px/1.2 Syne,sans-serif; margin: 0 0 7px; }
.cookie-copy .cookie-text { min-width: 0; margin: 0; }
.cookie-btns { justify-content: flex-end; gap: 12px; margin-top: 14px; }
.cookie-btns button { text-transform: none; letter-spacing: 0; font-size: 13px; }
.terms-consent {
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  gap: 11px;
  align-items: start;
  font: 400 14px/1.55 Karla,sans-serif;
  color: var(--text2);
}
.terms-consent .form-checkbox {
  appearance: auto;
  accent-color: var(--stone);
  width: 19px;
  height: 19px;
  margin: 1px 0 0;
  padding: 0;
}
.terms-consent .form-checkbox:checked::after { content: none; }
.form-group .terms-consent label {
  display: inline;
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
  color: inherit;
  margin: 0;
  cursor: pointer;
}
.terms-consent a { text-decoration: underline; text-underline-offset: 3px; border: 0; }
@media(max-width:600px) {
  .project-grid { grid-template-columns: minmax(0,1fr); }
  .nav-logo img { width: 32px; height: 32px; }
  .nav-right { gap: 2px; }
  .nav-right .btn-book { padding: 0 9px; }
  .hero-bottom { bottom: 27px; }
  .hero-pause { bottom: 22px; }
  .client-list li { flex-basis: 44%; height: 84px; padding: 10px 12px; }
  .client-list img { max-height: 50px; }
  .cookie-bar { bottom: max(8px,env(safe-area-inset-bottom)); }
}
.client-list img { filter: grayscale(1) brightness(1.18); }
.client-list .mark-oci { filter: brightness(0) invert(.9); }
