/* Água de Dentro extends the Renata portfolio template without changing its visual language. */
.project-hero-media { grid-column: 1 / -1; margin: 0; }
.project-hero-media img { display:block; width:100%; height:auto; }
.project-subheading { margin-block: 40px 24px; }
.project-subheading h3 { font-size: 1.5rem; line-height: 2rem; margin-bottom: 8px; }
.project-note { max-width: 64ch; color: var(--muted); }
.field-gallery + .project-note { margin-top: 32px; }
.process-strip { grid-column: 1 / -1; }
.process-step { grid-column: span 4; }
.process-step img { width:100%; height:auto; display:block; }
.process-step .caption { margin-top:16px; }
.route-card { grid-column: 1 / -1; }
.route-card img { width:100%; height:auto; display:block; margin-bottom:16px; }
.route-card .meta { max-width: 54ch; }
.atlas-card { grid-column: span 4; }
.atlas-card img { display:block; width:100%; height:auto; }
.swatches { display:flex; gap:6px; margin-block:16px 8px; }
.swatch { width:36px; height:36px; flex:0 0 36px; border:1px solid var(--line); }
.swatch-labels { display:flex; gap:6px; color:var(--muted); font-size:.6875rem; line-height:1rem; }
.swatch-labels span { width:36px; flex:0 0 36px; overflow:hidden; }
.sound-card { grid-column: 1 / -1; padding:24px; background:var(--support); }
.sound-card p:last-child { margin-bottom:0; }
.future-grid { list-style:none; padding:0; margin:0; row-gap:24px; }
.future-grid li { grid-column: span 2; padding:24px; min-height:128px; background:var(--support); }
.source-list { margin:0; padding-left:1.25rem; max-width:72ch; }
.source-list li { margin-bottom:12px; }
.project-team { row-gap:24px; }
.project-team article { grid-column: 1 / -1; background:var(--support); padding:24px; }
@media (min-width:768px) {
  .route-card { grid-column: span 4; }
  .sound-card { grid-column: span 4; }
  .project-team article { grid-column: span 4; }
}
@media (min-width:1024px) {
  .project-hero-media { grid-column: 8 / 13; }
  .project-hero-media img { max-height:680px; object-fit:contain; }
  .hero-copy { grid-column: 1 / 8; }
}
@media (max-width:767px) {
  .process-step, .atlas-card, .future-grid li { grid-column: 1 / -1; }
  .swatch { width:34px; height:34px; flex-basis:34px; }
  .swatch-labels span { width:34px; flex-basis:34px; }
}

/* Film proposal: highlighted concept + small references to previous audiovisual work. */
.film-lead { max-width: 34ch; margin: 0 0 48px; font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: 1.12; letter-spacing: -.025em; }
.film-reference-heading { margin-top: 0; }
.film-references { row-gap: 32px; }
.film-reference { grid-column: 1 / -1; }
.film-reference a { display: block; color: inherit; text-decoration: none; }
.film-reference img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin-bottom: 16px; }
.film-reference h3 { margin: 4px 0 12px; font-size: 1rem; line-height: 1.35rem; }
.team-avatar { display: block; width: 96px; height: 96px; object-fit: cover; border-radius: 50%; margin-bottom: 24px; }
@media (min-width:768px) {
  .film-reference { grid-column: span 4; }
}
@media (min-width:1024px) {
  .film-reference { grid-column: span 4; }
}
/* Stable compact media presentation; prevents gallery primitives or stale sizing from expanding these assets. */
.film-references { max-width: 960px; }
.film-reference { align-self: start; overflow: hidden; }
.film-reference > a { width: 100%; }
.film-reference > a > img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  margin: 0 0 12px !important;
}
.project-team article.team-person > img.team-avatar {
  display: block !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 64px !important;
  min-height: 64px !important;
  max-height: 64px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  margin: 0 0 16px !important;
}
