:root{--gold:#c7b271;--gold-t:#7F6A2B;--gold-l:#9A8130;--ink:#14110F;--mut:#5F5B57;--bg2:#F5F4F2;--line:#E4E1DD}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:#fff;color:var(--ink);font:17px/1.65 'DM Sans',system-ui,sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--gold-t)}
h1,h2,h3,h4,h5{font-family:'Montserrat',sans-serif;font-weight:700;line-height:1.15;letter-spacing:-.015em;margin:0}
.w{max-width:1200px;margin:0 auto;padding:0 32px}
.k{display:block;font:700 13px/1.4 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-t);margin:0 0 16px}
.t2{font-size:clamp(28px,3.2vw,44px);text-transform:uppercase}
.t3{font-size:clamp(24px,2.6vw,34px);text-transform:uppercase}
.btn,.btn2{display:inline-block;padding:15px 30px;border-radius:2px;font:700 14px/1.2 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s,background .25s,color .25s}
.btn{background:var(--gold);color:var(--ink)}.btn:hover{background:var(--ink);color:var(--gold);transform:translateY(-3px)}
.btn2{border:1.5px solid currentColor}.btn2:hover{background:var(--ink);color:#fff}
.dk .btn:hover,.hero .btn:hover{background:#fff;color:var(--ink)}.hero .btn2:hover,.dk .btn2:hover{background:#fff;color:var(--ink)}
.sec{padding:104px 0}.band{background:var(--bg2)}.dk{background:var(--ink);color:#fff}.dk .k{color:var(--gold)}.dk a:hover{color:var(--gold)}
/* header */
.hb{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #E8E6E3}
.hd{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0}
.hd img{height:56px;width:auto}
.nv{display:flex;gap:24px;align-items:center;font:600 14px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.06em}
.nv a{position:relative}.nv a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nv a:hover:after{transform:scaleX(1)}
.tel{font-weight:700}.nvb{display:none;background:none;border:1.5px solid var(--ink);border-radius:2px;padding:8px 12px;font:700 13px 'DM Sans';text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
/* hero */
.hero{position:relative;min-height:min(92vh,780px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#2B2522}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 22s ease-out both}
.hero:before{content:"";position:absolute;inset:0;background:rgba(20,17,15,.58);z-index:1}
.hero .w{width:100%;position:relative;z-index:2;padding-top:140px;padding-bottom:104px}
.hero h1{font-size:clamp(34px,6vw,88px);font-weight:800;text-transform:uppercase;line-height:1.05;margin:10px 0 36px}
.hero h1 span{color:var(--gold)}.hero .k{color:var(--gold)}
.hero>.w>*{animation:up .9s cubic-bezier(.2,.7,.2,1) backwards}.hero h1{animation-delay:.15s}.hero .acts{animation-delay:.35s}
/* dual */
.dual{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1200px;margin:0 auto;padding:56px 32px}
.dual>div{display:grid;grid-template-columns:1fr 32%;min-height:320px;padding:0;overflow:hidden}.dual .dt{padding:40px 20px 40px 36px}.dual .di{width:100%;height:100%;min-height:0;object-fit:cover;display:block}
.dual>div:first-child{background:var(--bg2)}.dual>div:last-child{background:var(--ink);color:#fff}.dual>div:last-child .k{color:var(--gold)}
.dual .ti{display:block;font:800 clamp(19px,2vw,26px)/1.1 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 8px}.dual .k{margin:0 0 24px}
.dual a.r{display:flex;justify-content:space-between;gap:16px;max-width:380px;border-top:1px solid currentColor;padding:15px 0;font-weight:500}
.dual a.r:after{content:"→";transition:transform .3s}.dual a.r:hover:after{transform:translateX(8px)}
/* layout */
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:64px;align-items:center}
.g4{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.about p{margin:0 0 18px}.about .acts{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}.duo a{position:relative;display:block;overflow:hidden}
.duo img{width:100%;aspect-ratio:360/370;object-fit:cover;transition:transform .6s}.duo a:hover img{transform:scale(1.06)}
.duo span{position:absolute;left:12px;bottom:12px;background:var(--gold);color:var(--ink);font:700 12px 'DM Sans';letter-spacing:.1em;text-transform:uppercase;padding:6px 12px}
.duo>*:nth-child(2){margin-top:40px}
/* counters */
.cb{background:var(--gold);color:var(--ink);padding:72px 0;text-align:center}
.ct{counter-reset:n var(--n);font:800 clamp(44px,5.4vw,80px)/1 'Montserrat',sans-serif}.ct:after{content:counter(n)}.ct.pc:after{content:counter(n) " %"}
.cb small{display:block;margin-top:10px;font:600 14px 'DM Sans';letter-spacing:.12em;text-transform:uppercase}
@property --n{syntax:"<integer>";initial-value:0;inherits:false}
/* cards */
.cd{display:block}.cd .im{overflow:hidden;margin-bottom:20px;aspect-ratio:4/5;background:#E9E6E2}
.cd .im img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.cd:hover .im img{transform:scale(1.07)}
.cd small{display:block;font:700 13px 'DM Sans';letter-spacing:.14em;color:var(--gold-t);margin-bottom:6px}
.cd h4{font-size:19px;text-transform:uppercase}.cd h4+h4{margin-top:6px}.cd p{margin:6px 0 0;color:var(--mut);font-size:15px}
.cd .im.sp{display:grid;grid-template-rows:1fr 1fr;gap:4px}.cd .im.sp a{overflow:hidden;display:block}
.team-intro{max-width:720px;margin:16px 0 48px}
/* miah */
.miah h3{margin:0 0 8px}.mq{font:700 clamp(22px,3.4vw,40px)/1.2 'Montserrat',sans-serif;text-transform:uppercase;color:var(--gold-l);margin:20px 0 24px}
/* services */
.sc{position:relative;isolation:isolate;display:block;overflow:hidden;background:#fff;border:1px solid var(--line);padding:36px 30px 32px;transition:color .4s}
.sc:before{content:"";position:absolute;inset:0;background:var(--gold);transform:translateY(101%);transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:-1}.sc:hover:before{transform:none}
.sc i{font:800 44px/1 'Montserrat',sans-serif;font-style:normal;color:var(--line);display:block;margin-bottom:16px;transition:color .4s}.sc:hover i{color:rgba(20,17,15,.45)}
.sc h4{font-size:19px;text-transform:uppercase;margin-bottom:8px}.sc h4 a:hover{color:inherit}.sc h4 a:after{content:"";position:absolute;inset:0}.sc p{margin:0;color:var(--mut);font-size:15px;transition:color .4s}.sc:hover p{color:var(--ink)}
.sc em{display:block;margin-top:18px;font:700 13px 'DM Sans';font-style:normal;letter-spacing:.1em;text-transform:uppercase}
/* band discutons */
.vb{background:#2B2522;color:#fff;text-align:center;padding:120px 0}
.vb b{display:block;font:800 clamp(34px,6vw,84px)/1.05 'Montserrat',sans-serif;text-transform:uppercase}
.pl{position:relative;display:inline-grid;place-items:center;width:88px;height:88px;border-radius:50%;background:var(--gold);color:var(--ink)!important;margin-top:36px;font-size:30px}
.pl:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold);animation:pulse 2s ease-out infinite}
/* testimonials */
.q{background:#fff;border:1px solid var(--line);padding:32px;transition:box-shadow .4s}.q:hover{box-shadow:0 18px 40px rgba(20,17,15,.1)}
.q:before{content:"“";display:block;font:800 72px/.7 'Montserrat',sans-serif;color:var(--gold-l);margin-bottom:12px}
.q p{margin:0 0 20px;font-size:18px;line-height:1.55}.q .who{display:flex;align-items:center;gap:14px}.q img{width:52px;height:52px;border-radius:50%;object-fit:cover}.q h5{font-size:16px}
/* gallery */
.pgal{display:grid;grid-template-columns:repeat(4,1fr)}
.pt{position:relative;display:block;overflow:hidden;aspect-ratio:360/485;background:#E9E6E2}.pt img{width:100%;height:100%;object-fit:cover}
.ov{position:absolute;inset:0;background:rgba(199,178,113,.96);color:var(--ink);display:flex;align-items:flex-end;padding:26px;font:800 20px 'Montserrat',sans-serif;text-transform:uppercase;transform:translateY(101%);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pt:hover .ov,.pt:focus-visible .ov{transform:none}.pt:hover{color:var(--ink)}
/* clients */
.mqw{overflow:hidden;margin-top:48px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mqt{display:flex;width:max-content;animation:mq 34s linear infinite}.mqg{display:flex;gap:64px;padding-right:64px;align-items:center}.mqw:hover .mqt{animation-play-state:paused}
.mqg img{height:70px;width:auto;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}.mqg img:hover{filter:none;opacity:1}
/* shop / contact */
.shop .duo img{aspect-ratio:1}.shop p{margin:0 0 28px}.shop .acts{display:flex;gap:12px;flex-wrap:wrap}
.ctc h5{font:500 20px/1.8 'DM Sans',sans-serif;letter-spacing:0;margin-top:20px;max-width:760px}.ctc h5 a{color:var(--gold);text-decoration:underline}
.ci{border-top:1px solid #4A4440;padding-top:18px}.ci small{display:block;font:700 12px 'DM Sans';letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.map{margin-top:56px;border:0;width:100%;height:380px;filter:grayscale(.6)}
.ft{background:#0E0C0B;color:#C9C2BC;padding:72px 0 32px;font-size:15px}.ft .g3{margin-bottom:48px}.ft h4{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}
.ft a{display:block;padding:3px 0}.ft p{margin:0 0 6px}.ft .lg{height:64px;width:auto;margin-bottom:16px;filter:brightness(0) invert(1)}.ft .bt{border-top:1px solid #2A2522;padding-top:24px;font-size:13px}
.wa{position:fixed;right:20px;bottom:20px;z-index:40;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .25s}.wa:hover{transform:scale(1.1)}.wa svg{width:32px;height:32px;fill:#fff}
@keyframes up{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes pulse{from{transform:scale(1);opacity:.9}to{transform:scale(1.9);opacity:0}}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes cn{from{--n:0}}
@supports (animation-timeline:view()){.cd,.sc,.q,.g2>*{animation:up linear both;animation-timeline:view();animation-range:entry 0% entry 45%}.ct{animation:cn linear both;animation-timeline:view();animation-range:entry 10% entry 90%}}
@media(max-width:1000px){.pgal{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.pgal{grid-template-columns:1fr}}
@media(max-width:1000px){.dual{grid-template-columns:1fr;max-width:640px}}
@media(max-width:700px){.dual{padding:32px 20px}.dual>div{grid-template-columns:1fr}.dual .di{order:-1;height:210px}.big{min-height:0!important;aspect-ratio:4/3}}
@media(max-width:900px){.nvb{display:block}.nv{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:12px 32px 24px;border-bottom:1px solid #E8E6E3}.nv.open{display:flex}.nv a{padding:10px 0;width:100%}.tel{display:none}.sec{padding:72px 0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.h4s{display:block;font:700 19px/1.15 'Montserrat',sans-serif;text-transform:uppercase}
.cd .im{display:block}
/* ---- pages intérieures ---- */
.ph-hero{background:var(--ink);color:#fff;padding:96px 0 72px}
.ph-hero .k{color:var(--gold)}.ph-hero h3{font-size:clamp(32px,5vw,68px);font-weight:800;text-transform:uppercase;line-height:1.05}
.ph-hero>.w>*{animation:up .8s cubic-bezier(.2,.7,.2,1) backwards}.ph-hero h3{animation-delay:.12s}
.pg-body{padding:88px 0}
.pg-body .g2{align-items:start}
.pg-body h4.sub{font-size:clamp(20px,2vw,26px);text-transform:none;margin:0 0 24px;line-height:1.3}
.pg-body .txt{font-size:17px;line-height:1.75}.pg-body .txt+.acts,.pg-body .acts{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.imgs{display:grid;gap:16px;position:sticky;top:104px}.imgs img{width:100%;height:auto;border-radius:2px;transition:transform .6s}
.imgs.n2{grid-template-columns:1fr 1fr}.imgs.n2 img:nth-child(2){margin-top:40px}.imgs.n4{grid-template-columns:1fr 1fr}
.sech{max-width:760px;margin:0 auto 56px;text-align:center}.sech .t2{margin:0}
.masonry{columns:4 260px;column-gap:16px}.masonry img{width:100%;height:auto;margin-bottom:16px;border-radius:2px;break-inside:avoid;transition:transform .5s,filter .5s}.masonry img:hover{transform:scale(1.03)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px}
.tile{position:relative;overflow:hidden}.tile .im{aspect-ratio:4/5;overflow:hidden;background:#E9E6E2}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.tile:hover img{transform:scale(1.07)}
.tile a{display:block;padding:14px 0 0;font:700 15px/1.3 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.02em}.tile a:after{content:"";position:absolute;inset:0}
.legal{max-width:860px}.legal .txt{font-size:16px;line-height:1.8}
.shopw{padding:72px 0;min-height:60vh}
@media(max-width:700px){.imgs{position:static}.ph-hero{padding:64px 0 48px}}
@supports (animation-timeline:view()){.tile,.masonry img{animation:up linear both;animation-timeline:view();animation-range:entry 0% entry 45%}}

/* image unique grande */
.g2.st{align-items:stretch}.g2.st>div:not(.big){display:flex;flex-direction:column;justify-content:center}
.big{position:relative;margin:0;align-self:stretch;min-height:440px;overflow:hidden;background:#E9E6E2}
.big>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.big .soc{position:absolute;left:20px;right:20px;bottom:20px;display:flex;gap:10px;flex-wrap:wrap}
.big .soc .btn{padding:12px 22px}
.pg-body .g2{align-items:stretch}
.tile .cap{display:block;padding:14px 0 0;font:700 15px/1.3 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.02em}

/* équipe */
.tms{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 40px;margin-top:8px}
.tm{text-align:center}
.tm .av{position:relative;width:min(220px,62%);aspect-ratio:1;border-radius:50%;margin:0 auto 28px;background:#E9E6E2;overflow:hidden;display:grid;place-items:center;box-shadow:0 0 0 6px #fff,0 0 0 8px var(--gold);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.tm .av:before{content:attr(data-i);font:800 64px/1 'Montserrat',sans-serif;color:#B8B2AB}
.tm .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tm:hover .av{transform:scale(1.05)}
.tm h3{font-size:24px;text-transform:uppercase;margin-bottom:12px}
.tm p{margin:0;font-size:16px;line-height:1.75;color:var(--mut)}.tm p strong{color:var(--ink)}
@media(max-width:900px){.tms{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}
@supports (animation-timeline:view()){.tm{animation:up linear both;animation-timeline:view();animation-range:entry 0% entry 45%}}
/* portraits : on protège le visage lors du recadrage */
.miah .big>img{object-position:50% 12%}
.tm .av img{object-position:50% 20%}
@media(max-width:700px){.miah .big{aspect-ratio:3/4}}
