/* Sub-pages: Work index and case studies. Builds on site.css. */
.page-hero{padding:calc(var(--header-h) + clamp(72px,11vw,150px)) 0 clamp(48px,6vw,80px)}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(46px,7.4vw,108px);line-height:1.02;letter-spacing:-.015em;margin:18px 0 0;color:var(--white);max-width:13ch;text-wrap:balance}
.page-hero h1 em{font-style:italic;color:var(--tango)}
.page-hero .lede{margin:28px 0 0;max-width:34em;font-size:clamp(17px,1.4vw,20px);color:var(--muted)}

/* ---------- Work index ---------- */
.cases{display:grid;gap:clamp(96px,14vw,200px);padding-top:clamp(24px,4vw,56px)}
.case{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(24px,4vw,64px);align-items:end;text-decoration:none;color:inherit}
.case:nth-child(even){grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.case:nth-child(even) .case-media{order:2}
.case-media{position:relative;overflow:hidden;border-radius:3px;background:var(--card);aspect-ratio:16/10;will-change:transform}
.case-media img,.case-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease),opacity .6s}
.case-media video{opacity:0}.case-media video.ready{opacity:1}
.case:hover .case-media img,.case:hover .case-media video{transform:scale(1.035)}
.case-text .n{font-size:11.5px;font-weight:600;letter-spacing:.18em;color:var(--tango)}
.case-text h2{font-size:clamp(30px,3.4vw,46px);margin:16px 0 14px}
.case-text p{margin:0 0 22px;color:var(--muted);max-width:26em}
.case-text .more-link{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cream);display:inline-flex;gap:10px;align-items:center}
.case-text .more-link::after{content:"";width:28px;height:1px;background:var(--tango);transition:width .4s var(--ease)}
.case:hover .more-link::after{width:52px}
.also{background:var(--ink-2)}
.also-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.also-list li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:8px 32px;padding:22px 0;border-bottom:1px solid var(--hair);align-items:baseline}
.also-list .who{font-family:var(--serif);font-size:clamp(21px,2vw,27px);color:var(--white);line-height:1.2}
.also-list .what{color:var(--muted)}
.also-list a{text-decoration:none}.also-list a .who{transition:color .25s}.also-list a:hover .who{color:var(--tango)}

/* ---------- Case study ---------- */
.cs-track{--p:0;height:165svh;position:relative}
.cs-hero{position:sticky;top:0;height:100svh;min-height:520px;overflow:hidden;display:flex;align-items:flex-end;background:var(--ink)}
.cs-hero-media{position:absolute;inset:0;overflow:hidden;clip-path:inset(calc(var(--p) * 7%) calc(var(--p) * 6%) round calc(var(--p) * 18px))}
.cs-hero-media video,.cs-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(calc(1 + var(--p) * .06))}
.cs-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,13,13,.45) 0%,rgba(12,13,13,0) 26%,rgba(12,13,13,.1) 50%,rgba(12,13,13,.86) 100%)}
.cs-hero-content{position:relative;z-index:1;width:100%;padding-bottom:clamp(48px,8vh,96px);opacity:calc(1 - var(--p) * 1.6);transform:translate3d(0,calc(var(--p) * -60px),0)}
.cs-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6.4vw,92px);line-height:1.03;letter-spacing:-.015em;margin:16px 0 0;color:var(--white);max-width:15ch;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.cs-hero h1 em{font-style:italic;color:var(--tango)}
.cs-back{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--cream);opacity:.85}
.cs-back:hover{opacity:1}
.cs-back::before{content:"";width:22px;height:1px;background:var(--tango)}
.cs-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px clamp(24px,4vw,56px);margin:0;padding:clamp(40px,6vw,72px) 0 0;border-top:1px solid var(--hair)}
.cs-meta dt{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.cs-meta dd{margin:0;color:var(--cream);font-size:15.5px;line-height:1.5}
.cs-intro{padding-top:clamp(56px,8vw,96px)}
.cs-lede{font-family:var(--serif);font-size:clamp(28px,3.4vw,46px);line-height:1.22;color:var(--white);max-width:24ch;margin:clamp(56px,8vw,112px) 0 0;text-wrap:balance}
.cs-lede em{font-style:italic;color:var(--tango)}
.chapter{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:20px clamp(32px,6vw,96px);padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--hair)}
.chapter:first-child{border-top:0}
.chapter-label{position:sticky;top:calc(var(--header-h) + 32px);align-self:start}
.chapter-label .n{font-size:11.5px;font-weight:600;letter-spacing:.18em;color:var(--tango)}
.chapter-label h2{font-size:clamp(28px,3vw,40px);margin:12px 0 0}
.chapter-body p{margin:0 0 1.1em;font-size:clamp(17px,1.35vw,19.5px);color:rgba(243,239,233,.82);max-width:36em}
.chapter-body p:last-child{margin-bottom:0}
.cs-break{--f:0;position:relative;height:clamp(320px,62vw,880px);overflow:hidden;margin:clamp(24px,4vw,48px) 0}
.cs-break-media{position:absolute;inset:0;clip-path:inset(calc((1 - var(--f)) * 8%) calc((1 - var(--f)) * 9%) round calc((1 - var(--f)) * 18px))}
.cs-break-media video,.cs-break-media img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;will-change:transform}
.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(32px,5vw,72px);padding:clamp(56px,8vw,104px) 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.figure .num{font-family:var(--serif);font-size:clamp(54px,7.6vw,112px);line-height:1;color:var(--white);letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums}
.figure .num em{font-style:normal;color:var(--tango)}
.figure .lbl{margin-top:14px;color:var(--muted);max-width:18em}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);align-items:start;padding:clamp(72px,10vw,140px) 0}
.gallery figure{margin:0;overflow:hidden;border-radius:3px;background:var(--card);will-change:transform}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.gallery figure:hover img{transform:scale(1.03)}
.gallery .g1{grid-column:1 / span 7;aspect-ratio:16/10}
.gallery .g2{grid-column:9 / span 4;aspect-ratio:4/5;margin-top:clamp(80px,12vw,180px)}
.gallery .g3{grid-column:2 / span 4;aspect-ratio:4/5;margin-top:clamp(-40px,-4vw,-20px)}
.gallery .g4{grid-column:7 / span 6;aspect-ratio:16/10;margin-top:clamp(40px,8vw,120px)}
.deliver{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:20px clamp(32px,6vw,96px);padding-bottom:clamp(72px,10vw,128px)}
.deliver ul{list-style:none;margin:0;padding:0;columns:2;column-gap:clamp(24px,4vw,56px)}
.deliver li{break-inside:avoid;padding:14px 0;border-top:1px solid var(--hair);color:var(--cream)}
.cs-quote{background:var(--ink-2)}
.cs-quote blockquote{margin:0;max-width:30ch}
.cs-quote blockquote p{font-family:var(--serif);font-size:clamp(30px,3.6vw,52px);line-height:1.18;color:var(--white);margin:18px 0 26px}
.cs-quote footer{color:var(--muted);font-size:15px}.cs-quote footer strong{display:block;color:var(--cream);font-weight:500}
.cs-film{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}
.next{position:relative;display:block;height:clamp(420px,70vh,760px);overflow:hidden;text-decoration:none;color:inherit}
.next img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.8s var(--ease),filter .8s;filter:brightness(.55)}
.next:hover img{transform:scale(1);filter:brightness(.7)}
.next .wrap{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(48px,7vw,96px)}
.next h2{font-size:clamp(40px,6vw,88px);max-width:14ch}
.next .client{margin-top:18px;color:var(--cream);font-size:15px;display:inline-flex;gap:12px;align-items:center}
.next .client::after{content:"";width:36px;height:1px;background:var(--tango);transition:width .5s var(--ease)}
.next:hover .client::after{width:72px}

@media (max-width:999px){
  .cs-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:759px){
  .case,.case:nth-child(even){grid-template-columns:1fr}
  .case:nth-child(even) .case-media{order:0}
  .also-list li{grid-template-columns:1fr}
  .chapter,.deliver{grid-template-columns:1fr}
  .chapter-label{position:static}
  .deliver ul{columns:1}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery .g1,.gallery .g4{grid-column:1 / -1;margin-top:0}
  .gallery .g2,.gallery .g3{grid-column:auto;margin-top:0}
  .cs-track{height:130svh}
}
@media (max-width:999px) and (orientation:portrait){
  .cs-hero{min-height:0}
}
@media (prefers-reduced-motion:reduce){
  .cs-track{height:auto}.cs-hero{position:relative}
  .cs-hero-media{clip-path:none}.cs-hero-media video,.cs-hero-media img{transform:none}
  .cs-hero-content{opacity:1;transform:none}
  .cs-break-media{clip-path:none}.cs-break-media video,.cs-break-media img{transform:none!important}
  .case-media,.gallery figure{transform:none!important}
}
.cs-quote-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,5vw,80px);align-items:center}
.cs-quote blockquote{max-width:none}
a.video-card{display:block}
@media (max-width:759px){.cs-quote-grid{grid-template-columns:1fr}}
.cs-hero .eyebrow{text-shadow:0 1px 10px rgba(0,0,0,.55)}
.film-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(36px,5vw,56px)}
.also-list .watch{margin-left:10px;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tango)}
/* v2 case layout: film straight after the intro */
.cs-track{height:140svh}
.cs-intro{padding:clamp(56px,8vw,104px) 0 clamp(40px,5vw,64px)}
.cs-intro .cs-lede{margin:0 0 clamp(40px,6vw,72px)}
.cs-intro .cs-meta{border-top:1px solid var(--hair);padding-top:28px}
.wrap-wide{max-width:1560px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}
.cs-films{padding:0 0 clamp(56px,8vw,112px)}
.film-stage{--f:1}
.film-main{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#000;border-radius:calc((1 - var(--f)) * 18px + 3px);transform:scale(calc(.9 + var(--f) * .1));transform-origin:50% 0;transition:border-radius .2s;cursor:pointer;text-decoration:none}
.film-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease),filter .6s;filter:brightness(.82)}
.film-main:hover img{transform:scale(1.02);filter:brightness(.92)}
.film-main .play{position:absolute;inset:0;margin:auto;width:clamp(76px,9vw,120px);height:clamp(76px,9vw,120px);border-radius:50%;background:rgba(12,13,13,.3);border:1px solid var(--tango);display:grid;place-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .4s var(--ease),background .3s}
.film-main .play::after{content:"";margin-left:7px;border-left:26px solid var(--tango);border-top:15px solid transparent;border-bottom:15px solid transparent}
.film-main:hover .play{transform:scale(1.06);background:rgba(236,161,94,.18)}
.film-main .label{position:absolute;left:clamp(18px,3vw,36px);bottom:clamp(16px,2.6vw,32px);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);text-shadow:0 1px 10px rgba(0,0,0,.6)}
.film-main iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-main.playing{cursor:default}.film-main.playing img,.film-main.playing .play,.film-main.playing .label{display:none}
.cs-story{padding-top:clamp(24px,4vw,56px)}
.cs-films .film-grid{margin-top:clamp(20px,3vw,40px)}
@media (prefers-reduced-motion:reduce){.film-main{transform:none;border-radius:3px}}
/* v3: film fills the screen, tighter rhythm */
.cs-stage{--f:1;--fw:min(100%, calc((100svh - var(--header-h) - 32px) * 16 / 9));padding:0 clamp(10px,1.6vw,28px)}
.film-main{width:var(--fw);margin:0 auto;transform:none;border-radius:4px;clip-path:inset(calc((1 - var(--f)) * 5%) calc((1 - var(--f)) * 6%) round calc((1 - var(--f)) * 16px + 4px))}
.cs-films{padding:0 0 clamp(8px,1.5vw,20px)}
.cs-films .film-grid{width:var(--fw);margin:clamp(10px,1.6vw,28px) auto 0;gap:clamp(10px,1.6vw,28px);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.cs-story{padding-block:clamp(40px,5vw,72px) clamp(24px,3vw,40px)}
.chapter{padding:clamp(28px,3.4vw,44px) 0}
.cs-intro{padding:clamp(48px,6vw,88px) 0 clamp(28px,3.5vw,48px)}
.figures{padding:clamp(40px,5vw,72px) 0}
.deliver{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(56px,7vw,96px)}
.cs-quote{padding-block:clamp(56px,7vw,96px)}
@media (max-width:759px){.cs-stage{padding:0}.film-main{border-radius:0}.cs-films .film-grid{padding:0 var(--gutter)}}
@media (prefers-reduced-motion:reduce){.film-main{clip-path:none}}
.cs-story{padding-block:clamp(28px,3.2vw,48px) clamp(16px,2vw,32px)}
.cs-story .chapter:first-child{padding-top:0}
/* About */
.ab-split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,5vw,88px);align-items:center}
.ab-split h2{margin-bottom:22px}
.ab-p{font-size:clamp(17px,1.35vw,19.5px);color:rgba(243,239,233,.85);max-width:32em;margin:0 0 1em}
.ab-p.muted{color:var(--muted)}
.ab-photo{margin:0;overflow:hidden;border-radius:3px;aspect-ratio:3/2}
.ab-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.ab-photo:hover img{transform:scale(1.03)}
.team-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(28px,4vw,48px)}
.team-list article{padding-top:22px;border-top:1px solid var(--hair)}
.team-list h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.2vw,30px);line-height:1.15;color:var(--white);margin:0 0 8px}
.team-list .role{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tango);margin-bottom:14px}
.team-list p{margin:0;color:var(--muted)}
.ab-gallery{padding-top:clamp(36px,5vw,64px)}
.ab-gallery figcaption{position:absolute;left:14px;bottom:12px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cream);text-shadow:0 1px 8px rgba(0,0,0,.6)}
.gallery figure{position:relative}
.ab-gallery .g5{grid-column:1 / span 6;aspect-ratio:3/2;margin-top:clamp(40px,6vw,96px)}
.ab-gallery .g6{grid-column:8 / span 4;aspect-ratio:2/3;margin-top:clamp(-60px,-4vw,-20px)}
.ab-gallery .g1{aspect-ratio:3/2}.ab-gallery .g4{aspect-ratio:3/2}
.ab-gallery .g2,.ab-gallery .g3{aspect-ratio:2/3}
.ab-filmhead{margin-bottom:clamp(28px,4vw,48px);max-width:var(--max)}
.ab-filmhead h2{margin-bottom:16px}
.partner-logos{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(28px,4vw,56px);margin-top:28px}
.partner-logos img{height:clamp(38px,3.6vw,52px);width:auto;opacity:.85}
.ab-partner-list{list-style:none;margin:22px 0 0;padding:0}
.ab-partner-list li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:16px;padding:16px 0;border-top:1px solid var(--hair)}
.ab-partner-list strong{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--white)}
.ab-partner-list span{color:var(--muted)}
@media (max-width:999px){.team-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:759px){
  .ab-split{grid-template-columns:1fr}
  .team-list{grid-template-columns:1fr}
  .ab-gallery .g5,.ab-gallery .g6{grid-column:auto;margin-top:0}
  .ab-gallery .g5{grid-column:1 / -1}
  .ab-partner-list li{grid-template-columns:1fr}
}
/* About gallery v2: alternating rows, no overlaps */
.ab-gallery{align-items:center;row-gap:clamp(16px,2.4vw,32px)}
.ab-gallery figure{margin:0!important}
.ab-gallery .g1{grid-column:1 / span 8;aspect-ratio:3/2}
.ab-gallery .g2{grid-column:9 / span 4;aspect-ratio:2/3}
.ab-gallery .g3{grid-column:1 / span 4;aspect-ratio:2/3}
.ab-gallery .g4{grid-column:5 / span 8;aspect-ratio:3/2}
.ab-gallery .g5{grid-column:1 / span 8;aspect-ratio:3/2}
.ab-gallery .g6{grid-column:9 / span 4;aspect-ratio:2/3}
@media (max-width:759px){
  .ab-gallery .g1,.ab-gallery .g4,.ab-gallery .g5{grid-column:1 / -1}
  .ab-gallery .g2,.ab-gallery .g3,.ab-gallery .g6{grid-column:auto}
  .ab-gallery .g6{grid-column:1 / -1;aspect-ratio:4/5}
}
/* Film page */
.fm-list li{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.fm-list strong{font-family:var(--serif);font-weight:400;font-size:clamp(21px,2vw,27px);color:var(--white);line-height:1.2}
.fm-list span{color:var(--muted)}
.fm-get{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.fm-get div{padding-top:20px;border-top:1px solid var(--hair)}
.fm-get b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);color:var(--white);margin-bottom:10px}
.fm-get span{color:var(--muted)}
.fm-note{margin:clamp(32px,4vw,48px) 0 0;color:var(--faint);font-size:15px}
.fm-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2.4vw,36px)}
.fm-steps li{padding-top:20px;border-top:1px solid var(--hair)}
.fm-steps .n{display:block;font-size:11.5px;font-weight:600;letter-spacing:.18em;color:var(--tango);margin-bottom:14px}
.fm-steps b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);color:var(--white);margin-bottom:8px}
.fm-steps span{color:var(--muted)}
@media (max-width:999px){.fm-get{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:759px){.fm-get,.fm-steps{grid-template-columns:1fr}.fm-list li{grid-template-columns:1fr}}
/* About gallery v3 */
.ab-gallery .wl{grid-column:1 / span 8;aspect-ratio:3/2}
.ab-gallery .tr{grid-column:9 / span 4;aspect-ratio:2/3}
.ab-gallery .tl{grid-column:1 / span 4;aspect-ratio:2/3}
.ab-gallery .wr{grid-column:5 / span 8;aspect-ratio:3/2}
.ab-golf-pics{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,24px)}
.ab-golf-pics .ab-photo{aspect-ratio:4/5}
.ab-golf{background:var(--ink-2)}
@media (max-width:759px){
  .ab-gallery .wl,.ab-gallery .wr{grid-column:1 / -1}
  .ab-gallery .tl,.ab-gallery .tr{grid-column:auto}
}
.fm-process{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,88px);align-items:start}
.fm-process .ab-photo{aspect-ratio:2/3;position:sticky;top:calc(var(--header-h) + 24px)}
.fm-steps-v{grid-template-columns:1fr;gap:0}
.fm-steps-v li{display:grid;grid-template-columns:48px minmax(0,4fr) minmax(0,7fr);gap:8px 20px;padding:20px 0;align-items:baseline}
.fm-steps-v .n{margin:0}.fm-steps-v b{margin:0}
@media (max-width:759px){.fm-process{grid-template-columns:1fr}.fm-process .ab-photo{position:static;aspect-ratio:4/5}.fm-steps-v li{grid-template-columns:40px 1fr}.fm-steps-v li>span:last-child{grid-column:2}}
