@import url('fonts.css');
:root{--ink:#101010;--paper:#fff;--accent:#b6a17c;--muted:#626262;--line:#d8d8d8;--display:'Sofia Sans Extra Condensed','Arial Narrow',Impact,sans-serif;--body:'Work Sans',Arial,sans-serif;--gutter:clamp(24px,5.6vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--body)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a,summary,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button[hidden]{display:none}img{max-width:100%}.skip{position:fixed;top:-100px;left:16px;background:white;color:black;padding:16px;z-index:100}.skip:focus{top:12px}
header{position:fixed;inset:0 0 auto;z-index:10;min-height:90px;padding:16px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;color:white;background:linear-gradient(#080808a6,transparent);transition:background .2s}header.scrolled{background:#101010f5;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand img{height:56px;width:56px;object-fit:contain}.brand>span{font-family:var(--display);font-size:25px;font-weight:700;letter-spacing:.18em;line-height:1}.brand small{font:inherit}nav{display:flex;gap:30px;margin-left:auto;font-size:14px}nav a{padding:8px 0}nav a:hover{color:#dcc9a8}.contact-link{font-size:14px;border:1px solid #ffffff9c;padding:13px 20px;display:flex;gap:20px;align-items:center}.contact-link:hover{background:white;color:#101010}#menu-toggle{display:none}
.hero{position:relative;min-height:680px;height:min(850px,88svh);padding:150px var(--gutter) 96px;background:#101010;color:white;display:flex;align-items:center;overflow:hidden}.hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080808df 0%,#080808a3 35%,#08080830 70%),linear-gradient(0deg,#08080855,transparent 40%)}.hero-copy{position:relative;z-index:1;max-width:850px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.2em;font-weight:400;line-height:1.6;margin:0 0 22px}h1{font-family:var(--display);font-size:clamp(92px,10vw,160px);font-weight:700;line-height:.86;letter-spacing:-.012em;text-transform:uppercase;margin:28px 0 26px}.hero-description{font-size:16px;margin:0}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:50px;padding:14px 22px;border:1px solid currentColor;font-size:14px;font-weight:500;background:transparent;line-height:1.5}.solid{background:white;color:#101010;border-color:white}.solid:hover{background:#e7e7e7;border-color:#e7e7e7}.outline{border-color:#fffb;color:white}.outline:hover{background:#fff2}.ink{color:var(--ink);border-color:#adadad}.ink:hover{background:#101010;color:white}.hero-bottom{position:absolute;bottom:24px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;color:#eee;font-size:12px;letter-spacing:.05em}.hero-bottom button{font-size:12px;border:1px solid #ffffff66;padding:9px 14px;color:white;background:#0004}.hero-bottom a{display:flex;gap:16px}.mobile-break{display:none}
.services-strip{display:flex;align-items:center;justify-content:center;gap:32px;padding:28px var(--gutter) 12px;font-size:14px}.services-strip:before,.services-strip:after{content:'';height:1px;background:#bbb;flex:1}.services-strip span{white-space:nowrap}.services-strip span+span:before{content:'/';margin-right:32px;color:#777}.section{padding:90px var(--gutter)}.films{padding-top:40px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:32px}.numbered{color:var(--muted);font-size:12px;letter-spacing:.16em;margin-bottom:16px}.section h2{font-family:var(--display);font-weight:700;font-size:clamp(54px,5.4vw,84px);line-height:.98;letter-spacing:-.005em;text-transform:uppercase;margin:0}.section-intro{max-width:350px;color:var(--muted);font-size:16px;margin:0;line-height:1.7}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid #999;padding:4px 0;line-height:1.6}.text-link:hover{border-color:var(--ink)}.filter-row{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);margin-bottom:26px}.filters{display:flex;flex-wrap:wrap;gap:28px}.filters button{padding:14px 0;border:0;border-bottom:2px solid transparent;background:transparent;font-size:14px;color:var(--muted)}.filters button[aria-pressed=true]{color:#101010;border-bottom-color:#101010}#project-count{font-size:12px;white-space:nowrap;color:#666;font-variant-numeric:tabular-nums}.project-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:42px 24px}.project{border:0;padding:0;background:none;text-align:left;min-width:0}.project-visual{display:block;aspect-ratio:1.75;overflow:hidden;position:relative;background:#161616}.project-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.035)}.play{position:absolute;bottom:14px;right:14px;width:42px;height:42px;border:1px solid #fffb;border-radius:50%;display:grid;place-items:center;color:white;font-size:12px;background:#0005;backdrop-filter:blur(3px)}.project-meta{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding-top:12px;border-top:1px solid #ccc}.project-meta>span:first-child{font-size:14px;font-weight:500}.project-meta>span:last-child{font-size:12px;color:#626262;line-height:1.5}.project-title{display:block;font-family:var(--display);font-weight:600;font-size:32px;line-height:1.1;margin-top:10px}.more-row{display:flex;justify-content:space-between;align-items:center;gap:26px;margin-top:44px}
.references{padding:35px var(--gutter) 48px;border-top:1px solid var(--line)}.references>.eyebrow{text-align:center;color:#666;margin-bottom:28px}.client-row{display:flex;justify-content:space-between;align-items:center;gap:28px;max-width:1280px;margin:auto}.client-row a{display:flex;justify-content:center;align-items:center;min-width:0;flex:1}.client-crop{display:block;position:relative;overflow:hidden;mix-blend-mode:multiply}.client-crop img{position:absolute;height:auto;max-width:none}
.production{background:#101010;color:white}.production .numbered,.contact .numbered{color:#baa886}.production-layout,.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.production h2{font-size:clamp(58px,6vw,94px)}em{font:inherit}.production h2 em{color:#ababab}.production-copy{padding-top:30px;max-width:490px}.lead{font-size:28px;line-height:1.3;margin:0 0 26px;letter-spacing:-.03em}.production-copy>p:not(.lead){color:#bbb;font-size:16px;line-height:1.8}.production-copy .text-link{margin-top:18px}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:65px;padding-top:28px;border-top:1px solid #444}.process span{font-size:12px;color:#aaa}.process h3{font-family:var(--display);font-size:34px;line-height:1.1;font-weight:600;text-transform:uppercase;margin:18px 0 12px}.process p{font-size:14px;line-height:1.7;color:#bdbdbd;max-width:270px}.expertise-list{border-top:1px solid var(--line)}.expertise-list details{border-bottom:1px solid var(--line)}.expertise-list summary{display:flex;align-items:center;gap:30px;padding:28px 0;cursor:pointer;list-style:none}.expertise-list summary::-webkit-details-marker{display:none}.expertise-list summary>span{font-size:12px;color:#777}.expertise-list h3{font:600 clamp(30px,3.4vw,48px)/1.1 var(--display);margin:0;flex:1;text-transform:uppercase}.expertise-list summary>b{font-size:26px;font-weight:400}.expertise-list details[open] summary>b{transform:rotate(45deg)}.expertise-content{margin:0 0 30px 46px;display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.expertise-content p{margin:0;font-size:16px;line-height:1.8;max-width:640px;color:#626262}.expertise-content a{white-space:nowrap}.all-clients{padding-top:0;padding-bottom:70px}.all-clients summary{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #ccc;font-size:20px;cursor:pointer}.all-clients img{width:100%;height:auto;margin-top:32px}
.contact{background:#161616;color:white}.contact h2{font-size:clamp(64px,6.5vw,100px)}.contact-intro{font-size:16px;color:#bbb;line-height:1.8;margin-top:30px}.email-link{display:block;font-size:clamp(17px,1.8vw,26px);margin-top:36px;overflow-wrap:anywhere}.phone-link{display:inline-block;font-size:18px;color:#bbb;margin-top:16px}form{max-width:520px;padding-top:10px}form h3{font:600 38px/1.1 var(--display);text-transform:uppercase;margin:0 0 28px}label{display:block;font-size:14px;margin:20px 0 8px}label span{font-size:12px;color:#aaa}input,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #777;color:white;padding:8px 0 12px;min-height:44px;border-radius:0;font-size:16px}textarea{min-height:105px;resize:vertical}textarea::placeholder{color:#aaa}form .button{margin-top:24px;width:100%;justify-content:space-between}.form-note{color:#aaa;font-size:12px;line-height:1.7;margin-top:16px}#email-status{font-size:14px;line-height:1.6}footer{display:flex;justify-content:space-between;align-items:center;gap:28px;background:#101010;color:#bbb;padding:28px var(--gutter);font-size:12px}footer .brand{color:white}footer small{font-size:12px}.mobile-contact{display:none}
.modal-open{overflow:hidden}dialog{width:min(1040px,94vw);max-height:92svh;border:0;padding:0;background:white;color:#101010}dialog::backdrop{background:#050505df;backdrop-filter:blur(8px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px}.dialog-header .eyebrow{font-size:12px;letter-spacing:.08em;margin:0}.dialog-header button{font-size:14px;background:none;border:0;padding:10px}.player-stage{height:min(58svh,585px);position:relative;display:flex;align-items:center;justify-content:center;background:#101010;color:white}.player-stage>img{width:100%;height:100%;object-fit:contain;opacity:.65}.player-stage video,.player-stage iframe{width:100%;height:100%;object-fit:contain;border:0}.start-film{position:absolute;border:0;background:white;color:#101010;padding:16px 24px;font-size:14px}.player-stage>a{padding:30px}.dialog-copy{padding:26px 30px 34px}.dialog-copy h2{font:700 52px/1 var(--display);margin:0 0 18px;text-transform:uppercase}.dialog-copy>p{font-size:16px;line-height:1.7;max-width:760px}.dialog-copy .form-note{font-size:12px;color:#666}.dialog-copy .button{margin-top:12px}
@media(min-width:1700px){.section,.references,.services-strip{padding-left:max(var(--gutter),calc((100vw - 1500px)/2));padding-right:max(var(--gutter),calc((100vw - 1500px)/2))}}
@media(max-width:1100px){header{gap:20px}nav{gap:20px}.brand>span{font-size:22px}.contact-link{padding:12px;font-size:14px;gap:10px}.project-grid{grid-template-columns:1fr 1fr}.client-row{flex-wrap:wrap;gap:22px}.client-row a{flex:0 0 calc(33.333% - 16px)}.production-layout,.contact-layout{gap:6%}.expertise-content{display:block}.expertise-content a{margin-top:18px}footer>span{display:none}.services-strip{gap:20px}.services-strip span+span:before{margin-right:20px}.process{gap:22px}}
@media(max-width:760px){header{min-height:76px;padding:12px 24px;gap:12px}.brand img{width:44px;height:44px}.brand>span{font-size:21px;letter-spacing:.12em}header .contact-link{display:none}#menu-toggle{display:block;margin-left:auto;border:1px solid #777;background:#10101066;color:white;padding:6px 12px;font-size:22px}header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#101010;border-top:1px solid #444;padding:24px;flex-direction:column;gap:16px;font-size:16px}header nav.open{display:flex}.hero{min-height:640px;height:90svh;max-height:820px;padding:125px 24px 100px}.hero h1{font-size:clamp(84px,18vw,130px);margin-top:24px;line-height:.9}.hero .eyebrow{font-size:12px;letter-spacing:.12em}.hero-description{font-size:16px}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:30px}.hero-actions .button{min-height:48px;padding:13px 17px;gap:18px}.hero-bottom{left:24px;right:24px}.hero-bottom>span{display:none}.hero-shade{background:linear-gradient(90deg,#080808c9,#08080860),linear-gradient(0deg,#0808086b,transparent)}.services-strip{padding:24px 24px 8px;gap:8px 18px;flex-wrap:wrap;justify-content:flex-start;font-size:14px}.services-strip:before,.services-strip:after{display:none}.services-strip span+span:before{content:none}.section{padding:60px 24px}.films{padding-top:30px}.section-heading{display:block;margin-bottom:22px}.section h2{font-size:58px}.section-heading>.text-link,.section-intro{margin-top:22px}.filters{gap:0 20px}.filters button{font-size:14px;padding:12px 0}.filter-row{align-items:flex-start}#project-count{display:none}.project-grid{gap:30px 20px}.project-meta>span:first-child{font-size:14px}.project-meta>span:last-child{font-size:12px}.project-title{font-size:30px}.play{width:36px;height:36px;right:10px;bottom:10px}.more-row{align-items:flex-start;flex-direction:column;gap:24px;margin-top:32px}.references{padding:30px 24px}.client-crop{transform:scale(.8)}.client-row a{height:66px}.production-layout,.contact-layout{grid-template-columns:1fr}.production-copy{padding-top:34px}.process{grid-template-columns:1fr 1fr;margin-top:42px;gap:24px}.process h3{font-size:32px}.process p{font-size:14px}.expertise-list summary{gap:16px;padding:24px 0}.expertise-list h3{font-size:32px}.expertise-content{margin-left:30px}.all-clients{padding-top:0}.contact h2{font-size:68px}.contact form{padding-top:44px}.contact .email-link{font-size:20px}footer{flex-wrap:wrap;gap:22px;padding:25px 24px 100px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:9;display:flex;background:white;color:#101010;border-top:1px solid #ddd;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact>a{display:flex;justify-content:center;align-items:center;padding:17px 20px;font-size:14px;min-height:58px}.mobile-contact>a:first-child{flex:1;background:#101010;color:white}.dialog-header{padding:12px 18px}.dialog-copy{padding:22px}.dialog-copy h2{font-size:42px}.player-stage{height:42svh}.dialog-copy .button{width:100%;gap:12px}}
@media(max-width:520px){.project-grid{grid-template-columns:1fr}.client-row a{flex:0 0 calc(50% - 12px)}.hero-actions{flex-direction:column;align-items:flex-start}.hero{min-height:670px}.hero h1{font-size:clamp(84px,21vw,110px)}.section h2{font-size:52px}.contact h2{font-size:64px}.process{gap:24px 20px}.services-strip{font-size:12px;gap:8px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* V2 — approved messaging and complete portfolio */
.hero-copy{max-width:1100px}.hero h1{font-size:clamp(84px,8.7vw,140px);line-height:.92}.hero-actions{margin-top:36px}.project-title{margin-top:15px;font-size:32px}.project-meta{margin-top:10px;padding-top:9px}.project-meta>span:first-child{font-size:12px;font-weight:400;color:#626262}.more-row{justify-content:flex-end}.client-logo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:26px 20px;max-width:1350px;margin:0 auto}.client-logo{min-height:110px;display:flex;align-items:center;justify-content:center}.client-logo>span{display:block;flex-shrink:0;background-image:url('assets/references.webp');background-repeat:no-repeat}.references{padding-top:40px;padding-bottom:60px}.references>.eyebrow{font-size:12px;font-weight:400}.process h3{font-size:32px}
@media(max-width:1100px){.client-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.hero h1{font-size:clamp(68px,11.8vw,100px)}.client-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.client-logo{min-height:90px}.client-logo>span{transform:scale(.8)}.process h3{font-size:30px}}
@media(max-width:520px){.hero h1{font-size:clamp(54px,12vw,68px)}.hero{min-height:600px}.client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-logo>span{transform:scale(.82)}.project-title{font-size:32px}.process h3{font-size:28px}}

/* Client logos — continuous left-to-right strip */
.references{padding-left:0;padding-right:0;overflow:hidden}.references>.eyebrow{padding:0 24px}.logo-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.logo-track{display:flex;width:max-content}.client-logo-group{display:flex;align-items:center;gap:32px;padding-right:32px;flex-shrink:0}.client-logo-group .client-logo{width:190px;min-height:110px;flex:0 0 190px}.client-logo-group .client-logo>span{transform:none}.logo-track.is-ready{animation:logos-right 120s linear infinite}.references:hover .logo-track,.references:focus-within .logo-track,.logo-track.is-paused{animation-play-state:paused}.logo-controls{display:flex;justify-content:center;margin-top:18px}.logo-controls button{border:1px solid #ccc;background:white;font-size:12px;padding:8px 16px;min-height:40px;color:#555}.logo-controls button:hover{border-color:#101010;color:#101010}@keyframes logos-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.logo-track.is-ready{animation:none;transform:none}.logo-window{overflow-x:auto;mask-image:none}.client-logo-group[aria-hidden=true],.logo-controls{display:none}}

/* Official supplied logo and explicit thumbnail sizing */
.brand img{width:100px;height:100px;object-fit:contain}.project-visual img{position:absolute;inset:0;width:100%;height:100%;opacity:1;visibility:visible}.films .section-heading h2{max-width:780px}
@media(max-width:760px){.brand img{width:76px;height:76px}}

/* Display the original monogram without redrawing the supplied logo. */
header .brand-monogram{position:relative;display:block;width:80px;height:74px;overflow:hidden;mix-blend-mode:screen;margin:0;line-height:1}
header .brand-monogram img{position:absolute;width:126px;height:126px;max-width:none;left:-23px;top:-23px;object-fit:contain}
@media(max-width:760px){header .brand-monogram{width:64px;height:60px}header .brand-monogram img{width:102px;height:102px;left:-19px;top:-19px}}

/* Unified monochrome references: brands and creator portraits. */
.client-logo-group .client-logo{min-height:132px}
.client-logo-group .client-logo>span{filter:grayscale(1);mix-blend-mode:multiply}
.client-logo-group .reference-new .reference-art{position:relative;display:block;background:none;overflow:hidden;flex-shrink:0}
.reference-art img{display:block;max-width:none;object-fit:contain}
.reference-tribe .reference-art{width:148px;height:90px}
.reference-tribe .reference-art img{position:absolute;width:190px;height:auto;left:-22px;top:-17px}
.reference-person .reference-art{width:120px;height:120px}
.reference-person .reference-art img{width:120px;height:120px}
.reference-valloire .reference-art{width:180px;height:56px}
.reference-valloire .reference-art img{position:absolute;width:225px;height:auto;left:-24px;top:-2px}
.reference-diplomatico .reference-art{width:176px;height:82px}
.reference-diplomatico .reference-art img{position:absolute;width:176px;height:auto;left:0;top:-63px}
.reference-montparnasse .reference-art{width:186px;height:60px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px}
.reference-montparnasse .reference-art img{width:186px;height:auto}
.reference-montparnasse small{font-family:var(--display);font-size:14px;font-weight:600;line-height:1}

/* Optical logo bounds and equal edge-to-edge spacing. */
.client-logo-group{gap:56px;padding-right:56px}
.client-logo-group .client-logo{width:auto;flex:0 0 auto;min-height:132px}
.client-logo-group .client-logo>span{background-image:url('assets/references-original.jpg')}
.client-logo-group .reference-new .reference-art{background-image:none}
.references>.eyebrow{font-family:var(--display);font-size:clamp(34px,4vw,52px);font-weight:600;line-height:1.1;letter-spacing:.015em;color:var(--ink);margin:0 0 36px;text-transform:none}
.services-strip span{white-space:normal;text-align:center;line-height:1.6}
header .brand-monogram{width:104px;height:84px}
header .brand-monogram img{width:126px;height:126px;left:-11px;top:-16px}
@media(max-width:760px){.client-logo-group{gap:40px;padding-right:40px}header .brand-monogram{width:84px;height:68px}header .brand-monogram img{width:102px;height:102px;left:-9px;top:-13px}}

/* Manual and automatic logo movement share the same position. */
.logo-track.is-ready,.logo-track{animation:none;will-change:transform}
.logo-window{overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.logo-window.is-dragging{cursor:grabbing}
.logo-window:focus-visible{outline:2px solid #84724f;outline-offset:-3px}
.logo-window img{-webkit-user-drag:none;pointer-events:none}
.logo-controls{gap:10px;display:flex}
.logo-controls button{min-width:44px;min-height:44px;font-size:14px;cursor:pointer}
.logo-controls button:focus-visible{outline:2px solid #84724f;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.logo-window{overflow:hidden}.client-logo-group[aria-hidden=true]{display:flex}.logo-controls{display:flex}}
