/* Refinamento da composição existente, com a identidade já escolhida. */
:root { --edge: max(clamp(22px,4vw,70px), calc((100vw - 1440px)/2)); }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.opening-copy, .voice-copy, .council > div:first-child, .services-content > p { max-width: 65ch; }

/* Áreas mais compactas, preservando o espaço para a fotografia. */
.area-list { align-content:center; grid-auto-rows:min-content; }
.area-list details { min-height:0; padding:clamp(18px,2vw,25px); }
.area-list details p { max-width:33ch; line-height:1.55; }
.areas-contents figure { min-height:360px; }

/* Serviços: coluna de leitura mais confortável e separação mais clara. */
.service-list { margin-top:28px; }
.service-list article { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(18px,2.1vw,32px); padding:22px 0; }
.service-list h3 { line-height:1.12; }
.service-list p, .team-grid p { font-size:16px; line-height:1.62; }
.services-content > p { line-height:1.65; }
.services > figure { top:32px; }

/* Pessoas reais com espaço para os retratos e para as biografias. */
.team-grid { align-items:start; }
.team-grid article { grid-template-columns:minmax(0,.82fr) minmax(0,1fr); gap:clamp(18px,2vw,28px); }
.team-grid img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.team-grid article span { font-size:12px; letter-spacing:.04em; }
.team-grid h3 { font-size:clamp(29px,2.6vw,38px); line-height:1.06; }

/* Valores fazem uma pausa editorial, com a pergunta e a resposta em destaque. */
.values-grid { align-items:center; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:clamp(32px,7vw,110px); }
.values-grid .values-question { font-size:clamp(19px,1.7vw,24px); line-height:1.35; margin:0 0 18px; }
.values-grid > div:first-child > p:last-child { line-height:1.65; max-width:52ch; }
.value-words { position:relative; isolation:isolate; overflow:hidden; gap:0 26px; padding:clamp(28px,4vw,58px); background:#293a26; color:#faf5ec; border-radius:100px 18px 100px 18px; }
.value-words::before { content:''; position:absolute; width:240px; height:240px; right:-125px; top:-110px; border:1px solid #9db098; border-radius:50%; z-index:-1; }
.value-words::after { content:''; position:absolute; width:13px; height:13px; right:62px; top:33px; background:#bbcbb1; border-radius:50%; }
.value-words span { padding:18px 0; border-bottom:1px solid #7c8f75; font-size:clamp(25px,2.6vw,38px); }
.result-note { max-width:none; width:100%; margin-left:0; margin-right:0; }

/* Estados de ação reconhecíveis para mouse, toque e teclado. */
a.button, a.nav-cta, .menu-toggle, .area-list summary, .faq-list summary { transition:background-color .22s ease,color .22s ease,transform .22s ease; }
a.button:active, a.nav-cta:active, .menu-toggle:active { transform:translateY(1px); }
@media(hover:hover) {
 a.button:hover, a.nav-cta:hover { background-color:#40563a; color:#fff; }
 .final-invitation .button:hover { background-color:#cfddc8; color:#192718; }
 .nav nav a:not(.nav-cta):hover, .under-link:hover, .hero-about a:hover, .footer-navigation a:hover { text-decoration:underline; text-underline-offset:.22em; }
 .area-list details:not([open]):hover { background:#cdddc6; }
 .faq-list summary:hover { color:#496444; }
}
a:focus-visible, summary:focus-visible, button:focus-visible { outline:3px solid #526c4d; outline-offset:4px; }
.process a:focus-visible, .final a:focus-visible { outline-color:#e9d0bb; }

@media(max-width:900px) and (min-width:761px) {
 .team-grid article { grid-template-columns:1fr; }
 .team-grid img { aspect-ratio:4/3; max-height:360px; }
}
@media(max-width:760px) {
 .areas-contents figure { min-height:0; }
 .area-list { grid-auto-rows:auto; }
 .area-list details { padding:17px; }
 .service-list article { grid-template-columns:1fr; gap:9px; padding:20px 0; }
 .service-list p, .team-grid p { font-size:16px; }
 .team-grid article { grid-template-columns:minmax(115px,.75fr) minmax(0,1fr); }
 .values-grid { grid-template-columns:1fr; gap:27px; }
 .value-words { border-radius:70px 14px 70px 14px; padding:28px 28px 30px; gap:0 18px; }
 .value-words span { font-size:clamp(22px,6vw,31px); padding:14px 0; }
 .value-words::after { top:24px; right:45px; }
}
@media(max-width:400px) { .team-grid article { grid-template-columns:1fr; } .team-grid img { aspect-ratio:4/3; height:300px; } }
@media(prefers-reduced-motion:reduce) { a.button, a.nav-cta, .menu-toggle, .area-list summary, .faq-list summary { transition:none; } }
@media(max-width:360px) { .value-words { grid-template-columns:1fr; } .value-words span { font-size:25px; } }
@media(min-width:381px) and (max-width:440px) { .value-words { padding-left:22px; padding-right:22px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .value-words span { font-size:21px; } }
@media(min-width:361px) and (max-width:380px) { .value-words { grid-template-columns:1fr; } .value-words span { font-size:25px; } }
