/* Complementos de navegação, acessibilidade e páginas auxiliares. */
img { height: auto; }
.nav-menu a[aria-current="page"] { opacity: 1; color: var(--brand2); }
.footer a:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.footer-grid p a { display: inline; overflow-wrap: anywhere; }
.contact-form .form-help { margin: 0; color: var(--muted); font-size: .86rem; }
.compact-hero { padding: 68px 0; }
.compact-hero .hero-grid { grid-template-columns: 1.1fr .75fr; }
.compact-hero h1 { font-size: clamp(2.4rem, 4.2vw, 4.1rem); }
.portfolio-intro { max-width: 850px; }
.portfolio-grid .service-card { display: flex; flex-direction: column; scroll-margin-top: 96px; }
.portfolio-grid .service-card p { flex: 1; }
.portfolio-grid .service-link { align-self: flex-start; }
.resource-links { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.resource-links a { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.resource-links strong, .resource-links span { display: block; }
.resource-links span { margin-top: 10px; color: var(--muted); font-size: .9rem; }
.map-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.map-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; }
.map-card ul { padding-left: 22px; margin-bottom: 0; }
.map-card li + li { margin-top: 12px; }
.map-card a { color: var(--brand2); text-decoration: underline; text-underline-offset: 3px; }
.error-actions { display:flex; flex-wrap:wrap; gap:14px; }
[id] { scroll-margin-top: 92px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
@media (max-width:900px) { .compact-hero .hero-grid, .map-grid { grid-template-columns:1fr; } .resource-links { grid-template-columns:1fr; } }
