/* 3.2.0 — navegação, portfólio, fachada e leitura em telas pequenas. */
:root { --ac-orange-ink: #fff; }
.btn-secondary,
:is(.ac-rich-hero,.prepurchase-hero,.final-cta-section) .btn-primary,
.ac-service-final .btn-primary { color: var(--ac-orange-ink) !important; }
.btn-secondary:hover,
:is(.ac-rich-hero,.prepurchase-hero,.final-cta-section) .btn-primary:hover,
.ac-service-final .btn-primary:hover { color: var(--ac-orange-ink) !important; }
.menu-item-prepurchase-shortcut > a { box-shadow: none; }

.ac-services-portfolio .section-heading { max-width: 760px; }
.ac-services-portfolio .ac-portfolio-group { scroll-margin-top: calc(var(--header-height) + 24px); }
.ac-portfolio-cards { align-items: stretch; }
.ac-portfolio-card { display: flex; flex-direction: column; min-width: 0; padding: 28px; border-radius: 18px; border-color: var(--line); box-shadow: 0 8px 24px rgba(1,71,37,.04); }
.ac-portfolio-card > svg { flex-shrink: 0; }
.ac-portfolio-card h4 { color: var(--green-950); font-size: clamp(21px,2vw,25px); }
.ac-portfolio-card p { font-size: 16px; line-height: 1.65; }
.ac-portfolio-card .ac-portfolio-link { margin-top: auto; padding-top: 24px; min-height: 44px; font-size: 15px; font-weight: 600; }
.ac-portfolio-alias { height: 0; scroll-margin-top: calc(var(--header-height) + 24px); }
.ac-portfolio-media { margin: -28px -28px 24px; border-radius: 18px 18px 0 0; overflow: hidden; }
.ac-portfolio-media img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; }

.contact-hero .ac-hero-grid { align-items: center; }
.ac-office-card { margin: 0 0 0 auto; width: 100%; max-width: 400px; border-radius: 24px; overflow: hidden; background: #fff; color: var(--green-950); border: 1px solid rgba(255,255,255,.4); box-shadow: 0 18px 48px rgba(0,0,0,.16); }
.ac-office-photo { display: block; }
.ac-office-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; object-position: center 28%; }
.ac-office-card figcaption { padding: 22px 24px; }
.ac-office-card figcaption > strong { display: block; margin-bottom: 8px; font-size: 19px; line-height: 1.3; }
.ac-office-card figcaption p { margin: 0; font-size: 15px; line-height: 1.5; color: #465b4c; }
.ac-office-card .ac-office-route { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 8px; color: var(--green-800); font-weight: 600; }
.ac-office-route svg { width: 18px; height: 18px; }
.contact-section { padding-top: 72px; }
.map-section .map-frame { border: 1px solid var(--line); border-radius: 22px; }
.map-section .privacy-embed-placeholder { min-height: 360px; padding: 36px 24px; }

.stats-section .stat-card > strong > [data-counter],
.stats-section .stat-card .counter-visual { font: inherit; line-height: inherit; color: inherit; }
.stats-section .stat-card > strong { width: 100%; max-width: 100%; }
@media (max-width: 820px) {
    .contact-hero .ac-office-card { margin-inline: auto; }
    .ac-portfolio-card { padding: 24px; }
    .ac-portfolio-media { margin: -24px -24px 22px; }
}
@media (max-width: 767px) {
    .ac-services-portfolio { padding-block: 48px; }
    .ac-portfolio-cards { gap: 16px; grid-template-columns: minmax(0,1fr); }
    .ac-portfolio-group + .ac-portfolio-group { margin-top: 36px; }
    .ac-portfolio-card h4 { font-size: 22px; }
    .ac-portfolio-card p { font-size: 16px; }
    .stats-section .section-heading h2 { font-size: clamp(36px,9.5vw,46px); line-height: 1.12; }
    .stats-section .section-heading p { font-size: 18px; line-height: 1.5; }
    body .stats-section .stats-grid { grid-auto-rows: minmax(164px,auto); gap: 12px !important; }
    .stats-section .stat-card { padding: 22px 10px !important; }
    #numeros .stat-card > strong,
    #numeros .stat-card > strong > [data-counter],
    #numeros .stat-card .counter-visual { font-size: clamp(36px,9.5vw,44px) !important; font-weight: 700; line-height: 1.12; }
    #numeros .stat-card > strong { margin-bottom: 12px; }
    .stats-section .stat-card > span { font-size: clamp(15px,4.1vw,17px); line-height: 1.4; }
    .contact-section { padding-top: 48px; }
    .map-section { padding-bottom: 48px; }
    .map-section .map-frame iframe { height: 360px; min-height: 360px; }
    .map-section .privacy-embed-placeholder { min-height: 320px; padding: 28px 20px; }
    .privacy-embed-actions { flex-direction: column; align-items: stretch; }
    .privacy-embed-actions .btn { width: 100%; text-align: center; white-space: normal; }
    .contact-hero .btn { width: 100%; white-space: normal; text-align: center; }
}
@media (max-width: 440px) {
    .ac-office-card figcaption { padding: 20px; }
    .ac-office-card figcaption > strong { font-size: 18px; }
    .map-section .map-frame iframe { height: 320px; min-height: 320px; }
}

/* Texto branco também no CTA laranja das páginas editoriais. */
.ac-service-final .ac-service-actions .btn-primary,
.ac-service-final .ac-service-actions .btn-primary:hover { color:var(--ac-orange-ink) !important; }

/* Non-color distinction for editorial links; preserve their font and geometry. */
.ac-service-section-link > a { text-decoration: underline; text-underline-offset: .15em; }

/* Exact intrinsic ratio of the existing SVG fallback, reserved before lazy load. */
.site-footer .footer-logo.site-logo-fallback img { height: auto; aspect-ratio: 994 / 726.667; }
