:root{--ink:#0C0E12;--paper:#FFFFFF;--cyan:#009FE3;--fluo:#CCFF00;--grey:#606060;--rule:#DEDEDE;--wash:#F3F3F3;--gut:clamp(22px,4.5vw,76px)}
body{background:var(--paper)}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.wrap{max-width:1480px}section{padding:110px 0}.skip-link{position:fixed;top:8px;left:8px;z-index:100;background:white;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.crop{display:none}header{background:#fff;border-bottom:1px solid var(--rule)}.bar{height:94px}.logo svg{height:36px}nav.links{gap:26px;font-size:13px}nav.links a{position:relative;padding:6px 0}nav.links a:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .25s}nav.links a:hover:after{transform:scaleX(1)}.btn{border-radius:50px;padding:15px 23px;font-weight:600;transition:background .25s,transform .25s}.btn:hover{transform:translateY(-2px)}.btn-ink{background:var(--ink)}
.hero{padding:42px 0 0}.hero-overline{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--grey)}.hero h1{font-size:clamp(50px,7.8vw,112px);font-weight:700;letter-spacing:-.068em;line-height:1.02;margin:36px 0 25px;max-width:16ch}.hero h1 em{color:var(--cyan)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:28px 0 42px}.hero-bottom p{font-size:15px;line-height:1.7;color:var(--grey);margin:0}.round-link{display:flex;align-items:center;gap:28px;text-decoration:none;font-size:14px;font-weight:600}.round-link span{width:56px;height:56px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:25px;transition:background .25s,color .25s,transform .25s}.round-link:hover span{background:var(--ink);color:white;transform:rotate(45deg)}.hero-photo{height:clamp(310px,36vw,500px);position:relative}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 48%;border-radius:4px}.photo-label{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:20px;padding:65px 26px 25px;background:linear-gradient(transparent,#0c0e12d9);color:white;font-size:12px}.photo-stamp{position:absolute;right:40px;top:-54px;background:#CCFF00;width:148px;height:148px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(9deg);text-decoration:none;color:var(--ink);box-shadow:0 8px 24px #0c0e1218;transition:transform .3s}.photo-stamp:hover{transform:rotate(0)}.photo-stamp span{font-size:15px;font-weight:600;line-height:1.4}.photo-stamp b{font-size:25px;margin-top:8px}.strip{background:transparent;color:var(--grey);border-bottom:1px solid var(--rule);margin-top:26px;padding:23px 0}.strip-in{font-size:12px;font-weight:500;animation-duration:60s}.dot{background:var(--cyan);height:4px;width:4px}.section-no{display:block;font-size:11px;font-family:Inter,sans-serif;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:23px}.head{max-width:none;display:grid;grid-template-columns:1.2fr 1fr;gap:0 60px;align-items:end;margin-bottom:44px}.head .section-no{grid-column:1/-1}.head h2{font-size:clamp(36px,4.5vw,66px);font-weight:600;line-height:1.08;letter-spacing:-.06em}.head p{max-width:34ch;font-size:16px;margin:0 0 3px;justify-self:end}
.portfolio{grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 20px;counter-reset:service}.tuile{grid-column:span 2;aspect-ratio:4/5;background:var(--wash);border-radius:4px;counter-increment:service}.tuile:nth-child(2){margin-top:65px}.tuile:nth-child(3){margin-top:130px}.tuile-img{transition:transform .7s cubic-bezier(.2,.7,.3,1)}.tuile-txt{padding:24px}.tuile-txt b{font-size:22px;font-weight:600;letter-spacing:-.04em}.tuile-txt i{font-size:12px;color:#FFFFFF}.tuile-txt:before{content:'0' counter(service);display:block;font-size:11px;letter-spacing:.09em;margin-bottom:8px}.tuile.vide{grid-column:span 3;aspect-ratio:auto;min-height:104px;color:var(--ink);border-radius:0;border-bottom:1px solid var(--rule);background:transparent;overflow:visible}.tuile.vide .tuile-img,.tuile.vide:after{display:none}.tuile.vide .tuile-txt{position:relative;padding:23px 42px 23px 40px}.tuile.vide .tuile-txt:before{position:absolute;left:0;top:30px;color:var(--grey)}.tuile.vide .tuile-txt:after{content:'↗';position:absolute;right:10px;top:30px;font-size:23px;transition:transform .25s}.tuile.vide:hover .tuile-txt:after{transform:translate(3px,-3px)}.tuile.vide .tuile-txt i{color:var(--grey)}.tuile.vide .tuile-txt b{font-size:21px}.tuile.vide:hover{color:var(--cyan)}
#travaux{padding-top:30px!important}.chips{gap:22px;padding-bottom:22px}.chips button{border:none;border-bottom:1px solid transparent;border-radius:0;padding:8px 0;font-size:12px}.chips button[aria-current]{background:transparent;color:var(--ink);border-bottom-color:var(--ink)}.slider{--sw:clamp(300px,56vw,760px)}.track{gap:24px}.slide{border-radius:4px}.slide figcaption{padding:80px 25px 24px}.slide figcaption b{font-size:24px;font-weight:600}.slide.attente{background:#F1F1F1}.slide.attente:before{content:'Un savoir-faire à découvrir ensemble';font-size:14px;color:#606060;padding:30px;text-align:center}.slide.attente img{opacity:0}.slide.attente figcaption{background:none;color:var(--ink)}.slide.attente figcaption span{color:var(--grey)}.arrows button{border-radius:50%}.nums{background:var(--wash)}.atelier-wide{width:100%;height:400px;object-fit:cover;object-position:center 55%;border-radius:4px;margin-bottom:45px}.nums-grid{gap:40px}.num{border-top:1px solid #D0D0D0;padding-top:26px}.num b{font-size:clamp(42px,6vw,78px);font-weight:600;letter-spacing:-.065em}.num span{font-size:13px}
.social{background:var(--paper);color:var(--ink)}.social-grid{grid-template-columns:1.3fr 1fr;gap:80px}.social-txt h2{font-size:clamp(36px,4.5vw,66px);font-weight:600;letter-spacing:-.055em;line-height:1.08}.social-txt>p{color:var(--grey);max-width:38ch;font-size:16px}.social-liens{max-width:380px}.lien-social{border-color:var(--rule)!important;background:transparent!important;color:var(--ink)!important;border-radius:0!important}.lien-social:hover{background:var(--wash)!important}.lien-social b{color:var(--ink)!important}.mini-social{font-size:12px!important;margin-top:24px!important}.phone-wrap{position:relative;max-width:410px;justify-self:center;padding:26px}.phone-wrap:before{content:'';position:absolute;inset:10% -15%;background:#F3F3F3;border-radius:50%;z-index:0}.phone{position:relative;transform:rotate(6deg);box-shadow:14px 30px 60px #0c0e1225;transition:transform .5s}.phone:hover{transform:rotate(0)}.review-link{padding-top:0;padding-bottom:70px}.review-link>a{display:flex;justify-content:space-between;gap:20px;text-decoration:none;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:26px 0;color:var(--grey);font-size:15px}.review-link strong{color:var(--ink);font-weight:500}.review-link a:hover strong{color:var(--cyan)}
.contact{background:#F3F3F3;color:var(--ink)}.contact .head h2{color:var(--ink)}.contact .head p,.coord .k,.hours,.consent{color:var(--grey)}.coord .v{font-size:24px;font-weight:600}.hours{border-color:#D0D0D0}form{background:#fff;border-radius:8px;padding:30px}.f label{color:var(--grey)}.f input,.f select,.f textarea{background:#FAFAFA;color:var(--ink);border-color:var(--rule);border-radius:5px}.note.err{color:#a92637}.legal{background:var(--paper)}.legal h2{font-size:28px}.legal details{border-color:var(--rule)}footer{background:var(--paper);color:var(--grey);border-top:1px solid var(--rule)}.foot{gap:24px;flex-wrap:wrap}.reveal{opacity:1}.motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}.motion .reveal.visible{opacity:1;transform:none}section[id]{scroll-margin-top:105px}
@media(max-width:1000px){nav.links{gap:14px}.bar>.btn{display:none}.hero h1{font-size:8vw}.photo-stamp{width:120px;height:120px;right:22px}.social-grid{gap:40px}.tuile-txt{padding:18px}.tuile-txt b{font-size:19px}}
@media(max-width:720px){.bar{height:76px}.logo svg{height:30px}.hero{padding-top:26px}.hero-overline{font-size:9px}.hero-overline span:last-child{display:none}.hero h1{font-size:clamp(40px,9.1vw,65px);margin:30px 0;letter-spacing:-.06em}.hero-bottom{align-items:flex-start;flex-direction:column;margin-bottom:26px;gap:20px}.hero-bottom p{font-size:13px}.round-link{font-size:13px;gap:18px}.round-link span{width:42px;height:42px;font-size:20px}.hero-photo{height:340px}.photo-stamp{top:auto;bottom:55px;width:100px;height:100px;right:-10px}.photo-stamp span{font-size:12px}.photo-stamp b{font-size:20px;margin-top:2px}.photo-label{padding:50px 16px 18px;font-size:10px}.photo-label span:last-child{display:none}section{padding:68px 0}.head{display:block;margin-bottom:28px}.head h2,.social-txt h2{font-size:38px}.head p{font-size:14px;margin-top:20px}.section-no{font-size:10px;margin-bottom:17px}.portfolio{grid-template-columns:1fr 1fr;gap:20px 14px}.tuile{grid-column:span 1;aspect-ratio:3/4}.tuile:nth-child(2){margin-top:36px}.tuile:nth-child(3){margin-top:0;grid-column:span 2;aspect-ratio:16/10}.tuile-txt{padding:15px}.tuile-txt b{font-size:17px}.tuile-txt i{font-size:11px}.tuile.vide{grid-column:span 2;min-height:80px}.tuile.vide .tuile-txt{padding:16px 35px}.tuile.vide .tuile-txt:before{top:23px}.tuile.vide .tuile-txt b{font-size:19px}.slider{--sw:85vw}.slide figcaption b{font-size:20px}.slide.attente:before{font-size:12px;padding:15px}.atelier-wide{height:260px;margin-bottom:28px}.nums-grid{gap:16px}.num b{font-size:39px}.num span{font-size:11px}.social-grid{grid-template-columns:1fr;gap:35px}.phone-wrap{width:100%;max-width:310px;padding:15px}.phone-wrap:before{inset:15% -3%}.phone{transform:rotate(3deg)}.review-link{padding-bottom:50px}.review-link>a{flex-direction:column;font-size:13px;gap:7px}.c-grid{grid-template-columns:1fr}.coord .v{font-size:21px}form{padding:22px}.f2{grid-template-columns:1fr}.foot{align-items:flex-start}.foot>div:last-child{gap:14px!important}section[id]{scroll-margin-top:85px}}
.keep-word{white-space:nowrap}
/* Immersive opening: real workshop photography, with legible foreground type. */
.hero{padding:0;background:var(--ink);color:white;overflow:hidden;position:relative}
.hero>.wrap{position:relative;min-height:calc(100svh - 94px);max-width:none;padding-top:34px;padding-bottom:130px;display:flex;flex-direction:column;justify-content:center;isolation:isolate}
.hero-photo{position:absolute;inset:0;height:auto;z-index:-1;overflow:hidden}
.hero-photo>img{height:100%;border-radius:0;object-position:center 53%;transform:scale(1.055);animation:hero-arrive 1.8s cubic-bezier(.2,.6,.3,1) both}
.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,14,18,.83),rgba(12,14,18,.43) 58%,rgba(12,14,18,.15)),linear-gradient(0deg,rgba(12,14,18,.45),transparent 45%)}
.hero-overline{color:#FFFFFF;position:absolute;top:34px;left:var(--gut);right:var(--gut);z-index:2}
.hero h1{font-size:clamp(58px,7.8vw,120px);max-width:17ch;margin:55px 0 26px;position:relative;letter-spacing:-.065em;animation:type-arrive .85s both}
.hero h1 em{color:#009FE3}
.hero-bottom{margin:0;justify-content:flex-start;gap:70px;position:relative;animation:type-arrive 1s .12s both}
.hero-bottom p{color:#FFFFFF;max-width:38ch}.round-link{color:white}.round-link span{border-color:#FFFFFF}.round-link:hover span{background:white;color:var(--ink)}
.photo-label{z-index:2;background:none;bottom:22px;padding:0 var(--gut);color:#FFFFFF}
.photo-stamp{z-index:3;top:auto;right:var(--gut);bottom:85px;width:122px;height:122px;background:#CCFF00;transform:rotate(8deg)}
.hero-progress{position:absolute;bottom:0;left:0;height:3px;background:#009FE3;width:100%;transform:scaleX(0);transform-origin:left;z-index:4}
@keyframes hero-arrive{from{transform:scale(1.13)}to{transform:scale(1.055)}}
@keyframes type-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(min-width:1000px){.hero>.wrap{min-height:740px;min-height:max(680px,calc(100svh - 94px))}.portfolio .tuile:nth-child(-n+3){aspect-ratio:3/4}.social{padding:140px 0}}
@media(max-width:720px){.hero>.wrap{min-height:calc(100svh - 76px);padding-top:95px;padding-bottom:105px;justify-content:center}.hero-overline{top:24px}.hero h1{font-size:clamp(43px,10.4vw,74px);max-width:15ch;margin:15px 0 24px}.hero-bottom{gap:22px;margin:0}.hero-bottom p{font-size:13px;max-width:30ch}.hero-photo{height:auto}.hero-photo>img{object-position:58% center}.hero-photo:after{background:linear-gradient(90deg,#0c0e12ce,#0c0e126b),linear-gradient(0deg,#0c0e1266,transparent)}.photo-label{bottom:23px;padding:0 var(--gut);font-size:10px}.photo-stamp{display:none}.round-link span{width:43px;height:43px}.strip{margin-top:0}}
@media(prefers-reduced-motion:reduce){.motion .reveal{opacity:1;transform:none}.phone,.photo-stamp,.hero-photo>img{transform:none}.hero h1,.hero-bottom,.hero-photo>img{animation:none}}

/* Palette verrouillée : cyan, blanc, anthracite/noir, accents jaune fluo. */
.hero-overline:before{content:"";width:7px;height:7px;background:var(--fluo);border-radius:50%;margin-right:10px;flex-shrink:0}.hero-overline{justify-content:flex-start;align-items:center}.hero-overline span:last-child{margin-left:auto}.btn-cy{color:var(--ink)}.btn-cy:hover{background:var(--fluo);color:var(--ink)}.phone-wrap:before{background:var(--fluo);opacity:.55}.hero-progress{background:var(--fluo)}
