:root{
  --ink:#0b0c0d; --panel:#111315; --paper:#ece9e2; --muted:#9d9a94;
  --gold:#c9a45c; --gold-soft:#8f7440; --cyan:#39c9df; --line:rgba(236,233,226,.16);
  --pad:clamp(24px,4vw,70px); --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:"Avenir Next","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-weight:400;letter-spacing:.01em;cursor:default}
a{color:inherit;text-decoration:none} button{font:inherit} img{display:block;width:100%}
::selection{background:var(--gold);color:var(--ink)}
.site-header{position:fixed;z-index:60;top:0;left:0;right:0;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);mix-blend-mode:difference;color:white;pointer-events:none}.site-header>*{pointer-events:auto}
.brand{display:flex;gap:18px;align-items:baseline}.brand-name{font-size:13px;letter-spacing:.18em;font-weight:700}.brand-role{font-size:10px;letter-spacing:.22em;opacity:.65}.nav{display:flex;gap:25px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--gold);transition:right .35s ease}.nav a:hover:after{right:0}.menu-toggle{display:none;border:0;background:none;color:inherit;letter-spacing:.15em}
.hero{height:100svh;min-height:650px;position:relative;overflow:hidden;background:#050505}.hero-video-wrap{position:absolute;inset:0;overflow:hidden}.hero-video{position:absolute;width:177.78vh;height:56.25vw;min-width:100%;min-height:100%;left:50%;top:50%;transform:translate(-50%,-50%);border:0;filter:saturate(.86) contrast(1.06)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.72) 0%,rgba(5,5,5,.22) 58%,rgba(5,5,5,.08) 100%)}
.hero-content{position:absolute;left:var(--pad);bottom:10vh;max-width:860px}.eyebrow{font-size:11px;letter-spacing:.28em;margin:0 0 22px;text-transform:uppercase}.cyan{color:var(--gold)}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(72px,11vw,170px);line-height:.76;letter-spacing:-.055em;margin:0}.hero-role{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:clamp(22px,2.5vw,40px);margin:25px 0 28px}.quiet-link{font-size:11px;text-transform:uppercase;letter-spacing:.19em;border-bottom:1px solid var(--gold);padding-bottom:7px}.quiet-link span{color:var(--cyan);margin-left:7px}.hero-index{position:absolute;right:var(--pad);bottom:9vh;font-size:10px;letter-spacing:.24em;color:rgba(255,255,255,.55)}
.section{padding:130px var(--pad);border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:70px 1fr auto;align-items:end;margin-bottom:70px}.section-no{font-size:10px;letter-spacing:.24em;color:var(--gold)}.section-head h2,.contact-section h2,.about-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(50px,6vw,92px);line-height:.9;margin:0;letter-spacing:-.035em}.section-head p{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin:0}
.work-list{display:grid;grid-template-columns:repeat(12,1fr);gap:80px 28px}.work-card{grid-column:span 6;cursor:pointer}.work-card.wide{grid-column:span 6}.work-media,.type-image{aspect-ratio:16/10;background:#151719;overflow:hidden;position:relative}.wide .work-media{aspect-ratio:16/10}.work-media img{height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter 1.1s ease;filter:saturate(.9)}.work-media.bw img{filter:grayscale(1) contrast(1.08)}.work-card:hover .work-media img{transform:scale(1.025);filter:saturate(1.05)}.work-card:hover .bw img{filter:grayscale(.75) contrast(1.05)}.work-meta{display:flex;justify-content:space-between;align-items:center;padding:13px 0 7px;font-size:9px;letter-spacing:.18em;color:var(--muted)}.work-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.4vw,60px);margin:0;letter-spacing:-.03em}.type-image{display:flex;flex-direction:column;justify-content:flex-end;padding:32px;background:#151719}.type-image strong{font-family:var(--serif);font-size:clamp(50px,6vw,95px);font-weight:400;line-height:.8;letter-spacing:-.06em;position:relative;z-index:2}.type-image .micro{position:absolute;top:26px;left:30px;font-size:9px;letter-spacing:.22em;color:var(--gold)}.type-image i{position:absolute;width:80px;height:1px;background:var(--gold);right:30px;top:30px;transform-origin:right;transition:width .5s ease}.work-card:hover .type-image i{width:160px}.escape-card .type-image:after{content:"";position:absolute;width:42%;height:100%;right:0;top:0;background:repeating-linear-gradient(115deg,transparent 0 38px,rgba(201,164,92,.09) 39px 40px)}.come-card .type-image:after{content:"";position:absolute;width:45%;height:45%;right:4%;top:15%;border:1px solid rgba(197,160,90,.55);transform:rotate(-8deg)}
.commercial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px 22px;align-items:start}.commercial-grid figure{margin:0}.commercial-grid img,.commercial-video-frame{aspect-ratio:16/10;object-fit:cover;overflow:hidden;background:#111315;filter:saturate(.86);transition:filter .6s ease,transform .6s ease}.commercial-grid figure:hover img,.commercial-grid figure:hover .commercial-video-frame{filter:saturate(1);transform:translateY(-3px)}.commercial-video-frame iframe{width:100%;height:100%;border:0;pointer-events:none}figcaption{display:flex;flex-direction:column;padding-top:12px;gap:4px}figcaption b{font-weight:500;font-family:var(--serif);font-size:21px}figcaption span{font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}figcaption em{font-style:normal;font-size:10px;line-height:1.45;color:#77746e;margin-top:2px}.commercial-note{margin-top:55px;color:var(--muted);font-size:12px;letter-spacing:.08em}.commercial-note span{color:var(--gold);margin-right:14px}
.awards-list{border-top:1px solid var(--line)}.award-row{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:26px 0;border-bottom:1px solid var(--line);transition:padding-left .35s ease}.award-row:hover{padding-left:12px}.award-row .year{font-size:10px;color:var(--gold);letter-spacing:.18em;padding-top:5px}.award-row b{font-family:var(--serif);font-size:clamp(24px,2.5vw,38px);font-weight:400}.award-row p{margin:5px 0 0;color:var(--muted);font-size:13px}.award-row i{color:var(--gold)}
.press-section{min-height:85vh;display:flex;flex-direction:column}.quote-stage{flex:1;display:flex;align-items:center;max-width:1120px}.quote-stage blockquote{display:none;margin:0}.quote-stage blockquote.active{display:block;animation:fadeIn .5s ease}.quote-stage p{font-family:var(--serif);font-size:clamp(44px,6.4vw,94px);line-height:.96;letter-spacing:-.035em;margin:0}.quote-stage cite{display:block;margin-top:30px;font-style:normal;font-size:10px;letter-spacing:.22em;color:var(--gold)}.quote-nav{display:flex;align-items:center;gap:16px;justify-content:flex-end;margin-top:70px}.quote-nav button{background:none;border:1px solid var(--line);color:var(--paper);width:44px;height:44px;border-radius:50%;cursor:pointer}.quote-nav button:hover{border-color:var(--gold);color:var(--gold)}.quote-count{font-size:9px;letter-spacing:.18em;color:var(--muted)}
.about-section{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(400px,1.2fr);gap:8vw;align-items:center}.about-photo{position:relative;max-width:620px}.about-photo:before{content:"";position:absolute;top:-14px;right:-14px;width:55%;height:1px;background:var(--gold)}.about-photo:after{content:"";position:absolute;bottom:-12px;left:-12px;width:1px;height:32%;background:var(--gold)}.about-photo img{aspect-ratio:1/1.15;object-fit:cover;object-position:center 24%;filter:saturate(.88)}.about-copy .section-no{display:block;margin-bottom:28px}.about-copy h2{margin-bottom:42px}.about-copy p{font-family:var(--serif);font-size:clamp(21px,2vw,30px);line-height:1.35;color:#c9c5bd;max-width:780px}.about-copy .lead{font-size:clamp(29px,2.8vw,43px);color:var(--paper);line-height:1.23}.about-links{display:flex;gap:25px;margin-top:38px;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.about-links a:hover{color:var(--gold)}
.contact-section{padding-bottom:40px}.contact-section>div:first-child{display:grid;grid-template-columns:70px 1fr;align-items:end;margin-bottom:70px}.rep-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding-top:30px}.rep-grid>div{display:grid;gap:8px}.rep-grid span{font-size:9px;letter-spacing:.2em;color:var(--gold)}.rep-grid b{font-family:var(--serif);font-size:28px;font-weight:400}.rep-grid a{color:var(--muted);font-size:12px}.rep-grid a:hover{color:var(--gold)}footer{margin-top:100px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#666;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.project-modal{position:fixed;inset:0;background:rgba(7,8,9,.98);z-index:100;display:none;overflow:auto}.project-modal.open{display:block;animation:fadeIn .35s ease}.modal-close{position:fixed;z-index:102;right:30px;top:28px;border:0;background:none;color:var(--paper);letter-spacing:.18em;font-size:10px;cursor:pointer}.modal-close:hover{color:var(--gold)}.modal-inner{min-height:100vh;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:6vw;padding:100px var(--pad)}.modal-media{aspect-ratio:16/10;background:#131516;display:flex;align-items:center;justify-content:center;overflow:hidden}.modal-media iframe{width:100%;height:100%;border:0}.modal-media .modal-type{font-family:var(--serif);font-size:clamp(60px,8vw,120px);line-height:.82;color:var(--gold);padding:50px;letter-spacing:-.06em}.modal-copy h2{font-family:var(--serif);font-size:clamp(55px,6vw,92px);line-height:.88;font-weight:400;margin:15px 0 28px}.modal-kicker{font-size:9px;letter-spacing:.22em;text-transform:uppercase}.modal-credit{color:var(--muted);font-size:13px;line-height:1.6}.modal-awards{margin-top:30px;border-top:1px solid var(--line);padding-top:22px;color:#b8b4ad;font-size:12px;line-height:1.7}.modal-awards p{margin:0 0 8px}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@media(max-width:900px){.site-header{height:70px}.brand-role,.nav{display:none}.menu-toggle{display:block}.nav.open{display:flex;position:fixed;inset:0;background:rgba(11,12,13,.98);flex-direction:column;align-items:center;justify-content:center;gap:32px;font-size:16px;z-index:-1}.hero-content{bottom:11vh}.section{padding-top:90px;padding-bottom:90px}.section-head{grid-template-columns:40px 1fr;margin-bottom:45px}.section-head p{display:none}.work-list{gap:55px 0}.work-card,.work-card.wide{grid-column:span 6}.wide .work-media,.work-media,.type-image{aspect-ratio:16/11}.commercial-grid{grid-template-columns:1fr}.commercial-grid figure:nth-child(2){margin-top:0}.about-section{grid-template-columns:1fr}.about-photo{max-width:520px}.rep-grid{grid-template-columns:1fr}.modal-inner{grid-template-columns:1fr;padding-top:110px}.modal-media{aspect-ratio:16/10}}
@media(max-width:560px){.brand-name{font-size:11px}.hero h1{font-size:21vw}.section{padding-left:20px;padding-right:20px}.section-head{grid-template-columns:30px 1fr}.award-row{grid-template-columns:70px 1fr}.quote-stage p{font-size:12vw}.about-copy p{font-size:20px}.about-copy .lead{font-size:27px}.contact-section>div:first-child{grid-template-columns:30px 1fr}.modal-inner{padding-left:20px;padding-right:20px}.cursor-dot{display:none}}

/* V2 accent system: gold leads; cyan is a rare optical spark. */
.section-head{position:relative}
.section-head:after{content:"";position:absolute;left:70px;bottom:-22px;width:min(180px,18vw);height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.hero-content:before{content:"";display:block;width:46px;height:2px;background:var(--gold);margin-bottom:26px}
.hero-content:after{content:"";position:absolute;left:0;bottom:-20px;width:7px;height:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 18px rgba(57,201,223,.45)}
.work-card h3{position:relative;padding-bottom:8px}
.work-card h3:after{content:"";display:block;width:34px;height:1px;background:var(--gold);margin-top:11px;transition:width .45s ease}
.work-card:hover h3:after{width:74px}
.award-row{position:relative}
.award-row:before{content:"";position:absolute;left:0;top:0;width:28px;height:1px;background:var(--gold);opacity:.55}
.quote-stage blockquote.active:before{content:"✦";display:block;color:var(--gold);font-size:16px;margin-bottom:22px}
.rep-grid{position:relative}
.rep-grid:before{content:"";position:absolute;top:-1px;left:0;width:120px;height:1px;background:var(--gold)}
/* Cyan is intentionally limited to tiny interactive / optical details. */
.quiet-link span,.hero-content:after{color:var(--cyan)}

/* V4: consistent selected-work rhythm */
.work-card{grid-column:span 6}
.work-card.wide{grid-column:span 6}
.work-media,.type-image{aspect-ratio:16/10}
.work-media.video-thumb iframe{width:100%;height:100%;border:0;pointer-events:none;display:block;background:#111315}
.modal-external{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:10px}
.modal-external:hover{color:var(--cyan)}

@media(max-width:620px){.commercial-grid{grid-template-columns:1fr}}

/* V8: project previews stay paused; only the homepage reel autoplays. */
.escape-still{position:relative}
.escape-still .card-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border:1px solid rgba(236,233,226,.72);border-radius:50%;display:flex;align-items:center;justify-content:center;padding-left:3px;background:rgba(11,12,13,.34);color:var(--paper);font-size:14px;pointer-events:none;transition:background .3s ease,border-color .3s ease,transform .3s ease}
.work-card:hover .escape-still .card-play{background:rgba(11,12,13,.56);border-color:var(--gold);transform:translate(-50%,-50%) scale(1.05)}

/* V9 thumbnail refinements */
.work-media.livecargo-poster{background:#08090a;display:flex;align-items:center;justify-content:center}
.work-media.livecargo-poster img{width:100%;height:100%;object-fit:contain;object-position:center center;filter:none}
.work-card:hover .work-media.livecargo-poster img{transform:scale(1.01);filter:none}
.work-media.normal-thumb img{object-position:58% 42%}


/* V10: film/TV aspect-ratio system */
.work-card.feature-card .work-media{aspect-ratio:2/3;background:#0a0b0c}
.work-card.tv-card .work-media{aspect-ratio:1.85/1}
.work-card.feature-card .poster-art img{width:100%;height:100%;object-fit:contain;object-position:center;background:#0a0b0c;filter:none}
.work-card.feature-card:not([data-project="livecargo"]):not([data-project="watchlist"]) .work-media img{object-fit:cover}
.work-card.normal .work-media img{object-fit:cover}
.work-media.normal-thumb img{object-position:center 42%}
@media(max-width:900px){
  .work-card.feature-card .work-media{aspect-ratio:2/3}
  .work-card.tv-card .work-media{aspect-ratio:1.85/1}
}

/* V11: equal visual height across Selected Work.
   TV stills fill a 1.85:1 frame. Vertical feature posters preserve their
   native poster proportions inside that same-height frame, centered on black. */
.work-card .work-media,
.work-card.feature-card .work-media,
.work-card.tv-card .work-media,
.work-card .type-image{
  aspect-ratio:1.85/1;
}
.work-card.feature-card .poster-art{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#08090a;
}
.work-card.feature-card .poster-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:#08090a;
  filter:none;
}
.work-card:hover .poster-art img{
  transform:scale(1.01);
  filter:none;
}
/* Horizontal feature stills remain cinematic and fill the equal-height frame. */
.work-card.feature-card:not([data-project="livecargo"]):not([data-project="watchlist"]) .work-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media(max-width:900px){
  .work-card .work-media,
  .work-card.feature-card .work-media,
  .work-card.tv-card .work-media,
  .work-card .type-image{aspect-ratio:1.85/1}
}

/* V12 — preserve the existing project order while clearly distinguishing feature films and television.
   Every card has the SAME visual height. TV fills a 1.85:1 frame; feature posters retain a true 2:3
   poster shape inside that same-height frame, centered on charcoal negative space. */
.work-card .work-media,
.work-card.feature-card .work-media,
.work-card.tv-card .work-media,
.work-card .type-image{
  aspect-ratio:1.85/1 !important;
  height:auto;
  background:#090a0b;
}
.tv-frame>img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.feature-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(201,164,92,.045),transparent 26%,transparent 74%,rgba(201,164,92,.045)),
    #090a0b;
}
.poster-shell{
  height:100%;
  aspect-ratio:2/3;
  overflow:hidden;
  position:relative;
  box-shadow:0 0 0 1px rgba(236,233,226,.08),0 14px 40px rgba(0,0,0,.28);
}
.poster-shell img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92);
  transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter 1.1s ease;
}
.work-card:hover .poster-shell img{transform:scale(1.018);filter:saturate(1)}
.format-tag{
  position:absolute;
  top:14px;
  left:14px;
  z-index:4;
  padding:6px 8px 5px;
  background:rgba(9,10,11,.78);
  border:1px solid rgba(201,164,92,.48);
  color:var(--gold);
  font-size:8px;
  letter-spacing:.22em;
  line-height:1;
  backdrop-filter:blur(4px);
}
/* Slightly different poster crops chosen for readability in the 2:3 frame. */
.work-card[data-project="come"] .poster-shell img{object-position:center 50%}
.work-card[data-project="asia"] .poster-shell img{object-position:center center}
.work-card[data-project="livecargo"] .poster-shell img{object-position:center center}
.work-card[data-project="watchlist"] .poster-shell img{object-position:center center}
.work-card[data-project="normal"] .work-media img{object-position:center 45%}

@media(max-width:900px){
  .work-card,.work-card.wide{grid-column:span 12 !important}
  .work-card .work-media,
  .work-card.feature-card .work-media,
  .work-card.tv-card .work-media,
  .work-card .type-image{aspect-ratio:1.85/1 !important}
  .poster-shell{height:100%;aspect-ratio:2/3}
}


/* V13 — cohesive gallery refinement.
   The media stages are slightly taller so feature posters read larger, while every card
   still shares one clean rhythm. Poster art is shown intact inside true vertical shells.
   NORMAL uses the supplied square still with no unnecessary crop. */
.work-list{gap:72px 34px}
.work-card .work-media,
.work-card.feature-card .work-media,
.work-card.tv-card .work-media,
.work-card .type-image{
  aspect-ratio:1.72/1 !important;
  background:#090a0b;
}
.work-media{
  box-shadow:inset 0 0 0 1px rgba(236,233,226,.055);
}
.feature-frame,
.normal-frame{
  background:
    radial-gradient(circle at 50% 44%,rgba(201,164,92,.055),transparent 46%),
    linear-gradient(90deg,rgba(236,233,226,.025),transparent 28%,transparent 72%,rgba(236,233,226,.025)),
    #090a0b;
}
.poster-shell,
.square-shell{
  height:100%;
  position:relative;
  overflow:hidden;
  background:#050606;
  box-shadow:0 0 0 1px rgba(236,233,226,.095),0 16px 46px rgba(0,0,0,.32);
}
.poster-shell{aspect-ratio:2/3}
.square-shell{aspect-ratio:1/1}
.poster-shell img,
.square-shell img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center !important;
  background:#050606;
  filter:saturate(.94);
}
/* Keep WHAT IS TO COME visibly vertical while preserving the complete supplied artwork. */
.work-card[data-project="come"] .poster-shell{aspect-ratio:2/3}
.work-card[data-project="come"] .poster-shell img{object-fit:contain !important}
/* The new NORMAL frame is square; preserve it intact rather than forcing a widescreen crop. */
.work-card[data-project="normal"] .normal-frame{
  display:flex;
  align-items:center;
  justify-content:center;
}
.work-card[data-project="normal"] .normal-frame>img{display:none}
.work-card[data-project="normal"] .square-shell img{transform:none !important}
.work-card[data-project="normal"]:hover .square-shell img{transform:none !important;filter:saturate(1)}
.work-card:hover .poster-shell img{transform:scale(1.008);filter:saturate(1)}
@media(max-width:900px){
  .work-list{gap:58px 0}
  .work-card .work-media,
  .work-card.feature-card .work-media,
  .work-card.tv-card .work-media,
  .work-card .type-image{aspect-ratio:1.72/1 !important}
}

/* V15 — GALLERY WALL
   The selected work section stops treating every image as the same object.
   Feature posters remain completely intact and are proportioned as a poster wall;
   TV stays cinematic, while NORMAL keeps the supplied square frame untouched. */
.work-gallery-v15{display:block}
.work-group-v15{margin-top:0}
.work-group-v15 + .work-group-v15{margin-top:110px}
.work-group-head-v15{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-bottom:28px}
.work-group-head-v15 span{font-size:9px;letter-spacing:.25em;color:var(--gold)}
.work-group-head-v15 i{display:block;height:1px;background:linear-gradient(90deg,rgba(201,164,92,.52),rgba(236,233,226,.09) 34%,transparent)}

/* Exact source-width proportions make the four intact posters land at essentially one height. */
.film-strip-v15{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.1vw,34px);align-items:start}
.work-card-v15{min-width:0;grid-column:auto !important;cursor:pointer}
.poster-visual-v15{width:100%;overflow:hidden;background:transparent;position:relative}
.poster-visual-v15 img{display:block;width:100%;height:auto;filter:saturate(.94);transition:transform 1.05s cubic-bezier(.16,1,.3,1),filter 1.05s ease}
.work-card-v15:hover .poster-visual-v15 img{transform:scale(1.008);filter:saturate(1)}

/* TV: two generous widescreen works, then a second row whose 1.85:1 + 1:1 columns
   give CARTHAGO and NORMAL the same physical image height without cropping either. */
.tv-primary-v15{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,2.6vw,44px)}
.tv-secondary-v15{display:grid;grid-template-columns:1.85fr 1fr;gap:clamp(24px,2.6vw,44px);margin-top:52px;width:min(78%,1040px)}
.tv-visual-v15{position:relative;aspect-ratio:1.85/1;overflow:hidden;background:#0b0c0d}
.tv-visual-v15>img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform 1.05s cubic-bezier(.16,1,.3,1),filter 1.05s ease}
.tv-visual-v15 iframe{display:block;width:100%;height:100%;border:0;pointer-events:none;background:#0b0c0d}
.work-card-v15:hover .tv-visual-v15>img{transform:scale(1.018);filter:saturate(1)}
.normal-visual-v15{position:relative;aspect-ratio:1/1;overflow:hidden;background:transparent}
.normal-visual-v15 img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:saturate(.96);transition:filter .8s ease}
.work-card-v15:hover .normal-visual-v15 img{filter:saturate(1)}

/* Remove the former boxed-poster language entirely. */
.work-gallery-v15 .work-meta{padding:14px 0 7px;border-bottom:0;font-size:8px;letter-spacing:.17em}
.work-gallery-v15 .work-card h3{font-size:clamp(25px,2.15vw,38px);line-height:.98;letter-spacing:-.025em;padding-bottom:0}
.work-gallery-v15 .work-card h3:after{width:24px;margin-top:10px;opacity:.72}
.work-gallery-v15 .work-card:hover h3:after{width:54px}
.film-strip-v15 .work-card h3{font-size:clamp(21px,1.75vw,31px)}
.film-strip-v15 .work-meta{font-size:7.5px;letter-spacing:.145em}

@media(max-width:1050px){
  .film-strip-v15{grid-template-columns:1.194fr 1fr;gap:54px 28px}
  .film-strip-v15 .work-card:nth-child(3),.film-strip-v15 .work-card:nth-child(4){margin-top:8px}
  .tv-secondary-v15{width:100%}
}
@media(max-width:760px){
  .work-group-v15 + .work-group-v15{margin-top:82px}
  .film-strip-v15{grid-template-columns:1.194fr 1fr;gap:46px 18px}
  .tv-primary-v15{grid-template-columns:1fr;gap:48px}
  .tv-secondary-v15{grid-template-columns:1fr;gap:48px;margin-top:48px}
  .normal-v15{width:min(72vw,440px)}
  .work-gallery-v15 .work-card h3,.film-strip-v15 .work-card h3{font-size:clamp(25px,7vw,36px)}
}
@media(max-width:520px){
  .film-strip-v15{grid-template-columns:1fr;gap:48px}
  .poster-visual-v15{width:min(86%,420px)}
  .film-strip-v15 .work-card:nth-child(1) .poster-visual-v15{width:min(96%,460px)}
  .film-strip-v15 .work-meta,.film-strip-v15 h3{width:min(96%,460px)}
  .work-group-head-v15{margin-bottom:22px}
  .normal-v15{width:min(88vw,420px)}
}

/* V16 — series-first gallery refinement.
   Television leads the portfolio; all series thumbnails now share a 1.85:1 visual frame.
   Feature posters remain intact at their native proportions. */
.tv-group-v15 + .film-group-v15{margin-top:110px}
.film-group-v15 + .tv-group-v15{margin-top:0}
.tv-secondary-v15{
  grid-template-columns:1fr 1fr;
  width:100%;
}
.normal-visual-v16{
  aspect-ratio:1.85/1;
  overflow:hidden;
  background:#0b0c0d;
}
.normal-visual-v16 img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 34%;
  filter:saturate(.96);
  transition:transform 1.05s cubic-bezier(.16,1,.3,1),filter 1.05s ease;
}
.work-card-v15:hover .normal-visual-v16 img{
  transform:scale(1.018);
  filter:saturate(1);
}
/* WITC source matte has been trimmed from the asset itself; no border/frame is added here. */
.film-strip-v15{grid-template-columns:repeat(4,1fr)}
@media(max-width:1050px){
  .film-strip-v15{grid-template-columns:1.197fr 1fr}
}
@media(max-width:760px){
  .tv-group-v15 + .film-group-v15{margin-top:82px}
  .tv-secondary-v15{grid-template-columns:1fr;gap:48px;margin-top:48px;width:100%}
  .normal-v15{width:100%}
}
@media(max-width:520px){
  .normal-v15{width:100%}
}


/* V18 — updated bio and a cleaner Escape thumbnail treatment.
   The Vimeo still is slightly enlarged and vertically shifted so the embedded
   Hebrew lettering is cropped down as much as possible without changing the card layout. */
.escape-still{overflow:hidden;background:#0b0c0d;position:relative}
.escape-still iframe{
  width:118%;
  height:118%;
  margin-left:-9%;
  margin-top:-6%;
  transform:none;
}
.escape-still:before,
.escape-still:after{
  content:"";
  position:absolute;
  left:0;right:0;
  pointer-events:none;
  z-index:2;
}
.escape-still:before{
  top:0;
  height:7%;
  background:linear-gradient(to bottom, rgba(11,12,13,.72), rgba(11,12,13,0));
}
.escape-still:after{
  bottom:0;
  height:14%;
  background:linear-gradient(to bottom, rgba(11,12,13,0), rgba(11,12,13,.72));
}


/* V19 — Escape thumbnail: remove Hebrew lettering completely from the visible preview.
   The Vimeo player is hidden until JS seeks to a clean later frame and disables text tracks. */
.escape-still:before,
.escape-still:after{display:none !important;content:none !important}
.escape-still .escape-preview-frame{
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  opacity:0;
  transition:opacity .25s ease;
}
.escape-still.escape-clean-ready .escape-preview-frame{opacity:1}
.escape-still:not(.escape-clean-ready){background:#0b0c0d}


/* V20 — final thumbnail refinements. */
.escape-still{overflow:hidden;background:#0b0c0d;position:relative}
.escape-still iframe{display:block;width:106%;height:106%;margin-left:-3%;margin-top:-2%;background:#0b0c0d}
.escape-still:after{content:"";position:absolute;left:0;right:0;bottom:0;height:17%;background:linear-gradient(to bottom, rgba(11,12,13,0), rgba(11,12,13,.94) 48%, rgba(11,12,13,.98));pointer-events:none;z-index:2}
.escape-still:before{content:"";position:absolute;left:0;right:0;top:0;height:4%;background:linear-gradient(to bottom, rgba(11,12,13,.35), rgba(11,12,13,0));pointer-events:none;z-index:2}
.normal-visual-v16 img{object-position:center center}

.escape-still .escape-preview-frame{opacity:1 !important}
.escape-still:before,.escape-still:after{display:block !important}


/* V21 — prestige marks and final about alignment */
.about-section{align-items:start !important}
.about-photo{align-self:start;margin-top:78px}
@media(max-width:900px){.about-photo{margin-top:0}}

.normal-visual-v16{position:relative}
.normal-brandmarks{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:14px}
.normal-hbo{width:92px;max-width:34%;align-self:flex-start;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3))}
.normal-accolades{display:flex;flex-direction:column;gap:8px;align-self:flex-end;align-items:flex-end}
.normal-accolades img{height:26px;width:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3))}

.witc-visual{position:relative}
.witc-laurels{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:space-between;gap:10px;padding:0 8px;pointer-events:none}
.witc-laurels img{width:46%;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}

@media(max-width:760px){
  .normal-brandmarks{padding:10px}
  .normal-hbo{width:80px}
  .normal-accolades img{height:23px}
  .witc-laurels{bottom:8px;padding:0 6px}
}


/* V25 — user-supplied THE ESCAPE key art in the thumbnail.
   Preserve the full image inside the 1.85 card by letterboxing on black rather than cropping. */
.escape-letterbox{
  background:#000 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.escape-letterbox img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center;
  background:#000;
  filter:saturate(.96);
  transition:transform 1.05s cubic-bezier(.16,1,.3,1),filter 1.05s ease;
}
.work-card-v15:hover .escape-letterbox img{
  transform:scale(1.01);
  filter:saturate(1);
}
/* Neutralize older iframe-specific Escape preview treatments. */
.escape-letterbox iframe{display:none !important}


/* V26 — linked commercial cards + internal embedded video pages */
.commercial-card-link{display:block;color:inherit;text-decoration:none;min-width:0}
.commercial-card-link figure{margin:0}
.commercial-thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:#111315}
.commercial-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86);transition:filter .6s ease,transform .6s ease}
.commercial-card-link:hover .commercial-thumb img{filter:saturate(1);transform:scale(1.018)}
.commercial-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:1px solid rgba(236,233,226,.75);border-radius:50%;display:flex;align-items:center;justify-content:center;padding-left:3px;background:rgba(11,12,13,.38);color:var(--paper);font-size:12px;transition:background .3s ease,border-color .3s ease}
.commercial-card-link:hover .commercial-play{border-color:var(--gold);background:rgba(11,12,13,.6)}

.video-page{min-height:100vh;background:var(--ink);color:var(--paper)}
.video-page .site-header{background:linear-gradient(to bottom,rgba(11,12,13,.94),rgba(11,12,13,.35),transparent)}
.video-page-main{padding:150px var(--pad) 90px}
.video-page-head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:38px}
.video-page-kicker{font-size:10px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;margin:0 0 14px}
.video-page h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7vw,104px);line-height:.9;letter-spacing:-.04em;margin:0}
.video-page-credit{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);max-width:460px;line-height:1.7;text-align:right}
.video-embed-shell{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden;box-shadow:0 22px 70px rgba(0,0,0,.38)}
.video-embed-shell iframe{width:100%;height:100%;border:0;display:block;background:#000}
.video-page-actions{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:24px}
.video-page-actions a{font-size:10px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:6px}
.video-source-note{font-size:9px;letter-spacing:.08em;color:var(--muted);max-width:620px;line-height:1.5}
@media(max-width:760px){
  .video-page-main{padding:110px 20px 60px}
  .video-page-head{grid-template-columns:1fr;gap:18px}
  .video-page-credit{text-align:left}
  .video-page-actions{align-items:flex-start;flex-direction:column}
}


/* V27 — add accolade/logo overlays to Bad Boy and Carthago thumbnails */
.branded-tv-v27{position:relative}
.tv-badge-v27{
  position:absolute;
  right:12px;
  top:12px;
  z-index:2;
  height:auto;
  pointer-events:none;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.35));
}
.cannes-badge-v27{
  width:min(33%,140px);
}
.emmy-badge-v27{
  width:min(20%,90px);
}

@media(max-width:760px){
  .tv-badge-v27{right:8px;top:8px}
  .cannes-badge-v27{width:min(36%,120px)}
  .emmy-badge-v27{width:min(22%,78px)}
}


/* V28 — exact-image badge overlay fix.
   Bad Boy and Carthago keep the existing site thumbnails untouched.
   Only the small separate badge images are overlaid in the corners. */
.tv-visual-v15 > img.tv-badge-v27{
  position:absolute !important;
  z-index:5 !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  pointer-events:none !important;
  transform:none !important;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.55)) !important;
}

.tv-visual-v15 > img.emmy-badge-v27{
  width:58px !important;
  max-width:none !important;
  top:10px !important;
  right:10px !important;
  left:auto !important;
  bottom:auto !important;
}

.tv-visual-v15 > img.cannes-badge-v27{
  width:92px !important;
  max-width:none !important;
  top:10px !important;
  left:10px !important;
  right:auto !important;
  bottom:auto !important;
}

.work-card-v15:hover .tv-visual-v15 > img.tv-badge-v27{
  transform:none !important;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.55)) !important;
}

@media(max-width:760px){
  .tv-visual-v15 > img.emmy-badge-v27{
    width:50px !important;
    top:8px !important;
    right:8px !important;
  }
  .tv-visual-v15 > img.cannes-badge-v27{
    width:78px !important;
    top:8px !important;
    left:8px !important;
  }
}

/* V32 — Vogue Italia thumbnail restored using the Vimeo player poster itself.
   This avoids the broken remote static-thumbnail URL while keeping the card clickable. */
.vogue-thumb-embed iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
  pointer-events:none;
  background:#111315;
}
.vogue-thumb-embed .commercial-play{z-index:2}


/* V33 — consistent close control on all standalone commercial video pages. */
.video-page-close{
  position:fixed;
  z-index:110;
  right:30px;
  top:28px;
  border:0;
  background:none;
  color:var(--paper);
  letter-spacing:.18em;
  font-size:10px;
  line-height:1;
  text-transform:uppercase;
  cursor:pointer;
}
.video-page-close:hover{color:var(--gold)}

/* On standalone commercial pages, use the close control in the top-right
   instead of duplicating the main navigation in the same space. */
.video-page .site-header .nav{display:none}

@media(max-width:560px){
  .video-page-close{
    right:20px;
    top:24px;
    font-size:9px;
  }
}
