/* Section 6 - section#diogo.secao.dono (source CSS lines 84-86, 155, 275-287, 366-378) */

/* Shared utilities not in base.css (global in source; dedupe on assembly) */
.link { position: relative; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.link::after { content: ''; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: currentColor; transform: scaleX(.25); transform-origin: left; transition: transform .45s var(--ease); }
.link:hover::after { transform: scaleX(1); }
.secao { padding: clamp(84px, 11vw, 150px) 0; }

/* Section */
.dono { background: var(--papel); }
.dono .grade { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.dono .foto { border-radius: var(--borda); overflow: hidden; aspect-ratio: 3 / 4; }
.dono .foto img { width: 100%; height: 100%; object-fit: cover; }
.dono .rot { color: var(--rosa); }
.dono h2 { margin: 14px 0 6px; font-weight: 300; font-size: clamp(42px, 5.4vw, 76px); letter-spacing: -.045em; line-height: 1; }
.dono .cargo { margin: 0 0 30px; font-family: var(--serif); font-style: italic; font-size: 24px; color: var(--suave); }
.dono .bio { margin: 0 0 24px; font-size: 17px; color: var(--suave); }
.dono blockquote { margin: 0; padding-left: 22px; border-left: 1px solid var(--rosa); font-size: 18px; line-height: 1.6; }
.dono blockquote + blockquote { margin-top: 20px; }
.dono .fonte { margin: 10px 0 0 23px; font-size: 13px; color: var(--suave); }
.dono .assina { margin-top: 30px; display: flex; gap: 22px; flex-wrap: wrap; align-items: center; }
@media (max-width: 820px) { .dono .grade { grid-template-columns: 1fr; } .dono .foto { aspect-ratio: 4 / 5; } }

/* Reveal on scroll (global in source; dedupe on assembly) */
.rv { opacity: 0; transform: translateY(34px); transition: opacity 1s var(--ease), transform 1s var(--ease); transition-delay: calc(var(--d, 0) * 90ms); }
.rv.visto { opacity: 1; transform: none; }
.rv-img { clip-path: inset(12% 0 0 0); transition: clip-path 1.3s var(--ease); }
.rv-img.visto { clip-path: inset(0 0 0 0); }
@media (prefers-reduced-motion: reduce) {
  .rv { transform: none; }
  .rv-img { clip-path: none; }
}
