@font-face{font-family:'Bootzy';src:url(fonts/bootzy.ttf) format('truetype');font-display:swap}
@font-face{font-family:'Neutral Face';src:url(fonts/neutral-face.otf) format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Neutral Face';src:url(fonts/neutral-face-bold.otf) format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:'Raw Serif';src:url(fonts/raw-serif.ttf) format('truetype');font-display:swap}
@font-face{font-family:'Biro';src:url(fonts/biro-script.otf) format('opentype');font-display:swap}

:root{
  --papier:#FAF5E6;--chiffon:#FFF8CA;--encre:#2D120D;--sang:#6B0B0C;--rose:#EAD5D2;
  --encre-70:rgba(45,18,13,.7);--encre-50:rgba(45,18,13,.5);--encre-25:rgba(45,18,13,.25);--encre-12:rgba(45,18,13,.12);
  --papier-70:rgba(250,245,230,.7);--papier-40:rgba(250,245,230,.4);
  --display:'Bootzy',system-ui,sans-serif;--struct:'Neutral Face',system-ui,sans-serif;
  --serif:'Raw Serif',Georgia,serif;--script:'Biro',cursive;
  --ease:cubic-bezier(.22,.9,.24,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:linear-gradient(var(--papier) 0 50%,var(--encre) 50% 100%)}
body{background:var(--papier);color:var(--encre);font-family:var(--serif);font-size:17px;line-height:1.75}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--sang);color:var(--papier)}
a:focus-visible,button:focus-visible{outline:2px solid var(--sang);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 5vw}

/* ---------- typographie ---------- */
.label{font-family:var(--struct);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:400}
.label.sang{color:var(--sang)}
.mix{font-weight:400;line-height:.98}
.mix span{display:block}
.mix .fin{font-family:var(--serif);font-weight:400;font-size:.62em;line-height:1.1;letter-spacing:-.01em}
.mix .ital{font-family:var(--serif);font-style:italic;font-weight:400;font-size:.62em;line-height:1.1;color:var(--sang)}
.mix .cap{font-family:var(--display);font-size:1em;line-height:.92;padding-top:.06em}
.biro{font-family:var(--script);color:var(--sang);font-size:22px;line-height:1.2;transform:rotate(-3deg);display:inline-block}
.btn{display:inline-block;font-family:var(--struct);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;
  padding:16px 32px;border:1px solid var(--encre);border-radius:100px;background:transparent;color:var(--encre);cursor:pointer;transition:background .3s,color .3s}
.btn:hover{background:var(--encre);color:var(--papier)}
.btn.plein{background:var(--sang);border-color:var(--sang);color:var(--papier)}
.btn.plein:hover{background:transparent;color:var(--sang)}
.btn.clair{border-color:var(--papier);color:var(--papier)}
.btn.clair:hover{background:var(--papier);color:var(--encre)}
.lien{font-family:var(--struct);font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--sang);padding-bottom:4px}

/* ---------- objets d'archive ---------- */
.tape{position:relative}
.tape::before{content:"";position:absolute;top:-14px;left:50%;width:120px;height:30px;transform:translateX(-50%) rotate(-3deg);
  background:rgba(214,184,140,.72);box-shadow:0 1px 2px rgba(45,18,13,.15);z-index:3;
  -webkit-mask:linear-gradient(90deg,transparent 0 3%,#000 3% 97%,transparent 97%);mask:linear-gradient(90deg,transparent 0 3%,#000 3% 97%,transparent 97%)}
.tape.coin::before{top:-10px;left:auto;right:-26px;transform:rotate(38deg);width:100px}
.photo{position:relative;background:#fff;padding:10px 10px 12px;box-shadow:0 18px 40px rgba(45,18,13,.18)}
.photo img{width:100%;height:auto}
.tranche{position:absolute;left:0;top:0;bottom:0;width:62px;background:var(--sang);color:var(--papier);
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:28px 0;z-index:2}
.tranche span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--struct);font-size:11px;letter-spacing:.3em;text-transform:uppercase}
.tranche em{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--serif);font-style:italic;font-size:15px;color:var(--rose)}
.spin{will-change:transform;display:inline-block}
@keyframes tourne{to{transform:rotate(360deg)}}
.tourne{animation:tourne 18s linear infinite}

/* ---------- reveals ---------- */
.js .rv{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .rv-g{opacity:0;transform:translateX(-70px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv-d{opacity:0;transform:translateX(70px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv-g.in,.js .rv-d.in{opacity:1;transform:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv,.js .rv-g,.js .rv-d{opacity:1;transform:none;transition:none}
  .spin{transform:none !important}.tourne{animation:none}.marquee-track{animation:none !important}
}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;
  background:rgba(250,245,230,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--encre-25)}
.wordmark{font-family:var(--display);font-size:20px;letter-spacing:.02em}
.wordmark b{font-weight:400;color:var(--sang)}
.nav .links{display:flex;gap:30px;align-items:center}
.nav .links a{position:relative;font-family:var(--struct);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.nav .links a::after{content:"";position:absolute;left:0;bottom:-5px;height:1px;width:0;background:var(--sang);transition:width .25s}
.nav .links a:hover::after,.nav .links a[aria-current]::after{width:100%}
.nav .burger{display:none;background:none;border:1px solid var(--encre);border-radius:100px;padding:8px 14px;font-family:var(--struct);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--encre);cursor:pointer}

/* ---------- marquee ---------- */
.marquee{background:var(--sang);color:var(--papier);overflow:hidden;padding:13px 0;border-top:1px solid var(--encre);border-bottom:1px solid var(--encre)}
.marquee.clair{background:var(--chiffon);color:var(--encre);border-color:var(--encre-25)}
.marquee-track{display:flex;width:max-content;animation:defile 32s linear infinite;font-family:var(--struct);font-size:11px;letter-spacing:.26em;text-transform:uppercase;white-space:nowrap}
.marquee-track span{padding:0 28px}
.marquee.lent .marquee-track{animation-duration:70s}
@keyframes defile{to{transform:translateX(-50%)}}

/* ---------- footer ---------- */
footer{background:var(--encre);color:var(--papier);overflow:hidden}
.bande{display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.bande img{width:100%;aspect-ratio:1;object-fit:cover;filter:saturate(.85)}
.foot-inner{max-width:1280px;margin:0 auto;padding:70px 5vw 26px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:70px}
.foot-brand{font-family:var(--display);font-size:22px;display:block;margin-bottom:16px}
.foot-brand b{font-weight:400;color:var(--rose)}
.foot-desc{max-width:40ch;color:var(--papier-70);font-size:15px}
.foot-grid h4{font-family:var(--struct);font-size:9px;letter-spacing:.26em;text-transform:uppercase;margin-bottom:18px;color:var(--papier-40)}
.foot-grid ul{list-style:none}
.foot-grid li{margin-bottom:10px}
.foot-grid ul a{font-family:var(--struct);font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:color .25s}
.foot-grid ul a:hover{color:var(--rose)}
.geant{font-family:var(--display);font-size:clamp(70px,15vw,224px);line-height:.88;color:rgba(250,245,230,.08);user-select:none;display:table;margin:0 auto -12px;text-align:left}
.geant .l2{display:block;white-space:nowrap}
.geant img{display:inline-block;height:.9em;width:auto;vertical-align:baseline;transform:translateY(.12em);margin-left:.04em;opacity:.9}
.foot-bottom{border-top:1px solid rgba(250,245,230,.15);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-family:var(--struct);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--papier-40)}

/* ================= ACCUEIL ================= */
.hero{position:relative;overflow:hidden;padding:70px 5vw 90px;border-bottom:1px solid var(--encre-25);background:url(img/fond-banquette-rose.webp) center/cover}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,245,230,.94) 0%,rgba(250,245,230,.8) 45%,rgba(250,245,230,.68) 100%)}
.hero .hero-grid,.hero .diam{position:relative;z-index:1}
.hero-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:4vw;align-items:center;min-height:78vh}
.hero h1{font-size:clamp(56px,7vw,112px)}
.hero .fig{position:relative;width:100%;aspect-ratio:3/4;max-width:420px;margin:0 auto;background:#fff;padding:10px 10px 44px;box-shadow:0 24px 50px rgba(45,18,13,.2);transform:rotate(-2deg)}
.hero .fig .stack{position:relative;width:100%;height:calc(100% - 0px);overflow:hidden}
.hero .fig .stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.hero .fig .stack img.on{opacity:1}
.hero .fig .biro{position:absolute;left:18px;bottom:6px;font-size:20px;transform:rotate(-2deg)}
.hero .sub{font-size:clamp(17px,1.4vw,19px);color:var(--encre-70);max-width:40ch;margin-bottom:34px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.hero .diam{position:absolute;left:4vw;bottom:6vh;width:clamp(60px,6vw,96px);z-index:0}

.intro{position:relative;overflow:hidden;padding:120px 5vw;border-bottom:1px solid var(--encre-25);
  background:url(img/fond-carrelage-jaune.webp) center/cover}
.intro::before{content:"";position:absolute;inset:0;background:rgba(250,245,230,.62)}
.intro .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.intro .grand{font-family:var(--serif);font-size:clamp(22px,2.3vw,32px);line-height:1.4}
.intro .petit{max-width:46ch;color:var(--encre-70);margin:0 0 30px}
.intro .pola{position:absolute;right:5vw;top:40px;width:150px;transform:rotate(5deg);z-index:1}
.intro .cafe{display:block;width:110px;margin:34px auto 0}
.intro .cta{display:flex;flex-direction:column;align-items:center;width:max-content}

.creations{position:relative;padding:130px 5vw;color:var(--papier);overflow:hidden;
  background:url(img/fond-nyc.webp) center/cover}
.creations::before{content:"";position:absolute;inset:0;background:rgba(45,18,13,.72)}
.creations .wrap{position:relative;z-index:1}
.creations h2{font-size:clamp(40px,4.6vw,72px)}
.creations h2 .fin{color:var(--papier)}
.creations h2 .ital{color:var(--rose)}
.creations .tete{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:50px}
.creations .tete .biro{color:var(--rose)}
.liste{list-style:none;text-align:center;font-family:var(--display);font-size:clamp(34px,5vw,78px);line-height:1.15;max-width:1100px;margin:0 auto}
.liste li{display:inline}
.liste a{display:inline;transition:color .3s}
.liste a:hover{color:var(--rose)}
.liste .sep{color:var(--rose);font-family:var(--serif);font-weight:400;padding:0 .18em}
.liste .n{display:none}
.liste .mini{display:none}
.liste .fleche{display:none}
.peek{position:fixed;right:5vw;top:50%;width:min(34vw,520px);aspect-ratio:16/10;transform:translateY(-50%) rotate(2deg);pointer-events:none;
  opacity:0;transition:opacity .3s;z-index:40;background:#fff;padding:8px;box-shadow:0 30px 60px rgba(45,18,13,.4)}
.peek.on{opacity:1}
.peek img{width:100%;height:100%;object-fit:cover}

.expertises{display:grid;grid-template-columns:1fr 1.15fr;min-height:92vh;background:var(--encre)}
.expertises .visu{position:relative;overflow:hidden;min-height:520px}
.expertises .visu img.fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.expertises .visu::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(45,18,13,.55),transparent 45%)}
.expertises .visu .biro{z-index:2}
.expertises .visu .biro{position:absolute;left:100px;bottom:40px;max-width:30ch;font-size:26px;color:var(--papier);text-shadow:0 2px 14px rgba(45,18,13,.5)}
.expertises .exp-panneau{background:var(--encre);color:var(--papier);padding:90px 5vw 90px 5vw;display:flex;flex-direction:column;justify-content:center}
.expertises h2{font-size:clamp(48px,6vw,96px);margin-bottom:46px}
.expertises h2 .fin{color:var(--papier)}
.expertises h2 .ital{color:var(--rose)}
.exp-liste{list-style:none;border-top:1px solid rgba(250,245,230,.2)}
.exp-liste li{border-bottom:1px solid rgba(250,245,230,.2)}
.exp-liste a{display:grid;grid-template-columns:50px 1fr auto;gap:20px;align-items:baseline;padding:22px 0;transition:padding-left .35s var(--ease)}
.exp-liste a:hover{padding-left:16px}
.exp-liste .n{font-family:var(--struct);font-size:11px;letter-spacing:.2em;color:var(--rose)}
.exp-liste .t{font-family:var(--struct);font-size:clamp(20px,1.9vw,27px);font-weight:400;line-height:1.2}
.exp-liste .t small{display:block;font-family:var(--serif);font-size:15px;color:var(--papier-70);margin-top:6px;line-height:1.5}
.exp-liste .fleche{font-family:var(--display);font-size:26px;color:var(--rose)}

.preuves{position:relative;overflow:hidden;padding:130px 5vw 90px;color:var(--papier);background:url(img/fond-fourrure.webp) center/cover}
.preuves::before{content:"";position:absolute;inset:0;background:rgba(45,18,13,.86)}
.preuves .wrap{position:relative;z-index:1}
.preuves .label{color:var(--rose);display:block;margin-bottom:60px}
.chiffres{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 8vw;max-width:1100px}
.chiffre .big,.chiffre .cap{display:block}
.chiffre .big{font-family:var(--display);font-size:clamp(54px,7vw,120px);line-height:.95}
.chiffre .big.it{font-family:var(--serif);font-style:italic;font-size:clamp(44px,5.6vw,96px);color:var(--rose)}
.chiffre .cap{font-family:var(--struct);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--papier-70);margin-top:10px}
.chiffre .cap em{font-style:italic;font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:15px}
.preuves .vinyle{position:absolute;right:4vw;top:70px;width:clamp(120px,14vw,220px);opacity:.9;z-index:1}
.preuves .outils{margin-top:90px}
.preuves .marquee{margin:0 -5vw}
.preuves .outils .label{margin-bottom:22px}

.temoins{position:relative;overflow:hidden;padding:120px 5vw;border-bottom:1px solid var(--encre-25);background:url(img/fond-carrelage-rose.webp) center/cover}
.temoins::before{content:"";position:absolute;inset:0;background:rgba(250,245,230,.55)}
.temoins .wrap{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.temoins .photo{max-width:380px;transform:rotate(-3deg)}
.cahier{position:relative;background:url(img/feuille-cahier.webp) top left/100% auto;background-color:#fdfcf8;padding:56px 50px 48px 70px;box-shadow:0 20px 44px rgba(45,18,13,.18);min-height:360px}
.cahier::after{content:"";position:absolute;inset:0;background:rgba(250,245,230,.35);mix-blend-mode:multiply;pointer-events:none}
.cahier .q{position:relative;z-index:1;font-family:var(--serif);font-size:clamp(19px,1.8vw,24px);line-height:1.55;min-height:200px}
.cahier .q p{display:none}
.cahier .q p.on{display:block}
.cahier .sig{position:relative;z-index:1;font-family:var(--script);font-size:24px;color:var(--sang);margin-top:24px}
.cahier .ctrl{position:relative;z-index:1;margin-top:30px;display:flex;gap:10px;align-items:center}
.cahier .ctrl button{background:none;border:1px solid var(--encre);border-radius:100px;width:40px;height:40px;cursor:pointer;font-family:var(--display);font-size:16px;color:var(--encre)}
.cahier .ctrl button:hover{background:var(--encre);color:var(--papier)}
.cahier .ctrl .pts{font-family:var(--struct);font-size:11px;letter-spacing:.2em;margin-left:10px;color:var(--encre-50)}

.offres{position:relative;padding:120px 5vw;background:url(img/fond-lin.webp) center/cover}
.offres::before{content:"";position:absolute;inset:0;background:rgba(250,245,230,.25)}
.offres-head{position:relative;z-index:1;max-width:1220px;margin:0 auto 90px}
.offres-head h2{font-size:clamp(52px,8vw,120px)}
.offres-head .note{max-width:36ch;font-size:15.5px;color:var(--encre-70);margin-top:20px}
.pile{position:relative;z-index:1;max-width:1220px;margin:0 auto}
.dossier-wrap{position:sticky;margin-bottom:110px}
.dossier-wrap:nth-child(1){top:20vh}.dossier-wrap:nth-child(2){top:calc(20vh + 54px)}.dossier-wrap:nth-child(3){top:calc(20vh + 108px)}.dossier-wrap:nth-child(4){top:calc(20vh + 162px)}
.dossier-wrap:last-child{margin-bottom:0}
.pile-fin{height:38vh}
.dossier{position:relative;border-radius:0 22px 22px 22px;padding:80px 64px;min-height:56vh;display:grid;grid-template-columns:90px 1fr auto;gap:40px;align-content:center;box-shadow:0 -14px 44px rgba(45,18,13,.12)}
.dossier .tab{position:absolute;top:-44px;left:0;height:44px;padding:0 34px;display:flex;align-items:center;border-radius:16px 16px 0 0;font-family:var(--struct);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700}
.dossier .num{font-family:var(--struct);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding-top:14px}
.dossier h3{font-family:var(--display);font-weight:400;font-size:clamp(32px,3.6vw,52px);line-height:1;margin-bottom:20px}
.dossier p{max-width:58ch;font-size:16px;margin-bottom:16px}
.dossier ul{list-style:none;font-size:15px;max-width:58ch}
.dossier li{padding-left:22px;position:relative;margin-bottom:7px}
.dossier li::before{content:"\2022";position:absolute;left:4px;top:0}
.dossier .tarif{font-family:var(--struct);font-size:10px;letter-spacing:.2em;text-transform:uppercase;text-align:right;padding-top:16px;white-space:nowrap}
.dossier .tarif b{display:block;font-family:var(--display);font-size:28px;letter-spacing:.01em;font-weight:400;margin-top:8px}
.dossier .tarif .btn{margin-top:24px}
.dossier.rose{background:var(--rose)}.dossier.rose .tab{background:var(--rose)}.dossier.rose li::before,.dossier.rose .num{color:var(--sang)}.dossier.rose p,.dossier.rose ul{color:var(--encre-70)}
.dossier.sang{background:var(--sang);color:var(--papier)}.dossier.sang .tab{background:var(--sang);color:var(--papier)}.dossier.sang p,.dossier.sang ul{color:rgba(250,245,230,.82)}.dossier.sang li::before,.dossier.sang .num{color:var(--rose)}.dossier.sang .btn{border-color:var(--papier);color:var(--papier)}.dossier.sang .btn:hover{background:var(--papier);color:var(--sang)}
.dossier.chiffon{background:var(--chiffon)}.dossier.chiffon .tab{background:var(--chiffon)}.dossier.chiffon li::before,.dossier.chiffon .num{color:var(--sang)}.dossier.chiffon p,.dossier.chiffon ul{color:var(--encre-70)}
.dossier.encre{background:var(--encre);color:var(--papier)}.dossier.encre .tab{background:var(--encre);color:var(--papier)}.dossier.encre p,.dossier.encre ul{color:rgba(250,245,230,.75)}.dossier.encre li::before,.dossier.encre .num{color:var(--rose)}.dossier.encre .btn{border-color:var(--papier);color:var(--papier)}.dossier.encre .btn:hover{background:var(--papier);color:var(--encre)}
.dossier .figurine{position:absolute;right:40px;bottom:0;height:min(300px,70%);width:auto;z-index:2}

.scene{position:relative}
.scene-espace{height:340vh}
.scene-colle{position:sticky;top:0;height:100vh;overflow:hidden;background:url(img/nacre.webp) center/cover;color:var(--papier);display:flex;flex-direction:column;justify-content:center}
.scene-colle::before{content:"";position:absolute;inset:0;background:rgba(45,18,13,.8)}
.scene-colle .tigre{position:absolute;right:-4vw;bottom:-6vh;height:88vh;width:auto;opacity:.13;pointer-events:none}
.scene-tete{padding:44px 5vw 0;display:flex;justify-content:space-between;align-items:baseline;gap:20px;position:relative;z-index:1}
.scene-tete .label{color:var(--rose)}
.scene-tete h2{font-size:clamp(40px,5vw,80px)}
.scene-tete h2 .fin{color:var(--papier)}
.piste{display:flex;align-items:center;width:max-content;will-change:transform;padding:40px 5vw 60px;gap:5vw;flex:1;position:relative;z-index:1}
.panneau{width:min(78vw,760px);min-height:420px;flex-shrink:0;border:1px solid rgba(250,245,230,.25);border-radius:22px;padding:56px 54px 60px;background:rgba(45,18,13,.55);backdrop-filter:blur(2px);position:relative}
.panneau .n{font-family:var(--struct);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--rose);display:block;margin-bottom:22px}
.panneau h3{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.6vw,50px);line-height:1;margin-bottom:20px}
.panneau p{color:rgba(250,245,230,.75);font-size:16px;max-width:56ch}
.panneau.fin{background:var(--sang);border-color:var(--sang);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:28px;padding-right:200px}
.panneau.fin h3{font-family:var(--serif);font-style:italic;font-size:clamp(26px,3vw,42px);line-height:1.3}
.panneau.fin .micro{position:absolute;right:24px;bottom:0;height:62%;width:auto}

.appel{padding:130px 5vw;border-bottom:1px solid var(--encre-25);position:relative;overflow:hidden}
.appel .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.appel .photo{max-width:430px;transform:rotate(-2deg)}
.appel .photo .biro{position:absolute;left:20px;bottom:-34px;font-size:24px}
.appel h2{font-size:clamp(44px,5.4vw,84px);margin-bottom:28px}
.appel p{max-width:48ch;color:var(--encre-70);font-size:17px;margin-bottom:34px}
.appel .voies{display:flex;gap:14px;flex-wrap:wrap}
.appel .diam{position:absolute;right:5vw;bottom:40px;width:clamp(60px,6vw,96px)}
.appel .figurine{position:absolute;right:6vw;bottom:0;height:min(360px,60%);width:auto}

/* ================= À PROPOS ================= */
.ap-hero{padding:70px 5vw 100px;border-bottom:1px solid var(--encre-25);position:relative;overflow:hidden}
.ap-hero .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.ap-hero .photo{max-width:460px;transform:rotate(-2deg)}
.ap-hero h1{font-size:clamp(60px,7.5vw,120px);margin:18px 0 36px}
.parcours{padding:120px 5vw;border-bottom:1px solid var(--encre-25);position:relative;overflow:hidden}
.parcours .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:start}
.parcours h2{font-size:clamp(44px,5.4vw,84px);margin-bottom:40px}
.parcours .txt p{margin-bottom:22px;max-width:58ch}
.parcours .txt p:first-of-type{font-size:19px}
.parcours .cote{position:sticky;top:120px}
.parcours .cote img.moi{width:100%;max-width:380px;margin-left:auto}
.parcours .coquillage{width:130px;transform:rotate(-15deg);margin:10px 0 0 60px}
.crois{padding:120px 5vw;background:var(--chiffon);border-bottom:1px solid var(--encre-25);position:relative;overflow:hidden}
.crois .wrap{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:center}
.crois h2{font-size:clamp(44px,5.4vw,84px);margin-bottom:40px}
.crois ol{list-style:none;border-top:1px solid var(--encre-25)}
.crois li{border-bottom:1px solid var(--encre-25);padding:26px 0;display:grid;grid-template-columns:50px 1fr;gap:20px}
.crois li .n{font-family:var(--struct);font-size:11px;letter-spacing:.2em;color:var(--sang);padding-top:6px}
.crois li b{display:block;font-family:var(--struct);font-weight:700;font-size:18px;margin-bottom:6px}
.crois li p{color:var(--encre-70);max-width:52ch}
.crois .photo{max-width:340px;margin:0 auto;transform:rotate(3deg)}
.crois .photo .biro{position:absolute;left:16px;bottom:-30px}
.deux{display:grid;grid-template-columns:1fr 1fr;position:relative;border-bottom:1px solid var(--encre-25)}
.deux img{width:100%;height:80vh;object-fit:cover}
.deux img:nth-child(2){object-position:center 18%}
.deux .centre{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--papier);padding:18px 30px;border-radius:100px;font-family:var(--struct);font-size:11px;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;box-shadow:0 10px 30px rgba(45,18,13,.25)}
.deux .centre:hover{background:var(--encre);color:var(--papier)}
.compose{position:relative;overflow:hidden;padding:120px 5vw;border-bottom:1px solid var(--encre-25);background:url(img/fond-voiture.webp) center/cover}
.compose::before{content:"";position:absolute;inset:0;background:rgba(250,245,230,.45)}
.compose .wrap{position:relative;z-index:1}
.compose h2{font-size:clamp(44px,5.4vw,84px);margin-bottom:60px}
.cartes{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.carte{background:#fff;padding:12px 12px 22px;box-shadow:0 18px 40px rgba(45,18,13,.16);position:relative}
.carte:nth-child(odd){transform:rotate(-2deg)}.carte:nth-child(even){transform:rotate(2deg)}
.carte img.ph{width:100%;aspect-ratio:4/5;object-fit:cover}
.carte .et{font-family:var(--struct);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--sang);margin:18px 6px 6px}
.carte h3{font-family:var(--display);font-weight:400;font-size:28px;margin:0 6px 10px}
.carte p{font-size:14.5px;line-height:1.6;color:var(--encre-70);margin:0 6px}
.carte .coco{position:absolute;right:-30px;top:-30px;width:110px;z-index:2}
.ap-appel{padding:130px 5vw;position:relative;overflow:hidden;border-bottom:1px solid var(--encre-25)}
.ap-appel .wrap{max-width:900px}
.ap-appel h2{font-size:clamp(48px,6vw,96px);margin-bottom:28px}
.ap-appel p{max-width:50ch;color:var(--encre-70);margin-bottom:34px}
.ap-appel .figurine{position:absolute;right:8vw;bottom:0;height:min(380px,80%);width:auto}

/* ================= EXPERTISE ================= */
.ex-hero{position:relative;height:72vh;min-height:480px;overflow:hidden}
.ex-hero img.fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ex-hero.lead img.fond{object-position:62% 30%}
@media (max-width:960px){.ex-hero.lead img.fond{object-position:58% 20%}}
.ex-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,18,13,.1),rgba(45,18,13,.55))}
.ex-hero .tranche{z-index:3}
.ex-hero .titre{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:0 5vw 60px 110px;color:var(--papier)}
.ex-hero h1{font-size:clamp(52px,7vw,110px);max-width:14ch}
.ex-hero h1 .fin{color:var(--papier)}
.ex-hero h1 .ital{color:var(--rose)}
.ex-hero .lunettes{position:absolute;right:8vw;top:12vh;width:clamp(160px,18vw,300px);z-index:4;transform:rotate(-12deg);filter:drop-shadow(0 16px 24px rgba(45,18,13,.4))}
.ex-intro{padding:100px 5vw;border-bottom:1px solid var(--encre-25)}
.ex-intro .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:60px}
.ex-intro .ligne{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1.4;margin-bottom:28px}
.ex-intro p{color:var(--encre-70);max-width:56ch;margin-bottom:18px}
.ex-intro .pour{background:var(--chiffon);padding:34px 36px;border-radius:0 18px 18px 18px;position:relative}
.ex-intro .pour .label{display:block;margin-bottom:14px}
.ex-intro .pour p{color:var(--encre);margin:0}
.ex-faire{padding:100px 5vw;border-bottom:1px solid var(--encre-25);position:relative;overflow:hidden}
.ex-faire h2{font-size:clamp(40px,4.6vw,72px);margin-bottom:40px}
.ex-faire ol{list-style:none;border-top:1px solid var(--encre-25);max-width:860px}
.ex-faire li{border-bottom:1px solid var(--encre-25);padding:22px 0;display:grid;grid-template-columns:50px 1fr;gap:20px}
.ex-faire li .n{font-family:var(--struct);font-size:11px;letter-spacing:.2em;color:var(--sang);padding-top:5px}
.ex-faire li b{display:block;font-family:var(--struct);font-weight:700;font-size:17px;margin-bottom:4px}
.ex-faire li p{color:var(--encre-70);max-width:56ch;font-size:15.5px}
.ex-faire .note{margin-top:40px;max-width:60ch;font-family:var(--serif);font-style:italic;color:var(--encre-70);border-left:3px solid var(--sang);padding-left:20px}
.ex-faire .chouchou{position:absolute;right:6vw;top:80px;width:clamp(120px,13vw,200px)}
.ex-projets{padding:100px 5vw;background:var(--encre);color:var(--papier)}
.ex-projets h2{font-size:clamp(40px,4.6vw,72px);margin-bottom:50px}
.ex-projets h2 .fin{color:var(--papier)}.ex-projets h2 .ital{color:var(--rose)}
.ex-projets .grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}
.ex-projets figure{background:#fff;padding:8px 8px 18px;color:var(--encre);transform:rotate(-1.5deg);position:relative}
.ex-projets figure:nth-child(even){transform:rotate(1.5deg)}
.ex-projets figure img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.ex-projets figcaption{font-family:var(--script);font-size:20px;color:var(--sang);margin:14px 8px 0;line-height:1.3}
.ex-projets .temoin{background:var(--rose);color:var(--encre);padding:36px;border-radius:0 18px 18px 18px;font-family:var(--serif);font-size:19px;line-height:1.55}
.ex-projets .temoin .sig{font-family:var(--script);color:var(--sang);font-size:22px;display:block;margin-top:16px}
.ex-outils{padding:80px 5vw;border-bottom:1px solid var(--encre-25)}
.ex-outils .label{display:block;margin-bottom:22px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{font-family:var(--struct);font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--encre);border-radius:100px;padding:10px 18px}
.ex-offre{padding:110px 5vw;position:relative;overflow:hidden}
.ex-offre .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ex-offre h2{font-size:clamp(40px,4.6vw,72px);margin-bottom:22px}
.ex-offre p{max-width:48ch;color:var(--encre-70);margin-bottom:30px}
.ex-offre .dossier{min-height:auto;grid-template-columns:1fr;padding:50px 44px;margin-top:44px}
.ex-offre .dossier .tarif{text-align:left;padding-top:20px}

/* ================= RESPONSIVE ================= */
@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr 1fr;grid-template-areas:"titre fig" "txt fig"}
  .hero-grid > :nth-child(1){grid-area:titre}.hero-grid > :nth-child(2){grid-area:fig}.hero-grid > :nth-child(3){grid-area:txt}
  .cartes{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .nav{padding:16px 22px}
  .nav .links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--papier);border-bottom:1px solid var(--encre-25);flex-direction:column;align-items:flex-start;gap:0;padding:10px 22px}
  .nav .links a{padding:14px 0;width:100%;border-bottom:1px solid var(--encre-12)}
  .nav.ouvert .links{display:flex}
  .nav .burger{display:block}
  .js .rv,.js .rv-g,.js .rv-d{opacity:1 !important;transform:none !important;transition:none !important}
  .wrap{padding:0 22px}
  .hero{padding:50px 22px 80px}
  .hero::before{background:rgba(250,245,230,.86)}
  .hero-grid{grid-template-columns:1fr;grid-template-areas:"titre" "fig" "txt";gap:40px;min-height:auto}
  .hero h1{font-size:clamp(52px,14vw,88px)}
  .hero .fig{max-width:300px;transform:rotate(-2deg)}
  .hero .diam{display:none}
  .intro{padding:90px 22px}
  .intro .wrap{grid-template-columns:1fr;gap:30px}
  .intro .pola{display:none}
  .intro .cafe{width:80px;left:auto;right:14px;bottom:14px}
  .creations{padding:90px 22px;background-attachment:scroll}
  .liste{font-size:9vw;line-height:1.2}
  .liste li{display:block;margin-bottom:26px}
  .liste .sep{display:none}
  .liste .mini{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border:3px solid #fff;margin:10px auto 0;max-width:320px}
  .peek{display:none}
  .expertises{grid-template-columns:1fr}
  .expertises .visu{min-height:380px}
  .expertises .visu .biro{left:80px;font-size:22px}
  .expertises .exp-panneau{padding:70px 22px}
  .exp-liste a{grid-template-columns:36px 1fr auto;gap:12px}
  .preuves{padding:90px 22px 70px}
  .preuves .marquee{margin:0 -22px}
  .chiffres{grid-template-columns:1fr;gap:34px}
  .preuves .vinyle{width:90px;top:auto;bottom:20px;right:16px}
  .temoins{padding:90px 22px}
  .temoins .wrap{grid-template-columns:1fr;gap:50px}
  .temoins .photo{max-width:260px;margin:0 auto}
  .cahier{padding:40px 24px 36px 44px}
  .offres{padding:90px 22px;background-attachment:scroll}
  .offres-head{margin-bottom:70px}
  .dossier{grid-template-columns:1fr;gap:14px;padding:50px 24px;min-height:min(640px,86vh);box-shadow:0 -10px 30px rgba(45,18,13,.14)}
  .dossier .tab{height:38px;top:-38px;padding:0 22px;font-size:10px}
  .dossier .tarif{text-align:left;padding-top:8px;white-space:normal}
  .dossier .tarif b{font-size:24px}
  .dossier .figurine{height:150px;right:10px}
  .dossier-wrap{margin-bottom:80px}
  .dossier-wrap:nth-child(1){top:10vh}.dossier-wrap:nth-child(2){top:calc(10vh + 46px)}.dossier-wrap:nth-child(3){top:calc(10vh + 92px)}.dossier-wrap:nth-child(4){top:calc(10vh + 138px)}
  .pile-fin{height:22vh}
  .scene{overflow:hidden}
  .scene-espace{height:auto}
  .scene-colle{position:static;height:auto;padding-bottom:50px}
  .scene-colle .tigre{right:0;bottom:0;height:46vh;opacity:.08}
  .scene-tete{padding:60px 22px 0;flex-direction:column;align-items:flex-start}
  .piste{flex-direction:column;width:auto;transform:none !important;align-items:stretch;padding:30px 22px;gap:22px}
  .panneau{width:100%;padding:36px 26px 40px}
  .panneau.fin{padding-right:26px;padding-bottom:230px}
  .panneau.fin .micro{height:200px;right:10px}
  .appel{padding:90px 22px 120px}
  .appel .wrap{grid-template-columns:1fr;gap:60px}
  .appel .photo{max-width:300px;margin:0 auto}
  .appel .voies{flex-direction:column}
  .appel .voies .btn{text-align:center}
  .appel .diam{width:60px;bottom:16px}
  .appel .figurine{display:none}
  .bande{grid-template-columns:repeat(3,1fr)}
  .foot-inner{padding:60px 22px 22px}
  .foot-grid{grid-template-columns:1fr;gap:30px}
  .geant{font-size:clamp(38px,13.5vw,62px);margin-bottom:-6px}
  .geant img{height:.85em}
  .foot-bottom{flex-direction:column;gap:8px}
  .ap-hero{padding:50px 22px 80px}
  .ap-hero .wrap{grid-template-columns:1fr;gap:50px}
  .ap-hero .photo{max-width:320px;margin:0 auto}
  .ap-hero h1{font-size:clamp(56px,14vw,90px)}
  .parcours{padding:90px 22px}
  .parcours .wrap{grid-template-columns:1fr;gap:50px}
  .parcours .cote{position:static}
  .parcours .cote img.moi{max-width:260px;margin:0 auto}
  .crois{padding:90px 22px}
  .crois .wrap{grid-template-columns:1fr;gap:60px}
  .crois .photo{max-width:260px}
  .deux{grid-template-columns:1fr}
  .deux img{height:60vh}
  .compose{padding:90px 22px}
  .cartes{grid-template-columns:1fr;gap:40px;max-width:360px;margin:0 auto}
  .carte .coco{width:80px;right:-16px;top:-20px}
  .ap-appel{padding:90px 22px 300px}
  .ap-appel .figurine{height:260px;right:50%;transform:translateX(50%)}
  .ex-hero{height:60vh}
  .ex-hero .titre{padding:0 22px 40px 84px}
  .ex-hero h1{font-size:clamp(44px,12vw,80px)}
  .ex-hero .lunettes{width:120px;right:14px;top:70px}
  .ex-intro,.ex-faire,.ex-projets,.ex-outils,.ex-offre{padding:80px 22px}
  .ex-intro .wrap,.ex-offre .wrap{grid-template-columns:1fr;gap:40px}
  .ex-faire .chouchou{width:90px;right:14px;top:30px}
  .ex-projets .grille{gap:30px}
}
@media (max-width:520px){
  .mix .fin,.mix .ital{font-size:.6em}
  .hero h1{font-size:12.5vw}
  .liste .t{font-size:8vw}
  .offres-head h2{font-size:15vw}
  .expertises h2,.appel h2,.parcours h2,.crois h2,.compose h2,.ap-appel h2,.ex-faire h2,.ex-projets h2,.ex-offre h2{font-size:12vw}
}

/* ---------- à propos : intention ---------- */
.intention{background:var(--encre);color:var(--papier);padding:110px 5vw;overflow:hidden}
.intention .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.intention .visu{position:relative;padding-right:120px}
.intention .visu .grande{width:100%;aspect-ratio:4/5;object-fit:cover}
.intention .visu .cadre{position:absolute;right:0;bottom:-40px;width:240px;background:#fff;padding:10px 10px 12px;box-shadow:0 24px 50px rgba(0,0,0,.4);transform:rotate(3deg)}
.intention .visu .cadre img{width:100%;aspect-ratio:1;object-fit:cover}
.intention h2{font-size:clamp(44px,5.4vw,84px);margin-bottom:28px}
.intention h2 .fin{color:var(--papier)}.intention h2 .ital{color:var(--rose)}
.intention p{color:var(--papier-70);max-width:48ch;margin-bottom:18px}
/* ---------- à propos : processus ---------- */
.process{border-top:1px solid var(--encre-25);background:var(--papier)}
.proc-g{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.proc-liste{padding:90px 5vw 90px;border-right:1px solid var(--encre-25)}
.proc-liste .et{display:block;font-family:var(--struct);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--encre-70);margin-bottom:22px}
.process h2{font-size:clamp(40px,4.6vw,72px);margin-bottom:22px}
.process h2 .cap{display:none}
.process .intro-p{max-width:40ch;color:var(--encre-70);margin-bottom:56px;font-size:15px}
.acc{border-top:1px solid var(--encre-25)}
.acc-item{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--encre-25);padding:26px 8px 24px;cursor:pointer;position:relative;color:var(--encre);opacity:.32;transition:opacity .35s}
.acc-item:hover{opacity:.7}.acc-item.on{opacity:1;cursor:default}
.acc-item .acc-t{display:block;font-family:var(--display);font-weight:400;font-size:clamp(30px,3vw,46px);line-height:1;letter-spacing:.01em;margin-bottom:10px}
.acc-item .acc-s{display:block;font-family:var(--struct);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--encre-70);padding-left:16px;position:relative}
.acc-item .acc-s::before{content:"";position:absolute;left:0;top:4px;width:6px;height:6px;background:var(--sang);transform:rotate(45deg)}
.acc-item .acc-x{position:absolute;right:8px;top:50%;width:14px;height:14px;transform:translateY(-50%);transition:transform .4s}
.acc-item .acc-x::before,.acc-item .acc-x::after{content:"";position:absolute;background:currentColor;left:50%;top:50%}
.acc-item .acc-x::before{width:14px;height:1.5px;transform:translate(-50%,-50%)}
.acc-item .acc-x::after{width:1.5px;height:14px;transform:translate(-50%,-50%)}
.acc-item.on .acc-x{transform:translateY(-50%) rotate(45deg)}
.proc-cta{margin-top:44px}
.proc-cta-m{display:none}
.proc-carte{background:var(--chiffon);position:relative;overflow:hidden;display:grid;align-items:center;padding:90px 6vw}
.proc-carte .etape{grid-area:1/1;display:none;max-width:52ch}
.proc-carte .proc-cta-m{grid-area:2/1}
.proc-carte .etape.on{display:block}
.proc-carte .etape.go{animation:arrive .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes arrive{from{opacity:0;transform:translateX(90px)}to{opacity:1;transform:none}}
.proc-carte .n{display:block;font-family:var(--struct);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--encre-70);margin-bottom:34px}
.proc-carte .big{font-size:clamp(19px,1.5vw,23px);line-height:1.5;color:var(--encre);margin-bottom:34px}
.proc-carte .big .main{font-family:var(--script);font-size:1.25em;color:var(--sang)}
.proc-carte ul{list-style:none;padding:0;margin:0 0 40px}
.proc-carte li{position:relative;padding-left:24px;font-size:15px;color:var(--encre);margin-bottom:14px}
.proc-carte li::before{content:"";position:absolute;left:3px;top:8px;width:6px;height:6px;background:var(--sang);transform:rotate(45deg)}
.proc-carte .garde{display:block;font-family:var(--struct);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--sang)}
@media (max-width:960px){
  .intention{padding:80px 22px}
  .intention .wrap{grid-template-columns:1fr;gap:70px}
  .intention .visu{padding-right:60px}
  .intention .visu .cadre{width:150px;bottom:-30px}
  .proc-g{grid-template-columns:1fr;min-height:0}
  .proc-liste{padding:70px 22px 50px;border-right:0}
  .process .intro-p{margin-bottom:36px}
  .acc-item{padding:20px 4px 18px}
  .proc-cta{display:none}
  .proc-cta-m{display:block;margin-top:40px}
  .proc-carte{padding:50px 22px 60px;border-top:1px solid var(--encre-25)}
  .proc-carte .etape.go{animation-name:arrive-m}
  @keyframes arrive-m{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
  .proc-carte .garde{margin-bottom:0}
  .parcours .coquillage{display:block;width:100px;margin:10px auto 0}
}
