/* Rounded film frames; the portrait blends directly into the page. */
.editorial{--frame-radius:24px}
.editorial .project-frame{border-radius:var(--frame-radius);overflow:hidden;isolation:isolate;clip-path:inset(0 round var(--frame-radius))}
.editorial .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:60px;max-width:1500px;margin-inline:auto}
.editorial .project-grid .project:nth-child(n){grid-column:auto;margin-top:0;width:100%}
.editorial .project-info h3{font-size:clamp(24px,2.2vw,34px)}
.editorial .intro{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(32px,5vw,80px);padding-block:75px}
.bio-portrait{position:relative;margin:0;width:100%;max-width:560px;aspect-ratio:2/3;justify-self:end;border:0;border-radius:0;background:var(--bg)}
.bio-portrait img{display:block;width:100%;height:100%;object-fit:contain;border:0;border-radius:0}
.bio-portrait::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg),transparent 22%,transparent 84%,var(--bg)),linear-gradient(180deg,var(--bg),transparent 8%,transparent 96%,var(--bg))}
.editorial .intro-copy{padding:0;max-width:650px}
.editorial .intro-copy .eyebrow{font-size:14px;line-height:1.5;letter-spacing:.09em;color:var(--red);margin:0 0 24px}
.editorial .intro-copy h2{font-size:clamp(34px,3.8vw,60px);line-height:1.08;margin-bottom:32px}
.editorial .intro-copy h2 br{display:revert}
.editorial .intro-copy h2 em{color:var(--fg)}
.editorial .intro-copy p{font-size:18px;line-height:1.8}
.editorial .intro-copy p+p{margin-top:20px}
.editorial .intro-copy .bio-aside{margin-top:28px;font-size:16px;color:var(--fg);font-style:italic}
@media(max-width:1000px){.editorial .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.editorial .intro{grid-template-columns:1.08fr .92fr;gap:30px;padding-block:60px}.editorial .intro-copy h2{font-size:36px}.editorial .intro-copy p{font-size:16px;line-height:1.75}}
@media(max-width:680px){.editorial{--frame-radius:18px}.editorial .intro{grid-template-columns:1fr;gap:24px;padding-block:45px}.bio-portrait{max-width:440px;justify-self:center}.editorial .intro-copy h2{font-size:clamp(32px,8vw,44px)}.editorial .intro-copy .eyebrow{margin-bottom:20px}.editorial .intro-copy h2{margin-bottom:24px}.editorial .intro-copy .bio-aside{margin-top:25px}}
@media(max-width:620px){.editorial .project-grid{grid-template-columns:minmax(0,1fr);gap:46px;max-width:440px;padding-top:0}}

/* Three equally weighted production facts, aligned for quick reading. */
.editorial .case-study{display:grid;grid-template-columns:1.08fr .92fr;gap:40px 5vw;padding-block:85px}
.case-heading .eyebrow{margin-bottom:24px}
.case-heading h2{font-size:clamp(34px,4.6vw,68px);margin:0}
.case-intro{align-self:end;max-width:540px;color:var(--muted);font-size:18px;line-height:1.8}
.case-composition{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px);align-items:start;margin-top:24px}
.case-metric{border-top:1px solid var(--line);padding-top:24px;min-width:0}
.case-count strong{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(112px,11vw,170px);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:.85;color:var(--red);margin-bottom:22px}
.case-count h3{font-size:clamp(22px,2.2vw,30px);line-height:1.15;letter-spacing:-.035em;margin:0 0 22px}
.case-metric p{font-size:16px;line-height:1.8;color:var(--muted);max-width:330px;margin:0}
.case-roles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.case-roles li{display:flex;align-items:baseline;gap:9px;font-size:16px;line-height:1.5;color:var(--muted)}
.case-roles b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:24px;line-height:1;color:var(--fg);font-weight:500}
.case-roles li:first-child b{color:var(--red)}
@media(max-width:900px){
 .editorial .case-study{grid-template-columns:1fr;gap:28px;padding-block:65px}
 .case-intro{max-width:650px;font-size:17px}
 .case-composition{grid-template-columns:1fr;gap:36px}
 .case-metric{display:grid;grid-template-columns:180px 1fr;gap:36px;align-items:center}
 .case-count strong{font-size:112px}
 .case-count h3{font-size:25px;margin-bottom:0}
 .case-metric p{max-width:440px}
}
@media(max-width:620px){
 .editorial .case-study{padding-block:48px}
 .case-composition{grid-template-columns:1fr;gap:36px;margin-top:10px}
 .case-metric{display:block;padding-top:24px}
 .case-count{display:flex;align-items:center;gap:24px;margin-bottom:18px}
 .case-count strong{margin-bottom:0;flex:none}
 .case-count h3{font-size:25px;margin:0}
 .case-metric p{max-width:100%}
.case-roles{column-gap:14px}
}

/* A quiet, fixed client panel with each original mark's geometry intact. */
.clients{border-top:1px solid var(--line)}
.clients h2{font-size:clamp(30px,3.4vw,48px)}
.client-logos{list-style:none;padding:0;margin:48px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:28px 32px}
.client-logos li{flex:0 0 calc((100% - 160px)/6);min-width:0;height:108px;display:flex;align-items:center;justify-content:center}
.client-logos img{display:block;width:100%;max-width:170px;max-height:78px;object-fit:contain}
.client-logos .logo-white{filter:brightness(0) invert(1)}
.client-logos .logo-grayscale{filter:grayscale(1)}
.client-logos .logo-square{width:72px;height:72px}
.client-logos .logo-danone{max-width:100%;max-height:100px;width:200px;height:100px}
.client-logos .logo-monin{width:210px;max-width:100%;max-height:100px}
.client-logos .logo-wide{max-width:190px}
.client-logos .logo-harman{max-width:146px}
.client-logos .logo-accor{width:108px}
.client-logos .logo-canal{max-width:158px}
@media(max-width:1000px){.client-logos li{flex-basis:calc((100% - 64px)/3)}}
@media(max-width:620px){.client-logos{margin-top:30px;gap:18px 28px}.client-logos li{flex-basis:calc((100% - 28px)/2);height:100px}.client-logos .logo-square{width:64px;height:64px}}

/* Display the supplied wordmark without its large black canvas margins. */
.editorial footer{align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:24px 32px}
.editorial .header{justify-content:flex-end}
.editorial .header{gap:24px;flex-wrap:wrap}
.language-switch{display:flex;align-items:center;gap:2px;margin-right:auto;font-size:16px;line-height:1.4;letter-spacing:.02em}
.language-switch a{display:grid;place-items:center;min-width:44px;min-height:44px;color:var(--muted);border-bottom:2px solid transparent}
.language-switch a[aria-current="page"]{color:var(--fg);border-bottom-color:var(--red)}
.language-switch a:hover{color:var(--fg)}
.language-switch span{color:#777;user-select:none}
.editorial .header-contact{max-width:100%;overflow-wrap:anywhere}
@media(max-width:620px){.editorial .header{gap:10px 16px}.editorial .header-contact{max-width:calc(100% - 124px);line-height:1.5;text-align:right}}
.site-signature{position:relative;display:block;width:280px;max-width:100%;flex:0 1 280px;aspect-ratio:526/39;overflow:hidden}
.site-signature img{position:absolute;display:block;left:-30.608365%;top:-338.461538%;width:161.787072%;max-width:none;height:auto;mix-blend-mode:screen}

/* The animated picture fills exactly the name's block; dark bands sit outside it. */
.editorial .hero{position:relative;isolation:isolate;overflow:hidden;background:#101010}
.editorial .hero-title-stage{position:relative;isolation:isolate;margin:45px calc(-1 * var(--pad)) 10px}
.editorial .hero-title-stage h1{position:relative;margin:0;padding-inline:var(--pad);transform:translateY(-.055em)}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:#101010}
.hero-media img{position:absolute;left:50%;top:50%;width:100%;height:100%;object-fit:cover;transform:translate(-50%,-50%)}
.hero-media iframe{position:absolute;left:50%;top:50%;width:100%;height:100%;border:0;transform:translate(-50%,-50%);opacity:0;transition:opacity .6s ease;pointer-events:none}
.hero-has-video .hero-media iframe{opacity:1}
.hero-title-stage::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#101010b3 0%,#101010a3 45%,#101010b8 100%)}
.editorial .hero .eyebrow,.editorial .hero-note{color:#e0ded8;text-shadow:0 1px 5px #0009}
.editorial .hero h1{text-shadow:0 2px 28px #0004}
.hero-motion{position:absolute;right:var(--pad);bottom:28px;min-height:44px;padding:10px 16px;border:1px solid #ffffff70;border-radius:24px;font-size:14px;line-height:1.4;color:#f4f2ed;background:#101010b8;backdrop-filter:blur(8px)}
.hero-motion:hover{background:#101010}
.hero-motion[hidden]{display:none}
@media(max-width:620px){.hero-motion{position:relative;right:auto;bottom:auto;margin-top:18px}.editorial .hero-bottom{padding-top:20px}.editorial .hero-title-stage{margin-top:35px}.site-signature{width:260px;flex-basis:260px}}
@media(prefers-reduced-motion:reduce){.hero-media iframe{transition:none}}
