/* Wedding reportages – additive styles using the existing MAT Wedding tokens. */
.reportage-hero h1 em { font-family: var(--font-display); }
.reportage-hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.reportage-chapter + .reportage-chapter { padding-top: 0; }
.reportage-chapter-head { max-width: 640px; margin: 0 auto 2.8rem; text-align: center; }
.reportage-chapter-head .section-title { margin-bottom: .8rem; }
.reportage-chapter-head p { font-size: .9rem; line-height: 1.9; color: #615c55; }
.reportage-grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; grid-auto-flow: row dense; }
.reportage-grid .portfolio-item { margin: 0; }
.reportage-grid .is-wide { grid-column: 1 / -1; }
.reportage-grid img { width: 100%; height: auto; }
.reportage-film { max-width: 1000px; }
.reportage-film-card { width: 100%; }
.reportage-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.reportage-cards-two { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 900px; margin: 0 auto; }
.reportage-card { display: block; color: inherit; }
.reportage-card img { width: 100%; aspect-ratio: 4/5; object-fit: cover; transition: transform .8s var(--ease), filter .5s; }
.reportage-card:hover img { filter: brightness(.9); }
.reportage-card-label { display: block; margin-top: 1rem; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: #856735; }
.reportage-card h3 { font: 400 1.8rem/1.2 var(--font-heading); margin: .35rem 0 .5rem; }
.reportage-card-link { font-size: .78rem; font-weight: 500; border-bottom: 1px solid #b59b73; padding-bottom: .2rem; }
.section-dark .reportage-card-label, .section-dark .reportage-card-link { color: var(--gold-light); }
.portfolio-reportages { margin-top: 4rem; }
.portfolio-reportages .section-header { margin-bottom: 2rem; }
@media (max-width: 768px) {
  .reportage-grid { grid-template-columns: 1fr; gap: .8rem; }
  .reportage-cards, .reportage-cards-two { grid-template-columns: 1fr; gap: 2.2rem; }
  .reportage-card img { aspect-ratio: 4/3; }
  .reportage-hero-actions .btn { width: 100%; justify-content: center; }
}
.reportage-quote figure { max-width: 760px; margin: 0 auto; text-align: center; }
.reportage-quote blockquote { font: italic 400 clamp(1.5rem,2.6vw,2.2rem)/1.45 var(--font-heading); color: var(--text); }
.reportage-quote figcaption { margin-top: 1.4rem; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: #856735; }
.wedding-review-card { max-width: 820px; margin: 0 auto; text-align: center; }
.wedding-review-card .section-tag { justify-content: center; }
.wedding-review-card blockquote { margin: 1.6rem 0 1.4rem; font: italic 400 clamp(1.35rem,2.4vw,2rem)/1.55 var(--font-heading); color: var(--text); }
.wedding-review-card figcaption { font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: #856735; }
.wedding-review-card .text-link { max-width: 420px; margin: 1.8rem auto 0; }
.package-fit { font-size: .78rem; line-height: 1.7; color: #615c55; margin-bottom: .9rem !important; font-style: italic; }
.package-complete .package-fit { color: #c7beb1; }
.wedding-review-card figcaption, .client-review figcaption { font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: #856735; }
.client-reviews { max-width: 1100px; margin: 4rem auto 0; padding-top: 2.5rem; border-top: 1px solid #c9a96e55; }
.client-reviews-label { text-align: center; font-size: .8rem; color: #615c55; margin-bottom: 2rem; }
.client-review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.client-review blockquote { font: italic 400 1.2rem/1.6 var(--font-heading); color: var(--text); margin-bottom: 1rem; }
.client-reviews .text-link { max-width: 420px; margin: 2.2rem auto 0; }
@media (max-width: 768px) { .client-review-grid { grid-template-columns: 1fr; gap: 1.8rem; } }
.hero-slide picture { display: block; width: 100%; height: 100%; }
