/* Base pública do conteúdo editorial, consolidada em /site/assets/. */
/* ==========================================================================
   CSS PRINCIPAL - OLIÓSI CONSULTORIA
   Estilo Premium Moderno (SaaS / Tech Aesthetic)
   ========================================================================== */

/* 1. Variáveis Globais e Reset */
:root {
    --bg-dark: #0b0d13;
    --bg-dark-card: #141824;
    --bg-light: #ffffff;
    --bg-light-alt: #f8fafc;
    
    --primary: #0066ff;
    --primary-hover: #0052cc;
    --primary-glow: rgba(0, 102, 255, 0.15);
    
    --accent: #00e5a3;
    --accent-hover: #00b882;
    --accent-glow: rgba(0, 229, 163, 0.2);
    
    --text-dark: #0f172a;
    --text-dark-muted: #475569;
    --text-light: #f1f5f9;
    --text-light-muted: #94a3b8;
    
    --border-light: #e2e8f0;
    --border-dark: #1e293b;
    
    --font-title: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
    
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --border-radius: 16px;
    --container-width: 1200px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-body);
    background-color: var(--bg-light);
    color: var(--text-dark);
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* 2. Utilitários */
.container {
    width: 100%;
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 24px;
}

/* Botões */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--font-body);
    font-weight: 500;
    padding: 12px 28px;
    border-radius: 50px;
    cursor: pointer;
    text-decoration: none;
    transition: var(--transition);
    border: 2px solid transparent;
    font-size: 0.95rem;
}

.btn-sm {
    padding: 8px 16px;
    font-size: 0.85rem;
}

.btn-primary {
    background-color: var(--primary);
    color: var(--bg-light);
    box-shadow: 0 4px 14px var(--primary-glow);
}

.btn-primary:hover {
    background-color: var(--primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 102, 255, 0.3);
}

.btn-secondary {
    background-color: var(--bg-dark-card);
    color: var(--text-light);
    border: 1px solid var(--border-dark);
}

.btn-secondary:hover {
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--bg-light);
    transform: translateY(-2px);
}

.btn-outline {
    background-color: transparent;
    color: var(--text-dark);
    border-color: var(--border-light);
}

.btn-outline:hover {
    background-color: var(--bg-light-alt);
    border-color: var(--text-dark);
    transform: translateY(-2px);
}

.btn-disabled {
    background-color: var(--border-light);
    color: var(--text-dark-muted);
    cursor: not-allowed;
    pointer-events: none;
}

/* 3. Cabeçalho (Header / Navbar) */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #0b0d13; /* Fundo escuro como totvs.com */
    border-bottom: 1px solid var(--border-dark);
    padding: 14px 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    transition: var(--transition);
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.logo-img {
    height: 38px;
    width: auto;
    display: block;
}

/* Adjust logo size for specific contexts */
.login-header .logo-img {
    height: 60px; /* larger logo on login screen */
}
.sidebar-header .logo-img {
    height: 50px; /* logo size in sidebar */
}

.footer-logo-img {
    height: 48px;
}

.nav {
    display: flex;
    align-items: center;
    gap: 32px;
}

.nav-link {
    font-family: var(--font-body);
    font-weight: 500;
    color: var(--text-light-muted);
    text-decoration: none;
    transition: var(--transition);
    font-size: 0.95rem;
}

.nav-link:hover {
    color: var(--primary);
}

/* 4. Seção Hero */
.hero {
    position: relative;
    background-color: var(--bg-dark);
    color: var(--text-light);
    padding: 160px 0 120px 0; /* Aumentado de 100px para 160px devido ao cabeçalho fixo */
    overflow: hidden;
}

.hero-container {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
    gap: 60px;
    position: relative;
    z-index: 10;
}

.hero-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.hero-tag {
    display: inline-block;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border-dark);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--accent);
    margin-bottom: 24px;
    letter-spacing: 0.5px;
}

.hero-title {
    font-family: var(--font-title);
    font-size: 3.2rem;
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 24px;
    letter-spacing: -1px;
}

.hero-title .highlight {
    color: var(--primary);
    background: linear-gradient(120deg, var(--primary), #4d94ff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-subtitle {
    font-size: 1.15rem;
    color: var(--text-light-muted);
    margin-bottom: 40px;
    max-width: 540px;
    font-weight: 300;
}

.hero-buttons {
    display: flex;
    gap: 16px;
}

.hero-buttons .btn-outline {
    color: var(--text-light);
    border-color: var(--border-dark);
}

.hero-buttons .btn-outline:hover {
    background-color: rgba(255, 255, 255, 0.05);
    border-color: var(--text-light);
}

/* Gráfico / SQL Card na Hero */
.hero-visual {
    display: flex;
    justify-content: center;
    align-items: center;
}

.tech-card {
    width: 100%;
    max-width: 460px;
    background-color: var(--bg-dark-card);
    border: 1px solid var(--border-dark);
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
    overflow: hidden;
}

.tech-card-header {
    background-color: rgba(0, 0, 0, 0.2);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--border-dark);
}

.tech-card-header .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.tech-card-header .dot.red { background-color: #ef4444; }
.tech-card-header .dot.yellow { background-color: #f59e0b; }
.tech-card-header .dot.green { background-color: #10b981; }

.tech-card-title {
    font-family: monospace;
    font-size: 0.75rem;
    color: var(--text-light-muted);
    margin-left: 8px;
}

.tech-card-body {
    padding: 24px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.85rem;
    color: #a78bfa;
}

.tech-card-body pre {
    white-space: pre-wrap;
}

.tech-card-body .keyword { color: #f43f5e; font-weight: bold; }
.tech-card-body .field { color: #38bdf8; }
.tech-card-body .table { color: #fbbf24; }
.tech-card-body .string { color: var(--accent); }
.tech-card-body .comment { color: #64748b; font-style: italic; }

/* Fundos dinâmicos do Hero */
.hero-background-shapes .shape {
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    opacity: 0.08;
    z-index: 1;
}

.shape-1 {
    width: 400px;
    height: 400px;
    background-color: var(--primary);
    top: -50px;
    right: 10%;
}

.shape-2 {
    width: 300px;
    height: 300px;
    background-color: var(--accent);
    bottom: -50px;
    left: 5%;
}

/* 4.5 Seção Sobre Nós */
.about {
    padding: 100px 0;
    background-color: var(--bg-light);
    border-bottom: 1px solid var(--border-light);
}

.about-container {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 60px;
    align-items: start;
}

.about-visual {
    display: flex;
    justify-content: center;
    position: sticky;
    top: 130px;
}

.stats-card {
    background: linear-gradient(135deg, var(--bg-dark-card), #1e2536);
    border: 1px solid var(--border-dark);
    border-radius: var(--border-radius);
    padding: 40px 30px;
    width: 100%;
    max-width: 380px;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.stat-item {
    padding: 24px 0;
    text-align: center;
}

.stat-item.border-top {
    border-top: 1px solid var(--border-dark);
}

.stat-number {
    font-family: var(--font-title);
    font-size: 2.6rem;
    font-weight: 800;
    color: var(--primary);
    display: block;
    line-height: 1;
    margin-bottom: 8px;
    text-shadow: 0 0 20px var(--primary-glow);
}

.stat-item:nth-child(2) .stat-number {
    color: var(--accent);
    text-shadow: 0 0 20px var(--accent-glow);
}

.stat-label {
    font-family: var(--font-body);
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-light-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.about-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.about-title {
    font-family: var(--font-title);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 24px;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.about-text-lead {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--primary);
    margin-bottom: 20px;
}

.about-text {
    font-size: 0.95rem;
    color: var(--text-dark-muted);
    margin-bottom: 16px;
}

.about-text:last-child {
    margin-bottom: 0;
}

/* 5. Seção de Soluções */
.solutions {
    padding: 100px 0;
    background-color: var(--bg-light-alt);
}

.section-header {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 60px auto;
}

.section-tag {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    display: inline-block;
    margin-bottom: 12px;
}

.section-title {
    font-family: var(--font-title);
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--text-dark);
    letter-spacing: -0.5px;
    margin-bottom: 16px;
}

.section-subtitle {
    font-size: 1rem;
    color: var(--text-dark-muted);
}

.solutions-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.solution-card {
    background-color: var(--bg-light);
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius);
    padding: 40px 30px;
    transition: var(--transition);
    position: relative;
}

.solution-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(15, 23, 42, 0.05);
    border-color: var(--primary);
}

.solution-icon-wrapper {
    width: 60px;
    height: 60px;
    background-color: var(--primary-glow);
    color: var(--primary);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 24px;
}

.solution-card:nth-child(even) .solution-icon-wrapper {
    background-color: var(--accent-glow);
    color: var(--accent-hover);
}

.solution-card-title {
    font-family: var(--font-title);
    font-size: 1.35rem;
    font-weight: 600;
    margin-bottom: 16px;
    color: var(--text-dark);
}

.solution-card-text {
    font-size: 0.95rem;
    color: var(--text-dark-muted);
    font-weight: 400;
}

/* 6. Seção de Chamada para o Portal */
.portal-cta {
    padding: 100px 0;
    background-color: var(--bg-dark);
    color: var(--text-light);
    overflow: hidden;
    position: relative;
}

.portal-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 60px;
}

.portal-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.portal-tag {
    font-size: 0.8rem;
    font-weight: 600;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border-dark);
    padding: 4px 12px;
    border-radius: 50px;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
}

.portal-title {
    font-family: var(--font-title);
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 16px;
}

.portal-text {
    font-size: 1rem;
    color: var(--text-light-muted);
    margin-bottom: 24px;
}

.portal-features {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 32px;
}

.portal-feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.95rem;
    color: var(--text-light);
}

.portal-feature-item i {
    color: var(--accent);
}

/* Mockup da Interface do Portal */
.portal-preview {
    display: flex;
    justify-content: center;
}

.portal-mockup {
    width: 100%;
    max-width: 480px;
    background-color: var(--bg-dark-card);
    border: 1px solid var(--border-dark);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);
}

.mockup-header {
    background-color: rgba(0, 0, 0, 0.15);
    padding: 16px;
    border-bottom: 1px solid var(--border-dark);
}

.mockup-search {
    background-color: rgba(255, 255, 255, 0.05);
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 0.8rem;
    color: var(--text-light-muted);
    display: flex;
    align-items: center;
    gap: 8px;
}

.mockup-body {
    display: grid;
    grid-template-columns: 140px 1fr;
    min-height: 220px;
}

.mockup-sidebar {
    background-color: rgba(0, 0, 0, 0.1);
    border-right: 1px solid var(--border-dark);
    padding: 16px 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mockup-menu-item {
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.75rem;
    color: var(--text-light-muted);
    display: flex;
    align-items: center;
    gap: 8px;
}

.mockup-menu-item.active {
    background-color: var(--primary-glow);
    color: var(--primary);
    font-weight: 500;
}

.mockup-content {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mockup-ticket {
    background-color: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--border-dark);
    border-radius: 8px;
    padding: 12px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.ticket-status {
    font-size: 0.65rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 50px;
    text-transform: uppercase;
}

.ticket-status.open {
    background-color: var(--primary-glow);
    color: var(--primary);
}

.ticket-status.resolved {
    background-color: var(--accent-glow);
    color: var(--accent);
}

.ticket-info h4 {
    font-size: 0.8rem;
    margin-bottom: 2px;
    font-weight: 500;
}

.ticket-info p {
    font-size: 0.7rem;
    color: var(--text-light-muted);
}

/* 7. Rodapé (Footer) */
.footer {
    background-color: #06080d;
    color: var(--text-light);
    padding: 80px 0 0 0;
    border-top: 1px solid var(--border-dark);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.5fr;
    gap: 60px;
    margin-bottom: 60px;
}

.brand-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.logo-light .logo-text {
    color: var(--text-light);
}

.footer-desc {
    font-size: 0.9rem;
    color: var(--text-light-muted);
    margin: 20px 0;
}

.footer-socials {
    display: flex;
    gap: 16px;
}

.footer-socials a {
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--border-dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-light);
    font-size: 1rem;
    text-decoration: none;
    transition: var(--transition);
}

.footer-socials a:hover {
    background-color: var(--primary);
    border-color: var(--primary);
    transform: translateY(-2px);
}

.footer-title {
    font-family: var(--font-title);
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 24px;
    color: var(--text-light);
}

.footer-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-links a {
    font-size: 0.9rem;
    color: var(--text-light-muted);
    text-decoration: none;
    transition: var(--transition);
}

.footer-links a:hover {
    color: var(--primary);
    padding-left: 4px;
}

.footer-contact-info {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-contact-info li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 0.9rem;
    color: var(--text-light-muted);
}

.footer-contact-info li i {
    color: var(--primary);
    margin-top: 4px;
}

.footer-contact-info li a {
    color: var(--text-light-muted);
    text-decoration: none;
    transition: var(--transition);
}

.footer-contact-info li a:hover {
    color: var(--primary);
}

.footer-bottom {
    border-top: 1px solid var(--border-dark);
    padding: 30px 0;
    font-size: 0.8rem;
    color: var(--text-light-muted);
}

.footer-bottom-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 8. Responsividade */

@media (max-width: 992px) {
    .header {
        position: relative;
        padding: 16px 0;
    }
    
    .hero {
        padding: 60px 0 100px 0;
    }

    .hero-container {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 40px;
    }
    
    .hero-content {
        align-items: center;
    }
    
    .hero-subtitle {
        margin-left: auto;
        margin-right: auto;
    }
    
    .hero-buttons {
        justify-content: center;
    }
    
    .about-container {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }

    .about-visual {
        position: static;
    }
    
    .about-content {
        align-items: center;
    }
    
    .solutions-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .portal-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

@media (max-width: 576px) {
    html {
        font-size: 14px;
    }
    
    .header-container {
        flex-direction: column;
        gap: 16px;
    }
    
    .nav {
        gap: 20px;
    }
    
    .hero-title {
        font-size: 2.4rem;
    }
    
    .footer-bottom-container {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
}


/* 9. Conteúdos publicados pela Central Editorial */
.editorial-publications {
    padding: 96px 0;
    background: var(--bg-light-alt);
    border-top: 1px solid var(--border-light);
}
.editorial-publications-header { margin-bottom: 42px; }
.public-content-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
.public-content-card {
    background: var(--bg-light);
    border: 1px solid var(--border-light);
    border-radius: var(--border-radius);
    padding: 28px;
    display: flex;
    flex-direction: column;
    min-height: 310px;
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.05);
    transition: var(--transition);
}
.public-content-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.09);
}
.public-content-meta {
    color: var(--text-dark-muted);
    font-size: .8rem;
    font-weight: 600;
    margin-bottom: 16px;
}
.public-content-card h3 {
    font-family: var(--font-title);
    font-size: 1.35rem;
    line-height: 1.25;
    margin-bottom: 14px;
}
.public-content-card p {
    color: var(--text-dark-muted);
    font-size: .94rem;
    margin-bottom: 24px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.public-content-link {
    margin-top: auto;
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
    display: inline-flex;
    gap: 8px;
    align-items: center;
}
.public-content-loading, .public-content-empty {
    grid-column: 1 / -1;
    color: var(--text-dark-muted);
    text-align: center;
    padding: 32px;
}
@media (max-width: 992px) {
    .public-content-grid { grid-template-columns: 1fr; }
    .public-content-card { min-height: 0; }
}


.editorial-category-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.editorial-category-links a{display:inline-flex;align-items:center;min-height:40px;padding:9px 16px;border:1px solid var(--border-light);border-radius:999px;color:var(--text-dark);background:var(--bg-light);font-weight:600;font-size:.9rem;text-decoration:none;transition:var(--transition)}
.editorial-category-links a:hover{color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}
@media(max-width:640px){.editorial-category-links{justify-content:stretch}.editorial-category-links a{width:100%;justify-content:center}}


/* YouTube público */
.youtube-public-section{padding:84px 0;background:#fff}
.youtube-public-header{max-width:760px;margin-inline:auto;text-align:center}
.youtube-public-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px}
.youtube-public-card{overflow:hidden;background:#fff;border:1px solid var(--border-light);border-radius:12px;box-shadow:var(--shadow-sm)}
.youtube-public-thumb{position:relative;display:block;aspect-ratio:16/9;background:#111827;overflow:hidden}
.youtube-public-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.youtube-public-card:hover .youtube-public-thumb img{transform:scale(1.02)}
.youtube-public-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(11,13,19,.82);color:#fff}
.youtube-public-card-body{padding:15px}
.youtube-public-card h3{font-family:'Outfit',sans-serif;font-size:.98rem;line-height:1.32;color:var(--text-dark);margin:7px 0 12px}
.youtube-public-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
@media(max-width:1050px){.youtube-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .youtube-public-section{padding:58px 0}
  .youtube-public-grid{grid-template-columns:1fr}
  .youtube-public-actions .btn{width:100%;justify-content:center}
}

/* Estilos específicos da Central Editorial pública. */
.article-page{background:#f8fafc}.article-header{background:#0b0d13;border-bottom:1px solid #1e293b;padding:15px 0}.article-header-inner{display:flex;align-items:center;justify-content:space-between}.article-brand img{height:38px;display:block}.article-back{color:#cbd5e1;text-decoration:none;font-size:.9rem}.article-back:hover{color:#fff}.article-shell{padding:72px 0 96px}.article-container{max-width:900px}.article-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:56px;box-shadow:0 18px 50px rgba(15,23,42,.06)}.article-meta{display:flex;gap:16px;flex-wrap:wrap;color:#64748b;font-size:.82rem;font-weight:600;margin-bottom:20px}.article-card h1{font-family:'Outfit',sans-serif;font-size:clamp(2rem,5vw,3.5rem);line-height:1.08;letter-spacing:-.03em;margin-bottom:22px;color:#0f172a}.article-lead{font-size:1.08rem;color:#475569;line-height:1.75;border-bottom:1px solid #e2e8f0;padding-bottom:28px;margin-bottom:30px}.article-body{font-size:1rem;color:#253247;line-height:1.85}.article-body p{margin:0 0 1.25em}.article-source{margin-top:40px;padding:20px 22px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#475569;font-size:.9rem}.article-source a{color:#0066ff}.article-footer{background:#0b0d13;color:#94a3b8;padding:28px 0;font-size:.82rem}@media(max-width:700px){.article-shell{padding:32px 0 56px}.article-card{padding:28px 22px}.article-header-inner{gap:20px}.article-back{font-size:.8rem}}

.article-editorial-head{display:grid;gap:3px;margin-bottom:22px}.article-editorial-brand{color:#0f172a;font-size:.92rem}.article-editorial-slogan{color:#64748b;font-size:.82rem}.article-editorial-head .article-meta{margin:9px 0 0}.article-classification{color:#334155}.article-editorial-footer{margin-top:34px;padding-top:26px;border-top:1px solid #e2e8f0}.article-editorial-cta{max-width:720px}.article-editorial-cta strong{display:block;color:#172033;font-size:.98rem}.article-editorial-cta p{margin:6px 0 0;color:#5b6779;font-size:.9rem;line-height:1.65}.article-editorial-cta a{color:#172033;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-weight:650}.article-editorial-cta a:hover{color:#0066ff}

/* Delta 09 — leitura editorial responsiva */
.article-shell{
  padding:clamp(34px,5vw,72px) 0 clamp(60px,7vw,104px);
}
.article-container{
  width:min(1180px,calc(100% - 48px));
  max-width:none;
  margin-inline:auto;
}
.article-card{
  padding:clamp(36px,4.6vw,68px);
}
.article-editorial-head{
  display:grid;
  gap:4px;
  margin-bottom:24px;
}
.article-editorial-brand{
  color:#0f172a;
  font-size:1.04rem;
  line-height:1.25;
}
.article-editorial-slogan{
  color:#64748b;
  font-size:.84rem;
  line-height:1.45;
}
.article-editorial-head .article-meta{
  margin:17px 0 0;
}
.article-card h1{
  font-size:clamp(2rem,3.5vw,3.15rem);
  line-height:1.07;
  max-width:1000px;
}
.article-lead{
  max-width:1020px;
}
.article-body{
  max-width:1020px;
  font-size:clamp(1rem,.25vw + .96rem,1.08rem);
  line-height:1.88;
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  overflow-wrap:break-word;
}
.article-body p{
  margin:0 0 1.35em;
}
.article-source,
.article-editorial-footer{
  max-width:1020px;
}

@media (min-width:1600px){
  .article-container{width:min(1240px,calc(100% - 96px))}
  .article-card{padding-inline:76px}
  .article-body,.article-lead,.article-source,.article-editorial-footer{max-width:1080px}
}

@media (max-width:980px){
  .article-container{width:min(100% - 32px,920px)}
  .article-card{padding:42px 38px}
  .article-card h1{font-size:clamp(2rem,5vw,2.85rem)}
}

@media (max-width:700px){
  .article-shell{padding:28px 0 52px}
  .article-container{width:calc(100% - 22px)}
  .article-card{padding:28px 21px;border-radius:14px}
  .article-editorial-brand{font-size:1rem}
  .article-editorial-head .article-meta{margin-top:14px}
  .article-card h1{font-size:clamp(1.9rem,9vw,2.45rem);line-height:1.08}
  .article-lead{font-size:1rem;line-height:1.68;padding-bottom:24px;margin-bottom:26px}
  .article-body{
    font-size:1rem;
    line-height:1.78;
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
  }
}

@media (max-width:430px){
  .article-container{width:calc(100% - 16px)}
  .article-card{padding:24px 18px}
  .article-meta{gap:9px 12px}
}

.article-body-label{font-weight:700;color:#172033;}

/* Delta 12 — estrutura editorial fiel à fonte */
.article-body .editorial-block{margin:0 0 1.65rem}.article-body .editorial-block h2{font-family:'Outfit',sans-serif;font-size:clamp(1.28rem,1.2vw + 1rem,1.72rem);line-height:1.2;letter-spacing:-.015em;color:#172033;margin:0 0 .72rem}.article-body .editorial-block p{margin:0 0 .95rem}.article-body .editorial-steps ol,.article-body .editorial-list ul{margin:.4rem 0 0;padding-left:1.5rem}.article-body .editorial-steps li,.article-body .editorial-list li{padding-left:.25rem;margin:.6rem 0;line-height:1.72}.article-body .editorial-steps li::marker{font-weight:750;color:#172033}.editorial-callout{padding:18px 20px;border-left:3px solid #0066ff;background:#f8fafc;border-radius:0 10px 10px 0}.editorial-callout strong{display:block;color:#172033;margin-bottom:.35rem}.editorial-callout p{color:#475569!important;margin:0!important}.editorial-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.editorial-table-wrap table{width:100%;border-collapse:collapse;min-width:520px;text-align:left}.editorial-table-wrap th,.editorial-table-wrap td{padding:13px 15px;border-bottom:1px solid #e2e8f0;vertical-align:top}.editorial-table-wrap th{background:#f8fafc;color:#334155;font-size:.84rem}.editorial-table-wrap td{color:#334155;font-size:.92rem}.editorial-table-wrap tr:last-child td{border-bottom:0}.editorial-chart{padding:18px 0}.editorial-chart-rows{display:grid;gap:14px;margin-top:12px}.editorial-chart-label{display:flex;justify-content:space-between;gap:16px;margin-bottom:6px;color:#475569;font-size:.88rem}.editorial-chart-label strong{color:#172033}.editorial-chart-track{height:10px;background:#e8eef6;border-radius:999px;overflow:hidden}.editorial-chart-track span{display:block;height:100%;background:#0066ff;border-radius:inherit}.article-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:#f1f5f9;border:1px solid #e2e8f0;padding:.08em .32em;border-radius:5px}
@media(max-width:700px){.article-body .editorial-block{margin-bottom:1.4rem}.editorial-callout{padding:15px 16px}.editorial-table-wrap{margin-inline:-4px}.editorial-chart-label{font-size:.82rem}}

/* Delta 13 — refinamento de hierarquia editorial */
.article-body{font-size:clamp(.96rem,.16vw + .94rem,1.02rem);line-height:1.82}.article-body .editorial-block{margin-bottom:1.45rem}.article-body .editorial-block h2{font-size:clamp(1.18rem,.9vw + .98rem,1.5rem);margin-bottom:.62rem}.article-body .editorial-steps li,.article-body .editorial-list li{margin:.48rem 0;line-height:1.68}.editorial-callout{padding:15px 18px;background:#f5f8fc}.editorial-callout strong{font-size:.95rem;margin-bottom:.3rem}.editorial-callout p{font-size:.94rem;line-height:1.65}.article-source{margin-top:34px}
@media(max-width:700px){.article-body{font-size:.98rem;line-height:1.76}.article-body .editorial-block h2{font-size:1.22rem}.editorial-callout{padding:14px 15px}}


/* Delta 15 — documento editorial único */
.article-body .editorial-subheading{font-family:'Outfit',sans-serif;font-size:clamp(1.06rem,.55vw + .98rem,1.28rem);line-height:1.3;color:#172033;margin:1.35rem 0 .55rem}.article-body .editorial-callout .editorial-block{margin-bottom:.75rem}.article-body .editorial-callout .editorial-block:last-child{margin-bottom:0}.article-body .editorial-callout .editorial-section h2{font-size:1rem;margin:.65rem 0 .35rem}


/* Delta 16 — acervo público */
.publication-index-shell{padding:clamp(44px,6vw,82px) 0 88px}
.publication-index-container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.publication-index-head{margin-bottom:34px;max-width:820px}
.publication-index-head>strong{display:block;color:#0f172a;font-size:1.08rem}
.publication-index-head>span{display:block;color:#64748b;font-size:.86rem;margin-top:3px}
.publication-index-head h1{font-family:'Outfit',sans-serif;color:#0f172a;font-size:clamp(2.2rem,4.5vw,3.7rem);line-height:1.05;margin:24px 0 10px}
.publication-index-head p{color:#64748b;font-size:1.02rem;line-height:1.7;margin:0}
.publication-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.publication-index-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:26px;display:flex;flex-direction:column;min-height:250px;box-shadow:0 10px 28px rgba(15,23,42,.04)}
.publication-index-meta{font-size:.75rem;color:#64748b;font-weight:600;line-height:1.5}
.publication-index-card h2{font-family:'Outfit',sans-serif;font-size:1.25rem;line-height:1.25;color:#0f172a;margin:14px 0 10px}
.publication-index-card p{color:#526071;font-size:.9rem;line-height:1.62;margin:0 0 18px}
.publication-index-link{margin-top:auto;color:#005fe6;text-decoration:none;font-weight:700;font-size:.88rem}
.publication-index-link:hover{text-decoration:underline}
.publication-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:34px;padding-top:22px;border-top:1px solid #e2e8f0;color:#64748b;font-size:.86rem}
.publication-pagination a{color:#0f172a;text-decoration:none;font-weight:700}
.publication-pagination a:last-child{text-align:right}
.publication-index-empty{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:28px;color:#64748b}
@media(max-width:980px){.publication-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
  .publication-index-container{width:calc(100% - 24px)}
  .publication-index-grid{grid-template-columns:1fr}
  .publication-index-card{min-height:0}
  .publication-pagination{grid-template-columns:1fr 1fr}
  .publication-pagination>span:nth-child(2){grid-column:1/-1;grid-row:1;text-align:center}
}

.article-body .editorial-media-item{width:fit-content;max-width:100%;margin:1.35rem auto 1.7rem;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#f8fafc}.article-body .editorial-media-item a{display:block}.article-body .editorial-media-item img{display:block;width:auto;max-width:100%;height:auto;object-fit:contain;background:#fff}.article-body .editorial-media-item figcaption{padding:9px 12px;color:#64748b;font-size:.8rem;background:#f8fafc}@media(max-width:700px){.article-body .editorial-media-item{max-width:100%;margin:1rem auto 1.3rem;border-radius:8px}}

/* Documento editorial HTML semântico */
.article-body h2{font-family:'Outfit',sans-serif;font-size:clamp(1.3rem,1vw + 1rem,1.65rem);line-height:1.3;color:#0f172a;margin:2rem 0 .75rem}.article-body h3{font-family:'Outfit',sans-serif;font-size:clamp(1.12rem,.6vw + 1rem,1.35rem);line-height:1.35;color:#172033;margin:1.65rem 0 .65rem}.article-body h4{font-size:1.04rem;line-height:1.4;color:#172033;margin:1.35rem 0 .55rem}.article-body ol,.article-body ul{margin:.65rem 0 1.35rem;padding-left:1.55rem}.article-body li{margin:.5rem 0;line-height:1.7}.article-body li>ol,.article-body li>ul{margin:.45rem 0 .65rem}.article-body a{color:#0066ff;text-decoration:underline;text-underline-offset:2px}.article-body figure{width:fit-content;max-width:100%;margin:1.35rem auto}.article-body figure img,.article-body>img{display:block;width:auto;max-width:100%;height:auto;margin:1.35rem auto;border-radius:8px}.article-body figcaption{margin-top:.5rem;color:#64748b;font-size:.82rem;text-align:center}.article-body table{width:100%;border-collapse:collapse;margin:1.35rem 0;display:block;overflow-x:auto}.article-body th,.article-body td{padding:.65rem .75rem;border:1px solid #e2e8f0;text-align:left;vertical-align:top}.article-body th{background:#f8fafc;color:#172033}.article-body blockquote{margin:1.35rem 0;padding:.85rem 1rem;border-left:3px solid #0066ff;background:#f8fafc}.article-body pre{overflow:auto;padding:1rem;background:#0f172a;color:#e2e8f0;border-radius:8px}.article-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* Refinamento editorial Oliósi — leitura limpa e proporcional */
.article-container{width:min(1080px,calc(100% - 48px));max-width:none;margin-inline:auto}
.article-card{padding:clamp(34px,4.2vw,58px)}
.article-card h1{font-size:clamp(1.85rem,2.5vw,2.55rem);line-height:1.12;letter-spacing:-.022em;max-width:900px;margin-bottom:18px}
.article-lead{max-width:900px;font-size:1.02rem;line-height:1.68;padding-bottom:22px;margin-bottom:26px}
.article-body{max-width:900px;font-size:1rem;line-height:1.72;text-align:left;hyphens:none;overflow-wrap:break-word}
.article-body p{margin:0 0 1rem}.article-body h2{font-size:clamp(1.35rem,.95vw + 1.05rem,1.68rem);line-height:1.26;margin:1.9rem 0 .72rem;letter-spacing:-.012em}.article-body h3{font-size:clamp(1.12rem,.52vw + 1rem,1.3rem);line-height:1.32;margin:1.55rem 0 .58rem}.article-body h4{font-size:1.02rem;margin:1.2rem 0 .48rem}
.article-body ol,.article-body ul{margin:.55rem 0 1.25rem;padding-left:1.65rem}.article-body li{margin:.4rem 0;line-height:1.64}.article-body li>ol,.article-body li>ul{margin:.32rem 0 .55rem}
.article-body figure{width:fit-content;max-width:min(100%,820px);margin:1.25rem auto 1.5rem}.article-body figure img,.article-body>img{display:block;width:auto;max-width:min(100%,820px);height:auto;margin:1.25rem auto;border-radius:8px}.article-body figcaption{margin-top:.45rem;color:#64748b;font-size:.8rem;text-align:center}
.article-source,.article-editorial-footer{max-width:900px}
@media(max-width:700px){.article-container{width:calc(100% - 22px)}.article-card{padding:26px 20px}.article-card h1{font-size:clamp(1.65rem,7.4vw,2.05rem);line-height:1.12}.article-lead{font-size:.98rem;line-height:1.62}.article-body{font-size:.98rem;line-height:1.68;text-align:left}.article-body h2{font-size:1.28rem}.article-body figure,.article-body figure img,.article-body>img{max-width:100%}}


/* Publicação — layout final coerente com o editor visual */
.article-page .article-shell{padding:clamp(30px,4vw,56px) 0 clamp(56px,6vw,88px)}
.article-page .article-container{width:min(1080px,calc(100% - 48px));max-width:none;margin-inline:auto}
.article-page .article-card{padding:clamp(34px,4.2vw,58px);border-radius:16px}
.article-page .article-card>h1{font-size:clamp(1.78rem,2.15vw,2.35rem);line-height:1.14;letter-spacing:-.02em;max-width:900px;margin:0 0 16px;color:#0f172a;text-align:left}
.article-page .article-lead{max-width:900px;font-size:1rem;line-height:1.64;padding-bottom:20px;margin-bottom:26px;text-align:left}
.article-page .article-body{max-width:900px;margin:0;text-align:left}
.article-page .article-source,
.article-page .article-editorial-footer{max-width:900px}
@media(max-width:700px){
  .article-page .article-container{width:calc(100% - 22px)}
  .article-page .article-card{padding:26px 20px}
  .article-page .article-card>h1{font-size:clamp(1.6rem,7vw,1.95rem);line-height:1.14}
  .article-page .article-lead{font-size:.96rem;line-height:1.6}
}

/* SEO editorial: links internos contextuais sem competir com o conteúdo principal. */
.article-related {
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid rgba(148, 163, 184, .22);
}

.article-related h2 {
  margin: 0 0 14px;
  font-size: clamp(1.08rem, 1.6vw, 1.3rem);
  line-height: 1.3;
}

.article-related-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.article-related-card {
  display: block;
  padding: 16px 17px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 12px;
  background: rgba(255,255,255,.02);
  color: inherit;
  text-decoration: none;
}

.article-related-card:hover {
  border-color: rgba(59, 130, 246, .48);
}

.article-related-card strong,
.article-related-card span {
  display: block;
}

.article-related-card strong {
  line-height: 1.35;
}

.article-related-card span {
  margin-top: 7px;
  font-size: .9rem;
  line-height: 1.5;
  opacity: .72;
}

.article-footer a {
  color: inherit;
}

@media (max-width: 720px) {
  .article-related-grid { grid-template-columns: 1fr; }
}

.publication-category-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.publication-category-nav a{display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;border:1px solid #dbe3ee;border-radius:999px;color:#334155;background:#fff;text-decoration:none;font-size:.9rem;font-weight:600}
.publication-category-nav a:hover,.publication-category-nav a.active{border-color:#0066ff;color:#0066ff;background:#f5f9ff}
@media(max-width:640px){.publication-category-nav a{flex:1 1 100%;justify-content:center}}


/* Hub público por produto: /protheus/ e /rm/ */
.publication-hub-head{max-width:900px}
.publication-hub-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 54px}
.publication-hub-section{display:flex;flex-direction:column;min-height:230px;padding:26px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;color:inherit;text-decoration:none;box-shadow:0 10px 28px rgba(15,23,42,.04);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.publication-hub-section:hover{border-color:#9fc2ff;transform:translateY(-2px);box-shadow:0 14px 34px rgba(15,23,42,.07)}
.publication-hub-count{color:#64748b;font-size:.76rem;font-weight:700}
.publication-hub-section h2{font-family:'Outfit',sans-serif;color:#0f172a;font-size:1.35rem;line-height:1.2;margin:14px 0 10px}
.publication-hub-section p{color:#526071;font-size:.91rem;line-height:1.62;margin:0 0 20px}
.publication-hub-section>strong{margin-top:auto;color:#005fe6;font-size:.88rem}
.publication-hub-latest{padding-top:30px;border-top:1px solid #e2e8f0}
.publication-hub-latest-head h2{font-family:'Outfit',sans-serif;color:#0f172a;font-size:1.55rem;margin:0 0 20px}
@media(max-width:900px){.publication-hub-sections{grid-template-columns:1fr}.publication-hub-section{min-height:0}}


/* Central de Informações — refinamento de navegação e conversão */
.article-header{
  position:sticky;
  top:0;
  z-index:100;
  box-shadow:0 6px 18px rgba(15,23,42,.08);
}
.article-back{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:7px 12px;
  border:1px solid rgba(203,213,225,.22);
  border-radius:9px;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.article-back:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.34);
  text-decoration:none;
}

.publication-hub-product{
  color:#64748b;
  font-weight:500;
}

/* Fonte + conversão: próximos, discretos e sem bloco publicitário isolado */
.article-page .article-source{
  margin-top:30px;
  margin-bottom:0;
}
.article-page .article-editorial-footer{
  max-width:900px;
  margin-top:12px;
  padding:3px 0 3px 16px;
  border-top:0;
  border-left:2px solid #cbd5e1;
}
.article-page .article-editorial-cta{
  max-width:760px;
}
.article-page .article-editorial-cta strong{
  font-size:.94rem;
  color:#172033;
}
.article-page .article-editorial-cta p{
  margin-top:4px;
  font-size:.88rem;
  line-height:1.55;
  color:#64748b;
}

/* Relacionados são navegação secundária, depois do encerramento editorial/CTA */
.article-page .article-related{
  margin-top:38px;
}

/* Navegação de encerramento: evita obrigar o usuário a subir a matéria inteira */
.article-end-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  max-width:900px;
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid #e2e8f0;
}
.article-end-nav a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  color:#334155;
  font-size:.88rem;
  font-weight:700;
  text-decoration:none;
}
.article-end-nav a:hover{
  color:#0066ff;
}
.article-end-top{
  margin-left:auto;
}

@media(max-width:700px){
  .article-header{
    padding:10px 0;
  }
  .article-brand img{
    height:32px;
  }
  .article-back{
    min-height:36px;
    padding:6px 9px;
    font-size:.76rem;
    white-space:nowrap;
  }
  .article-page .article-source{
    margin-top:24px;
  }
  .article-page .article-editorial-footer{
    margin-top:10px;
    padding-left:13px;
  }
  .article-end-nav{
    align-items:stretch;
    flex-direction:column;
    gap:4px;
    margin-top:28px;
  }
  .article-end-nav a{
    min-height:42px;
  }
  .article-end-top{
    margin-left:0;
  }
}


/* Vídeos da Central de Informações */
.publication-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.publication-video-card{overflow:hidden;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.04)}
.publication-video-thumb{position:relative;display:block;aspect-ratio:16/9;background:#0f172a;overflow:hidden}
.publication-video-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.publication-video-thumb span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(11,13,19,.82);color:#fff;font-size:17px}
.publication-video-card-body{padding:20px;display:flex;flex-direction:column;min-height:165px}
.publication-video-card h2{font-family:'Outfit',sans-serif;font-size:1.12rem;line-height:1.3;color:#0f172a;margin:10px 0 16px}
.publication-video-card .publication-index-link{margin-top:auto}
@media(max-width:980px){.publication-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.publication-video-grid{grid-template-columns:1fr}}


/* Playlists YouTube — organização oficial do canal */
.publication-video-grid-compact{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.publication-video-grid-compact .publication-video-card{
  border-radius:12px;
}
.publication-video-grid-compact .publication-video-card-body{
  padding:14px;
  min-height:135px;
}
.publication-video-grid-compact .publication-video-card h2,
.publication-video-grid-compact .publication-video-card h3{
  font-family:'Outfit',sans-serif;
  font-size:.96rem;
  line-height:1.32;
  color:#0f172a;
  margin:8px 0 12px;
}
.publication-video-grid-compact .publication-video-thumb span{
  width:38px;
  height:38px;
  font-size:14px;
}
.youtube-playlist-stack{
  display:grid;
  gap:46px;
}
.youtube-playlist-block{
  padding-top:4px;
}
.youtube-playlist-block + .youtube-playlist-block{
  padding-top:38px;
  border-top:1px solid #e2e8f0;
}
.youtube-playlist-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:18px;
}
.youtube-playlist-heading>div{
  max-width:760px;
}
.youtube-playlist-kicker{
  display:block;
  color:#0066ff;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:5px;
}
.youtube-playlist-heading h2{
  font-family:'Outfit',sans-serif;
  color:#0f172a;
  font-size:1.42rem;
  line-height:1.2;
  margin:0;
}
.youtube-playlist-heading p{
  color:#64748b;
  font-size:.88rem;
  line-height:1.55;
  margin:7px 0 0;
}

@media(max-width:1050px){
  .publication-video-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .publication-video-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .youtube-playlist-heading{align-items:flex-start;flex-direction:column;gap:10px}
}
@media(max-width:520px){
  .publication-video-grid-compact{grid-template-columns:1fr}
}

/* Responsividade defensiva global: conteúdo editorial nunca deve exceder a viewport. */
.article-body img,.article-body video,.article-body canvas,.article-body svg,.article-body iframe,
.publication-card img,.publication-video-card img{max-width:100%;height:auto}
.article-body pre,.article-body code{max-width:100%}
.article-body pre{overflow:auto;-webkit-overflow-scrolling:touch}
@media(max-width:700px){
  .article-header-inner{min-width:0}.article-brand{flex:0 1 auto;min-width:0}.article-brand img{max-width:150px;height:auto}
  .article-back{flex:0 0 auto;max-width:48vw;text-align:right;line-height:1.25}
  .article-body table{font-size:.9rem}
}

/* UX pública consolidada — navegação, breadcrumbs e cards compactos */
.public-breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 20px;color:#7b8797;font-size:.75rem;line-height:1.35}
.public-breadcrumbs a{color:#526071;text-decoration:none}.public-breadcrumbs a:hover{color:#0066ff}.public-breadcrumbs span{color:#a8b1bd}.public-breadcrumbs strong{color:#334155;font-weight:700}
.article-breadcrumbs{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #eef2f6}
.publication-index-card{min-height:185px;padding:20px;text-decoration:none;color:inherit;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.publication-index-card:hover{transform:translateY(-2px);border-color:#b8cceb;box-shadow:0 12px 30px rgba(15,23,42,.07)}
.publication-index-card h2{font-size:1.08rem;line-height:1.3;margin:10px 0 8px}
.publication-index-card p{font-size:.84rem;line-height:1.52;margin-bottom:14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.publication-index-card .publication-index-link{display:inline-flex;margin-top:auto}
.publication-category-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.publication-category-nav a{border-radius:999px}
@media(max-width:650px){.publication-index-card{padding:17px;min-height:0}.publication-index-card h2{font-size:1.02rem}.public-breadcrumbs{font-size:.71rem;margin-bottom:16px}.article-breadcrumbs{margin-bottom:20px;padding-bottom:14px}}

.publication-refine{margin:0 0 28px;padding:16px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:14px}
.publication-refine-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:13px}.publication-refine-head>div>strong{display:block;color:#172033;font-size:.9rem}.publication-refine-head>div>span{display:block;color:#7b8797;font-size:.72rem;margin-top:2px}.publication-refine-head>a{color:#0066ff;text-decoration:none;font-size:.75rem;font-weight:700;white-space:nowrap}
.publication-refine-groups{display:grid;gap:11px}.publication-refine-group{display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:start}.publication-refine-group>span{color:#64748b;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding-top:6px}.publication-refine-group>div{display:flex;flex-wrap:wrap;gap:6px}.publication-refine-group a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#435066;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:5px 8px;font-size:.71rem;font-weight:650}.publication-refine-group a small{color:#8793a4;font-size:.62rem}.publication-refine-group a:hover,.publication-refine-group a.active{background:#edf5ff;border-color:#a9c7ef;color:#075acb}.publication-refine-group a.active small{color:#075acb}
@media(max-width:650px){.publication-refine{padding:14px}.publication-refine-head{flex-direction:column;gap:6px}.publication-refine-group{grid-template-columns:1fr;gap:5px}.publication-refine-group>span{padding-top:0}}

/* Impressão de publicações — padrão institucional Oliósi */
.article-editorial-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.article-print-button{
  appearance:none;
  border:1px solid #cbd5e1;
  background:#fff;
  color:#172033;
  border-radius:10px;
  min-height:40px;
  padding:8px 14px;
  font-family:inherit;
  font-size:.82rem;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  white-space:nowrap;
}
.article-print-button:hover{
  border-color:#94a3b8;
  background:#f8fafc;
}
.article-print-header,
.article-print-footer{display:none}

@media(max-width:650px){
  .article-editorial-topline{align-items:stretch;flex-direction:column;gap:12px}
  .article-print-button{align-self:flex-start}
}

@media print{
  @page{
    size:A4 portrait;
    margin:28mm 16mm 22mm;
    @bottom-right{
      content:"Página " counter(page) " de " counter(pages);
      font-family:Arial,sans-serif;
      font-size:8pt;
      color:#64748b;
    }
  }

  html,body{
    background:#fff !important;
    color:#111827 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:10.5pt !important;
  }

  body.article-page{
    padding:0 !important;
    margin:0 !important;
  }

  body.article-page > header,
  body.article-page > footer,
  .article-breadcrumbs,
  .article-print-button,
  .article-related,
  .article-end-nav,
  .article-editorial-footer{
    display:none !important;
  }

  .article-shell,
  .article-shell .container,
  .article-container,
  .article-card{
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
  }

  .article-print-header{
    display:flex !important;
    position:fixed;
    top:-21mm;
    left:0;
    right:0;
    height:15mm;
    align-items:center;
    gap:8mm;
    padding-bottom:3mm;
    border-bottom:.35mm solid #111827;
    background:#fff !important;
    z-index:10;
  }
  .article-print-header img{
    display:block;
    width:auto;
    height:10mm;
    max-width:42mm;
    filter:brightness(0);
  }
  .article-print-header div{
    display:flex;
    flex-direction:column;
    gap:1mm;
    min-width:0;
  }
  .article-print-header strong{
    font-size:9.5pt;
    line-height:1.1;
    color:#111827;
  }
  .article-print-header span{
    font-size:7.5pt;
    color:#64748b;
  }

  .article-print-footer{
    display:flex !important;
    position:fixed;
    bottom:-15mm;
    left:0;
    right:35mm;
    min-height:8mm;
    align-items:flex-start;
    justify-content:space-between;
    gap:8mm;
    padding-top:3mm;
    border-top:.25mm solid #cbd5e1;
    background:#fff !important;
    color:#64748b;
    font-size:7.2pt;
    line-height:1.25;
    z-index:10;
  }
  .article-print-footer span:first-child{
    overflow-wrap:anywhere;
    max-width:125mm;
  }
  .article-print-footer span:last-child{
    white-space:nowrap;
  }

  .article-editorial-head{
    margin:0 0 7mm !important;
    padding:0 0 5mm !important;
    border-bottom:.25mm solid #dbe2ea !important;
  }
  .article-editorial-topline{display:block !important}
  .article-editorial-brand{font-size:8.5pt !important;color:#111827 !important}
  .article-editorial-slogan{font-size:8pt !important;color:#64748b !important}
  .article-meta{
    display:flex !important;
    flex-wrap:wrap;
    gap:3mm 6mm !important;
    margin-top:3mm !important;
    font-size:7.8pt !important;
    color:#475569 !important;
  }

  .article-card > h1{
    margin:0 0 4mm !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:20pt !important;
    line-height:1.13 !important;
    color:#111827 !important;
    break-after:avoid-page;
  }
  .article-lead{
    margin:0 0 6mm !important;
    padding:0 0 5mm !important;
    border-bottom:.25mm solid #e2e8f0 !important;
    font-size:10.5pt !important;
    line-height:1.5 !important;
    color:#475569 !important;
  }
  .article-body{
    max-width:none !important;
    font-size:10.5pt !important;
    line-height:1.55 !important;
    color:#1f2937 !important;
  }
  .article-body h2,.article-body h3,.article-body h4{
    font-family:Arial,Helvetica,sans-serif !important;
    color:#111827 !important;
    break-after:avoid-page;
    page-break-after:avoid;
  }
  .article-body h2{font-size:15pt !important;margin:7mm 0 3mm !important}
  .article-body h3{font-size:12.5pt !important;margin:5mm 0 2.5mm !important}
  .article-body p,.article-body li{orphans:3;widows:3}
  .article-body ul,.article-body ol,.article-body blockquote,.article-body table,.article-body figure{
    break-inside:avoid-page;
    page-break-inside:avoid;
  }
  .article-body img{
    max-width:100% !important;
    height:auto !important;
    break-inside:avoid-page;
    page-break-inside:avoid;
  }
  .article-body a{
    color:#111827 !important;
    text-decoration:none !important;
  }
  .article-source{
    display:block !important;
    margin:8mm 0 0 !important;
    padding-top:4mm !important;
    border-top:.25mm solid #e2e8f0 !important;
    font-size:8pt !important;
    line-height:1.4 !important;
    color:#475569 !important;
    break-inside:avoid-page;
  }
  .article-source a{color:#111827 !important;text-decoration:none !important}
}

