/* Reset */

    *,*:hover,*:active,*:focus { outline:0!important; transition:.3s; box-sizing:border-box; }
    a,a:hover,a:active,a:focus { text-decoration:none; }

/* Styles */

    .grecaptcha-badge { visibility: hidden !important; }

    :root {
        --primary: #Cfb53b;
        --primary-hover: #b09b32;
        --bg-dark: #121212;
        --bg-light: #F8F9FA;
        --surface-dark: #1E1E1E;
        --charcoal: #1A1A1A;
        --text-muted: #9CA3AF;
        --shadow-glow: 0 0 15px rgba(207,181,59,.3);
    }

    body { font-family:'Montserrat',sans-serif; background:#fff; color:#333; margin:0; padding:0; }
    img { max-width:100%; height:auto; }

    /* Typography */
    .text-gradient {
        background:linear-gradient(135deg,#Cfb53b 0%,#F9E79F 50%,#Cfb53b 100%);
        -webkit-background-clip:text;
        -webkit-text-fill-color:transparent;
        background-clip:text;
    }
    .text-primary-color { color:var(--primary)!important; }
    .text-white { color:#fff!important; }
    .text-gray-300 { color:#D1D5DB; }
    .text-gray-400 { color:#9CA3AF; }
    .text-gray-500 { color:#6B7280; }
    .text-gray-600 { color:#4B5563; }
    .text-gray-900 { color:#111827; }
    .uppercase { text-transform:uppercase; }
    .tracking-widest { letter-spacing:.2em; }
    .font-bold { font-weight:700; }
    .font-semibold { font-weight:600; }
    .font-medium { font-weight:500; }
    .font-light { font-weight:300; }
    .text-xs { font-size:.75rem; }
    .text-sm { font-size:.875rem; }
    .text-base { font-size:1rem; }
    .text-lg { font-size:1.125rem; }
    .text-xl { font-size:1.25rem; }
    .text-2xl { font-size:1.5rem; }
    .text-3xl { font-size:1.875rem; }
    .text-4xl { font-size:2.25rem; }
    .text-5xl { font-size:3rem; }

    /* Layout */
    .container-site { max-width:1152px; margin:0 auto; padding:0 1rem; }
    .section-pad { padding:5rem 0; }
    .section-pad-sm { padding:3rem 0; }
    .text-center { text-align:center; }
    .text-left { text-align:left; }
    .flex { display:flex; }
    .flex-col { flex-direction:column; }
    .items-center { align-items:center; }
    .justify-center { justify-content:center; }
    .justify-between { justify-content:space-between; }
    .gap-2 { gap:.5rem; }
    .gap-3 { gap:.75rem; }
    .gap-4 { gap:1rem; }
    .gap-6 { gap:1.5rem; }
    .gap-8 { gap:2rem; }
    .grid { display:grid; }
    .min-h-screen { min-height:100vh; }
    .w-full { width:100%; }
    .relative { position:relative; }
    .absolute { position:absolute; }
    .fixed { position:fixed; }
    .inset-0 { top:0;right:0;bottom:0;left:0; }
    .z-10 { z-index:10; }
    .z-20 { z-index:20; }
    .z-50 { z-index:50; }
    .overflow-hidden { overflow:hidden; }
    .hidden { display:none; }
    .block { display:block; }

    /* Colors / Backgrounds */
    .bg-dark { background-color:var(--bg-dark); }
    .bg-surface { background-color:var(--surface-dark); }
    .bg-charcoal { background-color:var(--charcoal); }
    .bg-light { background-color:var(--bg-light); }
    .bg-white-section { background-color:#fff; }
    .bg-gray-100 { background-color:#F5F5F7; }

    /* Glass Panel */
    .glass-panel {
        background:rgba(10,10,10,.9);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
        border:1px solid rgba(255,255,255,.05);
    }

    /* Geometric background */
    .bg-geometric {
        background-color:var(--bg-dark);
        background-image:
            radial-gradient(circle at 100% 100%,rgba(207,181,59,.03) 0,rgba(207,181,59,.03) 20px,transparent 20px),
            radial-gradient(circle at 0% 0%,rgba(207,181,59,.03) 0,rgba(207,181,59,.03) 20px,transparent 20px),
            linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),
            linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
        background-size:100% 100%,100% 100%,40px 40px,40px 40px;
        background-attachment:scroll,scroll,fixed,fixed;
    }

    /* Navbar */
    #site-header {
        position:fixed;
        top:0;
        left:0;
        width:100%;
        z-index:999;
        transition:all .3s ease;
    }
    #site-header.scrolled,
    #site-header.menu-open,
    #site-header.inner-page {
        background:rgba(10,10,10,.9);
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
        border-bottom:1px solid rgba(255,255,255,.05);
        top:0;
    }
    #site-header:not(.scrolled):not(.menu-open):not(.inner-page) {
        background:transparent;
        border-bottom:1px solid transparent;
        top:0;
    }
    .nav-inner {
        max-width:1152px;
        margin:0 auto;
        padding:0 1.5rem;
        display:flex;
        align-items:center;
        justify-content:space-between;
        height:5rem;
    }
    .nav-logo { display:flex; align-items:center; }
    .nav-logo img { height:2.25rem; width:auto; max-width:200px; object-fit:contain; transform: translateY(3px); }
    .nav-logo-text { color:#fff; font-weight:800; font-size:1.1rem; letter-spacing:.05em; }
    .nav-links { display:none; flex:1; justify-content:center; gap:2rem; align-items:center; }
    .nav-links a {
        font-size: 15px;
        font-weight: 700;
        color:#9CA3AF;
        transition:color .3s;
    }
    .nav-links a:hover,
    .nav-links a.active { color:var(--primary); }
    .nav-cta { display:none; align-items:center; justify-content:flex-end; width:220px; }
    .btn-cta {
        display:inline-flex;
        padding: 12px 18px 10px 18px;
        background:var(--primary);
        color:#000;
        font-weight:700;
        font-size:.625rem;
        text-transform:uppercase;
        letter-spacing:.15em;
        border-radius:2px;
        transition:all .3s;
    }
    .btn-cta:hover { background:#fff; color:#000; }
    .nav-hamburger { background:none; border:none; cursor:pointer; color:#9CA3AF; padding:0; }
    .nav-hamburger:hover { color:#fff; }
    .nav-hamburger .material-symbols-outlined { font-size:1.5rem; }
    .nav-mobile {
        max-height:0;
        overflow:hidden;
        opacity:0;
        background:var(--surface-dark);
        border-bottom:1px solid rgba(255,255,255,.05);
        padding:0 1rem;
        transition:max-height .35s ease, opacity .3s ease, padding .35s ease;
    }
    .nav-mobile.open { max-height:400px; opacity:1; padding:.5rem 1rem 1rem; }
    .nav-mobile a {
        display:block;
        padding:.5rem .75rem;
        font-size:.875rem;
        font-weight:500;
        color:#D1D5DB;
        border-radius:4px;
        transition:all .3s;
    }
    .nav-mobile a:hover { color:var(--primary); background:rgba(255,255,255,.05); }
    .nav-mobile .btn-cta-mobile {
        display:block;
        width:100%;
        text-align:center;
        margin-top:1rem;
        padding:.75rem 1.25rem;
        background:var(--primary);
        color:#000;
        font-weight:700;
        font-size:.75rem;
        text-transform:uppercase;
        letter-spacing:.15em;
        border-radius:2px;
    }

    /* Section Labels */
    .section-label {
        display:block;
        color:var(--primary);
        font-weight:700;
        font-size:.7rem;
        text-transform:uppercase;
        letter-spacing:.2em;
        margin-bottom:.5rem;
    }

    /* Buttons */
    .btn-primary {
        display:inline-flex;
        align-items:center;
        gap:.5rem;
        padding:12px 20px 10px 20px;
        background:var(--primary);
        color:#000;
        font-weight:600;
        font-size:.75rem;
        text-transform:uppercase;
        letter-spacing:.1em;
        border-radius:4px;
        border:none;
        cursor:pointer;
        transition:all .3s;
        transform:translateY(0);
    }
    .btn-primary:hover { background:#fff; color:#000; transform:translateY(-2px); box-shadow:0 8px 20px rgba(207,181,59,.2); }
    .btn-outline {
        display:inline-flex;
        align-items:center;
        gap:.5rem;
        padding:.75rem 1.5rem;
        border:1px solid #374151;
        color:#D1D5DB;
        font-weight:500;
        font-size:.75rem;
        text-transform:uppercase;
        letter-spacing:.1em;
        border-radius:4px;
        transition:all .3s;
    }
    .btn-outline:hover { border-color:var(--primary); color:var(--primary); background:rgba(255,255,255,.05); }
    .btn-primary-sm {
        display:inline-flex;
        align-items:center;
        gap:.25rem;
        padding:.375rem .875rem;
        background:var(--primary);
        color:#000;
        font-weight:700;
        font-size:.65rem;
        text-transform:uppercase;
        letter-spacing:.15em;
        border-radius:2px;
        transition:all .3s;
    }
    .btn-border-primary {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:.25rem;
        padding:.5rem 1.5rem;
        border:1px solid rgba(207,181,59,.2);
        color:var(--primary);
        font-weight:700;
        font-size:.65rem;
        text-transform:uppercase;
        letter-spacing:.15em;
        border-radius:2px;
        transition:all .3s;
    }
    .btn-border-primary:hover { background:var(--primary); color:#000; }

    /* Hero */
    .hero-section {
        position:relative;
        padding: 150px 0 110px 0;
        display:flex;
        align-items:center;
        overflow:hidden;
    }
    .hero-bg-veil {
        position:absolute;
        inset:0;
        background:linear-gradient(to bottom,#121212 0,#121212 150px,rgba(18,18,18,.55) 55%,transparent 100%);
        z-index:0;
        pointer-events:none;
    }
    .hero-badge {
        display:inline-flex;
        align-items:center;
        gap:.5rem;
        padding:.25rem .75rem;
        border-radius:9999px;
        border:1px solid rgba(207,181,59,.2);
        background:rgba(207,181,59,.05);
        backdrop-filter:blur(4px);
        margin-bottom: 0;
    }
    .hero-badge-dot {
        display: none;
        width:.375rem;
        height:.375rem;
        border-radius:50%;
        background:var(--primary);
        animation:pulse 2s infinite;
    }
    @keyframes pulse {
        0%,100% { opacity:1; }
        50% { opacity:.5; }
    }
    .hero-title { font-size:40px; font-weight:700; line-height:44px; color:#fff; margin: 16px 0 0 0; }
    .hero-desc { font-size:16px; color:#9CA3AF; font-weight:300; line-height:22px; margin-bottom:1.5rem; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }
    .hero-grid { display:flex; flex-direction:column; }
    .hero-content { text-align:center; order:1; padding:1.5rem 0 2rem; }
    .hero-badge { justify-content:center; }
    .hero-visual {
        margin: -50px;
        display:block;
        order:0;
        position:relative;
        width:calc(100% + 3rem);
        margin-left:-1.5rem;
        height:500px;
        max-height:500px;
        overflow:hidden;
    }
    .hero-visual .hero-ring { display:none; }
    .hero-ring {
        position:absolute;
        width:450px;
        height:450px;
        border:1px solid rgba(207,181,59,.18);
        border-radius:50%;
        top:70%;
        right:5%;
        transform:translateY(-50%);
        animation:spin-slow 24s linear infinite;
        z-index:1;
    }
    .hero-photo {
        position:absolute;
        left:50%;
        transform:translateX(-44%);
        top:0;
        height:120%;
        width:auto;
        max-width:none;
        object-fit:cover;
        object-position:top center;
        z-index:2;
    }
    .hv-grad-left {
        position:absolute;
        inset:0;
        background:linear-gradient(to right,#121212 0%,rgba(18,18,18,.3) 30%,transparent 55%);
        z-index:5;
        pointer-events:none;
    }
    .hv-grad-bottom {
        display: none;
        position:absolute;
        inset:0;
        background:linear-gradient(to top,#121212 0%,rgba(18,18,18,.3) 18%,transparent 40%);
        z-index:5;
        pointer-events:none;
    }
    .scroll-down {
        position:absolute;
        bottom:1rem;
        left:50%;
        transform:translateX(-50%);
        z-index:20;
        animation:bounce .8s infinite alternate;
    }
    @keyframes bounce { from { transform:translateX(-50%) translateY(0); } to { transform:translateX(-50%) translateY(-6px); } }
    .scroll-down a {
        width:3rem;
        height:3rem;
        border-radius:50%;
        border:1px solid rgba(255,255,255,.2);
        display:flex;
        align-items:center;
        justify-content:center;
        background:rgba(255,255,255,.05);
        color:rgba(255,255,255,.5);
        backdrop-filter:blur(4px);
    }
    .scroll-down a:hover { background:rgba(255,255,255,.1); color:#fff; }

    /* About */
    .about-section { padding:5rem 0; background:var(--bg-light); }
    .about-content { max-width:52rem; margin:0 auto; text-align:center; }
    .about-rule { display:flex; align-items:center; justify-content:center; gap:.75rem; margin-bottom:1.25rem; }
    .about-rule-line { flex:1; max-width:3rem; height:1px; background:var(--primary); }
    .about-section h2 { font-size:34px; font-weight:700; color:#111827; line-height:1.15; margin-bottom:.75rem; }
    .about-section h2 strong { color:var(--primary); font-weight:inherit; }
    .about-subtitle { font-size:.75rem; font-weight:600; color:#6B7280; text-transform:uppercase; letter-spacing:.2em; margin-bottom:2rem; }
    .about-texts { display:flex; flex-direction:column; gap:1rem; }
    .about-text { color:#4B5563; line-height:1.8; font-weight:300; font-size:1rem; text-align:center; }
    .about-oab { margin: 18px 0 0 0; padding: 0; font-size:24px; line-height: 24px; color:#cfb53b; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-align:center; }
    .about-experiencia { font-size:1.1rem; color:#374151; font-weight:500; margin-bottom:1.5rem; line-height:1.6; text-align:center; }
    .sobre-pilares { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin:2.5rem 0; }
    .pilar-card {
        display:flex;
        flex-direction:column;
        align-items:center;
        text-align:center;
        gap:.375rem;
        padding:2rem 1.5rem;
        background:#fff;
        border-radius:8px;
        border:1px solid #F3F4F6;
        box-shadow:0 1px 3px rgba(0,0,0,.05);
        transition:all .3s;
    }
    .pilar-card:hover { box-shadow:0 20px 40px rgba(0,0,0,.1); transform:translateY(-2px); }
    .pilar-card h4 { font-weight:700; color:#111827; font-size:1.125rem; margin-bottom:0; }
    .pilar-card p { font-size:.875rem; color:#6B7280; line-height:1.6; }
    .sobre-rodape { font-size:.95rem; font-weight:600; color:var(--primary); text-align:center; margin-top:1.5rem; letter-spacing:.05em; }

    /* Expertise */
    .expertise-section { padding:4rem 0; background:var(--charcoal); }
    .expertise-section h2 { font-size:2rem; font-weight:700; color:#fff; margin-top:.5rem; }
    .expertise-tabs { display:flex; gap:.75rem; justify-content:center; margin-top:2rem; flex-wrap:wrap; }
    .tab-btn { padding:12px 24px 10px 24px; border-radius:6px; border:1px solid rgba(207,181,59,.35); background:transparent; color:#9CA3AF; font-family:inherit; font-size:.875rem; font-weight:600; cursor:pointer; transition:all .3s; }
    .tab-btn.active, .tab-btn:hover { background:var(--primary); border-color:var(--primary); color:#111; }
    .tab-panel { display:none; }
    .tab-panel.active { display:block; }
    .btn-expertise-all { display:inline-block; padding:.625rem 1.75rem; border-radius:6px; border:1px solid rgba(207,181,59,.5); color:var(--primary); font-size:.875rem; font-weight:600; text-decoration:none; transition:all .3s; }
    .btn-expertise-all:hover { background:var(--primary); color:#111; }
    a.expertise-card { text-decoration:none; }
    .expertise-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; margin-top:2.5rem; }
    .expertise-icon-title { display:flex; flex-direction:column; align-items:center; gap:.25rem; margin-bottom:0; }
    .expertise-card {
        padding:1.25rem;
        border-radius:8px;
        background:var(--surface-dark);
        border:1px solid rgba(255,255,255,.05);
        transition:all .3s;
        display:flex;
        flex-direction:column;
        align-items:center;
        text-align:center;
        gap:.375rem;
    }
    .expertise-card:hover {
        border-color:rgba(207,181,59,.4);
        transform:translateY(-4px);
        box-shadow:var(--shadow-glow);
    }
    .expertise-icon {
        width:3rem;
        height:3rem;
        border-radius:4px;
        background:var(--bg-dark);
        display:flex;
        align-items:center;
        justify-content:center;
        color:var(--primary);
        border:1px solid rgba(207,181,59,.1);
        margin-bottom:0;
        flex-shrink:0;
        transition:all .3s;
    }
    .expertise-card:hover .expertise-icon { background:var(--primary); color:#000; }
    .expertise-card h3 { font-size:1.125rem; font-weight:700; color:#fff; margin-bottom:0; transition:color .3s; }
    .expertise-card:hover h3 { color:var(--primary); }
    .expertise-card p { font-size:.875rem; color:#9CA3AF; line-height:1.6; }

    /* Archive / Single Area de Atuação */
    .archive-areas-grid { display:grid; grid-template-columns:1fr; gap:1rem; }
    .archive-area-card {
        display:flex;
        align-items:center;
        gap:1rem;
        padding:1.25rem 1.5rem;
        background:#fff;
        border-radius:8px;
        border:1px solid #F3F4F6;
        box-shadow:0 1px 3px rgba(0,0,0,.05);
        text-decoration:none;
        transition:all .3s;
    }
    .archive-area-card:hover { border-color:var(--primary); box-shadow:0 4px 20px rgba(207,181,59,.15); transform:translateX(4px); }
    .archive-area-card h3 { font-size:1rem; font-weight:700; color:#111827; margin-bottom:.25rem; }
    .archive-area-card p { font-size:.85rem; color:#6B7280; line-height:1.5; margin:0; }

    /* Services */
    .services-section { padding:4rem 0; background:var(--bg-light); }
    .services-section h2 { font-size:2rem; font-weight:700; color:#111827; margin-top:.5rem; }
    .services-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; margin-top:2.5rem; }
    .services-slider-wrap, .expertise-slider-wrap { position:relative; display:flex; align-items:center; gap:.75rem; margin-top:2.5rem; }
    .services-slider-viewport, .expertise-slider-viewport { overflow:hidden; flex:1; }
    .services-slider-track, .expertise-slider-track { display:flex; gap:1.25rem; transition:transform .4s ease; }
    .services-slider-track .service-card, .expertise-slider-track .expertise-card { flex:0 0 calc((100% - 2.5rem) / 3); min-width:0; }
    .services-nav { flex-shrink:0; width:2.5rem; height:2.5rem; border-radius:50%; border:1px solid #E5E7EB; background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s; color:#374151; }
    .services-nav:hover { background:var(--primary); border-color:var(--primary); color:#111; }
    .services-nav .material-symbols-outlined { font-size:1.25rem; }
    .service-card {
        display:flex;
        flex-direction:column;
        align-items:center;
        text-align:center;
        gap:.375rem;
        padding:1.25rem;
        background:#fff;
        border-radius:8px;
        border:1px solid #F3F4F6;
        box-shadow:0 1px 3px rgba(0,0,0,.05);
        transition:all .3s;
    }
    .service-card:hover { box-shadow:0 20px 40px rgba(0,0,0,.1); transform:translateY(-2px); }
    .service-icon {
        width:4rem;
        height:4rem;
        border-radius:50%;
        background:rgba(207,181,59,.1);
        display:flex;
        align-items:center;
        justify-content:center;
        color:var(--primary);
        margin-bottom:0;
    }
    .service-icon .material-symbols-outlined { font-size:1.75rem; }
    .service-card h4 { font-weight:700; color:#111827; font-size:1.125rem; margin-bottom:0; }
    .service-card p { font-size:.875rem; color:#6B7280; line-height:1.6; }
    a.service-card { text-decoration:none; }
    a.service-card:hover { box-shadow:0 20px 40px rgba(0,0,0,.1); transform:translateY(-2px); }

    /* Stats */
    .stats-section {
        padding:4rem 0;
        background:var(--bg-dark);
        border-top:1px solid rgba(255,255,255,.05);
        border-bottom:1px solid rgba(255,255,255,.05);
        position:relative;
        overflow:hidden;
    }
    .stats-grid {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:0;
        text-align:center;
    }
    .stat-item { padding:1.5rem; }
    .stat-item:nth-child(odd) { border-right:1px solid rgba(255,255,255,.1); }
    .stat-item:nth-child(1),
    .stat-item:nth-child(2) { border-bottom:1px solid rgba(255,255,255,.1); }
    .stat-number { display:block; font-size:2.5rem; font-weight:700; color:var(--primary); margin-bottom:.5rem; }
    .stat-label { font-size:.7rem; text-transform:uppercase; letter-spacing:.2em; color:#9CA3AF; }

    /* Publications */
    .publications-section { padding:4rem 0; background:#F5F5F7; }
    .publications-section h2 { font-size:2rem; font-weight:700; color:#111827; margin-top:.5rem; }
    .publications-header { display:flex; flex-direction:column; align-items:center; gap:.75rem; margin-bottom:2.5rem; text-align:center; }
    .pub-see-all { display:inline-flex; align-items:center; gap:.25rem; font-size:.875rem; font-weight:700; color:var(--primary); }
    .publications-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
    .pub-card {
        background:#fff;
        border:1px solid #F3F4F6;
        border-radius:12px;
        overflow:hidden;
        box-shadow:0 1px 3px rgba(0,0,0,.05);
        transition:all .3s;
        display:flex;
        flex-direction:column;
    }
    .pub-card:hover { box-shadow:0 20px 40px rgba(0,0,0,.1); transform:translateY(-4px); }
    .pub-card-thumb {
        height:12rem;
        background:#E5E7EB;
        position:relative;
        overflow:hidden;
        display:flex;
        align-items:center;
        justify-content:center;
    }
    .pub-card-thumb img { width:100%; height:100%; object-fit:cover; }
    .pub-card-thumb-placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:100%; background:#E5E7EB; }
    .pub-card-thumb-placeholder .material-symbols-outlined { font-size:2.5rem; color:#9CA3AF; }
    .pub-card-cat {
        position:absolute;
        top:1rem;
        left:1rem;
        font-size:.625rem;
        font-weight:700;
        padding:.25rem .75rem;
        text-transform:uppercase;
        letter-spacing:.1em;
        border-radius:9999px;
        background:var(--primary);
        color:#fff;
        z-index:5;
    }
    .pub-card-cat.dark { background:#111827; }
    .pub-card-body { padding:1.25rem 1.25rem 1.25rem; flex:1; display: block; text-align: center; }
    .pub-card-date { font-size:.625rem; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:#9CA3AF; margin:0 0 14px; }
    .pub-card-body h3 { font-size:1.125rem; font-weight:700; color:#111827; line-height:1.3; margin:0 0 14px; transition:color .3s; min-height:calc(1.125rem * 1.3 * 2); }
    .pub-card:hover .pub-card-body h3 { color:var(--primary); }
    .pub-card-body p { font-size:.875rem; color:#6B7280; line-height:1.6; margin:0 0 14px; flex:1; }
    .pub-card-body .btn-border-primary { margin:0; align-self:center; }

    /* Contact */
    .contact-section { padding:4rem 0; background:var(--charcoal); position:relative; overflow:hidden; text-align:center; }
    .contact-section h2 { font-size:2rem; font-weight:700; color:#fff; margin-top:.5rem; }
    .contact-info { margin-bottom:3rem; }
    .contact-desc { color:#9CA3AF; margin-top:1rem; margin-bottom:2rem; line-height:1.7; }
    .contact-item {
        display:flex;
        align-items:flex-start;
        justify-content:flex-start;
        gap:.75rem;
        padding:.75rem;
        border-radius:6px;
        margin-bottom:.5rem;
        transition:background .3s;
        text-decoration:none;
        cursor:pointer;
    }
    .contact-item:hover { background:rgba(255,255,255,.05); }
    .contact-item-icon {
        width:2.5rem;
        height:2.5rem;
        flex-shrink:0;
        border-radius:4px;
        background:var(--surface-dark);
        border:1px solid rgba(255,255,255,.1);
        display:flex;
        align-items:center;
        justify-content:center;
        color:var(--primary);
        transition:all .3s;
    }
    .contact-item:hover .contact-item-icon { border-color:rgba(207,181,59,.5); }
    .contact-item-icon .material-symbols-outlined { font-size:1.125rem; }
    .contact-item-label { font-size:.625rem; text-transform:uppercase; letter-spacing:.1em; color:#6B7280; font-weight:600; margin-bottom:.125rem; display:block; text-align:left; }
    .contact-item-value { color:#fff; font-size:.9rem; font-weight:500; display:block; text-align:left; }
    .social-links { display:flex; gap:.75rem; margin-top:1.5rem; justify-content:center; }
    .social-link {
        width:2.5rem;
        height:2.5rem;
        border-radius:4px;
        background:var(--surface-dark);
        border:1px solid rgba(255,255,255,.1);
        display:flex;
        align-items:center;
        justify-content:center;
        color:#9CA3AF;
        transition:all .3s;
    }
    .social-link:hover { background:var(--primary); color:#000; border-color:var(--primary); }
    .social-link .material-symbols-outlined { font-size:1.125rem; }

    /* Contact Form */
    .contact-form-wrap {
        background:var(--surface-dark);
        padding:2.5rem;
        border-radius:2px;
        border:1px solid rgba(255,255,255,.05);
        position:relative;
        overflow:hidden;
    }
    .contact-form-wrap::before {
        content:'';
        position:absolute;
        top:0;
        left:0;
        width:2px;
        height:100%;
        background:rgba(207,181,59,.4);
    }
    .contact-form-wrap h3 { font-size:1.125rem; font-weight:700; color:#fff; margin-bottom:1.5rem; }
    .form-group { margin-bottom:1.25rem; }
    .form-label { display:block; font-size:.65rem; font-weight:700; color:#9CA3AF; text-transform:uppercase; letter-spacing:.15em; margin-bottom:.5rem; }
    .form-row { display:grid; grid-template-columns:1fr; gap:1rem; }
    .modern-input {
        width:100%;
        background:transparent;
        border:none;
        border-bottom:2px solid rgba(255,255,255,.1);
        padding:.75rem 0;
        color:#fff;
        font-size:.9rem;
        font-family:'Montserrat',sans-serif;
        transition:border-color .3s;
    }
    .modern-input:focus { outline:none; border-bottom-color:var(--primary); }
    .modern-input::placeholder { color:#4B5563; }
    textarea.modern-input { resize:none; height:7rem; }
    .btn-submit {
        width:100%;
        display:flex;
        justify-content:center;
        align-items:center;
        gap:.5rem;
        padding:.875rem 2rem;
        background:var(--primary);
        color:#000;
        font-weight:700;
        font-size:.75rem;
        text-transform:uppercase;
        letter-spacing:.2em;
        border:none;
        border-radius:2px;
        cursor:pointer;
        transition:all .3s;
    }
    .btn-submit:hover { background:#fff; }

    /* Footer */
    #site-footer {
        background:#0f0f0f;
        border-top:1px solid rgba(255,255,255,.05);
        padding:4rem 0 3rem;
        font-size:.875rem;
    }
    .footer-grid { display:grid; grid-template-columns:1fr; gap:2rem; margin-bottom:3rem; text-align:center; }
    .footer-brand { display:flex; flex-direction:column; align-items:center; }
    .footer-brand p { color:#6B7280; line-height: 18px;
  font-size: 14px;; margin:1rem 0; }
    .footer-brand .footer-logo-text { color:#fff; font-weight:800; font-size:1rem; letter-spacing:.05em; }
    .footer-col { display:flex; flex-direction:column; align-items:center; }
    .footer-col ul { text-align:center; }
    .footer-contact-item { justify-content:flex-start; text-align:left; }
    .footer-contact-item span { text-align:left; }
    .footer-social { display:flex; gap:1rem; justify-content:center; }
    .footer-social a {
        color:#9CA3AF;
        transition:color .3s;
    }
    .footer-social a:hover { color:var(--primary); }
    .footer-col h4 { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:#fff; margin-bottom:1.25rem; }
    .footer-col ul { list-style:none; padding:0; margin:0; }
    .footer-col ul li { margin-bottom:.75rem; }
    .footer-col ul li a { color:#6B7280; font-size:.875rem; transition:all .3s; display:inline-block; }
    .footer-col ul li a:hover { color:var(--primary); padding-left:.25rem; }
    .footer-contact-item { display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; }
    .footer-contact-item .material-symbols-outlined { color:var(--primary); font-size:.875rem; flex-shrink:0; }
    .footer-contact-item span { color:#6B7280; font-size:.875rem; }
    .footer-bottom {
        border-top:1px solid rgba(255,255,255,.05);
        padding-top:2rem;
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:1rem;
        text-align:center;
    }
    .footer-bottom span { color:#6B7280; font-size:.8rem; }
    .footer-bottom span a { color:#6B7280; text-decoration:none; transition:color .3s; }
    .footer-bottom span a:hover { color:var(--primary); }

    /* Publications archive */
    .page-hero { padding:8rem 0 4rem; background:var(--bg-dark); text-align:center; }
    .page-hero h1 { font-size:2.5rem; font-weight:700; color:#fff; margin-top:.5rem; }
    .page-hero p { color:#6B7280; margin-top:1rem; max-width:40rem; margin-left:auto; margin-right:auto; }
    .filter-bar {
        padding:1.25rem 0;
        background:var(--charcoal);
        border-bottom:1px solid rgba(255,255,255,.05);
    }
    .filter-inner { display:flex; flex-direction:column; align-items:center; gap:1rem; }
    .pub-archive { background:#F5F5F7; padding:3rem 0; min-height:60vh; }
    .pub-archive-grid { display:grid; grid-template-columns:1fr; gap:2rem; }
    .search-trigger {
        display:flex;
        margin: -50px auto auto auto;
        align-items:center;
        gap:.75rem;
        height:auto;
        padding:20px;
        background:#252525;
        border:1px solid rgba(255,255,255,.1);
        border-radius:9999px;
        color:#6B7280;
        font-size:.875rem;
        font-weight:500;
        cursor:pointer;
        width:100%;
        max-width:none;
        transition:all .3s;
        font-family:'Montserrat',sans-serif;
        text-align:left;
    }
    .search-trigger:hover { border-color:rgba(207,181,59,.4); color:var(--primary); }
    .category-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; }
    .cat-filter {
        padding:12px 24px 10px 24px;
        display:inline-flex;
        align-items:center;
        font-size:.7rem;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:.05em;
        transition:all .3s;
        border-bottom: 3px solid rgba(255,255,255,.1);
        background:transparent;
        color:#6B7280;
        cursor:pointer;
        border-radius: 6px;
    }
    .cat-filter:hover,
    .cat-filter.active { border-color:var(--primary); color:var(--primary); border-color:var(--primary); }
    .pub-pagination { display:flex; justify-content:center; gap:1rem; margin-top:3rem; }

    /* WordPress Editor Base */
    .single-content img { max-width:100%; height:auto; border-radius:6px; }
    .single-content .alignleft { float:left; margin:0 1.5rem 1rem 0; }
    .single-content .alignright { float:right; margin:0 0 1rem 1.5rem; }
    .single-content .aligncenter { display:block; margin:1.5rem auto; text-align:center; }
    .single-content .alignwide { width:100%; margin:1.5rem 0; }
    .single-content .alignfull { width:100vw; margin-left:calc(50% - 50vw); }
    .single-content .wp-caption { max-width:100%; background:#f3f4f6; border-radius:6px; padding:.5rem; }
    .single-content .wp-caption img { display:block; width:100%; height:auto; border-radius:4px; }
    .single-content .wp-caption-text { font-size:.8rem; color:#6B7280; text-align:center; margin:.5rem 0 .25rem; font-style:italic; }
    .single-content figure { margin:1.5rem 0; }
    .single-content figcaption { font-size:.8rem; color:#6B7280; text-align:center; margin-top:.5rem; font-style:italic; }
    .single-content blockquote { border-left:3px solid var(--primary); margin:1.5rem 0; padding:.75rem 1.25rem; background:#f9fafb; color:#374151; font-style:italic; }
    .single-content pre { background:#1a1a1a; color:#e5e7eb; padding:1rem 1.25rem; border-radius:6px; overflow-x:auto; font-size:.875rem; margin-bottom:1.25rem; }
    .single-content table { width:100%; border-collapse:collapse; margin-bottom:1.25rem; }
    .single-content table th { background:#f3f4f6; font-weight:700; padding:.625rem .875rem; text-align:left; border:1px solid #E5E7EB; }
    .single-content table td { padding:.625rem .875rem; border:1px solid #E5E7EB; color:#374151; }
    .single-content a { color:var(--primary); text-decoration:underline; }
    .single-content a:hover { opacity:.8; }
    .single-content hr { border:none; border-top:1px solid #E5E7EB; margin:2rem 0; }
    .single-content .wp-block-image { margin:1.5rem 0; }
    .single-content .wp-block-image img { width:100%; height:auto; border-radius:6px; }
    .single-content .wp-block-quote { border-left:3px solid var(--primary); margin:1.5rem 0; padding:.75rem 1.25rem; background:#f9fafb; }
    .single-content .wp-block-separator { border:none; border-top:1px solid #E5E7EB; margin:2rem 0; }

    /* Single article */
    .single-hero { padding: 120px 0 40px 0; background:var(--bg-dark); text-align:center; }
    .single-cat-badge {
        display:inline-flex;
        padding:.25rem .875rem;
        background:rgba(207,181,59,.1);
        border:1px solid rgba(207,181,59,.2);
        color:var(--primary);
        font-size:.65rem;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:.15em;
        border-radius:9999px;
        margin-bottom:.625rem;
    }
    .single-hero h1 { font-size:2rem; font-weight:700; color:#fff; line-height:1.2; margin-bottom:.625rem; max-width:52rem; margin-left:auto; margin-right:auto; margin: 10px auto 10px auto}
    .single-meta { display:flex; align-items:center; justify-content:center; gap:1rem; flex-wrap:wrap; }
    .single-meta-item { display:flex; align-items:center; gap:.375rem; color:#6B7280; font-size:.8rem; }
    .single-meta-item .material-symbols-outlined { font-size:1rem; color:var(--primary); }
    .single-content-section { background:#fff; padding:1.5rem 0 3rem; }
    .single-content-section img {
    display: block;
    max-width: 100%;
    border-radius: 10px;
    }
    .single-content { max-width:52rem; margin:0 auto; }
    .single-content-thumb { width:100%; height:20rem; object-fit:cover; border-radius:8px; margin-bottom:1.5rem; }
    .single-content p { color:#374151; line-height:1.6; font-size:1rem; margin-bottom:1rem; }
    .single-content h2 { font-size:1.5rem; font-weight:700; color:#111827; margin:2rem 0 1rem; }
    .single-content h3 { font-size:1.25rem; font-weight:700; color:#111827; margin:1.5rem 0 .75rem; }
    .single-content ul,
    .single-content ol { color:#374151; line-height:1.9; padding-left:1.5rem; margin-bottom:1.25rem; }
    .single-content li { margin-bottom:.5rem; }
    .single-nav {
        border-top:1px solid #E5E7EB;
        padding-top:1.25rem;
        margin-top:2rem;
        display:flex;
        justify-content:space-between;
        align-items:center;
    }
    .single-back {
        display:inline-flex;
        align-items:center;
        gap:.5rem;
        color:var(--primary);
        font-size:.8rem;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:.1em;
        transition:all .3s;
        text-decoration:none;
    }
    .single-back:hover { color:#000; }
    .single-related-section { padding:1.875rem 0; background:#f9fafb; }
    .single-related-title { font-size:1.5rem; font-weight:700; color:#111827; text-align:center; margin-bottom:1.5rem; }
    .single-related-grid { display:flex !important; flex-direction:column; align-items:center; max-width:40rem; margin:0 auto; }
    .single-cta-box { margin-top:2rem; padding:1.25rem 1.5rem; background:#f9fafb; border-radius:8px; border-left:3px solid var(--primary); display:flex; flex-direction:column; align-items:center; text-align:center; gap:.75rem; }
    .single-cta-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.625rem 1.5rem; background:var(--primary); color:#111 !important; border-radius:6px; font-weight:700; font-size:.9rem; text-decoration:none !important; white-space:nowrap; }
    .single-share { position:relative; }
    .btn-share {
        height:2.5rem;
        padding:0 1.25rem;
        border-radius:9999px;
        border:1px solid #E5E7EB;
        background:none;
        display:flex;
        align-items:center;
        gap:.5rem;
        color:#9CA3AF;
        cursor:pointer;
        font-family:'Montserrat',sans-serif;
        transition:all .3s;
    }
    .btn-share:hover { border-color:var(--primary); color:var(--primary); }
    .share-dropdown {
        position:absolute;
        bottom:calc(100% + .75rem);
        right:0;
        background:#fff;
        border-radius:.75rem;
        box-shadow:0 20px 40px rgba(0,0,0,.15);
        border:1px solid #F3F4F6;
        padding:.5rem;
        min-width:11rem;
        z-index:30;
    }
    .share-dropdown a {
        display:flex;
        align-items:center;
        gap:.75rem;
        padding:.5rem .75rem;
        font-size:.875rem;
        color:#4B5563;
        border-radius:.5rem;
        transition:all .3s;
    }
    .share-dropdown a:hover { background:rgba(207,181,59,.1); color:var(--primary); }
    .share-dropdown .material-symbols-outlined { font-size:1.125rem; }
    .single-leia-tambem { margin-top:6rem; }
    .single-related-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
    .single-related-card {
        display:block;
        background:#F9FAFB;
        border-radius:.75rem;
        padding:1.5rem;
        border:1px solid transparent;
        transition:all .3s;
    }
    .single-related-card:hover { border-color:rgba(207,181,59,.2); background:#fff; box-shadow:0 20px 40px rgba(0,0,0,.08); }
    .single-related-card h3 { font-size:1.125rem; font-weight:700; color:#111827; line-height:1.3; transition:color .3s; }
    .single-related-card:hover h3 { color:var(--primary); }

    /* Consultation page */
    .consult-section { padding:8rem 0 4rem; background:var(--bg-dark); min-height:100vh; }
    .consult-title { font-size:2.5rem; font-weight:700; color:#fff; margin-top:.5rem; }
    .consult-desc { color:#9CA3AF; margin-top:1rem; max-width:40rem; margin-left:auto; margin-right:auto; }
    .progress-steps { display:flex; justify-content:space-between; margin-bottom:1.5rem; }
    .step-item { display:flex; flex-direction:column; align-items:center; gap:.5rem; opacity:.3; transition:opacity .3s; }
    .step-item.active { opacity:1; }
    .step-dot {
        width:2rem;
        height:2rem;
        border-radius:50%;
        border:2px solid #374151;
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:.75rem;
        font-weight:700;
        color:#9CA3AF;
    }
    .step-item.active .step-dot { background:var(--primary); border-color:var(--primary); color:#000; }
    .step-label { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#6B7280; }
    .progress-bar { height:.25rem; background:rgba(255,255,255,.05); border-radius:9999px; margin-bottom:3rem; overflow:hidden; }
    .progress-fill { height:100%; background:var(--primary); border-radius:9999px; transition:width .5s ease; }
    .consult-card {
        background:var(--surface-dark);
        border:1px solid rgba(255,255,255,.05);
        border-radius:1rem;
        padding:2rem;
        position:relative;
        overflow:hidden;
    }
    .consult-card::before {
        content:'';
        position:absolute;
        top:0;
        left:0;
        width:.25rem;
        height:100%;
        background:rgba(207,181,59,.5);
    }
    .step-header { margin-bottom:2rem; }
    .step-num { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--primary); }
    .step-header h2 { font-size:1.5rem; font-weight:700; color:#fff; margin-top:.5rem; }
    .step-header p { color:#6B7280; margin-top:.25rem; font-size:.875rem; }
    .consult-input {
        width:100%;
        background:var(--bg-dark);
        border:1px solid rgba(255,255,255,.1);
        border-radius:8px;
        padding:.75rem 1rem;
        color:#fff;
        font-size:.9rem;
        font-family:'Montserrat',sans-serif;
        transition:border-color .3s;
    }
    .consult-input:focus { outline:none; border-color:var(--primary); }
    .consult-input::placeholder { color:#374151; }
    textarea.consult-input { resize:none; }
    .consult-label { display:block; font-size:.65rem; font-weight:700; color:#9CA3AF; text-transform:uppercase; letter-spacing:.2em; margin-bottom:.5rem; }
    .consult-form-group { margin-bottom:1rem; }
    .step-nav {
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding-top:2rem;
        flex-wrap:wrap;
        gap:1rem;
    }
    .btn-back {
        display:flex;
        align-items:center;
        gap:.5rem;
        color:#9CA3AF;
        font-weight:700;
        font-size:.7rem;
        text-transform:uppercase;
        letter-spacing:.2em;
        background:none;
        border:none;
        cursor:pointer;
        font-family:'Montserrat',sans-serif;
        transition:color .3s;
    }
    .btn-back:hover { color:#fff; }
    .btn-next {
        display:flex;
        align-items:center;
        gap:.5rem;
        padding:12px 16px 10px 16px;
        background:var(--primary);
        color:#000;
        font-weight:700;
        font-size:.7rem;
        text-transform:uppercase;
        letter-spacing:.2em;
        border:none;
        border-radius:2px;
        cursor:pointer;
        font-family:'Montserrat',sans-serif;
        transition:all .3s;
        box-shadow:0 4px 20px rgba(207,181,59,.1);
    }
    .btn-next:hover { background:#fff; }
    .review-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem 1.5rem; font-size:.875rem; }
    .review-grid dt { color:#6B7280; }
    .review-grid dd { color:#fff; font-weight:500; margin:0; }
    .review-desc { border-top:1px solid rgba(255,255,255,.05); padding-top:1rem; margin-top:.5rem; }
    .review-desc p { color:#fff; font-size:.8rem; line-height:1.7; font-style:italic; }
    .success-wrap { min-height:100vh; background:var(--bg-dark); display:flex; align-items:center; justify-content:center; padding:2rem; }
    .success-inner { max-width:28rem; text-align:center; }
    .success-icon {
        width:5rem;
        height:5rem;
        background:rgba(207,181,59,.2);
        border-radius:50%;
        display:flex;
        align-items:center;
        justify-content:center;
        margin:0 auto 1.5rem;
    }
    .success-icon .material-symbols-outlined { color:var(--primary); font-size:2.5rem; }
    .success-inner h2 { font-size:2rem; font-weight:700; color:#fff; }
    .success-inner p { color:#9CA3AF; margin-top:.75rem; line-height:1.7; }

    /* Material Symbols */
    .material-symbols-outlined {
        font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;
        line-height:1;
        vertical-align:middle;
    }

    /* Woo overrides / misc */
    .geo-shape {
        position:absolute;
        width:100px;
        height:100px;
        border:1px solid;
        transform:rotate(45deg);
    }

.cresta-whatsapp-chat-box {
background: var(--primary);
}

.cresta-whatsapp-chat-top-header,
.cresta-whatsapp-to-send .cresta-whatsapp-send {
background: #333;
}

/* Responsive & Mobile */

@media (max-width: 767px) {
    .hero-bg-veil {
        background:linear-gradient(to bottom,#121212 0,#121212 80px,rgba(18,18,18,.2) 40%,transparent 75%);
    }
    .single-nav-col { flex-direction:column; align-items:center; gap:.75rem; }
    .services-slider-wrap, .expertise-slider-wrap { gap:0; }
    .services-slider-viewport, .expertise-slider-viewport { overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
    .services-slider-viewport::-webkit-scrollbar, .expertise-slider-viewport::-webkit-scrollbar { display:none; }
    .services-slider-track, .expertise-slider-track { transform:none !important; }
    .services-slider-track .service-card, .expertise-slider-track .expertise-card { flex:0 0 80vw; scroll-snap-align:start; }
    .services-nav { display:none; }
    .single-content-section { padding:2rem 0; }
    .single-content { padding:0 .25rem; }
    .single-cta-btn { width:100%; justify-content:center; }
    .single-nav { justify-content:center; }
    .single-hero { padding:6rem 0 2rem; }
    .single-hero h1 { font-size:1.6rem; }
    .expertise-grid { display:flex; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; gap:1rem; padding-bottom:.5rem; }
    .expertise-grid::-webkit-scrollbar { display:none; }
    .expertise-grid .expertise-card { flex:0 0 78vw; scroll-snap-align:start; }
    .publications-grid { display:flex; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; gap:1rem; padding-bottom:.5rem; }
    .publications-grid::-webkit-scrollbar { display:none; }
    .publications-grid .pub-card { flex:0 0 80vw; scroll-snap-align:start; min-width:0; }
}

@media (max-width: 991px) {
    .sobre-pilares { display:flex; flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; gap:1rem; padding-bottom:.5rem; margin:2rem -1rem; padding-left:1rem; padding-right:1rem; }
    .sobre-pilares::-webkit-scrollbar { display:none; }
    .sobre-pilares .pilar-card { flex:0 0 75vw; scroll-snap-align:start; }
    .archive-areas-grid { grid-template-columns:1fr; }
}

@media (min-width: 768px) {
    .nav-links { display:flex; }
    .nav-cta { display:flex; }
    .nav-hamburger { display:none; }
    .hero-title { font-size:2.5rem; }
    .about-section { padding:7rem 0; }
    .about-section h2 { font-size:34px; margin: 0; }

    .expertise-section { padding:6rem 0; }
    .expertise-grid { grid-template-columns:repeat(2,1fr); }
    .archive-areas-grid { grid-template-columns:repeat(2,1fr); }
    .services-section { padding:6rem 0; }
    .services-grid { grid-template-columns:repeat(3,1fr); }
    .stats-grid { grid-template-columns:repeat(4,1fr); }
    .stat-item { border-bottom:none!important; }
    .stat-item:nth-child(2) { border-right:1px solid rgba(255,255,255,.1); }
    .stat-item:nth-child(3) { border-right:1px solid rgba(255,255,255,.1); }
    .publications-section { padding:6rem 0; }
    .publications-header { text-align:center; }
    .publications-grid { grid-template-columns:repeat(3,1fr); }
    .contact-section { padding:6rem 0; text-align:left; }
    .contact-item { align-items:flex-start; justify-content:flex-start; }
    .social-links { justify-content:flex-start; }
    .form-row { grid-template-columns:1fr 1fr; }
    .pub-archive-grid { grid-template-columns:repeat(2,1fr); }
    .pub-card-body { align-items:center; }
    .footer-grid { grid-template-columns:1fr 1fr; text-align:left; }
    .footer-brand { align-items:flex-start; }
    .footer-col { align-items:flex-start; }
    .footer-col ul { text-align:left; }
    .footer-contact-item { justify-content:flex-start; }
    .footer-social { justify-content:flex-start; }
    .footer-bottom { flex-direction:row; justify-content:space-between; text-align:left; }
}

@media (min-width: 1024px) {
    #site-header:not(.scrolled):not(.menu-open):not(.inner-page) { top:1.5rem; }
    /* .hero-section { padding-top:5rem; padding-bottom:3rem; min-height:80vh; } */
    .hero-title { font-size: 40px; }
    .hero-actions { flex-direction:row; justify-content:flex-start; }
    .hero-visual { display:block; position:relative; align-self:stretch; overflow:visible; }
    .hero-visual .hero-ring { display:block; }
    .hero-content { text-align:left; order:0; padding:0; width: 100%; min-width: 600px; }
    .hero-badge { justify-content:flex-start; }
    .hero-desc { margin-left:0; }
    .hero-grid { display:grid; flex-direction:unset; grid-template-columns:5fr 6fr; gap:0; align-items:center; }
    .about-content { text-align:center; }
    .expertise-grid { grid-template-columns:repeat(3,1fr); }
    .expertise-card { align-items:center; text-align:center; }
    .pub-archive-grid { grid-template-columns:repeat(3,1fr); }
    .single-hero h1 { font-size:2.75rem; }
    .contact-grid { display:grid; grid-template-columns:5fr 7fr; gap:4rem; }
    .footer-grid { grid-template-columns:1fr 1fr 1fr 1fr; }
    .consult-card { padding:3rem; }
    .form-row-half { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
    .single-img-hero { height:24rem; }
    .single-related-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 980px) {

    .hero-section {
    padding: 70px 0 80px 0;
    }

    .nav-logo img {
    height: 28px;
    transform: translateY(-2px);
    }

    .nav-hamburger .material-symbols-outlined {
    font-size: 30px;
    margin: -8px 0 0 0;
    }

    .nav-inner {
    height: 55px;
    padding: 28px 20px 20px 20px;
    }

    .nav-mobile.open {
    padding: 20px;
    text-align: center;
    }

    .hero-visual {
    margin-bottom: -24px;
    }

    .hero-badge {
    max-width: 200px;
    }

    .hero-badge-dot {
    display: none;
    }

    .hero-title {
    font-size: 34px;
    line-height: 34px;
    }

    .about-section,
    .expertise-section,
    .services-section,
    .stats-section,
    .publications-section,
    .contact-section {
    padding: 30px 0 30px 0;
    }

    .contact-item {
    text-align: left;
    }

    .contact-form-wrap {
    padding: 20px;
    }

    #site-footer {
    padding: 30px 0 30px 0;
    }

    .footer-contact-item {
    display: flex;
    flex-direction: column;
    text-align: center;
    }

    .footer-contact-item span {
    text-align: center;
    }

    .single-hero {
    padding: 82px 0 20px 0;
    }

    .hero-visual {
    margin-top: 0;
    height: 250px;
    }

    .hero-visual .hero-ring {
    display: block;
    width: 220px;
    height: 220px;
    top: 150px;
    left: 0;
    right: 0;
    margin: auto;
    }

    .hero-photo {
    height: 250px;
    transform: translateX(-50%);
    }

    .page-hero {
    padding: 92px 0 50px 0;
    }

    .search-trigger {
    padding: 18px 16px 16px 16px;
    }

    .hidden-mobile {
    display: none !important;
    }
    
    .nav-logo img { transform: translateY(0px); }
    
    .review-grid {
    display: block;
    }

    .review-grid dt,
    .review-grid dd {
    margin-bottom: 10px;
    }

    .about-section h2 {
    font-size: 28px;
    line-height: 28px;
    }

    .about-section h2 strong {
    display: block;
    font-size: 20px;
    line-height: 18px;
    }

    .about-oab {
    font-size: 20px;
    line-height: 20px;
    }

    .about-section h2 strong.hidden-xs {
    display: none;
    }

    .sobre-pilares {
    margin: 24px 0 20px 0;
    }

}

/* Pagenavi */

.paginacao {
display: flex;
justify-content: center;
margin: 30px 0 0 0;
}

.wp-pagenavi {
padding: 10px 20px 10px 0;
display:block !important;
clear:both !important;
}

.wp-pagenavi a ,.wp-pagenavi span.pages, .wp-pagenavi span.extend,.wp-pagenavi span.current {
display: inline-block;
color:#707070 !important;
background: #fff !important;
border: solid 1px #DCDCDC !important;
padding: 10px 16px 8px 16px !important;
margin-right: 3px !important;
text-decoration: none !important;
font-size: 12px !important;
transition: 0.3s;
border-radius: 10px;
}

.wp-pagenavi span.current,
.wp-pagenavi a:hover {
color: var(--primary) !important;
border-color:#0f0f0f !important;
background:#0f0f0f !important;
transition: 0.3s
}

.wp-pagenavi span.extend {
display: none !important;
}

.wp-pagenavi span.pages {
display: none;
}

/* MOBILE */

@media (max-width: 991px)  {

	.wp-pagenavi {
	display: flex !important;
	justify-content: center;
	align-items: center;
	padding: 10px 0 10px 0;
	}

	.wp-pagenavi a, .wp-pagenavi span.pages, .wp-pagenavi span.extend, .wp-pagenavi span.current {
	margin: 0 8px 0 8px;
	padding: 12px 15px 10px 15px !important;
	}

	.wp-pagenavi .pages,
	.wp-pagenavi .extend,
	.wp-pagenavi .first,
	.wp-pagenavi .last {
	display: none !important;
	}

}