/* ===== La Maison — long-form editorial additions ===== */
.pg-maison-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  background: var(--ink);
}
.pg-maison-hero::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(13,13,15,0.9) 0%, rgba(13,13,15,0.45) 45%, rgba(13,13,15,0.65) 100%);
  z-index: 1;
}
.pg-maison-hero-inner {
  position: relative; z-index: 2;
  max-width: 900px;
  padding: 0 32px;
}
.pg-maison-hero .pg-eyebrow { justify-content: center; }
.pg-maison-hero h1 {
  font: 400 clamp(3.2rem, 8vw, 7rem)/0.98 var(--serif);
  letter-spacing: -0.025em;
  color: var(--cream);
  margin: 16px 0 20px;
}
.pg-maison-hero p { font: 400 italic 19px/1.6 var(--serif); color: rgba(250,250,250,0.6); }
.pg-maison-hero .pg-hero-dots { bottom: 36px; }
.pg-maison-hero .pg-hero-media img { filter: brightness(0.72) grayscale(0.15); object-position: center center; }

.pg-chapter { background-image: var(--tex-light); padding: 130px 0; }
.pg-chapter-inner { max-width: 720px; margin: 0 auto; text-align: center; }
.pg-chapter-num { font: 500 11px/1 var(--sans); color: var(--muted); letter-spacing: 0.16em; text-transform: uppercase; }
.pg-chapter h2 { font: 400 clamp(2rem, 3.4vw, 3rem)/1.1 var(--serif); letter-spacing: -0.02em; margin: 20px 0 26px; }
.pg-chapter p { font: 400 17px/1.8 var(--sans); color: var(--body); }

.pg-quote-block {
  background-image: var(--tex-dark);
  padding: 140px 0;
  text-align: center;
  position: relative;
}
.pg-quote-block .mark { font: 400 110px/1 var(--serif); color: rgba(250,250,250,0.14); display: block; margin-bottom: -30px; animation: pg-mark-float 7s ease-in-out infinite; }
.pg-quote-block p { font: 400 clamp(1.8rem, 3.4vw, 3rem)/1.22 var(--serif); letter-spacing: -0.02em; color: var(--cream); max-width: 820px; margin: 0 auto; }

.pg-duo-chapter { background-image: var(--tex-light-soft); padding: 130px 0; }
.pg-duo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; }
.pg-duo-grid .col h2 { font: 400 clamp(1.5rem, 2.4vw, 2.1rem)/1.15 var(--serif); letter-spacing: -0.015em; margin: 0 0 18px; }
.pg-duo-grid .col p { font: 400 16px/1.8 var(--sans); color: var(--body); }

/* ---------- Collections grid ---------- */
.pg-collections { background-image: var(--tex-light-soft); padding: 150px 0; }
.pg-collections-head { max-width: 620px; margin: 0 auto 64px; text-align: center; }
.pg-collections-head .pg-eyebrow { justify-content: center; }
.pg-collections-head .pg-split-heading { color: var(--cream); }
.pg-collections-head .pg-split-body { color: var(--body); max-width: 100%; margin: 0 auto; }

.pg-collections-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.pg-collection-card { display: block; color: inherit; text-decoration: none; }
.pg-collection-media {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 0;
  overflow: hidden;
  margin: 0 0 18px;
}
.pg-collection-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.pg-collection-card:hover .pg-collection-media img { transform: scale(1.04); }
.pg-collection-num { font: 500 10.5px/1 var(--sans); color: var(--muted); letter-spacing: 0.14em; margin: 0 0 8px; }
.pg-collection-name { font: 400 22px/1.1 var(--serif); letter-spacing: -0.01em; color: var(--cream); margin: 0 0 8px; }
.pg-collection-tag { font: 400 13px/1.5 var(--sans); color: var(--muted); margin: 0; }

@media (max-width: 1080px) {
  .pg-collections-grid { grid-template-columns: repeat(3, 1fr); gap: 30px 20px; }
}
@media (max-width: 680px) {
  .pg-collections { padding: 90px 0; }
  .pg-collections-grid { grid-template-columns: repeat(2, 1fr); gap: 34px 16px; }
  .pg-collection-name { font-size: 17px; }
}

@media (max-width: 780px) {
  .pg-duo-grid { grid-template-columns: 1fr; gap: 40px; }
  .pg-chapter, .pg-duo-chapter { padding: 80px 0; }
  .pg-quote-block { padding: 80px 0; }
}
