/* ============================================================
   Le Pincelier : page Galeries (chargée avec home.css)
   ============================================================ */

.is-sub { background: var(--night); overflow-x: clip; }
.is-sub::after {
  content: ""; position: fixed; inset: 0; z-index: 90; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* ---------- En-tête sombre, aligné sur le contenu ---------- */
.is-sub .site-header { background: color-mix(in srgb, var(--night) 90%, transparent); backdrop-filter: blur(14px) saturate(1.3); border-bottom: 1px solid var(--line-dark); }
.is-sub .site-header .wrap,
.is-sub .site-footer .wrap { max-width: calc(84rem + 2 * var(--h-gutter)); padding-inline: var(--h-gutter); }
.is-sub .brand__name { color: var(--on-night); }
.is-sub .brand__sub  { color: var(--gilt-light); }
.is-sub .nav-toggle span { background: var(--on-night); }
@media (min-width: 781px) {
  .is-sub .nav a { color: var(--on-night); }
  .is-sub .nav a::after { background: var(--gilt-light); }
  .is-sub .nav a[aria-current="page"] { color: var(--gilt-light); }
}
.is-sub .site-footer { border-top: 1px solid var(--line-dark); }
:where(.is-sub) :focus-visible { outline: 3px solid var(--focus-dark); outline-offset: 3px; }
.g-chapter--light :focus-visible { outline-color: #1d4ed8; }

/* ============================ INTRO ============================ */
.g-intro { padding: clamp(4.5rem, 10vw, 8rem) 0 clamp(3.5rem, 7vw, 6rem); color: var(--on-night); }
.g-title {
  margin: 0 0 clamp(2rem, 5vw, 3.5rem); font-weight: 500; line-height: .8; letter-spacing: -.045em;
  font-size: clamp(4.6rem, 21vw, 18rem); display: block;
}
.g-intro__foot { display: grid; gap: 2rem; align-items: end; }
@media (min-width: 62em) { .g-intro__foot { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 4rem; } }
.g-intro__lead { margin: 0; max-width: 24ch; font-family: var(--serif); font-weight: 500; font-size: clamp(1.5rem, 2.6vw, 2.2rem); line-height: 1.2; }

.g-jump { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--line-dark); }
.g-jump a {
  display: grid; grid-template-columns: 2.6rem 1fr auto; align-items: baseline; gap: .75rem; padding: 1rem 0;
  border-bottom: 1px solid var(--line-dark); color: var(--on-night); text-decoration: none;
  transition: padding-left .4s var(--ease-out), color .3s var(--ease);
}
.g-jump__num { font: 700 .75rem/1 var(--sans); letter-spacing: .16em; color: var(--gilt-light); }
.g-jump__title { font-family: var(--serif); font-weight: 500; font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.1; }
.g-jump__count { font: 700 .75rem/1 var(--sans); letter-spacing: .12em; color: var(--on-night-2); }
.g-jump a:hover, .g-jump a:focus-visible { padding-left: .6rem; color: var(--gilt-light); }

/* ============================ CHAPITRES ============================ */
.g-chapter { padding-block: clamp(4.5rem, 10vw, 9rem); scroll-margin-top: 72px; }
.g-chapter--light { background: var(--plaster); color: var(--ink); }
.g-chapter--dark  { background: var(--night); color: var(--on-night); }

.g-chapter__grid { display: grid; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
@media (min-width: 62em) {
  .g-chapter__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
  .g-chapter__grid--flip { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
  .g-chapter__grid--flip .g-cover { order: 2; }
}

.g-cover { position: relative; display: block; text-decoration: none; }
.g-cover__media { display: block; overflow: hidden; aspect-ratio: 5 / 6; background: var(--plaster-2); }
.g-chapter--dark .g-cover__media { background: var(--night-2); }
.g-cover__media picture, .g-cover__media img { display: block; width: 100%; height: 100%; }
.g-cover__media img { height: 110%; object-fit: cover; will-change: transform; transition: scale 1.2s var(--ease-out); }
.g-cover:hover .g-cover__media img { scale: 1.04; }
.g-cover__num {
  position: absolute; right: -.05em; bottom: -.32em; z-index: 2; pointer-events: none;
  font-family: var(--serif); font-style: italic; font-weight: 500; line-height: 1; letter-spacing: -.04em;
  font-size: clamp(5rem, 13vw, 11rem); color: var(--oxblood); text-shadow: 0 0 40px var(--plaster);
}
.g-chapter--dark .g-cover__num { color: var(--gilt-light); text-shadow: 0 0 40px var(--night); }
@media (max-width: 61.99em) { .g-cover__num { right: .6rem; bottom: -.25em; } }

.g-copy h2 { margin: 0; font-weight: 500; font-size: clamp(2.8rem, 6.4vw, 5.8rem); line-height: .95; letter-spacing: -.025em; text-wrap: balance; }
.g-sub { margin: 1.25rem 0 0; font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(1.4rem, 2.2vw, 1.9rem); line-height: 1.2; color: var(--oxblood); }
.g-chapter--dark .g-sub { color: var(--gilt-light); }
.g-desc { margin: 1.5rem 0 0; max-width: 46ch; font-size: 1.05rem; color: var(--ink-soft); }
.g-chapter--dark .g-desc { color: var(--on-night-2); }

.g-thumbs { list-style: none; margin: clamp(2rem, 4vw, 3rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; max-width: 30rem; }
.g-thumbs a { display: block; overflow: hidden; aspect-ratio: 1; background: var(--plaster-2); }
.g-chapter--dark .g-thumbs a { background: var(--night-2); }
.g-thumbs picture, .g-thumbs img { display: block; width: 100%; height: 100%; }
.g-thumbs img { object-fit: cover; transition: transform .8s var(--ease-out); }
.g-thumbs a:hover img, .g-thumbs a:focus-visible img { transform: scale(1.08); }

.g-enter {
  display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 1.25rem; margin-top: clamp(2rem, 4vw, 3rem); max-width: 30rem;
  padding: 1.15rem 0; border-block: 1px solid currentColor; color: var(--oxblood); text-decoration: none; font-weight: 700;
  transition: color .3s var(--ease), padding .4s var(--ease-out);
}
.g-chapter--dark .g-enter { color: var(--gilt-light); }
.g-enter__count { font: 700 .72rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; opacity: .85; }
.g-enter svg { transition: transform .4s var(--ease-out); }
.g-enter:hover { padding-inline: .6rem; }
.g-enter:hover svg { transform: translateX(6px); }

/* ============================ CONTACT ============================ */
.g-end { background: var(--oxblood-d); color: var(--on-night); padding-block: clamp(4rem, 9vw, 7rem); }
.g-end__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2rem 3rem; }
.g-end h2 { margin: 0; font-weight: 500; color: var(--on-night); font-size: clamp(2.4rem, 6vw, 5rem); line-height: 1; letter-spacing: -.02em; }

/* ============================ PAGE D'UNE GALERIE ============================ */
.g-intro--gallery { padding-top: clamp(3rem, 6vw, 5rem); }
.g-back {
  display: inline-flex; align-items: center; gap: .6rem; margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
  color: var(--on-night-2); text-decoration: none; font: 700 .78rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase;
  transition: color .3s var(--ease), gap .3s var(--ease-out);
}
.g-back:hover, .g-back:focus-visible { color: var(--gilt-light); gap: .9rem; }
.g-back-btn { margin-top: 2rem; }

.g-title--sub { font-size: clamp(3.6rem, 13vw, 11.5rem); line-height: .92; text-wrap: balance; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
.g-intro__foot--gallery { align-items: start; }
.g-intro--gallery .g-intro__lead { max-width: 20ch; color: var(--gilt-light); font-style: italic; }
.g-meta { display: grid; gap: 1.5rem; justify-items: start; }
.g-meta__text { margin: 0; max-width: 52ch; color: var(--on-night-2); font-size: 1.1rem; }
.g-meta__count { margin: 0; font: 700 .75rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gilt-light); }

.g-works { padding-block: clamp(3.5rem, 8vw, 7rem); }
.g-empty { margin: 0; font-family: var(--serif); font-size: 1.6rem; color: var(--ink-soft); }

/* Galerie suivante */
.g-next { background: var(--night); }
.g-next__link { position: relative; display: block; isolation: isolate; overflow: hidden; color: var(--on-night); text-decoration: none; padding-block: clamp(5rem, 13vw, 11rem); }
.g-next__bg { position: absolute; inset: 0; z-index: -1; }
.g-next__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,18,15,.92), rgba(23,18,15,.55)); }
.g-next__bg picture, .g-next__bg img { display: block; width: 100%; height: 100%; object-fit: cover; transition: scale 1.4s var(--ease-out); }
.g-next__link:hover .g-next__bg img, .g-next__link:focus-visible .g-next__bg img { scale: 1.06; }
.g-next__inner { display: grid; gap: 1rem; }
.g-next__title { font-family: var(--serif); font-weight: 500; font-size: clamp(3rem, 9vw, 8rem); line-height: .95; letter-spacing: -.025em; max-width: 14ch; text-wrap: balance; }
.g-next__arrow { color: var(--gilt-light); transition: transform .5s var(--ease-out); width: fit-content; }
.g-next__link:hover .g-next__arrow, .g-next__link:focus-visible .g-next__arrow { transform: translateX(14px); }
.g-next__link:focus-visible { outline-offset: -6px; }
@media (prefers-reduced-motion: reduce) { .g-next__bg img, .g-next__arrow { transition: none; } }