/* PierreDo : noir et blanc, typo serrée, un seul accent. Aucune dépendance. */
@font-face{font-family:Bricolage;src:url(/fonts/bricolage-grotesque-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Bricolage;src:url(/fonts/bricolage-grotesque-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-600.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --ink:#0a0a0a; --ink2:#151515; --paper:#f4f3ef; --paper2:#eae8e1; --white:#fff; --acc:#ff4d1a; --mute:#6c6b65; --lt:rgba(255,255,255,.14); --dk:rgba(10,10,10,.12);
  --disp:Bricolage,"Helvetica Neue",Arial,sans-serif; --body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --w:1240px; --g:22px; --r:26px; --ease:cubic-bezier(.2,.75,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit}
p{margin:0 0 1.1em}
h1,h2,h3{font-family:var(--disp);font-weight:800;line-height:.98;margin:0 0 .5em;letter-spacing:-.035em}
h1{font-size:clamp(2.9rem,9vw,7.4rem)}
h2{font-size:clamp(2.1rem,5.4vw,4rem)}
h3{font-size:clamp(1.3rem,2.6vw,1.65rem);letter-spacing:-.02em;line-height:1.08}
:focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--acc);color:var(--ink);padding:10px 16px;font-weight:600;z-index:999;border-radius:99px}
.skip:focus{left:8px}
.wrap{width:min(var(--w),100% - 2*var(--g));margin-inline:auto}
.dark{color:var(--paper)}
.prog{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--acc);z-index:120}

/* en-tête */
.hd{position:sticky;top:0;z-index:100;background:#0a0a0a;color:var(--paper);border-bottom:1px solid #1f1f1f}
.hd__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;font:800 1.5rem/1 var(--disp);letter-spacing:-.04em}
.logo img{width:38px;height:38px;border-radius:11px;transition:transform .6s var(--ease)}
.logo:hover img{transform:rotate(200deg)}
.logo b{font-weight:800;position:relative}
.logo b::after{content:"";display:inline-block;width:.24em;height:.24em;background:var(--acc);border-radius:50%;margin-left:.06em}
.nav{display:none}
.nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;align-items:center}
.nav li{position:relative}
.nav a{font:600 .93rem/1 var(--body);text-decoration:none;padding:14px 13px;display:block;color:#d8d6ce;position:relative;transition:color .2s}
.nav>ul>li>a::after{content:"";position:absolute;left:13px;right:13px;bottom:8px;height:2px;background:var(--acc);transform:scaleX(0);transform-origin:0;transition:transform .35s var(--ease)}
.nav>ul>li:hover>a,.nav>ul>li:focus-within>a{color:#fff}
.nav>ul>li:hover>a::after,.nav>ul>li:focus-within>a::after{transform:scaleX(1)}
.nav .dd{position:absolute;left:0;top:calc(100% - 4px);min-width:290px;background:var(--ink2);border:1px solid var(--lt);border-radius:18px;padding:8px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s var(--ease);box-shadow:0 24px 60px rgba(0,0,0,.5)}
.nav li:hover>.dd,.nav li:focus-within>.dd{opacity:1;visibility:visible;transform:none}
.nav .dd a{padding:12px 14px;border-radius:11px;font-weight:400;font-size:.95rem}
.nav .dd a:hover{background:#242424;color:#fff}
.burger{width:50px;height:46px;border:1px solid var(--lt);background:transparent;border-radius:99px;cursor:pointer;display:grid;place-content:center;gap:5px;padding:0}
.burger i{display:block;width:20px;height:2px;background:#fff;transition:.3s var(--ease);border-radius:2px}
.burger[aria-expanded=true] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){opacity:0}
.burger[aria-expanded=true] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hd__cta{display:none}
.menu{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:99;padding:96px var(--g) 120px;overflow:auto;clip-path:circle(0 at calc(100% - 44px) 36px);visibility:hidden;transition:clip-path .6s var(--ease),visibility 0s .6s}
.menu.open{clip-path:circle(150% at calc(100% - 44px) 36px);visibility:visible;transition:clip-path .6s var(--ease)}
.menu a{text-decoration:none}
.menu__big{list-style:none;margin:0 0 24px;padding:0}
.menu__big li{border-bottom:1px solid var(--lt)}
.menu__big a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;font:800 clamp(1.8rem,7.4vw,2.7rem)/1 var(--disp);letter-spacing:-.035em}
.menu__big a::after{content:"→";color:var(--acc);font:400 1.4rem var(--body)}
.menu__sub{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;padding:0;list-style:none}
.menu__sub a{display:block;border:1px solid var(--lt);border-radius:99px;padding:10px 15px;font-size:.95rem}
.menu__sub a:active{background:var(--paper);color:var(--ink)}
.menu h2{font:600 .78rem/1 var(--body);letter-spacing:.16em;color:#8d8b83;margin:22px 0 12px;text-transform:uppercase}
body.lock{overflow:hidden}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 26px;border-radius:99px;background:var(--acc);color:var(--ink);font:600 1rem/1.1 var(--body);text-decoration:none;cursor:pointer;border:1.5px solid var(--acc);transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s;-webkit-tap-highlight-color:transparent}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px -10px rgba(255,77,26,.65)}
.btn:active{transform:none;box-shadow:none}
.btn svg{width:21px;height:21px;flex:none}
.btn--paper{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.btn--paper:hover{box-shadow:0 14px 30px -12px rgba(255,255,255,.35)}
.btn--ink{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn--ink:hover{box-shadow:0 14px 30px -12px rgba(0,0,0,.6)}
.dark .btn--ink,.aside__card .btn--ink,.cta .btn--ink{background:transparent;border-color:rgba(255,255,255,.4);color:var(--paper)}
.dark .btn--ink:hover,.aside__card .btn--ink:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn--sm{min-height:46px;padding:10px 20px;font-size:.93rem}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.reveal-num{display:none;margin-top:14px;padding:14px 16px;background:var(--white);color:var(--ink);border-radius:18px;font:800 clamp(1.6rem,6vw,2.1rem)/1 var(--disp);letter-spacing:-.02em;flex-wrap:wrap;gap:12px;align-items:center;animation:pop .4s var(--ease)}
.reveal-num.show{display:flex}
.reveal-num a,.reveal-num button{font:600 .9rem var(--body);background:var(--ink);color:#fff;padding:10px 16px;border-radius:99px;text-decoration:none;border:0;cursor:pointer}
.reveal-num button{background:var(--acc);color:var(--ink)}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}}

/* hero */
.hero{position:relative;background:#000;color:var(--paper);overflow:hidden;isolation:isolate}
.hero__img{position:absolute;inset:0;z-index:0}
.hero__img img{position:absolute;right:-6%;bottom:0;height:100%;width:auto;max-width:none;will-change:transform;opacity:0;animation:imgin 1.6s .1s var(--ease) forwards}
@keyframes imgin{from{opacity:0;transform:scale(1.06)}to{opacity:.95;transform:none}}
.hero__in{position:relative;z-index:2;padding:52px 0 64px;min-height:min(88vh,780px);display:flex;flex-direction:column;justify-content:center}
.kick,.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 .78rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase}
.kick{align-self:flex-start;border:1px solid rgba(255,255,255,.28);border-radius:99px;padding:10px 16px;margin-bottom:26px;color:#e6e4dc}
.kick::before,.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acc);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,77,26,.6)}70%,100%{box-shadow:0 0 0 10px rgba(255,77,26,0)}}
.eyebrow{color:var(--mute);margin-bottom:16px}
.dark .eyebrow{color:#a5a39a}
.hero h1{margin-bottom:.3em;max-width:8.6em}
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.hero h1 .line>span{display:block;transform:translateY(112%);animation:up 1s var(--ease) forwards}
.hero h1 .line:nth-child(2)>span{animation-delay:.1s}
.hero h1 .line:nth-child(3)>span{animation-delay:.2s}
.hero h1 em{font-style:normal;text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:.07em;text-underline-offset:.09em;text-decoration-skip-ink:none}
@keyframes up{to{transform:none}}
.hero__lead{max-width:30em;font-size:clamp(1.05rem,2.2vw,1.28rem);color:#cfcdc4;margin-bottom:30px;opacity:0;animation:fade .9s .5s forwards;line-height:1.55}
.hero .btns{opacity:0;animation:fade .9s .65s forwards}
@keyframes fade{to{opacity:1}}
.chips{display:flex;flex-wrap:wrap;gap:10px 26px;margin:34px 0 0;padding:26px 0 0;border-top:1px solid var(--lt);list-style:none;opacity:0;animation:fade .9s .85s forwards;max-width:640px}
.chips li{font:600 .9rem/1.3 var(--body);color:#b9b7ae}
.chips li::before{content:"";display:inline-block;width:6px;height:6px;background:var(--acc);border-radius:50%;margin-right:10px;vertical-align:middle}

/* défilé de mots */
.ticker{background:#000;color:var(--paper);overflow:hidden;white-space:nowrap;border-block:1px solid #1f1f1f;font:800 clamp(2rem,5.6vw,4.4rem)/1 var(--disp);letter-spacing:-.035em}
.ticker__in{display:inline-flex;padding:22px 0;animation:tick 42s linear infinite;will-change:transform}
.ticker span{display:inline-flex;align-items:center;gap:36px;padding-right:36px}
.ticker span::after{content:"";width:.28em;height:.28em;border-radius:50%;background:var(--acc)}
.ticker span:nth-child(even){color:transparent;-webkit-text-stroke:1.5px rgba(244,243,239,.55)}
@keyframes tick{to{transform:translateX(-50%)}}

/* sections */
.sec{padding:clamp(64px,9vw,120px) 0;position:relative}
.sec--ink{background:var(--ink);color:var(--paper)}
.sec--paper2{background:var(--paper2)}
.sec--acid{background:var(--white)}
.sec__h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 44px;margin-bottom:clamp(30px,5vw,56px)}
.sec__h h2{margin:0;max-width:12em}
.sec__h p{margin:0;max-width:28em;color:var(--mute)}
.sec--ink .sec__h p{color:#a5a39a}

/* cartes prestations */
.grid{display:grid;gap:14px;grid-template-columns:1fr}
.card{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--white);color:var(--ink);border-radius:var(--r);padding:28px 28px 24px;text-decoration:none;min-height:230px;overflow:hidden;transition:transform .45s var(--ease),background .35s,color .35s;isolation:isolate}
.card::after{content:"";position:absolute;inset:auto -30% -60% auto;width:70%;aspect-ratio:1;border-radius:50%;background:var(--acc);opacity:0;transform:scale(.4);transition:.5s var(--ease);z-index:-1}
.card:hover{background:var(--ink);color:var(--paper);transform:translateY(-6px)}
.card:hover::after{opacity:.9;transform:scale(1)}
.card__n{font:600 .82rem/1 var(--body);letter-spacing:.12em;color:var(--mute);transition:color .3s}
.card:hover .card__n{color:#a5a39a}
.card h3{margin:.4em 0 0;font-size:clamp(1.5rem,3vw,1.9rem)}
.card p{margin:0;color:var(--mute);font-size:.98rem;line-height:1.5;transition:color .3s}
.card:hover p{color:#cfcdc4}
.card__go{margin-top:auto;padding-top:14px;font:600 .92rem var(--body);display:flex;align-items:center;gap:12px}
.card__go::after{content:"→";display:grid;place-content:center;width:38px;height:38px;border-radius:50%;border:1.5px solid currentColor;transition:transform .4s var(--ease),background .3s,color .3s}
.card:hover .card__go::after{transform:rotate(-45deg);background:var(--paper);color:var(--ink);border-color:var(--paper)}
.card--wide{background:var(--ink);color:var(--paper)}
.card--wide p,.card--wide .card__n{color:#a5a39a}
.card--wide:hover{background:var(--acc);color:var(--ink)}
.card--wide:hover p,.card--wide:hover .card__n{color:rgba(10,10,10,.75)}
.card--wide:hover::after{display:none}
.card--wide:hover .card__go::after{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* mouvements */
.moves{display:grid;grid-template-columns:1fr;border-top:1px solid var(--lt)}
.move{padding:32px 4px;border-bottom:1px solid var(--lt);position:relative}
.move h3{color:#fff;margin:0 0 .4em;font-size:1.8rem}
.move p{margin:0;color:#a5a39a;font-size:1rem}
.move .ico{width:64px;height:64px;margin-bottom:20px;position:relative}
.ico i{position:absolute;display:block}
.ico--top i{left:10px;bottom:4px;width:12px;height:48px;background:#fff;border-radius:8px;transform-origin:50% 100%;animation:sway 1.5s ease-in-out infinite alternate}
.ico--top i:nth-child(2){left:36px;height:34px;background:var(--acc);animation-delay:.35s}
@keyframes sway{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}
.ico--foot i{width:14px;height:14px;background:#fff;border-radius:50%;left:25px;top:25px;animation:orbit 2.8s linear infinite}
.ico--foot i:nth-child(2){animation-delay:-.7s;background:var(--acc)}
.ico--foot i:nth-child(3){animation-delay:-1.4s}
.ico--foot i:nth-child(4){animation-delay:-2.1s;background:var(--acc)}
@keyframes orbit{from{transform:rotate(0) translateX(22px) rotate(0)}to{transform:rotate(360deg) translateX(22px) rotate(-360deg)}}
.ico--freeze i{left:6px;bottom:4px;width:52px;height:10px;background:#fff;border-radius:6px}
.ico--freeze i:nth-child(2){left:26px;bottom:12px;width:12px;height:36px;background:var(--acc);transform-origin:50% 100%;animation:freeze 3.2s var(--ease) infinite}
@keyframes freeze{0%{transform:rotate(-40deg)}35%{transform:rotate(45deg)}55%,90%{transform:rotate(180deg)}100%{transform:rotate(-40deg)}}
.ico--power i{left:4px;top:4px;width:56px;height:56px;border:5px solid #fff;border-right-color:transparent;border-radius:50%;animation:spin 1.2s linear infinite}
.ico--power i:nth-child(2){left:20px;top:20px;width:24px;height:24px;border-color:var(--acc);border-left-color:transparent;animation-duration:.8s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}

/* portrait + texte */
.split{display:grid;gap:36px;align-items:center}
.polaroid{position:relative;margin:0 auto;width:100%;max-width:470px;border-radius:var(--r);overflow:hidden;background:#000}
.polaroid img{width:100%;height:auto;aspect-ratio:640/990;object-fit:cover;transition:transform 1.2s var(--ease)}
.polaroid:hover img{transform:scale(1.05)}
.polaroid figcaption{position:absolute;left:16px;bottom:16px;background:rgba(10,10,10,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:9px 16px;border-radius:99px;font:600 .85rem/1 var(--body)}
.prose h2{font-size:clamp(1.8rem,4vw,2.7rem);margin-top:1.4em;letter-spacing:-.03em}
.prose>h2:first-child,.prose>.eyebrow+h2{margin-top:0}
.prose h3{margin-top:1.4em}
.prose ul{padding:0;list-style:none;margin:0 0 1.3em}
.prose li{position:relative;padding:11px 0 11px 30px;border-bottom:1px solid var(--dk)}
.prose li::before{content:"";position:absolute;left:2px;top:1.15em;width:9px;height:9px;background:var(--acc);border-radius:50%}
.prose a{font-weight:600;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--acc)}
.prose a:hover{text-decoration-color:var(--ink);background:rgba(255,77,26,.12)}
.prose strong{font-weight:600}
.sec--ink .prose li{border-color:var(--lt)}

/* étapes */
.steps{display:grid;gap:0;counter-reset:s;padding:0;margin:0;list-style:none;border-top:1px solid var(--dk)}
.steps li{counter-increment:s;position:relative;padding:34px 0 34px 96px;border-bottom:1px solid var(--dk)}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:26px;font:800 3.4rem/1 var(--disp);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--ink);transition:.4s}
.steps li:hover::before{color:var(--acc);-webkit-text-stroke-color:var(--acc)}
.steps h3{margin:0 0 .3em;font-size:1.7rem}
.steps p{margin:0;color:var(--mute)}

/* zones */
.zones{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 30px}
.zones a{display:inline-block;padding:14px 24px;border-radius:99px;border:1.5px solid var(--ink);font:600 1.02rem/1 var(--body);text-decoration:none;transition:.3s var(--ease)}
.zones a:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px)}

/* galerie */
.gal{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.gal figure{margin:0;position:relative;overflow:hidden;border-radius:var(--r);background:#000}
.gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform 1.1s var(--ease)}
.gal figure:hover img{transform:scale(1.06)}
.gal .wide{grid-column:1/-1}
.gal .wide img{aspect-ratio:16/8;object-position:50% 38%}

/* FAQ */
.faq{display:grid;gap:10px;max-width:920px}
.faq details{background:var(--white);border-radius:20px;transition:box-shadow .3s}
.faq details[open]{box-shadow:0 18px 40px -22px rgba(0,0,0,.3)}
.faq summary{list-style:none;cursor:pointer;padding:22px 66px 22px 26px;font:600 1.12rem/1.3 var(--body);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:26px;top:50%;width:16px;height:2px;background:var(--ink);transition:transform .35s var(--ease)}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(0)}
.faq details[open] summary::before{background:var(--acc)}
.faq .a{padding:0 26px 8px;color:#3c3b37}

/* bande d'appel */
.cta{position:relative;background:var(--ink);color:var(--paper);overflow:hidden;isolation:isolate}
.cta::before{content:"";position:absolute;width:60vmax;height:60vmax;right:-20vmax;top:-30vmax;background:radial-gradient(closest-side,rgba(255,77,26,.28),rgba(255,77,26,0));z-index:-1;animation:drift 14s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(-14vmax,10vmax)}}
.cta__in{padding:clamp(64px,9vw,120px) 0;display:grid;gap:30px}
.cta h2{margin:0 0 .3em;font-size:clamp(2.4rem,7.4vw,5.6rem);max-width:10.5em}
.cta p{margin:0;max-width:30em;color:#b9b7ae;font-size:1.1rem}

/* page intérieure */
.ph{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;isolation:isolate}
.ph::before{content:"";position:absolute;width:44vmax;height:44vmax;right:-14vmax;top:-26vmax;background:radial-gradient(closest-side,rgba(255,77,26,.2),rgba(255,77,26,0));z-index:-1}
.ph__in{position:relative;padding:34px 0 clamp(48px,7vw,88px)}
.ph h1{font-size:clamp(2.5rem,7.4vw,5.6rem);max-width:11.5em;margin-bottom:.4em}
.ph__lead{font-size:clamp(1.05rem,2.2vw,1.3rem);max-width:34em;color:#cfcdc4;margin-bottom:28px;line-height:1.55}
.ph .kick{margin-bottom:18px}
.ph__word{display:none}
.crumbs{font:400 .85rem/1 var(--body);color:#8d8b83;margin-bottom:34px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.crumbs li{list-style:none;display:flex;gap:8px}
.crumbs li+li::before{content:"/";color:#555}
.crumbs a{text-decoration:none;color:#cfcdc4}
.crumbs a:hover{color:#fff;text-decoration:underline}
.layout{display:grid;gap:40px;padding:clamp(48px,7vw,90px) 0}
.aside{align-self:start}
.aside__card{background:var(--ink);color:var(--paper);border-radius:var(--r);padding:28px}
.aside__card h2{font-size:2rem;margin-bottom:.3em}
.aside__card p{font-size:.98rem;color:#b9b7ae}
.aside__card .btns{flex-direction:column}
.aside__card .btn{width:100%}
.aside__links{margin:20px 0 0;padding:0;list-style:none}
.aside__links a{display:flex;justify-content:space-between;padding:15px 4px;border-bottom:1px solid var(--dk);font:600 .95rem var(--body);text-decoration:none;transition:.3s var(--ease)}
.aside__links a::after{content:"→";color:var(--acc)}
.aside__links a:hover{padding-left:12px}

/* formulaire */
.form{display:grid;gap:16px;background:var(--white);border-radius:var(--r);padding:clamp(22px,4vw,36px)}
.form label{display:block;font:600 .8rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px;color:var(--mute)}
.form input,.form select,.form textarea{width:100%;font:400 1.05rem/1.4 var(--body);padding:15px 16px;border:1.5px solid #d9d7cf;background:#faf9f6;color:var(--ink);border-radius:14px;appearance:none;-webkit-appearance:none;transition:border-color .2s,box-shadow .2s,background .2s}
.form select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 22px) 55%,calc(100% - 16px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(255,77,26,.25);background:#fff}
.form .row{display:grid;gap:16px}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form small{color:var(--mute);font-size:.88rem;line-height:1.4;display:block}
.form-msg{display:none;padding:16px;border-radius:14px;font-weight:600}
.form-msg.ok{display:block;background:#dff5df;color:#14501b}
.form-msg.ko{display:block;background:#ffe1d8;color:#8a2508}
.contact-grid{display:grid;gap:36px}
.direct{display:grid;gap:12px}
.direct .btn{justify-content:flex-start;min-height:66px;font-size:1.08rem}

/* liens associés + blog */
.rel{display:grid;gap:12px;grid-template-columns:1fr}
.rel a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:22px 24px;border-radius:20px;background:var(--white);text-decoration:none;font:800 1.3rem/1.1 var(--disp);letter-spacing:-.025em;transition:.4s var(--ease)}
.rel a::after{content:"→";font:400 1.3rem var(--body);color:var(--acc);transition:transform .4s var(--ease)}
.rel a:hover{background:var(--ink);color:var(--paper);transform:translateY(-4px)}
.rel a:hover::after{transform:translateX(6px)}
.post-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;background:var(--white);border-radius:var(--r);padding:28px;min-height:250px;transition:.45s var(--ease)}
.post-card:hover{background:var(--ink);color:var(--paper);transform:translateY(-6px)}
.post-card h3{margin:0;font-size:1.8rem}
.post-card p{margin:0;color:var(--mute)}
.post-card:hover p{color:#cfcdc4}
.meta{font:600 .78rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.card__go2{margin-top:auto}

/* pied */
.ft{background:var(--ink);color:var(--paper);padding:clamp(56px,7vw,90px) 0 140px}
.ft__grid{display:grid;gap:36px}
.ft h2{font:600 .78rem/1 var(--body);letter-spacing:.16em;color:#8d8b83;margin:0 0 16px;text-transform:uppercase}
.ft ul{list-style:none;margin:0;padding:0}
.ft a{display:block;padding:6px 0;text-decoration:none;color:#d8d6ce;transition:color .2s,padding .3s var(--ease)}
.ft a:hover{color:#fff;padding-left:6px}
.ft .logo{font-size:2.3rem;margin-bottom:16px;color:var(--paper)}
.ft .logo:hover{padding-left:0}
.ft__about{color:#a5a39a;max-width:26em;font-size:.98rem}
.ft .btn{display:inline-flex;padding:10px 20px;color:var(--ink)}
.ft .btn:hover{padding-left:20px;color:var(--ink)}
.ft .btn--ink,.ft .btn--ink:hover{background:transparent;border-color:rgba(255,255,255,.4);color:var(--paper)}
.ft .btn--ink:hover{background:var(--paper);color:var(--ink)}
.ft__base{margin-top:48px;padding-top:24px;border-top:1px solid var(--lt);display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:space-between;color:#8d8b83;font-size:.88rem}
.ft__base a{display:inline;padding:0;color:#8d8b83;text-decoration:underline}
.ft__base a:hover{padding:0;color:#fff}

/* barre mobile flottante */
.sticky{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:90;display:grid;grid-template-columns:1.3fr 1.15fr 1fr 1fr;gap:4px;padding:5px;background:rgba(10,10,10,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:24px;box-shadow:0 18px 40px -8px rgba(0,0,0,.55);border:1px solid var(--lt)}
.sticky a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:58px;color:var(--paper);border-radius:19px;font:600 .68rem/1 var(--body);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;-webkit-tap-highlight-color:transparent}
.sticky svg{width:22px;height:22px}
.sticky--3{grid-template-columns:1.3fr 1.15fr 1fr}
.sticky .main{background:var(--acc);color:var(--ink)}
.sticky a:active{transform:scale(.96)}

/* apparition */
.js .rv{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .rv-l{clip-path:inset(0 0 100% 0 round 26px);transition:clip-path 1.2s var(--ease)}
.js .rv-l.in{clip-path:inset(0 0 0 0 round 26px)}

/* 404 */
.nf{padding:90px 0}
.nf h1{font-size:clamp(7rem,32vw,20rem);line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px var(--ink)}

@media (min-width:640px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .moves{grid-template-columns:repeat(2,1fr)}
  .move{padding-right:24px}
  .form .row{grid-template-columns:1fr 1fr}
  .rel{grid-template-columns:1fr 1fr}
  .ft__grid{grid-template-columns:1.4fr 1fr 1fr}
}
@media (min-width:1000px){
  html{scroll-padding-top:92px}
  .nav{display:block}
  .burger,.menu{display:none}
  .hd__cta{display:inline-flex}
  .sticky{display:none}
  .ft{padding-bottom:70px}
  .grid{grid-template-columns:repeat(3,1fr)}
  .card--wide{grid-column:span 2}
  .moves{grid-template-columns:repeat(4,1fr)}
  .move{padding:34px 26px;border-left:1px solid var(--lt);border-bottom:0}
  .move:first-child{border-left:0;padding-left:4px}
  .split{grid-template-columns:.8fr 1.2fr;gap:84px}
  .steps{grid-template-columns:repeat(3,1fr);border-bottom:0}
  .steps li{padding:118px 28px 30px 0;border-bottom:0;border-right:1px solid var(--dk)}
  .steps li+li{padding-left:28px}
  .steps li:last-child{border-right:0}
  .steps li::before{top:30px;font-size:4.4rem}
  .steps li+li::before{left:28px}
  .layout{grid-template-columns:1fr 350px;gap:70px}
  .aside{position:sticky;top:100px}
  .contact-grid{grid-template-columns:1.2fr 1fr;gap:64px}
  .cta__in{grid-template-columns:1.5fr 1fr;align-items:center}
  .rel{grid-template-columns:repeat(3,1fr)}
  .hero__img{inset:auto -16vw 0 auto;width:min(104vw,1320px);height:auto}
  .hero__img img{position:static;right:auto;bottom:auto;width:100%;height:auto}
  .hero__lead{max-width:27em}
  .hero__in{padding:76px 0 96px}
  .ft__grid{grid-template-columns:1.6fr 1fr 1fr 1fr}
}
@media (max-width:639px){
  body{padding-bottom:0}
  .hero__in{padding-bottom:130px}
  .hero h1{font-size:clamp(3rem,15.4vw,4.6rem)}
  .btns .btn{flex:1 1 100%}
  .hero .btns{max-width:420px}
  .kick{font-size:.7rem;letter-spacing:.11em;padding:9px 14px}
  .steps li{padding-left:84px}
}

/* hero mobile et tablette : la photo d'abord, en grand, fondue vers le noir */
@media (max-width:999px){
  .hero{display:flex;flex-direction:column}
  .hero__img{position:relative;inset:auto;order:0;aspect-ratio:1/1;overflow:hidden;-webkit-mask-image:linear-gradient(#000 62%,transparent);mask-image:linear-gradient(#000 62%,transparent)}
  .hero__img img{position:static;width:100%;height:100%;object-fit:cover;object-position:47% 35%}
  .hero__in{margin-top:-16vw;min-height:auto;padding-top:0}
}
@media (min-width:640px) and (max-width:999px){
  .hero__img{aspect-ratio:16/10}
  .hero__img img{object-position:47% 30%}
  .hero__in{margin-top:-9vw}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .hero h1 .line>span,.hero__lead,.hero .btns,.chips,.hero__img img{opacity:1;transform:none}
  .js .rv,.js .rv-l{opacity:1;transform:none;clip-path:none}
  .ticker__in{animation:none}
}
@media print{.hd,.sticky,.ticker,.menu{display:none}}
