/* Melhoria progressiva e acessibilidade; sem substituir a identidade aprovada. */
.seo-skip-link, .skip-link { position:fixed; top:8px; left:12px; transform:translateY(-160%); z-index:20000; padding:12px 18px; background:#fff; color:#111; border-radius:4px; }
.seo-skip-link:focus, .skip-link:focus { transform:none; }
.faq-answer a, .seo-related a { color:#82dcd3; text-underline-offset:4px; }
.faq-item.open .faq-answer { max-height:1200px; }
/* Conteúdo visível por padrão, mesmo se o controlador de animação falhar. */
html .reveal { opacity:1; transform:none; }
html:not(.seo-ready) .faq-answer, html:not(.seo-ready) .srow-desc { max-height:none; opacity:1; overflow:visible; display:block; }
html:not(.seo-ready) .seg-faq-a { max-height:none; opacity:1; overflow:visible; display:block; }
html .seg-faq-item.open .seg-faq-a { max-height:none; }
html:not(.seo-ready) .srow-desc { padding-bottom:20px; }
html:not(.seo-ready) .tile-body { max-height:none; opacity:1; overflow:visible; }
.seo-related { max-width:1080px; margin:0 auto; padding:40px 24px; border-top:1px solid rgba(255,255,255,.12); }
.seo-related h2 { font-size:clamp(24px,4vw,32px); margin-bottom:14px; }
.seo-related p { max-width:72ch; line-height:1.7; color:rgba(255,255,255,.7); }
.seo-related ul { display:flex; flex-wrap:wrap; gap:12px 28px; list-style:none; padding:18px 0 0; }
.seo-related a { display:inline-block; padding:6px 0; }
.seo-breadcrumb { max-width:1280px; margin:0 auto; padding:100px 24px 0; font-size:13px; }
.seo-breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px 16px; list-style:none; padding:0; }
.seo-breadcrumb li + li::before { content:'›'; margin-right:16px; color:#5bbfb5; }
.seo-breadcrumb a { color:#82dcd3; text-underline-offset:4px; }
.post-header .seo-breadcrumb, .blog-hero-inner .seo-breadcrumb, .hub-hero-inner .seo-breadcrumb, .lp-hero-inner .seo-breadcrumb { padding:0; margin:0 0 20px; }
.seo-context { max-width:1080px; margin:0 auto; padding:36px 24px; }
.seo-context h2 { font-size:clamp(24px,4vw,32px); margin-bottom:14px; }
.seo-context p { color:rgba(255,255,255,.7); max-width:74ch; line-height:1.7; }
@media (prefers-reduced-motion:reduce) { .reveal { opacity:1!important; transform:none!important; } }
@media (max-width:600px) {
  .footer-top > * { min-width:0; }
  .footer-menu-grid { display:grid!important; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .footer-menu-grid ul { min-width:0!important; }
  .footer-menu-grid a, .contact-card a { overflow-wrap:anywhere; }
}

/* Materiais de decisão: leitura e tabelas no mesmo visual do blog. */
.commercial-material .post-content a { color: var(--accent, #5bbfb5); text-decoration: underline; text-underline-offset: .18em; overflow-wrap: anywhere; }
.commercial-material .post-info a { color: #82dcd3; text-underline-offset: .18em; }
.commercial-material .post-content table { border-collapse: collapse; table-layout: fixed; width: 100%; margin: 28px 0; }
.commercial-material .post-content th, .commercial-material .post-content td { border: 1px solid #3c4543; padding: 12px; text-align: left; vertical-align: top; overflow-wrap: anywhere; line-height: 1.65; }
.commercial-material .post-content th { color: #fff; background: #151a19; }
.commercial-material .post-content td { color: #d2d9d7; }
.commercial-material .post-content .cta-btn, .commercial-material .post-content .btn-primary { color: #0a0a0a; text-decoration: none; white-space: normal; text-align: center; max-width: 100%; }
.commercial-material .post-content nav ul { padding-left: 22px; }
.commercial-material .post-content :is(h2,h3,section) { scroll-margin-top: 100px; }

/* Capas editoriais: dimensões reservadas e crédito sem alterar os posts legados. */
.commercial-material figure.material-cover { margin: 0 0 40px; max-width: 100%; }
.commercial-material .material-cover picture { display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--border, #303735); border-radius: var(--radius, 12px); background: #151a19; }
.commercial-material .material-cover img.post-featured-img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; margin: 0; border: 0; border-radius: 0; }
.commercial-material .material-cover figcaption { margin-top: 10px; color: #b9c5c1; font-size: 12px; line-height: 1.65; text-align: left; overflow-wrap: anywhere; }
.commercial-material .material-cover figcaption a { color: #82dcd3; text-decoration: underline; text-underline-offset: .18em; }

/* A foto permanece colorida; o contraste fica restrito às áreas dos rótulos. */
.post-cover.has-editorial-image { isolation: isolate; filter: none; background: #151a19; }
.post-card:hover .post-cover.has-editorial-image { filter: none; }
.post-cover.has-editorial-image picture { position: absolute; inset: 0; display: block; z-index: 0; }
.post-cover.has-editorial-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.post-cover.has-editorial-image::after { z-index: 1; background: linear-gradient(to top, rgba(10,10,10,.58), transparent 43%), radial-gradient(ellipse at top right, rgba(10,10,10,.3), transparent 48%); }
.post-cover.has-editorial-image .post-cover-num { z-index: 2; font-size: clamp(48px, 5vw, 76px); line-height: 1; opacity: .85; color: #82dcd3; -webkit-text-stroke: 0; text-shadow: 0 2px 12px rgba(0,0,0,.85); }
.post-cover.has-editorial-image .post-category { z-index: 2; }
@media(max-width:600px) {
  .commercial-material .post-content th, .commercial-material .post-content td { padding: 8px; font-size: 13px; }
  .commercial-material .post-content .cta-btn, .commercial-material .post-content .btn-primary { padding: 14px 18px; line-height: 1.5; }
  .commercial-material figure.material-cover { margin-bottom: 28px; }
}

/* Leitura do blog e das páginas de segmento: fundo claro e contraste explícito. */
body:has(.blog-hero) main, body:has(.post-main) main, body:has(.lp-hero) main { background:#f6f8f6; color:#172621; }
body:has(.blog-hero) .blog-hero, body:has(.lp-hero) .lp-hero { background:#eaf2ee; border-color:#c8d9d1; }
body:has(.blog-hero) .blog-hero h1, body:has(.lp-hero) .lp-headline, body:has(.post-main) .post-header h1 { color:#14251f; }
body:has(.blog-hero) .blog-hero p, body:has(.lp-hero) .lp-sub, body:has(.lp-hero) .lp-trust-label, body:has(.lp-hero) .lp-back, body:has(.post-main) .post-info, body:has(.post-main) .post-inline-caption { color:#40584d; }
body:has(.blog-hero) .blog-hero p a, body:has(.blog-hero) .seo-breadcrumb a, body:has(.post-main) .seo-breadcrumb a, body:has(.lp-hero) .seo-breadcrumb a, body:has(.lp-hero) .lp-back { color:#075f51; text-decoration:underline; text-underline-offset:3px; }
body:has(.blog-hero) .blog-filters { background:rgba(246,248,246,.97); border-color:#c9d7cf; }
body:has(.blog-hero) .filter-btn { color:#25463c; border-color:#819b8c; background:#fff; }
body:has(.blog-hero) .filter-btn.active { color:#fff; background:#075f51; border-color:#075f51; }
body:has(.blog-hero) .post-card, body:has(.blog-hero) .post-card:hover { background:#fff; border-color:#cbdad2; box-shadow:0 8px 22px rgba(25,57,42,.08); }
body:has(.blog-hero) .post-title, body:has(.blog-hero) .post-card:hover .post-title { color:#172b23; }
body:has(.blog-hero) .post-excerpt, body:has(.blog-hero) .post-date, body:has(.blog-hero) .post-read { color:#41584e; }
body:has(.blog-hero) .post-link { color:#075f51; }
body:has(.blog-hero) .post-meta-dot { background:#526b5e; }
body:has(.blog-hero) .seo-related, body:has(.lp-hero) .seo-related { border-color:#c9d7cf; }
body:has(.blog-hero) .seo-related h2, body:has(.lp-hero) .seo-related h2 { color:#172b23; }
body:has(.blog-hero) .seo-related p, body:has(.lp-hero) .seo-related p { color:#40584d; }
body:has(.blog-hero) .seo-related a, body:has(.lp-hero) .seo-related a { color:#075f51; }
body:has(.lp-hero) .lp-trust-num, body:has(.lp-hero) .lp-section h2, body:has(.lp-hero) .lp-cta-band h2 { color:#172b23; }
body:has(.lp-hero) .lp-setor, body:has(.lp-hero) .lp-label, body:has(.lp-hero) .lp-step-num, body:has(.lp-hero) .lp-hero-card h3 { color:#075f51; }
body:has(.lp-hero) .lp-hero-card, body:has(.lp-hero) .lp-hero-card:hover, body:has(.lp-hero) .lp-step, body:has(.lp-hero) .lp-step:hover { background:#fff; border-color:#cbdad2; box-shadow:0 8px 22px rgba(25,57,42,.08); }
body:has(.lp-hero) .lp-dores li, body:has(.lp-hero) .lp-step-text, body:has(.lp-hero) .lp-cta-band p { color:#354d41; }
body:has(.lp-hero) .lp-section { background:#fff !important; border-color:#cbdad2; }
body:has(.lp-hero) .lp-cta-band { background:#eaf2ee; border-color:#cbdad2; }
body:has(.post-main) .post-content p, body:has(.post-main) .post-content li, body:has(.post-main) .post-content blockquote { color:#293f34; }
body:has(.post-main) .post-content h2, body:has(.post-main) .post-content h3, body:has(.post-main) .post-content strong { color:#142b20; }
body:has(.post-main) .post-content a, body:has(.post-main) .post-info a, body:has(.post-main) .back-link, body:has(.post-main) .post-nav a { color:#075f51; text-decoration:underline; text-underline-offset:3px; }
body:has(.post-main) .post-cta-box, body:has(.post-main) .post-cta-box:hover, body:has(.post-main) .post-content blockquote, body:has(.post-main) .post-content blockquote:hover { background:#eaf2ee; border-color:#a8c3b4; }
body:has(.post-main) .post-content .cta-btn, body:has(.post-main) .post-content .btn-primary { color:#fff; background:#075f51; text-decoration:none; }
body:has(.post-main) .material-cover figcaption { color:#40584d; }
body:has(.post-main) .material-cover figcaption a { color:#075f51; }
body:has(.lp-hero) .lp-headline span { color:#075f51 !important; }
body:has(.post-main) .seo-related { border-color:#c9d7cf; }
body:has(.post-main) .seo-related h2 { color:#172b23; }
body:has(.post-main) .seo-related p { color:#40584d; }
body:has(.post-main) .seo-related a { color:#075f51; }
body:has(.lp-hero) .lp-case-card, body:has(.lp-hero) .lp-case-card:hover { background:#f2f7f4; border-color:#b6cabe; }
body:has(.lp-hero) .lp-case-title, body:has(.lp-hero) .lp-case-result { color:#142b20; }
body:has(.lp-hero) .lp-case-desc, body:has(.lp-hero) .lp-case-result-label { color:#40584d; }
body:has(.lp-hero) .lp-case-card a { color:#075f51 !important; text-decoration:underline !important; }
/* Tabelas e paginação mantêm legibilidade sobre o fundo claro. */
body:has(.post-main) .commercial-material .post-content td, body.commercial-material .post-content td { background:#fff; color:#293f34; border-color:#9bb9a8; }
body.commercial-material .post-content th { background:#d7e9df; color:#142b20; border-color:#9bb9a8; }
body:has(.blog-hero) .page-btn { background:#fff; color:#25463c; border-color:#819b8c; }
body:has(.blog-hero) .page-btn.active, body:has(.blog-hero) .page-btn:hover { background:#075f51; color:#fff; border-color:#075f51; }
