:root{--black:#0d0d0d;--paper:#f4f2ec;--accent:#bfa05e;--grey:#b8b8b8;--line:rgba(13,13,13,.18);--pad:clamp(1.25rem,4vw,4.5rem);--display:"Barlow Condensed",Arial,sans-serif;--body:"Inter",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--black);font-family:var(--body);font-size:16px;line-height:1.55;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.skip-link{position:fixed;z-index:1000;top:1rem;left:1rem;background:var(--accent);padding:.8rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{position:fixed;z-index:100;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.1rem var(--pad);color:#fff;border-bottom:1px solid rgba(255,255,255,.22);transition:.35s}.site-header.scrolled,.site-header.open{background:rgba(13,13,13,.94);backdrop-filter:blur(12px);padding-block:.75rem}.brand{font:900 1.5rem/1 var(--display);letter-spacing:.04em}.site-header nav{display:flex;gap:2.2rem}.site-header nav a,.header-cta{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-.4rem;height:2px;background:var(--accent);transition:.3s}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{right:0}.header-cta{justify-self:end;color:var(--black);background:var(--accent);padding:.7rem 1rem;font-weight:600}.header-cta span,.btn span,.text-link span{display:inline-block;transition:transform .25s}.header-cta:hover span,.btn:hover span{transform:translate(.18rem,-.18rem)}.menu-toggle{display:none;background:none;border:0;color:#fff;padding:.5rem}.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px}
.hero{min-height:100svh;position:relative;color:#fff;display:flex;align-items:flex-end;padding:9rem var(--pad) 6rem;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-media{object-fit:cover;animation:heroZoom 1.8s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.38) 58%,rgba(0,0,0,.2)),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%)}.hero-content{position:relative;width:100%;z-index:2}.eyebrow{text-transform:uppercase;font-size:.72rem;letter-spacing:.18em;font-weight:600}.hero-kicker{color:var(--accent);animation:rise .7s .15s both}.hero h1{font:900 clamp(5rem,14vw,13rem)/.72 var(--display);letter-spacing:-.045em;text-transform:uppercase;margin:1.4rem 0 3rem;animation:rise .8s .25s both}.hero h1 span{color:transparent;-webkit-text-stroke:2px #fff}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;animation:rise .8s .4s both}.hero-bottom p{max-width:40rem;font-size:clamp(1rem,1.5vw,1.3rem);margin:0}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:18rem;padding:1rem 1.2rem;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:600;border:1px solid currentColor;cursor:pointer}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--black)}.hero-meta{position:absolute;right:var(--pad);top:7rem;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}.scroll-cue{position:absolute;bottom:1.3rem;left:var(--pad);z-index:2;text-transform:uppercase;font-size:.62rem;letter-spacing:.15em;display:flex;align-items:center;gap:.7rem}.scroll-cue span{width:2rem;height:1px;background:var(--accent)}
.section{padding:clamp(5rem,10vw,10rem) var(--pad);position:relative}.section-index{border-top:1px solid currentColor;padding-top:.8rem;margin-bottom:clamp(3rem,7vw,7rem);text-transform:uppercase;font-size:.65rem;letter-spacing:.18em}.dark{background:var(--black);color:var(--paper)}.intro-copy{display:grid;grid-template-columns:1.1fr .8fr;gap:3rem;align-items:end}.intro h2,.transform-head h2,.services h2,.about h2,.gallery h2,.faq h2,.contact h2{font:800 clamp(3.8rem,8vw,8rem)/.82 var(--display);text-transform:uppercase;letter-spacing:-.035em;margin:.4rem 0}.intro h2 em,.transform-head h2 em,.services h2 em,.contact h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--black)}.lead{max-width:37rem;font-size:clamp(1rem,1.7vw,1.35rem);margin:0}.text-link{grid-column:2;display:inline-flex;justify-content:space-between;border-bottom:1px solid;padding:.8rem 0;text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;margin-top:1rem}.editorial-grid{margin-top:7rem;display:grid;grid-template-columns:1.1fr .7fr 1fr;grid-template-rows:16rem 11rem;gap:1rem}.tile{margin:0;position:relative;overflow:hidden}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.tile:hover img{transform:scale(1.035)}.tile-a{grid-row:1/3}.tile-b{grid-row:1}.tile-c{grid-column:2/4;grid-row:2}.tile figcaption{position:absolute;left:0;bottom:0;background:var(--accent);padding:.5rem .8rem;text-transform:uppercase;font-size:.65rem;letter-spacing:.12em}
.manifesto{overflow:hidden}.manifesto-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:5rem;align-items:end}.manifesto h2{font:800 clamp(3.7rem,8vw,8rem)/.82 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:0}.manifesto h2 span,.about h2 span,.gallery h2 span{color:var(--accent)}.manifesto-copy>p{font-size:1.1rem;max-width:32rem}.manifesto-copy ul{list-style:none;padding:0;margin:3rem 0 0}.manifesto-copy li{font:600 clamp(1.4rem,2.5vw,2rem)/1.2 var(--display);text-transform:uppercase;border-top:1px solid rgba(255,255,255,.25);padding:.6rem 0}.marquee{margin:8rem calc(var(--pad)*-1) -4rem;white-space:nowrap;border-block:1px solid rgba(255,255,255,.25);overflow:hidden;color:var(--accent);font:800 clamp(3rem,6vw,6rem)/1 var(--display);padding:.5rem 0}.marquee div{width:max-content;animation:marquee 22s linear infinite}
.transform-head{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:2rem}.transform-head h2{margin:0}.transform-head>p:last-child{max-width:17rem}.project{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(2rem,6vw,7rem);align-items:center;margin-top:clamp(6rem,12vw,12rem)}.project-reverse{grid-template-columns:1.35fr .65fr}.project-reverse .project-copy{grid-column:2;grid-row:1}.project-reverse .before-after{grid-column:1;grid-row:1}.project-copy>span{font:700 3rem/1 var(--display);color:var(--accent);background:var(--black);padding:.15rem .4rem}.project-copy h3{font:700 clamp(3rem,5vw,5.6rem)/.86 var(--display);text-transform:uppercase;margin:1rem 0}.project-copy>p:last-child{max-width:28rem}.before-after{--pos:52%;position:relative;aspect-ratio:4/5;overflow:hidden;cursor:ew-resize;background:#222;touch-action:pan-y;outline-offset:5px}.before-after.landscape{aspect-ratio:4/3}.ba-before,.ba-after,.ba-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-before{object-position:center}.ba-after{clip-path:inset(0 0 0 var(--pos))}.ba-handle{position:absolute;z-index:4;left:var(--pos);top:0;bottom:0;width:3px;transform:translateX(-50%);padding:0;border:0;background:var(--accent);color:var(--black);cursor:ew-resize}.ba-handle:after{content:"";position:absolute;top:50%;left:50%;width:3.4rem;height:3.4rem;transform:translate(-50%,-50%);border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(0,0,0,.22)}.ba-handle span{position:relative;z-index:2;top:calc(50% - .7rem);margin:.12rem}.ba-label{position:absolute;z-index:3;top:1rem;background:var(--black);color:#fff;text-transform:uppercase;font-size:.65rem;letter-spacing:.12em;padding:.45rem .65rem}.ba-label.before{left:1rem}.ba-label.after{right:1rem;color:var(--black);background:var(--accent)}
.gallery-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}.gallery-head p{max-width:27rem}.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr 1fr;grid-template-rows:22rem 14rem 23rem;gap:1rem;margin-top:6rem}.gallery-grid figure{margin:0;position:relative;overflow:hidden}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .5s}.gallery-grid figure:hover img{transform:scale(1.04);filter:brightness(.72)}.g1{grid-row:1/3}.g2{grid-column:2/4}.g3{grid-column:2;grid-row:2/4}.g4{grid-column:3;grid-row:2}.g5{grid-column:1;grid-row:3}.gallery-grid figcaption{position:absolute;inset:auto 1rem 1rem;display:flex;justify-content:space-between;align-items:end;gap:1rem;opacity:0;transform:translateY(1rem);transition:.4s}.gallery-grid figure:hover figcaption{opacity:1;transform:none}.gallery-grid figcaption span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.gallery-grid figcaption b{color:var(--accent);font:600 1.4rem var(--display);text-transform:uppercase}
.services-title{display:grid;grid-template-columns:1fr 2fr}.services-title h2{grid-column:2}.service-list{margin-top:5rem}.service{display:grid;grid-template-columns:5rem 1fr 1.2fr 2rem;align-items:center;gap:2rem;padding:1.5rem 0;border-top:1px solid var(--line);transition:.35s}.service:last-child{border-bottom:1px solid var(--line)}.service:hover{padding-left:1rem;background:var(--accent)}.service>span{font:.8rem var(--body)}.service h3{font:700 clamp(2.2rem,4vw,4.5rem)/1 var(--display);text-transform:uppercase;margin:0}.service p{max-width:32rem;margin:0}.service b{font-size:1.4rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:center}.about-image{position:relative}.about-image img{width:100%;height:min(68vw,46rem);object-fit:cover}.about-image span{position:absolute;right:-1rem;bottom:2rem;background:var(--accent);color:var(--black);font:600 1rem var(--display);text-transform:uppercase;padding:.8rem 1rem}.about-copy>p:not(.eyebrow){font-size:1.15rem;max-width:36rem}.about-facts{margin-top:4rem}.about-facts div{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid rgba(255,255,255,.25);padding:.9rem 0}.about-facts strong{font:600 1.5rem var(--display);text-transform:uppercase}.about-facts span{color:var(--grey);font-size:.82rem}
.accent-section{background:var(--accent)}.process-head{display:grid;grid-template-columns:2fr 1fr;align-items:end}.process-head h2{font:900 clamp(4rem,9vw,9rem)/.78 var(--display);text-transform:uppercase;letter-spacing:-.04em;margin:0}.process-head p{max-width:25rem}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:6rem}.steps article{border-top:2px solid;padding-top:1rem}.steps span{font:.75rem var(--body)}.steps h3{font:700 2rem var(--display);text-transform:uppercase;margin:2rem 0 .5rem}.process-signoff{font:800 clamp(3.5rem,8vw,8rem)/.82 var(--display);text-transform:uppercase;text-align:right;margin:10rem 0 0}.process-signoff span{color:transparent;-webkit-text-stroke:1.5px var(--black)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,10rem)}.accordion details{border-top:1px solid rgba(255,255,255,.3)}.accordion details:last-child{border-bottom:1px solid rgba(255,255,255,.3)}.accordion summary{list-style:none;display:flex;justify-content:space-between;gap:2rem;padding:1.4rem 0;font:600 clamp(1.2rem,2vw,1.7rem) var(--display);text-transform:uppercase;cursor:pointer}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{color:var(--accent);font:400 2rem/1 var(--body);transition:.3s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{max-width:43rem;color:var(--grey);margin:-.4rem 0 1.5rem}.contact-top{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:2rem}.contact-top h2{margin:0}.contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,8rem);margin-top:7rem}.social-cta{display:block;border-block:1px solid;padding:1rem 0;position:relative}.social-cta span{display:block;text-transform:uppercase;font-size:.65rem;letter-spacing:.12em}.social-cta strong{font:600 clamp(1.8rem,3vw,3rem) var(--display)}.social-cta b{position:absolute;right:0;top:50%;font-size:1.4rem}.contact-direct p{max-width:25rem;margin-top:2rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.field{border-bottom:1px solid var(--black)}.field.full{grid-column:1/3}.field label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.field input,.field textarea,.field select{width:100%;background:transparent;border:0;padding:.8rem 0;outline:none}.field:focus-within{border-color:var(--accent);border-width:2px}.contact-form .btn{margin-top:1rem;background:var(--black);color:#fff}.form-status{align-self:center;margin:0;font-size:.82rem}footer{background:var(--black);color:#fff;padding:4rem var(--pad) 2rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;align-items:start}.footer-brand{font:900 clamp(4rem,10vw,10rem)/.8 var(--display);letter-spacing:-.04em;color:var(--accent)}footer p{margin:0;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em}footer>div:nth-child(3){display:flex;flex-direction:column;align-items:flex-end;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;gap:.5rem}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:1rem;color:var(--grey)}
.reveal{opacity:0;transform:translateY(2.5rem);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}@keyframes rise{from{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:none}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.header-cta{display:none}.menu-toggle{display:block;justify-self:end}.site-header nav{position:absolute;top:100%;left:0;right:0;background:var(--black);display:flex;flex-direction:column;gap:0;padding:0 var(--pad);max-height:0;overflow:hidden;transition:max-height .4s}.site-header.open nav{max-height:22rem;padding-bottom:1rem}.site-header nav a{font:600 2rem var(--display);text-transform:uppercase;padding:.7rem 0;border-top:1px solid #333}.hero{padding-bottom:7rem}.hero-meta{display:none}.hero-bottom,.intro-copy,.manifesto-layout,.transform-head,.services-title,.process-head,.contact-top{grid-template-columns:1fr}.text-link,.services-title h2{grid-column:1}.editorial-grid{grid-template-columns:1fr 1fr;grid-template-rows:20rem 14rem}.tile-a{grid-row:1}.tile-c{grid-column:1/3}.project,.project-reverse{grid-template-columns:1fr}.project-reverse .project-copy,.project-reverse .before-after{grid-column:1;grid-row:auto}.project-reverse .project-copy{grid-row:1}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:22rem 16rem 20rem}.g1{grid-row:1}.g2{grid-column:2;grid-row:1}.g3{grid-column:1;grid-row:2/4}.g4{grid-column:2;grid-row:2}.g5{grid-column:2;grid-row:3}.service{grid-template-columns:3rem 1fr 1.2fr}.service b{display:none}.about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.contact-top h2{grid-row:2}.contact-form{margin-top:2rem}}
@media(max-width:600px){.section{padding-block:5.5rem}.hero{min-height:46rem;padding-top:7rem}.hero h1{font-size:clamp(4.7rem,24vw,7.2rem);margin-top:1.2rem}.hero h1 span{-webkit-text-stroke:1px #fff}.hero-bottom{align-items:flex-start;flex-direction:column}.btn{min-width:0;width:100%}.scroll-cue{display:none}.editorial-grid{margin-top:4rem;grid-template-columns:1fr;grid-template-rows:19rem 15rem 14rem}.tile-a,.tile-b,.tile-c{grid-column:1;grid-row:auto}.manifesto-layout{gap:3rem}.marquee{margin-top:5rem}.transform-head{align-items:start}.project{margin-top:5rem}.before-after,.before-after.landscape{aspect-ratio:4/5}.gallery-head{align-items:flex-start;flex-direction:column}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:17rem 14rem 18rem 16rem;margin-top:4rem}.g1{grid-column:1/3;grid-row:1}.g2{grid-column:1;grid-row:2}.g3{grid-column:2;grid-row:2/4}.g4{grid-column:1;grid-row:3}.g5{grid-column:1/3;grid-row:4}.gallery-grid figcaption{opacity:1;transform:none}.gallery-grid figcaption b{font-size:1rem}.service{grid-template-columns:2rem 1fr;gap:1rem}.service p{grid-column:2}.service:hover{padding-left:0}.about-image img{height:38rem}.about-facts div{flex-direction:column;gap:0}.steps{grid-template-columns:1fr}.process-signoff{text-align:left;margin-top:6rem}.contact-form{grid-template-columns:1fr}.field.full{grid-column:1}.footer-brand{grid-column:1/-1}footer{grid-template-columns:1fr 1fr}footer>div:nth-child(3){align-items:flex-start}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.15)),linear-gradient(90deg,rgba(0,0,0,.35),transparent)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.form-trap{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
.hero h1 .hero-line-1{color:#fff;-webkit-text-stroke:0}

/* Quatre réalisations dans la première galerie et six dans la seconde. */
.editorial-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,minmax(17rem,25vw))}
.editorial-grid .tile{grid-column:auto;grid-row:auto}
.editorial-grid .tile img{width:100%;height:100%;object-fit:cover}
.gallery-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,minmax(17rem,24vw))}
.gallery-grid .g1,.gallery-grid .g2,.gallery-grid .g3,.gallery-grid .g4,.gallery-grid .g5,.gallery-grid .g6{grid-column:auto;grid-row:auto}
.hero-media{object-position:center 58%}
.color-picker{grid-column:1/-1;display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.color-picker span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-right:.5rem}
.color-picker button{border:1px solid #777;background:transparent;color:#fff;padding:.4rem .8rem;cursor:pointer}
.color-picker button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:#0d0d0d}
.legal{background:#171717;color:#eee;padding:2.5rem var(--pad) 4rem;scroll-margin-top:5rem}
.legal h2{font:700 2rem var(--display);text-transform:uppercase;margin:0 0 1rem}
.legal p{margin:0;line-height:1.9}
@media(max-width:900px){.editorial-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,16rem)}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,18rem)}}
@media(max-width:600px){.editorial-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,14rem)}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,14rem)}.hero-media{object-position:58% center}.color-picker{gap:.4rem}.color-picker span{flex-basis:100%}}

/* Contact : une seule bordure entre chaque lien. */
.social-cta{border:0;border-top:1px solid var(--black)}
.social-cta:last-of-type{border-bottom:1px solid var(--black)}

.brand img{width:clamp(8.5rem,13vw,11rem);height:auto}
.footer-brand img{width:min(100%,35rem);height:auto}

/* Pages d’information */
.form-privacy{grid-column:1/-1;font-size:.78rem;line-height:1.65;margin:0;max-width:48rem}.form-privacy a{text-decoration:underline;text-underline-offset:3px}
.information-header{background:var(--black);color:#fff;padding:1.25rem var(--pad);display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.information-header .brand img{width:155px;height:auto}.information-back{font-size:.8rem;white-space:nowrap}.information-main{max-width:980px;margin:auto;padding:5rem var(--pad) 6rem}.information-main h1{font:800 clamp(2.7rem,7vw,5.5rem)/1 var(--display);text-transform:uppercase;margin:1rem 0;overflow-wrap:anywhere}.information-date{font-size:.8rem;color:#555;margin-bottom:3.5rem}.information-main section{border-top:1px solid var(--line);padding:1.7rem 0}.information-main h2{font:600 clamp(1.4rem,3vw,2rem)/1.2 var(--display);text-transform:uppercase;margin:0 0 1rem}.information-main p,.information-main li{font-size:.95rem;line-height:1.8;overflow-wrap:anywhere}.information-main p{margin:.8rem 0}.information-main ul{padding-left:1.3rem}.information-main a{text-decoration:underline;text-underline-offset:3px}.information-return{display:inline-block;margin-top:2rem;font-weight:600}.information-page footer .footer-brand img{max-width:100%}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:600px){.information-main{padding-top:3rem}.information-header .brand img{width:120px}.information-back{font-size:.72rem}.form-privacy{grid-column:1}}
/* Points clés : emplacement original, meilleure lisibilité */
.hero-meta{font-size:clamp(.82rem,1.05vw,1rem);font-weight:700;line-height:1.55;gap:.45rem;letter-spacing:.08em;text-shadow:0 1px 8px rgba(0,0,0,.7)}
