@font-face{font-family:"Display";font-style:normal;font-weight:900;font-display:swap;src:url("assets/font-display-900.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:swap;src:url("assets/font-archivo-400.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:500;font-display:swap;src:url("assets/font-archivo-500.woff2") format("woff2")}
@font-face{font-family:"Mono";font-style:normal;font-weight:400;font-display:swap;src:url("assets/font-mono-400.woff2") format("woff2")}
@font-face{font-family:"Mono";font-style:normal;font-weight:500;font-display:swap;src:url("assets/font-mono-500.woff2") format("woff2")}
:root{--grey:#7c7d80;--ink:#101113;--paper:#e8e7e2;--accent:#b72516;--line:rgba(16,17,19,.28);--pad:clamp(22px,3.6vw,68px);--ease:cubic-bezier(.22,1,.36,1);--ease-out:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);--display:"Display","Arial Black",sans-serif;--body:"Archivo",Arial,sans-serif;--mono:"Mono",monospace}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--grey);color:var(--ink);font:400 16px/1.5 var(--body);-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
::selection{background:var(--ink);color:var(--paper)}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
button,input,video{max-width:100%}
button:disabled{cursor:default}
img,video{display:block;width:100%}
img{height:auto}
svg{width:24px;height:24px}
h1,h2,h3,p{margin:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.micro{font-family:var(--mono);font-size:10px;font-weight:400;line-height:1.65;letter-spacing:.07em;text-transform:uppercase}
.section-shell{padding-left:var(--pad);padding-right:var(--pad)}
.section-label{display:flex;align-items:center;gap:15px;font-weight:500}
.section-title{font:900 clamp(32px,4.25vw,70px)/.98 var(--display);letter-spacing:-.045em}
.title-period{color:var(--accent)}
.skip-link{position:fixed;top:12px;left:20px;z-index:200;background:var(--paper);padding:12px 18px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);will-change:transform;transform-origin:left;z-index:100;pointer-events:none}
.site-header{height:86px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--grey);z-index:30;transition:box-shadow .2s var(--ease-out)}
.site-header.is-scrolled{box-shadow:0 2px 18px rgba(0,0,0,.06)}
.wordmark{color:var(--accent);display:flex;align-items:center;gap:6px;white-space:nowrap;min-height:44px}
.wordmark-logo{display:block;height:clamp(20px,1.85vw,29px);width:auto;aspect-ratio:3.193;fill:currentColor}
.brand-dot{width:6px;height:6px;background:var(--ink);border-radius:50%;align-self:flex-end;margin-bottom:12px;flex:none}
.header-location{margin-left:auto;margin-right:clamp(12px,5vw,88px);font-size:9px}
.site-header nav{display:flex;align-items:center;gap:clamp(20px,2.4vw,44px)}
.site-header nav a{font-size:11px;position:relative;display:flex;align-items:center;gap:7px;min-height:44px;white-space:nowrap}
.site-header nav a::after{content:"";position:absolute;bottom:8px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .28s var(--ease-out)}
.site-header nav a.is-current::after{transform:scaleX(1);transform-origin:left}
.nav-n{font:8px var(--mono);margin-right:2px}
.contact-nav>span{font-size:19px;margin-left:7px}
.hero{padding-top:30px}
.hero-kicker{display:flex;align-items:center;justify-content:space-between;font-size:9px}
.hero-kicker>span:first-child{display:flex;align-items:center;gap:10px}
.status-dot,.rec-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;flex-shrink:0}
.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:36px 0 40px;gap:32px}
.hero h1{font:900 clamp(54px,7.65vw,138px)/.88 var(--display);letter-spacing:-.055em;flex:1;min-width:0}
.title-line{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.04em}
.title-line>span{display:block;animation:title-enter 1s var(--ease-out) both;animation-delay:.1s}
.title-line:nth-child(2)>span{animation-delay:.18s}
.hero-aside{min-width:190px;padding-bottom:8px;animation:soft-enter .7s var(--ease-out) .45s both}
.hero-aside>p:first-child{font-size:20px;letter-spacing:-.025em;margin-bottom:14px}
.hero-description{font-size:13px;line-height:1.6}
.explore-link{display:flex;align-items:center;justify-content:space-between;margin-top:34px;border-bottom:1px solid var(--line);padding-bottom:10px;min-height:44px;font-size:9px;gap:24px}
.explore-link>span{font-size:22px;transition:transform .25s var(--ease-out)}

.hero-film{height:clamp(370px,46vw,740px);position:relative;isolation:isolate;overflow:hidden;background:#252729;animation:film-enter 1.15s var(--ease-io) .2s both}
.hero-film::before{content:"";position:absolute;inset:0;z-index:-1;background:url('assets/hero-poster.webp') center/cover no-repeat}
.hero-film video{height:calc(100% + 64px);object-fit:cover;position:absolute;top:-32px;opacity:0;transition:opacity .6s var(--ease-out);will-change:transform;z-index:-1}
.hero-film video.is-playing{opacity:1}
.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.27),transparent 25%,transparent 62%,rgba(0,0,0,.44));pointer-events:none}
.hero-film-top,.hero-film-bottom{position:absolute;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;color:#fff;gap:16px}
.hero-film-top{top:27px;font-size:9px}
.hero-film-top>span:first-child{display:flex;align-items:center;gap:9px}
.hero-film-top .rec-dot{background:#ee4934}
.hero-film-bottom{bottom:21px}
.hero-film-bottom>.micro{font-size:9px}
.hero-film-top>span,.hero-film-bottom>.micro{text-shadow:0 1px 10px rgba(0,0,0,.5)}
.frame-corner{position:absolute;top:13px;width:12px;height:12px;border-top:1px solid rgba(255,255,255,.8)}
.corner-tl{left:13px;border-left:1px solid rgba(255,255,255,.8)}
.corner-tr{right:13px;border-right:1px solid rgba(255,255,255,.8)}
.hero-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:16px;color:white;min-width:180px;padding:16px}
.play-disc{width:90px;height:90px;border:1px solid rgba(255,255,255,.75);background:rgba(14,15,17,.22);backdrop-filter:blur(4px);border-radius:50%;display:grid;place-items:center;transition:transform .3s var(--ease-out),background .25s ease}
.play-disc svg{width:24px;height:24px;fill:currentColor;transform:translateX(1px)}
.hero-play>.micro{font-size:9px;text-shadow:0 1px 10px #000}
.hero-play:hover .play-disc{background:rgba(14,15,17,.46)}
.motion-toggle{color:#fff;display:flex;align-items:center;gap:7px;min-height:36px;border:1px solid rgba(255,255,255,.35);border-radius:30px;background:rgba(0,0,0,.28);padding:6px 12px;font-size:8px}
.motion-toggle:hover{background:rgba(0,0,0,.5)}
.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line);font-size:9px}
.hero-foot a{display:flex;align-items:center;gap:25px;min-height:32px}
.hero-foot a>span{font-size:18px}
.statement{padding-top:clamp(76px,10vw,154px);padding-bottom:clamp(90px,11vw,165px);display:grid;grid-template-columns:1fr 2.05fr;gap:32px}
.statement>.section-label{align-self:start;margin-top:10px}
.cross{font-size:28px;font-weight:400}
.statement h2{font-weight:400;letter-spacing:-.04em;font-size:clamp(26px,3.08vw,50px);line-height:1.19}
.statement h2>span{color:#25262a}
.statement-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:30px}
.statement-bottom>p{max-width:400px;font-size:13px;line-height:1.8}
.swatch-note{display:flex;gap:12px;align-items:center;flex-shrink:0;font-size:9px;line-height:1.8}
.swatch{display:block;width:38px;height:38px;border:1px solid var(--ink);box-shadow:inset 0 0 0 4px var(--grey),inset 0 0 0 5px rgba(16,17,19,.2)}
.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}
.section-top .section-label{margin-bottom:23px}
.small-count{font:400 12px var(--mono);letter-spacing:0;display:inline-block;vertical-align:top;margin:4px 0 0 12px}
.section-side{font-size:9px;text-align:right;padding-bottom:5px}
.work-toolbar{margin-top:35px;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.toolbar-note{font-size:9px;margin:0}
.work-count{font-size:9px}
.film-grid{display:block;padding:30px 0 0;margin-left:calc(var(--pad)*-1);margin-right:calc(var(--pad)*-1)}
.film-band{display:block;position:relative}
.film-open{display:block;width:100%;text-align:left;position:relative}
.film-media{display:block;position:relative;overflow:hidden;width:100%;height:min(56.25vw,86vh);min-height:290px;background:#08090a}
.film-poster,.film-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease-out),transform 1.6s var(--ease-out);pointer-events:none}
.film-preview{opacity:0}
.film-preview.is-playing{opacity:1}
.film-band[data-format=portrait] .film-poster,.film-band[data-format=portrait] .film-preview{object-fit:contain}
.film-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.3) 30%,rgba(0,0,0,0) 58%),linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,0) 55%);pointer-events:none}
.film-open:focus-visible .film-poster,.film-open:focus-visible .film-preview{transform:scale(1.02)}
.film-title{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:clamp(22px,6.5%,72px);will-change:transform,opacity;margin:0;pointer-events:none;font:900 clamp(30px,5.1vw,98px)/.98 var(--display);letter-spacing:-.045em;overflow-wrap:break-word}
.film-title-in{display:block;transition:transform .4s var(--ease-out)}
.film-open:focus-visible .film-title-in{transform:translateX(clamp(6px,.9vw,14px))}
.film-brand,.film-project{display:inline-block;max-width:100%;clip-path:inset(-.12em -.1em -.22em -.1em);transition:clip-path .9s var(--ease-out),transform .9s var(--ease-out),color .25s ease}
.film-brand{transition-delay:.05s}.film-project{transition-delay:.2s,.2s,0s}
.reveal-ready .film-title:not(.is-in) .film-brand,.reveal-ready .film-title:not(.is-in) .film-project{clip-path:inset(102% -.1em -.22em -.1em);transform:translateY(.55em)}
.film-brand{color:var(--paper)}
.film-project{color:rgba(232,231,226,.6)}
.film-open:hover .film-project,.film-open:focus-visible .film-project{color:rgba(232,231,226,.92)}
.film-open:focus-visible{outline:2px solid var(--paper);outline-offset:-6px}
.work-outro{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:22px 0 80px;font-size:9px}
.work-outro a{min-height:44px;display:flex;align-items:center;gap:14px}
.work-outro a>span{font-size:20px}
.craft{background:var(--paper);padding:90px 0 75px}
.craft-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;padding-bottom:64px}
.craft-intro .section-label{margin-bottom:30px}
.craft-intro .section-title{font-size:clamp(30px,3.8vw,63px);line-height:1.06}
.craft-aside{font-size:13px;line-height:1.8;flex-shrink:0;padding-bottom:4px}
.craft-aside>span{color:#565651;display:inline-block;margin-top:12px}
.craft-row{display:grid;grid-template-columns:40px 1fr 1.05fr;gap:32px;padding:38px 0;border-top:1px solid rgba(16,17,19,.22);align-items:center}
.craft-row:last-child{border-bottom:1px solid rgba(16,17,19,.22)}
.craft-number{color:var(--accent);align-self:start;margin-top:5px}
.craft-name>.micro{font-size:8px;margin-bottom:8px;letter-spacing:.08em}
.craft-name>h3{font:400 clamp(25px,2.8vw,46px)/1.1 var(--body);letter-spacing:-.035em}
.craft-copy{font-size:13px;line-height:1.75;max-width:45ch}
.craft-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.5vw,22px);margin:clamp(34px,4.4vw,62px) 0 clamp(14px,2.4vw,34px)}
.craft-shots>span{display:block;aspect-ratio:3/4;overflow:hidden;background:#202123}
.craft-shots img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease-out),filter .4s ease;filter:saturate(.94)}


.viewfinder{background:linear-gradient(var(--ink),var(--ink)) left top/14px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) left top/1px 14px no-repeat,linear-gradient(var(--ink),var(--ink)) right top/14px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) right top/1px 14px no-repeat,linear-gradient(var(--ink),var(--ink)) left bottom/14px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) left bottom/1px 14px no-repeat,linear-gradient(var(--ink),var(--ink)) right bottom/14px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) right bottom/1px 14px no-repeat;position:relative}
.viewfinder::after{content:"+";position:absolute;inset:0;display:grid;place-items:center;font-size:25px;font-weight:400}
.color-circles{position:relative}
.color-circles>i{display:block;position:absolute;width:31px;height:31px;border:1px solid var(--ink);border-radius:50%;top:0;left:10px}
.color-circles>i:nth-child(2){top:20px;left:0}
.color-circles>i:nth-child(3){top:20px;left:20px}
.brands{padding-top:52px;padding-bottom:52px}
.brands-label{display:flex;justify-content:center;font-size:8px;margin-bottom:18px;font-weight:400}
.brand-grid{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:36px;padding:0;margin:0}
.brand-grid li{display:flex;justify-content:center;align-items:center;height:34px}
.brand-grid img{width:auto;max-width:96px;max-height:26px;object-fit:contain;opacity:.6;transition:opacity .25s ease,transform .3s var(--ease-out)}
.brand-grid li:hover img{opacity:.9}
.contact{background:var(--ink);color:var(--paper);padding-top:50px;padding-bottom:25px}
.contact-top{display:flex;justify-content:space-between;gap:20px;font-size:9px;padding-bottom:65px}
.contact-top>span:first-child{display:flex;align-items:center;gap:10px}
.contact-top .rec-dot{background:#ed4935}
.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:35px}
.contact-heading h2{font:900 clamp(38px,6.2vw,104px)/.96 var(--display);letter-spacing:-.05em}
.contact-arrow{border:1px solid rgba(232,231,226,.4);border-radius:50%;width:clamp(85px,12vw,170px);height:clamp(85px,12vw,170px);display:grid;place-items:center;flex-shrink:0;transition:background .25s ease,border-color .25s ease,transform .16s var(--ease-out)}
.contact-arrow>span{font:400 clamp(58px,7vw,102px)/1 var(--body);transition:transform .5s var(--ease)}
.contact-arrow:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

.contact-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:55px 0 75px}
.contact-bottom>p{font-size:13px;color:#b4b4b3;line-height:1.7}
.email-link{font-size:clamp(16px,2.3vw,37px);letter-spacing:-.035em;border-bottom:1px solid rgba(232,231,226,.4);padding-bottom:8px;transition:border-color .3s}
.email-link>span{margin-left:20px}
.contact-links{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.phone-link{font-size:clamp(13px,1.15vw,19px);letter-spacing:.01em;color:#cfcecb;border-bottom:1px solid rgba(232,231,226,.22);padding-bottom:6px;transition:border-color .3s,color .3s}
.phone-link:hover{color:var(--paper);border-color:var(--paper)}
.phone-link>span{margin-left:16px}
.email-link:hover{border-color:var(--paper)}
.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #3d3d3e;padding-top:20px;color:#b4b4b3;font-size:8px}
.footer a{display:flex;align-items:center;gap:20px;min-height:44px}
.footer a>span{font-size:18px}
.film-dialog{position:fixed;inset:0;background:var(--ink);color:var(--paper);border:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;overflow:hidden}
.film-dialog::backdrop{background:rgba(0,0,0,.88)}
.film-dialog[open]{animation:dialog-in .3s var(--ease-out)}
.dialog-shell{height:100%;padding:clamp(20px,3vw,48px);display:flex;flex-direction:column}
.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:24px;flex-shrink:0}
.dialog-top>div>.micro{font-size:8px;color:#afafb0;margin-bottom:9px}
.dialog-top h2{font-size:clamp(18px,2.2vw,32px);font-weight:500;letter-spacing:-.025em}
.dialog-close{display:flex;align-items:center;gap:14px;min-height:44px;flex-shrink:0;font-size:9px}
.dialog-close>span{line-height:1;border:1px solid #777;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;transition:transform .3s var(--ease-out)}

.dialog-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0}
.dialog-stage video{width:100%;height:100%;object-fit:contain;background:#080809}
.player-status{position:absolute;left:15px;right:15px;top:20px;text-align:center;font-size:10px;color:white;text-shadow:0 1px 8px black;pointer-events:none}
.player-status:empty{display:none}
.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;color:#b4b4b3;flex-shrink:0}
.dialog-bottom .micro{font-size:9px}
.dialog-actions{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px)}
.dialog-actions>a,.dialog-step{white-space:nowrap;min-height:44px;display:flex;align-items:center;gap:10px;color:#d6d5d1;transition:color .2s ease,transform .16s var(--ease-out)}
.dialog-actions>a:hover,.dialog-step:hover{color:var(--paper)}
.dialog-step{font-size:9px}
.reveal-ready .reveal-item{transition:opacity .7s var(--ease-out),transform .8s var(--ease-out)}
.reveal-ready .reveal-item:not(.is-visible){opacity:0;transform:translateY(18px)}
@keyframes title-enter{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes soft-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes film-enter{from{clip-path:inset(46% 0 46% 0)}to{clip-path:inset(0)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.hero h1{font-size:8vw}.section-title{font-size:4vw}.hero-film{height:44vw}}
@media(max-width:1100px){.header-location{display:none}.hero-aside{min-width:160px}.hero-aside>p:first-child{font-size:17px}.hero-description{font-size:12px}.hero h1{font-size:7.4vw}.hero-film{height:51vw}.statement{grid-template-columns:1fr 2.6fr}.statement-bottom{gap:25px}.statement-bottom>p{font-size:12px}.brand-grid{gap:30px}.brand-grid img{max-height:24px}.craft-row{grid-template-columns:25px 1fr 1.15fr;gap:24px}.craft-aside{font-size:12px}.craft-copy{font-size:12px}}
@media(max-width:760px){
  :root{--pad:24px}html{scroll-padding-top:82px}.site-header{height:72px;gap:20px}.wordmark-logo{height:22px}.brand-dot{width:5px;height:5px;margin-bottom:13px}.site-header nav{gap:18px}.site-header nav a{font-size:10px}.nav-n{display:none}.contact-nav>span{margin-left:0}.hero{padding-top:24px}.hero-heading{gap:22px;padding:32px 0}.hero h1{font-size:7.35vw}.hero-aside{min-width:125px}.hero-aside>p:first-child{font-size:14px;margin-bottom:10px}.hero-description{font-size:10px}.explore-link{margin-top:15px;font-size:8px;gap:8px;padding-bottom:5px}.hero-film{height:430px}.hero-film-top,.hero-film-bottom{left:20px;right:20px}.hero-film-top{font-size:8px}.hero-film-top>span:last-child{display:none}.hero-foot{font-size:8px}.hero-foot a{gap:13px}.statement{grid-template-columns:1fr;gap:24px;padding-top:70px;padding-bottom:80px}.statement>.section-label{margin:0}.statement h2{font-size:30px}.statement-bottom>p{max-width:340px}.statement-bottom{margin-top:24px}.section-title{font-size:37px}.section-side{font-size:8px}.section-top .section-label{margin-bottom:17px}.work-toolbar{margin-top:25px}.film-grid{padding-top:25px}.work-outro{padding-bottom:60px;font-size:8px}.craft{padding:60px 0}.craft-intro{gap:30px;display:block;padding-bottom:38px}.craft-intro .section-title{font-size:39px}.craft-aside{margin-top:25px}.craft-aside>span{margin-top:5px}.craft-row{grid-template-columns:24px 1fr;gap:20px;padding:28px 0}.craft-name{grid-column:2}.craft-copy{grid-column:2;grid-row:2;max-width:100%;font-size:13px}.craft-name>h3{font-size:30px}.craft-name>.micro{font-size:8px}.craft-number{font-size:9px}.brands{padding-top:40px;padding-bottom:40px}.brand-grid{gap:30px}.brand-grid img{max-width:92px;max-height:23px}.contact{padding-top:35px}.contact-top{font-size:8px;padding-bottom:45px}.contact-heading{gap:24px}.contact-heading h2{font-size:6.5vw}.contact-arrow{width:80px;height:80px}.contact-arrow>span{font-size:54px}.contact-bottom{padding:34px 0 45px}.contact-bottom>p{font-size:12px}.email-link{font-size:20px}.email-link>span{margin-left:10px}.footer{flex-wrap:wrap;font-size:8px}.footer>span:nth-child(2){display:none}
}
@media(max-width:520px){
  :root{--pad:20px}.site-header{height:66px;gap:10px}.site-header nav{gap:14px}.site-header nav a{font-size:9px}.site-header nav .contact-nav{font-size:0;gap:0}.contact-nav>span{font-size:24px}.wordmark{gap:5px}.wordmark-logo{height:19px}.hero-kicker{font-size:8px;letter-spacing:.03em}.hero-heading{display:block;padding:31px 0 25px}.hero h1{font-size:10.65vw;line-height:.92}.hero-aside{display:flex;align-items:center;justify-content:space-between;margin-top:23px;gap:20px;padding:0}.hero-aside>p:first-child{font-size:15px;margin:0}.hero-description{display:none}.explore-link{margin:0;min-height:35px;gap:15px;border-bottom:0;font-size:8px;padding:0}.hero-film{height:465px;height:60svh;min-height:360px;max-height:520px}.hero-film::before{background-image:url('assets/hero-poster-compact.webp')}.hero-film video{object-position:49% center}.hero-film-top{top:23px;font-size:8px}.hero-film-bottom{left:15px;right:15px;bottom:15px;gap:10px}.hero-film-bottom>span.micro{font-size:7px;max-width:90px}.motion-toggle{font-size:7px;padding:7px 9px;min-height:36px;letter-spacing:0;gap:6px}.play-disc{width:75px;height:75px}.hero-play{gap:14px}.hero-foot{align-items:flex-start;padding:14px 0;font-size:7px;gap:15px}.hero-foot>span{max-width:155px}.hero-foot a{min-height:28px;font-size:7px;gap:7px}.hero-foot a>span{font-size:15px}.statement{padding-top:55px;padding-bottom:65px;gap:22px}.statement h2{font-size:25px;line-height:1.24;letter-spacing:-.04em}.statement-bottom{display:block}.statement-bottom>p{font-size:12px;line-height:1.8;max-width:none}.swatch-note{margin-top:25px;font-size:8px}.swatch{width:30px;height:30px}.section-top{gap:15px}.section-title{font-size:31px}.small-count{font-size:9px;margin:3px 0 0 8px}.section-side{display:none}.section-label{font-size:9px}.work-toolbar{padding:10px 0;margin-top:25px}.toolbar-note{font-size:8px}.work-count{font-size:8px}.film-grid{padding-top:20px}.film-media{aspect-ratio:1.38}.work-outro{align-items:flex-start;padding:14px 0 45px;font-size:7px;gap:8px}.work-outro>a{gap:7px;min-height:30px}.work-outro>span{padding-top:8px}.craft-intro .section-title{font-size:29px}.craft-intro .section-label{margin-bottom:24px}.craft-row{grid-template-columns:17px 1fr;gap:14px}.craft-copy{font-size:12px;line-height:1.8}.craft-name>h3{font-size:28px}.color-circles>i{width:24px;height:24px;left:7px}.color-circles>i:nth-child(2){top:15px;left:0}.color-circles>i:nth-child(3){top:15px;left:15px}.brand-grid{gap:26px}.brand-grid li{height:30px}.brand-grid img{max-width:82px;max-height:21px}.brands-label{font-size:8px;margin-bottom:14px}.contact-top{font-size:7px;gap:12px;padding-bottom:36px}.contact-top>span:first-child{gap:7px}.contact-top>span:last-child{max-width:95px;text-align:right}.contact-heading{position:relative;gap:12px}.contact-heading h2{font-size:6.6vw}.contact-arrow{height:54px;width:54px}.contact-arrow>span{font-size:39px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:25px;padding:30px 0 40px}.contact-links{align-items:flex-start;gap:18px;width:100%}.phone-link{font-size:16px}.email-link{font-size:21px;max-width:100%;word-break:break-word;letter-spacing:-.035em}.email-link>span{margin-left:12px}.footer{font-size:7px;gap:12px;padding-top:16px}.footer a{gap:10px}.dialog-shell{padding:16px}.dialog-top{gap:15px;padding-bottom:16px}.dialog-top h2{font-size:17px;line-height:1.3}.dialog-close{font-size:0;gap:0}.dialog-close>span{font-size:27px;width:40px;height:40px}.dialog-bottom{display:block;padding-top:14px}.dialog-bottom .micro{font-size:8px}.dialog-actions{justify-content:space-between;gap:10px;margin-top:6px}.dialog-actions>a,.dialog-step{font-size:8px}.player-status{font-size:8px;line-height:1.8}
}
@media(hover:none){.motion-toggle{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-property:opacity,color,background-color,border-color,box-shadow!important;transition-duration:.2s!important;transition-delay:0s!important}.reveal-ready .reveal-item:not(.is-visible){opacity:1;transform:none}.hero-film video{transform:none}.film-open:hover .film-poster,.film-open:hover .film-preview{transform:none}}

/* Keep compact controls legible on narrow screens. */
.motion-toggle{white-space:nowrap;max-width:none}
@media(max-width:520px){.site-header nav a{font-size:10px}.site-header nav .contact-nav{font-size:0}.hero-film-bottom .motion-toggle{font-size:7px;max-width:none}}
@media(max-width:760px){.brand-grid li{min-width:0}.brand-grid img{max-width:min(92px,42vw)}}
@media(max-width:520px){.brand-grid img{max-width:min(82px,38vw)}}

/* écran d'ouverture : mosaïque plein écran, les plans s'allument un par un */
.intro{position:fixed;inset:0;z-index:90;background:#0a0b0c url("assets/intro-backdrop.webp") center/cover no-repeat;overflow:hidden;cursor:pointer}
.intro.is-leaving{opacity:0;transition:opacity .7s var(--ease);pointer-events:none}
.intro-mosaic{position:absolute;inset:0;display:grid;gap:2px;grid-template-columns:repeat(var(--c,5),1fr);grid-template-rows:repeat(var(--r,4),1fr)}
.intro-cell{position:relative;overflow:hidden;background:#0a0b0c}
.intro-still{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:1;transform:scale(1.14);transition:transform 1.5s var(--ease-out)}
.intro-cell.is-lit .intro-still{transform:scale(1)}
.intro-cell video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.14);transition:opacity .5s var(--ease-out),transform 1.5s var(--ease-out)}
.intro-cell.is-lit video{opacity:1;transform:scale(1)}
.intro-cell::before{content:"";position:absolute;inset:0;z-index:2;background:#060607;opacity:.86;transition:opacity 1.1s var(--ease-out);pointer-events:none}
.intro-cell.is-lit::before{opacity:0}
.intro-cell::after{content:"";position:absolute;inset:0;z-index:3;background:var(--paper);opacity:0;pointer-events:none}
.intro-cell.is-flashing::after{animation:intro-flash .34s ease-out forwards}
@keyframes intro-flash{0%{opacity:.5}100%{opacity:0}}
.intro-veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120vmax 90vmax at 50% 50%,rgba(10,11,13,.5),rgba(10,11,13,.88) 78%)}
.intro-center{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;pointer-events:none}
.intro-logo{display:block;width:clamp(190px,30vw,430px);height:auto;overflow:visible;filter:drop-shadow(0 2px 30px rgba(10,11,13,.85))}
.intro-logo .vp{fill:#efe9e0;opacity:0;animation:vass-in .56s cubic-bezier(.16,.84,.24,1) calc(.45s + var(--d)) forwards}
.intro-logo .vp--echo{fill:#8f8a83;animation-name:vass-echo;animation-duration:.62s;animation-delay:calc(.48s + var(--d))}
@keyframes vass-in{0%{opacity:0;transform:translate(-24px,-10px)}30%{opacity:1}100%{opacity:1;transform:none}}
@keyframes vass-echo{0%{opacity:0;transform:translate(-34px,-14px)}25%{opacity:.6}100%{opacity:0;transform:translate(-3px,-1px)}}
.intro-sub{margin-top:18px;color:rgba(232,231,226,.72);font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:0;animation:intro-sub .6s ease 1.25s forwards}
@keyframes intro-sub{to{opacity:1}}
.intro-bar{position:absolute;left:0;top:0;height:2px;width:100%;background:var(--accent);z-index:4;transform:scaleX(0);transform-origin:left;transition:transform .25s linear}
.intro-enter{position:absolute;left:0;right:0;bottom:30px;z-index:2;text-align:center;color:rgba(232,231,226,.72);font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:0;transition:opacity .6s ease;pointer-events:none}
.intro-enter.is-visible{opacity:1;pointer-events:auto}
@media(max-width:520px){.intro-sub{font-size:9px;letter-spacing:.18em;margin-top:14px}.intro-enter{bottom:22px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.intro{display:none}}

@media(max-width:760px){.film-media{height:min(112vw,64svh);min-height:330px}.film-title{font:900 clamp(26px,7.4vw,46px)/.98 var(--display);letter-spacing:-.04em}}
@media(max-width:520px){.film-media{height:min(118vw,62svh);min-height:320px}.film-title{font-size:clamp(24px,8.2vw,38px)}}

/* encrage : lettres rongées, façon impression tampon */
.ink-defs{position:absolute;width:0;height:0;overflow:hidden}
/* titres livrés en image : la largeur est exprimée en em, donc elle suit toutes les tailles de police existantes */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.title-art{display:block;height:auto;max-width:100%}
.title-art--hero{width:6.58em}
.title-art--statement{width:11.82em}
.title-art--films{width:5.88em;display:inline-block;vertical-align:top}
.title-art--contact{width:8.67em}
.ink{filter:url(#ink)}
.section-title .ink{display:inline-block}
@supports not (filter:url(#ink)){.ink{filter:none}}
@media(prefers-reduced-motion:reduce){.film-title{transform:none;opacity:1}.film-brand,.film-project{clip-path:none;transform:none}}

/* ---------- pages film (films/<slug>/) ---------- */
.fp{padding-top:clamp(26px,3.6vw,56px);padding-bottom:clamp(46px,6vw,100px)}
.fp-crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:9px;margin-bottom:clamp(18px,2.4vw,34px)}
.fp-crumbs a{border-bottom:1px solid transparent;transition:border-color .3s}
.fp-crumbs a:hover{border-color:currentColor}
.fp-title{font:900 clamp(38px,6.2vw,108px)/.92 var(--display);letter-spacing:-.045em;margin-bottom:clamp(22px,3vw,44px);overflow-wrap:break-word}
.fp-project{color:#ecebe6}
.fp-player{margin:0;background:#08090a;display:flex;justify-content:center}
.fp-player video{display:block;width:100%;height:auto;max-height:82vh;background:#08090a;object-fit:contain}
.fp-player--portrait video{width:auto;max-width:100%;max-height:84vh}
.fp-info{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,90px);padding:clamp(26px,3.4vw,52px) 0;border-bottom:1px solid var(--line)}
.fp-lede{font-size:clamp(16px,1.35vw,21px);line-height:1.5;letter-spacing:-.015em;max-width:40ch}
.fp-credits{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;align-content:start}
.fp-credits dt{font:400 9px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.fp-credits dd{margin:3px 0 0;font-size:14px;line-height:1.45}
.fp-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:clamp(22px,3vw,40px) 0;border-bottom:1px solid var(--line)}
.fp-nav a{display:flex;flex-direction:column;gap:9px;min-height:44px}
.fp-nav .micro{font-size:9px}
.fp-nav strong{font:900 clamp(18px,2vw,32px)/1.05 var(--display);letter-spacing:-.03em;transition:color .3s}
.fp-nav a:hover strong{color:var(--paper)}
.fp-nav-next{text-align:right;align-items:flex-end}
.fp-cta{padding-top:clamp(36px,5vw,80px);display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.fp-cta>.micro{font-size:9px}
.fp-mail{font:500 clamp(22px,3.4vw,54px)/1.1 var(--body);letter-spacing:-.04em;border-bottom:1px solid var(--line);padding-bottom:6px;max-width:100%;overflow-wrap:anywhere;transition:border-color .3s}
.fp-mail:hover{border-color:var(--accent)}
.fp-tel{font-size:11px;min-height:32px;display:flex;align-items:center}
.fp-foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;padding-bottom:28px;border-top:1px solid var(--line);font-size:9px}
@media(max-width:760px){.fp-info{grid-template-columns:1fr}.fp-nav{grid-template-columns:1fr}.fp-nav-next{text-align:left;align-items:flex-start}.fp-foot>span:nth-child(2){display:none}}

/* ---------- page 404 ---------- */
.p404{min-height:calc(100svh - 86px);display:flex;flex-direction:column;justify-content:center;gap:22px;padding-top:40px;padding-bottom:60px}
.p404 h1{font:900 clamp(48px,9vw,150px)/.9 var(--display);letter-spacing:-.05em}
.p404 h1 span{color:var(--accent)}
.p404 p:not(.micro){font-size:clamp(15px,1.3vw,19px);max-width:40ch;line-height:1.55}
.p404 a.back{align-self:flex-start;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:11px}
@media(max-width:760px){.film-title{bottom:clamp(16px,5%,30px)}}
/* films aux sous-titres incrustés : le titre passe au-dessus de la ligne de sous-titres */
.film-band[data-subs] .film-title{bottom:clamp(64px,17%,170px)}
@media(max-width:760px){.film-band[data-subs] .film-title{bottom:clamp(56px,16%,96px)}}
/* flèche maison : fixe, pivote vers le bas au survol (d'après l'animation fournie) */
.arw{display:inline-block;width:.78em;height:.78em;vertical-align:-.05em;color:var(--accent);overflow:visible;transform-origin:50% 50%;transition:transform .26s var(--ease-out)}
a:focus-visible .arw{transform:rotate(90deg);transition:transform .48s cubic-bezier(.34,1.56,.64,1)}
.contact-arrow>span{display:grid;place-items:center}
.contact-arrow .arw{width:.62em;height:.62em;vertical-align:0}

/* ===== mouvement : ouverture d'obturateur, cascade, hero après l'intro ===== */
.is-awaiting .title-line>span,.is-awaiting .hero-aside,.is-awaiting .hero-film{animation-play-state:paused}
/* chaque film s'ouvre comme une fenêtre de projection qui s'élargit */
.film-band .film-media{clip-path:inset(0);transition:clip-path 1.1s var(--ease-io)}
.reveal-ready .film-band.reveal-item:not(.is-visible){opacity:1;transform:none}
.reveal-ready .film-band:not(.is-visible) .film-media{clip-path:inset(14% 0 14% 0)}
.reveal-ready .film-band:not(.is-visible) .film-poster{transform:scale(1.08)}
/* les trois photos du métier arrivent l'une après l'autre */
.reveal-ready .craft-shots.reveal-item:not(.is-visible){opacity:1;transform:none}
.craft-shots>span{transition:opacity .7s var(--ease-out),transform .9s var(--ease-out)}
.craft-shots>span:nth-child(2){transition-delay:70ms}
.craft-shots>span:nth-child(3){transition-delay:140ms}
.reveal-ready .craft-shots:not(.is-visible)>span{opacity:0;transform:translateY(24px)}

/* ===== survols en mouvement : uniquement avec une vraie souris ===== */
@media (hover:hover) and (pointer:fine){
.site-header nav a:hover::after{transform:scaleX(1);transform-origin:left}
.explore-link:hover>span{transform:translate(-3px,3px)}
.hero-play:hover .play-disc{transform:scale(1.06)}
.film-open:hover .film-poster,.film-open:hover .film-preview{transform:scale(1.02)}
.film-open:hover .film-title-in{transform:translateX(clamp(6px,.9vw,14px))}
.craft-shots>span:hover img{transform:scale(1.035);filter:none}
.brand-grid li:hover img{transform:translateY(-3px)}
.dialog-close:hover>span{transform:rotate(90deg)}
/* la flèche pivote avec le rebond de l'animation fournie, et revient sèchement */
a:hover .arw{transform:rotate(90deg);transition:transform .48s cubic-bezier(.34,1.56,.64,1)}
}
/* ===== retour à la pression ===== */
.hero-play:active .play-disc{transform:scale(.95);transition-duration:.12s}
.contact-arrow:active{transform:scale(.97)}
.dialog-step:active,.dialog-actions>a:active{transform:scale(.97)}
.dialog-close:active>span{transform:scale(.94);transition-duration:.12s}
.motion-toggle{transition:background .2s ease,transform .16s var(--ease-out)}
.motion-toggle:active{transform:scale(.97)}

/* ===================================================================
   SYSTÈME TYPO & ESPACEMENTS — lisibilité
   Étiquettes (mono capitales) : jamais sous 11 px. Texte courant : 16 px,
   interligne 1.6, mesure ≤ 60 caractères. Rythme vertical sur une échelle
   de 4 px et un intervalle de section unique.
   =================================================================== */
:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --section:clamp(80px,9.5vw,144px);--section-s:clamp(56px,6vw,88px);
  --t-label:11px;--t-label-l:12px;--t-body:16px;--t-lead:clamp(17px,1.35vw,21px);--t-nav:14px;
  --muted-on-paper:#4f4f4b;--muted-on-ink:#bdbcb8}
html{scrollbar-color:var(--ink) transparent}
h1,h2,h3{text-wrap:balance}
p,dd,li{text-wrap:pretty}
a{text-underline-offset:.18em}
.micro{font-size:var(--t-label);letter-spacing:.08em;line-height:1.55;font-variant-numeric:tabular-nums}

/* en-tête */
.header-location{font-size:var(--t-label)}
.site-header nav a{font-size:var(--t-nav);letter-spacing:-.005em}
.nav-n{display:none}
.contact-nav>span{font-size:16px;margin-left:2px}

/* ouverture */
.hero-kicker{font-size:var(--t-label)}
.hero-heading{padding:var(--s7) 0 var(--s7)}
.hero-aside{min-width:220px}
.hero-aside>p:first-child{font-size:22px;line-height:1.2;margin-bottom:var(--s3)}
.hero-description{font-size:var(--t-body);line-height:1.55}
.explore-link{font-size:var(--t-label);margin-top:var(--s6)}
.explore-link>span{font-size:16px;display:inline-flex}
.hero-film-top,.hero-film-bottom>.micro,.hero-play>.micro{font-size:var(--t-label)}
.hero-film-bottom{bottom:var(--s5)}
.hero-film-top{top:var(--s5)}
.motion-toggle{font-size:var(--t-label);gap:var(--s2);padding:var(--s2) 14px;min-height:40px}
.hero-foot{font-size:var(--t-label);padding:var(--s4) 0}
.hero-foot a{gap:var(--s3)}
.hero-foot a>span{font-size:16px;display:inline-flex}

/* intention */
.statement{padding-top:var(--section);padding-bottom:var(--section);column-gap:var(--s6)}
.statement-bottom{margin-top:var(--s6);gap:var(--s7)}
.statement-bottom>p{font-size:var(--t-body);line-height:1.65;max-width:46ch}
.swatch-note{font-size:var(--t-label);line-height:1.6}

/* films */
.section-top .section-label{margin-bottom:var(--s5)}
.small-count{font-size:14px;margin:6px 0 0 var(--s3)}
.section-side{font-size:var(--t-label);line-height:1.6}
.work-toolbar{margin-top:var(--s7);padding:var(--s4) 0}
.toolbar-note,.work-count{font-size:var(--t-label)}
.film-grid{padding-top:var(--s6)}
.work-outro{font-size:var(--t-label);padding:var(--s5) 0 var(--section-s)}
.work-outro a{gap:var(--s3)}
.work-outro a>span{font-size:16px}

/* métier */
.craft{padding:var(--section) 0 var(--section-s)}
.craft-intro{padding-bottom:0;gap:var(--s7)}
.craft-intro .section-label{margin-bottom:var(--s5)}
.craft-aside{font-size:var(--t-body);line-height:1.6}
.craft-aside>span{color:var(--muted-on-paper);margin-top:var(--s2)}
.craft-shots{margin:clamp(40px,4.4vw,64px) 0 clamp(48px,5vw,80px)}
.craft-row{padding:var(--s6) 0;gap:var(--s6);align-items:start}
.craft-number{font-size:var(--t-label);margin-top:var(--s2)}
.craft-name>.micro{font-size:var(--t-label);margin-bottom:var(--s2)}
.craft-copy{font-size:var(--t-body);line-height:1.65;max-width:52ch;padding-top:var(--s1)}

/* partenaires */
.brands{padding-top:var(--section-s);padding-bottom:var(--section-s)}
.brands-label{font-size:var(--t-label);margin-bottom:var(--s4)}

/* contact */
.contact{padding-top:var(--section-s);padding-bottom:var(--s5)}
.contact-top{font-size:var(--t-label);padding-bottom:clamp(48px,6vw,96px)}
.contact-arrow>span{font-family:var(--body)}
.contact-bottom{padding:clamp(40px,4.5vw,72px) 0 clamp(64px,7vw,112px);gap:var(--s6)}
.contact-bottom>p{font-size:var(--t-body);line-height:1.6;color:var(--muted-on-ink)}
.contact-links{gap:var(--s4)}
.phone-link{font-size:clamp(16px,1.3vw,20px);font-variant-numeric:tabular-nums;white-space:nowrap}
.footer{font-size:var(--t-label);color:var(--muted-on-ink);padding-top:var(--s4)}
.footer a{gap:var(--s3)}
.footer a>span{font-size:16px;display:inline-flex}

/* lecteur */
.dialog-top>div>.micro{font-size:var(--t-label);color:var(--muted-on-ink)}
.dialog-close{font-size:var(--t-label);gap:var(--s3)}
.dialog-close>span{font:inherit;width:44px;height:44px}
.dialog-close .ico{width:20px;height:20px}
.player-status{font-size:13px;line-height:1.5}
.dialog-bottom{color:var(--muted-on-ink)}
.dialog-bottom .micro,.dialog-step,.dialog-actions>a{font-size:var(--t-label)}

/* intro */
.intro-sub{font-size:12px;letter-spacing:.2em}
.intro-enter{font-size:var(--t-label);letter-spacing:.18em}

/* pages film */
.fp-crumbs{font-size:var(--t-label);gap:var(--s3)}
.fp-info{padding:clamp(40px,4.6vw,72px) 0;gap:clamp(32px,5vw,96px)}
.fp-lede{font-size:var(--t-lead);line-height:1.5;max-width:42ch}
.fp-credits{gap:var(--s5) var(--s6)}
.fp-credits dt{font-size:var(--t-label);letter-spacing:.08em}
.fp-credits dd{margin-top:var(--s1);font-size:var(--t-body);line-height:1.45}
.fp-nav{padding:clamp(32px,3.6vw,56px) 0}
.fp-nav a{gap:var(--s3)}
.fp-nav .micro,.fp-cta>.micro{font-size:var(--t-label)}
.fp-cta{gap:var(--s4)}
.fp-tel{font-size:13px;min-height:44px}
.fp-foot{font-size:var(--t-label);padding-top:var(--s5);padding-bottom:var(--s6)}
.p404 a.back{font-size:var(--t-label)}

/* flèches orientées : même dessin que la flèche maison, sans pivot au survol */
.arw--r{transform:rotate(45deg)}.arw--d{transform:rotate(135deg)}.arw--dl{transform:rotate(180deg)}
.arw--l{transform:rotate(-135deg)}.arw--u{transform:rotate(-45deg)}
.arw[class*="arw--"]{color:currentColor;transition:translate .25s var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  a:hover .arw--r{transform:rotate(45deg);translate:3px 0}
  a:hover .arw--l,button:hover .arw--l{transform:rotate(-135deg);translate:-3px 0}
  button:hover .arw--r{translate:3px 0}
  a:hover .arw--u{transform:rotate(-45deg);translate:0 -3px}
  a:hover .arw--d{transform:rotate(135deg);translate:0 3px}
  a:hover .arw--dl{transform:rotate(180deg)}
}
a:focus-visible .arw[class*="arw--"]{transition:translate .25s var(--ease-out)}
a:focus-visible .arw--r{transform:rotate(45deg)}a:focus-visible .arw--l{transform:rotate(-135deg)}
a:focus-visible .arw--u{transform:rotate(-45deg)}a:focus-visible .arw--d{transform:rotate(135deg)}a:focus-visible .arw--dl{transform:rotate(180deg)}
.ico{display:block;width:1em;height:1em;fill:currentColor}
.motion-ico{display:inline-grid;place-items:center;width:12px;height:12px}
.motion-ico .ico{width:12px;height:12px;grid-area:1/1}
.motion-toggle .ico-play,.motion-toggle.is-paused .ico-pause{display:none}
.motion-toggle.is-paused .ico-play{display:block}

/* ---------- tablette ---------- */
@media(max-width:1100px){
  .hero-aside{min-width:190px}
  .hero-aside>p:first-child{font-size:19px}
  .statement-bottom>p,.craft-aside,.craft-copy{font-size:15px}
  .craft-row{gap:var(--s5)}
}
/* ---------- mobile ---------- */
@media(max-width:760px){
  :root{--section:72px;--section-s:56px}
  .site-header nav a{font-size:13px}
  .hero-heading{padding:var(--s6) 0}
  .hero-aside{min-width:150px}
  .hero-aside>p:first-child{font-size:16px;margin-bottom:var(--s2)}
  .hero-description{font-size:15px}
  .explore-link{margin-top:var(--s4);gap:var(--s3)}
  .statement{row-gap:var(--s5)}
  .statement-bottom{margin-top:var(--s5)}
  .statement-bottom>p{font-size:16px;max-width:none}
  .section-top .section-label{margin-bottom:var(--s4)}
  .work-toolbar{margin-top:var(--s6)}
  .film-grid{padding-top:var(--s5)}
  .craft{padding:var(--section) 0 var(--section-s)}
  .craft-aside{margin-top:var(--s5);font-size:16px}
  .craft-shots{margin:var(--s6) 0 var(--s7)}
  .craft-row{grid-template-columns:28px 1fr;gap:var(--s3) var(--s4);padding:var(--s5) 0}
  .craft-number{margin-top:6px}
  .craft-copy{font-size:16px;padding-top:0}
  .contact-top{padding-bottom:var(--s7)}
  .contact-bottom{padding:var(--s6) 0 var(--s7)}
  .contact-bottom>p{font-size:16px}
}
@media(max-width:520px){
  :root{--section:64px;--section-s:48px}
  .site-header nav{gap:var(--s4)}
  .hero-kicker{letter-spacing:.06em}
  .hero-kicker>span:last-child{display:none}
  .hero-heading{padding:var(--s6) 0 var(--s5)}
  .hero-aside{margin-top:var(--s5);gap:var(--s4);min-width:0}
  .hero-aside>p:first-child{font-size:16px}
  .explore-link{margin:0;gap:var(--s2)}
  .hero-film-top{top:var(--s4)}
  .hero-film-bottom{left:var(--s4);right:var(--s4);bottom:var(--s4);align-items:flex-end}
  .hero-film-bottom>span.micro{font-size:var(--t-label);max-width:120px;line-height:1.4}
  .hero-film-bottom .motion-toggle{font-size:var(--t-label);letter-spacing:.04em;padding:var(--s2) var(--s3);gap:var(--s2)}
  .hero-foot{padding:var(--s4) 0;gap:var(--s4);align-items:center}
  .hero-foot>span{max-width:none;flex:1 1 auto;line-height:1.45}
  .hero-foot a{font-size:var(--t-label);white-space:nowrap;gap:var(--s2);min-height:44px}
  .statement-bottom>p{font-size:16px;line-height:1.65}
  .swatch-note{margin-top:var(--s5);font-size:var(--t-label)}
  .small-count{font-size:12px;margin:2px 0 0 var(--s2)}
  .section-label{font-size:var(--t-label)}
  .work-toolbar{padding:var(--s3) 0}
  .film-grid{padding-top:var(--s4)}
  .work-outro{flex-direction:column;align-items:flex-start;gap:0;padding:var(--s4) 0 var(--s7);font-size:var(--t-label)}
  .work-outro>span{padding-top:0}
  .work-outro>a{gap:var(--s2);min-height:44px}
  .craft-intro .section-label{margin-bottom:var(--s4)}
  .craft-row{grid-template-columns:24px 1fr;gap:var(--s2) var(--s3)}
  .craft-copy{font-size:16px;line-height:1.6}
  .brands-label{font-size:var(--t-label);margin-bottom:var(--s3)}
  .contact-top{font-size:var(--t-label);padding-bottom:var(--s6)}
  .contact-top>span:last-child{max-width:150px}
  .contact-bottom{padding:var(--s5) 0 var(--s7);gap:var(--s5)}
  .phone-link{font-size:18px}
  .footer{font-size:var(--t-label);gap:var(--s3)}
  .footer a{gap:var(--s2)}
  .dialog-bottom .micro,.dialog-actions>a,.dialog-step{font-size:var(--t-label)}
  .dialog-close>span{width:44px;height:44px}
  .player-status{font-size:13px}
  .intro-sub{font-size:var(--t-label);letter-spacing:.14em;margin-top:var(--s4)}
  .intro-enter{font-size:var(--t-label);letter-spacing:.16em}
  .fp-credits{grid-template-columns:1fr 1fr;gap:var(--s4) var(--s5)}
}

/* titres des films : marque sur une ligne, projet sur la suivante, avec un vrai interligne */
.film-title{line-height:1.02}
.film-brand,.film-project{display:block;width:fit-content}
.film-project{margin-top:.08em}
@media(max-width:760px){.film-title{line-height:1.04}.film-project{margin-top:.1em}}
