/* ============ Agence 1994 — Atelier du voyage clair ============ */

:root{
  --ivoire:#F6F0E7;
  --lin:#EFE4D5;
  --pierre:#D7CABC;
  --sable:#CBB89D;
  --encre:#1C1714;
  --encre-soft:#2a221c;
  --nuit:#172434;
  --sauge:#6F7F68;
  --cuir:#7A5C44;
  --momiji:#B75C4B;
  --or:#BFA36B;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --dur-press:140ms;
  --dur-ui:200ms;
  --dur-image:560ms;
  --shape-sheet:34px 10px 40px 10px;
  --shape-cut:10px 40px 12px 34px;
  --shape-arch:42px 42px 12px 12px;

  --grain-url: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.11 0 0 0 0 0.09 0 0 0 0 0.08 0 0 0 0.08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--ivoire);color:var(--encre);font-family:"Instrument Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{
  overflow-x:hidden;
  font-size:17px;line-height:1.6;
  background-image: var(--grain-url);
  background-size: 240px 240px;
  background-attachment: fixed;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

.serif{font-family:"Fraunces",Georgia,serif;font-optical-sizing:auto;font-variation-settings:"SOFT" 30,"WONK" 0;letter-spacing:-0.01em}
.hand{font-family:"Caveat",cursive;letter-spacing:0;font-weight:500}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace;letter-spacing:0.02em;text-transform:uppercase;font-size:11px}

.container{max-width:1280px;margin:0 auto;padding:0 32px}
.container-tight{max-width:1080px;margin:0 auto;padding:0 32px}
@media (max-width:720px){.container,.container-tight{padding:0 22px}}

/* ---------- NAV ---------- */
.nav{position:sticky;top:0;z-index:60;background:rgba(246,240,231,0.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(28,23,20,0.08)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 32px;max-width:1440px;margin:0 auto;min-height:72px}
.nav-logo{display:flex;align-items:center;line-height:1;width:130px;height:52px;overflow:visible}
.brand-logo-img{width:100%;height:100%;object-fit:contain;object-position:left center;display:block;transform:scale(2.1);transform-origin:left center}
.nav-links{display:flex;gap:34px}
.nav-links a{font-size:14px;color:var(--encre-soft);position:relative;padding:4px 0}
.nav-links a:hover{color:var(--momiji)}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-cta{font-size:13px;letter-spacing:0.06em;padding:11px 20px;border:1px solid var(--encre);border-radius:999px;background:var(--encre);color:var(--ivoire);transition:background-color var(--dur-ui) ease,border-color var(--dur-ui) ease,transform var(--dur-press) var(--ease-out)}
.nav-cta:hover{background:var(--momiji);border-color:var(--momiji)}
.nav-menu-toggle{
  display:none;
  width:42px;
  height:42px;
  border:1px solid rgba(28,23,20,.18);
  border-radius:999px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  transition:background-color var(--dur-ui) ease,transform var(--dur-press) var(--ease-out);
}
.nav-menu-toggle span{
  display:block;
  width:16px;
  height:1.5px;
  background:var(--encre);
  transition:transform var(--dur-ui) var(--ease-out),opacity var(--dur-ui) var(--ease-out);
}
.nav.is-open .nav-menu-toggle span:first-child{transform:translateY(3.75px) rotate(45deg)}
.nav.is-open .nav-menu-toggle span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.mobile-nav{
  overflow:hidden;
  opacity:0;
  max-height:0;
  padding:0 22px;
  background:rgba(246,240,231,.98);
  border-top:1px solid rgba(28,23,20,.08);
  transition:max-height 220ms var(--ease-out),opacity 180ms ease;
}
.mobile-nav-panel{min-height:0}
.mobile-nav-panel a{
  display:block;
  padding:14px 0;
  color:var(--encre-soft);
  border-bottom:1px solid rgba(28,23,20,.08);
}
.mobile-nav-contact{
  margin:12px 0 18px;
  padding:14px 18px !important;
  background:var(--momiji);
  color:var(--ivoire) !important;
  border-radius:999px;
  border-bottom:0 !important;
  text-align:center;
}
.nav.is-open .mobile-nav{
  max-height:420px;
  opacity:1;
}
@media (max-width:880px){
  .nav-inner{padding:10px 16px}
  .nav-logo{width:108px;height:48px}
  .nav-links{display:none}
  .nav-menu-toggle{display:flex}
  .nav-cta{padding:11px 16px}
}

/* ---------- HERO (cinematic) ---------- */
.hero{position:relative;min-height:calc(100dvh - 72px);overflow:hidden;color:var(--ivoire);background:var(--nuit)}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img,.hero-bg video{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.92) contrast(.96)}
.hero-bg::after{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse at 30% 40%, rgba(23,36,52,0) 0%, rgba(23,36,52,0.55) 70%),
  linear-gradient(to bottom, rgba(23,36,52,.45) 0%, rgba(23,36,52,.15) 35%, rgba(28,23,20,.55) 80%, rgba(28,23,20,.78) 100%);
  pointer-events:none}
.hero-bg::before{content:"";position:absolute;inset:0;background-image:var(--grain-url);background-size:240px;opacity:.35;mix-blend-mode:overlay;pointer-events:none;z-index:2}
.hero-inner{position:relative;z-index:3;min-height:calc(100dvh - 72px);display:grid;grid-template-rows:auto 1fr auto;padding:28px 0 0}
.hero-top{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:0 32px;animation:hero-rise 700ms var(--ease-out) both}
.hero-brand{width:154px;min-height:54px;display:flex;align-items:center}
.hero-brand img{width:100%;height:auto;filter:brightness(0) invert(1) sepia(.1);opacity:.9}
.hero-meta{display:flex;gap:14px;align-items:center;color:rgba(246,240,231,.8)}
.hero-meta .dot{width:7px;height:7px;border-radius:50%;background:var(--momiji);box-shadow:0 0 0 4px rgba(183,92,75,.18)}
.hero-issue{font-family:"Fraunces",serif;font-style:italic;font-size:14px;color:rgba(246,240,231,.6);letter-spacing:.02em}

.hero-stage{padding:0 32px 48px;display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:48px}
.hero h1{font-family:"Fraunces",serif;font-weight:340;font-size:clamp(46px,7.2vw,110px);line-height:0.95;letter-spacing:-0.03em;color:var(--ivoire);font-variation-settings:"SOFT" 60,"opsz" 144;max-width:14ch;animation:hero-rise 760ms var(--ease-out) 80ms both}
/* Entre 980 et 1500px, la colonne de texte (1.4fr du grid 2 colonnes) devient plus étroite que
   ce que 7.2vw produit comme taille de police — casse la 1re ligne du H1 sur plusieurs lignes.
   Réduit la taille dans cette plage précise (résolutions laptop, cf. capture Tristan). */
@media (min-width:981px) and (max-width:1500px){
  .hero h1{ font-size:clamp(40px,6vw,74px); }
}
.hero h1 em{font-style:italic;color:var(--or);font-variation-settings:"SOFT" 100,"opsz" 144;font-weight:300}
.hero-sub{margin-top:28px;max-width:590px;font-size:18px;line-height:1.6;color:rgba(246,240,231,.84);animation:hero-rise 760ms var(--ease-out) 150ms both}
.hero-ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;animation:hero-rise 760ms var(--ease-out) 220ms both}
.hero-ctas .btn-ghost{border-color:rgba(246,240,231,.5);color:var(--ivoire)}
.hero-ctas .btn-ghost:hover{background:var(--ivoire);color:var(--encre);border-color:var(--ivoire)}

/* Fiche carnet flottante */
.hero-fiche{position:relative;background:var(--ivoire);color:var(--encre);width:340px;justify-self:end;padding:26px 28px 24px;border-radius:2px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.2);transform:rotate(-1.2deg);animation:hero-note 900ms var(--ease-out) 180ms both;background-image:
  linear-gradient(to right, transparent calc(50px - 1px), rgba(183,92,75,.18) 50px, transparent calc(50px + 1px)),
  repeating-linear-gradient(to bottom, transparent 0 27px, rgba(28,23,20,.07) 27px 28px);
  background-position:0 0,0 18px}
.hero-fiche::before{content:"";position:absolute;top:-14px;left:30px;width:80px;height:22px;background:rgba(191,163,107,.55);transform:rotate(-3deg);border-left:1px dashed rgba(28,23,20,.25);border-right:1px dashed rgba(28,23,20,.25)}
.hero-fiche .punch{position:absolute;left:18px;top:50%;width:6px;height:6px;border-radius:50%;background:rgba(28,23,20,.18);box-shadow:0 -60px 0 rgba(28,23,20,.18),0 60px 0 rgba(28,23,20,.18)}
.hero-fiche .fiche-head{font-family:"Caveat",cursive;font-size:24px;color:var(--cuir);line-height:1;margin-bottom:4px}
.hero-fiche .fiche-title{font-family:"Fraunces",serif;font-weight:400;font-size:22px;line-height:1.1;margin-bottom:14px;letter-spacing:-0.01em;padding-left:34px}
.hero-fiche ul{list-style:none;display:flex;flex-direction:column;gap:6px;padding-left:34px}
.hero-fiche ul li{font-size:14px;color:var(--encre);display:flex;gap:10px;align-items:baseline;line-height:1.35}
.hero-fiche ul li::before{content:"·";color:var(--momiji);font-weight:700;font-size:16px}
.hero-fiche .fiche-foot{margin-top:18px;padding-left:34px;padding-top:12px;border-top:1px dashed rgba(28,23,20,.18);font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--encre-soft);display:flex;justify-content:space-between}

.hero-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:24px 32px;border-top:1px solid rgba(246,240,231,.18);background:rgba(28,23,20,.35);backdrop-filter:blur(6px);animation:hero-rise 760ms var(--ease-out) 360ms both}
.hero-proof div{display:flex;flex-direction:column;gap:2px}
.hero-proof .n{font-family:"Fraunces",serif;font-weight:400;font-size:22px;color:var(--ivoire);line-height:1.1}
.hero-proof .l{font-size:11px;color:rgba(246,240,231,.65);letter-spacing:.1em;text-transform:uppercase}

@media (max-width:980px){
  .hero{height:auto;min-height:0;max-height:none;padding-bottom:0}
  .hero-bg img{object-position:58% 45%}
  .hero-stage{grid-template-columns:1fr;padding:80px 22px 60px}
  .hero h1{font-size:clamp(40px,11vw,64px)}
  .hero-fiche{justify-self:start;width:100%;max-width:340px}
  .hero-proof{grid-template-columns:repeat(2,1fr);gap:12px}
  .hero-proof .n{font-size:18px}
  .hero-top{padding:0 22px}
}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;font-size:14px;letter-spacing:0.05em;transition:background-color var(--dur-ui) ease,color var(--dur-ui) ease,border-color var(--dur-ui) ease,transform var(--dur-press) var(--ease-out)}
.btn-primary{background:var(--momiji);color:var(--ivoire)}
.btn-primary:hover{background:var(--encre)}
.btn-ghost{border:1px solid var(--encre);color:var(--encre)}
.btn-ghost:hover{background:var(--encre);color:var(--ivoire)}
.btn .arrow{width:18px;height:1px;background:currentColor;position:relative}
.btn .arrow::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}

/* ---------- SECTION SHELL ---------- */
section{position:relative}
.section{padding:120px 0;position:relative}
.section-dark{background:var(--nuit);color:var(--ivoire)}
.section-dark .eyebrow{color:var(--or)}
.section-cuir{background:var(--lin)}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--cuir);margin-bottom:24px}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor}

.h2{font-family:"Fraunces",serif;font-weight:380;font-size:clamp(36px,4.6vw,62px);line-height:1.02;letter-spacing:-0.02em;max-width:18ch;font-variation-settings:"SOFT" 50}
.h2 em{font-style:italic;color:var(--cuir)}
.section-dark .h2 em{color:var(--or)}
.lede{font-size:18px;line-height:1.55;max-width:62ch;color:var(--encre-soft);margin-top:24px}
.section-dark .lede{color:rgba(246,240,231,.78)}

@media (max-width:720px){.section{padding:80px 0}}

/* ---------- EDITORIAL SUBPAGES ---------- */
.editorial-hero{
  position:relative;
  min-height:min(76vh,820px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:var(--ivoire);
  background:var(--nuit);
}
.editorial-hero-bg{position:absolute;inset:0}
.editorial-hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--hero-position, center center);
  filter:saturate(.9) contrast(.96);
}
.editorial-hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(23,36,52,.78) 0%,rgba(23,36,52,.45) 48%,rgba(23,36,52,.72) 100%),
    linear-gradient(to top,rgba(28,23,20,.78),rgba(28,23,20,.12) 56%);
}
.editorial-hero-inner{
  position:relative;
  z-index:2;
  width:100%;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  padding-bottom:58px;
}
.editorial-hero-copy{max-width:760px}
.editorial-hero .eyebrow{color:var(--or)}
.editorial-hero h1{
  font-family:"Fraunces",serif;
  font-size:clamp(42px,6vw,84px);
  line-height:.98;
  font-weight:360;
  letter-spacing:-.03em;
  max-width:13ch;
}
.editorial-hero h1 em{font-style:italic;color:var(--or)}
.editorial-hero p{
  max-width:58ch;
  margin-top:22px;
  color:rgba(246,240,231,.84);
  font-size:18px;
}
.hero-side-stack{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-end;
  padding-bottom:8px;
}
.hero-side-stack span{
  display:inline-flex;
  padding:10px 14px;
  background:rgba(246,240,231,.9);
  color:var(--encre);
  border-radius:999px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  transform:translateX(calc(var(--i,0) * -18px));
}
.article-photo-stack{
  position:relative;
  width:360px;
  height:336px;
  flex:0 0 auto;
}
.article-photo-stack figure{
  position:absolute;
  inset:auto 0 0 auto;
  width:220px;
  padding:10px 10px 14px;
  background:rgba(246,240,231,.96);
  border-radius:12px;
  box-shadow:0 24px 52px rgba(0,0,0,.3);
  transform:
    translate(calc(var(--i) * -64px), calc(var(--i) * -24px))
    rotate(calc((var(--i) - 1) * 7deg));
}
.article-photo-stack figure:nth-child(1){z-index:3}
.article-photo-stack figure:nth-child(2){z-index:2}
.article-photo-stack figure:nth-child(3){z-index:1}
.article-photo-stack img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:8px;
}
.article-photo-stack figcaption{
  margin-top:10px;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--encre-soft);
}
.carnet-stack{
  position:relative;
  width:280px;
  height:340px;
  align-items:center;
  justify-content:flex-end;
}
.carnet-stack img{
  position:absolute;
  right:0;
  bottom:0;
  width:180px;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:4px;
  box-shadow:0 24px 48px rgba(0,0,0,.34);
  transform:translate(calc(var(--i) * -56px), calc(var(--i) * -18px)) rotate(calc(var(--i) * -6deg));
}
.hero-note{
  max-width:300px;
  padding:22px 24px;
  background:rgba(246,240,231,.92);
  color:var(--encre);
  border-radius:var(--shape-cut);
  box-shadow:0 24px 44px rgba(0,0,0,.24);
}
.hero-note .paper-plane{width:28px;height:28px;color:var(--momiji);margin-bottom:14px}
.hero-note p{margin:0;color:var(--encre);font-size:15px}
.hero-price-card{
  min-width:220px;
  padding:24px;
  background:rgba(246,240,231,.95);
  color:var(--encre);
  border-radius:var(--shape-sheet);
  display:flex;
  flex-direction:column;
  gap:4px;
  box-shadow:0 24px 44px rgba(0,0,0,.24);
}
.hero-price-card span,
.hero-price-card em{font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.hero-price-card strong{
  font-family:"Fraunces",serif;
  font-size:46px;
  line-height:1;
  font-weight:380;
}
.hero-contact-card{
  display:grid;
  gap:10px;
  padding:22px 24px;
  background:rgba(246,240,231,.94);
  color:var(--encre);
  border-radius:var(--shape-sheet);
  min-width:250px;
}
.hero-contact-card a{font-size:16px}
.hero-contact-card a:hover{color:var(--momiji)}

/* ---------- HEROES RETROUVES — scenes editoriales ---------- */
.hero-wow{
  isolation:isolate;
  min-height:min(82vh,880px);
}
.hero-wow::before{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:28%;
  z-index:1;
  background:
    linear-gradient(to top,rgba(246,240,231,.16),rgba(246,240,231,0)),
    repeating-linear-gradient(90deg,rgba(246,240,231,.08) 0 1px,transparent 1px 34px);
  pointer-events:none;
}
.hero-wow .editorial-hero-inner{
  min-height:min(82vh,880px);
  align-items:center;
  padding-top:64px;
  padding-bottom:64px;
}
.hero-wow .editorial-hero-copy{
  max-width:720px;
  padding-top:42px;
}
.hero-wow .editorial-hero-copy h1{
  max-width:12.5ch;
  text-wrap:balance;
}
.hero-wow .editorial-hero-copy p{
  max-width:52ch;
}
.hero-chapters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
}
.hero-chapters span{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 12px;
  border:1px solid rgba(246,240,231,.26);
  border-radius:999px;
  background:rgba(246,240,231,.08);
  color:rgba(246,240,231,.82);
  font-size:11px;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.hero-chapters em{
  font-family:"Fraunces",serif;
  font-style:italic;
  color:var(--or);
  letter-spacing:0;
}
.hero-scene{
  position:relative;
  flex:0 0 min(39vw,520px);
  min-height:390px;
  z-index:3;
}
.hero-paper-stamp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  height:28px;
  border:1px solid rgba(183,92,75,.52);
  border-radius:50%;
  color:var(--momiji);
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  transform:rotate(-4deg);
}
.scene-note,
.passport-note,
.quote-sheet,
.postcard,
.question-slip{
  background:rgba(246,240,231,.95);
  color:var(--encre);
  box-shadow:0 26px 70px -28px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.5);
}
.scene-note{
  position:absolute;
  padding:18px 20px;
  border:1px solid rgba(122,92,68,.22);
  border-radius:var(--shape-cut);
  max-width:238px;
}
.scene-note span{
  display:block;
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  letter-spacing:.18em;
  color:var(--momiji);
  text-transform:uppercase;
  margin-bottom:8px;
}
.scene-note strong,
.passport-note strong,
.quote-sheet strong,
.postcard strong,
.question-slip strong{
  display:block;
  font-family:"Fraunces",serif;
  font-weight:420;
  line-height:1.06;
  letter-spacing:-.01em;
}
.scene-note p,
.passport-note p,
.quote-sheet p,
.postcard p{
  margin-top:10px;
  color:var(--encre-soft);
  font-size:13px;
  line-height:1.45;
}

.articles-scene{min-height:430px}
.scene-rail{
  position:absolute;
  inset:34px 34px auto auto;
  width:320px;
  height:260px;
  border:1px solid rgba(246,240,231,.22);
  border-radius:44px 12px 46px 12px;
  background:rgba(246,240,231,.06);
  transform:rotate(2deg);
}
.scene-rail span{
  position:absolute;
  height:1px;
  background:rgba(191,163,107,.42);
  transform-origin:left center;
}
.scene-rail span:nth-child(1){width:250px;left:26px;top:54px;transform:rotate(-7deg)}
.scene-rail span:nth-child(2){width:230px;left:48px;top:142px;transform:rotate(10deg)}
.scene-rail span:nth-child(3){width:210px;left:36px;top:218px;transform:rotate(-4deg)}
.scene-polaroid{
  position:absolute;
  width:210px;
  padding:10px 10px 14px;
  background:var(--ivoire);
  border-radius:12px;
  box-shadow:0 28px 72px -24px rgba(0,0,0,.62);
  transform:
    translate(calc(var(--i) * -72px), calc(var(--i) * 34px))
    rotate(calc((var(--i) - 1) * -8deg));
}
.scene-polaroid:nth-of-type(1){right:34px;top:28px;z-index:3}
.scene-polaroid:nth-of-type(2){right:122px;top:96px;z-index:2}
.scene-polaroid:nth-of-type(3){right:4px;top:176px;z-index:1}
.scene-polaroid::before,
.carnet-pin .tape{
  content:"";
  position:absolute;
  width:76px;
  height:20px;
  left:50%;
  top:-12px;
  transform:translateX(-50%) rotate(-2deg);
  background:rgba(191,163,107,.55);
  border-left:1px dashed rgba(28,23,20,.18);
  border-right:1px dashed rgba(28,23,20,.18);
}
.scene-polaroid img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:8px;
}
.scene-polaroid figcaption,
.carnet-pin figcaption{
  margin-top:10px;
  font-size:10px;
  color:var(--encre-soft);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.articles-note{right:248px;bottom:16px;transform:rotate(-3deg);z-index:5}

.creations-scene{min-height:460px}
.creations-scene::before{
  content:"";
  position:absolute;
  inset:18px 6px 10px 34px;
  border:1px solid rgba(246,240,231,.22);
  border-radius:50px 16px 48px 14px;
  background:rgba(246,240,231,.06);
}
.carnet-pin{
  position:absolute;
  width:156px;
  color:var(--encre);
  filter:drop-shadow(0 24px 22px rgba(0,0,0,.28));
  transform:translate(var(--x,0),var(--y,0)) rotate(var(--r,0deg));
}
.carnet-pin:nth-child(1){--x:22px;--y:30px;--r:-8deg;z-index:4}
.carnet-pin:nth-child(2){--x:176px;--y:8px;--r:5deg;z-index:5;width:184px}
.carnet-pin:nth-child(3){--x:320px;--y:82px;--r:-4deg;z-index:3}
.carnet-pin:nth-child(4){--x:86px;--y:246px;--r:6deg;z-index:2}
.carnet-pin:nth-child(5){--x:274px;--y:254px;--r:-7deg;z-index:1;width:136px}
.carnet-pin img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:8px 30px 10px 24px;
}
.carnet-pin figcaption{color:var(--ivoire);text-shadow:0 1px 3px rgba(0,0,0,.35)}
.creations-note{left:210px;bottom:4px;z-index:6;transform:rotate(1deg)}

.about-scene{min-height:438px}
.portrait-sheet{
  position:absolute;
  right:154px;
  top:28px;
  width:240px;
  padding:10px 10px 38px;
  background:var(--ivoire);
  border-radius:12px 42px 14px 12px;
  box-shadow:0 34px 74px -28px rgba(0,0,0,.62);
  transform:rotate(-4deg);
}
.portrait-sheet img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 42%;
  border-radius:8px 34px 10px 8px;
}
.portrait-sheet span{
  position:absolute;
  left:20px;
  bottom:14px;
  font-family:"Caveat",cursive;
  font-size:22px;
  color:var(--cuir);
}
.passport-note{
  position:absolute;
  right:10px;
  bottom:18px;
  width:286px;
  padding:26px;
  border-radius:34px 12px 42px 12px;
  border:1px solid rgba(122,92,68,.2);
  transform:rotate(2deg);
}
.passport-note .paper-plane{width:34px;height:34px;color:var(--momiji);margin-bottom:18px}
.passport-note strong{font-size:25px}
.passport-note div{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}

.tarifs-scene{min-height:410px}
.quote-sheet.main{
  position:absolute;
  right:68px;
  top:48px;
  width:320px;
  padding:30px;
  border-radius:var(--shape-sheet);
  transform:rotate(-2deg);
}
.quote-sheet span{
  display:block;
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cuir);
  margin-bottom:14px;
}
.quote-sheet strong{font-size:72px;color:var(--momiji)}
.quote-slip{
  position:absolute;
  display:flex;
  gap:12px;
  align-items:center;
  min-width:154px;
  padding:13px 16px;
  border-radius:999px;
  background:rgba(246,240,231,.9);
  color:var(--encre);
  box-shadow:0 18px 44px -22px rgba(0,0,0,.46);
  font-size:13px;
  letter-spacing:.05em;
  transform:rotate(calc((var(--i) - 1) * 4deg));
}
.quote-slip em{font-family:"Fraunces",serif;color:var(--momiji);font-style:italic}
.quote-slip:nth-of-type(2){left:36px;top:88px}
.quote-slip:nth-of-type(3){left:2px;top:184px}
.quote-slip:nth-of-type(4){left:78px;top:282px}
.quote-line{
  position:absolute;
  left:176px;
  top:122px;
  width:178px;
  height:156px;
  border:1px dashed rgba(191,163,107,.78);
  border-left:0;
  border-bottom:0;
  border-radius:0 90px 0 0;
  transform:rotate(8deg);
}

.faq-scene{min-height:406px}
.question-slip{
  position:absolute;
  width:270px;
  padding:22px 24px;
  border-radius:var(--shape-cut);
  border:1px solid rgba(122,92,68,.22);
  transform:translate(var(--x),var(--y)) rotate(var(--r));
}
.question-slip:nth-child(1){--x:22px;--y:34px;--r:-3deg}
.question-slip:nth-child(2){--x:190px;--y:116px;--r:4deg}
.question-slip:nth-child(3){--x:12px;--y:218px;--r:2deg}
.question-slip:nth-child(4){--x:218px;--y:292px;--r:-5deg}
.question-slip span{
  display:block;
  margin-bottom:10px;
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--momiji);
}
.question-slip strong{font-size:22px}

.contact-scene{min-height:420px}
.postcard{
  position:absolute;
  right:24px;
  top:42px;
  width:386px;
  padding:34px 34px 28px;
  border-radius:18px 52px 18px 44px;
  border:1px solid rgba(122,92,68,.26);
  transform:rotate(2.5deg);
  background-image:
    linear-gradient(to right,transparent 50%,rgba(122,92,68,.16) 50%,rgba(122,92,68,.16) calc(50% + 1px),transparent calc(50% + 1px)),
    repeating-linear-gradient(to bottom,transparent 0 34px,rgba(122,92,68,.12) 34px 35px);
}
.postcard-stamp{
  position:absolute;
  top:22px;
  right:22px;
  width:62px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed var(--momiji);
  border-radius:50%;
  color:var(--momiji);
  font-family:"Fraunces",serif;
  font-style:italic;
}
.postcard > span{
  display:block;
  font-family:"Caveat",cursive;
  font-size:26px;
  color:var(--cuir);
  margin-bottom:22px;
}
.postcard strong{max-width:11ch;font-size:34px}
.postcard-actions{
  display:grid;
  gap:8px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px dashed rgba(122,92,68,.26);
}
.postcard-actions a{
  font-size:14px;
  color:var(--momiji);
}

.heroes-lab{background:var(--ivoire)}
.heroes-lab-intro{
  padding:100px 0 70px;
  background:var(--lin);
}
.heroes-lab-intro h1{
  font-family:"Fraunces",serif;
  font-weight:360;
  font-size:clamp(42px,7vw,92px);
  line-height:.95;
  letter-spacing:-.03em;
  max-width:12ch;
}
.heroes-lab-intro h1 em{font-style:italic;color:var(--momiji)}
.heroes-lab-intro p{margin-top:24px;max-width:56ch;color:var(--encre-soft)}

@media (max-width:980px){
  .hero-wow .editorial-hero-inner{display:grid;min-height:auto;padding-top:76px}
  .hero-scene{width:min(100%,520px);min-height:360px;justify-self:start;flex:none}
  .scene-polaroid{width:178px}
  .carnet-pin:nth-child(n){width:132px}
  .carnet-pin:nth-child(2){width:154px}
  .carnet-pin:nth-child(3){--x:260px}
  .carnet-pin:nth-child(5){--x:226px}
  .portrait-sheet{right:110px;width:206px}
  .passport-note{right:0;width:250px}
  .question-slip{width:230px}
  .question-slip:nth-child(2){--x:156px}
  .question-slip:nth-child(4){--x:160px}
}
@media (max-width:720px){
  .hero-wow{min-height:auto}
  .hero-wow .editorial-hero-inner{padding-top:72px;padding-bottom:44px}
  .hero-wow .editorial-hero-copy{padding-top:0}
  .hero-chapters{gap:8px}
  .hero-chapters span{font-size:10px;padding:7px 10px}
  .hero-scene{
    min-height:300px;
    transform:scale(.9);
    transform-origin:left top;
    margin-bottom:-24px;
  }
  .articles-scene{min-height:330px}
  .scene-polaroid{width:148px}
  .scene-polaroid:nth-of-type(1){right:112px;top:12px}
  .scene-polaroid:nth-of-type(2){right:14px;top:80px}
  .scene-polaroid:nth-of-type(3){right:146px;top:162px}
  .articles-note{right:16px;bottom:0}
  .creations-scene{min-height:345px}
  .carnet-pin:nth-child(1){--x:4px;--y:24px}
  .carnet-pin:nth-child(2){--x:116px;--y:0px}
  .carnet-pin:nth-child(3){--x:222px;--y:62px}
  .carnet-pin:nth-child(4){--x:50px;--y:198px}
  .carnet-pin:nth-child(5){--x:188px;--y:204px}
  .creations-note{left:104px;bottom:-8px}
  .portrait-sheet{right:78px;top:8px;width:176px}
  .passport-note{right:0;bottom:0;width:222px;padding:20px}
  .passport-note strong{font-size:21px}
  .quote-sheet.main{right:0;top:36px;width:270px;padding:24px}
  .quote-sheet strong{font-size:58px}
  .quote-slip:nth-of-type(2){left:0;top:70px}
  .quote-slip:nth-of-type(3){left:6px;top:170px}
  .quote-slip:nth-of-type(4){left:44px;top:260px}
  .quote-line{display:none}
  .question-slip{width:220px;padding:18px 20px}
  .question-slip:nth-child(1){--x:0px;--y:20px}
  .question-slip:nth-child(2){--x:110px;--y:102px}
  .question-slip:nth-child(3){--x:0px;--y:190px}
  .question-slip:nth-child(4){--x:106px;--y:270px}
  .contact-scene{min-height:335px}
  .postcard{right:0;top:22px;width:300px;padding:26px 24px}
  .postcard strong{font-size:27px}
}
.article-ledger-head{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:48px}
.article-ledger-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}
.article-ledger-card{
  position:relative;
  grid-column:span 4;
  min-height:420px;
  overflow:hidden;
  border-radius:var(--shape-sheet);
  background:var(--lin);
}
.article-ledger-card:nth-child(1),
.article-ledger-card:nth-child(2){grid-column:span 6}
.article-ledger-card:nth-child(2n){border-radius:var(--shape-cut)}
.article-ledger-card:nth-child(3n){border-radius:var(--shape-arch)}
.article-ledger-card > span{
  position:absolute;
  top:18px;
  left:18px;
  z-index:2;
  color:var(--ivoire);
  font-size:11px;
  letter-spacing:.18em;
}
.article-ledger-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform var(--dur-image) var(--ease-out);
}
.article-ledger-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(28,23,20,.82),rgba(28,23,20,.06) 62%);
}
.article-ledger-card div{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:22px;
  color:var(--ivoire);
}
.article-ledger-card em{
  font-style:normal;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--or);
}
.article-ledger-card h3{
  margin-top:10px;
  font-family:"Fraunces",serif;
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.06;
  font-weight:380;
}
.article-ledger-card:hover img{transform:scale(1.04)}
.about-story-grid,
.tarifs-details-grid,
.contact-page-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:start;
}
.prose-column{display:grid;gap:18px;color:var(--encre-soft)}

/* Article hero — pleine largeur, plus sobre que le hero d'accueil */
.article-hero{min-height:min(58vh,560px)}
.article-hero .editorial-hero-copy{max-width:820px}
.article-hero h1{max-width:16ch}

/* Article prose — mise en page éditoriale, galeries photo groupées comme sur le récit d'origine */
.article-prose{color:var(--encre-soft);font-size:17px;line-height:1.75}
.article-prose p{margin:0 0 22px}
.article-h2{font-family:"Fraunces",serif;font-weight:420;font-size:clamp(24px,3vw,32px);line-height:1.18;letter-spacing:-0.01em;color:var(--encre);font-variation-settings:"SOFT" 40;margin:56px 0 18px}
.article-credit{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--cuir);margin:-8px 0 24px}

.article-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0 40px}
.article-gallery figure{margin:0;overflow:hidden;border-radius:14px;aspect-ratio:4/5;box-shadow:0 18px 40px -24px rgba(28,23,20,.4)}
.article-gallery figure.wide{grid-column:1/-1;aspect-ratio:16/9}
.article-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-out,ease)}
.article-gallery figure:hover img{transform:scale(1.045)}
@media (max-width:720px){
  .article-h2{margin:40px 0 14px}
  .article-gallery{gap:10px}
  .article-gallery figure{aspect-ratio:1/1}
  .article-gallery figure.wide{aspect-ratio:16/10}
}
.about-value-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.about-value-grid article{
  padding:26px;
  background:rgba(255,255,255,.54);
  border:1px solid var(--pierre);
  border-radius:var(--shape-sheet);
}
.about-value-grid h3{
  font-family:"Fraunces",serif;
  font-weight:420;
  font-size:24px;
  line-height:1.08;
}
.about-value-grid p{
  margin-top:12px;
  font-size:15px;
  color:var(--encre-soft);
}
.tarifs-details ul{
  display:grid;
  gap:14px;
  padding-left:20px;
}
.tarifs-details li{padding-left:8px}
.contact-sheet{
  padding:30px;
  border:1px solid var(--pierre);
  border-radius:var(--shape-cut);
  background:rgba(255,255,255,.52);
}
.contact-sheet p{color:var(--encre-soft)}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
@media (max-width:980px){
  .editorial-hero{min-height:640px}
  .editorial-hero-inner{display:grid;padding-bottom:34px}
  .hero-side-stack,
  .hero-note,
  .hero-price-card,
  .hero-contact-card{justify-self:start}
  .article-ledger-head,
  .about-story-grid,
  .tarifs-details-grid,
  .contact-page-grid{grid-template-columns:1fr;gap:24px}
  .article-ledger-grid{grid-template-columns:1fr 1fr}
  .article-ledger-card,
  .article-ledger-card:nth-child(1),
  .article-ledger-card:nth-child(2){grid-column:auto}
  .about-value-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .editorial-hero{min-height:580px}
  .editorial-hero-bg img{object-position:var(--hero-position-mobile, var(--hero-position, center center))}
  .editorial-hero p{font-size:16px}
  .hero-side-stack{align-items:flex-start}
  .hero-side-stack span{transform:none}
  .article-photo-stack{
    width:min(100%,330px);
    height:204px;
    margin-top:8px;
  }
  .article-photo-stack figure{
    width:146px;
    padding:7px 7px 10px;
    transform:
      translate(calc(var(--i) * -52px), calc(var(--i) * -12px))
      rotate(calc((var(--i) - 1) * 5deg));
  }
  .article-photo-stack figcaption{display:none}
  .article-ledger-grid,
  .about-value-grid{grid-template-columns:1fr}
  .article-ledger-card{min-height:360px}
  .carnet-stack{width:220px;height:260px}
  .carnet-stack img{width:140px}
}

/* ---------- PAIN SECTION (tabs slop) ---------- */
.pain-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;margin-top:64px}
.tabs-asset{position:relative;overflow:hidden;border-radius:8px;box-shadow:0 34px 70px -28px rgba(28,23,20,.32);transform:rotate(-1deg);background:var(--lin);margin-top:72px}
.tabs-asset img{width:100%;aspect-ratio:1.52/1;object-fit:cover;object-position:center;display:block;transform:scale(1.01)}
.tabs-asset::after{content:"";position:absolute;inset:0;border:1px solid rgba(122,92,68,.18);border-radius:8px;pointer-events:none}

.pain-cards{display:grid;gap:16px;margin-top:40px}
.pain-card{display:flex;gap:16px;padding:22px 24px;background:rgba(255,255,255,.5);border:1px solid var(--pierre);border-radius:4px}
.pain-card .num{font-family:"Fraunces",serif;font-style:italic;font-size:20px;color:var(--momiji);flex-shrink:0;line-height:1.2}
.pain-card p{font-size:15px;line-height:1.5}
.pain-card p strong{font-weight:500;color:var(--encre)}

@media (max-width:980px){.pain-grid{grid-template-columns:1fr}}

/* ---------- SITE PAGES ---------- */
.site-pages{background:linear-gradient(180deg,var(--ivoire),var(--lin))}
.pages-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:56px}
.pages-intro .lede{margin-top:0}
.pages-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.page-card{
  position:relative;
  min-height:392px;
  overflow:hidden;
  border:1px solid rgba(122,92,68,.18);
  border-radius:var(--shape-sheet);
  background:var(--lin);
  grid-column:span 2;
  box-shadow:0 18px 42px -30px rgba(28,23,20,.34);
  transition:transform 240ms var(--ease-out),box-shadow 240ms var(--ease-out);
}
.page-card:nth-child(1),.page-card:nth-child(3){grid-column:span 3}
.page-card:nth-child(4){grid-column:span 2}
.page-card:nth-child(5),.page-card:nth-child(6){grid-column:span 2}
.page-card:nth-child(2n){border-radius:var(--shape-cut)}
.page-card:nth-child(3n){border-radius:var(--shape-arch)}
.page-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(.96);transition:transform var(--dur-image) var(--ease-out)}
.page-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,23,20,.76) 0%,rgba(28,23,20,.2) 54%,rgba(28,23,20,.04) 100%)}
.page-card-copy{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;color:var(--ivoire)}
.page-card-copy span{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--or)}
.page-card-copy h3{margin-top:10px;font-family:"Fraunces",serif;font-size:clamp(26px,2.7vw,40px);font-weight:380;line-height:1.02;letter-spacing:-.02em}
.page-card-copy p{margin-top:12px;max-width:38ch;font-size:14px;line-height:1.45;color:rgba(246,240,231,.78)}
@media (max-width:980px){.pages-intro{grid-template-columns:1fr;gap:22px}.pages-grid{grid-template-columns:1fr 1fr}.page-card,.page-card:nth-child(n){grid-column:span 1;min-height:360px}}
@media (max-width:640px){.pages-grid{grid-template-columns:1fr}.page-card,.page-card:nth-child(n){min-height:390px}}

/* ---------- AI REALITY ---------- */
.ai-section{background:var(--encre);color:var(--ivoire);overflow:hidden}
.ai-section::before{content:"";position:absolute;inset:0;background-image:var(--grain-url);opacity:.24;pointer-events:none}
.ai-grid{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:start}
.ai-section .lede{color:rgba(246,240,231,.76)}
.ai-notes{display:grid;gap:18px}
.ai-notes article{background:rgba(246,240,231,.08);border:1px solid rgba(246,240,231,.14);border-radius:4px;padding:30px 32px;box-shadow:inset 0 1px 0 rgba(246,240,231,.08)}
.ai-notes article span{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--or)}
.ai-notes article h3{font-family:"Fraunces",serif;font-weight:380;font-size:28px;line-height:1.08;margin-top:12px;margin-bottom:12px}
.ai-notes article p{font-size:15px;line-height:1.55;color:rgba(246,240,231,.74)}
.ai-notes article a{display:inline-flex;margin-top:18px;font-size:13px;color:var(--or);border-bottom:1px solid currentColor}
@media (max-width:980px){.ai-grid{grid-template-columns:1fr;gap:40px}}

/* ---------- METHODE — itinéraire ---------- */
.methode{position:relative;padding-top:80px}
.steps{position:relative;margin-top:80px}
.step{display:grid;grid-template-columns:80px 1fr 1.2fr;gap:48px;align-items:start;padding:36px 0;position:relative;border-top:1px solid rgba(246,240,231,.12)}
.step:last-child{border-bottom:1px solid rgba(246,240,231,.12)}
.step .num-circle{width:56px;height:56px;border-radius:50%;border:1px solid var(--or);display:flex;align-items:center;justify-content:center;font-family:"Fraunces",serif;font-style:italic;font-size:24px;color:var(--or);background:var(--nuit);position:relative;z-index:2}
.step h3{font-family:"Fraunces",serif;font-weight:380;font-size:30px;line-height:1.1;letter-spacing:-0.01em}
.step h3 em{font-style:italic;color:var(--or)}
.step p{color:rgba(246,240,231,.75);font-size:16px;line-height:1.55}
.itin-line{position:absolute;left:calc(32px + 27px);top:0;bottom:0;width:1px;background:repeating-linear-gradient(to bottom, rgba(191,163,107,.45) 0 6px, transparent 6px 12px);z-index:1}
.itin-line .progress{position:absolute;left:-0.5px;width:2px;background:var(--momiji);top:0;height:0;transition:height .6s cubic-bezier(.4,0,.2,1)}

@media (max-width:880px){
  .step{grid-template-columns:48px 1fr;gap:20px}
  .step p{grid-column:2/3}
  .step .num-circle{width:44px;height:44px;font-size:18px}
  .itin-line{left:calc(22px + 21px)}
}

/* ---------- LIVRABLE ---------- */
.livrable-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;margin-top:64px}
.carnet-mock{position:relative;perspective:1400px}
.carnet{position:relative;width:100%;aspect-ratio:3/4;background:var(--nuit);border-radius:2px 6px 6px 2px;box-shadow:0 40px 80px -20px rgba(28,23,20,.45), inset 4px 0 0 rgba(0,0,0,.2);overflow:hidden;transform:rotate(-2deg)}
.carnet img{width:100%;height:100%;object-fit:cover;opacity:.95}
.carnet-spine{position:absolute;left:0;top:0;bottom:0;width:14px;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,0));z-index:2}
.carnet-bookmark{position:absolute;top:-10px;right:14%;width:18px;height:80px;background:var(--momiji);box-shadow:0 4px 10px rgba(28,23,20,.2)}
.carnet-bookmark::after{content:"";position:absolute;bottom:-8px;left:0;right:0;border-top:8px solid var(--momiji);border-left:9px solid transparent;border-right:9px solid transparent}
.deliverables{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:32px;border-top:1px solid rgba(28,23,20,.12);border-left:1px solid rgba(28,23,20,.12)}
.deliv{padding:22px 24px;border-right:1px solid rgba(28,23,20,.12);border-bottom:1px solid rgba(28,23,20,.12)}
.deliv .ico{width:26px;height:26px;margin-bottom:14px;color:var(--cuir)}
.deliv h4{font-family:"Fraunces",serif;font-weight:500;font-size:17px;margin-bottom:4px}
.deliv p{font-size:13px;color:var(--encre-soft);line-height:1.45}

@media (max-width:880px){.livrable-grid{grid-template-columns:1fr;gap:48px}.deliverables{grid-template-columns:1fr}}

/* ---------- CARNETS GRID ---------- */
.carnets-head{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:32px;margin-bottom:56px}
.carnets-filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:8px 14px;border:1px solid rgba(28,23,20,.2);border-radius:999px;font-size:12px;letter-spacing:0.04em;color:var(--encre-soft);cursor:pointer;transition:background-color var(--dur-ui) ease,color var(--dur-ui) ease,border-color var(--dur-ui) ease,transform var(--dur-press) var(--ease-out)}
.chip.active{background:var(--encre);color:var(--ivoire);border-color:var(--encre)}
.chip:hover:not(.active){border-color:var(--encre)}

.carnets-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.carnet-card{position:relative;cursor:pointer}
.carnet-card .img-wrap{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--lin);border-radius:2px;box-shadow:0 14px 40px -14px rgba(28,23,20,.3);will-change:transform}
.carnet-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.carnet-card:hover .img-wrap img{transform:scale(1.04)}
.carnet-card .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(23,36,52,.85) 0%,rgba(23,36,52,0) 50%);opacity:0;transition:opacity var(--dur-ui) ease;display:flex;align-items:flex-end;padding:22px;color:var(--ivoire)}
.carnet-card:hover .overlay{opacity:1}
.carnet-card .overlay .meta{font-size:11px;letter-spacing:0.16em;color:var(--or);text-transform:uppercase}
.carnet-card .overlay h4{font-family:"Fraunces",serif;font-size:22px;font-weight:400;margin-top:6px}
.carnet-card .overlay .tags{font-size:12px;color:rgba(246,240,231,.75);margin-top:6px}
.carnet-card .label{margin-top:12px;display:flex;justify-content:space-between;align-items:baseline}
.carnet-card .label .dest{font-family:"Fraunces",serif;font-size:18px;font-weight:400}
.carnet-card .label .year{font-size:12px;color:var(--encre-soft);letter-spacing:0.08em}

@media (max-width:980px){.carnets-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){.carnets-grid{grid-template-columns:repeat(2,1fr);gap:16px}}

/* ---------- AVANT/APRÈS ---------- */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:64px;border:1px solid var(--pierre);border-radius:4px;overflow:hidden;background:#fff}
.ba-col{padding:48px;position:relative}
.ba-col.avant{background:var(--ivoire);border-right:1px dashed var(--pierre)}
.ba-col.apres{background:#fff}
.ba-col .badge{display:inline-block;font-size:11px;letter-spacing:0.24em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:24px}
.ba-col.avant .badge{background:rgba(28,23,20,.08);color:var(--encre-soft)}
.ba-col.apres .badge{background:var(--momiji);color:var(--ivoire)}
.ba-col h3{font-family:"Fraunces",serif;font-weight:380;font-size:32px;line-height:1.1;margin-bottom:32px;letter-spacing:-0.01em}
.ba-list{display:flex;flex-direction:column;gap:14px}
.ba-list li{list-style:none;display:flex;gap:14px;font-size:16px;line-height:1.5}
.ba-list li .mark{flex-shrink:0;width:18px;font-family:"Fraunces",serif;font-style:italic}
.avant .mark{color:var(--encre-soft);opacity:.5}
.apres .mark{color:var(--sauge)}
.avant .ba-list li{color:var(--encre-soft)}

@media (max-width:880px){.ba-grid{grid-template-columns:1fr}.ba-col.avant{border-right:0;border-bottom:1px dashed var(--pierre)}}

/* ---------- TARIFS ---------- */
.tarifs-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:64px}
.tarifs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.formule{position:relative;padding:40px 36px;background:var(--ivoire);border:1px solid var(--pierre);border-radius:4px;display:flex;flex-direction:column}
.formule.feature{background:var(--nuit);color:var(--ivoire);border-color:var(--nuit)}
.formule .kind{font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--cuir);margin-bottom:14px}
.formule.feature .kind{color:var(--or)}
.formule h3{font-family:"Fraunces",serif;font-weight:400;font-size:32px;line-height:1.1;margin-bottom:14px;letter-spacing:-0.01em}
.formule .meta{font-size:14px;color:var(--encre-soft);margin-bottom:32px;min-height:48px}
.formule.feature .meta{color:rgba(246,240,231,.65)}
.formule .price{font-family:"Fraunces",serif;font-weight:380;font-size:48px;line-height:1;margin-bottom:6px;letter-spacing:-0.02em}
.formule .price small{font-size:16px;color:var(--encre-soft);font-style:italic}
.formule.feature .price small{color:rgba(246,240,231,.6)}
.formule .price-note{font-size:13px;color:var(--encre-soft);margin-bottom:32px}
.formule.feature .price-note{color:rgba(246,240,231,.55)}
.formule ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:32px;flex:1}
.formule ul li{font-size:14px;display:flex;gap:10px;line-height:1.4}
.formule ul li::before{content:"–";color:var(--cuir);flex-shrink:0}
.formule.feature ul li::before{color:var(--or)}
.formule .btn{align-self:flex-start;margin-top:auto}
.tarifs-note{margin-top:32px;padding:20px 24px;background:var(--lin);border:1px solid color-mix(in srgb, var(--momiji) 32%, var(--pierre));box-shadow:inset 0 1px 0 rgba(255,255,255,.32);font-size:14px;color:var(--encre-soft);max-width:760px}

@media (max-width:980px){.tarifs-grid{grid-template-columns:1fr}.tarifs-intro{grid-template-columns:1fr}}

/* ---------- FABIENNE ---------- */
.fab-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}
.fab-portrait{position:relative;aspect-ratio:4/5;background:var(--cuir);border-radius:2px;overflow:hidden;box-shadow:0 30px 80px -20px rgba(28,23,20,.4)}
.fab-portrait img{width:100%;height:100%;object-fit:cover;filter:contrast(1.02)}
.fab-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(23,36,52,.15),transparent 40%)}
.fab-body .quote{font-family:"Fraunces",serif;font-weight:380;font-style:italic;font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-0.01em;margin-bottom:36px}
.fab-body .quote::before{content:"“";font-size:1em;color:var(--momiji);margin-right:4px}
.fab-creds{display:grid;grid-template-columns:1fr 1fr;gap:18px 32px;margin-top:36px;padding-top:32px;border-top:1px solid rgba(28,23,20,.14)}
.fab-creds .item{display:flex;gap:14px;align-items:flex-start}
.fab-creds .item .ico{width:24px;height:24px;color:var(--cuir);flex-shrink:0;margin-top:2px}
.fab-creds .item h3{font-family:"Fraunces",serif;font-weight:500;font-size:15px;margin-bottom:2px}
.fab-creds .item p{font-size:13px;color:var(--encre-soft);line-height:1.4}

@media (max-width:880px){.fab-grid{grid-template-columns:1fr;gap:48px}}

/* ---------- AVIS ---------- */
/* Rail horizontal (pas une grille) : les avis prenaient trop de hauteur de page en grille 2 colonnes */
/* padding-top 24px : overflow-x:auto force overflow-y:auto (règle CSS), qui coupait le badge .avis-tag (top:-12px) sinon */
.avis-grid{display:flex;gap:24px;margin-top:56px;overflow-x:auto;scroll-snap-type:x mandatory;padding:24px 4px 20px;-webkit-overflow-scrolling:touch}
.avis{background:#fff;padding:32px;border:1px solid var(--pierre);border-radius:4px;position:relative;display:flex;flex-direction:column;gap:18px;box-shadow:0 1px 0 rgba(28,23,20,.04);flex:0 0 340px;width:340px;height:400px;scroll-snap-align:start}
.avis-tag{position:absolute;top:-12px;left:24px;background:var(--momiji);color:var(--ivoire);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.avis-stars{display:flex;gap:3px;color:var(--or)}
.avis blockquote{font-family:"Fraunces",serif;font-weight:380;font-size:17px;line-height:1.48;letter-spacing:0;color:var(--encre);white-space:pre-line;overflow-y:auto;flex:1}
.avis-hl{background:linear-gradient(transparent 60%,rgba(191,163,107,.35) 60%);padding:0 2px}
.avis-meta{display:flex;justify-content:space-between;align-items:end;border-top:1px dashed var(--pierre);padding-top:14px;margin-top:auto}
.avis-meta .name{font-family:"Fraunces",serif;font-size:15px}
.avis-meta .date{font-size:12px;color:var(--encre-soft);letter-spacing:0.04em}
.avis-source{margin-top:24px;max-width:62ch}
.avis-submit{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-top:42px;padding:28px;border:1px solid var(--pierre);border-radius:34px 10px 38px 12px;background:rgba(255,255,255,.52);box-shadow:0 24px 70px -50px rgba(28,23,20,.36)}
.avis-submit h3{margin-top:8px;font-family:"Fraunces",serif;font-size:clamp(30px,3vw,44px);font-weight:390;line-height:1;letter-spacing:0}
.avis-submit p{margin-top:10px;color:var(--encre-soft);font-size:15px;line-height:1.5;max-width:48ch}

@media (max-width:720px){.avis{width:86vw;flex-basis:86vw}.avis-submit{grid-template-columns:1fr;padding:22px}.avis-submit .btn{width:100%;justify-content:center}}

/* ---------- VALEURS ---------- */
.valeurs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:64px;background:rgba(246,240,231,.12);border:1px solid rgba(246,240,231,.12)}
.valeur{padding:40px 32px;background:var(--nuit);display:flex;flex-direction:column;gap:14px;min-height:240px}
.valeur .v-num{font-family:"Fraunces",serif;font-style:italic;font-size:16px;color:var(--or);opacity:.7}
.valeur h4{font-family:"Fraunces",serif;font-weight:380;font-size:24px;line-height:1.1;letter-spacing:-0.01em}
.valeur p{font-size:14px;color:rgba(246,240,231,.65);line-height:1.5}

@media (max-width:880px){.valeurs-grid{grid-template-columns:1fr 1fr}}

/* ---------- FAQ ---------- */
.faq-list{margin-top:48px;border-top:1px solid var(--pierre)}
.faq-item{border-bottom:1px solid var(--pierre)}
.faq-q{width:100%;text-align:left;padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:32px;font-family:"Fraunces",serif;font-weight:380;font-size:clamp(22px,2vw,28px);letter-spacing:-0.01em;color:var(--encre)}
.faq-q .toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--pierre);position:relative;flex-shrink:0;transition:background-color var(--dur-ui) ease,border-color var(--dur-ui) ease}
.faq-q .toggle::before,.faq-q .toggle::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--encre);transform:translate(-50%,-50%);transition:background-color var(--dur-ui) ease,transform var(--dur-ui) var(--ease-out)}
.faq-q .toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.open .faq-q .toggle{background:var(--encre)}
.faq-item.open .faq-q .toggle::before,.faq-item.open .faq-q .toggle::after{background:var(--ivoire)}
.faq-item.open .faq-q .toggle::after{transform:translate(-50%,-50%) rotate(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;font-size:16px;line-height:1.6;color:var(--encre-soft)}
.faq-item.open .faq-a{max-height:300px;padding-bottom:28px}

/* ---------- CONSEIL FABIENNE BOX ---------- */
.tip{display:flex;gap:18px;padding:24px 28px;background:var(--lin);border:1px solid var(--pierre);border-radius:4px;position:relative;max-width:560px}
.tip::before{content:"";position:absolute;top:-12px;left:32px;width:48px;height:24px;background:rgba(191,163,107,.55);transform:rotate(-4deg);border-left:1px dashed rgba(28,23,20,.2);border-right:1px dashed rgba(28,23,20,.2)}
.tip .label{font-family:"Caveat",cursive;font-size:24px;color:var(--momiji);line-height:1;margin-bottom:6px}
.tip p{font-size:15px;line-height:1.5;color:var(--encre)}

/* ---------- FINAL CTA ---------- */
.final-cta{padding:160px 0;background:var(--ivoire);text-align:center;position:relative}
.final-cta h2{font-family:"Fraunces",serif;font-weight:380;font-size:clamp(40px,5.6vw,80px);line-height:1.02;letter-spacing:-0.025em;max-width:18ch;margin:0 auto}
.final-cta h2 em{font-style:italic;color:var(--momiji)}
.final-cta .sig{font-family:"Caveat",cursive;font-size:32px;color:var(--cuir);margin-top:32px}
.final-cta .ctas{display:flex;justify-content:center;gap:14px;margin-top:48px;flex-wrap:wrap}

/* ---------- FOOTER ---------- */
.footer{background:var(--encre);color:rgba(246,240,231,.75);padding:80px 0 40px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px}
.footer h3{font-family:"Fraunces",serif;font-weight:500;color:var(--ivoire);font-size:14px;margin-bottom:18px;letter-spacing:0.04em}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px}
.footer a:hover{color:var(--or)}
.footer-brand .brand-logo-img{filter:brightness(0) invert(1) sepia(.1);opacity:.9}
.footer-brand p{font-size:14px;line-height:1.55;max-width:340px;margin-top:18px}
.footer-bottom{margin-top:64px;padding-top:24px;border-top:1px solid rgba(246,240,231,.1);display:flex;justify-content:space-between;font-size:12px;letter-spacing:0.06em;color:rgba(246,240,231,.5);text-transform:uppercase}

@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media (max-width:640px){
  .footer-grid{grid-template-columns:1fr;gap:34px}
  .footer-bottom{display:grid;gap:14px}
}

/* ---------- TAMPONS / DETAILS ---------- */
.tampon-row{display:flex;gap:48px;justify-content:center;align-items:center;margin-top:48px;flex-wrap:wrap;opacity:.7}
.tampon{font-family:"Fraunces",serif;font-style:italic;font-size:14px;letter-spacing:0.1em;color:var(--momiji);padding:14px 24px;border:1px solid currentColor;border-radius:999px;text-transform:uppercase;font-size:11px}
.section-more{display:flex;justify-content:center;margin-top:38px}

/* ---------- PLANE SIGNATURE (paper-plane SVG, used in 3 spots) ---------- */
.paper-plane{display:block;color:var(--encre)}
.paper-plane path{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}
.paper-plane path.fill{fill:currentColor;opacity:.08}

/* HERO plane — static decoration, behind/around stamp area */
.hero-plane{
  position:absolute;
  top:42%;right:14%;
  width:120px;height:120px;
  color:var(--ivoire);
  opacity:.85;
  z-index:3;
  pointer-events:none;
  transform:rotate(-22deg);
}
.hero-plane .trail{
  position:absolute;inset:0;
  width:100%;height:100%;
  overflow:visible;
  z-index:1;
}
.hero-plane .glyph{
  position:absolute;right:8px;top:8px;
  width:38px;height:38px;
  z-index:2;
}
@media (max-width:980px){.hero-plane{display:none}}

/* METHODE plane — rides the vertical itin-line as user scrolls through the steps */
.methode-plane{
  position:absolute;
  left:calc(32px + 16px);
  top:0;
  width:36px;height:36px;
  margin-left:-18px;margin-top:-18px;
  color:var(--or);
  z-index:3;
  transition:top .15s ease-out;
  pointer-events:none;
}
.methode-plane svg{
  width:100%;height:100%;
  transform:rotate(90deg);  /* nose points down along the vertical line */
}
.methode-plane::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:46px;height:46px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(191,163,107,.35) 0%, rgba(191,163,107,0) 70%);
  transform:translate(-50%,-50%);
  z-index:-1;
}
@media (max-width:880px){
  .methode-plane{left:calc(22px + 12px);width:28px;height:28px;margin-left:-14px;margin-top:-14px}
}

/* FINAL CTA plane — approach + landing near button */
.final-cta{overflow:hidden}
.final-plane{
  position:absolute;
  top:42%;left:50%;
  width:520px;height:180px;
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:1;
  opacity:0;
  transition:opacity 1.2s ease .2s, transform 1.6s cubic-bezier(.2,.7,.2,1) .2s;
}
.final-plane.in{opacity:1;transform:translate(-50%,-50%) translateX(0)}
.final-plane svg{width:100%;height:100%;overflow:visible}
.final-plane .approach{fill:none;stroke:var(--momiji);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:4 7;opacity:.55}
.final-plane .approach-solid{fill:none;stroke:var(--momiji);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:520;stroke-dashoffset:520;animation:approach-draw 1.8s cubic-bezier(.4,0,.2,1) .4s forwards}
.final-plane.in .approach-solid{}
@keyframes approach-draw { to { stroke-dashoffset:0 } }
.final-plane .plane-marker{
  transform-origin:center;
  animation:plane-land 1.8s cubic-bezier(.4,0,.2,1) .4s forwards;
  opacity:0;
}
@keyframes plane-land {
  0%   { opacity:0; transform:translate(40px,-30px) rotate(15deg) }
  20%  { opacity:1 }
  100% { opacity:1; transform:translate(420px,140px) rotate(35deg) }
}
.final-cta{position:relative;z-index:1}
.final-cta .container-tight{position:relative;z-index:2}
@media (max-width:880px){.final-plane{width:320px;height:120px;top:38%}}

/* ---------- TAMPON CTA hover ---------- */
.btn-primary{position:relative;overflow:visible}
.btn-primary::before{
  content:"validé";
  position:absolute;
  right:-14px;top:-22px;
  width:60px;height:60px;border-radius:50%;
  border:1.5px solid var(--momiji);
  color:var(--momiji);
  display:flex;align-items:center;justify-content:center;
  font-family:"Fraunces",serif;font-style:italic;font-size:13px;letter-spacing:.04em;
  transform:rotate(-18deg) scale(0.6);
  opacity:0;
  transition:opacity .25s ease, transform .35s cubic-bezier(.2,.7,.2,1);
  background:var(--ivoire);
  pointer-events:none;
}
.btn-primary:hover::before{opacity:1;transform:rotate(-12deg) scale(1)}

/* ---------- CARNETS — album photo accroché, défilement horizontal ---------- */
.atelier-grid{
  display:flex;
  align-items:flex-start;
  gap:26px;
  margin-top:56px;
  padding:8px 8px 22px;
  position:relative;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.carnet-card{position:relative;cursor:pointer;flex:0 0 268px;scroll-snap-align:start;transition:transform 280ms var(--ease-out)}
.atelier-grid .carnet-card:nth-child(1){transform:rotate(-2deg);margin-top:30px}
.atelier-grid .carnet-card:nth-child(2){transform:rotate(1.4deg)}
.atelier-grid .carnet-card:nth-child(3){transform:rotate(-1deg);margin-top:58px}
.atelier-grid .carnet-card:nth-child(4){transform:rotate(2.2deg);margin-top:12px}
.atelier-grid .carnet-card:nth-child(5){transform:rotate(-1.4deg)}
.atelier-grid .carnet-card:nth-child(6){transform:rotate(1.8deg);margin-top:42px}
.atelier-grid .carnet-card:nth-child(7){transform:rotate(-2.2deg)}
.atelier-grid .carnet-card:nth-child(8){transform:rotate(1deg);margin-top:50px}
.atelier-grid .carnet-card:nth-child(9){transform:rotate(-0.4deg);margin-top:18px}
.atelier-grid .carnet-card:nth-child(10){transform:rotate(1.6deg)}
.atelier-grid .carnet-card:hover{transform:rotate(0deg) translateY(-8px);z-index:4}
.carnet-card .washi{
  position:absolute;
  top:-13px;
  width:82px;
  height:24px;
  left:28%;
  display:block;
  background:rgba(191,163,107,.55);
  transform:rotate(-4deg);
  z-index:4;
  border-left:1px dashed rgba(28,23,20,.2);
  border-right:1px dashed rgba(28,23,20,.2);
  box-shadow:0 2px 4px rgba(28,23,20,.06);
}
.carnet-card:nth-child(2n) .washi{background:rgba(183,92,75,.35);transform:rotate(5deg);left:auto;right:22%}
.carnet-card:nth-child(3n) .washi{background:rgba(111,127,104,.45);transform:rotate(-2deg);left:15%;width:62px}
.carnet-card .img-wrap{
  position:relative;
  aspect-ratio:3/4;
  overflow:hidden;
  background:var(--lin);
  border:1px solid rgba(122,92,68,.18);
  border-radius:var(--shape-sheet);
  box-shadow:0 22px 54px -22px rgba(28,23,20,.42), 0 2px 5px rgba(28,23,20,.12);
}
.atelier-grid .carnet-card:nth-child(2n) .img-wrap{border-radius:var(--shape-cut)}
.atelier-grid .carnet-card:nth-child(3n) .img-wrap{border-radius:var(--shape-arch)}
.carnet-card .img-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,23,20,.46),rgba(28,23,20,0) 58%);opacity:.78;transition:opacity 220ms ease;pointer-events:none}
.carnet-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-image) var(--ease-out);filter:saturate(.94) contrast(.98)}
.carnet-card .stamp-dest{
  position:absolute;top:14px;right:14px;
  width:64px;height:64px;border-radius:50%;
  border:1.2px solid var(--momiji);
  color:var(--momiji);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:"Fraunces",serif;font-style:italic;font-size:11px;line-height:1;
  background:rgba(246,240,231,.85);
  transform:rotate(-10deg) scale(.72);
  opacity:.88;transition:opacity 220ms ease,transform 240ms var(--ease-out);
  z-index:3;
  text-align:center;padding:6px;
}
.carnet-card .stamp-dest::before{content:"";position:absolute;inset:4px;border-radius:50%;border:1px dashed currentColor;opacity:.7}
.carnet-card .stamp-dest span:first-child{font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--momiji);margin-bottom:2px;font-family:"Instrument Sans",sans-serif}
.carnet-card .label{position:static;margin-top:14px;display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:var(--encre);padding:0 4px}
.carnet-card .label .dest{font-family:"Fraunces",serif;font-size:19px;font-weight:400;line-height:1}
.carnet-card .label .year{font-size:12px;color:var(--encre-soft);letter-spacing:0.08em;text-transform:none;text-align:right;max-width:18ch}

@media (max-width:980px){
  .atelier-grid{gap:20px}
  .carnet-card{flex-basis:238px}
  .atelier-grid .carnet-card:nth-child(n){margin-top:0;transform:none}
}
@media (max-width:640px){.carnet-card{flex-basis:76vw}}

/* ---------- BLOG ARTICLES ---------- */
.blog-section{background:var(--ivoire)}
.blog-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:56px}
.blog-head .lede{margin-top:0}
.blog-rail{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:start}
.blog-card{position:relative;display:block;grid-column:span 3;min-height:420px;background:var(--lin);border:1px solid var(--pierre);border-radius:var(--shape-sheet);overflow:hidden;box-shadow:0 22px 54px -28px rgba(28,23,20,.35);transition:transform 240ms var(--ease-out),box-shadow 240ms var(--ease-out)}
.blog-card:nth-child(1),.blog-card:nth-child(7){grid-column:span 6}
.blog-card:nth-child(2),.blog-card:nth-child(5){margin-top:44px}
.blog-card:nth-child(2n){border-radius:var(--shape-cut)}
.blog-card:nth-child(3n){border-radius:var(--shape-arch)}
.blog-card img{width:100%;height:100%;min-height:420px;object-fit:cover;filter:saturate(.92) contrast(.96);transition:transform var(--dur-image) var(--ease-out)}
.blog-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,23,20,.72) 0%,rgba(28,23,20,.12) 58%,rgba(28,23,20,0) 100%);pointer-events:none}
.blog-index{position:absolute;top:18px;left:18px;z-index:2;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(246,240,231,.86);border:1px solid rgba(122,92,68,.22);font-family:"Fraunces",serif;font-style:italic;color:var(--cuir)}
.blog-copy{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;color:var(--ivoire)}
.blog-copy span{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--or)}
.blog-copy h3{font-family:"Fraunces",serif;font-weight:380;font-size:clamp(24px,2.4vw,34px);line-height:1.05;letter-spacing:-.015em;margin-top:10px;text-wrap:balance}
@media (max-width:980px){
  .blog-head{grid-template-columns:1fr;gap:22px}
  .blog-rail{grid-template-columns:1fr 1fr}
  .blog-card,.blog-card:nth-child(1),.blog-card:nth-child(7){grid-column:span 1;min-height:360px}
  .blog-card:nth-child(2),.blog-card:nth-child(5){margin-top:0}
  .blog-card img{min-height:360px}
}
@media (max-width:640px){.blog-rail{grid-template-columns:1fr}}

/* ---------- PHOTO GALLERY ---------- */
.travel-gallery{background:var(--encre);color:var(--ivoire);overflow:hidden}
.travel-gallery::before{content:"";position:absolute;inset:0;background-image:var(--grain-url);opacity:.24;pointer-events:none}
.gallery-title{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:end;margin-bottom:56px}
.travel-gallery .eyebrow{color:var(--or)}
.travel-gallery .h2{max-width:18ch}
.travel-gallery .h2 em{color:var(--or)}
.photo-strip{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:end}
.photo-tile{position:relative;display:block;grid-column:span 3;min-height:420px;overflow:hidden;border:1px solid rgba(246,240,231,.12);border-radius:var(--shape-sheet);background:rgba(246,240,231,.08)}
.photo-tile:nth-child(1){grid-column:span 4;min-height:540px}
.photo-tile:nth-child(2){grid-column:span 3;min-height:460px}
.photo-tile:nth-child(3){grid-column:span 5;min-height:520px}
.photo-tile:nth-child(4){grid-column:span 5;min-height:430px}
.photo-tile:nth-child(5){grid-column:span 3;min-height:500px}
.photo-tile:nth-child(6){grid-column:span 4;min-height:430px}
.photo-tile:nth-child(2n){border-radius:var(--shape-cut)}
.photo-tile:nth-child(3n){border-radius:var(--shape-arch)}
.photo-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(.97);transition:transform var(--dur-image) var(--ease-out)}
.photo-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,23,20,.65),rgba(28,23,20,0) 58%)}
.photo-tile span{position:absolute;left:18px;bottom:16px;z-index:2;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--or)}
@media (max-width:980px){.gallery-title{grid-template-columns:1fr;gap:22px}.photo-strip{grid-template-columns:1fr 1fr}.photo-tile,.photo-tile:nth-child(n){grid-column:span 1;min-height:380px}}
@media (max-width:640px){.photo-strip{grid-template-columns:1fr}.photo-tile,.photo-tile:nth-child(n){min-height:420px}}

/* ---------- MINI CARTE INTERACTIVE ---------- */
.mini-map{
  position:relative;aspect-ratio:1.1/1;
  background:
    radial-gradient(ellipse at 20% 80%, rgba(207,184,156,.5) 0%, rgba(207,184,156,0) 60%),
    radial-gradient(ellipse at 80% 20%, rgba(111,127,104,.25) 0%, rgba(111,127,104,0) 50%),
    repeating-linear-gradient(45deg, transparent 0 22px, rgba(122,92,68,.06) 22px 23px),
    repeating-linear-gradient(-45deg, transparent 0 22px, rgba(122,92,68,.06) 22px 23px),
    var(--lin);
  border:1px solid var(--pierre);
  border-radius:3px;
  overflow:hidden;
  box-shadow:0 24px 60px -18px rgba(28,23,20,.2);
}
.mini-map.real-map{aspect-ratio:1/1;background:var(--lin)}
.mini-map.real-map > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.94) contrast(.98)}
.mini-map .dot{
  position:absolute;
  width:14px;height:14px;border-radius:50%;
  background:var(--ivoire);border:2px solid var(--momiji);
  transform:translate(-50%,-50%);
  cursor:pointer;
  z-index:3;
  transition:background-color var(--dur-ui) ease,transform var(--dur-ui) var(--ease-out);
}
.mini-map .dot::after{
  content:attr(data-label);
  position:absolute;
  left:50%;bottom:calc(100% + 8px);
  transform:translateX(-50%);
  font-family:"Fraunces",serif;font-style:italic;font-size:13px;
  color:var(--encre);
  white-space:nowrap;
  padding:4px 10px;
  background:var(--ivoire);
  border:1px solid var(--pierre);
  border-radius:3px;
  opacity:0;pointer-events:none;
  transition:opacity var(--dur-ui) ease;
}
.mini-map .dot:hover, .mini-map .dot.active{background:var(--momiji);transform:translate(-50%,-50%) scale(1.15)}
.mini-map .dot:hover::after, .mini-map .dot.active::after{opacity:1}
.mini-map .compass{
  position:absolute;top:18px;right:18px;
  width:54px;height:54px;border-radius:50%;
  border:1px solid var(--cuir);
  display:flex;align-items:center;justify-content:center;
  font-family:"Fraunces",serif;font-style:italic;font-size:11px;color:var(--cuir);
  background:rgba(246,240,231,.75);
}
.mini-map .compass::before{content:"";position:absolute;inset:6px;border-radius:50%;border:1px dashed var(--cuir);opacity:.6}
.mini-map .compass span{position:absolute;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.mini-map .compass .n{top:6px}
.mini-map .compass .s{bottom:6px}
.mini-map .compass .e{right:6px;top:50%;transform:translateY(-50%)}
.mini-map .compass .w{left:6px;top:50%;transform:translateY(-50%)}
.mini-map .legend{
  position:absolute;left:18px;bottom:18px;
  background:rgba(246,240,231,.85);
  padding:10px 14px;border:1px solid var(--pierre);border-radius:3px;
  font-family:"Caveat",cursive;font-size:18px;color:var(--cuir);
  line-height:1.1;
}

.livrable-side{display:flex;flex-direction:column;gap:18px}
.livrable-reveal{
  padding:18px 22px;border:1px solid var(--pierre);background:var(--ivoire);border-radius:3px;
  display:flex;gap:14px;align-items:flex-start;
  position:relative;
  transition:border-color var(--dur-ui) ease,box-shadow var(--dur-ui) var(--ease-out);
}
.livrable-reveal.active{border-color:var(--momiji);box-shadow:0 8px 20px -8px rgba(183,92,75,.2)}
.livrable-reveal .num{font-family:"Fraunces",serif;font-style:italic;color:var(--cuir);font-size:18px;flex-shrink:0}
.livrable-reveal.active .num{color:var(--momiji)}
.livrable-reveal h3{font-family:"Fraunces",serif;font-weight:500;font-size:16px;margin-bottom:2px;letter-spacing:-0.01em}
.livrable-reveal p{font-size:13px;color:var(--encre-soft);line-height:1.5}

/* prefers-reduced-motion */
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .itin-line .progress{transition:none}
  .plane-trail g[ref]{display:none}
}

@keyframes hero-rise{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes hero-note{
  from{opacity:0;transform:rotate(-1.2deg) translateY(18px) scale(.985)}
  to{opacity:1;transform:rotate(-1.2deg) translateY(0) scale(1)}
}

.btn:active,.nav-cta:active,.chip:active{transform:scale(.97)}

@media (hover:hover) and (pointer:fine){
  .page-card:hover{transform:translateY(-6px);box-shadow:0 30px 64px -34px rgba(28,23,20,.44)}
  .page-card:hover img{transform:scale(1.028)}
  .atelier-grid .carnet-card:hover{transform:rotate(0deg) translateY(-8px);z-index:4}
  .carnet-card:hover .img-wrap::after{opacity:.95}
  .carnet-card:hover .img-wrap img{transform:scale(1.03)}
  .carnet-card:hover .stamp-dest{opacity:1;transform:rotate(-12deg) scale(1)}
  .blog-card:hover{transform:translateY(-6px);box-shadow:0 30px 68px -28px rgba(28,23,20,.44)}
  .blog-card:hover img{transform:scale(1.03)}
  .photo-tile:hover img{transform:scale(1.035)}
}

/* ---------- HEROES V2 — objets de voyage, pas templates ---------- */
.hero-wow{min-height:calc(100dvh - 72px)}
.hero-wow .editorial-hero-bg img{transform:scale(1.015)}
.hero-wow .editorial-hero-bg::after{
  background:
    radial-gradient(circle at 72% 38%,rgba(246,240,231,.08),rgba(246,240,231,0) 30%),
    linear-gradient(90deg,rgba(23,36,52,.88) 0%,rgba(23,36,52,.58) 47%,rgba(23,36,52,.72) 100%),
    linear-gradient(to top,rgba(28,23,20,.82),rgba(28,23,20,.04) 64%);
}
.hero-wow .editorial-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(460px,.92fr);
  align-items:center;
  min-height:calc(100dvh - 72px);
  padding-top:72px;
  padding-bottom:72px;
}
.hero-wow .editorial-hero-copy h1{
  font-size:clamp(54px,6.7vw,100px);
  line-height:.93;
  max-width:11.8ch;
}
.hero-wow .editorial-hero-copy p{font-size:18px;line-height:1.55}
.hero-scene{
  width:min(42vw,600px);
  min-height:510px;
  justify-self:end;
  animation:scene-arrive 900ms cubic-bezier(.23,1,.32,1) 120ms both;
}
.hero-scene::after{
  content:"";
  position:absolute;
  inset:28px;
  border:1px solid rgba(246,240,231,.16);
  border-radius:54px 16px 58px 14px;
  pointer-events:none;
}
.browser-chaos,.atlas-map,.price-map,.question-browser,.postcard-photo{
  position:absolute;
  overflow:hidden;
  border:1px solid rgba(246,240,231,.2);
  background:rgba(246,240,231,.08);
  box-shadow:0 38px 90px -34px rgba(0,0,0,.68);
}
.browser-chaos{
  right:16px;
  top:8px;
  width:540px;
  border-radius:34px 12px 44px 14px;
  transform:rotate(-2.5deg);
}
.browser-chaos img{
  width:100%;
  aspect-ratio:1448/1086;
  object-fit:cover;
  object-position:center;
  transform:scale(1.16);
}
.article-clippings{position:absolute;inset:0;z-index:3}
.article-clippings .scene-polaroid{width:204px;transform:rotate(var(--r,0deg))}
.article-clippings .scene-polaroid:nth-child(1){right:22px;top:208px;--r:8deg;z-index:5}
.article-clippings .scene-polaroid:nth-child(2){right:218px;top:286px;--r:-7deg;z-index:4}
.article-clippings .scene-polaroid:nth-child(3){right:118px;top:112px;--r:3deg;z-index:3}
.articles-note{
  left:24px;
  right:auto;
  bottom:18px;
  max-width:256px;
  z-index:6;
  transform:rotate(-3deg);
}
.atlas-map{
  right:8px;
  top:18px;
  width:560px;
  border-radius:58px 18px 54px 18px;
  transform:rotate(1.5deg);
}
.atlas-map img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
  transform:scale(1.08);
  filter:saturate(.9) contrast(.98);
}
.atlas-covers{position:absolute;inset:0;z-index:4}
.atlas-covers .carnet-pin:nth-child(1){--x:34px;--y:54px;--r:-9deg;width:154px}
.atlas-covers .carnet-pin:nth-child(2){--x:182px;--y:20px;--r:6deg;width:184px}
.atlas-covers .carnet-pin:nth-child(3){--x:352px;--y:100px;--r:-5deg;width:150px}
.atlas-covers .carnet-pin:nth-child(4){--x:124px;--y:270px;--r:8deg;width:166px}
.atlas-covers .carnet-pin:nth-child(5){--x:310px;--y:292px;--r:-6deg;width:138px}
.atlas-scene .creations-note{
  left:18px;
  bottom:14px;
  max-width:236px;
  z-index:7;
  transform:rotate(2deg);
}
.portrait-scene .portrait-sheet{
  right:182px;
  top:18px;
  width:278px;
  border-radius:16px 52px 18px 16px;
  transform:rotate(-5deg);
}
.portrait-scene .passport-note{
  right:6px;
  bottom:32px;
  width:330px;
  padding:30px;
  transform:rotate(2.5deg);
}
.portrait-scene .passport-note strong{font-size:29px}
.price-map{
  right:18px;
  top:6px;
  width:520px;
  border-radius:34px 10px 54px 18px;
  transform:rotate(-2deg);
}
.price-map img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
  transform:scale(1.1);
  opacity:.72;
}
.price-map-scene .quote-sheet.main{
  right:52px;
  top:112px;
  width:350px;
  z-index:4;
  border-radius:42px 14px 46px 14px;
  box-shadow:0 34px 84px -30px rgba(0,0,0,.62);
}
.price-map-scene .quote-slip{z-index:5}
.price-map-scene .quote-slip:nth-of-type(3){left:16px;top:142px}
.price-map-scene .quote-slip:nth-of-type(4){left:8px;top:256px}
.price-map-scene .quote-slip:nth-of-type(5){left:86px;top:372px}
.price-map-scene .quote-line{z-index:3;left:190px;top:184px}
.question-browser{
  right:0;
  top:22px;
  width:520px;
  border-radius:36px 12px 44px 14px;
  transform:rotate(2deg);
  opacity:.82;
}
.question-browser img{
  width:100%;
  aspect-ratio:1448/1086;
  object-fit:cover;
  object-position:center;
  transform:scale(1.2);
  filter:saturate(.7) contrast(.95);
}
.questions-scene .question-slip{z-index:4}
.questions-scene .question-slip:nth-child(2){--x:44px;--y:86px;--r:-4deg}
.questions-scene .question-slip:nth-child(3){--x:258px;--y:158px;--r:4deg}
.questions-scene .question-slip:nth-child(4){--x:30px;--y:286px;--r:3deg}
.questions-scene .question-slip:nth-child(5){--x:274px;--y:354px;--r:-5deg}
.postcard-photo{
  left:18px;
  top:14px;
  width:312px;
  border-radius:42px 14px 18px 54px;
  transform:rotate(-4deg);
}
.postcard-photo img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center;
}
.postcard-scene .postcard{
  right:8px;
  top:134px;
  width:410px;
  z-index:4;
  transform:rotate(2deg);
  box-shadow:0 34px 84px -30px rgba(0,0,0,.62);
}
@media (max-width:980px){
  .hero-wow .editorial-hero-inner{grid-template-columns:1fr;gap:30px}
  .hero-scene{width:min(100%,620px);justify-self:start;min-height:480px}
  .browser-chaos,.atlas-map,.price-map,.question-browser{width:min(100%,540px)}
}
@media (max-width:720px){
  .hero-wow .editorial-hero-inner{padding-top:64px;padding-bottom:34px}
  .hero-wow .editorial-hero-copy h1{font-size:clamp(44px,12vw,60px);max-width:12ch}
  .hero-scene{transform:none;width:100%;min-height:390px;margin-bottom:0;overflow:hidden}
  .hero-scene::after{inset:14px;border-radius:34px 12px 36px 12px}
  .browser-chaos{right:-72px;top:10px;width:420px}
  .article-clippings .scene-polaroid{width:148px}
  .article-clippings .scene-polaroid:nth-child(1){right:14px;top:178px}
  .article-clippings .scene-polaroid:nth-child(2){right:176px;top:220px}
  .article-clippings .scene-polaroid:nth-child(3){right:108px;top:96px}
  .articles-note{left:8px;bottom:6px;max-width:220px}
  .atlas-map{right:-72px;top:12px;width:420px}
  .atlas-covers .carnet-pin:nth-child(1){--x:4px;--y:40px;width:112px}
  .atlas-covers .carnet-pin:nth-child(2){--x:118px;--y:16px;width:128px}
  .atlas-covers .carnet-pin:nth-child(3){--x:236px;--y:78px;width:112px}
  .atlas-covers .carnet-pin:nth-child(4){--x:58px;--y:208px;width:118px}
  .atlas-covers .carnet-pin:nth-child(5){--x:204px;--y:218px;width:104px}
  .atlas-scene .creations-note{left:8px;bottom:4px;max-width:220px}
  .portrait-scene .portrait-sheet{right:86px;top:8px;width:190px}
  .portrait-scene .passport-note{right:0;bottom:12px;width:246px;padding:20px}
  .portrait-scene .passport-note strong{font-size:22px}
  .price-map{right:-88px;top:0;width:420px}
  .price-map-scene .quote-sheet.main{right:0;top:92px;width:286px;padding:24px}
  .price-map-scene .quote-sheet strong{font-size:58px}
  .price-map-scene .quote-slip:nth-of-type(3){left:0;top:118px}
  .price-map-scene .quote-slip:nth-of-type(4){left:4px;top:226px}
  .price-map-scene .quote-slip:nth-of-type(5){left:48px;top:318px}
  .question-browser{right:-78px;top:10px;width:420px}
  .questions-scene .question-slip{width:210px;padding:18px}
  .questions-scene .question-slip:nth-child(2){--x:0px;--y:70px}
  .questions-scene .question-slip:nth-child(3){--x:112px;--y:142px}
  .questions-scene .question-slip:nth-child(4){--x:0px;--y:240px}
  .questions-scene .question-slip:nth-child(5){--x:108px;--y:306px}
  .postcard-photo{left:0;top:8px;width:188px}
  .postcard-scene .postcard{right:0;top:124px;width:302px;padding:26px 24px}
}
@keyframes scene-arrive{
  from{opacity:0;transform:translateY(26px) rotate(.6deg)}
  to{opacity:1;transform:translateY(0) rotate(0)}
}

/* ---------- EDITION PREMIUM — heroes clairs, objets reels, motion Emil ---------- */
:root{
  --dur-hover:200ms;
  --dur-reveal:720ms;
  --shape-postcard:18px 52px 18px 44px;
  --shape-ticket:999px;
  --shape-album:12px 42px 14px 12px;
}

.hero h1{animation-duration:var(--dur-reveal);animation-delay:40ms}
.hero-sub{animation-duration:var(--dur-reveal);animation-delay:95ms}
.hero-fiche{animation-duration:820ms;animation-delay:180ms}
.hero-ctas{animation-duration:var(--dur-reveal);animation-delay:220ms}
.hero-proof{animation-duration:var(--dur-reveal);animation-delay:280ms}

.btn,
.nav-cta,
.chip,
.mobile-nav-panel a,
.article-ledger-card,
.page-card,
.blog-card,
.photo-tile,
.carnet-card,
.faq-q{
  -webkit-tap-highlight-color:transparent;
}
.btn:active,
.nav-cta:active,
.chip:active,
.page-card:active,
.blog-card:active,
.photo-tile:active,
.article-ledger-card:active,
.carnet-card:active,
.mobile-nav-panel a:active,
.faq-q:active{transform:scale(.97)}

.hero-paper{
  min-height:calc(100dvh - 72px);
  color:var(--encre);
  background:
    radial-gradient(circle at 78% 18%,rgba(191,163,107,.18),rgba(191,163,107,0) 28%),
    linear-gradient(135deg,var(--ivoire) 0%,var(--lin) 56%,#e6d6c1 100%);
}
.hero-paper::before{
  opacity:.34;
  background:
    repeating-linear-gradient(90deg,rgba(122,92,68,.07) 0 1px,transparent 1px 36px),
    linear-gradient(to top,rgba(246,240,231,.5),rgba(246,240,231,0));
}
.hero-paper .editorial-hero-bg{display:none}
.hero-paper .editorial-hero-inner{
  grid-template-columns:minmax(0,.92fr) minmax(420px,.86fr);
  gap:clamp(36px,5vw,72px);
  min-height:calc(100dvh - 72px);
  padding-top:clamp(72px,8vw,118px);
  padding-bottom:clamp(56px,7vw,92px);
}
.hero-paper .editorial-hero-copy{
  max-width:720px;
  padding-top:0;
}
.hero-paper .eyebrow{color:var(--cuir)}
.hero-paper .editorial-hero-copy h1{
  color:var(--encre);
  font-size:clamp(54px,7vw,104px);
  max-width:12.2ch;
}
.hero-paper .editorial-hero-copy h1 em{color:var(--momiji)}
.hero-paper .editorial-hero-copy p{
  color:var(--encre-soft);
  max-width:54ch;
}
.hero-paper .hero-chapters span{
  border-color:rgba(122,92,68,.24);
  background:rgba(246,240,231,.55);
  color:var(--encre-soft);
}
.hero-paper .hero-chapters em{color:var(--momiji)}
.hero-paper .hero-scene{
  width:min(42vw,600px);
  min-height:520px;
  justify-self:end;
}
.hero-paper .hero-scene::after{
  inset:18px;
  border-color:rgba(122,92,68,.18);
  background:rgba(246,240,231,.28);
  border-radius:var(--shape-sheet);
  z-index:-1;
}
.hero-paper .scene-note,
.hero-paper .passport-note,
.hero-paper .quote-sheet,
.hero-paper .postcard,
.hero-paper .question-slip,
.hero-paper .quote-proof,
.hero-paper .faq-note-card{
  background:rgba(246,240,231,.94);
  color:var(--encre);
  border:1px solid rgba(122,92,68,.2);
  box-shadow:0 30px 74px -34px rgba(28,23,20,.38), inset 0 1px 0 rgba(255,255,255,.62);
}

.photo-album-scene .album-wire{
  position:absolute;
  left:30px;
  right:26px;
  top:86px;
  height:1px;
  background:linear-gradient(90deg,rgba(122,92,68,0),rgba(122,92,68,.32),rgba(122,92,68,0));
  transform:rotate(-4deg);
}
.photo-album-scene .scene-polaroid{
  width:218px;
  border-radius:var(--shape-album);
  transform:rotate(var(--r,0deg));
}
.photo-album-scene .scene-polaroid:nth-child(1){right:8px;top:28px;--r:7deg;z-index:5}
.photo-album-scene .scene-polaroid:nth-child(2){right:210px;top:118px;--r:-6deg;z-index:4}
.photo-album-scene .scene-polaroid:nth-child(3){right:90px;top:258px;--r:3deg;z-index:3}
.hero-paper .articles-note{
  left:20px;
  right:auto;
  bottom:34px;
  max-width:270px;
  transform:rotate(-2deg);
}

.covers-only-scene::before{
  content:"";
  position:absolute;
  inset:22px 12px 18px 22px;
  border:1px solid rgba(122,92,68,.18);
  border-radius:50px 16px 48px 14px;
  background:linear-gradient(135deg,rgba(246,240,231,.56),rgba(239,228,213,.28));
}
.covers-only-scene .atlas-covers .carnet-pin:nth-child(1){--x:20px;--y:74px;--r:-8deg;width:156px}
.covers-only-scene .atlas-covers .carnet-pin:nth-child(2){--x:166px;--y:22px;--r:5deg;width:196px}
.covers-only-scene .atlas-covers .carnet-pin:nth-child(3){--x:350px;--y:126px;--r:-4deg;width:150px}
.covers-only-scene .atlas-covers .carnet-pin:nth-child(4){--x:114px;--y:286px;--r:6deg;width:164px}
.covers-only-scene .atlas-covers .carnet-pin:nth-child(5){--x:302px;--y:300px;--r:-6deg;width:134px}
.hero-paper .covers-only-scene .creations-note{
  left:22px;
  bottom:16px;
  transform:rotate(2deg);
}
.hero-paper .carnet-pin figcaption{
  color:var(--encre);
  text-shadow:none;
  background:rgba(246,240,231,.82);
  display:inline-flex;
  padding:3px 7px;
  border-radius:var(--shape-ticket);
}

.hero-paper .portrait-scene .portrait-sheet{
  right:176px;
  width:286px;
  border-radius:var(--shape-album);
}
.hero-paper .portrait-scene .passport-note{
  width:334px;
  border-radius:var(--shape-postcard);
}

.quote-desk-scene .quote-sheet.main{
  right:54px;
  top:70px;
  width:360px;
  z-index:4;
  border-radius:var(--shape-sheet);
}
.quote-desk-scene .quote-slip{
  z-index:5;
  border-radius:var(--shape-ticket);
}
.quote-desk-scene .quote-slip:nth-of-type(2){left:28px;top:106px}
.quote-desk-scene .quote-slip:nth-of-type(3){left:0;top:220px}
.quote-desk-scene .quote-slip:nth-of-type(4){left:74px;top:336px}
.quote-desk-scene .quote-line{
  left:170px;
  top:148px;
  border-color:rgba(183,92,75,.4);
}
.quote-proof{
  position:absolute;
  right:20px;
  bottom:22px;
  width:260px;
  padding:18px 20px;
  border-radius:var(--shape-cut);
  z-index:3;
  transform:rotate(2deg);
}
.quote-proof span{
  display:block;
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--momiji);
  margin-bottom:8px;
}
.quote-proof p{font-size:13px;line-height:1.45;color:var(--encre-soft)}

.question-desk-scene{
  display:block;
}
.question-desk-scene .question-slip:nth-child(1){--x:16px;--y:44px;--r:-3deg}
.question-desk-scene .question-slip:nth-child(2){--x:214px;--y:112px;--r:3deg}
.question-desk-scene .question-slip:nth-child(3){--x:36px;--y:246px;--r:2deg}
.question-desk-scene .question-slip:nth-child(4){--x:244px;--y:322px;--r:-4deg}
.faq-note-card{
  position:absolute;
  left:246px;
  top:12px;
  width:224px;
  padding:20px;
  border-radius:var(--shape-postcard);
  transform:rotate(5deg);
}
.faq-note-card .paper-plane{width:28px;height:28px;color:var(--momiji);margin-bottom:14px}
.faq-note-card strong{
  font-family:"Fraunces",serif;
  font-size:22px;
  line-height:1.08;
  font-weight:420;
}

.hero-paper .postcard-photo{
  border-color:rgba(122,92,68,.2);
}
.hero-paper .postcard{
  border-radius:var(--shape-postcard);
}

@media (hover:hover) and (pointer:fine){
  .nav-links a:hover,
  .hero-contact-card a:hover,
  .postcard-actions a:hover,
  .footer a:hover{color:var(--momiji)}
  .btn-primary:hover{background:var(--encre)}
  .btn-ghost:hover{background:var(--encre);color:var(--ivoire)}
  .hero-ctas .btn-ghost:hover{background:var(--ivoire);color:var(--encre);border-color:var(--ivoire)}
  .nav-cta:hover{background:var(--momiji);border-color:var(--momiji)}
  .article-ledger-card:hover img{transform:scale(1.028)}
  .chip:hover:not(.active){border-color:var(--encre)}
}
@media (hover:none), (pointer:coarse){
  .btn-primary:hover{background:var(--momiji)}
  .btn-ghost:hover{background:transparent;color:var(--encre)}
  .hero-ctas .btn-ghost:hover{background:transparent;color:var(--ivoire);border-color:rgba(246,240,231,.5)}
  .nav-cta:hover{background:var(--encre);border-color:var(--encre)}
  .article-ledger-card:hover img,
  .page-card:hover img,
  .blog-card:hover img,
  .photo-tile:hover img,
  .carnet-card:hover .img-wrap img{transform:none}
  .atelier-grid .carnet-card:hover{transform:inherit}
  .carnet-card:hover .overlay{opacity:0}
}

@media (max-width:980px){
  .hero-paper .editorial-hero-inner{
    grid-template-columns:1fr;
    min-height:auto;
    gap:34px;
  }
  .hero-paper .hero-scene{
    justify-self:start;
    width:min(100%,620px);
  }
}
@media (max-width:720px){
  .hero-paper .editorial-hero-copy h1{
    font-size:clamp(44px,12vw,62px);
    max-width:12.6ch;
  }
  .hero-paper .hero-scene{
    min-height:390px;
    overflow:hidden;
  }
  .photo-album-scene .scene-polaroid{width:150px}
  .photo-album-scene .scene-polaroid:nth-child(1){right:0;top:16px}
  .photo-album-scene .scene-polaroid:nth-child(2){right:148px;top:84px}
  .photo-album-scene .scene-polaroid:nth-child(3){right:44px;top:210px}
  .hero-paper .articles-note{left:0;bottom:8px;max-width:230px}
  .covers-only-scene .atlas-covers .carnet-pin:nth-child(1){--x:4px;--y:46px;width:112px}
  .covers-only-scene .atlas-covers .carnet-pin:nth-child(2){--x:116px;--y:18px;width:136px}
  .covers-only-scene .atlas-covers .carnet-pin:nth-child(3){--x:238px;--y:78px;width:108px}
  .covers-only-scene .atlas-covers .carnet-pin:nth-child(4){--x:50px;--y:214px;width:118px}
  .covers-only-scene .atlas-covers .carnet-pin:nth-child(5){--x:190px;--y:222px;width:104px}
  .hero-paper .covers-only-scene .creations-note{left:8px;bottom:0;max-width:220px}
  .quote-desk-scene .quote-sheet.main{right:0;top:72px;width:286px;padding:24px}
  .quote-desk-scene .quote-slip:nth-of-type(2){left:0;top:108px}
  .quote-desk-scene .quote-slip:nth-of-type(3){left:4px;top:216px}
  .quote-desk-scene .quote-slip:nth-of-type(4){left:46px;top:312px}
  .quote-proof{right:0;bottom:0;width:236px;padding:16px}
  .question-desk-scene .question-slip{width:210px;padding:18px}
  .question-desk-scene .question-slip:nth-child(1){--x:0px;--y:64px}
  .question-desk-scene .question-slip:nth-child(2){--x:112px;--y:134px}
  .question-desk-scene .question-slip:nth-child(3){--x:0px;--y:236px}
  .question-desk-scene .question-slip:nth-child(4){--x:110px;--y:306px}
  .faq-note-card{left:90px;top:0;width:214px;padding:18px}
}

/* ---------- HEROES SIGNATURE — niveau home, chaque page a sa scene ---------- */
.hero-paper{
  overflow:hidden;
}
.hero-paper::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(122,92,68,.055) 0 1px,transparent 1px 9.09%),
    linear-gradient(0deg,rgba(122,92,68,.045) 0 1px,transparent 1px 96px);
  mask-image:linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,.08) 42%,rgba(0,0,0,.18));
}
.hero-paper .editorial-hero-inner{z-index:2}
.hero-paper .editorial-hero-copy{
  position:relative;
}
.hero-paper .editorial-hero-copy::after{
  content:"";
  position:absolute;
  left:-26px;
  bottom:-28px;
  width:190px;
  height:1px;
  background:linear-gradient(90deg,var(--momiji),rgba(183,92,75,0));
  opacity:.65;
}
.hero-paper .editorial-hero-copy h1{
  text-wrap:balance;
  letter-spacing:-.045em;
}
.hero-paper .editorial-hero-copy p{
  font-size:19px;
  line-height:1.52;
}

.hero-articles{
  background:
    linear-gradient(116deg,rgba(246,240,231,.98) 0%,rgba(239,228,213,.92) 43%,rgba(214,199,179,.86) 100%),
    var(--grain-url);
}
.hero-articles .photo-album-scene{
  min-height:600px;
  perspective:1200px;
}
.hero-articles .photo-album-scene::before{
  content:"";
  position:absolute;
  inset:12px 8px 18px 24px;
  border-radius:70px 14px 64px 16px;
  background:
    linear-gradient(135deg,rgba(28,23,20,.04),rgba(246,240,231,.76)),
    repeating-linear-gradient(90deg,rgba(122,92,68,.08) 0 1px,transparent 1px 38px);
  border:1px solid rgba(122,92,68,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 44px 80px -58px rgba(28,23,20,.58);
  transform:rotate(.8deg);
}
.hero-articles .photo-album-scene .album-wire{
  left:14px;
  right:42px;
  top:118px;
  height:2px;
  opacity:.8;
  background:
    linear-gradient(90deg,rgba(122,92,68,0),rgba(122,92,68,.5),rgba(122,92,68,0));
  box-shadow:0 96px 0 rgba(122,92,68,.22),0 236px 0 rgba(122,92,68,.18);
}
.hero-articles .photo-album-scene .scene-polaroid{
  width:210px;
  padding:12px 12px 18px;
  border-radius:18px 18px 28px 18px;
  box-shadow:0 38px 76px -34px rgba(28,23,20,.68),0 2px 8px rgba(28,23,20,.12);
  transform:translate3d(var(--tx,0),var(--ty,0),0) rotate(var(--r,0deg));
  transition:transform var(--dur-hover) var(--ease-out);
}
.hero-articles .photo-album-scene .scene-polaroid img{
  aspect-ratio:4/5.1;
  border-radius:12px 12px 20px 12px;
}
.hero-articles .photo-album-scene .scene-polaroid:nth-child(1){
  right:8px;
  top:36px;
  --r:5.5deg;
  z-index:6;
  width:224px;
}
.hero-articles .photo-album-scene .scene-polaroid:nth-child(2){
  right:248px;
  top:86px;
  --r:-8deg;
  z-index:5;
  width:232px;
}
.hero-articles .photo-album-scene .scene-polaroid:nth-child(3){
  right:128px;
  top:254px;
  --r:2.8deg;
  z-index:4;
  width:218px;
}
.hero-articles .photo-album-scene .scene-polaroid:nth-child(4){
  right:-6px;
  top:360px;
  --r:-4.4deg;
  z-index:3;
  width:196px;
}
.hero-articles .articles-note{
  left:4px;
  bottom:58px;
  max-width:296px;
  padding:22px 24px;
  border-radius:26px 10px 42px 12px;
  z-index:7;
}

.hero-creations{
  background:
    linear-gradient(118deg,#f5ede2 0%,#ead9c2 52%,#d9c2a5 100%);
}
.hero-creations .covers-only-scene{
  min-height:610px;
}
.hero-creations .covers-only-scene::before{
  inset:0 0 10px 8px;
  border-radius:78px 16px 68px 14px;
  background:
    linear-gradient(140deg,rgba(246,240,231,.72),rgba(203,184,157,.24)),
    repeating-linear-gradient(0deg,rgba(122,92,68,.055) 0 1px,transparent 1px 40px);
  box-shadow:0 42px 82px -58px rgba(28,23,20,.58),inset 0 1px 0 rgba(255,255,255,.62);
}
.hero-creations .covers-only-scene::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:34px;
  bottom:44px;
  border:1px dashed rgba(122,92,68,.34);
  border-radius:50%;
  transform:rotate(-14deg);
  pointer-events:none;
}
.hero-creations .covers-only-scene .carnet-pin{
  filter:drop-shadow(0 30px 24px rgba(28,23,20,.28));
}
.hero-creations .covers-only-scene .carnet-pin:nth-child(1){--x:10px;--y:88px;--r:-9deg;width:168px;z-index:4}
.hero-creations .covers-only-scene .carnet-pin:nth-child(2){--x:162px;--y:0px;--r:4deg;width:226px;z-index:8}
.hero-creations .covers-only-scene .carnet-pin:nth-child(3){--x:374px;--y:102px;--r:-3deg;width:162px;z-index:5}
.hero-creations .covers-only-scene .carnet-pin:nth-child(4){--x:96px;--y:310px;--r:6deg;width:178px;z-index:3}
.hero-creations .covers-only-scene .carnet-pin:nth-child(5){--x:294px;--y:300px;--r:-7deg;width:150px;z-index:6}
.hero-creations .covers-only-scene .carnet-pin img{
  border-radius:18px 46px 16px 30px;
}
.hero-creations .covers-only-scene .creations-note{
  left:16px;
  bottom:26px;
  max-width:270px;
  z-index:9;
}

.hero-tarifs{
  background:
    linear-gradient(120deg,#f7f0e7 0%,#ecdfce 48%,#dcc7aa 100%);
}
.hero-tarifs .quote-desk-scene{
  min-height:590px;
}
.hero-tarifs .quote-desk-scene::before{
  content:"";
  position:absolute;
  inset:16px 6px 14px 20px;
  border:1px solid rgba(122,92,68,.18);
  border-radius:64px 16px 60px 14px;
  background:
    linear-gradient(125deg,rgba(246,240,231,.42),rgba(255,255,255,.16)),
    repeating-linear-gradient(0deg,transparent 0 36px,rgba(122,92,68,.09) 36px 37px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 42px 80px -60px rgba(28,23,20,.58);
}
.hero-tarifs .quote-desk-scene .quote-sheet.main{
  right:12px;
  top:74px;
  width:400px;
  padding:38px 40px;
  transform:rotate(-2deg);
}
.hero-tarifs .quote-desk-scene .quote-sheet strong{
  font-size:86px;
}
.hero-tarifs .quote-desk-scene .quote-slip{
  min-width:174px;
  padding:15px 18px;
}
.hero-tarifs .quote-desk-scene .quote-slip:nth-of-type(2){left:12px;top:116px;transform:rotate(-4deg)}
.hero-tarifs .quote-desk-scene .quote-slip:nth-of-type(3){left:0;top:246px;transform:rotate(2deg)}
.hero-tarifs .quote-desk-scene .quote-slip:nth-of-type(4){left:84px;top:372px;transform:rotate(-3deg)}
.hero-tarifs .quote-proof{
  width:294px;
  right:0;
  bottom:18px;
  padding:22px 24px;
}

.hero-about{
  background:
    linear-gradient(120deg,#f8f0e6 0%,#e9d7bf 52%,#d8bea0 100%);
}
.hero-about .portrait-scene{
  min-height:590px;
}
.hero-about .portrait-scene::before{
  content:"";
  position:absolute;
  inset:18px 12px 14px 42px;
  border:1px solid rgba(122,92,68,.18);
  border-radius:62px 16px 72px 16px;
  background:rgba(246,240,231,.38);
}
.hero-about .portrait-scene .portrait-sheet{
  right:188px;
  top:20px;
  width:320px;
  padding:12px 12px 44px;
  border-radius:18px 58px 18px 18px;
}
.hero-about .portrait-scene .passport-note{
  right:-2px;
  bottom:40px;
  width:360px;
  padding:34px;
  transform:rotate(1.5deg);
}
.hero-about .portrait-scene .passport-note strong{
  font-size:31px;
}

.hero-faq{
  background:
    linear-gradient(118deg,#f6efe5 0%,#eadcc8 58%,#d9c1a0 100%);
}
.hero-faq .question-desk-scene{
  min-height:590px;
}
.hero-faq .question-desk-scene::before{
  content:"";
  position:absolute;
  inset:18px 6px 14px 18px;
  border-radius:70px 18px 64px 14px;
  border:1px solid rgba(122,92,68,.18);
  background:
    linear-gradient(135deg,rgba(246,240,231,.68),rgba(246,240,231,.18)),
    repeating-linear-gradient(90deg,rgba(122,92,68,.07) 0 1px,transparent 1px 42px);
}
.hero-faq .question-desk-scene .question-slip{
  width:286px;
}
.hero-faq .question-desk-scene .question-slip:nth-child(1){--x:0px;--y:90px;--r:-4deg;z-index:3}
.hero-faq .question-desk-scene .question-slip:nth-child(2){--x:222px;--y:144px;--r:3deg;z-index:4}
.hero-faq .question-desk-scene .question-slip:nth-child(3){--x:38px;--y:300px;--r:2deg;z-index:5}
.hero-faq .question-desk-scene .question-slip:nth-child(4){--x:256px;--y:374px;--r:-4deg;z-index:2}
.hero-faq .faq-note-card{
  left:196px;
  top:8px;
  width:268px;
  z-index:6;
}

.hero-contact{
  background:
    linear-gradient(116deg,#f7efe5 0%,#e8d6bf 54%,#d6bd9d 100%);
}
.hero-contact .postcard-scene{
  min-height:590px;
}
.hero-contact .postcard-scene::before{
  content:"";
  position:absolute;
  inset:16px 10px 16px 38px;
  border:1px solid rgba(122,92,68,.18);
  border-radius:64px 16px 66px 16px;
  background:rgba(246,240,231,.34);
}
.hero-contact .postcard-scene .postcard-photo{
  left:18px;
  top:34px;
  width:342px;
}
.hero-contact .postcard-scene .postcard{
  right:4px;
  top:164px;
  width:430px;
  padding:38px 36px 30px;
}

@media (hover:hover) and (pointer:fine){
  .hero-articles .photo-album-scene:hover .scene-polaroid:nth-child(1){transform:translateY(-8px) rotate(4deg)}
  .hero-articles .photo-album-scene:hover .scene-polaroid:nth-child(2){transform:translateY(6px) rotate(-6deg)}
  .hero-articles .photo-album-scene:hover .scene-polaroid:nth-child(3){transform:translateY(-4px) rotate(3deg)}
}

@media (max-width:980px){
  .hero-articles .photo-album-scene,
  .hero-creations .covers-only-scene,
  .hero-tarifs .quote-desk-scene,
  .hero-about .portrait-scene,
  .hero-faq .question-desk-scene,
  .hero-contact .postcard-scene{min-height:520px}
}

@media (max-width:720px){
  .hero-paper{min-height:auto}
  .hero-paper .editorial-hero-inner{padding-top:58px;padding-bottom:38px}
  .hero-paper .editorial-hero-copy p{font-size:17px}
  .hero-articles .photo-album-scene{min-height:430px}
  .hero-articles .photo-album-scene .scene-polaroid{width:148px}
  .hero-articles .photo-album-scene .scene-polaroid:nth-child(1){right:0;top:26px;width:158px}
  .hero-articles .photo-album-scene .scene-polaroid:nth-child(2){right:152px;top:72px;width:156px}
  .hero-articles .photo-album-scene .scene-polaroid:nth-child(3){right:48px;top:198px;width:152px}
  .hero-articles .photo-album-scene .scene-polaroid:nth-child(4){right:-2px;top:284px;width:126px}
  .hero-articles .articles-note{left:0;bottom:4px;max-width:230px;padding:18px}
  .hero-creations .covers-only-scene{min-height:430px}
  .hero-creations .covers-only-scene .carnet-pin:nth-child(1){--x:0px;--y:58px;width:112px}
  .hero-creations .covers-only-scene .carnet-pin:nth-child(2){--x:106px;--y:12px;width:146px}
  .hero-creations .covers-only-scene .carnet-pin:nth-child(3){--x:232px;--y:80px;width:108px}
  .hero-creations .covers-only-scene .carnet-pin:nth-child(4){--x:46px;--y:228px;width:118px}
  .hero-creations .covers-only-scene .carnet-pin:nth-child(5){--x:184px;--y:232px;width:104px}
  .hero-tarifs .quote-desk-scene{min-height:430px}
  .hero-tarifs .quote-desk-scene .quote-sheet.main{right:0;top:62px;width:286px;padding:24px}
  .hero-tarifs .quote-desk-scene .quote-sheet strong{font-size:58px}
  .hero-about .portrait-scene{min-height:420px}
  .hero-about .portrait-scene .portrait-sheet{right:88px;top:14px;width:196px}
  .hero-about .portrait-scene .passport-note{right:0;bottom:4px;width:254px;padding:22px}
  .hero-about .portrait-scene .passport-note strong{font-size:22px}
  .hero-faq .question-desk-scene{min-height:430px}
  .hero-faq .question-desk-scene .question-slip{width:214px}
  .hero-faq .question-desk-scene .question-slip:nth-child(1){--x:0px;--y:68px}
  .hero-faq .question-desk-scene .question-slip:nth-child(2){--x:112px;--y:132px}
  .hero-faq .question-desk-scene .question-slip:nth-child(3){--x:0px;--y:238px}
  .hero-faq .question-desk-scene .question-slip:nth-child(4){--x:110px;--y:306px}
  .hero-faq .faq-note-card{left:82px;top:0;width:220px}
  .hero-contact .postcard-scene{min-height:430px}
  .hero-contact .postcard-scene .postcard-photo{left:0;top:20px;width:194px}
  .hero-contact .postcard-scene .postcard{right:0;top:132px;width:302px;padding:26px 24px}
}

/* ---------- HERO SIGNATURE CROP FIX — premier viewport maitrise ---------- */
.hero-paper .editorial-hero-inner{
  padding-top:clamp(54px,6vw,82px);
  padding-bottom:clamp(34px,4.5vw,54px);
}
.hero-paper .hero-scene{
  align-self:center;
  transform-origin:center;
}
.hero-articles .photo-album-scene,
.hero-creations .covers-only-scene,
.hero-tarifs .quote-desk-scene,
.hero-about .portrait-scene,
.hero-faq .question-desk-scene,
.hero-contact .postcard-scene{
  min-height:500px;
}
.hero-articles .photo-album-scene .scene-polaroid:nth-child(1){top:18px;width:210px}
.hero-articles .photo-album-scene .scene-polaroid:nth-child(2){top:72px;width:216px}
.hero-articles .photo-album-scene .scene-polaroid:nth-child(3){top:220px;width:202px}
.hero-articles .photo-album-scene .scene-polaroid:nth-child(4){top:286px;right:28px;width:154px}
.hero-articles .articles-note{bottom:28px}

.hero-creations .covers-only-scene .carnet-pin:nth-child(1){--x:14px;--y:70px;width:150px}
.hero-creations .covers-only-scene .carnet-pin:nth-child(2){--x:164px;--y:0px;width:204px}
.hero-creations .covers-only-scene .carnet-pin:nth-child(3){--x:360px;--y:90px;width:148px}
.hero-creations .covers-only-scene .carnet-pin:nth-child(4){--x:112px;--y:258px;width:150px}
.hero-creations .covers-only-scene .carnet-pin:nth-child(5){--x:292px;--y:252px;width:130px}
.hero-creations .covers-only-scene .creations-note{bottom:14px}

.hero-tarifs .quote-desk-scene .quote-sheet.main{
  top:56px;
  right:12px;
  width:380px;
  padding:34px 36px;
}
.hero-tarifs .quote-desk-scene .quote-sheet strong{font-size:76px}
.hero-tarifs .quote-desk-scene .quote-slip:nth-of-type(2){top:96px}
.hero-tarifs .quote-desk-scene .quote-slip:nth-of-type(3){top:204px}
.hero-tarifs .quote-desk-scene .quote-slip:nth-of-type(4){top:316px}
.hero-tarifs .quote-proof{
  bottom:10px;
  right:4px;
  width:280px;
}

.hero-about .portrait-scene .portrait-sheet{
  top:12px;
  width:296px;
}
.hero-about .portrait-scene .passport-note{
  bottom:28px;
  width:342px;
}

@media (min-width:981px) and (max-height:760px){
  .hero-paper .editorial-hero-copy h1{
    font-size:clamp(50px,6vw,82px);
  }
  .hero-paper .editorial-hero-copy p{
    font-size:18px;
    max-width:58ch;
  }
  .hero-paper .hero-scene{
    transform:scale(.92);
  }
  .hero-paper .editorial-hero-inner{
    grid-template-columns:minmax(0,.96fr) minmax(390px,.8fr);
  }
}

/* ---------- HERO SIGNATURE CINEMATIC — meme vibration que la home ---------- */
.hero-paper{
  color:var(--ivoire);
  background:var(--nuit);
}
.hero-paper .editorial-hero-bg{
  display:block;
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-paper .editorial-hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--hero-position, center center);
  transform:scale(1.012);
  filter:saturate(.9) contrast(.96);
}
.hero-paper .editorial-hero-bg::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background-image:var(--grain-url);
  background-size:240px;
  opacity:.32;
  mix-blend-mode:overlay;
  pointer-events:none;
}
.hero-paper .editorial-hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    radial-gradient(ellipse at 30% 44%,rgba(23,36,52,.18) 0%,rgba(23,36,52,.62) 66%,rgba(23,36,52,.76) 100%),
    linear-gradient(90deg,rgba(23,36,52,.88) 0%,rgba(23,36,52,.62) 48%,rgba(23,36,52,.78) 100%),
    linear-gradient(to top,rgba(28,23,20,.82),rgba(28,23,20,.08) 58%);
  pointer-events:none;
}
.hero-paper::before{
  z-index:1;
  background:
    linear-gradient(to top,rgba(246,240,231,.12),rgba(246,240,231,0)),
    repeating-linear-gradient(90deg,rgba(246,240,231,.07) 0 1px,transparent 1px 34px);
  opacity:1;
}
.hero-paper::after{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(246,240,231,.06) 0 1px,transparent 1px 9.09%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.05) 42%,rgba(0,0,0,.15));
}
.hero-paper .editorial-hero-inner{
  position:relative;
  z-index:3;
}
.hero-paper .eyebrow{color:var(--or)}
.hero-paper .editorial-hero-copy h1{
  color:var(--ivoire);
  text-shadow:0 2px 28px rgba(0,0,0,.18);
}
.hero-paper .editorial-hero-copy h1 em{
  color:var(--or);
}
.hero-paper .editorial-hero-copy p{
  color:rgba(246,240,231,.84);
  text-shadow:0 1px 16px rgba(0,0,0,.18);
}
.hero-paper .editorial-hero-copy::after{
  background:linear-gradient(90deg,var(--or),rgba(191,163,107,0));
  opacity:.72;
}
.hero-paper .hero-chapters span{
  border-color:rgba(246,240,231,.28);
  background:rgba(246,240,231,.09);
  color:rgba(246,240,231,.82);
  backdrop-filter:blur(4px);
}
.hero-paper .hero-chapters em{
  color:var(--or);
}
.hero-paper .hero-scene::after,
.hero-articles .photo-album-scene::before,
.hero-creations .covers-only-scene::before,
.hero-tarifs .quote-desk-scene::before,
.hero-about .portrait-scene::before,
.hero-faq .question-desk-scene::before,
.hero-contact .postcard-scene::before{
  background:rgba(246,240,231,.08);
  border-color:rgba(246,240,231,.18);
  box-shadow:inset 0 1px 0 rgba(246,240,231,.12),0 38px 90px -58px rgba(0,0,0,.76);
}
.hero-paper .scene-note,
.hero-paper .passport-note,
.hero-paper .quote-sheet,
.hero-paper .postcard,
.hero-paper .question-slip,
.hero-paper .quote-proof,
.hero-paper .faq-note-card{
  background:rgba(246,240,231,.94);
  color:var(--encre);
  box-shadow:0 34px 84px -34px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.65);
}
.hero-paper .carnet-pin figcaption{
  color:var(--encre);
}

.hero-articles,
.hero-creations,
.hero-tarifs,
.hero-about,
.hero-faq,
.hero-contact{
  background:var(--nuit);
}

@media (max-width:720px){
  .hero-paper .editorial-hero-bg img{
    object-position:var(--hero-position-mobile, var(--hero-position, center center));
  }
}

/* ---------- RESET HERO PAGES — version calme ---------- */
.editorial-hero{
  min-height:calc(100dvh - 72px);
  align-items:center;
}
.editorial-hero-bg img{
  transform:none;
  filter:saturate(.92) contrast(.98) brightness(.92);
}
.editorial-hero-bg-collage{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:1.35fr .95fr .9fr 1.05fr;
  gap:0;
}
.editorial-hero-bg-collage img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(.98) brightness(.92);
}
.editorial-hero-bg-collage img:nth-child(1){object-position:center 48%}
.editorial-hero-bg-collage img:nth-child(2){object-position:center 52%}
.editorial-hero-bg-collage img:nth-child(3){object-position:center 50%}
.editorial-hero-bg-collage img:nth-child(4){object-position:center 46%}
.hero-articles .editorial-hero-bg > img{
  display:block;
}
.hero-articles .editorial-hero-bg-collage::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(23,36,52,.14), rgba(23,36,52,.42) 52%, rgba(23,36,52,.18));
  pointer-events:none;
}
.hero-creations .editorial-hero-bg > img{
  transform:scaleX(-1);
  object-position:center 50%;
}
.editorial-hero-bg::after{
  background:
    linear-gradient(90deg, rgba(23,36,52,.86) 0%, rgba(23,36,52,.58) 44%, rgba(23,36,52,.26) 68%, rgba(23,36,52,.62) 100%),
    linear-gradient(to top, rgba(28,23,20,.78), rgba(28,23,20,.08) 58%);
}
.editorial-hero-bg::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background-image:var(--grain-url);
  background-size:240px;
  opacity:.22;
  mix-blend-mode:overlay;
  pointer-events:none;
}
.editorial-hero-inner{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr);
  align-items:center;
  padding-top:72px;
  padding-bottom:72px;
}
.editorial-hero-copy{
  max-width:760px;
}
.editorial-hero h1{
  font-size:clamp(50px, 6.8vw, 104px);
  line-height:.93;
  max-width:12ch;
  text-wrap:balance;
}
.editorial-hero p{
  max-width:50ch;
  font-size:18px;
  line-height:1.56;
}
.article-photo-stack{
  justify-self:end;
  width:min(34vw, 360px);
  height:min(34vw, 360px);
}
.article-photo-stack figure{
  width:min(220px, 62%);
  padding:10px 10px 16px;
  border-radius:10px;
}
.article-photo-stack figure:nth-child(1){
  right:34px;
  bottom:14px;
  z-index:3;
  transform:rotate(-5deg);
}
.article-photo-stack figure:nth-child(2){
  right:112px;
  bottom:76px;
  z-index:2;
  transform:rotate(4deg);
}
.article-photo-stack figure:nth-child(3){
  right:0;
  bottom:136px;
  z-index:1;
  transform:rotate(-2deg);
}
.article-photo-stack img{
  aspect-ratio:4/5;
}
.carnet-stack{
  justify-self:end;
  width:300px;
  height:360px;
}
.carnet-stack img{
  border-radius:8px 28px 10px 22px;
}
.hero-carnet-feature{
  position:relative;
  justify-self:end;
  width:min(30vw, 340px);
  min-width:280px;
}
.hero-carnet-feature figure{
  position:relative;
  z-index:2;
  margin:0;
  transform:rotate(-4deg);
  filter:drop-shadow(0 34px 44px rgba(0,0,0,.34));
}
.hero-carnet-feature figure > img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:10px 36px 12px 28px;
}
.hero-carnet-feature figcaption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:var(--ivoire);
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.46);
}
.hero-carnet-feature figcaption strong{
  font-weight:500;
  color:var(--or);
  white-space:nowrap;
}
.hero-carnet-shadow{
  position:absolute;
  z-index:1;
  width:72%;
  right:-28px;
  top:30px;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:10px 34px 12px 24px;
  transform:rotate(7deg);
  opacity:.72;
  filter:saturate(.82) brightness(.76) drop-shadow(0 24px 34px rgba(0,0,0,.3));
}
.hero-carnet-hand{
  position:relative;
  justify-self:end;
  width:min(42vw, 520px);
  height:430px;
}
.hero-carnet-hand figure{
  position:absolute;
  margin:0;
  width:205px;
  transform:translate(var(--x, 0), var(--y, 0)) rotate(var(--r, 0deg));
  filter:drop-shadow(0 34px 42px rgba(0,0,0,.34));
}
.hero-carnet-hand figure:nth-child(1){
  --x:120px;
  --y:8px;
  --r:-5deg;
  z-index:4;
  width:232px;
}
.hero-carnet-hand figure:nth-child(2){
  --x:12px;
  --y:96px;
  --r:6deg;
  z-index:3;
}
.hero-carnet-hand figure:nth-child(3){
  --x:286px;
  --y:104px;
  --r:-3deg;
  z-index:2;
}
.hero-carnet-hand figure:nth-child(4){
  --x:178px;
  --y:210px;
  --r:7deg;
  z-index:1;
}
.hero-carnet-hand figure > img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:10px 36px 12px 28px;
}
.hero-carnet-hand figcaption{
  position:absolute;
  left:15px;
  right:15px;
  bottom:15px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--ivoire);
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.52);
}
.hero-carnet-hand figcaption strong{
  font-weight:500;
  color:var(--or);
  white-space:nowrap;
}
.hero-carnet-stack{
  position:relative;
  justify-self:end;
  width:min(34vw, 390px);
  min-width:300px;
  height:430px;
}
.hero-carnet-stack figure{
  position:absolute;
  margin:0;
  width:250px;
  left:50%;
  top:50%;
  transform:
    translate(calc(-50% + var(--x, 0px)), calc(-50% + var(--y, 0px)))
    rotate(var(--r, 0deg));
  filter:drop-shadow(0 34px 42px rgba(0,0,0,.34));
}
.hero-carnet-stack figure:nth-child(1){
  --x:0px;
  --y:0px;
  --r:-4deg;
  z-index:4;
  width:258px;
}
.hero-carnet-stack figure:nth-child(2){
  --x:-44px;
  --y:10px;
  --r:-10deg;
  z-index:3;
  opacity:.92;
}
.hero-carnet-stack figure:nth-child(3){
  --x:44px;
  --y:18px;
  --r:8deg;
  z-index:2;
  opacity:.88;
}
.hero-carnet-stack figure:nth-child(4){
  --x:4px;
  --y:52px;
  --r:2deg;
  z-index:1;
  opacity:.76;
}
.hero-carnet-stack figure > img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:10px 36px 12px 28px;
}
.hero-carnet-stack figcaption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--ivoire);
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.52);
}
.hero-carnet-stack figcaption strong{
  font-weight:500;
  color:var(--or);
  white-space:nowrap;
}
.hero-creations .editorial-hero-inner{
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.18fr);
}
.hero-creations .hero-carnet-stack{
  order:1;
  justify-self:start;
  transform:translateY(24px);
}
.hero-creations .editorial-hero-copy{
  order:2;
  justify-self:end;
  max-width:700px;
}
.hero-creations .editorial-hero-copy h1{
  max-width:12ch;
}
.hero-creations .editorial-hero-copy p{
  max-width:48ch;
}
.hero-note,
.hero-price-card,
.hero-contact-card,
.hero-side-stack{
  justify-self:end;
}
.hero-note,
.hero-price-card,
.hero-contact-card{
  border-radius:var(--shape-sheet);
  box-shadow:0 30px 70px rgba(0,0,0,.32);
}
.hero-side-stack span{
  border:1px solid rgba(191,163,107,.24);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}

@media (hover:hover) and (pointer:fine){
  .btn:hover,
  .nav-cta:hover,
  .chip:hover,
  .page-card:hover,
  .article-ledger-card:hover{
    will-change:transform;
  }
}
.btn:active,
.nav-cta:active,
.chip:active,
.page-card:active,
.article-ledger-card:active{
  transform:scale(.97);
}

@media (max-width:980px){
  .editorial-hero{
    min-height:auto;
  }
  .editorial-hero-inner{
    grid-template-columns:1fr;
    gap:34px;
    padding-top:76px;
    padding-bottom:44px;
  }
  .hero-note,
  .hero-price-card,
  .hero-contact-card,
  .hero-side-stack,
  .hero-carnet-feature,
  .hero-carnet-hand,
  .hero-carnet-stack,
  .article-photo-stack,
  .carnet-stack{
    justify-self:start;
  }
  .article-photo-stack{
    width:min(100%, 330px);
    height:260px;
  }
  .carnet-stack{
    width:260px;
    height:310px;
  }
  .hero-carnet-feature{
    width:260px;
    min-width:0;
  }
  .hero-carnet-hand{
    width:min(100%, 430px);
    height:360px;
  }
  .hero-carnet-hand figure{width:170px}
  .hero-carnet-hand figure:nth-child(1){--x:94px;--y:0px;width:190px}
  .hero-carnet-hand figure:nth-child(2){--x:0px;--y:78px}
  .hero-carnet-hand figure:nth-child(3){--x:220px;--y:84px}
  .hero-carnet-hand figure:nth-child(4){--x:132px;--y:178px}
  .hero-carnet-stack{
    width:300px;
    min-width:0;
    height:350px;
  }
  .hero-carnet-stack figure{width:204px}
  .hero-carnet-stack figure:nth-child(1){width:216px}
  .hero-creations .editorial-hero-inner{
    grid-template-columns:1fr;
  }
  .hero-creations .editorial-hero-copy{
    order:1;
    justify-self:start;
    max-width:760px;
  }
  .hero-creations .hero-carnet-stack{
    order:2;
    justify-self:start;
    transform:none;
  }
}

@media (max-width:720px){
  .editorial-hero h1{
    font-size:clamp(42px, 12vw, 62px);
    max-width:12.5ch;
  }
  .editorial-hero p{
    font-size:16px;
  }
  .editorial-hero-bg-collage{
    grid-template-columns:1fr 1fr;
  }
  .editorial-hero-bg-collage img{
    display:none;
  }
  .editorial-hero-bg-collage img:nth-child(1),
  .editorial-hero-bg-collage img:nth-child(2){
    display:block;
  }
  .editorial-hero-bg-collage img:nth-child(1){object-position:center 46%}
  .editorial-hero-bg-collage img:nth-child(2){object-position:center 52%}
  .article-photo-stack{
    height:220px;
  }
  .article-photo-stack figure{
    width:150px;
    padding:7px 7px 10px;
  }
  .article-photo-stack figure:nth-child(1){right:120px;bottom:0}
  .article-photo-stack figure:nth-child(2){right:56px;bottom:40px}
  .article-photo-stack figure:nth-child(3){right:0;bottom:84px}
  .article-photo-stack figcaption{
    display:none;
  }
  .hero-carnet-feature{
    width:228px;
    margin-top:10px;
  }
  .hero-carnet-shadow{
    right:-18px;
    top:24px;
  }
  .hero-carnet-feature figcaption{
    display:none;
  }
  .hero-carnet-hand{
    width:100%;
    height:300px;
    margin-top:8px;
    overflow:hidden;
  }
  .hero-carnet-hand figure{
    width:136px;
  }
  .hero-carnet-hand figure:nth-child(1){--x:98px;--y:0px;width:150px}
  .hero-carnet-hand figure:nth-child(2){--x:0px;--y:58px}
  .hero-carnet-hand figure:nth-child(3){--x:204px;--y:70px}
  .hero-carnet-hand figure:nth-child(4){--x:106px;--y:148px}
  .hero-carnet-hand figcaption{
    display:none;
  }
  .hero-carnet-stack{
    width:260px;
    height:300px;
    margin-top:8px;
  }
  .hero-carnet-stack figure{width:172px}
  .hero-carnet-stack figure:nth-child(1){width:184px}
  .hero-carnet-stack figure:nth-child(2){--x:-30px;--y:8px}
  .hero-carnet-stack figure:nth-child(3){--x:30px;--y:14px}
  .hero-carnet-stack figure:nth-child(4){--x:0px;--y:38px}
  .hero-carnet-stack figcaption{
    display:none;
  }
  .hero-creations .editorial-hero-bg > img{
    object-position:58% center;
  }
}

/* ---------- HERO ALIGNMENT — texte + décors à gauche ---------- */
.editorial-hero-inner{
  grid-template-columns:minmax(0, 760px) 1fr;
  grid-auto-rows:auto;
  align-content:center;
  align-items:start;
  column-gap:56px;
  row-gap:28px;
}
.editorial-hero-copy{
  grid-column:1;
  grid-row:1;
  justify-self:start;
}
.editorial-hero-inner > aside{
  grid-column:1;
  grid-row:2;
  justify-self:start;
}
.article-photo-stack{
  width:min(100%, 360px);
  height:260px;
}
.article-photo-stack figure{
  width:168px;
}
.article-photo-stack figure:nth-child(1){
  right:auto;
  left:0;
  bottom:0;
}
.article-photo-stack figure:nth-child(2){
  right:auto;
  left:104px;
  bottom:36px;
}
.article-photo-stack figure:nth-child(3){
  right:auto;
  left:198px;
  bottom:72px;
}
.hero-note,
.hero-price-card,
.hero-contact-card{
  max-width:320px;
}
.hero-side-stack{
  align-items:flex-start;
}
.hero-side-stack span{
  transform:translateX(calc(var(--i,0) * 14px));
}
.hero-creations .editorial-hero-inner{
  grid-template-columns:minmax(0, 760px) 1fr;
}
.hero-creations .editorial-hero-copy{
  order:initial;
  grid-column:1;
  grid-row:1;
  justify-self:start;
  max-width:760px;
}
.hero-creations .hero-carnet-stack{
  order:initial;
  grid-column:1;
  grid-row:2;
  justify-self:start;
  transform:none;
  width:360px;
  height:300px;
  margin-top:0;
}
.hero-creations .hero-carnet-stack figure{
  top:45%;
  width:190px;
}
.hero-creations .hero-carnet-stack figure:nth-child(1){
  --x:0px;
  --y:0px;
  width:204px;
}
.hero-creations .hero-carnet-stack figure:nth-child(2){
  --x:-42px;
  --y:12px;
}
.hero-creations .hero-carnet-stack figure:nth-child(3){
  --x:42px;
  --y:18px;
}
.hero-creations .hero-carnet-stack figure:nth-child(4){
  --x:0px;
  --y:46px;
}

@media (max-width:980px){
  .editorial-hero-inner,
  .hero-creations .editorial-hero-inner{
    grid-template-columns:1fr;
    row-gap:28px;
  }
  .editorial-hero-copy,
  .editorial-hero-inner > aside,
  .hero-creations .editorial-hero-copy,
  .hero-creations .hero-carnet-stack{
    grid-column:1;
  }
  .hero-creations .hero-carnet-stack{
    width:300px;
    height:300px;
  }
}

@media (max-width:720px){
  .editorial-hero-inner{
    row-gap:22px;
  }
  .article-photo-stack{
    width:100%;
    height:210px;
  }
  .article-photo-stack figure{
    width:145px;
  }
  .article-photo-stack figure:nth-child(1){left:0;bottom:0}
  .article-photo-stack figure:nth-child(2){left:84px;bottom:30px}
  .article-photo-stack figure:nth-child(3){left:166px;bottom:62px}
  .hero-creations .hero-carnet-stack{
    width:260px;
    height:280px;
  }
  .hero-creations .hero-carnet-stack figure{width:168px}
  .hero-creations .hero-carnet-stack figure:nth-child(1){width:180px}
}

/* ---------- HERO UPGRADE: ARTICLES + CARNETS ---------- */
.hero-articles,
.hero-creations{
  min-height:min(82vh, 860px);
}

.hero-articles .editorial-hero-bg > img{
  object-position:58% 52%;
  filter:saturate(.98) contrast(1.03) brightness(.92);
}

.hero-creations .editorial-hero-bg > img{
  transform:scaleX(-1) scale(1.018);
  object-position:62% 50%;
  filter:saturate(.98) contrast(1.02) brightness(.9);
}

.hero-articles .editorial-hero-bg::after,
.hero-creations .editorial-hero-bg::after{
  background:
    linear-gradient(90deg,rgba(20,18,16,.84) 0%,rgba(30,24,20,.62) 38%,rgba(30,24,20,.28) 64%,rgba(22,18,15,.48) 100%),
    linear-gradient(to top,rgba(28,23,20,.82),rgba(28,23,20,.08) 58%);
}

.hero-article-dossier,
.hero-route-pack{
  position:relative;
  grid-column:1;
  grid-row:2;
  justify-self:start;
  width:min(100%, 620px);
  height:324px;
  margin-top:2px;
  isolation:isolate;
}

.hero-article-dossier::before,
.hero-route-pack::before{
  content:"";
  position:absolute;
  inset:28px 26px 22px 18px;
  border-radius:38px 12px 46px 14px;
  background:
    linear-gradient(135deg,rgba(246,240,231,.2),rgba(246,240,231,.055)),
    rgba(41,30,24,.18);
  box-shadow:
    inset 0 1px 0 rgba(246,240,231,.2),
    0 30px 80px -46px rgba(0,0,0,.72);
  transform:rotate(-1.2deg);
  z-index:-1;
}

.dossier-stamp{
  position:absolute;
  left:24px;
  top:16px;
  display:grid;
  place-items:center;
  width:112px;
  height:112px;
  border:1px dashed rgba(236,217,178,.62);
  border-radius:50%;
  color:var(--ivoire);
  background:rgba(28,23,20,.36);
  transform:rotate(-8deg);
  box-shadow:inset 0 0 0 8px rgba(246,240,231,.045);
  z-index:5;
}

.dossier-stamp span,
.route-pack-ticket span{
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  text-transform:uppercase;
  color:var(--or);
}

.dossier-stamp strong{
  max-width:8ch;
  margin-top:-18px;
  font-family:"Fraunces",serif;
  font-size:22px;
  font-weight:380;
  line-height:.9;
  text-align:center;
}

.dossier-line,
.route-pack-thread{
  position:absolute;
  inset:92px auto auto 96px;
  width:438px;
  height:132px;
  opacity:.8;
}

.dossier-line span,
.route-pack-thread span{
  position:absolute;
  display:block;
  height:1px;
  background:repeating-linear-gradient(90deg,rgba(236,217,178,.82) 0 9px,transparent 9px 16px);
  transform-origin:left center;
}

.dossier-line span:nth-child(1){width:220px;left:12px;top:18px;transform:rotate(5deg)}
.dossier-line span:nth-child(2){width:248px;left:166px;top:70px;transform:rotate(-8deg)}
.dossier-line span:nth-child(3){width:174px;left:292px;top:120px;transform:rotate(9deg)}

.dossier-prints figure{
  position:absolute;
  width:214px;
  padding:9px 9px 14px;
  border-radius:13px 34px 14px 18px;
  background:color-mix(in srgb, var(--ivoire) 92%, var(--or));
  box-shadow:
    0 28px 70px -28px rgba(0,0,0,.72),
    inset 0 1px 0 rgba(255,255,255,.64);
  color:var(--encre);
  overflow:hidden;
}

.dossier-prints figure::before,
.hero-route-pack figure::before{
  content:"";
  position:absolute;
  top:-9px;
  left:50%;
  width:78px;
  height:22px;
  background:rgba(236,217,178,.72);
  transform:translateX(-50%) rotate(calc((var(--i, 0) - 1) * 4deg));
  box-shadow:0 8px 18px -12px rgba(0,0,0,.5);
  z-index:2;
}

.dossier-prints figure:nth-child(1){left:92px;top:90px;z-index:4;transform:rotate(-5deg)}
.dossier-prints figure:nth-child(2){left:268px;top:48px;z-index:3;transform:rotate(3deg)}
.dossier-prints figure:nth-child(3){left:420px;top:110px;z-index:2;width:184px;transform:rotate(-2deg)}

.dossier-prints img,
.hero-route-pack figure > img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border-radius:9px 26px 10px 12px;
}

.dossier-prints figcaption{
  display:grid;
  gap:6px;
  margin-top:11px;
}

.dossier-prints figcaption span{
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  text-transform:uppercase;
  color:var(--cuir);
}

.dossier-prints figcaption strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-family:"Fraunces",serif;
  font-size:18px;
  font-weight:420;
  line-height:1.02;
}

.hero-route-pack{
  height:344px;
}

.route-pack-thread{
  inset:64px auto auto 34px;
  width:502px;
  height:182px;
}

.route-pack-thread span:nth-child(1){width:250px;left:42px;top:34px;transform:rotate(-9deg)}
.route-pack-thread span:nth-child(2){width:296px;left:126px;top:96px;transform:rotate(7deg)}
.route-pack-thread span:nth-child(3){width:208px;left:300px;top:158px;transform:rotate(-12deg)}

.hero-route-pack figure{
  position:absolute;
  width:168px;
  padding:8px 8px 12px;
  border-radius:10px 30px 12px 22px;
  background:rgba(246,240,231,.96);
  box-shadow:
    0 30px 76px -30px rgba(0,0,0,.74),
    inset 0 1px 0 rgba(255,255,255,.66);
  color:var(--encre);
  overflow:hidden;
}

.hero-route-pack figure:nth-of-type(1){left:22px;top:76px;width:184px;z-index:5;transform:rotate(-7deg)}
.hero-route-pack figure:nth-of-type(2){left:162px;top:30px;width:198px;z-index:6;transform:rotate(3deg)}
.hero-route-pack figure:nth-of-type(3){left:326px;top:86px;width:168px;z-index:4;transform:rotate(-2deg)}
.hero-route-pack figure:nth-of-type(4){left:446px;top:134px;width:144px;z-index:3;transform:rotate(6deg)}

.hero-route-pack figure > img{
  aspect-ratio:3/4;
  border-radius:8px 25px 10px 18px;
}

.hero-route-pack figcaption{
  display:grid;
  gap:5px;
  margin-top:10px;
}

.hero-route-pack figcaption span{
  font-family:"JetBrains Mono",monospace;
  font-size:9px;
  text-transform:uppercase;
  color:var(--cuir);
}

.hero-route-pack figcaption strong{
  font-family:"Fraunces",serif;
  font-size:18px;
  font-weight:430;
  line-height:1;
}

.route-pack-ticket{
  position:absolute;
  left:246px;
  bottom:0;
  z-index:8;
  width:250px;
  padding:17px 18px 16px;
  border:1px solid rgba(236,217,178,.34);
  border-radius:26px 9px 28px 11px;
  background:rgba(28,23,20,.58);
  color:var(--ivoire);
  box-shadow:0 24px 58px -32px rgba(0,0,0,.8);
  transform:rotate(-1deg);
}

.route-pack-ticket strong{
  display:block;
  margin-top:8px;
  font-family:"Fraunces",serif;
  font-size:21px;
  font-weight:390;
  line-height:1.05;
}

@media (hover:hover) and (pointer:fine){
  .hero-article-dossier:hover .dossier-prints figure:nth-child(1){transform:translateY(-5px) rotate(-6deg)}
  .hero-article-dossier:hover .dossier-prints figure:nth-child(2){transform:translateY(4px) rotate(4deg)}
  .hero-article-dossier:hover .dossier-prints figure:nth-child(3){transform:translateY(-3px) rotate(-3deg)}
  .hero-route-pack:hover figure:nth-of-type(2){transform:translateY(-6px) rotate(4deg)}
}

@media (max-width:980px){
  .hero-article-dossier,
  .hero-route-pack{
    width:min(100%, 560px);
  }
  .dossier-prints figure:nth-child(3){
    left:360px;
  }
  .hero-route-pack figure:nth-of-type(4){
    display:none;
  }
  .route-pack-ticket{
    left:212px;
  }
}

@media (max-width:720px){
  .hero-articles,
  .hero-creations{
    min-height:720px;
  }
  .hero-articles .editorial-hero-bg > img{
    object-position:61% 50%;
  }
  .hero-creations .editorial-hero-bg > img{
    object-position:62% 50%;
  }
  .hero-article-dossier,
  .hero-route-pack{
    width:100%;
    height:270px;
    margin-top:0;
  }
  .hero-article-dossier::before,
  .hero-route-pack::before{
    inset:28px 4px 12px 0;
  }
  .dossier-stamp{
    width:84px;
    height:84px;
    left:0;
    top:8px;
  }
  .dossier-stamp strong{
    font-size:17px;
    margin-top:-14px;
  }
  .dossier-line{
    left:54px;
    top:84px;
    width:260px;
  }
  .dossier-line span:nth-child(1){width:142px;left:10px;top:14px}
  .dossier-line span:nth-child(2){width:160px;left:104px;top:60px}
  .dossier-line span:nth-child(3){display:none}
  .dossier-prints figure{
    width:138px;
    padding:7px;
  }
  .dossier-prints figure:nth-child(1){left:56px;top:90px}
  .dossier-prints figure:nth-child(2){left:164px;top:58px}
  .dossier-prints figure:nth-child(3){display:none}
  .dossier-prints figcaption{
    display:none;
  }
  .hero-route-pack{
    height:286px;
  }
  .route-pack-thread{
    left:0;
    top:44px;
    width:280px;
  }
  .route-pack-thread span:nth-child(1){width:146px;left:34px;top:34px}
  .route-pack-thread span:nth-child(2){width:170px;left:86px;top:92px}
  .route-pack-thread span:nth-child(3){display:none}
  .hero-route-pack figure{
    width:126px;
  }
  .hero-route-pack figure:nth-of-type(1){left:0;top:74px;width:134px}
  .hero-route-pack figure:nth-of-type(2){left:96px;top:34px;width:148px}
  .hero-route-pack figure:nth-of-type(3){left:210px;top:92px;width:118px}
  .hero-route-pack figcaption{
    display:none;
  }
  .route-pack-ticket{
    left:92px;
    bottom:2px;
    width:min(230px, calc(100% - 92px));
    padding:14px 15px;
  }
  .route-pack-ticket strong{
    font-size:18px;
  }
}

/* ---------- HERO SPLIT: DIFFERENCIER ARTICLES / CARNETS ---------- */
.hero-articles .editorial-hero-inner,
.hero-creations .editorial-hero-inner{
  grid-template-columns:minmax(0, 650px) minmax(360px, 560px);
  align-items:center;
  column-gap:clamp(36px, 5vw, 88px);
}

.hero-articles .editorial-hero-copy,
.hero-creations .editorial-hero-copy{
  grid-column:1;
  grid-row:1;
}

.hero-article-index,
.hero-carnet-showcase{
  position:relative;
  grid-column:2 !important;
  grid-row:1 / span 2 !important;
  justify-self:end !important;
  align-self:center;
  width:min(42vw, 540px);
  min-width:360px;
  height:520px;
  isolation:isolate;
}

.hero-article-index{
  transform:rotate(1.4deg);
}

.article-issue-card{
  position:absolute;
  inset:22px 0 10px 34px;
  overflow:hidden;
  border:1px solid rgba(236,217,178,.26);
  border-radius:14px 58px 16px 18px;
  background:rgba(24,20,18,.58);
  box-shadow:
    0 42px 100px -42px rgba(0,0,0,.84),
    inset 0 1px 0 rgba(246,240,231,.18);
}

.article-issue-card::before{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(236,217,178,.18);
  border-radius:10px 44px 12px 14px;
  pointer-events:none;
  z-index:3;
}

.article-issue-card figure{
  position:relative;
  height:100%;
}

.article-issue-card figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  filter:saturate(.95) contrast(1.02);
}

.article-issue-card figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top,rgba(19,16,14,.9) 0%,rgba(19,16,14,.48) 38%,rgba(19,16,14,.02) 72%),
    linear-gradient(120deg,rgba(191,86,49,.24),transparent 42%);
}

.article-issue-card figcaption{
  position:absolute;
  left:30px;
  right:30px;
  top:28px;
  z-index:4;
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:var(--ivoire);
}

.article-issue-card figcaption span,
.article-index-list span,
.article-issue-mark span,
.showcase-cover figcaption span,
.showcase-ticket span{
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--or);
}

.article-issue-card figcaption strong{
  max-width:15ch;
  text-align:right;
  font-family:"Fraunces",serif;
  font-size:22px;
  font-weight:380;
  line-height:.95;
}

.article-index-list{
  position:absolute;
  left:30px;
  right:30px;
  bottom:28px;
  z-index:5;
  display:grid;
  gap:0;
  border-top:1px solid rgba(236,217,178,.28);
  background:rgba(19,16,14,.18);
}

.article-index-list a{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:16px;
  align-items:center;
  padding:15px 0;
  color:var(--ivoire);
  border-bottom:1px solid rgba(236,217,178,.18);
}

.article-index-list strong{
  font-family:"Fraunces",serif;
  font-size:21px;
  font-weight:380;
  line-height:1;
}

.article-issue-mark{
  position:absolute;
  left:0;
  bottom:56px;
  z-index:6;
  width:176px;
  padding:18px 20px;
  border-radius:30px 10px 34px 12px;
  background:color-mix(in srgb, var(--ivoire) 92%, var(--or));
  color:var(--encre);
  box-shadow:0 26px 58px -28px rgba(0,0,0,.74);
  transform:rotate(-8deg);
}

.article-issue-mark strong{
  display:block;
  margin-top:8px;
  font-family:"Fraunces",serif;
  font-size:24px;
  font-weight:390;
  line-height:.96;
}

.hero-carnet-showcase{
  transform:rotate(-1deg);
}

.hero-carnet-showcase::before{
  content:"";
  position:absolute;
  inset:38px 0 54px 42px;
  border-radius:48px 12px 44px 16px;
  background:
    linear-gradient(135deg,rgba(246,240,231,.22),rgba(246,240,231,.07)),
    rgba(26,21,18,.28);
  border:1px solid rgba(236,217,178,.18);
  box-shadow:0 42px 100px -50px rgba(0,0,0,.78);
}

.showcase-open-book{
  position:absolute;
  right:12px;
  top:92px;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  width:360px;
  height:238px;
  padding:18px;
  border-radius:12px 42px 14px 12px;
  background:color-mix(in srgb, var(--ivoire) 94%, var(--or));
  color:var(--encre);
  box-shadow:
    0 38px 80px -36px rgba(0,0,0,.7),
    inset 0 1px 0 rgba(255,255,255,.7);
}

.showcase-open-book::before{
  content:"";
  position:absolute;
  top:18px;
  bottom:18px;
  left:50%;
  width:1px;
  background:rgba(122,92,68,.18);
  box-shadow:10px 0 18px rgba(122,92,68,.08), -10px 0 18px rgba(122,92,68,.08);
}

.showcase-open-book div{
  display:grid;
  align-content:start;
  gap:11px;
  padding:12px 16px;
}

.showcase-open-book span{
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cuir);
}

.showcase-open-book strong{
  font-family:"Fraunces",serif;
  font-size:25px;
  font-weight:390;
  line-height:.95;
}

.showcase-open-book em{
  display:block;
  width:100%;
  height:8px;
  border-radius:999px;
  background:rgba(122,92,68,.18);
}

.showcase-open-book em:nth-of-type(2){width:78%}
.showcase-open-book em:nth-of-type(3){width:54%}

.showcase-cover{
  position:absolute;
  left:0;
  top:44px;
  z-index:5;
  width:218px;
  padding:9px 9px 15px;
  border-radius:10px 36px 12px 24px;
  background:rgba(246,240,231,.96);
  box-shadow:
    0 42px 92px -38px rgba(0,0,0,.86),
    inset 0 1px 0 rgba(255,255,255,.72);
  color:var(--encre);
  transform:rotate(-5deg);
}

.showcase-cover img{
  display:block;
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:7px 28px 8px 18px;
}

.showcase-cover figcaption{
  display:grid;
  gap:5px;
  margin-top:10px;
}

.showcase-cover figcaption strong{
  font-family:"Fraunces",serif;
  font-size:22px;
  font-weight:430;
  line-height:1;
}

.showcase-mini-covers{
  position:absolute;
  right:26px;
  bottom:24px;
  z-index:6;
  display:flex;
  align-items:flex-end;
  gap:8px;
}

.showcase-mini-covers figure{
  width:82px;
  padding:5px;
  border-radius:7px 20px 8px 12px;
  background:rgba(246,240,231,.95);
  box-shadow:0 22px 48px -26px rgba(0,0,0,.78);
  transform:translateY(calc(var(--i, 0) * -10px)) rotate(calc((var(--i, 0) - 1) * 5deg));
}

.showcase-mini-covers img{
  display:block;
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:5px 16px 5px 9px;
}

.showcase-mini-covers figcaption{
  display:none;
}

.showcase-ticket{
  position:absolute;
  left:164px;
  bottom:0;
  z-index:8;
  width:268px;
  padding:18px 19px;
  border:1px solid rgba(236,217,178,.32);
  border-radius:28px 10px 32px 12px;
  background:rgba(28,23,20,.64);
  color:var(--ivoire);
  box-shadow:0 26px 62px -34px rgba(0,0,0,.86);
  transform:rotate(2deg);
}

.showcase-ticket strong{
  display:block;
  margin-top:8px;
  font-family:"Fraunces",serif;
  font-size:22px;
  font-weight:390;
  line-height:1.04;
}

@media (hover:hover) and (pointer:fine){
  .article-index-list a:hover strong{
    color:var(--or);
  }
  .hero-carnet-showcase:hover .showcase-cover{
    transform:translateY(-6px) rotate(-6deg);
  }
  .showcase-cover,
  .article-index-list strong{
    transition:transform 220ms var(--ease-out), color 180ms var(--ease-out);
  }
}

@media (max-width:1100px){
  .hero-articles .editorial-hero-inner,
  .hero-creations .editorial-hero-inner{
    grid-template-columns:1fr;
    align-content:center;
  }
  .hero-article-index,
  .hero-carnet-showcase{
    grid-column:1 !important;
    grid-row:2 !important;
    justify-self:start !important;
    width:min(100%, 520px);
    min-width:0;
    height:390px;
    margin-top:8px;
  }
  .article-issue-card{
    inset:16px 0 0 28px;
  }
  .article-issue-mark{
    bottom:28px;
  }
  .showcase-open-book{
    width:320px;
    height:205px;
    right:0;
    top:88px;
  }
  .showcase-cover{
    width:178px;
  }
  .showcase-ticket{
    left:134px;
    width:244px;
  }
  .showcase-mini-covers{
    right:10px;
  }
}

@media (max-width:720px){
  .hero-article-index,
  .hero-carnet-showcase{
    height:330px;
    width:100%;
  }
  .article-issue-card{
    inset:12px 0 0 18px;
    border-radius:12px 42px 14px 16px;
  }
  .article-issue-card figcaption{
    left:22px;
    right:22px;
    top:22px;
  }
  .article-index-list{
    left:22px;
    right:22px;
    bottom:20px;
  }
  .article-index-list a{
    grid-template-columns:34px 1fr;
    padding:11px 0;
  }
  .article-index-list strong{
    font-size:17px;
  }
  .article-issue-mark{
    display:none;
  }
  .showcase-open-book{
    width:min(292px, calc(100% - 48px));
    height:184px;
    right:0;
    top:78px;
    padding:13px;
  }
  .showcase-open-book div{
    padding:10px;
  }
  .showcase-open-book strong{
    font-size:20px;
  }
  .showcase-cover{
    width:138px;
    top:44px;
  }
  .showcase-mini-covers{
    right:0;
    bottom:40px;
  }
  .showcase-mini-covers figure{
    width:58px;
  }
  .showcase-ticket{
    left:92px;
    bottom:0;
    width:min(238px, calc(100% - 92px));
    padding:14px 15px;
  }
  .showcase-ticket strong{
    font-size:18px;
  }
}

/* ---------- HERO RESET: PLUS NATUREL, MOINS MAQUETTE ---------- */
.hero-articles .editorial-hero-inner,
.hero-creations .editorial-hero-inner{
  grid-template-columns:minmax(0, 640px) minmax(340px, 520px);
  align-items:center;
  column-gap:clamp(44px, 6vw, 96px);
}

.hero-articles .editorial-hero-copy,
.hero-creations .editorial-hero-copy{
  grid-column:1;
  grid-row:1;
}

.hero-articles .editorial-hero-bg > img{
  object-position:55% 50%;
  filter:saturate(.96) contrast(1.04) brightness(.9);
}

.hero-creations .editorial-hero-bg > img{
  transform:scaleX(-1) scale(1.01);
  object-position:68% 54%;
  filter:saturate(1.04) contrast(1.03) brightness(.82);
}

.hero-articles .editorial-hero-bg::after{
  background:
    linear-gradient(90deg,rgba(17,15,13,.82) 0%,rgba(24,20,17,.58) 42%,rgba(24,20,17,.22) 70%,rgba(17,15,13,.38) 100%),
    linear-gradient(to top,rgba(17,15,13,.68),rgba(17,15,13,.04) 62%);
}

.hero-creations .editorial-hero-bg::after{
  background:
    linear-gradient(90deg,rgba(17,15,13,.88) 0%,rgba(18,16,14,.68) 38%,rgba(18,16,14,.26) 70%,rgba(17,15,13,.2) 100%),
    linear-gradient(to top,rgba(17,15,13,.72),rgba(17,15,13,.04) 62%);
}

.hero-article-rail,
.hero-carnet-gallery{
  grid-column:2 !important;
  grid-row:1 !important;
  justify-self:end !important;
  align-self:center;
}

.hero-article-rail{
  width:min(38vw, 420px);
  min-width:340px;
  display:grid;
  gap:0;
  padding:28px 0;
  color:var(--ivoire);
  border-top:1px solid rgba(236,217,178,.38);
  border-bottom:1px solid rgba(236,217,178,.22);
}

.rail-heading{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:end;
  padding-bottom:24px;
  border-bottom:1px solid rgba(236,217,178,.2);
}

.rail-heading span,
.hero-article-rail a span,
.gallery-cover figcaption span,
.gallery-ticket span{
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--or);
}

.rail-heading strong{
  max-width:12ch;
  text-align:right;
  font-family:"Fraunces",serif;
  font-size:31px;
  font-weight:360;
  line-height:.96;
}

.hero-article-rail a{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:18px;
  align-items:center;
  padding:21px 0;
  color:var(--ivoire);
  border-bottom:1px solid rgba(236,217,178,.16);
}

.hero-article-rail a:last-child{
  border-bottom:0;
}

.hero-article-rail a strong{
  font-family:"Fraunces",serif;
  font-size:26px;
  font-weight:370;
  line-height:1;
}

.hero-carnet-gallery{
  position:relative;
  width:min(42vw, 540px);
  min-width:380px;
  height:520px;
  isolation:isolate;
}

.hero-carnet-gallery::before{
  content:"";
  position:absolute;
  inset:58px 10px 46px 86px;
  border-radius:52px 14px 46px 18px;
  background:rgba(246,240,231,.1);
  border:1px solid rgba(236,217,178,.18);
  box-shadow:0 44px 100px -52px rgba(0,0,0,.76);
  transform:rotate(1.8deg);
}

.gallery-cover{
  position:absolute;
  padding:9px 9px 15px;
  background:rgba(246,240,231,.97);
  color:var(--encre);
  box-shadow:
    0 34px 84px -34px rgba(0,0,0,.82),
    inset 0 1px 0 rgba(255,255,255,.7);
  overflow:hidden;
}

.gallery-cover::before{
  content:"";
  position:absolute;
  left:50%;
  top:-9px;
  width:82px;
  height:22px;
  background:rgba(236,217,178,.72);
  transform:translateX(-50%) rotate(-2deg);
  z-index:3;
}

.gallery-cover img{
  display:block;
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  opacity:0;
}

.gallery-cover-main,
.gallery-cover-side,
.gallery-cover-small{
  background-color:rgba(246,240,231,.97);
  background-size:calc(100% - 18px) auto;
  background-repeat:no-repeat;
  background-position:center 9px;
}

.gallery-cover-main{
  background-image:url("/assets/source-images/carnet-card-maurice.webp");
}

.gallery-cover-side{
  background-image:url("/assets/source-images/carnet-card-venise-real.webp");
}

.gallery-cover-small{
  background-image:url("/assets/source-images/carnet-card-japon-real.webp");
}

.gallery-cover-main{
  left:22px;
  top:54px;
  z-index:5;
  width:232px;
  border-radius:10px 38px 12px 24px;
  transform:rotate(-6deg);
}

.gallery-cover-main img{
  border-radius:7px 29px 8px 18px;
}

.gallery-cover-side{
  right:28px;
  top:110px;
  z-index:4;
  width:190px;
  border-radius:30px 10px 24px 12px;
  transform:rotate(5deg);
}

.gallery-cover-side img{
  border-radius:22px 7px 17px 8px;
}

.gallery-cover-small{
  right:128px;
  bottom:72px;
  z-index:6;
  width:146px;
  border-radius:9px 26px 10px 18px;
  transform:rotate(-2deg);
}

.gallery-cover-small img{
  border-radius:6px 20px 7px 13px;
}

.gallery-cover figcaption{
  display:grid;
  gap:5px;
  margin-top:10px;
}

.gallery-cover figcaption strong{
  font-family:"Fraunces",serif;
  font-size:20px;
  font-weight:430;
  line-height:1;
}

.gallery-ticket{
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:7;
  width:248px;
  padding:18px 19px;
  border:1px solid rgba(236,217,178,.28);
  border-radius:30px 9px 32px 12px;
  background:rgba(28,23,20,.68);
  color:var(--ivoire);
  box-shadow:0 28px 62px -34px rgba(0,0,0,.86);
  transform:rotate(1.4deg);
}

.gallery-ticket strong{
  display:block;
  margin-top:8px;
  font-family:"Fraunces",serif;
  font-size:21px;
  font-weight:390;
  line-height:1.04;
}

@media (hover:hover) and (pointer:fine){
  .hero-article-rail a strong,
  .gallery-cover{
    transition:transform 220ms var(--ease-out), color 180ms var(--ease-out);
  }
  .hero-article-rail a:hover strong{
    color:var(--or);
  }
  .hero-carnet-gallery:hover .gallery-cover-main{
    transform:translateY(-7px) rotate(-7deg);
  }
}

@media (max-width:1100px){
  .hero-articles .editorial-hero-inner,
  .hero-creations .editorial-hero-inner{
    grid-template-columns:1fr;
  }
  .hero-article-rail,
  .hero-carnet-gallery{
    grid-column:1 !important;
    grid-row:2 !important;
    justify-self:start !important;
  }
  .hero-article-rail{
    width:min(100%, 440px);
    min-width:0;
  }
  .hero-carnet-gallery{
    width:min(100%, 500px);
    min-width:0;
    height:420px;
  }
  .gallery-cover-main{width:190px}
  .gallery-cover-side{width:160px}
  .gallery-cover-small{width:124px}
  .gallery-ticket{right:0}
}

@media (max-width:720px){
  .hero-article-rail{
    padding:18px 0;
  }
  .rail-heading{
    padding-bottom:18px;
  }
  .rail-heading strong{
    font-size:24px;
  }
  .hero-article-rail a{
    padding:14px 0;
  }
  .hero-article-rail a strong{
    font-size:20px;
  }
  .hero-carnet-gallery{
    height:330px;
  }
  .hero-carnet-gallery::before{
    inset:46px 0 40px 50px;
  }
  .gallery-cover figcaption{
    display:none;
  }
  .gallery-cover-main{
    left:0;
    top:50px;
    width:146px;
  }
  .gallery-cover-side{
    right:16px;
    top:80px;
    width:124px;
  }
  .gallery-cover-small{
    right:94px;
    bottom:58px;
    width:104px;
  }
  .gallery-ticket{
    right:0;
    bottom:0;
    width:min(246px, calc(100% - 76px));
    padding:14px 15px;
  }
  .gallery-ticket strong{
    font-size:18px;
  }
}

/* ---------- CONTENT SOURCE PASS: CARNET / TARIFS / FAQ ---------- */
.hero-article-rail{
  padding:30px 28px;
  border:1px solid rgba(236,217,178,.3);
  border-radius:34px 10px 38px 12px;
  background:
    linear-gradient(135deg,rgba(16,14,12,.74),rgba(16,14,12,.46)),
    rgba(16,14,12,.52);
  box-shadow:0 30px 84px -42px rgba(0,0,0,.8), inset 0 1px 0 rgba(246,240,231,.12);
}

.hero-article-rail a strong,
.rail-heading strong{
  text-shadow:0 2px 14px rgba(0,0,0,.55);
}

.article-context{
  background:linear-gradient(180deg,var(--ivoire),var(--lin));
  padding-bottom:72px;
}

.article-context-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:start;
}

.article-context-copy{
  display:grid;
  gap:18px;
  color:var(--encre-soft);
  font-size:17px;
  line-height:1.62;
}

.article-ledger{
  background:var(--lin);
}

.article-ledger-head{
  align-items:start;
}

.article-ledger-head .lede{
  margin:0;
  max-width:58ch;
  justify-self:end;
}

.article-ledger-card{
  box-shadow:0 24px 70px -42px rgba(28,23,20,.42);
}

.article-ledger-card div p{
  margin-top:12px;
  max-width:44ch;
  font-size:14px;
  line-height:1.45;
  color:rgba(246,240,231,.8);
}

.article-ledger-card:nth-child(1) div p,
.article-ledger-card:nth-child(2) div p{
  font-size:15px;
}

.tarifs-grid{
  align-items:stretch;
}

.formule{
  border-radius:10px 34px 12px 12px;
  box-shadow:0 20px 60px -44px rgba(28,23,20,.36);
}

.formule.feature{
  border-radius:34px 10px 34px 12px;
  box-shadow:0 34px 86px -48px rgba(28,23,20,.72);
}

.tarifs-source-note{
  max-width:none;
  display:flex;
  gap:14px;
  align-items:flex-start;
  border-radius:28px 8px 30px 10px;
}

.tarifs-source-note strong{
  color:var(--encre);
  white-space:nowrap;
}

.tarifs-details{
  background:linear-gradient(180deg,var(--ivoire),var(--lin));
}

.tarifs-details ul{
  list-style:none;
  padding:0;
  border-top:1px solid var(--pierre);
}

.tarifs-details li{
  padding:16px 0 16px 34px;
  border-bottom:1px solid var(--pierre);
  position:relative;
  color:var(--encre-soft);
}

.tarifs-details li::before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  width:12px;
  height:12px;
  border-radius:50%;
  border:1px solid var(--momiji);
}

.booking-terms{
  background:var(--lin);
}

.booking-terms-grid{
  display:grid;
  grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr);
  gap:64px;
  align-items:start;
}

.booking-terms-head{
  position:sticky;
  top:112px;
}

.booking-terms-head p{
  margin-top:24px;
  max-width:48ch;
  color:var(--encre-soft);
  font-size:17px;
  line-height:1.55;
}

.booking-terms-copy{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.booking-card,
.booking-decision{
  padding:24px;
  border:1px solid var(--pierre);
  background:rgba(255,255,255,.56);
  box-shadow:0 18px 54px -44px rgba(28,23,20,.36);
}

.booking-card{
  border-radius:28px 8px 30px 10px;
}

.booking-card:nth-child(2){
  border-radius:8px 30px 10px 28px;
}

.booking-card:nth-child(3){
  border-radius:30px 10px 26px 8px;
}

.booking-card-wide,
.booking-decision{
  grid-column:1 / -1;
}

.booking-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  background:var(--encre);
  color:var(--ivoire);
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.booking-card-primary span{
  background:var(--momiji);
}

.booking-card h3{
  margin-top:18px;
  font-family:"Fraunces",serif;
  font-size:clamp(24px,2.3vw,32px);
  font-weight:390;
  line-height:1.02;
  letter-spacing:0;
}

.booking-card p,
.booking-decision p{
  margin-top:12px;
  color:var(--encre-soft);
  font-size:15px;
  line-height:1.55;
}

.booking-card-wide{
  display:grid;
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  column-gap:28px;
  align-items:start;
  border-radius:10px 38px 12px 34px;
  background:color-mix(in srgb, var(--ivoire) 76%, white);
}

.booking-card-wide span,
.booking-card-wide h3{
  grid-column:1;
}

.booking-card-wide p{
  grid-column:2;
  grid-row:1 / span 2;
  margin-top:0;
}

.booking-decision{
  border-radius:34px 10px 38px 12px;
  background:var(--encre);
  color:var(--ivoire);
}

.booking-decision strong{
  display:block;
  font-family:"Fraunces",serif;
  font-size:clamp(26px,2.8vw,38px);
  font-weight:390;
  line-height:1.05;
}

.booking-decision p{
  max-width:70ch;
  color:rgba(246,240,231,.76);
}

@media (max-width:980px){
  .booking-terms-head{
    position:static;
  }
  .booking-terms-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
}

@media (max-width:720px){
  .booking-terms-copy,
  .booking-card-wide{
    grid-template-columns:1fr;
  }
  .booking-card-wide p{
    grid-column:auto;
    grid-row:auto;
    margin-top:12px;
  }
  .booking-card,
  .booking-decision{
    padding:22px;
  }
}

.faq-list{
  background:rgba(255,255,255,.38);
  border:1px solid var(--pierre);
  border-radius:34px 10px 38px 12px;
  overflow:hidden;
}

.faq-item{
  padding:0 28px;
}

.faq-item:last-child{
  border-bottom:0;
}

.faq-item.open{
  background:rgba(246,240,231,.54);
}

.faq-a{
  transition:max-height 260ms var(--ease-out);
}

.faq-item.open .faq-a{
  max-height:520px;
}

@media (max-width:980px){
  .article-context-grid,
  .article-ledger-head{
    grid-template-columns:1fr;
    gap:24px;
  }
  .article-ledger-head .lede{
    justify-self:start;
  }
  .tarifs-source-note{
    display:block;
  }
  .tarifs-source-note strong{
    display:block;
    margin-bottom:8px;
  }
}

@media (max-width:720px){
  .hero-article-rail{
    padding:22px 20px;
  }
  .article-ledger-card div p{
    display:none;
  }
  .faq-item{
    padding:0 18px;
  }
  .faq-item.open .faq-a{
    max-height:680px;
  }
}

/* ---------- PRICE SIMULATOR + PROPOSALS ---------- */
.price-simulator{
  display:grid;
  grid-template-columns:1fr 1.1fr .9fr;
  gap:28px;
  align-items:stretch;
  margin-top:28px;
  padding:28px;
  border:1px solid var(--pierre);
  border-radius:34px 10px 38px 12px;
  background:rgba(255,255,255,.48);
  box-shadow:0 24px 64px -46px rgba(28,23,20,.34);
}

.simulator-copy h3{
  margin-top:16px;
  font-family:"Fraunces",serif;
  font-weight:390;
  font-size:34px;
  line-height:1;
}

.simulator-copy p,
.simulator-result p{
  margin-top:12px;
  color:var(--encre-soft);
  font-size:14px;
  line-height:1.48;
}

.simulator-controls{
  display:grid;
  gap:20px;
  align-content:center;
}

.simulator-controls label{
  display:grid;
  gap:10px;
}

.simulator-controls label span,
.simulator-result span{
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cuir);
}

.simulator-controls input{
  width:100%;
  accent-color:var(--momiji);
}

.simulator-controls select{
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--cuir);
  background:var(--ivoire);
  font-family:inherit;
  font-size:14px;
  color:var(--encre);
}

.simulator-controls strong{
  font-family:"Fraunces",serif;
  font-size:24px;
  font-weight:390;
}

.simulator-result{
  display:grid;
  align-content:center;
  padding:24px;
  border-radius:28px 8px 30px 10px;
  background:var(--encre);
  color:var(--ivoire);
}

.simulator-result strong{
  margin-top:8px;
  font-family:"Fraunces",serif;
  font-weight:370;
  font-size:clamp(44px, 4vw, 64px);
  line-height:.9;
}

.simulator-result p{
  color:rgba(246,240,231,.72);
}

.proposal-page{
  background:var(--lin);
}

.proposal-hero{
  padding:140px 0 82px;
  background:var(--encre);
  color:var(--ivoire);
}

.proposal-hero h1{
  margin-top:18px;
  max-width:11ch;
  font-family:"Fraunces",serif;
  font-size:clamp(54px, 8vw, 108px);
  font-weight:360;
  line-height:.92;
  letter-spacing:0;
}

.proposal-hero p{
  margin-top:24px;
  max-width:62ch;
  color:rgba(246,240,231,.74);
  font-size:18px;
  line-height:1.55;
}

.proposal-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.proposal-card{
  padding:28px;
  border:1px solid var(--pierre);
  border-radius:28px 8px 30px 10px;
  background:rgba(255,255,255,.52);
}

.proposal-card:nth-child(2n){
  border-radius:8px 30px 10px 28px;
}

.proposal-card-head span{
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--momiji);
}

.proposal-card h2{
  margin-top:12px;
  font-family:"Fraunces",serif;
  font-size:30px;
  font-weight:390;
  line-height:1;
}

.proposal-card dl{
  display:grid;
  gap:18px;
  margin-top:24px;
}

.proposal-card dt{
  font-family:"JetBrains Mono",monospace;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cuir);
}

.proposal-card dd{
  margin-top:7px;
  color:var(--encre-soft);
  font-size:15px;
  line-height:1.48;
}

@media (max-width:980px){
  .price-simulator,
  .proposal-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  .price-simulator{
    padding:20px;
  }
  .proposal-hero{
    padding:108px 0 58px;
  }
}

/* ---------- À PROPOS — origine & valeurs ---------- */
.about-origin-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:72px;align-items:start}
.about-portrait-col{display:grid;gap:20px;position:sticky;top:100px}
.about-portrait-frame{border-radius:var(--shape-sheet);overflow:hidden;aspect-ratio:3/4}
.about-portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center top}
.about-portrait-note{padding:22px 24px;background:rgba(255,255,255,.54);border:1px solid var(--pierre);border-radius:8px}
.about-story-col{display:grid;gap:0}
.about-creds-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.about-cred-chip{padding:18px 16px;background:rgba(255,255,255,.54);border:1px solid var(--pierre);border-radius:6px}
.about-cred-chip strong{font-family:"Fraunces",serif;font-size:26px;font-weight:380;color:var(--cuir);display:block;line-height:1}
.about-cred-chip span{font-size:13px;color:var(--encre-soft);margin-top:6px;display:block;line-height:1.35}
.about-valeur-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.about-valeur{padding:30px 26px;background:rgba(255,255,255,.44);border:1px solid rgba(215,202,188,.6);border-radius:var(--shape-sheet)}
.about-valeur .v-num{font-family:"Fraunces",serif;font-size:11px;color:var(--cuir);letter-spacing:0.08em;display:block;margin-bottom:14px}
.about-valeur h3{font-family:"Fraunces",serif;font-weight:420;font-size:21px;line-height:1.1;margin-bottom:12px}
.about-valeur p{font-size:15px;color:var(--encre-soft);line-height:1.6}
.about-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:64px 0;border-top:1px solid var(--pierre)}
@media (max-width:980px){
  .about-origin-grid{grid-template-columns:1fr;gap:40px}
  .about-portrait-col{position:static}
  .about-portrait-frame{max-width:320px;aspect-ratio:4/3}
  .about-valeur-row{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .about-creds-row{grid-template-columns:1fr 1fr}
  .about-valeur-row{grid-template-columns:1fr}
  .about-cta-inner{flex-direction:column;align-items:flex-start}
}

/* ---------- CONTACT — form & info ---------- */
.contact-info-col{display:grid;gap:0;align-content:start}
.contact-reassurances{list-style:none;display:grid;gap:12px;margin-top:32px}
.contact-reassurances li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--encre-soft)}
.contact-reassurances svg{color:var(--cuir);flex-shrink:0}
.contact-direct{margin-top:36px;padding-top:28px;border-top:1px solid var(--pierre);display:grid;gap:8px}
.contact-direct .mono{color:var(--encre-soft);margin-bottom:4px}
.contact-direct a{font-size:15px;color:var(--cuir);text-decoration:underline;text-underline-offset:3px}
.contact-direct a:hover{color:var(--momiji)}

/* contact form */
.contact-form{display:grid;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:7px}
.field>span{font-size:13px;font-weight:500;letter-spacing:0.04em;color:var(--encre-soft)}
.field em{color:var(--momiji);font-style:normal;margin-left:2px}
.field small{font-weight:400;color:var(--sable)}
.field input,.field select,.field textarea{
  width:100%;padding:12px 16px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--pierre);
  border-radius:6px;
  font:inherit;font-size:16px;color:var(--encre);
  transition:border-color var(--dur-ui) ease,box-shadow var(--dur-ui) ease;
  -webkit-appearance:none;appearance:none;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--cuir);
  box-shadow:0 0 0 3px rgba(122,92,68,.32);
}
.field input::placeholder,.field textarea::placeholder{color:var(--sable);font-size:15px}
.field select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237A5C44' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:40px;cursor:pointer;
}
.field textarea{resize:vertical;min-height:130px;line-height:1.6}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:4px}
.form-note{font-size:13px;color:var(--encre-soft)}
.form-note em{color:var(--momiji);font-style:normal}
.form-error{font-size:14px;color:var(--momiji);padding:12px 16px;background:rgba(183,92,75,.07);border-radius:6px;border:1px solid rgba(183,92,75,.18)}
.form-error a{text-decoration:underline;text-underline-offset:2px}
.contact-success{display:grid;place-items:center;text-align:center;gap:16px;padding:64px 32px}
.contact-success .paper-plane{width:40px;height:40px;color:var(--momiji)}
.contact-success h3{font-family:"Fraunces",serif;font-size:28px;font-weight:400;line-height:1.1}
.contact-success p{color:var(--encre-soft);max-width:38ch;font-size:16px}
@media (max-width:720px){
  .form-row{grid-template-columns:1fr}
  .form-foot{flex-direction:column;align-items:flex-start}
  .form-foot .btn{width:100%;justify-content:center}
}

/* ===== SCROLL REVEAL ===== */
.s-hidden{opacity:0;transform:translateY(32px);transition:none}
.s-visible{opacity:1;transform:translateY(0);transition:opacity 700ms var(--ease-out),transform 700ms var(--ease-out)}
@media (prefers-reduced-motion:reduce){
  .s-hidden{opacity:1;transform:none}
  .s-visible{transition:none}
}

/* ===== STICKY CTA mobile ===== */
.sticky-cta{
  display:none;
  position:fixed;bottom:24px;left:50%;translate:-50% 0;z-index:200;
  background:var(--momiji);color:var(--ivoire);
  font-family:"Instrument Sans",sans-serif;font-size:15px;font-weight:600;letter-spacing:0.01em;
  padding:14px 28px;border-radius:999px;text-decoration:none;white-space:nowrap;
  box-shadow:0 8px 32px -8px rgba(183,92,75,.55),0 2px 8px rgba(0,0,0,.18);
  opacity:0;transform:translateY(16px);
  transition:opacity 320ms var(--ease-out),transform 320ms var(--ease-out),box-shadow 200ms ease;
}
.sticky-cta.on{opacity:1;transform:translateY(0)}
.sticky-cta:hover{box-shadow:0 14px 44px -8px rgba(183,92,75,.65),0 4px 12px rgba(0,0,0,.22);transform:translateY(-2px)}
@media (max-width:860px){.sticky-cta{display:block}}
@media (prefers-reduced-motion:reduce){
  .sticky-cta{transition:opacity 200ms ease}
  .sticky-cta:hover{transform:none}
}

/* ===== HERO REASSURANCE ===== */
.hero-reassure{
  margin-top:14px;
  font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  color:rgba(246,240,231,.5);
  font-family:"JetBrains Mono",monospace;
  animation:hero-rise 760ms var(--ease-out) 380ms both;
}

/* ===== FICHE PRICE ===== */
.fiche-price{
  font-family:"Fraunces",serif;font-size:13px;font-weight:500;
  color:var(--momiji);font-variant-numeric:tabular-nums;
}

/* ===== SECTION LIN ===== */
.section-lin{ background:var(--lin); }

/* ===== COMPARATIF ===== */
/* Décale le titre vers la droite pour laisser la place au motif de coin (.bloom--top--left),
   sinon le texte tombe pile dessus. */
@media(min-width:900px){ .cmp-heading{ padding-left:280px; } }
@media(min-width:1500px){ .cmp-heading{ padding-left:400px; } }
.cmp-wrap{
  overflow-x:auto;margin-top:48px;
  -webkit-overflow-scrolling:touch;
  border-radius:16px;
  box-shadow:0 2px 32px rgba(28,23,20,.09);
}
.cmp-table{
  width:100%;border-collapse:separate;border-spacing:0;
  min-width:720px;background:var(--ivoire);
}
/* thead — fond encre full-width */
.cmp-table thead tr{ background:var(--encre); }
.cmp-table thead th{
  padding:0;text-align:center;vertical-align:bottom;
  border-bottom:none;
}
.cmp-th-label{ width:33%; }
.cmp-th-inner{
  display:flex;flex-direction:column;align-items:center;
  gap:3px;padding:20px 14px 16px;
}
.cmp-th-inner strong{
  font-family:"Fraunces",serif;font-size:14.5px;font-weight:500;
  color:rgba(245,240,233,.75);letter-spacing:0.01em;
}
.cmp-sub{
  font-family:"Instrument Sans",sans-serif;
  font-size:10px;letter-spacing:0.07em;text-transform:uppercase;
  color:rgba(245,240,233,.35);font-weight:400;
}
/* Fab column header */
.cmp-col-fab .cmp-th-inner{ padding-top:12px; }
.cmp-col-fab .cmp-th-inner strong{ color:var(--or);font-size:16px; }
.cmp-col-fab .cmp-sub{ color:rgba(210,175,100,.6); }
/* Badge */
.cmp-badge{
  display:inline-block;padding:2px 9px;
  background:var(--or);color:var(--encre);
  font-family:"Instrument Sans",sans-serif;
  font-size:9.5px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;
  border-radius:99px;margin-bottom:2px;
}
/* tbody */
.cmp-label{
  padding:12px 22px;font-size:13px;color:var(--encre);
  border-top:1px solid rgba(28,23,20,.065);
  font-family:"Instrument Sans",sans-serif;line-height:1.45;
  text-align:left;
}
.cmp-cell{
  text-align:center;padding:12px 14px;
  border-top:1px solid rgba(28,23,20,.065);
}
/* Fab column body — subtle tint + side shadows as column border */
.cmp-cell-fab{
  background:rgba(28,23,20,.028);
  box-shadow:-1px 0 0 rgba(28,23,20,.11),1px 0 0 rgba(28,23,20,.11);
}
tbody tr:last-child .cmp-cell-fab{
  box-shadow:-1px 0 0 rgba(28,23,20,.11),1px 0 0 rgba(28,23,20,.11),0 1px 0 rgba(28,23,20,.11);
}
/* Alternating rows */
.cmp-row-alt .cmp-label,
.cmp-row-alt .cmp-cell{ background:rgba(28,23,20,.016); }
.cmp-row-alt .cmp-cell-fab{ background:rgba(28,23,20,.042); }
/* Icons */
.cmp-icon{ width:21px;height:21px;display:inline-block;vertical-align:middle; }
.cmp-icon-yes{ color:var(--sauge); }
.cmp-icon-no{ color:var(--momiji);opacity:.65; }
.cmp-icon-mid{ color:var(--cuir); }
.cmp-legend{
  display:flex;flex-wrap:wrap;gap:22px;margin-top:22px;
}
.cmp-legend-item{
  display:inline-flex;align-items:center;gap:7px;
  font-size:12.5px;color:var(--encre-soft);
  font-family:"Instrument Sans",sans-serif;
}
.cmp-legend-item .cmp-icon{ width:18px;height:18px; }
.cmp-note{
  margin-top:16px;font-size:11.5px;color:var(--cuir);
  font-family:"JetBrains Mono",monospace;letter-spacing:0.04em;
}
@media(max-width:760px){
  .cmp-label{ padding:10px 14px;font-size:12px; }
  .cmp-cell{ padding:10px 10px; }
  .cmp-icon{ width:18px;height:18px; }
  .cmp-th-inner{ padding:14px 8px 12px; }
  .cmp-th-inner strong{ font-size:12.5px; }
  .cmp-sub{ font-size:9px; }
}

/* ===== FINAL CTA PHOTO ===== */
.final-cta-photo{
  position:absolute;right:0;top:0;bottom:0;
  width:clamp(180px,28vw,340px);
  overflow:hidden;pointer-events:none;
  opacity:0.18;
  mask-image:linear-gradient(to left, black 40%, transparent 100%);
  -webkit-mask-image:linear-gradient(to left, black 40%, transparent 100%);
}
.final-cta-photo img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
}
@media(max-width:600px){ .final-cta-photo{ display:none; } }

/* ===== PRESS CHIPS ===== */
.press-chip{
  display:inline-block;padding:7px 16px;
  border:1px solid var(--pierre);border-radius:999px;
  font-family:"JetBrains Mono",monospace;font-size:11.5px;
  letter-spacing:0.05em;color:var(--encre);
  text-decoration:none;transition:background 220ms,color 220ms;
}
a.press-chip:hover{ background:var(--encre);color:var(--ivoire);border-color:var(--encre); }
.press-chip--unverified{ opacity:.45;cursor:default; }

/* ===== SIDE DECO ===== */
.section--deco{ overflow:hidden; }
.side-deco{
  display:none;
  position:absolute;
  top:50%;
  width:170px;height:248px;
  border-radius:999px;
  overflow:hidden;
  box-shadow:0 20px 56px rgba(28,23,20,.22);
  z-index:0;
  pointer-events:none;
}
.side-deco img{ width:100%;height:100%;object-fit:cover; }
.side-deco--left{
  left:-52px;
  transform:translateY(-50%) rotate(-4deg);
}
.side-deco--right{
  right:-52px;
  transform:translateY(-50%) rotate(3.5deg);
}
/* Positionné en négatif par rapport à la section pleine largeur (pas au .container 1280px centré) :
   ne reste hors du texte que si la marge centrée dépasse l'offset négatif, donc caché en dessous de
   1500px — sinon il chevauche la colonne de texte sur toute la plage 1100-1490px (résolutions laptop
   très courantes, cf. capture d'écran Tristan sur le texte de la section "Pourquoi choisir"). */
@media(min-width:1500px){ .side-deco{ display:block; } }
@media(min-width:1680px){
  .side-deco{ width:195px;height:280px; }
  .side-deco--left{ left:-60px; }
  .side-deco--right{ right:-60px; }
}

/* ===== BLOOM (motif crayon posé dans un coin de section, jamais dans le flux) ===== */
/* position:absolute + jamais de left/right négatif : l'image reste toujours entièrement dans la
   largeur de l'écran, aucun risque de scroll horizontal ni de décalage du site. Ne décale jamais
   le texte ni l'image qui l'entourent, quelle que soit la taille d'écran. Visible dès mobile. */
.bloom{
  position:absolute;
  width:150px;
  z-index:0;
  pointer-events:none;
  opacity:.55;
}
/* height:auto (pas de height fixe sur .bloom, pas d'object-fit) : la boîte épouse le ratio réel de
   chaque image (déjà détourée au plus près du motif dans le fichier source), donc plus de marge
   invisible entre le dessin et le bord de la boîte — l'image touche vraiment le bord de l'écran. */
.bloom img{ width:100%;height:auto;display:block; }
.bloom--left{ left:0; }
.bloom--right{ right:0; }
.bloom--top{ top:0; }
.bloom--bottom{ bottom:0; }
@media(min-width:900px){
  .bloom{ width:420px;opacity:.65; }
}
@media(min-width:1500px){
  .bloom{ width:560px; }
}

/* ===== SEAM (motif crayon posé à cheval sur la couture entre deux sections) ===== */
/* Le wrapper a height:0 : il n'ajoute AUCUN espace, aucune section ne se décale ni ne s'écarte.
   L'illustration est absolue et centrée sur la couture (translateY(-50%)) : elle mord pour moitié
   dans la section du dessus et pour moitié dans celle du dessous, donc "traverse" les deux.
   Jamais de left/right négatif ici non plus : toujours entièrement dans la largeur de l'écran. */
.seam{
  position:relative;
  height:0;
  /* z-index explicite et > 0 : les sections suivantes ont position:relative + z-index:auto, donc
     à égalité de DOM elles pourraient repasser par-dessus la moitié du motif qui mord dedans.
     Un z-index net (pas juste 0) garantit que le motif reste toujours au-dessus des deux sections
     qu'il chevauche, quel que soit l'ordre DOM. */
  z-index:2;
  pointer-events:none;
}
.seam img{
  position:absolute;
  top:0;
  object-fit:contain;
  pointer-events:none;
}
.seam--center img{
  left:50%;
  /* -20% et non -50% : le motif n'est pas centré pile sur la couture, il descend surtout dans la
     section du dessous pour rester bien visible dessus (pas écrasé contre la section précédente). */
  transform:translate(-50%,-20%);
  width:clamp(120px,30vw,200px);
  opacity:.75;
}
.seam--left img{
  left:0;
  transform:translateY(-58%);
  width:clamp(90px,26vw,150px);
  opacity:.75;
}
.seam--right img{
  right:0;
  transform:translateY(-58%);
  width:clamp(90px,26vw,150px);
  opacity:.75;
}
@media(min-width:900px){
  .seam--center img{ width:clamp(280px,58vw,1080px); opacity:.8; }
  .seam--left img{ width:clamp(240px,28vw,520px); opacity:.8; }
  .seam--right img{ width:clamp(240px,28vw,520px); opacity:.8; }
}

.footer-seal{
  width:56px;height:56px;
  margin-top:20px;
  opacity:.85;
}

/* ===== DESTINATION BAND ===== */
.dest-band{
  background:var(--ivoire);
  padding:8px 24px 72px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  gap:18px;
  overflow:hidden;
}
.dest-arch{
  flex-shrink:0;
  width:165px;
  height:230px;
  border-radius:999px;
  overflow:hidden;
  box-shadow:0 8px 32px rgba(28,23,20,.13);
  will-change:transform;
}
.dest-arch img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 600ms var(--ease-out);
}
.dest-arch:hover img{ transform:scale(1.05); }
.dest-arch:nth-child(1){ transform:rotate(-2.5deg) translateY(12px); }
.dest-arch:nth-child(2){ transform:rotate(1deg); }
.dest-arch:nth-child(3){ transform:rotate(-1deg) translateY(20px); }
@media(max-width:600px){
  .dest-arch{ width:110px;height:155px; }
  .dest-band{ gap:12px; padding-bottom:48px; }
}
