/* ============================================================
   LES REGISTRES DES PAGES — un même système, des compositions différentes (10/10/2026)
   ------------------------------------------------------------
   Avant : toutes les pages s'ouvraient pareil (texte à gauche, une photo dans une arche à droite).
   Maintenant l'ouverture dit la fonction de la page, avec la même matière (carreaux, feuille, règle) :
     · Studio       → .hero--wide   : le titre, puis la scène en pleine largeur (du plan à l'écran)
     · Éditions     → .hero--plate  : le texte, et une planche verticale (le carnet, la liste cochée, les marches)
     · Bibliothèque → .hero--center : un titre centré, la recherche d'abord, la scène en bande dessous
     · Projets      → .hero--plain  : rien que le titre ; les identités sont la démonstration
     · Contact      → .hero--sheet  : la feuille vide qui attend le projet
   Les arches restent un détail de marque, plus un gabarit.
   ============================================================ */

/* l'arche photo des ouvertures standard disparaît pour ces cinq pages */
.page-hero.hero--wide::before, .page-hero.blog-page.ressources-hero.hero--center::before,
.page-hero.hero--plate::before,
.page-hero.hero--center::before,
.page-hero.hero--plain::before,
.page-hero.hero--sheet::before { display: none; }

/* les repères de calage, communs à toutes les planches */
.hero-scene, .hero-plate, .hero-strip { position: relative; margin: 0; }
.hero-scene::before, .hero-plate::before, .hero-strip::before {
  content: ""; position: absolute; inset: -9px; pointer-events: none; z-index: 1;
  --m: 14px; --c: rgba(161, 138, 88, .9);
  background:
    linear-gradient(var(--c), var(--c)) 0 0 / var(--m) 1px no-repeat, linear-gradient(var(--c), var(--c)) 0 0 / 1px var(--m) no-repeat,
    linear-gradient(var(--c), var(--c)) 100% 0 / var(--m) 1px no-repeat, linear-gradient(var(--c), var(--c)) 100% 0 / 1px var(--m) no-repeat,
    linear-gradient(var(--c), var(--c)) 0 100% / var(--m) 1px no-repeat, linear-gradient(var(--c), var(--c)) 0 100% / 1px var(--m) no-repeat,
    linear-gradient(var(--c), var(--c)) 100% 100% / var(--m) 1px no-repeat, linear-gradient(var(--c), var(--c)) 100% 100% / 1px var(--m) no-repeat;
}
.hero-scene img, .hero-plate img, .hero-strip img { display: block; width: 100%; height: auto; border-radius: 4px; background: #F4F5F7; box-shadow: 0 0 0 1px rgba(161, 138, 88, .35); }

/* ---------- STUDIO : la scène en pleine largeur, du plan à l'écran ---------- */
.page-hero.hero--wide { grid-template-columns: minmax(0, 1fr); gap: clamp(30px, 4vw, 56px); }
.hero--wide .page-hero-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); column-gap: clamp(32px, 6vw, 96px); align-items: end; }
.hero--wide .page-hero-inner .eyebrow { grid-column: 1 / -1; }
.hero--wide .page-hero-inner h1 { grid-column: 1; max-width: 15ch; }
.hero--wide .hero-side { grid-column: 2; padding-bottom: .5em; }
.hero--wide .hero-side p:not(.eyebrow) { margin-top: 0; }
.hero--wide .hero-side .hero-actions { margin-top: 26px; }
.hero--wide .hero-scene { grid-column: 1; }
.hero-scene figcaption { display: grid; grid-template-columns: 29% 27% 44%; margin-top: 18px; font: 500 .66rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--ink-soft); }
.hero-scene figcaption span::before { content: ""; display: block; width: 1px; height: 12px; margin-bottom: 9px; background: var(--gold); }
.hero-scene .only-mobile { display: none; }

/* ---------- ÉDITIONS : le texte et une planche verticale ---------- */
.page-hero.hero--plate { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.hero--plate .hero-plate { grid-column: 2; grid-row: 1; justify-self: end; width: min(100%, 460px, calc(72svh * .86)); }
.hero--plate .hero-plate img { box-shadow: 0 0 0 1px rgba(161, 138, 88, .35), 0 34px 60px -34px rgba(56, 43, 63, .45); }

/* ---------- BIBLIOTHÈQUE : un titre centré, la recherche d'abord, la scène en bande ---------- */
.page-hero.hero--center, .page-hero.blog-page.ressources-hero.hero--center { grid-template-columns: minmax(0, 1fr); gap: clamp(30px, 4.4vw, 60px); text-align: center; justify-items: center; }
.hero--center .page-hero-inner { display: grid; justify-items: center; grid-column: 1; }
.hero--center .page-hero-inner h1 { max-width: 18ch; }
.hero--center .page-hero-inner > p:not(.eyebrow) { max-width: 54ch; }
.hero--center .hero-strip { grid-column: 1; width: 100%; }

/* ---------- PROJETS : rien que le titre, les identités font la démonstration ---------- */
.page-hero.hero--plain { grid-template-columns: minmax(0, 1fr); padding-bottom: clamp(20px, 3vh, 36px); }
.hero--plain .page-hero-inner h1 { max-width: 14ch; font-size: clamp(2.8rem, 7vw, 6.4rem); line-height: .96; }

/* ---------- CONTACT : la feuille vide qui attend le projet ---------- */
.page-hero.hero--sheet { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.hero-sheet { grid-column: 2; grid-row: 1; justify-self: center; position: relative; width: min(100%, 330px); aspect-ratio: 100 / 128; rotate: 2.2deg; container-type: inline-size; background: #fff url(/assets/pages/sheet.svg) 0 0 / 100% 100% no-repeat; box-shadow: 0 30px 60px -32px rgba(56, 43, 63, .5), 0 0 0 1px rgba(161, 138, 88, .28); outline: 1px dashed rgba(161, 138, 88, .6); outline-offset: 12px; pointer-events: none; }
.hero-sheet i { position: absolute; border: 1px dashed rgba(161, 138, 88, .85); background: rgba(161, 138, 88, .06); }
.hero-sheet .g--l1 { left: 6%; top: 24%; width: 46%; height: 0; border-width: 1px 0 0 0; background: none; } .hero-sheet .g--l2 { left: 6%; top: 29%; width: 32%; height: 0; border-width: 1px 0 0 0; background: none; }
.hero-sheet .g--arch { left: 61%; top: 14.8%; width: 33%; height: 44.5%; border-radius: 999px 999px 0 0; }
.hero-sheet .g--c1 { left: 6%; top: 74%; width: 27.3%; height: 21.3%; } .hero-sheet .g--c2 { left: 36.3%; top: 74%; width: 27.3%; height: 21.3%; } .hero-sheet .g--c3 { left: 66.6%; top: 74%; width: 27.3%; height: 21.3%; }
.hero-sheet .pc { position: absolute; left: 19.65%; top: 84.6%; width: 31.6%; transform: translate(-50%, -50%) rotate(-4deg); filter: drop-shadow(0 .8cqw 1.2cqw rgba(56, 43, 63, .3)); }
.hero-sheet .pc img { display: block; width: 100%; height: auto; clip-path: inset(6.5%); }

/* ---------- PROJETS : quatre scènes, une par identité ---------- */
.cases { display: grid; gap: clamp(36px, 5vw, 76px); padding-block: clamp(30px, 4vw, 60px) clamp(40px, 6vw, 90px); }
.case { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 5vw, 84px); align-items: center; }
.case:nth-child(even) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.case:nth-child(even) .case__stage { order: 2; }
.case__stage { position: relative; container-type: size; height: clamp(260px, 30vw, 420px); display: grid; place-items: center; padding: 6cqh 6cqw; border: 1px solid var(--line); border-radius: 22px; background: #fff; overflow: hidden; isolation: isolate; }
.case__n { display: none; }
.case__logo { position: relative; z-index: 1; display: block; width: calc(var(--lw, 60) * 1cqw); max-width: 100%; height: auto; max-height: 64cqh; object-fit: contain; }
.case--awan { --lw: 64; } .case--ml { --lw: 52; } .case--lati { --lw: 66; } .case--zs { --lw: 58; }
.case__info h2 { margin: 0 0 10px; font: 420 clamp(2rem, 3.4vw, 3.2rem)/1.02 var(--serif); letter-spacing: -.025em; color: var(--plum); }
.case__info .role { margin: 0 0 12px; color: var(--ink); max-width: 38ch; }
.case__info .logo-note { margin: 0 0 18px; color: var(--ink-soft); max-width: 40ch; font-size: .95rem; }
.case__info .palette { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; list-style: none; }
.case__info .palette li { display: inline-flex; align-items: center; gap: 8px; font: 500 .8rem/1 var(--sans); color: var(--ink-soft); }
.case__info .palette i { width: 14px; height: 14px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 1px rgba(36, 23, 34, .18); }

/* ---------- petit écran ---------- */
@media (max-width: 900px) {
  .page-hero.hero--wide { gap: 26px; }
  .hero--wide .page-hero-inner { grid-template-columns: 1fr; }
  .hero--wide .page-hero-inner h1, .hero--wide .hero-side { grid-column: 1; }
  .hero-scene figcaption { display: none; }
  .page-hero.hero--plate, .page-hero.hero--sheet { grid-template-columns: 1fr; }
  .hero--plate .hero-plate { grid-column: 1; grid-row: 2; justify-self: center; width: min(100%, 420px); }
  .hero-sheet { grid-column: 1; grid-row: 2; width: min(62%, 240px); }
  .page-hero.hero--center, .page-hero.blog-page.ressources-hero.hero--center { text-align: left; justify-items: stretch; }
  .hero--center .page-hero-inner { justify-items: start; }
  .hero--plain .page-hero-inner h1 { font-size: clamp(2.6rem, 11vw, 3.6rem); }
  .case, .case:nth-child(even) { grid-template-columns: 1fr; gap: 22px; }
  .case:nth-child(even) .case__stage { order: 0; }
  .case__stage { height: clamp(240px, 62vw, 340px); }
  .case--awan { --lw: 72; } .case--ml { --lw: 56; } .case--lati { --lw: 70; } .case--zs { --lw: 68; }
}
