/* Páginas de serviço e informação: extensão da identidade visual da Proposta A. */
.detail-hero { padding: 54px 0 64px; background: var(--cream); border-bottom: 1px solid var(--line); }
.detail-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: 64px; align-items: center; }
.detail-hero-grid-single { grid-template-columns: minmax(0,880px); }
.detail-back { display: inline-block; min-height: 44px; margin-bottom: 22px; color: var(--ink-soft); font-size: 13px; }
.detail-back:hover { text-decoration: underline; }
.detail-hero h1 { font-size: clamp(40px,4.5vw,62px); line-height: 1.07; letter-spacing: -.035em; margin-bottom: 24px; max-width: 800px; }
.detail-lead { font-size: 18px; color: var(--ink-soft); max-width: 690px; margin-bottom: 20px; }
.detail-context { font-size: 13px; color: var(--forest); margin-bottom: 26px; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.detail-actions .button { max-width: 100%; }
.detail-hero-image { min-width: 0; }
.detail-hero-image img { width: 100%; height: 400px; object-fit: cover; border-radius: var(--radius); }
.detail-copy-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 80px; }
.detail-prose { color: var(--ink-soft); max-width: 690px; }
.detail-prose p:last-child { margin-bottom: 0; }
.detail-prose h3 { font-size: 23px; line-height: 1.25; color: var(--forest); margin: 32px 0 14px; }
.detail-prose h3:first-child { margin-top: 0; }
.detail-prose a:not(.arrow-link), .detail-readable a { color: var(--forest); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.detail-prose .arrow-link { margin-top: 15px; color: var(--forest); }
.detail-registration { font-size: 13px; color: var(--ink-soft); }
.detail-tint { background: #f1eee6; border-block: 1px solid var(--line); }
.detail-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--line); margin-top: 30px; }
.detail-card { padding: 28px; border-right: 1px solid var(--line); min-width: 0; }
.detail-card:first-child { padding-left: 0; }
.detail-card:last-child { padding-right: 0; border-right: 0; }
.detail-card h3 { font-size: 25px; line-height: 1.2; margin: 20px 0 14px; }
.detail-card p { font-size: 16px; color: var(--ink-soft); margin-bottom: 0; }
.detail-note { font-size: 14px; color: var(--ink-soft); margin-top: 24px; }
.detail-contact { background: var(--sage); border-top: 1px solid var(--line); }
.detail-contact-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 60px; align-items: center; }
.detail-contact p { color: var(--ink-soft); max-width: 690px; }
.detail-contact-address { font-size: 14px; margin: 20px 0 0; }
.detail-in-page { background: var(--paper); border-bottom: 1px solid var(--line); }
.detail-in-page > div { display: flex; gap: 32px; flex-wrap: wrap; padding-block: 15px; }
.detail-in-page a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.detail-disclaimer { background: var(--cream); padding: 24px 0; color: var(--ink-soft); font-size: 14px; }
.detail-disclaimer p { margin: 0; max-width: 900px; }
.detail-readable { max-width: 850px; }
.detail-readable h2 { font-size: 32px; line-height: 1.2; margin-top: 52px; }
.detail-readable h2:first-child { margin-top: 0; }
.detail-readable h3 { font-size: 23px; line-height: 1.25; margin: 28px 0 13px; }
.detail-readable p { color: var(--ink-soft); }
.detail-page .exam-group h3 { font-size: 14px; line-height: 1.5; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 16px; }
@media (max-width: 1120px) { .detail-hero-grid { gap: 36px; } .detail-copy-grid { gap: 45px; } .detail-contact-grid { grid-template-columns: minmax(0,1fr); gap: 25px; } }
@media (max-width: 760px) {
 .detail-hero { padding: 30px 0 40px; }
 .detail-hero-grid, .detail-copy-grid { grid-template-columns: minmax(0,1fr); gap: 30px; }
 .detail-hero h1 { font-size: clamp(35px,9vw,48px); }
 .detail-hero-image img { height: 300px; }
 .detail-card-grid { grid-template-columns: minmax(0,1fr); }
 .detail-card, .detail-card:first-child, .detail-card:last-child { border-right: 0; border-bottom: 1px solid var(--line); padding: 24px 0; }
 .detail-card:last-child { border-bottom: 0; }
 .detail-in-page > div { gap: 4px 22px; }
 .detail-actions { align-items: stretch; }
 .detail-actions .button { flex: 1 1 220px; }
 .detail-readable h2 { font-size: 28px; }
}
