@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 600;font-display:swap;src:url(/fonts/cormorant.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-italic.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter.woff2) format('woff2')}
@font-face{font-family:'Cormorant Fallback';src:local('Georgia');size-adjust:88%;ascent-override:95%;descent-override:29%;line-gap-override:0%}
@font-face{font-family:'Inter Fallback';src:local('Arial');size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}
:root{
  --ink:#141414;--black:#0A0A0A;--charcoal:#1C1C1C;--paper:#FFFFFF;--warm:#FAF8F4;--slate:#3A3A38;--stone:#5C5B57;
  --ash:#6B6963;--mist:#CFCCC5;--cloud:#EDEAE3;--gold:#B08D57;--gold-ink:#86673a;
  --fd:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;--fb:"Inter","Inter Fallback",system-ui,-apple-system,sans-serif;
  --s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:48px;--s10:64px;--s12:96px;
  --nav:68px;--maxw:1180px;--narrow:760px;--ease:cubic-bezier(.22,1,.36,1);--dur:240ms;
  --sh-sm:0 1px 2px rgba(20,20,20,.06),0 2px 8px rgba(20,20,20,.05);--sh-md:0 8px 24px rgba(20,20,20,.08),0 2px 6px rgba(20,20,20,.05);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav) + 12px)}
body{margin:0;font-family:var(--fb);color:var(--ink);background:var(--warm);-webkit-font-smoothing:antialiased;line-height:1.65;font-size:16px}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--s6)}
.narrow{max-width:var(--narrow)}
@media(min-width:768px){.wrap{padding-inline:var(--s8)}}
section{padding-block:var(--s10)}
@media(min-width:768px){section{padding-block:var(--s12)}}
h1,h2,h3{font-family:var(--fd);font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0}
p{margin:0}a{color:inherit}
em{color:var(--gold-ink);font-style:italic}
.kicker{font-family:var(--fb);font-weight:700;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ash);margin:0 0 var(--s5)}
.kicker .dot{color:var(--gold);margin-inline:6px}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:12px;top:12px;z-index:200;background:#fff;color:#000;padding:10px 14px;border-radius:4px}

.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fb);font-weight:600;font-size:15px;padding:14px 24px;border-radius:4px;text-decoration:none;border:1px solid transparent;white-space:nowrap;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.btn .arrow{transition:transform var(--dur) var(--ease)}
.btn:hover .arrow{transform:translateX(3px)}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{background:var(--black);transform:translateY(-2px);box-shadow:var(--sh-md)}
.btn-ondark{background:rgba(255,255,255,.96);color:var(--black)}
.btn-line{border-color:var(--mist);color:var(--ink);background:transparent}
.btn-line:hover{border-color:var(--ink)}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(250,248,244,.9);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px)}
.nav-inner{max-width:var(--maxw);margin-inline:auto;height:var(--nav);padding-inline:var(--s6);display:flex;align-items:center;gap:var(--s6)}
@media(min-width:768px){.nav-inner{padding-inline:var(--s8)}}
.brand{display:inline-flex;text-decoration:none;margin-right:auto}
.brand img{height:24px;width:auto}
.nav-links{display:none;list-style:none;margin:0;padding:0;gap:var(--s6);font-size:14px}
.nav-links a{text-decoration:none;color:var(--slate);padding:10px 0;display:inline-block}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}
.nav-links a[aria-current]{box-shadow:inset 0 -1.5px 0 var(--gold)}
@media(min-width:960px){.nav-links{display:flex}}
.nav .btn{font-size:14px;padding:11px 18px}
@media(max-width:480px){.nav-inner{padding-inline:var(--s4);gap:var(--s3)}.brand img{height:20px}.nav .btn{font-size:13px;padding:10px 12px}.nav .btn .arrow{display:none}}

/* Announcement + menu */
.announce{background:var(--black);color:rgba(255,255,255,.78);font-size:13px;text-align:center;padding:10px 0;line-height:1.45}
.announce .tag{display:inline-block;background:var(--gold);color:#0a0a0a;font-weight:700;font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:3px 7px;border-radius:2px;margin-right:8px;vertical-align:1px}
.announce a{color:#fff;font-weight:600;text-underline-offset:3px;white-space:nowrap}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-content:center;gap:6px;border-radius:4px}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;width:20px;height:1.5px;background:var(--ink);transition:transform var(--dur) var(--ease)}
.menu[open] summary span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu[open] summary span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.menu ul{position:absolute;right:0;top:calc(100% + 12px);list-style:none;margin:0;padding:8px 0;background:var(--paper);border:1px solid var(--cloud);border-radius:6px;box-shadow:var(--sh-md);min-width:240px}
.menu ul a{display:block;padding:12px 20px;text-decoration:none;color:var(--ink);font-size:15px}
.menu ul a:hover{background:var(--warm)}
.menu ul li:last-child a{font-weight:600;border-top:1px solid var(--cloud);margin-top:6px;padding-top:16px}
@media(min-width:960px){.menu{display:none}}
@media(max-width:480px){.nav .btn{font-size:13px;padding:9px 12px}.menu summary{width:40px}}

/* Page hero */
.crumbs{font-size:12.5px;color:var(--ash);margin:0 0 var(--s6);display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--mist)}
.crumbs a{text-decoration:none;color:var(--stone)}
.crumbs a:hover{color:var(--ink)}
.page-hero{padding-block:var(--s9) var(--s10)}
@media(min-width:768px){.page-hero{padding-block:var(--s10) var(--s12)}}
.page-hero h1{font-size:clamp(36px,5.6vw,64px);letter-spacing:-.02em;max-width:18ch}
.page-hero .lede{font-size:clamp(17px,1.6vw,19px);color:var(--stone);max-width:60ch;margin-top:var(--s6);line-height:1.6}
.page-hero .actions{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s8);align-items:center}
.page-hero .actions .note{font-size:13.5px;color:var(--stone)}
.hero-media{margin-top:var(--s9);border-radius:4px;overflow:hidden;background:var(--cloud);aspect-ratio:16/9}
.hero-media img{width:100%;height:100%;object-fit:cover}

/* Content blocks */
.band{background:var(--paper)}
.dark{background:var(--black);color:rgba(255,255,255,.82)}
.dark h2,.dark h3{color:#fff}
.dark em{color:var(--gold)}
.dark .kicker{color:rgba(255,255,255,.55)}
.sec-head{max-width:720px;margin-bottom:var(--s9)}
.sec-head h2{font-size:clamp(28px,3.8vw,44px);letter-spacing:-.015em}
.sec-head p{margin-top:var(--s5);font-size:17px;color:var(--stone);line-height:1.6}
.dark .sec-head p{color:rgba(255,255,255,.65)}
.prose{max-width:var(--narrow);font-size:17px;line-height:1.75;color:var(--slate)}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(26px,3.2vw,36px);color:var(--ink);margin-top:1.8em;line-height:1.15}
.prose h3{font-size:24px;color:var(--ink);margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.2em}
.prose li+li{margin-top:.4em}
.prose a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--gold)}
.prose strong{color:var(--ink)}
.cols{display:grid;gap:var(--s7)}
@media(min-width:768px){.cols{grid-template-columns:repeat(var(--n,3),1fr);gap:var(--s8)}}
.card{background:var(--paper);border-radius:8px;padding:var(--s7)}
.dark .card{background:var(--charcoal)}
.band .card{background:var(--warm)}
.card h3{font-size:24px;margin-bottom:var(--s3)}
.card p{color:var(--stone);font-size:15.5px;line-height:1.6}
.dark .card p{color:rgba(255,255,255,.65)}
.card a.more{display:inline-block;margin-top:var(--s4);font-size:14px;font-weight:600;text-decoration:none;color:var(--ink);padding:6px 0}
.card a.more::after{content:" →"}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:var(--s4)}
.ticks li{padding-left:28px;position:relative;line-height:1.55}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:14px;height:1.5px;background:var(--gold)}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);text-align:center}
.stat-row b{display:block;font-family:var(--fd);font-size:clamp(30px,4.4vw,48px);font-weight:600;color:var(--ink);line-height:1}
.dark .stat-row b{color:#fff}
.stat-row span{display:block;font-size:13px;color:var(--stone);margin-top:8px;line-height:1.4}
.dark .stat-row span{color:rgba(255,255,255,.6)}
.split{display:grid;gap:var(--s8);align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:var(--s10)}}
.split img{border-radius:4px}

/* Work tiles */
.films{display:grid;gap:var(--s5)}
@media(min-width:760px){.films{grid-template-columns:repeat(var(--n,3),1fr)}}
.reels{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4)}
@media(min-width:760px){.reels{grid-template-columns:repeat(5,1fr)}}
.tile{position:relative;display:block;width:100%;padding:0;border:0;background:var(--charcoal);border-radius:4px;overflow:hidden;cursor:pointer;color:#fff;text-align:left;font:inherit;text-decoration:none}
.tile img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9;transition:transform .8s var(--ease)}
.reels .tile img{aspect-ratio:9/16}
.tile:hover img{transform:scale(1.03)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65),transparent 50%)}
.tile .cap{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;font-size:14px;line-height:1.35}
.tile .cap strong{display:block;font-weight:600}
.tile .cap span{opacity:.7;font-size:12.5px}
.tile .play{position:absolute;top:12px;right:12px;z-index:1;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);color:#000;display:grid;place-items:center}
.stills{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
@media(min-width:760px){.stills{grid-template-columns:repeat(3,1fr);gap:var(--s4)}}
.stills .tile img{aspect-ratio:3/2}
.stills .tile::after{display:none}
.gallery{columns:2;column-gap:var(--s3)}
@media(min-width:900px){.gallery{columns:3;column-gap:var(--s4)}}
.gallery .tile{margin-bottom:var(--s3);break-inside:avoid}
@media(min-width:900px){.gallery .tile{margin-bottom:var(--s4)}}
.gallery .tile img{aspect-ratio:auto}
.gallery .tile::after{display:none}
.proj-grid{display:grid;gap:var(--s5)}
@media(min-width:640px){.proj-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.proj-grid{grid-template-columns:repeat(3,1fr)}}
.proj-grid .tile img{aspect-ratio:3/2}

/* Q&A */
.qa{max-width:var(--narrow)}
.qa details{background:#fff;border-radius:8px;padding:0 var(--s6);margin-bottom:var(--s3)}
.band .qa details{background:var(--warm)}
.qa summary{list-style:none;cursor:pointer;padding:var(--s5) 40px var(--s5) 0;position:relative;font-family:var(--fd);font-size:clamp(20px,2.2vw,24px);font-weight:600;line-height:1.3}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--fb);font-weight:400;font-size:22px;color:var(--gold)}
.qa details[open] summary::after{content:"−"}
.qa .a{padding:0 0 var(--s6);color:var(--stone);line-height:1.7;max-width:64ch}
.qa .a a{color:var(--ink);text-decoration-color:var(--gold);text-underline-offset:3px}

/* CTA band */
.cta{background:var(--black);color:#fff;text-align:center}
.cta h2{font-size:clamp(30px,4.2vw,48px);max-width:none;text-wrap:balance;margin-inline:auto;color:#fff}
.cta em{color:var(--gold)}
.cta p{color:rgba(255,255,255,.66);max-width:72ch;margin:var(--s5) auto 0;font-size:16.5px}
.cta .actions{margin-top:var(--s8);display:flex;flex-direction:column;align-items:center;gap:var(--s5)}
.cta .alt{font-size:14px;color:rgba(255,255,255,.6)}
.cta .alt a{color:#fff;display:inline-block;padding:6px 0}

/* Article */
.post-meta{font-size:13.5px;color:var(--ash);margin-top:var(--s5)}
.post-list{display:grid;gap:var(--s5)}
@media(min-width:768px){.post-list{grid-template-columns:repeat(2,1fr)}}

/* Team */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s8) var(--s4)}
@media(min-width:640px){.team{gap:var(--s9) var(--s6)}}
@media(min-width:1000px){.team{grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:var(--s7)}}
.person{margin:0}
.person .ph{aspect-ratio:4/5;border-radius:4px;background:var(--charcoal);display:grid;place-items:center;font-family:var(--fd);font-size:56px;color:var(--ash);overflow:hidden}
.person .ph img{display:block;width:100%;height:100%;object-fit:cover}
.person h3{font-size:clamp(19px,2.2vw,24px);line-height:1.2;margin:var(--s4) 0 0}
.person .role{font-size:12.5px;letter-spacing:.06em;line-height:1.4;color:var(--gold-ink);font-weight:600;margin:6px 0 0}
.person p{color:var(--stone);font-size:15.5px;margin-top:var(--s3)}

/* Footer */
footer{background:var(--black);color:rgba(255,255,255,.62);padding-block:var(--s10) var(--s8);font-size:14px}
.foot-grid{display:grid;gap:var(--s8);grid-template-columns:1fr 1fr}
@media(min-width:900px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}}
.foot-grid .about{grid-column:1/-1}
@media(min-width:900px){.foot-grid .about{grid-column:auto}}
.foot-grid img{height:22px;width:auto;opacity:.9}
.foot-grid .about p{margin-top:var(--s5);max-width:34ch;line-height:1.6}
.foot-grid h2{font-family:var(--fb);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.62);font-weight:700;margin-bottom:var(--s4)}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li a{color:rgba(255,255,255,.72);text-decoration:none;display:inline-block;padding:7px 0}
.foot-grid li a:hover{color:#fff}
.foot-base{margin-top:var(--s9);display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);justify-content:space-between;font-size:12.5px;color:rgba(255,255,255,.5)}
.foot-base a{color:inherit;display:inline-block;padding:6px 0}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:150;background:rgba(6,6,6,.94);display:grid;place-items:center;padding:var(--s6)}
.lb[hidden]{display:none}
.lb-body{width:min(1120px,100%,calc(88vh * 16 / 9))}
.lb-body.portrait{width:min(420px,100%,calc(88vh * 9 / 16))}
.lb-frame{width:100%;aspect-ratio:16/9;background:#000}
.lb-body.portrait .lb-frame{aspect-ratio:9/16}
.lb-frame iframe{width:100%;height:100%;border:0;display:block}
.lb-body.img{width:auto}
.lb-body.img img{max-width:min(1400px,100%);max-height:88vh;margin:0 auto}
.lb-close{position:absolute;top:var(--s4);right:var(--s5);background:transparent;border:0;color:#fff;font-size:36px;line-height:1;cursor:pointer;opacity:.8;padding:8px 12px}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:22px;cursor:pointer}
.lb-prev{left:var(--s4)}.lb-next{right:var(--s4)}
.lb-nav[hidden]{display:none}

/* Work: packages */
.page-hero.slim{padding-block:var(--s9) var(--s6)}
.pkg{padding-block:var(--s10)}
.pkg-h{font-size:clamp(34px,5vw,56px);letter-spacing:-.02em;margin-bottom:var(--s8)}
.pkg-h span{display:block;font-family:var(--fb);font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:10px}
.prop+.prop{margin-top:var(--s12)}
.prop h3{font-size:clamp(24px,2.8vw,32px);margin-bottom:var(--s5);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.prop h3 span{font-family:var(--fb);font-size:14px;font-weight:500;color:var(--stone);letter-spacing:0}
.pmedia{display:grid;gap:var(--s4);margin-bottom:var(--s6)}
@media(min-width:760px){.pmedia.has-reels{grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:start}}
.pmedia .film img{aspect-ratio:16/9}
.preels{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
@media(min-width:760px){.pmedia.has-reels .preels{grid-template-columns:1fr}.pmedia.no-film .preels{grid-template-columns:repeat(5,1fr)}}
.preels .tile img{aspect-ratio:9/16}
.pset+.pset{margin-top:var(--s7)}
.pset-h{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ash);margin-bottom:var(--s3)}
.pset-h span{color:var(--gold-ink);margin-left:6px}
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
@media(min-width:760px){.pgrid{grid-template-columns:repeat(3,1fr);gap:8px}}
.pgrid.tall{grid-template-columns:repeat(3,1fr)}
@media(min-width:760px){.pgrid.tall{grid-template-columns:repeat(6,1fr)}}
.ph{display:block;padding:0;border:0;background:var(--cloud);cursor:zoom-in;overflow:hidden;border-radius:2px}
.ph[hidden]{display:none}
.ph img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .6s var(--ease),opacity var(--dur)}
.pgrid.tall .ph img{aspect-ratio:9/16}
.ph:hover img{transform:scale(1.03)}
.more-btn{margin-top:var(--s4);font:inherit;font-size:14px;font-weight:600;background:transparent;border:1px solid var(--mist);border-radius:4px;padding:12px 20px;cursor:pointer;color:var(--ink)}
.more-btn:hover{border-color:var(--ink)}

/* Before / after */
.ba-grid{display:grid;gap:var(--s8)}
@media(min-width:900px){.ba-grid{grid-template-columns:1fr 1fr}}
.ba-item{margin:0}
.ba{position:relative;overflow:hidden;border-radius:4px;background:var(--cloud);--pos:50%;user-select:none;touch-action:pan-y}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);pointer-events:none}
.ba-line::after{content:"‹ ›";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-size:16px;font-weight:700;letter-spacing:2px;box-shadow:var(--sh-md)}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;-webkit-appearance:none;appearance:none}
.ba input:focus-visible+.x,.ba:focus-within .ba-line::after{outline:2px solid var(--gold);outline-offset:2px}
.ba-tag{position:absolute;top:12px;z-index:1;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.45);padding:5px 9px;border-radius:2px;pointer-events:none}
.ba-tag.l{left:12px}.ba-tag.r{right:12px}
.ba-item figcaption{margin-top:var(--s4);color:var(--stone);font-size:15px;line-height:1.55}
.ba-item figcaption strong{display:block;font-family:var(--fd);font-size:24px;color:var(--ink);font-weight:600;margin-bottom:2px}

/* One heading-left, content-right pattern for lists and FAQs */
.split.top{align-items:start}
@media(min-width:900px){.split.top{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}}
.sh{font-size:clamp(26px,3vw,36px);letter-spacing:-.015em}
.split.top .qa{border-top:0}
.page-hero .lede{max-width:52ch}
/* Proximity: two plain sections in a row share one gap, split by a hairline */
main>section:not(.band):not(.dark):not(.cta):not(.page-hero)+section:not(.band):not(.dark):not(.cta){padding-top:0}

/* Fitts: bigger hit areas, same look */
.announce a{display:inline-block;padding:12px 4px;margin:-12px 0}
.brand{padding:12px 0}
.page-hero .note a{display:inline-block;padding:12px 0;margin:-12px 0}
.foot-grid .about>a{display:inline-block;padding:10px 0}

/* Work index: listing cards */
.lgrid{display:grid;gap:var(--s8)}
@media(min-width:760px){.lgrid{grid-template-columns:repeat(2,1fr);gap:var(--s8) var(--s6)}}
@media(min-width:1100px){.lgrid:not(.one){grid-template-columns:repeat(3,1fr)}}
.lgrid.one .lcard{max-width:none}
@media(min-width:760px){.lgrid.one{grid-template-columns:1fr}.lgrid.one .card-media{aspect-ratio:21/9}}
.lcard{display:block;text-decoration:none;color:var(--ink)}
.card-media{position:relative;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:var(--cloud)}
.card-media img,.card-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card-media video{z-index:1;opacity:0;transition:opacity .5s var(--ease)}
.card-media video.on{opacity:1}
.lcard:hover .card-media img{transform:scale(1.03)}
.card-sel{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
.card-sel img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px;background:var(--cloud)}
.card-txt{margin-top:var(--s4);display:flex;flex-direction:column;gap:2px}
.card-txt strong{font-family:var(--fd);font-size:24px;font-weight:600;line-height:1.15}
.card-txt span{font-size:14px;color:var(--stone)}
.card-txt .card-facts{font-size:12.5px;color:var(--stone);margin-top:4px}
.lcard:hover .card-txt strong{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}

/* Listing page */
.page-hero.listing .lede{font-size:16px;margin-top:var(--s4)}
.dot-sep{color:var(--gold);margin-inline:10px}
.lhero{margin-top:var(--s8);border-radius:8px;overflow:hidden;background:#000}
.lhero img{width:100%;aspect-ratio:16/9;object-fit:cover}
.vtile{position:relative;display:block;width:100%;padding:0;border:0;background:#111;border-radius:6px;overflow:hidden;color:#fff;font:inherit;text-align:left}
button.vtile{cursor:pointer}
.vtile img,.vtile video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}
.vtile.wide img,.vtile.wide video{aspect-ratio:16/9}
.vtile video{position:absolute;inset:0;height:100%;z-index:1;opacity:0;transition:opacity .5s var(--ease)}
.vtile video.on{opacity:1}
.vtile .play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.94);color:#000;display:grid;place-items:center;transition:transform var(--dur) var(--ease)}
.vtile .play svg{margin-left:3px}
button.vtile:hover .play{transform:translate(-50%,-50%) scale(1.06)}
.vtile .vlabel{position:absolute;z-index:2;left:12px;bottom:10px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.selects-sec{padding-block:var(--s7) 0}
.selects{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}
.selects .big{grid-column:span 2}
@media(min-width:760px){.selects{grid-template-columns:repeat(4,1fr)}.selects .big{grid-column:span 2;grid-row:span 2}}
.selects .ph img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
@media(min-width:760px){.selects .big img{height:100%;aspect-ratio:auto;position:absolute;inset:0}.selects .big{position:relative;aspect-ratio:3/2}}
.sh2{font-size:clamp(24px,2.6vw,32px);margin-bottom:var(--s6)}
.sh2 span{font-family:var(--fb);font-size:14px;color:var(--gold-ink);font-weight:600;margin-left:6px;letter-spacing:0}
.reels-sec,.pset-sec{padding-block:var(--s9) 0}
.lreels{display:grid;gap:var(--s3);grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.lreels{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1100px){.lreels{grid-template-columns:repeat(5,1fr)}}
.lnav-sec{padding-block:var(--s10)}
.lnav{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--s5);align-items:center}
.lnav a{text-decoration:none;color:var(--ink);font-family:var(--fd);font-size:20px;line-height:1.2;padding:12px 0}
.lnav a span{display:block;font-family:var(--fb);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-bottom:4px}
.lnav a:nth-child(2){font-family:var(--fb);font-size:14px;font-weight:600;border-bottom:1.5px solid var(--gold);padding:8px 0}
.lnav a:last-child{text-align:right}
@media(max-width:600px){.lnav{grid-template-columns:1fr 1fr}.lnav a:nth-child(2){display:none}.lnav a{font-size:17px}}

.more-link{margin-top:var(--s7);text-align:center}
.more-link a{display:inline-block;padding:10px 0;font-weight:600;text-decoration:none;color:var(--ink);border-bottom:1.5px solid var(--gold)}
.dark .more-link a{color:#fff}

.person:not(:has(.ph)){background:var(--warm);border-radius:8px;padding:var(--s7)}
.person:not(:has(.ph)) h3{margin-top:0}

/* Services dropdown (hover on desktop, click/tap toggles, Esc closes) */
.has-drop{position:relative}
.drop-btn{font:inherit;font-size:14px;color:var(--slate);background:none;border:0;padding:10px 0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.drop-btn svg{transition:transform var(--dur) var(--ease)}
.drop-btn:hover,.drop-btn.is-on,.has-drop:hover .drop-btn,.has-drop.open .drop-btn{color:var(--ink)}
.drop-btn.is-on{box-shadow:inset 0 -1.5px 0 var(--gold)}
.has-drop:hover .drop-btn svg,.has-drop.open .drop-btn svg{transform:rotate(180deg)}
.drop{position:absolute;left:50%;top:100%;padding-top:10px;transform:translate(-50%,6px);opacity:0;visibility:hidden;transition:opacity .16s var(--ease),transform .16s var(--ease),visibility 0s .16s;z-index:60}
.has-drop:hover .drop,.has-drop.open .drop{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.drop ul{list-style:none;margin:0;padding:8px;background:var(--paper);border-radius:8px;box-shadow:0 18px 48px rgba(20,18,14,.16),0 2px 6px rgba(20,18,14,.06);width:max-content;min-width:240px}
.nav-links .drop a,.nav-dark .nav-links .drop a{display:block;padding:11px 16px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:15px;font-weight:500;white-space:nowrap}
.nav-links .drop a:hover,.nav-links .drop a:focus-visible,.nav-links .drop a[aria-current]{background:var(--warm);color:var(--ink);box-shadow:none}
.drop strong{display:block;font-size:15px;font-weight:600}
.drop span{display:block;font-size:13px;color:var(--stone);margin-top:2px}
.nav-dark .drop-btn{color:rgba(255,255,255,.72)}
.nav-dark .drop-btn:hover,.nav-dark .has-drop:hover .drop-btn,.nav-dark .has-drop.open .drop-btn{color:#fff}
.menu .mlabel{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);padding:14px 20px 4px}
.menu .sub a{padding:10px 20px 10px 32px}
@media (prefers-reduced-motion:reduce){.drop,.drop-btn svg{transition:none}}

/* Compact hero: one-line headline, content straight underneath (About, services, ABE) */
.hero-compact h1{font-size:clamp(34px,4.4vw,52px);max-width:none}
.hero-compact .lede{margin-top:var(--s4)}
.page-hero.hero-compact{padding-bottom:var(--s9)}
.hero-compact + section:not(.band):not(.dark){padding-top:var(--s9)}
.hero-team .team,.hero-work{margin-top:var(--s9)}
.hero-work .more-link{margin-top:var(--s6)}
.person .h3{font-family:var(--fd);font-weight:600;font-size:clamp(19px,2.2vw,24px);line-height:1.2;margin:var(--s4) 0 0;color:var(--ink)}
.steps-h{margin-top:var(--s9);font:600 13px/1.4 var(--fb);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.steps{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;gap:var(--s3)}
.steps li{background:var(--paper);border-radius:8px;padding:var(--s5);display:flex;gap:var(--s4);align-items:baseline}
.steps b{font-family:var(--fd);font-size:22px;color:var(--gold-ink);font-weight:600;flex-shrink:0}
.steps span{font-size:15.5px;line-height:1.45;color:var(--ink)}
@media(min-width:900px){.steps{grid-template-columns:repeat(5,1fr);gap:var(--s4)}.steps li{flex-direction:column;gap:var(--s3);padding:var(--s6)}}

/* Listing films page grid + "View the listing" link under the player */
.fgrid{display:grid;gap:var(--s4);grid-template-columns:1fr}
@media(min-width:700px){.fgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.fgrid{grid-template-columns:repeat(3,1fr)}}
.fg-h{margin-top:var(--s9)}
.fgrid .vlabel,.hero-work .lreels .vlabel{letter-spacing:.04em;text-transform:none;font-size:13.5px;font-weight:600}
.lb-body{width:min(1120px,100%,calc(80vh * 16 / 9))}
.lb-body.portrait{width:min(420px,100%,calc(80vh * 9 / 16))}
.lb-link{display:inline-block;margin-top:14px;color:#fff;font-weight:600;font-size:15px;text-decoration:none;border-bottom:1.5px solid var(--gold);padding-bottom:2px}

/* Work spacing v2: one rhythm. 96 between groups, 32 heading to content, 8 inside a unit */
.pkg{padding:96px 0 0!important}
.page-hero.slim + .pkg{padding-top:40px!important}
.pkg:last-of-type{padding-bottom:112px!important}
.pkg-h{font-size:clamp(30px,3.6vw,44px);margin-bottom:var(--s7)}
.pkg-h span{display:inline;font-family:var(--fb);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--gold-ink);margin:0 0 0 8px;vertical-align:middle}
.lgrid{gap:var(--s9) var(--s6)}
.card-sel{gap:8px;margin-top:8px}
.card-sel img{border-radius:6px}
.card-txt{margin-top:var(--s4)}
@media(min-width:900px){
  .lgrid.one .lcard{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr auto;gap:8px var(--s6)}
  .lgrid.one .card-media{grid-row:1 / span 2;aspect-ratio:auto;height:100%;min-height:420px}
  .lgrid.one .card-sel{grid-template-columns:1fr;margin:0;align-content:start}
  .lgrid.one .card-txt{margin:0;align-self:end}
}
.page-hero.listing{padding-bottom:0!important}
.lhero{margin-top:var(--s7)}
main > .selects-sec{padding:8px 0 0!important}
main > .reels-sec,main > .pset-sec{padding:80px 0 0!important}
main > .lnav-sec{padding:80px 0 96px!important}
.sh2{margin-bottom:var(--s6)}
.pset-sec .more-btn{margin-top:var(--s5)}

/* /work: headline kept for search and screen readers, not shown */
.page-hero.sr-hero{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.page-hero.sr-hero + .pkg{padding-top:56px!important}

/* Launch Boost Pack add-on block on listing pages */
main > .lbp-sec{padding:80px 0 0!important}
.lbp{background:#fff;border-radius:12px;padding:var(--s8)}
@media(max-width:700px){.lbp{padding:var(--s6) var(--s5)}}
.lbp > .sh2{margin-bottom:0}
.lbp-part{margin-top:var(--s8)}
.lbp-h{font-family:var(--fb);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:0 0 var(--s4)}
.lbp-h span{color:var(--gold-ink);margin-left:6px}
.pgrid.hero{grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.pgrid.hero{grid-template-columns:repeat(3,1fr)}}
.pgrid.story{grid-template-columns:repeat(3,1fr)}
@media(min-width:760px){.pgrid.story{grid-template-columns:repeat(6,1fr)}}
.pgrid.story .ph img{aspect-ratio:2/3}
.lbp .vlabel{letter-spacing:.02em;text-transform:none;font-size:13px;font-weight:600}
.lst-award{display:flex;align-items:center;gap:10px;margin-top:var(--s3);font-size:14.5px;font-weight:600;color:var(--ink)}
.lst-award .tag{font:700 10.5px/1 var(--fb);letter-spacing:.16em;text-transform:uppercase;background:var(--gold);color:#111;padding:6px 8px;border-radius:3px}
.card-txt .card-award{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);margin-top:6px}
.page-hero.listing .lede{max-width:none}
.lb-frame video{width:100%;height:100%;display:block;background:#000;object-fit:contain}
.stills.aerials .tile::after{display:block;background:linear-gradient(to top,rgba(0,0,0,.6),transparent 45%)}
@media(max-width:999px){.team > .person:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc(50% - 8px)}}
