:root{--papier:#F0E4D4;--encre:#000;--douce:#303030;--filet:#DCD0C0;--m:24px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto}
body{background:var(--papier);color:var(--encre);font-family:"Baskervville",serif;font-size:17px;line-height:1.45;padding-bottom:42px}
a{color:inherit;text-decoration:none;transition:opacity .4s}a:hover{opacity:.6}
img,video{display:block;max-width:100%}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;z-index:50;background:var(--papier);padding:8px}
:focus-visible{outline:1px solid var(--encre);outline-offset:3px}
.ui{font-family:"GFS Didot",serif;font-size:13px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.cr{font-family:"GFS Didot",serif;font-size:12px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.lg{font-family:"Baskervville",serif;font-style:italic;font-size:15px;line-height:1.3;letter-spacing:.02em}
.ts{font-family:"GFS Didot",serif;font-weight:400;font-size:44px;line-height:1;letter-spacing:.04em;text-transform:uppercase}
.tp{font-family:"GFS Didot",serif;font-weight:400;font-size:72px;line-height:.95;letter-spacing:.02em;text-transform:uppercase}
.tx p{text-indent:48px;max-width:40ch}
.hd{position:sticky;top:0;z-index:10;background:var(--papier);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px var(--m)}
.hd nav{display:flex;flex-direction:column;gap:3px}.hd nav.r{align-items:flex-end}
.hd .logo img{height:56px;width:auto}
.hd a[aria-current]{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:.5px}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:12;background:var(--papier);border-top:.5px solid var(--filet);display:flex;justify-content:space-between;align-items:center;padding:11px var(--m)}
.bar .mb{display:none}
.menu{position:fixed;inset:0;z-index:30;background:var(--papier);display:none;flex-direction:column;justify-content:center;align-items:center;gap:22px}
.menu.on{display:flex}.menu a{font-family:"GFS Didot",serif;font-size:28px;letter-spacing:.04em;text-transform:uppercase}
.menu button{position:absolute;bottom:14px;left:16px;background:none;border:0;font:inherit;cursor:pointer;min-height:44px}
.menu .ui a{font-size:inherit;letter-spacing:inherit}
.hero{height:82vh;min-height:420px;overflow:hidden}.hero img,.hero video{width:100%;height:100%;object-fit:cover}
.cap{display:grid;grid-template-columns:1fr auto 1fr;padding:10px var(--m);align-items:baseline}.cap .r{text-align:right}
.motto{text-align:center;padding:96px var(--m)}
.strip{display:flex;gap:var(--m);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--m);padding:0 var(--m) var(--m)}
.card{flex:0 0 min(78vw,1000px);scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--m);align-items:start}
.card h2{margin:6px 0 4px}.card p{text-indent:48px;margin-top:18px;max-width:34ch}.card .more{display:inline-block;margin-top:12px}
.card img{width:100%;aspect-ratio:4/5;object-fit:cover}
.sec{display:flex;justify-content:space-between;align-items:baseline;padding:96px var(--m) 16px}
.press{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--m);padding:0 var(--m)}
.press img{width:100%;aspect-ratio:595/842;object-fit:cover}.press .ui{display:block;margin-top:8px}
.ph{padding:48px var(--m) 24px;display:flex;justify-content:space-between;align-items:baseline;gap:var(--m)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px var(--m);padding:0 var(--m) 48px}
.grid img{width:100%;aspect-ratio:4/5;object-fit:cover}.grid .ui{display:block;margin-top:10px}
.grid .off{cursor:default}.grid .off:hover{opacity:1}
.press-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.press-grid img{aspect-ratio:595/842}
.pt{display:grid;grid-template-columns:1fr auto;align-items:end;gap:var(--m);padding:24px var(--m) 0}
.pt .meta{text-align:right;display:flex;flex-direction:column;gap:6px}
.ptx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--m);padding:48px var(--m)}
.ptx .tx{margin-left:16%}.ptx>img{width:72%;aspect-ratio:3/4;object-fit:cover;justify-self:end}
.g-full img{width:100%;height:88vh;object-fit:cover}
.g-large{display:flex;justify-content:center;padding:48px var(--m)}.g-large img{width:46%;aspect-ratio:4/5;object-fit:cover}
.g-video{display:flex;justify-content:center;padding:48px var(--m)}.g-video video{width:32%;aspect-ratio:9/16;object-fit:cover}
.g-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--m);padding:48px var(--m)}.g-pair img{width:100%;aspect-ratio:4/5;object-fit:cover}
.back{display:flex;justify-content:center;padding:48px var(--m) 24px}
.chap{position:relative;height:220vh}
.chap .stk{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:96px;overflow:hidden}
.chap .lab{display:grid;grid-template-columns:1fr auto 1fr;width:100%;padding:0 var(--m) 12px;align-items:baseline}.chap .lab .r{text-align:right}
.chap .frame{display:block;width:46%;height:46vh;overflow:hidden}.chap .frame img{width:100%;height:100%;object-fit:cover}
.chap .prog{width:46%;height:1px;background:var(--filet);margin-top:14px}.chap .prog i{display:block;height:1px;width:0;background:var(--encre)}
.fade{position:fixed;inset:0;background:var(--papier);opacity:0;pointer-events:none;transition:opacity .4s;z-index:40}.fade.on{opacity:1}
.ab{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--m);padding:0 var(--m) 48px;align-items:start}
.ab img{width:100%;aspect-ratio:4/5;object-fit:cover}.ab .tx{padding-top:8px}
.refs{padding:48px var(--m);border-top:.5px solid var(--filet);margin:0 var(--m)}
.fiche{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--m);padding:0 var(--m) 48px;align-items:start}
.fiche .imgs{display:grid;gap:var(--m)}.fiche .imgs img{width:100%;aspect-ratio:4/5;object-fit:cover}
.fiche .info{position:sticky;top:110px;display:flex;flex-direction:column;gap:12px}
.scans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--m);padding:0 var(--m) 48px}.scans img{width:100%;aspect-ratio:595/842;object-fit:cover;border:.5px solid var(--filet)}
.ct{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--m);padding:0 var(--m) 48px}
.ct dl{display:grid;gap:14px}.ct dt{margin-bottom:2px}
form{display:grid;gap:20px;max-width:560px}label{display:grid;gap:6px}
input,textarea{font:17px "Baskervville",serif;background:transparent;border:0;border-bottom:.5px solid var(--encre);padding:8px 0;color:var(--encre)}
textarea{min-height:140px;resize:vertical}
button.send{justify-self:start;background:none;border:.5px solid var(--encre);padding:12px 22px;cursor:pointer;min-height:44px}
.foot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--m);padding:96px var(--m) 32px;border-top:.5px solid var(--filet);margin-top:48px}
.foot div{display:flex;flex-direction:column;gap:6px}
@media (prefers-reduced-motion:reduce){.chap{height:auto}.chap .stk{position:static;height:auto;padding:48px 0}.chap .frame{width:calc(100% - 48px)!important;height:60vh!important}.chap .prog{display:none}a{transition:none}}
@media (max-width:767px){
:root{--m:16px}body{font-size:16px}
.ts{font-size:28px}.tp{font-size:40px}.lg{font-size:14px}
.hd{grid-template-columns:1fr;justify-items:center;padding:10px var(--m)}.hd nav{display:none}.hd .logo img{height:40px}
.bar .dk{display:none}.bar .mb{display:inline-flex;align-items:center;min-height:44px}.bar button.mb{background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.hero{height:70vh}.motto{padding:56px var(--m)}
.card{flex:0 0 84vw;grid-template-columns:1fr}.card .t{order:2}
.press{grid-template-columns:repeat(2,minmax(0,1fr))}.sec{padding-top:56px}
.grid,.press-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px var(--m)}
.ph{flex-direction:column;gap:6px;padding-top:32px}
.pt{grid-template-columns:1fr}.pt .meta{text-align:left}
.ptx{grid-template-columns:1fr;padding:24px var(--m)}.ptx .tx{margin-left:0}.ptx>img{width:100%}
.g-full img{height:60vh}.g-large,.g-video{padding:24px var(--m)}.g-large img{width:100%}.g-video video{width:70%}
.g-pair{grid-template-columns:1fr;padding:24px var(--m)}
.chap .stk{padding-top:72px}
.ab,.fiche,.ct{grid-template-columns:1fr}.fiche .info{position:static}
.scans{grid-template-columns:repeat(2,minmax(0,1fr))}
.foot{grid-template-columns:1fr 1fr;padding-top:56px}
}
.hd{position:fixed;left:0;right:0;top:0;transition:transform .6s ease}
.hd.hide,.js .imm .hd.idle{transform:translateY(-100%)}
.bar{transition:transform .6s ease}.bar.hide,.js .imm .bar.idle{transform:translateY(100%)}
main{padding-top:84px}main>.hero:first-child{margin-top:-84px}
.hero{height:100vh;min-height:0}
.hero img{animation:dz 9s ease-out both}@keyframes dz{from{transform:scale(1.06)}to{transform:scale(1)}}
.js main img:not(.in){opacity:0}main img{transition:opacity .9s ease}
.cap{padding:12px var(--m) 14px}
.motto{padding:22vh var(--m)}
.shot{display:block}.shot img{width:100%;height:100vh;object-fit:cover}
.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 0 48px}
.grid>a,.grid>div{padding-bottom:22px}.grid .ui,.grid .lg{padding:0 var(--m)}.grid img{aspect-ratio:4/5}
.press-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--m);padding:0 var(--m) 48px}
.pt{padding:26px var(--m) 0}
.ptxt{display:flex;justify-content:center;padding:20vh var(--m)}
.g-full img{height:100vh}
.g-pair{gap:0;padding:0}.g-pair img{height:100vh;aspect-ratio:auto}
.g-tall{display:flex;justify-content:center}.g-tall img,.g-tall video{height:100vh;width:auto;max-width:100%;object-fit:cover}
.back{padding:20vh var(--m) 24px}
@media (prefers-reduced-motion:reduce){.hero img{animation:none}.js main img:not(.in){opacity:1}}
@media (max-width:767px){main{padding-top:62px}main>.hero:first-child{margin-top:-62px}.hero{height:100vh}.shot img{height:88vh}.grid{grid-template-columns:1fr 1fr}.g-pair{grid-template-columns:1fr}.g-pair img{height:88vh}.g-tall img,.g-tall video{height:auto;width:100%}.g-full img{height:88vh}.ptxt{padding:12vh var(--m)}}
.hd .hm{display:none}
.hd{transition:transform .6s ease,background-color .5s ease,color .5s ease}
.hd .logo{transition:opacity .5s ease,visibility .5s}.hd .logo img{transition:filter .5s ease,height .5s ease}
.js .hd.ov{background:transparent;color:#fff}
.js .hd.ov{text-shadow:0 0 14px rgba(0,0,0,.35)}
.js .hd.ov::before{content:"";position:absolute;left:0;right:0;top:0;height:220%;background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.12) 55%,rgba(0,0,0,0));z-index:-1;pointer-events:none}
.js .hd.ov .logo img{filter:brightness(0) invert(1)}
.hd button.hm{background:none;border:0;color:inherit;cursor:pointer;padding:0;min-height:44px}
@media (max-width:767px){.js .hd.ov .logo img{height:32px}.js .hd.ov{grid-template-columns:1fr auto 1fr}.js .hd.ov .hm{display:inline-flex;align-items:center}.js .hd.ov .hm.r{justify-self:end}.hd .hm a{color:inherit}}
[hidden]{display:none!important}html:not(.js) .jsonly{display:none!important}
.js main img:not(.in){opacity:1}main img{transition:none}
.imm main{padding-top:0!important}.imm main>.hero:first-child{margin-top:0!important}
.seq .fin{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;padding:18vh var(--m)}.seq .fin a{padding:4px 0}
.bar-r{display:flex;gap:26px;align-items:center}.bar .rmt{background:none;border:0;color:inherit;cursor:pointer;padding:4px 0}
.carton{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px;padding:40px var(--m) 14vh;align-items:start}
.carton .cl{display:grid;gap:34px;align-content:start}.carton .fi{padding-top:0}.carton .tx p{max-width:44ch}
.carton .cv{position:sticky;top:110px}.carton .cv img{width:100%;height:calc(100vh - 150px);object-fit:cover}
.menu .mx{display:flex;gap:22px;align-items:center;margin-top:10px}.menu .mx a{font-family:"GFS Didot",serif;font-size:13px;letter-spacing:.12em}.menu .mx button{position:static;font-family:"GFS Didot",serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;background:none;border:0;color:inherit;cursor:pointer;min-height:44px}
.back{gap:40px}
@media (max-width:767px){.seq .fin{padding:12vh var(--m)}.carton{grid-template-columns:1fr;padding-top:16px}.carton .cv{position:static;order:-1}.carton .cv img{height:auto;aspect-ratio:4/5}.carton .cl{gap:26px}.bar-r .det{min-height:44px;display:inline-flex;align-items:center}}
a:has(img):hover,.shot:hover,.frame:hover,.grid a:hover,.press a:hover,.logo:hover{opacity:1}
.grid a:hover .ui,.press a:hover .ui,.grid a:focus-visible .ui{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.5px}
.shot{overflow:hidden}.shot img,.chap .frame img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.shot:hover img,.chap .frame:hover img{transform:scale(1.025)}
@media (prefers-reduced-motion:reduce){.shot img,.chap .frame img{transition:none}.shot:hover img,.chap .frame:hover img{transform:none}}html.rm .shot img,html.rm .chap .frame img{transition:none}html.rm .shot:hover img,html.rm .chap .frame:hover img{transform:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html{scroll-padding-top:112px;scroll-padding-bottom:64px}body{padding-bottom:50px}
.hd nav{gap:0}.hd nav>a,.hd nav>span{display:block;line-height:16px;padding:4px 0}
.bar a,.foot a,.foot button.ui{display:inline-block;padding:4px 0}
.foot button.ui{background:none;border:0;color:inherit;cursor:pointer;text-align:left}
main{padding-top:100px}main>.hero:first-child{margin-top:-100px}
.hero{position:relative;height:100vh;height:100svh}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.42));pointer-events:none}
.hl{position:absolute;left:0;right:0;bottom:0;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:var(--m);padding:0 var(--m) 22px;color:#fff;text-shadow:0 0 14px rgba(0,0,0,.35)}
.hl .r{text-align:right}.hl a{color:#fff;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.5px}
.hero img{animation-duration:4.5s}.xp-in .hero img{animation:none}
.xp{position:fixed;z-index:45;object-fit:cover;pointer-events:none;max-width:none}
@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s}
.pt{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;padding-top:32px}
.fi{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px 28px;align-content:start;padding-top:12px}.fi div{display:contents}
.fi dt{padding-top:3px}.fi dd{font-style:italic;font-size:15px;line-height:1.3;letter-spacing:.02em;font-variant-numeric:lining-nums}
.chap .stk{padding-top:110px}.chap .go{display:block;margin-top:16px}
.sub{display:flex;justify-content:space-between;align-items:baseline;gap:var(--m);padding:72px var(--m) 18px}
.grid.feat{grid-template-columns:repeat(3,minmax(0,1fr))}.grid .go{display:block;margin-top:6px;padding:0 var(--m)}
.tools{display:flex;justify-content:space-between;align-items:baseline;gap:12px 32px;flex-wrap:wrap;padding:0 var(--m) 14px}
.fl,.vw{display:flex;flex-wrap:wrap;gap:0 22px;align-items:baseline}
.fl button,.vw button{background:none;border:0;color:inherit;cursor:pointer;padding:8px 0;min-height:32px;font:inherit;letter-spacing:inherit;text-transform:inherit}
.fl button[aria-pressed=true],.vw button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.5px}
.fl sup{font-size:10px;margin-left:3px}
.lst{list-style:none;border-top:.5px solid var(--filet);margin:0 var(--m) 48px}.lst li{border-bottom:.5px solid var(--filet)}
.lst .row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,3fr) minmax(0,2fr) minmax(0,2fr);gap:var(--m);align-items:baseline;padding:13px 0;min-height:48px}
.lst .tc{display:contents}.lst .n{font-family:"GFS Didot",serif;font-size:19px;letter-spacing:.06em;text-transform:uppercase}.lst .go{text-align:right}
.lst a.row:hover{opacity:1}.lst a.row:hover .n,.lst a.row:focus-visible .n{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.5px}
.lst span.row{color:var(--douce);cursor:default}
.pv{position:fixed;left:0;top:0;width:min(20vw,300px);aspect-ratio:4/5;z-index:5;pointer-events:none;opacity:0;transition:opacity .3s}.pv.on{opacity:1}.pv img{width:100%;height:100%;object-fit:cover}
@media (hover:none),(max-width:1024px){.pv{display:none}}
.gen{padding:18vh var(--m) 12vh;text-align:center}.gen h2{margin-bottom:44px}
.gen ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:18px 40px;max-width:1200px;margin:0 auto}
.gen li{display:flex;flex-direction:column;align-items:center;gap:3px}.gen a{display:flex;flex-direction:column;align-items:center;gap:3px}
.gen .n{font-family:"GFS Didot",serif;font-size:24px;line-height:1.1;letter-spacing:.07em;text-transform:uppercase}
.gen a .n{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:.5px}.gen .all{display:inline-block;margin-top:56px;padding:4px 0}
.vf{position:relative;display:inline-block;max-width:100%}
.vb{position:absolute;right:16px;bottom:16px;background:none;border:0;color:#fff;cursor:pointer;min-height:44px;padding:0 4px;text-shadow:0 0 12px rgba(0,0,0,.5)}
select{font:17px "Baskervville",serif;background:transparent;border:0;border-bottom:.5px solid var(--encre);padding:8px 0;color:var(--encre);border-radius:0}
.ct dd.grp{display:grid;gap:4px}.ok p{font-size:22px;font-style:italic}.ok small{display:block;font-size:14px;margin-top:10px}
.nf{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:96px var(--m)}
.nf .ui{display:flex;gap:28px;flex-wrap:wrap;justify-content:center}.nf .ui a{padding:4px 0}
.leg{padding:0 var(--m) 48px;display:grid;gap:34px;max-width:760px}.leg h2{margin-bottom:8px}
html.rm .chap{height:auto}html.rm .chap .stk{position:static;height:auto;padding:48px 0}html.rm .chap .frame{width:calc(100% - 48px)!important;height:60vh!important}html.rm .chap .prog{display:none}
html.rm a{transition:none}html.rm .hero img{animation:none}html.rm.js main img:not(.in){opacity:1}html.rm .hd,html.rm .bar,html.rm .pv{transition:none}
@media (prefers-reduced-motion:reduce){.hd,.bar,.pv{transition:none}}
@media (max-width:767px){
html{scroll-padding-top:72px;scroll-padding-bottom:80px}body{padding-bottom:70px}
main{padding-top:62px}main>.hero:first-child{margin-top:-62px}.hero{height:100vh;height:100svh}
.hl{grid-template-columns:1fr;justify-items:center;text-align:center;gap:3px;padding-bottom:20px}.hl .l{order:2}.hl .r{display:none}
.pt{grid-template-columns:1fr;gap:18px}.grid.feat{grid-template-columns:1fr}
.lst .row{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}.lst .tc{display:block;grid-column:1}.lst .c::before{content:" · "}.lst .go{grid-row:1;grid-column:2}.lst .n{font-size:16px}
.gen{padding:12vh var(--m) 8vh}.gen .n{font-size:17px}.gen ul{gap:12px 22px}
.vf{display:block;width:100%}.vb{right:12px;bottom:12px}.chap .stk{padding-top:80px}
}
:root{--ease:cubic-bezier(.65,0,.35,1)}
.hd{background:transparent!important;mix-blend-mode:difference;color:#fff}.hd a{color:#fff}.hd .logo{display:block}.hd .logo img{filter:brightness(0) invert(1)}
.hd.hide,.hd.idle,.js .imm .hd.idle{transform:none!important}.js .hd.ov::before{display:none}.js .hd.ov{text-shadow:none}.hd .hm{display:none!important}
.bar.hide,.bar.idle,.js .imm .bar.idle{transform:none!important}
.home .hd .logo{transform-origin:50% 0;transform:scale(var(--ls,1))}
@view-transition{navigation:none}
.cur{position:fixed;inset:0;z-index:60;background:var(--papier);display:flex;align-items:center;justify-content:center;transform:translateY(100%);pointer-events:none;visibility:hidden}.cur img{height:56px;width:auto}
.cur.in{visibility:visible;transform:translateY(0);transition:transform .5s var(--ease)}.cur-on .cur{visibility:visible;transform:translateY(0)}.cur-on .cur.out{transform:translateY(-100%);transition:transform .7s var(--ease)}
.js .rv{clip-path:inset(0 0 100% 0);transform:translateY(.3em);transition:clip-path 1s var(--ease),transform 1s var(--ease)}.js .rv.on{clip-path:inset(-10% -5% -15% -5%);transform:none}
.ouv{position:relative;height:170vh}.motto{padding:14vh var(--m) 12vh}
.ouv-s{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.ouv-f{position:relative;width:100%;height:100%;overflow:hidden;flex:none}.ouv-f .ss{position:absolute;inset:0}
.ss{position:relative;display:block;overflow:hidden}.ss img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:0;transition:opacity 1.4s ease}.ss img.on{opacity:1;z-index:2}.ss img.prev{opacity:1;z-index:1;transition:none}
.ss img.on.kb{animation:kb 7s ease-out both}@keyframes kb{from{transform:scale(1.07)}to{transform:scale(1)}}
.ouv-c{opacity:0;padding:12px 0 0;flex:none}.ouv-c a{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.5px}
.ouv-p{position:absolute;right:16px;bottom:58px;z-index:3}
.trk{position:relative;padding:4vh 0 0}.trk-r{display:flex;flex-direction:column;gap:14vh;padding:0 var(--m)}
.trk.on{padding:0}.trk.on .trk-s{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:flex-start}.trk.on .trk-r{flex-direction:row;gap:28px;will-change:transform;padding:120px var(--m) 0}.trk.on .pan-m{height:calc(100vh - 360px);height:calc(100svh - 360px);min-height:220px;max-height:620px}
.pan{display:flex;flex-direction:column;gap:14px}.trk.on .pan{flex:0 0 min(76vw,1160px)}
.pan-h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 48px;align-items:start}
.pan-t{font-family:"GFS Didot",serif;font-weight:400;text-transform:uppercase;font-size:clamp(34px,4vw,62px);line-height:.98;letter-spacing:.02em}
.pan-x{display:flex;gap:18px;align-items:flex-start}.pan-x p{font-size:16px;max-width:46ch}.tx1{text-indent:48px}
.pan-p{font-family:"GFS Didot",serif;font-size:34px;line-height:1;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.pan-m{height:min(54vh,600px)}.trk:not(.on) .pan-m{height:70vh}.pan .cap{padding:0}.pan-m:hover{opacity:1}
.see{display:flex;justify-content:center;padding:12vh var(--m) 14vh}.see a{font-size:clamp(40px,5.4vw,84px)}
.zig{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;padding:0 var(--m) 6vh}
.zi{display:flex;flex-direction:column;gap:14px;margin-bottom:12vh}.zi.z0{grid-column:1 / span 6}.zi.z1{grid-column:7 / span 6;margin-top:20vh}.zi:hover{opacity:1}
.zt{font-family:"GFS Didot",serif;font-weight:400;text-transform:uppercase;font-size:clamp(32px,3.4vw,54px);line-height:.98;letter-spacing:.02em}
.zi img{width:100%;aspect-ratio:4/3;object-fit:cover}.zi .zc{display:flex;justify-content:space-between;align-items:baseline}.zi:hover .zt{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:.5px}
.carton .tp{font-size:clamp(48px,6vw,96px);line-height:.95}
.mos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 7vw 12vh}
.m-w{grid-column:1 / -1}.m-w img{width:100%;aspect-ratio:3/2;object-fit:cover}
.m-2{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:24px}.m-2 img{width:100%;aspect-ratio:4/5;object-fit:cover}
.m-t.l{grid-column:1}.m-t.r{grid-column:2}.m-t img,.m-t video{width:100%;aspect-ratio:4/5;object-fit:cover;height:auto}.m-t .vf{display:block;width:100%}
.g-full.scope img{height:auto;aspect-ratio:2.39/1}
@media (max-width:767px){.pan-h{grid-template-columns:1fr}.zig{grid-template-columns:1fr}.zi.z0,.zi.z1{grid-column:1;margin-top:0}.mos{grid-template-columns:1fr;padding:0 var(--m) 10vh}.m-t.l,.m-t.r{grid-column:1}.m-2{grid-template-columns:1fr}.see a{font-size:34px}.ouv{height:170vh}.ouv-p{bottom:82px}}
@media (prefers-reduced-motion:reduce){.ss img{transition:none}.ss img.on.kb{animation:none}.js .rv{clip-path:none;transform:none}.ouv{height:auto}.cur{display:none}}
html.rm .ss img{transition:none}html.rm .ss img.on.kb{animation:none}html.rm.js .rv{clip-path:none;transform:none}html.rm .ouv{height:auto}html.rm .cur{display:none}

/* ===================== v6 · 23/10/2026 ===================== */

/* --- Bandeaux adaptatifs : sans fond, encre noire ou blanche, s'effacent au-dessus du texte --- */
.hd{background:transparent!important;mix-blend-mode:normal;color:#000;box-shadow:none;transition:background-color .25s ease,box-shadow .25s ease}
.hd a,.bar a{color:inherit}
.hd .logo{display:block}
.hd .logo img{filter:none;transition:filter .2s ease}
.hd .logo.ink-w img{filter:brightness(0) invert(1)}
.js .imm .hd .logo:not(.ink-b):not(.ink-w) img{filter:brightness(0) invert(1)}
.js .imm .hd>*:not(.ink-b):not(.ink-w){color:#fff}
.hd.solid{background:var(--papier)!important;box-shadow:0 .5px 0 var(--filet)}
.hd.solid .logo img{filter:none}
.bar{background:transparent;border-top:0;box-shadow:none;transition:background-color .25s ease,box-shadow .25s ease}
.bar.solid{background:var(--papier);box-shadow:0 -.5px 0 var(--filet)}
.hd>*,.bar>*{transition:opacity .25s cubic-bezier(.05,.7,.1,1),translate .25s cubic-bezier(.05,.7,.1,1),color .2s ease,background-color .2s ease}
.hd>.yield,.bar>.yield{opacity:0;pointer-events:none;transition:opacity .15s cubic-bezier(.3,0,.8,.15),translate .15s cubic-bezier(.3,0,.8,.15),color .2s ease}
.hd>.yield{translate:0 -6px}
.bar>.yield{translate:0 6px}
.ink-b{color:#000}
.ink-w{color:#fff}
.ink-w:focus-visible,.ink-w :focus-visible{outline-color:#fff}
.hd.solid>*,.bar.solid>*{color:#000}
.hd.solid :focus-visible,.bar.solid :focus-visible{outline-color:#000}
.bar .mb.solo{background:var(--papier);color:#000;box-shadow:0 0 0 .5px var(--filet);padding:0 12px;margin-left:-12px}
.hd-scrim{position:fixed;left:0;right:0;top:0;height:180px;z-index:9;pointer-events:none;opacity:0;transition:opacity .25s ease;background:linear-gradient(rgba(0,0,0,.34),rgba(0,0,0,.14) 55%,rgba(0,0,0,0))}
.hd-scrim.on{opacity:1}
html.rm .hd,html.rm .bar,html.rm .hd>*,html.rm .bar>*,html.rm .hd-scrim{transition:none}
html.rm .hd>.yield,html.rm .bar>.yield{translate:none}
@media (prefers-reduced-motion:reduce){.hd,.bar,.hd>*,.bar>*,.hd-scrim{transition:none}.hd>.yield,.bar>.yield{translate:none}}

/* --- Logo : fichier à la bonne taille ; agrandi à l'arrivée sur l'accueil, en CSS --- */
.hd .logo img{height:56px;width:auto}
.home .hd .logo{transform-origin:50% 0;transform:none;--L:max(1,min(3.2,tan(atan2(min(42vw,100vw - 360px),300px))))}
@supports (animation-timeline:scroll()){
html.js:not(.rm) .home .hd .logo{animation:dd-logo linear both;animation-timeline:scroll(root);animation-range:0 55vh}
}
@keyframes dd-logo{from{transform:scale(var(--L))}to{transform:scale(1)}}

/* --- Ouverture de l'accueil : rétrécissement lié au défilement, en CSS --- */
.ouv{height:180vh}
.ouv-f{position:absolute;inset:0;width:auto;height:auto;transform-origin:50% 50%}
.ouv-c{position:absolute;left:11%;right:11%;top:calc(85% + 10px);padding:0}
html:not(.js) .ouv-c{opacity:1}
.ouv-c:focus-within{opacity:1!important;animation:none!important}
@supports (animation-timeline:scroll()){
html.js:not(.rm) .ouv-f{animation:dd-ouv ease-in-out both;animation-timeline:scroll(root);animation-range:0 80vh}
html.js:not(.rm) .ouv-c{animation:dd-cap linear both;animation-timeline:scroll(root);animation-range:0 80vh}
}
@keyframes dd-ouv{to{transform:scale(.78);clip-path:inset(5.13% 0)}}
@keyframes dd-ouv-m{to{transform:scale(.92);clip-path:inset(11.96% 0)}}
@keyframes dd-cap{0%,52%{opacity:0}to{opacity:1}}
html.rm .ouv{height:auto}
html.rm .ouv-s{position:relative;height:auto;overflow:visible;display:block}
html.rm .ouv-f{position:relative;height:100vh;height:100svh}
html.rm .ouv-c{position:static;opacity:1;padding:12px var(--m) 0}
@media (prefers-reduced-motion:reduce){
.ouv{height:auto}
.ouv-s{position:relative;height:auto;overflow:visible;display:block}
.ouv-f{position:relative;height:100vh;height:100svh}
.ouv-c{position:static;opacity:1;padding:12px var(--m) 0}
.home .hd .logo{animation:none!important}
}

/* --- Ligne métier et phrase signature --- */
.sig{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;padding:96px var(--m)}
.sig-k{font-family:"GFS Didot",serif;font-weight:400;font-size:13px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--douce);text-wrap:balance}
.sig .motto{padding:0}
.ouv-p{bottom:72px}

/* --- Bande horizontale : épinglée par GSAP sur ordinateur, rangée à faire glisser ailleurs --- */
.trk.on .trk-s{position:relative;height:100vh;height:100svh;overflow:hidden}
.pan-x{flex-direction:column;align-items:flex-start;gap:6px}
.pan-p{font-size:13px;min-width:0;min-height:44px;gap:10px;justify-content:flex-start;white-space:nowrap}
.pan-p .pl{font-size:26px;line-height:1}
.pan-p:hover .ui{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.5px}
@media (prefers-reduced-motion:no-preference){
html:not(.rm) .trk:not(.on) .trk-r{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--m);gap:16px;padding:0 var(--m) 6px;scrollbar-width:none;overscroll-behavior-x:contain}
html:not(.rm) .trk:not(.on) .trk-r::-webkit-scrollbar{display:none}
html:not(.rm) .trk:not(.on) .pan{flex:0 0 min(86vw,760px);scroll-snap-align:start}
html:not(.rm) .trk:not(.on) .pan-m{height:min(62vh,560px)}
}

/* --- Transitions entre les pages : la page suivante monte comme un rideau, sans attente --- */
@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
::view-transition-old(root){animation:none}
::view-transition-new(root){animation:dd-wipe .42s cubic-bezier(.65,0,.35,1) both}
@keyframes dd-wipe{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
.hd{view-transition-name:dd-hd}
.bar{view-transition-name:dd-bar}
::view-transition-group(dd-hero){animation-duration:.55s;animation-timing-function:cubic-bezier(.65,0,.35,1)}
.cur{display:none!important}

/* --- Défilement adouci (Lenis), en option --- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.foot button.lns,.menu .mx button.lns{background:none;border:0;color:inherit;cursor:pointer;text-align:left}
.foot button.lns{display:inline-block;padding:4px 0}
@media (pointer:coarse){.lns{display:none!important}}

@media (max-width:1024px){.sig{padding:64px var(--m)}}
@media (max-width:767px){
.hd .logo img{height:40px}
.home .hd .logo{--L:max(1,min(3.2,tan(atan2(78vw,214px))))}
.ouv-c{left:4%;right:4%}
.sig{padding:48px var(--m);gap:16px}
.sig .motto{font-size:clamp(22px,7.2vw,28px)}
}
@supports (animation-timeline:scroll()){
@media (max-width:767px){html.js:not(.rm) .ouv-f{animation-name:dd-ouv-m}}
}
.hd>.logo{transition:opacity .25s cubic-bezier(.05,.7,.1,1),translate .25s cubic-bezier(.05,.7,.1,1)}
.hd>.logo.yield{transition:opacity .15s cubic-bezier(.3,0,.8,.15),translate .15s cubic-bezier(.3,0,.8,.15)}
html.rm .hd>.logo{transition:none}
body{overflow-x:clip}
@media (max-width:767px){.sig-k .k1{display:block}.sig-k .ks{display:none}}

/* --- Pages projet : pas de plein écran ; carton d'ouverture en crème léger --- */
:root{--creme-leger:#F6EFE5}
.crt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;min-height:56vh;min-height:56svh;margin:12px 7vw 0;padding:56px var(--m);background:var(--creme-leger);box-shadow:inset 0 0 0 .5px var(--filet)}
.seq+.seq .crt{margin-top:14vh}
.crt-n{letter-spacing:.2em}
.crt-t{font-family:"GFS Didot",serif;font-weight:400;text-transform:uppercase;font-size:clamp(44px,7.5vw,112px);line-height:.95;letter-spacing:.02em;margin:8px 0 6px}
.crt-d{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:.5px}
.op{display:block;margin:24px 7vw 0}
.op img{width:100%;height:min(72vh,900px);height:min(72svh,900px);object-fit:cover}
.film .mos{padding:24px 7vw 0}
.m-w.scope img{aspect-ratio:2.39/1}
.pause-pt{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;margin:14vh 7vw 0;padding:16vh var(--m);background:var(--creme-leger);box-shadow:inset 0 0 0 .5px var(--filet)}
.pause-pt .pp-t{font-family:"GFS Didot",serif;font-weight:400;text-transform:uppercase;font-size:clamp(28px,3.4vw,44px);letter-spacing:.04em}
.pause-pt .pp-a{display:flex;gap:28px;flex-wrap:wrap;justify-content:center}
.pause-pt button,.pause-pt a{background:none;border:0;color:inherit;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:.5px}
.film .foot{margin-top:14vh}
.bar .mbn{display:none}
html.rm .chap .frame{width:86%!important;height:60vh!important}
@media (prefers-reduced-motion:reduce){.chap .frame{width:86%!important}}
@media (max-width:767px){
.crt{margin:8px var(--m) 0;min-height:50vh;min-height:50svh;padding:40px var(--m)}
.seq+.seq .crt{margin-top:10vh}
.op{margin:16px var(--m) 0}
.op img{height:auto;aspect-ratio:4/5}
.film .mos{padding:16px var(--m) 0}
.pause-pt{margin:10vh var(--m) 0;padding:12vh var(--m)}
.film .bar span.mb:not(.mbn){display:none}
.film .bar .mbn{display:inline-flex;align-items:center;min-height:44px;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* Groupe forcé au-dessus du texte (focus clavier) : petit fond crème sous ce seul groupe, sans bandeau */
.hd>.solo,.bar>.solo:not(.mb){background:var(--papier);color:#000;box-shadow:0 0 0 8px var(--papier),0 0 0 8.5px var(--filet)}
.hd>.solo.logo img{filter:none}

/* ===================== v7 · 26/10/2026 : fond crème, contenu complet ===================== */
html{background:var(--papier)}
.press figure>a{display:block}
.grid a .go,.press-grid a .go{white-space:nowrap}
/* v7 · 26/10 : une verticale seule est centrée ; une vidéo verticale peut former une paire */
.m-t.c{grid-column:1 / -1;width:calc(50% - 12px);justify-self:center}
.m-2 .vf{display:block;width:100%;position:relative}
.m-2 video{width:100%;aspect-ratio:4/5;object-fit:cover;height:auto;display:block}
@media (max-width:767px){.m-t.c{width:100%}}
.bar-scrim{position:fixed;left:0;right:0;bottom:0;height:150px;z-index:11;pointer-events:none;opacity:0;transition:opacity .25s ease;background:linear-gradient(to top,rgba(0,0,0,.36),rgba(0,0,0,.14) 55%,rgba(0,0,0,0))}
.bar-scrim.on{opacity:1}
html.rm .bar-scrim{transition:none}

/* ===================== v7 · 26/10 : bandes horizontales ===================== */
/* Accueil : les 36 projets en cartes compactes (3 par écran sur ordinateur) */
.trk.cards .trk-r{gap:28px}
.card{display:flex;flex-direction:column;gap:6px;color:inherit;text-decoration:none}
.card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.card .card-n{margin-top:8px}
.card-all{justify-content:center;align-items:flex-start;gap:12px;background:var(--creme-leger);box-shadow:inset 0 0 0 .5px var(--filet);padding:32px}
.trk.cards.on .trk-r{padding-top:110px;align-items:flex-start}
.trk.cards.on .card{flex:0 0 calc((100vw - 48px - 56px) / 3.3)}
.trk.cards.on .card img{max-height:calc(100vh - 290px);max-height:calc(100svh - 290px)}
.trk.cards.on .card-all{height:calc(100vh - 290px);height:calc(100svh - 290px);max-height:calc((100vw - 104px) / 3.3 * 1.25)}
.trk-n{position:absolute;right:var(--m);bottom:58px;display:none}
.trk.on .trk-n{display:block}
html:not(.rm) .trk.cards:not(.on) .card{flex:0 0 min(64vw,340px);scroll-snap-align:start}
html:not(.rm) .trk.cards:not(.on) .card-all{min-height:min(80vw,425px)}
html.rm .trk.cards .trk-r,.trk.cards:not(.on) .trk-r{}
@media (prefers-reduced-motion:reduce){.trk.cards .trk-r{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}}
html.rm .trk.cards .trk-r{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;overflow:visible}

/* Pages projet : pellicule horizontale (carton, photos de même hauteur, carte « le projet en détail ») */
.reel{--rh:calc(100vh - 230px);--rh:calc(100svh - 230px)}
.reel .trk-r{gap:0}
.rs{display:flex;gap:24px;flex:0 0 auto;align-items:stretch;margin-right:14vw}
.rs .ri{margin:0;flex:0 0 auto;position:relative}
.rs .ri img,.rs .ri video{height:var(--rh);width:auto;max-width:none;display:block;object-fit:cover}
.rs .rv-v video{aspect-ratio:9/16}
.rc.crt{margin:0;min-height:0;height:var(--rh);flex:0 0 min(34vw,520px);padding:40px 32px}
.rc .crt-t{font-size:clamp(40px,5vw,84px)}
.rd{flex:0 0 min(20vw,300px);height:var(--rh);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;text-align:center;
  color:inherit;text-decoration:none;box-shadow:inset 0 0 0 .5px var(--filet);padding:24px}
.rd .rd-t{font-size:clamp(22px,2.2vw,34px);line-height:1.05}
.rd:hover .rd-t{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:.5px}
.rend{flex:0 0 min(60vw,760px);height:var(--rh);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;text-align:center;
  background:var(--creme-leger);box-shadow:inset 0 0 0 .5px var(--filet);margin-right:var(--m)}
.rend button,.rend a{background:none;border:0;color:inherit;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:.5px}
.rend .pp-a{display:flex;gap:28px;flex-wrap:wrap;justify-content:center}
.trk.reel.on .trk-r{padding:96px 0 0 var(--m);align-items:flex-start}
.trk.reel:not(.on){padding-top:12px}
html:not(.rm) .trk.reel:not(.on) .trk-r{gap:0;padding-bottom:12px}
html:not(.rm) .trk.reel:not(.on) .rs>*{scroll-snap-align:start}
.film .foot{margin-top:10vh}
@media (max-width:1024px){.reel{--rh:62vh;--rh:62svh}.rc.crt{flex-basis:min(78vw,420px)}.rd{flex-basis:min(48vw,260px)}.rend{flex-basis:84vw}}
/* Réduire les animations : pellicule empilée verticalement */
html.rm .trk.reel .trk-r{display:block}
html.rm .rs{display:flex;flex-direction:column;margin:0 var(--m) 12vh;gap:24px}
html.rm .rs .ri img,html.rm .rs .ri video{height:auto;width:100%;max-height:80vh;object-fit:contain}
html.rm .rc.crt,html.rm .rd,html.rm .rend{height:auto;flex:none;min-height:40vh}
@media (prefers-reduced-motion:reduce){.trk.reel .trk-r{display:block!important}.rs{flex-direction:column;margin:0 var(--m) 12vh}.rs .ri img,.rs .ri video{height:auto;width:100%;max-height:80vh;object-fit:contain}.rc.crt,.rd,.rend{height:auto;flex:none;min-height:40vh}}
/* Téléphone (réunion du 23/10 avec la cliente) : pas de défilement de côté ; bandes empilées verticalement */
@media (max-width:767px){
html:not(.rm) .trk.cards:not(.on) .trk-r,.trk.cards .trk-r{display:grid;grid-template-columns:1fr 1fr;gap:28px 14px;overflow:visible;padding:0 var(--m) 8px;scroll-snap-type:none}
html:not(.rm) .trk.cards:not(.on) .card{flex:none}
.trk.cards .card-all{grid-column:1 / -1;min-height:0!important;padding:28px}
.reel{--rh:auto}
html:not(.rm) .trk.reel:not(.on) .trk-r,.trk.reel .trk-r{display:block;overflow:visible;padding:0;scroll-snap-type:none}
.rs{flex-direction:column;margin:0 var(--m) 10vh;gap:14px}
.rs .ri img,.rs .ri video{height:auto;width:100%;max-height:none}
.rs .rv-v video{aspect-ratio:9/16;max-height:80svh;width:auto;margin:0 auto}
.rc.crt{height:auto;min-height:44svh;flex:none}
.rd{height:auto;flex:none;padding:32px 20px}
.rend{height:auto;flex:none;margin:0 var(--m);padding:12vh 20px}
}
/* v7 · 26/10 : page Atelier recentrée (image et texte dans un même bloc centré) */
.about main{display:flex;flex-direction:column;align-items:center}
.about .ph,.about .ab,.about .refs{width:100%;max-width:1180px;margin-left:auto;margin-right:auto}
.about .ph{padding:6vh var(--m) 3vh}
.about .ab{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center;padding:0 var(--m) 10vh}
.about .ab img{width:100%;height:auto;aspect-ratio:4/5;max-height:76vh;max-height:76svh;object-fit:cover;justify-self:end}
.about .ab .tx{max-width:44ch;padding-top:0}
.about .refs{margin-bottom:6vh}
@media (max-width:767px){.about .ab{grid-template-columns:1fr;gap:28px}.about .ab img{max-height:none}.about .ab .tx{max-width:none}}
.about .ph,.about .ab,.about .refs{max-width:calc(1060px + 2 * var(--m))}
.about .ab{grid-template-columns:minmax(0,560px) minmax(0,404px);justify-content:center;gap:96px}
.about .ab img{justify-self:stretch}
.about .ab .tx{max-width:none}
@media (max-width:1024px){.about .ab{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}}
@media (max-width:767px){.about .ab{grid-template-columns:1fr;gap:28px}}

/* ===================== v7 · 26/10 (après-midi) : plus de défilement horizontal ===================== */
/* Accueil : les 36 projets en grille en quinconce (grande / petite, en alternance) */
.qx{padding:6vh var(--m) 4vh;max-width:1440px;margin:0 auto}
.qx-h{margin:0 0 6vh}
.qr{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start;margin-bottom:12vh}
.qi{display:flex;flex-direction:column;gap:6px;color:inherit;text-decoration:none}
.qi img{width:100%;display:block;object-fit:cover}
.qi .qn{margin-top:10px}
.qb img{aspect-ratio:5/4}
.qs img{aspect-ratio:4/5}
.qr .qb{grid-column:1 / span 7}
.qr .qs{grid-column:9 / span 4;margin-top:18vh}
.qr2 .qs{grid-column:2 / span 4;margin-top:10vh;grid-row:1}
.qr2 .qb{grid-column:6 / span 7;grid-row:1}
.qi:hover .qn{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.5px}
@media (max-width:767px){
.qr{grid-template-columns:1fr;gap:9vh;margin-bottom:9vh}
.qr .qb,.qr .qs,.qr2 .qb,.qr2 .qs{grid-column:1;grid-row:auto;margin-top:0}
.qr .qs{width:72%;justify-self:end}
.qr2 .qs{justify-self:start}
}

/* Page projet : texte fixe à gauche, photos qui défilent à droite */
.pj{display:grid;grid-template-columns:minmax(300px,30%) minmax(0,1fr);gap:clamp(32px,5vw,80px);padding:28px var(--m) 10vh;align-items:start}
.pj-a{position:sticky;top:96px;align-self:start}
.pj-s{max-height:calc(100vh - 150px);max-height:calc(100svh - 150px);overflow-y:auto;scrollbar-width:thin;padding-right:6px}
.pj-m{display:block;margin-bottom:8px}
.pj-t{font-family:"GFS Didot",serif;font-weight:400;text-transform:uppercase;font-size:clamp(40px,4.4vw,72px);line-height:.95;letter-spacing:.02em;margin:0 0 28px}
.pj .fi{margin:0 0 28px}
.pj .tx{font-size:16px}
.pj-i{display:inline-flex;min-height:44px;align-items:center;margin-top:20px}
.pj-g .mos{padding:0;gap:24px}
.pj-more{margin-top:24px}
.pj-more summary{cursor:pointer;list-style:none;display:inline-flex;gap:10px;align-items:center;min-height:44px;padding:0 4px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:.5px}
.pj-more summary::-webkit-details-marker{display:none}
.pj-more[open] summary{margin-bottom:24px}
.proj .chap{margin-top:0}
@media (max-width:900px){
.pj{grid-template-columns:1fr;gap:32px}
.pj-a{position:static}
.pj-s{max-height:none;overflow:visible;padding:0}
}

/* v7 · 26/10 : petit carrousel « À la une » (7-8 projets), défilement libre : flèches, glisser, pavé tactile ; jamais lié à la molette */
.car{padding:4vh 0 10vh}
.car-h{display:flex;justify-content:space-between;align-items:center;padding:0 var(--m) 24px}
.car-c{display:flex;align-items:center;gap:6px}
.car-i{margin-right:14px}
.car-c button{background:none;border:0;color:inherit;font:inherit;font-size:20px;line-height:1;cursor:pointer;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.car-c button:disabled{opacity:.25;cursor:default}
.car-r{list-style:none;margin:0;padding:0 var(--m) 8px;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--m);scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth}
.car-r::-webkit-scrollbar{display:none}
.car-r:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.ci{flex:0 0 calc((100vw - 48px - 72px) / 3.4);scroll-snap-align:start}
.ci a{display:flex;flex-direction:column;gap:6px;color:inherit;text-decoration:none}
.ci img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.ci .ci-n{margin-top:10px}
.ci a:hover .ci-n{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.5px}
.car-r.drag{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing}
@media (max-width:1024px){.ci{flex-basis:44vw}}
@media (max-width:767px){.ci{flex-basis:76vw}.car-i{display:none}}
html.rm .car-r{scroll-behavior:auto}
/* Carrousel « À la une » : sur ordinateur, épinglé et lié à la molette (GSAP) ; ailleurs, défilement libre */
.car.trk{padding:4vh 0 10vh}
.car .trk-s{display:block}
.car.trk.on{padding:0}
.car.trk.on .trk-s{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:40px}
.car.trk.on .car-r{overflow:visible;width:max-content;scroll-snap-type:none;scroll-behavior:auto;flex-direction:row;gap:24px;padding:0 var(--m) 0;will-change:transform}
.car.trk.on .ci{flex:0 0 calc((100vw - 48px - 72px) / 3.4)}
.car.trk.on .ci img{max-height:calc(100vh - 300px);max-height:calc(100svh - 300px)}
.car.trk.on .trk-s{align-items:stretch}
.grid .lg{display:block}

/* ===================== v8 · 27/10 : parcours relevé sur hugotoro.com (mesures à 1 440 × 900), identité Daphné Desjeux ===================== */
/* Accueil — ouverture : plein écran, puis se pose à 78 % (ancrée en haut) sur 1 000 px de défilement ; légende juste dessous */
.ouv8{position:relative;height:calc(100vh + 1000px);height:calc(100svh + 1000px)}
.ouv8 .ouv-s{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.ouv8 .ouv-f{position:absolute;inset:0;transform-origin:50% 0}
.ouv8 .ss{position:absolute;inset:0}
.cap8{position:absolute;left:11%;right:11%;top:calc(100% + 12px);display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:24px}
.cap8 .r{text-align:right}
@supports (animation-timeline:scroll()){
html.js:not(.rm) .ouv8 .ouv-f{animation:dd-ouv8 linear both;animation-timeline:scroll(root);animation-range:0 1000px}
html.js:not(.rm) .ouv8 .cap8{animation:dd-cap8 linear both;animation-timeline:scroll(root);animation-range:0 1000px}
html.js:not(.rm) .h8 .hd .logo{animation-range:0 1000px}
}
@keyframes dd-ouv8{from{transform:scale(1)}to{transform:scale(.78)}}
@keyframes dd-cap8{from{top:calc(100% + 12px)}to{top:calc(78% + 12px)}}
html.rm .ouv8,html:not(.js) .ouv8{height:auto}
html.rm .ouv8 .ouv-s,html:not(.js) .ouv8 .ouv-s{position:relative;height:auto;overflow:visible}
html.rm .ouv8 .ouv-f{position:relative;height:88vh;height:88svh}
html.rm .ouv8 .cap8{position:static;padding:12px var(--m) 0}
@media (prefers-reduced-motion:reduce){.ouv8{height:auto}.ouv8 .ouv-s{position:relative;height:auto;overflow:visible}.ouv8 .ouv-f{position:relative;height:88vh}.ouv8 .cap8{position:static;padding:12px var(--m) 0}}

/* Accueil — bande des projets à la une : panneau = largeur d'écran, titre 42 px sur deux lignes, extrait à droite, photo 81 % de la hauteur */
.trk.ht{padding:0}
.trk.ht .trk-r{display:flex;gap:12px}
.trk.ht.on .trk-s{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:block}
.trk.ht.on .trk-r{flex-direction:row;width:max-content;padding:0;will-change:transform}
.trk.ht.on .hp{flex:0 0 100vw;height:100vh;height:100svh;padding-top:15vh;padding-top:15svh;display:flex;flex-direction:column;align-items:center}
.hp-h{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38vw);gap:24px;align-items:start;padding:0 24px}
.hp-t{font-family:"GFS Didot",serif;font-weight:400;text-transform:uppercase;font-size:clamp(30px,2.92vw,46px);line-height:1;letter-spacing:.02em;margin:0}
.hp-t a{color:inherit;text-decoration:none}
.hp-x{display:flex;gap:24px;align-items:flex-start}
.hp-plus{font-family:"GFS Didot",serif;font-size:34px;line-height:.7;min-width:44px;min-height:44px;display:inline-flex;justify-content:center;color:inherit;text-decoration:none}
.trk.ht.on .hp-m{display:block;height:81vh;height:81svh;width:78%;margin-top:16px;position:relative;overflow:hidden}
.trk.ht .hp-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* téléphone, tablette, animations réduites : projets empilés (réserve de la cliente sur le défilement de côté) */
.trk.ht:not(.on) .trk-r{flex-direction:column;gap:12vh;padding:10vh 0 0;overflow:visible;scroll-snap-type:none}
.trk.ht:not(.on) .hp{display:flex;flex-direction:column;gap:16px}
.trk.ht:not(.on) .hp-h{grid-template-columns:1fr;padding:0 var(--m)}
.trk.ht:not(.on) .hp-m{display:block;position:relative;aspect-ratio:4/3;margin:0 var(--m);overflow:hidden}
html:not(.rm) .trk.ht:not(.on) .trk-r{flex-direction:column}
/* « Voir tous les projets » */
.see8{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}
.see8 a{font-family:"GFS Didot",serif;font-size:clamp(30px,2.92vw,46px);text-transform:uppercase;letter-spacing:.02em;color:inherit;text-decoration:none}
.see8 a:hover{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:.5px}
@media (max-width:1024px){.see8{min-height:60vh}}

/* Page projet — photo d'ouverture fixe (64 % de la hauteur), le contenu remonte dessus */
.pjh{position:fixed;top:0;left:0;right:0;height:64vh;height:64svh;z-index:0}
.pjh img{width:100%;height:100%;object-fit:cover;display:block}
.pjc{position:relative;z-index:1;margin-top:64vh;margin-top:64svh;background:var(--papier)}
.p8 .foot{position:relative;z-index:1;background:var(--papier)}
.ph8{display:grid;grid-template-columns:132px minmax(0,1fr) auto 287px;gap:24px;align-items:baseline;padding:30px 24px 0}
.ph8-t{font-family:"GFS Didot",serif;font-weight:400;text-transform:uppercase;font-size:clamp(30px,2.92vw,46px);line-height:1;letter-spacing:.02em;margin:0}
.ph8-y{white-space:nowrap}.ph8-s{display:block}
.ph8-c{text-align:left}
.pi8{display:grid;grid-template-columns:12.5% minmax(0,30.8%) 1fr 20% 5.3%;padding:36px 0 0;align-items:end}
.pi8 .tx{grid-column:2;font-size:16px}
.pi8 .tx p{text-indent:50px;margin:0 0 15px}
.pf8{grid-column:4;margin:0}
.pf8 img{width:100%;aspect-ratio:287/403;object-fit:cover;display:block}
.mz8{display:grid;gap:24px;padding:24px 7.1% 0}
.mz8 .mf,.mz8 .mc{display:block}
.mz8 .mh{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.mz8 .mst{display:grid;gap:24px;align-content:space-between}
.mz8 .mc{width:calc(50% - 12px);justify-self:center}
.mz{margin:0;position:relative;overflow:hidden;background:var(--filet)}
.mz img,.mz video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.p8 .pj-more{padding:24px 7.1% 0}
.p8 .pj-more .mz8{padding:0}
.pn8{display:flex;justify-content:space-between;gap:24px;padding:12vh 7.1% 12vh}
.pn8 a{color:inherit;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.pn8 a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.5px}
@media (max-width:767px){
.pjh{height:52vh;height:52svh}.pjc{margin-top:52vh;margin-top:52svh}
.ph8{grid-template-columns:1fr;gap:8px;padding:24px var(--m) 0}
.pi8{grid-template-columns:1fr;padding:24px var(--m) 0;gap:24px}
.pi8 .tx,.pf8{grid-column:1}.pf8{width:60%;justify-self:end}
.mz8{padding:24px var(--m) 0;gap:14px}
.mz8 .mh{grid-template-columns:1fr;gap:14px}
.mz8 .mc{width:100%}
.p8 .pj-more{padding:24px var(--m) 0}
.pn8{padding:10vh var(--m)}
}

/* Index — quinconce éditorial : titre, extrait, photo, légende ; trois positions (7 %, 46 %, 69 %), deux largeurs (26 %, 49 %) */
.ix8{padding:40px 0 10vh}
.ix8-h{padding:0 7.2%;margin:0 0 4vh}
.qx8{display:flex;flex-direction:column;gap:12px;color:inherit;text-decoration:none;margin-top:10vh}
.qx8:first-of-type{margin-top:0}
.q-l{margin-left:7.2%}.q-m{margin-left:46.4%}.q-r{margin-left:68.75%}
.q-s{width:26.25%}.q-b{width:48.6%}
.qt8{font-family:"GFS Didot",serif;font-weight:400;text-transform:uppercase;font-size:clamp(28px,2.92vw,46px);line-height:1;letter-spacing:.02em;margin:0}
.qx8 .tx1{font-size:16px;line-height:1.3}
.qx8 img{width:100%;display:block;object-fit:cover}
.q-b img{aspect-ratio:700/485}.q-s img{aspect-ratio:378/470}
.qc8{display:flex;justify-content:space-between}
.qx8:hover .qt8{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:.5px}
@media (max-width:767px){.qx8,.q-l,.q-m,.q-r{margin-left:var(--m);margin-right:var(--m);width:auto}.qx8{margin-top:8vh}.q-s{width:72%}.q-s.q-r,.q-s.q-m{margin-left:auto}.ix8-h{padding:0 var(--m)}}
.trk.ht.on .hp-m{flex-shrink:0}.trk.ht.on .hp-h{flex-shrink:0;padding-left:6vw;padding-right:6vw}

.p8 .pf8 img{height:auto;width:100%;aspect-ratio:287/403;object-fit:cover}.p8 .pf8{align-self:end}
@media (min-width:768px){.see8{min-height:calc(100vh - 258px);min-height:calc(100svh - 258px)}}
/* ===== v8.1 (27/10) ===== */
@view-transition{navigation:none}
.ss img.on.kb{animation:none!important}
/* bande d'accueil : photo encadrée, sans élargissement */
.trk.ht.on .hp{padding-top:var(--pt,12vh);align-items:center}
.trk.ht.on .hp-h{width:var(--iw,78vw);padding-left:0;padding-right:0;grid-template-columns:minmax(0,1fr) minmax(0,46%)}
.trk.ht.on .hp-m{width:var(--iw,78vw);height:var(--ih,62vh);margin-top:16px;flex:none}
/* page projet : texte entier en colonne, photos entières */
.pj9{display:grid;grid-template-columns:1fr;gap:40px;padding:112px var(--m) 0}
.pt9-l,.pt9-y{display:block;font-style:italic}
.pt9-t{font-family:"GFS Didot",serif;font-weight:400;text-transform:uppercase;font-size:clamp(32px,2.92vw,46px);line-height:1;letter-spacing:.02em;margin:10px 0 12px}
.pt9-c{margin:14px 0 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.6}
.pt9 .tx{margin-top:28px;font-size:16px;line-height:1.45}
.pt9 .tx p{text-indent:40px;margin:0 0 14px}
.pg9{display:flex;flex-direction:column;gap:16px;min-width:0}
.jr{display:flex;gap:16px;width:100%;margin:0 auto}
.jr>figure{margin:0;min-width:0;overflow:hidden;background:var(--creme-leger)}
.jr>figure img{width:100%;height:100%;object-fit:cover;display:block}
.pg9 .pj-more{margin-top:8px}
.pg9 .pj-more>summary{cursor:pointer;list-style:none;padding:18px 0;text-align:center}
.pg9 .pj-more>summary::-webkit-details-marker{display:none}
.pg9 .pj-more[open]>summary{margin-bottom:8px}
.pg9 .pj-more .pg9-d{display:flex;flex-direction:column;gap:16px}
.p9 .pn8{margin-top:72px}
@media (min-width:1025px){
  .pj9{grid-template-columns:minmax(300px,29vw) minmax(0,1fr);gap:56px;padding:132px 6vw 0;align-items:start}
  .pt9-in{position:sticky;top:120px}
}
@media (max-width:767px){
  .jr{gap:8px}.pg9,.pg9 .pj-more .pg9-d{gap:8px}
  .jr.n3{flex-wrap:wrap}.jr.n3>figure:last-child{flex-basis:100%!important}
}
.trk.ht.on .hp-h{min-height:var(--hh,0)}
@media (max-width:1024px){.press-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.press-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.press-grid a .go{white-space:normal}}
/* index : chaque photo garde ses proportions (plus de recadrage), jamais plus haute que l'écran */
.qx8 img,.q-b img,.q-s img{aspect-ratio:auto!important;height:auto;width:auto;max-width:100%;max-height:82vh;max-height:82svh;object-fit:contain}
.trk.ht.on .hp-h{width:var(--hw,var(--iw,78vw))}
.leg .grp span{display:block}
.pt9-back{display:inline-block;margin-bottom:22px;text-decoration:none;color:inherit}
/* index v13 · 28/10 : grille régulière demandée par la cliente. 2 colonnes (1 sous 1 024 px), même cadre 3:2 pour toutes les photos,
   plus de décalage ; chaque carte occupe 3 rangées de la grille (sous-grille) : titres et photos alignés d'une carte à l'autre */
.ix9w{padding:120px 6vw 40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4vw;align-items:start}
.ix9w .ix8-h{margin:0 0 40px;grid-column:1/-1}
.ix9{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:12px;margin-bottom:12vh;color:inherit;text-decoration:none;min-width:0}
@supports not (grid-template-rows:subgrid){.ix9{grid-row:auto;display:flex;flex-direction:column;gap:12px}}
.ix9 .qt8{font-size:clamp(24px,2.6vw,40px)}
.ix9 img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover;object-position:50% 50%}
.ix9 img.cad-haut{object-position:50% 0}.ix9 img.cad-bas{object-position:50% 100%}
.ix9:hover .qt8{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:.5px}
@media (max-width:1024px){.ix9w{padding:100px var(--m) 40px;grid-template-columns:minmax(0,1fr)}.ix9{margin-bottom:56px}}
/* bande : espace réduit entre les projets */
.trk.ht.on .hp{flex:0 0 auto;width:calc(var(--iw,78vw) + 96px)}
.trk.ht.on .hp:first-child{margin-left:calc((100vw - var(--iw,78vw)) / 2 - 48px)}
.trk.ht.on .hp:last-child{margin-right:calc((100vw - var(--iw,78vw)) / 2 - 48px)}
.trk.ht .trk-r{gap:0}
/* contact : Instagram mis en valeur */
.ct-ig{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.ct-ig a.big{font-family:"GFS Didot",serif;font-size:clamp(30px,3vw,46px);line-height:1.05;color:inherit;text-decoration:none;letter-spacing:.01em}
.ct-ig a.big:hover{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:.5px}
.ct>dl{align-self:center}@media (max-width:1024px){.ct>dl{align-self:start;margin:24px 0 32px}}
/* ===== WordPress (préproduction) ===== */
.wp-site-blocks{padding:0!important}
.wp-site-blocks>*{margin-block:0!important}
#main .tx p,#main .leg p{margin-block-start:0}
.ct .wpcf7 label,.ct .wpcf7-form p{display:block}
.ct .wpcf7-form{display:grid;gap:20px;max-width:560px}
.ct .wpcf7-form p{margin:0}
.ct .wpcf7 label{display:grid;gap:6px}
.ct .wpcf7-form-control-wrap{display:block}
.ct .wpcf7 input[type=text],.ct .wpcf7 input[type=email],.ct .wpcf7 textarea,.ct .wpcf7 select{width:100%}
.ct .wpcf7 .send{justify-self:start;background:none;border:.5px solid var(--encre);padding:12px 22px;cursor:pointer;min-height:44px;font:13px "GFS Didot",serif;letter-spacing:.12em;text-transform:uppercase;color:var(--encre)}
.ct .wpcf7-response-output{margin:8px 0 0!important;border:0!important;padding:0!important;font-style:italic}
.ct .wpcf7-not-valid-tip{font-size:14px;font-style:italic;color:#8a1c1c}
.ct .wpcf7-spinner{display:none}
#main>.ct>div>p:first-child{font-size:22px;margin:0 0 28px;font-style:italic}

/* ===================== v9 · 27/10 : tous écrans (téléphone d'abord) ===================== */
/* Les photos gardent leurs proportions : la hauteur suit la largeur (sinon l'attribut height imposait 842 ou 2560 px) */
img{height:auto}
/* Jamais de défilement de côté de la page entière */
html{overflow-x:clip}
/* Accueil : projets en défilement vertical classique sur téléphone et tablette (aucune zone à faire glisser de côté) */
.trk.ht:not(.on) .trk-r{overflow:visible!important;scroll-snap-type:none!important;flex-direction:column!important}
@media (max-width:767px){
  /* page projet : une photo par ligne, pleine largeur, proportions d'origine */
  .jr,.jr.n3{flex-direction:column;flex-wrap:nowrap;max-width:none!important;gap:8px}
  .jr>figure,.jr.n3>figure:last-child{flex:none!important;width:100%}
  /* texte du projet replié après quelques lignes, bouton « Lire la suite » */
  .pt9 .tx.clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;line-clamp:8;overflow:hidden}
  .pt9 .tx-more{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;padding:0;background:none;border:0;color:inherit;font:inherit;font-style:italic;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:.5px;cursor:pointer}
  /* légendes lisibles */
  .pt9-c{font-size:12px}
  /* index des projets : photo pleine largeur */
  .ix9 img{width:100%;max-height:none}
  /* mobilier : deux colonnes régulières, légende sous chaque pièce */
  .grid{gap:28px 12px}
  .grid .ui{margin-top:8px}
}
@media (min-width:768px) and (max-width:1024px){
  .ix9 img{width:100%}
  .pt9 .tx-more{display:none}
}
@media (min-width:768px){ .pt9 .tx-more{display:none} }
/* Écrans tactiles : zones de toucher d'au moins 44 px sans changer la mise en page */
@media (pointer:coarse){
  .foot a,.foot button,.bar a,.bar button,.hd a,.menu a,.menu button,.cap8 a,.hp-t a,.pt9-back,.pn8 a{position:relative}
  .foot a::after,.foot button::after,.bar a::after,.hd a:not(.logo)::after,.menu .ui a::after,.menu button::after,.cap8 a::after,a.ts::after{content:"";position:absolute;inset:-14px -12px}
  a.ts{position:relative}
  .foot div{gap:14px}
}
/* Barre du bas : au-dessus de la barre de geste des téléphones récents */
.bar{padding-bottom:max(11px,env(safe-area-inset-bottom))}

/* v9b · 27/10 soir : finitions tactiles et grilles (audit 18 formats) */
.grid>*,.press-grid>*{min-width:0}
@media (max-width:767px){.grid,.press-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (pointer:coarse){
  .pt9-back,.pn8 a,.ph>a.ui,.ct-ig a.big,.ct a.ui,.pt9-in>a{position:relative}
  .pt9-back::after,.pn8 a::after,.ph>a.ui::after,.ct-ig a.big::after,.ct a.ui::after,.pt9-in>a::after{content:"";position:absolute;inset:-14px -10px}
}
.pt9-c{font-size:max(12px,.75rem)}

/* 28/10 : page Contact sans bloc Instagram, le formulaire garde sa colonne de droite sur ordinateur */
@media (min-width:768px){.ct.ct-seul>div{grid-column:2}}

/* 28/10 retour cliente : le fond crème de lisibilité épouse le menu (il prenait toute la colonne et passait sous le logo) */
.hd>nav{justify-self:start;width:max-content;max-width:100%}
.hd>nav.r{justify-self:end}

/* v16 · 29/10 : contact presse en bandeau entre deux filets, en haut de la page Presse ; une information par ligne, en gras */
.prb{display:flex;flex-direction:column;align-items:center;row-gap:2px;margin:40px var(--m) 0;padding:14px 0;border-top:.5px solid;border-bottom:.5px solid;font-size:15px;line-height:1.5;text-align:center}
.prb .cr{margin-bottom:6px}
.prb .prb-i{font-weight:600}
.prb a{color:inherit;text-underline-offset:3px;text-decoration-thickness:.5px}

/* 28/10 retour cliente : couvertures de presse entières, jamais recadrées (cadre commun, image contenue, alignée en bas) */
.press-grid img,.press img{object-fit:contain!important;object-position:center bottom;background:transparent!important}

/* 28/10 : apparence identique partout — clair imposé (pas d'assombrissement automatique), taille de texte non gonflée par les navigateurs mobiles, pas de surbrillance au toucher */
:root{color-scheme:light dark}
/* la version « sombre » demandée par le navigateur est la même que la claire */
@media (prefers-color-scheme:dark){:root{--papier:#F0E4D4;--encre:#000}html,body{background:#F0E4D4;color:#000}}
input,select,textarea,button{color-scheme:light}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
a[href^="tel:"],a[href^="mailto:"]{color:inherit}
/* v17 · 29/10 : bande de l'accueil sans extrait de texte (demande de la cliente) ; le « + » se place au bout de la ligne du titre */
.trk .hp-h,.trk.ht.on .hp-h,.trk.ht:not(.on) .hp-h{grid-template-columns:minmax(0,1fr) auto}
.hp-x{justify-content:flex-end}


/* 02/11 · barre du bas effacée quand le pied de page est à l'écran */
.bar{transition:background-color .25s ease,box-shadow .25s ease,opacity .3s ease}
.bar.at-foot{opacity:0;visibility:hidden;pointer-events:none;transition:background-color .25s ease,box-shadow .25s ease,opacity .3s ease,visibility 0s linear .3s}
html.rm .bar,html.rm .bar.at-foot{transition:none}
@media (prefers-reduced-motion:reduce){.bar,.bar.at-foot{transition:none}}
/* 02/11 · photos des projets cliquables, visionneuse plein écran sur fond papier */
.single-projet .pg9 figure{cursor:zoom-in}
.single-projet .pg9 figure:focus-visible{outline:1px solid #000;outline-offset:3px}
body .pswp{--pswp-bg:#F0E4D4;--pswp-placeholder-bg:#F6EFE5;--pswp-icon-color:#000;--pswp-icon-color-secondary:#F0E4D4;--pswp-icon-stroke-color:#F0E4D4;--pswp-error-text-color:#000;--pswp-root-z-index:100000}
body .pswp__counter{font-family:"GFS Didot",serif;font-size:12px;letter-spacing:.12em;opacity:1;color:#000}
body .pswp__dd-title{position:absolute;left:50%;top:15px;transform:translateX(-50%);line-height:30px;font-family:"GFS Didot",serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#000;white-space:nowrap;pointer-events:none}
@media (max-width:767px){body .pswp__dd-title{display:none}}

/* 02/11 · même apparence de l'accueil sur tous les téléphones et navigateurs :
   le facteur d'agrandissement du logo (--L) est calculé en script dès le <head> (--dd-L), sans la formule
   tan(atan2()) que WebKit (iPhone) évaluait mal  ; sur téléphone, le logo fait au plus 78 % de la largeur de l'écran. */
.home .hd .logo{--L:var(--dd-L,1)}
@media (max-width:767px){.home .hd .logo{--L:var(--dd-L,1)}}

/* 02/11 · téléphone : en-tête Menu · logo · Contact, sans encart ni clignotement ; plus de barre en bas.
   À l'arrivée sur la photo de l'accueil : texte et logo en blanc, voile léger ; ensuite bandeau crème uni.
   L'en-tête s'efface d'un bloc en descendant et revient en remontant (site.js). Logo sans agrandissement sur téléphone. */
.hd .hph,.hd .hpc{display:none}
@media (max-width:767px){
  html body .hd{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;column-gap:12px;justify-items:stretch;align-items:center;padding:6px var(--m)!important;position:fixed!important;top:0;left:0;right:0;mix-blend-mode:normal!important;transition:transform .3s ease,background-color .2s ease,box-shadow .2s ease!important}
  .hd nav,.hd .hm{display:none!important}
  .hd .hph,.hd .hpc{display:inline-flex!important;align-items:center;min-height:44px;font-family:"GFS Didot",serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:none;border:0;color:inherit;cursor:pointer;padding:0;white-space:nowrap;text-decoration:none}
  .hd .hph{grid-column:1;justify-self:start}.hd .hpc{grid-column:3;justify-self:end}
  .home .hd .logo,.hd .logo{grid-column:2;justify-self:center;transform:none!important;animation:none!important;--L:1!important}
  .hd .logo img{height:auto!important;width:min(180px,calc(100vw - 2 * var(--m) - 2 * 84px - 24px))!important;max-width:none}
  .hd>*{opacity:1!important;translate:none!important;pointer-events:auto!important;visibility:visible!important}
  .hd>.solo{background:none!important;box-shadow:none!important}
  .hd:not(.dd-over){background:var(--papier)!important;box-shadow:0 .5px 0 var(--filet)!important}
  .hd:not(.dd-over)>*{color:#000!important}.hd:not(.dd-over) .logo img{filter:none!important}
  .hd.dd-over{background:transparent!important;box-shadow:none!important}
  .hd.dd-over>*{color:#fff!important}.hd.dd-over .logo img{filter:brightness(0) invert(1)!important}
  html body .hd.dd-hid{transform:translateY(-100%)!important}
  .bar,.bar-scrim{display:none!important}
  .hd-scrim{display:none!important}
  .hd.dd-over::before{content:"";position:absolute;inset:0 0 -30px 0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.32),rgba(0,0,0,0))}
}

/* 02/11, 17 h · pied de page rangé : Contact · Instagram · Mentions légales à gauche, EN / FR à droite ; téléphone en deux colonnes */
.foot.dd-f{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:40px;row-gap:10px}
.foot.dd-f>a,.foot.dd-f>.fl{display:inline-flex;align-items:center;min-height:44px;padding:0}
.foot.dd-f>.fl{margin-left:auto}
@media (max-width:767px){
  .foot.dd-f{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;row-gap:4px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}
  .foot.dd-f>.fl{margin-left:0}
  .foot.dd-f>:nth-child(even){justify-self:end}
}

/* 02/11, 17 h 15 · bouton « Fermer » du menu : centré et noir partout (sur téléphone, il était décalé de 16 px et en bleu système iOS) */
.menu #menu-close{position:relative!important;left:auto;bottom:auto;align-self:center;margin:4px 0 0;padding:0 0 0 .12em;color:inherit;-webkit-text-fill-color:currentColor;-webkit-appearance:none;appearance:none;background:none;border:0;font-family:"GFS Didot",serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;min-height:44px}

/* 02/11, 17 h 15 · menu plein écran : « Mentions légales » retiré (reste dans le pied de page) ;
   « Fermer » centré sous la liste et en noir (Safari iPhone le colorait en bleu, et un décalage de 16 px le désaxait) */
.menu #menu-close{position:relative;left:auto;right:auto;bottom:auto;align-self:center;margin:6px 0 0;padding:0 12px;color:#000;-webkit-text-fill-color:#000;-webkit-appearance:none;appearance:none;font-family:"GFS Didot",serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase}

/* 03/11 · retours de la cliente :
   mentions légales sans grands blancs sous les titres et en romain ; intitulé « Contact presse » plus grand ;
   sur ordinateur, logo 88 px de haut (au lieu de 56) et liens de l'en-tête 17 px (au lieu de 13) */
.leg{gap:0}.leg>h2{margin:34px 0 6px}.leg>h2:first-child{margin-top:0}
.leg p,.leg .lg{font-style:normal}
.prb .cr{font-size:16px;letter-spacing:.12em;margin-bottom:6px}
@media (min-width:768px){.hd .logo img{height:88px}.hd nav,.hd nav a,.hd nav span{font-size:17px;line-height:1.4}}

/* 03/11 · téléphone : en-tête sur deux lignes (choix A de Paul) — Menu et Contact en haut, logo centré dessous, 300 px de large au plus */
@media (max-width:767px){
  .hd .hph,.hd .hpc{font-size:14px!important;min-height:36px!important}
  html body .hd{grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto!important;row-gap:0!important;padding:4px var(--m) 10px!important}
  .hd .hph{grid-column:1!important;grid-row:1!important}.hd .hpc{grid-column:2!important;grid-row:1!important}
  .hd .logo,.home .hd .logo{grid-column:1 / 3!important;grid-row:2!important;justify-self:center!important}
  .hd .logo img{width:min(300px,calc(100vw - 2 * var(--m)))!important}
  /* l'en-tête passe de 62 à 106 px de haut : le contenu des pages intérieures descend d'autant */
  body:not(.home) main{padding-top:106px}
}

/* 03/11 · robustesse tous écrans (audit 20 formats × 14 pages) */
/* Contenu des pages intérieures toujours sous l'en-tête : hauteur mesurée (--dd-hdh) ; mêmes écarts qu'avant l'agrandissement */
@media (min-width:768px){body:not(.home) main{padding-top:calc(var(--dd-hdh,155px) - 24px)}}
@media (max-width:767px){body:not(.home) main{padding-top:var(--dd-hdh,106px)}}
/* Tablettes et petites fenêtres : le logo se réduit pour laisser au moins 24 px de chaque côté des liens (471 px dès 1 100 px de large) */
@media (min-width:768px){.hd .logo img{height:auto!important;width:min(471px,calc(100vw - 2 * var(--m) - 320px))!important}}
/* Écrans peu hauts (téléphone à l'horizontale) : en-tête compact */
@media (min-width:768px) and (max-height:520px){.hd .logo img{width:min(300px,calc(100vw - 2 * var(--m) - 320px))!important}.hd nav,.hd nav a,.hd nav span{font-size:13px;line-height:1.25}}
@media (max-width:767px) and (max-height:520px){
  html body .hd{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;grid-template-rows:auto!important;padding:4px var(--m)!important}
  .hd .hph{grid-column:1!important;grid-row:1!important}.hd .hpc{grid-column:3!important;grid-row:1!important}
  .hd .logo,.home .hd .logo{grid-column:2!important;grid-row:1!important}
  .hd .logo img{width:min(220px,calc(100vw - 2 * var(--m) - 2 * 84px - 24px))!important}
}
/* Menu plein écran : défile s'il ne tient pas en hauteur, et se resserre sur les écrans peu hauts */
.menu{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media (max-height:600px){.menu{justify-content:flex-start;gap:6px;padding:20px 0 24px}.menu a{font-size:20px}.menu #menu-close{margin-top:2px}}
/* Images et médias jamais plus larges que leur colonne ; mots très longs coupés plutôt que de déborder */
main img,main video{max-width:100%}
main h1,main h2,main p,.foot a{overflow-wrap:break-word}

/* 03/11 · performance sans effet visuel : sur téléphone, texte du projet replié dès l'affichage (même règle que .clamp),
   jusqu'à ce que le script décide ; supprime le saut de mise en page au chargement */
@media (max-width:767px){html.js .pt9 .tx:not(.dd-ready){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;line-clamp:8;overflow:hidden}}

/* 03/11, 17 h 20 · mentions légales (retours de la cliente) : titres en gras (Baskervville 700, la police Didot n'a pas de gras) ;
   « En savoir plus » des mentions légales : bloc Détails natif, replié, dans le style de « Voir toutes les photos » */
.leg h2{font-family:"Baskervville",serif;font-weight:700}
.leg details{margin-top:40px}
.leg details>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;min-height:44px;font-family:"GFS Didot",serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:.5px}
.leg details>summary::-webkit-details-marker{display:none}
.leg details[open]>summary{margin-bottom:6px}
.leg details>h2{margin:34px 0 6px}.leg details>summary+h2{margin-top:18px}

/* 03/11, 19 h · crédits photographiques rangés par photographe (paragraphes natifs, classe dd-cr) */
.leg .dd-cr{margin:0 0 14px}.leg .dd-cr:last-of-type{margin-bottom:0}.leg .dd-cr strong{font-weight:700}

/* 04/11 · page Studio (Atelier / About) sur téléphone, retour de la cliente : texte aligné sur la largeur de la photo,
   sans retrait de première ligne, paragraphes séparés */
@media (max-width:767px){.ab .tx p{max-width:none;text-indent:0;margin:0 0 1em}.ab .tx p:last-child{margin-bottom:0}}
