/* Águas 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;
}

/* Sound Atlas delivery affordance. */
.sound-card { position: relative; padding-top: 72px; }
.sound-play { position:absolute; top:24px; left:24px; width:36px; height:36px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; font-size:.75rem; line-height:1; }

/* In-site audiovisual playback. */
.film-video-trigger { width:100%; padding:0; border:0; background:transparent; color:inherit; text-align:left; font:inherit; cursor:pointer; }
.film-video-trigger .control { pointer-events:none; }
.video-modal { width:min(1120px,calc(100% - 32px)); max-width:none; padding:0; border:0; background:var(--paper); color:var(--ink); }
.video-modal::backdrop { background:#171717b8; }
.video-modal-shell { padding:20px; }
.video-modal-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.video-modal-head .eyebrow { margin:0; }
.video-modal-close { width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:var(--paper); font-size:1.5rem; line-height:1; }
.video-modal-frame { aspect-ratio:16/9; background:#000; }
.video-modal-frame iframe { display:block; width:100%; height:100%; border:0; }
.gallery-credit,.project-credit { margin-top:8px; }
@media (max-width:767px) { .video-modal { width:100%; max-height:100dvh; margin:0; } .video-modal-shell { padding:16px; } }
