/* ===========================
   VARIÁVEIS E RESETS GLOBAIS
   =========================== */

:root {
    --primary-red: #41160F;
    --primary-red-dark: #4f0909;
    --primary-red-light: #ce6363;
    --white: #F8F9FA;
    --dark-gray: #251b1b;
    --light-gray: #DEDEDD;
    --medium-gray: #868885;
    --green: #4CAF50;
    --dark-green: #388E3C;
    --shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    --shadow-hover: 0 8px 25px rgba(0, 0, 0, 0.15);
    --transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif; /* fonte moderna e legível */
    line-height: 1.3;
    background-color: var(--white);
    overflow-x: hidden;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}

/* ===========================
   NAVEGAÇÃO
   =========================== */

.navbar {
    background: rgba(248, 249, 250, 0.96);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 30px rgba(37, 27, 27, 0.08);
    position: sticky;
    top: 0;
    z-index: 1000;
    animation: slideDown 0.5s ease-out;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.navbar-transparent {
    background: rgba(248, 249, 250, 0.88);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    position: fixed;
    width: 100%;
    left: 0;
}

.navbar.scrolled {
    background: rgba(248, 249, 250, 0.98);
    box-shadow: 0 10px 35px rgba(37, 27, 27, 0.12);
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.navbar-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 82px;
}

.logo {
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: var(--transition);
    flex-shrink: 0;
}

.logo-icon {
    display: block;
    height: 48px;
    width: auto;
}

.logo:hover {
    transform: translateY(-1px);
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: clamp(18px, 2vw, 32px);
    height: 100%;
    align-items: center;
}

.nav-menu li {
    display: flex;
    align-items: center;
    height: 100%;
}

.nav-link {
    color: var(--dark-gray);
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 0.045em;
    position: relative;
    transition: var(--transition);
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    background: var(--primary-red-light);
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    transition: var(--transition);
    border-radius: 999px;
}

.nav-link:hover::after {
    width: 100%;
}

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

.nav-menu > li:last-child .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

.nav-menu > li:last-child .nav-link::after {
    display: none;
}

.nav-menu > li:last-child .nav-link:hover {
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.15);
    border-color: rgba(65, 22, 15, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    transform: translateY(-3px);
}

.nav-link:focus-visible,
.dropdown-menu a:focus-visible,
.logo:focus-visible,
.menu-toggle:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.45);
    outline-offset: 4px;
    border-radius: 6px;
}

/* Dropdown Menu */
.dropdown {
    position: relative;
}

.arrow-down {
    color: var(--primary-red);
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform 0.3s ease;
}

.dropdown:hover .arrow-down,
.dropdown:focus-within .arrow-down {
    transform: translateY(2px) rotate(225deg);
}

.dropdown-menu {
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    position: absolute;
    top: calc(100% - 10px);
    left: -18px;
    background-color: #fff;
    list-style: none;
    min-width: 280px;
    padding: 10px;
    border: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: var(--shadow-hover);
    border-radius: 12px;
    overflow: hidden;
    z-index: 1000;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.dropdown:hover .dropdown-menu,
.dropdown:focus-within .dropdown-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.dropdown-menu li a {
    display: block;
    padding: 12px 14px;
    color: var(--primary-red);
    text-decoration: none;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 600;
    transition: var(--transition);
    width: 100%;
    border-radius: 8px;
}

.dropdown-menu li a:hover {
    background-color: rgba(65, 22, 15, 0.08);
    color: var(--primary-red-dark);
    padding-left: 18px;
}

.dropdown-menu .current-page {
    background: rgba(65, 22, 15, 0.1);
    color: var(--primary-red-dark);
    font-weight: 800;
}

/* Menu Toggle (Mobile) */
.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 10px;
    align-items: center;
    justify-content: center;
    background: rgba(65, 22, 15, 0.06);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 10px;
    cursor: pointer;
    flex-direction: column;
    gap: 5px;
}

.menu-toggle span {
    width: 22px;
    height: 2px;
    background: var(--primary-red);
    border-radius: 2px;
    transition: var(--transition);
}

.menu-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* ===========================
   HERO SECTION
   =========================== */

.hero .container {
    position: relative;
    z-index: 2;
}

.hero {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    background-color: var(--primary-red);
}

.hero-background {
    position: absolute;
    width: 800px;
    height: 800px;
    background: var(--light-gray);
    border-radius: 50%;
    top: -150px;
    right: -100px;
    opacity: 0.1;
    animation: float 6s ease-in-out infinite;
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-30px); }
}

.hero-person {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: none;
    background-size: clamp(250px, 35vw, 650px);
    background-position: 85% bottom;
    background-repeat: no-repeat;
    z-index: 1;
    pointer-events: none;
}

.hero-content {
    text-align: left;
    max-width: 600px;
    animation: fadeInUp 1s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hero-title {
    font-size: 40px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 20px;
    line-height: 1.3;
    max-width: 700px;
}

.hero-text {
    font-size: 16px;
    color: var(--light-gray);
    margin-bottom: 40px;
    line-height: 1.3;
}

.hero-button:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-3px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

/* Hero Section - Página Quem Somos */
.hero-about {
    background-image: 
        /* linear-gradient(to top, var(--primary-red) 0%, transparent 5%),
        linear-gradient(to bottom, var(--primary-red) 0%, transparent 5%), */
        linear-gradient(to right, var(--primary-red) 0%, transparent 25%),
        linear-gradient(to left, var(--primary-red) 0%, transparent 25%),
        url('../resources/Imagens/quem_somos_ed.jpg');
    background-size: cover;
    background-position: bottom;
    min-height: 90vh; /* Garante que a seção tenha altura suficiente */
}

.hero-content-centered {
    text-align: center; /* Centraliza o texto horizontalmente */
    max-width: 800px;
    margin: 0 auto; /* Centraliza o container do conteúdo */
    animation: fadeInUp 1s ease-out;
}

/* Melhora a legibilidade do texto na hero 'Quem Somos' */
.hero-about .hero-title,
.hero-about .hero-text {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}

.hero-construction {
    background-image:
        linear-gradient(90deg, rgba(37, 27, 27, 0.92) 0%, rgba(65, 22, 15, 0.76) 46%, rgba(37, 27, 27, 0.18) 100%),
        url('../resources/Imagens/hero-construction.jpg');
    background-size: cover;
    background-position: center;
    min-height: 80vh;
    align-items: center;
    display: flex;
}

.construction-hero-content {
    max-width: 600px;
    text-align: left;
}

.construction-hero-content::before {
    display: none; /* Remove a linha padrão do hero-copy */
}

.construction-hero-content .hero-title {
    font-size: 48px;
    font-weight: 800;
    color: var(--white);
}

/* ===========================
   PÁGINA MERCADO DIGITAL
   =========================== */

.digital-section-white {
    background-color: var(--white);
    padding: 80px 0;
}

.digital-section-gray {
    background-color: var(--light-gray);
    padding: 80px 0;
}

.hero-digital {
    background: var(--primary-red);
    min-height: 80vh;
}

.digital-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 20px;
}

.hero-digital .hero-content {
    max-width: 700px;
}

.digital-hero-img img {
    width: 100%;
    max-width: 500px;
    height: auto;
    animation: float 6s ease-in-out infinite;
}

.digital-benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.digital-benefit-card {
    background-color: var(--white);
    padding: 20px 25px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 20px;
    border: 1px solid var(--light-gray);
    transition: var(--transition);
}

.digital-benefit-card:hover {
    border-color: var(--primary-red);
    transform: translateY(-5px);
    box-shadow: var(--shadow);
}

.digital-benefit-card img {
    height: 40px;
    flex-shrink: 0;
    filter: grayscale(100%) opacity(0.6);
    transition: var(--transition);
}

.digital-benefit-card:hover img {
    filter: grayscale(0%) opacity(1);
}

.digital-benefit-card h3 {
    font-size: 16px;
    color: var(--dark-gray);
    font-weight: 600;
    margin: 0 0 5px 0;
}

.digital-benefit-card p {
    font-size: 13px;
    color: var(--medium-gray);
    line-height: 1.5;
    margin: 0;
}

.digital-cta {
    padding: 80px 0;
    background: linear-gradient(45deg, var(--primary-red), var(--primary-red-dark));
    text-align: center;
}

.digital-cta-content {
    max-width: 800px;
    margin: 0 auto;
}

.digital-cta-content h2 {
    font-size: 32px;
    color: var(--white);
    margin-bottom: 30px;
    font-weight: 600;
    line-height: 1.4;
}

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

.digital-sectors-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}

.digital-sector-item {
    background-color: var(--light-gray);
    color: var(--primary-red);
    padding: 12px 25px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 16px;
    box-shadow: var(--shadow);
    transition: var(--transition);
    border: 1px solid transparent;
}

.digital-sector-item:hover {
    background-color: var(--primary-red-light);
    color: var(--white);
    transform: translateY(-3px);
    border-color: transparent;
}

.digital-commercial-text #digital-commercial-title {
    font-size: 36px;
    color: var(--dark-gray);
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 20px;
}

.digital-commercial-text p {
    color: var(--medium-gray);
    line-height: 1.7;
    margin-bottom: 15px;
}

.digital-commercial-img img {
    width: 100%;
    max-width: 450px;
}

/* ===========================
   PÁGINA SAÚDE
   =========================== */

/* Estilo geral para as seções da página de saúde */
.health-section-white {
    background-color: var(--white);
    padding: 80px 0;
}

.health-section-gray {
    background-color: var(--light-gray);
    padding: 80px 0;
}

/* Hero Section - Saúde */
.hero-health {
    background-color: var(--white);
    padding: 60px 0;
    min-height: 80vh;
    display: flex;
    align-items: center;
}

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

.health-hero-text .hero-title {
    color: var(--white);
    font-size: 42px;
    font-weight: 600; /* Fonte mais delicada */
}

.health-hero-text .hero-text {
    color: var(--white);
    font-size: 18px;
    margin-bottom: 30px;
}

.health-hero-img img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}

/* Seção de Introdução (Benefícios) - Saúde */
.health-intro-content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.health-intro-content .section-header {
    margin-bottom: 40px;
}

.health-intro-list ul {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px 40px;
    text-align: left;
}

.health-intro-list ul li {
    font-size: 15px;
    color: var(--dark-gray);
    line-height: 1.6;
    padding-left: 35px;
    position: relative;
}

.health-intro-list ul li::before {
    content: ' ';
    position: absolute;
    left: 0;
    top: 5px;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2341160F'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* Seção Setores Atendidos - Saúde */
.health-sectors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 25px;
}

.health-sector-card {
    background-color: var(--white);
    padding: 20px 25px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 20px;
    border: 1px solid var(--light-gray);
    transition: var(--transition);
}

.health-sector-card:hover {
    border-color: var(--primary-red);
    transform: translateY(-5px);
    box-shadow: var(--shadow);
}

.health-sector-card img {
    height: 40px;
    filter: grayscale(100%) opacity(0.6);
    transition: var(--transition);
}

.health-sector-card:hover img {
    filter: grayscale(0%) opacity(1);
}

.health-sector-card h3 {
    font-size: 16px;
    color: var(--dark-gray);
    font-weight: 600;
    margin: 0;
}

/* Seção CTA - Saúde */
.health-cta-container {
    background-color: var(--white);
    padding: 60px 40px;
    border-radius: 12px;
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
    box-shadow: var(--shadow);
}

.health-cta-container h2 {
    color: var(--dark-gray);
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 30px;
}

/* Seção Comercial - Saúde */
.health-commercial-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.health-commercial-text {
    text-align: left;
}

.health-commercial-text h2 {
    font-size: 36px;
    color: var(--dark-gray);
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 20px;
}

.health-commercial-text p {
    color: var(--medium-gray);
    line-height: 1.7;
    margin-bottom: 15px;
}

.health-img-container img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: var(--shadow);
}

/* Ajuste no Depoimento para a página de saúde */
.main-testimonial.health-section-gray .testimonial-quote {
    font-weight: 500;
}

.main-testimonial.health-section-gray .testimonial-author {
    color: var(--primary-red);
}

/* ===========================
   SEÇÃO INTRODUÇÃO CONSTRUÇÃO CIVIL
   =========================== */

.construction-intro {
    background-color: var(--white);
    padding: 80px 0;
}

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

.construction-intro-text #construction-expertise-title {
    font-size: 36px;
    color: var(--primary-red);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 25px;
}

.construction-intro-text p {
    font-size: 16px;
    color: var(--medium-gray);
    line-height: 1.6;
    margin-bottom: 25px;
}

.construction-intro-text ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 40px;
}

.construction-intro-text ul li {
    font-size: 16px;
    color: var(--dark-gray);
    line-height: 1.6;
    margin-bottom: 15px;
    padding-left: 30px;
    position: relative;
}

.construction-intro-text ul li::before {
    content: '✓';
    color: var(--primary-red);
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0;
}

.construction-intro-img img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: var(--shadow-hover);
}

/* ===========================
   SEÇÃO SETORES ATENDIDOS (CONSTRUÇÃO)
   =========================== */

.construction-sectors {
    background-color: var(--light-gray);
    padding: 40px 0;
}

.construction-sectors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

.sector-card {
    background-color: var(--white);
    padding: 20px 25px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 20px;
    border: 1px solid var(--light-gray);
    transition: var(--transition);
}

.sector-card:hover {
    border-color: var(--primary-red);
    transform: translateY(-5px);
    box-shadow: var(--shadow);
}

.sector-card img {
    height: 40px;
    flex-shrink: 0;
    filter: grayscale(100%) opacity(0.6);
    transition: var(--transition);
}

.sector-card:hover img {
    filter: grayscale(0%) opacity(1);
}

.sector-card-content {
    padding: 0;
}

.sector-card h3 {
    font-size: 16px;
    color: var(--dark-gray);
    font-weight: 600;
    margin: 0 0 5px 0;
}

.sector-card p {
    font-size: 13px;
    color: var(--medium-gray);
    line-height: 1.5;
    margin: 0;
}

.hero-about .hero-title {
    color: var(--white); /* Garante que o título seja branco para contraste com o fundo */
} 

/* ===========================
   SEÇÃO DE DESTAQUES
   =========================== */

.features {
    padding: 96px 0;
    background:
        linear-gradient(180deg, #fff 0%, var(--white) 100%);
    overflow: hidden;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.feature-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 100%;
    padding: 34px 30px 32px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 18px;
    box-shadow: var(--shadow);
    text-align: left;
    transition: var(--transition);
    animation: fadeInUp 0.7s ease-out both;
}

.feature-item:nth-child(2) {
    animation-delay: 0.08s;
}

.feature-item:nth-child(3) {
    animation-delay: 0.16s;
}

.feature-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 30px;
    width: 54px;
    height: 3px;
    background: var(--primary-red-light);
    border-radius: 0 0 999px 999px;
    transition: var(--transition);
}

.feature-item:hover {
    border-color: rgba(65, 22, 15, 0.18);
    box-shadow: var(--shadow-hover);
    transform: translateY(-5px);
}

.feature-item:hover::after {
    width: 82px;
}

.feature-item h3 {
    margin-bottom: 12px;
    color: var(--dark-gray);
    font-size: 21px;
    font-weight: 800;
    line-height: 1.25;
}

.feature-item img {
    width: 68px;
    height: 68px;
    object-fit: contain;
    margin-bottom: 24px;
    padding: 12px;
    background: rgba(65, 22, 15, 0.055);
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 16px;
}

.feature-item p {
    margin: 0;
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 1.65;
    text-align: left;
}

@media (max-width: 900px) {
    .features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .feature-item:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .features {
        padding: 72px 0;
    }

    .features .section-header {
        margin-bottom: 38px;
    }

    .features-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .feature-item,
    .feature-item:last-child {
        grid-column: auto;
    }

    .feature-item {
        padding: 28px 24px 26px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .feature-item {
        animation: none;
        transition: none;
    }

    .feature-item:hover {
        transform: none;
    }
}

/* ===========================
   AJUSTES FINAIS
   =========================== */

.hero-home {
    --hero-image: url('../resources/Imagens/pagina-inicial.jpg');
}

.open-company-hero,
.switch-hero,
.societario-page .corporate-hero-section,
.payroll-hero,
.accounting-hero,
.tax-hero,
.mei-hero,
.page-title-section.plans-page-hero {
    --service-hero-grid-x: rgba(248, 249, 250, 0.05);
    --service-hero-grid-y: rgba(248, 249, 250, 0.04);
    --service-hero-grid-size: 88px 88px;
    --service-hero-grid-mask: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 150px 0 96px;
}

.switch-hero,
.societario-page .corporate-hero-section,
.payroll-hero {
    background:
        linear-gradient(90deg, rgba(19, 13, 13, 0.74) 0%, rgba(19, 13, 13, 0.38) 46%, rgba(19, 13, 13, 0.08) 100%),
        radial-gradient(circle at 82% 18%, rgba(248, 249, 250, 0.12), transparent 30%),
        linear-gradient(135deg, var(--primary-red) 0%, var(--primary-red-dark) 58%, #130d0d 100%);
}

.open-company-hero,
.accounting-hero,
.tax-hero,
.page-title-section.plans-page-hero {
    background:
        linear-gradient(90deg, rgba(19, 13, 13, 0.74) 0%, rgba(19, 13, 13, 0.38) 46%, rgba(19, 13, 13, 0.08) 100%),
        radial-gradient(circle at 82% 18%, rgba(248, 249, 250, 0.12), transparent 30%),
        linear-gradient(135deg, var(--primary-red) 0%, var(--primary-red-dark) 58%, #130d0d 100%);
}

.switch-hero,
.societario-page .corporate-hero-section,
.payroll-hero {
    --service-hero-grid-x: rgba(255, 255, 255, 0.08);
    --service-hero-grid-y: rgba(255, 255, 255, 0.06);
}

.open-company-hero::before,
.switch-hero::before,
.societario-page .corporate-hero-section::before,
.payroll-hero::before,
.accounting-hero::before,
.tax-hero::before,
.mei-hero::before,
.page-title-section.plans-page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, var(--service-hero-grid-x) 1px, transparent 1px),
        linear-gradient(180deg, var(--service-hero-grid-y) 1px, transparent 1px);
    background-size: var(--service-hero-grid-size);
    mask-image: var(--service-hero-grid-mask);
    -webkit-mask-image: var(--service-hero-grid-mask);
    pointer-events: none;
}

.switch-hero::before,
.societario-page .corporate-hero-section::before,
.payroll-hero::before {
    filter: blur(0.35px);
}

.hero-image-panel {
    position: relative;
    justify-self: end;
    width: 100%;
    max-width: 520px;
    height: 520px;
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 28px 68px rgba(37, 27, 27, 0.16);
}

.hero-image-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(37, 27, 27, 0.04), rgba(37, 27, 27, 0.16)),
        radial-gradient(circle at 82% 14%, rgba(206, 99, 99, 0.18), transparent 34%);
    pointer-events: none;
}

.hero-image-panel img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    object-position: center;
}

.open-company-hero-grid,
.switch-hero-grid,
.societario-page .corporate-hero-grid,
.plans-hero-grid,
.payroll-hero-grid,
.accounting-hero-grid,
.tax-hero-grid,
.mei-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(340px, 0.84fr);
    gap: 64px;
    align-items: center;
}

.open-company-hero-copy h1,
.switch-hero-copy h1,
.societario-page .corporate-hero-copy h1,
.plans-hero-copy h1,
.payroll-hero-copy h1,
.accounting-hero-copy h1,
.tax-hero-copy h1,
.mei-hero-copy h1 {
    max-width: 720px;
    margin: 0;
    font-size: 60px;
    line-height: 66px;
    font-weight: 800;
    letter-spacing: 0;
    text-align: left;
}

.open-company-hero-copy h1,
.accounting-hero-copy h1,
.tax-hero-copy h1,
.plans-hero-copy h1,
.mei-hero-copy h1 {
    color: var(--white);
}

.switch-hero-copy h1,
.societario-page .corporate-hero-copy h1,
.payroll-hero-copy h1 {
    color: var(--white);
}

.open-company-hero-copy p,
.switch-hero-copy p,
.societario-page .corporate-hero-copy p,
.plans-hero-copy p,
.payroll-hero-copy p,
.accounting-hero-copy p,
.tax-hero-copy p,
.mei-hero-copy p {
    max-width: 590px;
    margin: 20px 0 0;
    font-size: 18px;
    line-height: 28px;
}

.open-company-hero-copy p,
.accounting-hero-copy p,
.tax-hero-copy p,
.plans-hero-copy p,
.mei-hero-copy p {
    color: rgba(248, 249, 250, 0.86);
}

.switch-hero-copy p,
.societario-page .corporate-hero-copy p,
.payroll-hero-copy p {
    color: rgba(248, 249, 250, 0.86);
}

.mei-hero-copy p {
    font-weight: 500;
}

.open-company-hero-actions,
.switch-hero-actions,
.societario-page .corporate-hero-actions,
.payroll-hero-actions,
.accounting-hero-actions,
.tax-hero-actions,
.mei-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    margin-top: 32px;
}

@media (max-width: 1100px) {
    .open-company-hero-grid,
    .switch-hero-grid,
    .societario-page .corporate-hero-grid,
    .plans-hero-grid,
    .payroll-hero-grid,
    .accounting-hero-grid,
    .tax-hero-grid,
    .mei-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hero-image-panel {
        justify-self: stretch;
        width: 100%;
        max-width: none;
        height: 420px;
        min-height: 0;
    }
}

@media (max-width: 720px) {
    .open-company-hero,
    .switch-hero,
    .societario-page .corporate-hero-section,
    .plans-page-hero,
    .payroll-hero,
    .accounting-hero,
    .tax-hero,
    .mei-hero {
        padding: 128px 0 78px;
    }

    .hero-image-panel {
        height: 340px;
        min-height: 0;
        border-radius: 16px;
    }
}

@media (max-width: 420px) {
    .hero-image-panel {
        height: 300px;
        min-height: 0;
    }
}

@media (max-width: 480px) {
    .open-company-hero-copy h1,
    .switch-hero-copy h1,
    .societario-page .corporate-hero-copy h1,
    .plans-hero-copy h1,
    .payroll-hero-copy h1,
    .accounting-hero-copy h1,
    .tax-hero-copy h1,
    .mei-hero-copy h1 {
        max-width: 100%;
        font-size: 38px;
        line-height: 43px;
    }

    .open-company-hero-copy p,
    .switch-hero-copy p,
    .societario-page .corporate-hero-copy p,
    .plans-hero-copy p,
    .payroll-hero-copy p,
    .accounting-hero-copy p,
    .tax-hero-copy p,
    .mei-hero-copy p {
        margin-top: 18px;
        font-size: 16px;
        line-height: 26px;
    }
}
.service-proof {
    font-size: 16px;
}

.contact-map {
    border: 0;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--primary-red-light);
    outline-offset: 4px;
}

.faq-question:focus-visible {
    position: relative;
    z-index: 1;
}

/* ===========================
   SECTION STYLES
   =========================== */

section {
    padding: 50px 0;
    position: relative;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
    animation: fadeInUp 0.8s ease-out;
}

.section-header h2 {
    font-size: 40px;
    color: var(--dark-gray);
    margin-bottom: 20px;
    font-weight: 600;
}

.header-line {
    width: 80px;
    height: 5px;
    background: var(--primary-red);
    margin: 0 auto 30px;
    border-radius: 3px;
}

.section-subtitle {
    font-size: 14px;
    color: var(--medium-gray);
}

/* ===========================
   SEÇÃO QUEM SOMOS
   =========================== */

.home-about {
    padding: 104px 0;
    background: #fff;
}

.home-about-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(48px, 7vw, 88px);
    align-items: center;
}

.home-about-media {
    position: relative;
    min-height: 520px;
}

.home-about-media::before {
    content: '';
    position: absolute;
    inset: 28px -20px -24px 28px;
    background: rgba(65, 22, 15, 0.07);
    border-radius: 24px;
}

.home-about-media img {
    position: relative;
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 22px;
    box-shadow: var(--shadow-hover);
}

.home-about-authority,
.about-authority {
    position: absolute;
    right: -24px;
    bottom: 30px;
    display: flex;
    max-width: 250px;
    flex-direction: column;
    gap: 6px;
    padding: 20px 22px;
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 14px;
    box-shadow: var(--shadow-hover);
}

.home-about-authority strong,
.about-authority strong {
    color: var(--primary-red);
    font-size: 20px;
    line-height: 1.2;
}

.home-about-authority span,
.about-authority span {
    color: var(--medium-gray);
    font-size: 13px;
    line-height: 1.45;
}

.section-label {
    display: inline-block;
    margin: 0 0 16px;
    color: var(--primary-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-about-copy h2 {
    margin-bottom: 24px;
    color: var(--dark-gray);
    font-size: clamp(34px, 3.4vw, 48px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.03em;
}

.home-about-copy p {
    margin-bottom: 14px;
    color: var(--medium-gray);
    font-size: 16px;
    line-height: 1.75;
}

.institutional-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.institutional-chips li {
    padding: 9px 13px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.055);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.home-about-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 30px;
}

.home-about-actions .cta-button-red {
    margin: 0;
}

.about-link {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    color: var(--primary-red);
    border: 1px solid rgba(65, 22, 15, 0.28);
    border-radius: 11px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.about-link:hover {
    color: var(--white);
    background: var(--primary-red);
    border-color: var(--primary-red);
    transform: translateY(-2px);
}

.about {
    padding: 100px 0;
    background: linear-gradient(180deg, var(--white), #fff);
}

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

.about-content .cta-button-red {
    margin-top: 40px;
}

.about-intro {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(42px, 6vw, 76px);
    /* grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); */
    align-items: center;
}

.intro-text {
    padding: 0;
    color: var(--medium-gray);
    text-align: justify;
}

.intro-text h2 {
    margin-bottom: 24px;
    color: var(--dark-gray);
    font-size: clamp(32px, 3.2vw, 42px);
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -0.03em;
}

.intro-text p {
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 1.75;
    text-align: justify;
}

.intro-img {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
}

.intro-img img {
    width: 100%;
    height: 590px;
    min-height: 0;
    object-fit: cover;
    display: block;
    margin: 0;
    padding: 0;
    border-radius: 22px;
    box-shadow: var(--shadow-hover);
}
 
/* ===========================
   SEÇÃO QUEM É O LUCIANO
   =========================== */

.about-founder {
    background: #fff;
    /* background: linear-gradient(90deg, var(--primary-red) 0%, var(--light-gray) 75%, var(--primary-red) 150%); */
    padding: 100px 0;
}

.founder-content {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
    align-items: center;
    gap: clamp(44px, 7vw, 88px);
}

.founder-text {
    padding: 0;
    animation: fadeInUp 0.8s ease-out;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.founder-text h2 {
    font-size: clamp(36px, 3.5vw, 48px);
    color: var(--dark-gray);
    margin-bottom: 24px;
    font-weight: 700;
    line-height: 1.3;
}

.founder-text p {
    font-size: 16px;
    color: var(--medium-gray);
    line-height: 1.75;
    margin-bottom: 16px;
    text-align: left;
}

.founder-credentials {
    list-style: none;
    padding: 0;
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.founder-credentials li {
    position: relative;
    padding-left: 28px;
    color: var(--dark-gray);
    font-size: 15px;
    font-weight: 600;
}

.founder-credentials li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--primary-red);
    font-weight: 700;
}

.founder-img {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    animation: fadeInUp 0.8s ease-out;
}

.founder-img img {
    width: 100%;
    height: 610px;
    min-height: 0;
    object-fit: cover;
    display: block;
    margin: 0;
    padding: 0;
    object-position: center top;
    border-radius: 22px;
    box-shadow: var(--shadow-hover);
}

/* ===========================
   SEÇÃO COORDENADORES
   =========================== */

.coordinators {
    background: var(--white);
    padding: 100px 0;
}

.coordinators .section-header h2 {
    color: var(--dark-gray);
}

.coordinators .header-line {
    background: var(--primary-red);
}

.coordinators-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.coordinator-card {
    overflow: hidden;
    background: var(--white);
    border: 1px solid rgba(65, 22, 15, 0.1);
    padding: 0;
    border-radius: 18px;
    box-shadow: var(--shadow);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    animation: fadeInUp 0.8s ease-out;
}

.coordinator-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
}

.coordinator-img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: center center;
    margin: 0 0 22px;
}

.coordinator-card h3 {
    color: var(--dark-gray);
    margin: 22px 24px 7px;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
}

.coordinator-card p {
    color: var(--primary-red);
    margin: 0 24px 24px;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 700;
    text-align: center;
}

/* ===========================
   SEÇÃO DEPOIMENTO PRINCIPAL
   =========================== */

.main-testimonial {
    background-color: var(--light-gray);
    padding: 80px 0;
}

.testimonial-content {
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    align-items: center;
}

.testimonial-text {
    flex: 1 1 400px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    animation: fadeInUp 0.8s ease-out;
}

.testimonial-quote {
    font-size: 24px;
    color: var(--dark-gray);
    font-style: italic;
    line-height: 1.6;
    text-align: justify;
}

.testimonial-author {
    font-size: 18px;
    color: var(--primary-red);
    font-weight: 700;
}

.testimonial-place {
    font-size: 18px;
    color: var(--medium-gray);
    font-weight: 400;
}

.testimonial-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

/* Alterna a cor de fundo das seções de depoimento */
.main-testimonial:nth-of-type(odd) {
    background-color: var(--white);
}
.main-testimonial:nth-of-type(even) {
    background-color: var(--light-gray);
}

/* Inverte a ordem (imagem na direita) para os depoimentos com fundo cinza */
.main-testimonial:nth-of-type(even) .testimonial-content {
    flex-direction: row-reverse;
}
.testimonial-img {
    flex: 1 1 400px;
    display: flex;
    justify-content: center;
    animation: fadeInUp 0.8s ease-out;
}

.testimonial-img img {
    width: 300px;
    height: 300px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: var(--shadow-hover);
    border: 6px solid var(--white);
}

.testimonial-action {
    text-align: center;
    margin-top: 60px;
    width: 100%;
    animation: fadeInUp 0.8s ease-out;
}

.page-title-section {
    padding: 80px 0 0;
    background-color: var(--white);
}

/* .about-intro {
    font-size: 20px;
    color: var(--dark-gray);
    margin-bottom: 30px;
    line-height: 1.8;
} */

.mission-vision {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.card-info {
    background: linear-gradient(135deg, var(--light-gray) 0%, var(--white) 100%);
    padding: 30px;
    flex: 1 1 250px;
    border-radius: 12px;
    border-left: 5px solid var(--primary-red);
    transition: var(--transition);
    animation: fadeInUp 0.8s ease-out;
}

.card-info:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
}

.card-info h3 {
    color: var(--primary-red);
    margin-bottom: 15px;
    font-size: 20px;
}

.card-info p {
    color: var(--medium-gray);
    line-height: 1.3;
}

.statistics {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    flex: 1 1 300px;
}

.stat-item {
    background: var(--primary-red);
    color: var(--light-gray);
    padding: 40px;
    border-radius: 12px;
    text-align: center;
    transition: var(--transition);
    animation: fadeInUp 0.8s ease-out;
}

.stat-item:hover {
    background: var(--primary-red-dark);
    transform: scale(1.05);
    flex-grow: 1.2;
}

.stat-number {
    font-size: 48px;
    font-weight: 800;
    color: var(--white);
    margin-bottom: 10px;
}

.stat-item:hover .stat-number {
    color: var(--light-gray);
}

.stat-label {
    font-size: 16px;
    letter-spacing: 1px;
}

/* Seção Wrapper para as estatísticas na abrir_empresa */
.stats-section {
    background-color: var(--white);
    padding: 80px 0;
}

.stats-section .statistics {
    justify-content: center;
}

/* ===========================
   SEÇÃO PASSO A PASSO (FLUXOGRAMA)
   =========================== */

.steps-section {
    background-color: var(--light-gray);
    padding: 80px 0;
}

.steps-container {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 30px; /* 40px vertical, 30px horizontal */
    justify-content: center;
    position: relative;
    padding-top: 25px; /* Espaço para o número flutuante no topo */
}

/* Linha conectora apenas visível em telas grandes */
@media (min-width: 1025px) {
    .steps-container::before {
        content: '';
        position: absolute;
        top: 50%; /* Alinhado no centro vertical do container */
        transform: translateY(-50%);
        left: 10%;
        right: 10%;
        height: 4px;
        background: var(--medium-gray);
        z-index: 0;
        opacity: 0.3;
    }
}

.step-card {
    background: var(--white);
    padding: 40px 20px 30px;
    border-radius: 12px;
    flex: 1 1 220px;
    text-align: center;
    box-shadow: var(--shadow);
    position: relative;
    z-index: 1; /* Garante que fique acima da linha conectora */
    animation: fadeInUp 0.8s ease-out;
    transition: var(--transition);
}

.step-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-hover);
}

.step-number {
    width: 50px;
    height: 50px;
    background: var(--primary-red);
    color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    position: absolute;
    top: -25px; /* Puxa o círculo para cima do cartão pela metade da sua altura */
    left: 50%;
    transform: translateX(-50%);
    border: 4px solid var(--light-gray);
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.step-card:hover .step-number {
    background: var(--primary-red-dark);
    transform: translateX(-50%) scale(1.1);
}

.step-card h3 {
    color: var(--dark-gray);
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: 700;
}

.step-card p {
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 1.5;
}

/* ===========================
   SEÇÃO SEGMENTOS
   =========================== */

.segments-section {
    background: var(--light-gray);
    /* padding: 80px 0; */
}

.segments-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    margin-top: 20px;
}

.segment-button {
    flex: 1 1 300px;
    padding: 40px 20px;
    background-color: var(--light-gray);
    color: var(--primary-red);
    text-decoration: none;
    text-align: center;
    border-radius: 12px;
    font-size: 22px;
    font-weight: 700;
    transition: var(--transition);
    box-shadow: var(--shadow);
    border: 1px solid var(--medium-gray);    
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.segment-button img {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.segment-button:hover {
    color: var(--white);
    background-color: var(--primary-red);
    transform: translateY(-8px) scale(1.03);
    box-shadow: var(--shadow-hover);
}

/* ===========================
   SEÇÃO CTA DIGITAL
   =========================== */

.cta-digital {
    background-color: var(--primary-red);
    color: var(--white);
    padding: 80px 0;
}

.cta-digital-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px;
}

.cta-text {
    flex: 1 1 calc(50% - 20px); /* 50% menos metade do gap */
}

.cta-text h2 {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.3;
}

.cta-text p {
    font-size: 16px;
    color: var(--light-gray);
    margin-bottom: 30px;
    max-width: 500px;
}

.cta-button {
    display: inline-block;
    padding: 15px 40px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: var(--white);
    text-decoration: none;
    border-radius: 40px;
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
    transition: var(--transition);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

.cta-button:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-3px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

.cta-price {
    flex: 1 1 calc(50% - 20px); /* 50% menos metade do gap */
    text-align: center;
}

.cta-price-subtitle {
    font-size: 18px;
    color: var(--light-gray);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.cta-price-amount {
    font-size: 128px;
    font-weight: 800;
    line-height: 1.3;
}

.cta-price-amount .currency {
    font-size: 16px;
    font-weight: 700;
    vertical-align: super;
    margin-right: 8px;
}

/* ===========================
   SEÇÃO CTA FINAL
   =========================== */

.cta {
    background-color: var(--white);
    padding: 80px 0;
    text-align: center;
}

.cta-content {
    max-width: 800px;
    margin: 0 auto;
}

.cta-content h2 {
    font-size: 40px;
    color: var(--dark-gray);
    margin-bottom: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.cta-content p {
    font-size: 16px;
    color: var(--medium-gray);
    margin-bottom: 30px;
}

.cta-button-red {
    display: inline-block;
    min-height: 64px;
    padding: 20px 56px;
    background: rgba(65, 22, 15, 0.08); /* Efeito de vidro avermelhado para fundo branco */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(65, 22, 15, 0.2);
    color: var(--primary-red);
    text-decoration: none;
    border-radius: 40px;
    font-weight: 500;
    font-size: 16px;
    text-transform: uppercase;
    transition: var(--transition);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    cursor: pointer;
}

.cta-button-red:hover {
    background: rgba(65, 22, 15, 0.15);
    border-color: rgba(65, 22, 15, 0.3);
    transform: translateY(-3px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

/* ===========================
   SEÇÃO CTA VERMELHO
   =========================== */

.cta-red {
    background-color: var(--primary-red);
    padding: 80px 0;
    text-align: center;
}

.cta-red-content {
    max-width: 800px;
    margin: 0 auto;
    animation: fadeInUp 0.8s ease-out;
}

.cta-red-content h2 {
    font-size: 40px;
    color: var(--white);
    margin-bottom: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.cta-red-content p {
    font-size: 16px;
    color: var(--light-gray);
    margin-bottom: 40px;
}

/* ===========================
   SEÇÃO FAQ (PERGUNTAS FREQUENTES)
   =========================== */

.faq-section {
    background-color: var(--white);
    padding: 80px 0;
}

.faq-container {
    max-width: 800px;
    margin: 0 auto;
    animation: fadeInUp 0.8s ease-out;
}

.faq-item {
    border: 1px solid var(--light-gray);
    margin-bottom: 15px;
    border-radius: 8px;
    background-color: var(--white);
    box-shadow: var(--shadow);
    transition: var(--transition);
    overflow: hidden;
}

.faq-item:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-2px);
}

.faq-question {
    width: 100%;
    text-align: left;
    padding: 20px 25px;
    background: transparent;
    border: none;
    font-size: 18px;
    font-weight: 700;
    color: var(--dark-gray);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: var(--transition);
    font-family: inherit;
}

.faq-item.active .faq-question {
    color: var(--primary-red);
}

.faq-icon {
    font-size: 24px;
    font-weight: 400;
    color: var(--primary-red);
    transition: transform 0.3s ease;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg); /* Gira o ícone de + transformando-o num X */
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
}

.faq-answer-content {
    padding: 0 25px 25px;
    color: var(--medium-gray);
    line-height: 1.6;
    font-size: 16px;
}

/* ===========================
   SEÇÃO TIME SAVING (DEVOLVE SEU TEMPO)
   =========================== */

.time-saving {
    background-color: var(--light-gray); /* Fundo contrastante com o CTA anterior */
    padding: 80px 0;
}

.time-saving-content {
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    align-items: center;
}

.time-saving-text {
    flex: 1 1 400px;
    animation: fadeInUp 0.8s ease-out;
}

.time-saving-text h2 {
    font-size: 40px;
    color: var(--dark-gray);
    margin-bottom: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.time-saving-text p {
    font-size: 16px;
    color: var(--dark-gray);
    line-height: 1.6;
    text-align: justify;
}

.time-saving-img {
    flex: 1 1 400px;
    display: flex;
    justify-content: center;
}

.time-saving-img img {
    width: 100%;
    max-width: 500px;
    height: auto;
    border-radius: 12px;
    /* box-shadow: var(--shadow); */
    object-fit: cover;
}

/* ===========================
   SEÇÃO DETALHES DE CONTATO (PÁGINA CONTATO)
   =========================== */

.contact-page {
    overflow-x: clip;
}

.contact-page #contact-main-content:focus {
    outline: none;
}

.contact-page .dropdown > button.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
}

.contact-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(248, 249, 250, 0.93);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.contact-page .navbar-container {
    min-height: 74px;
}

.contact-page .logo-icon {
    height: 44px;
}

.contact-page .nav-menu {
    gap: clamp(16px, 1.8vw, 28px);
}

.contact-page .dropdown > button.nav-link {
    color: var(--dark-gray);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.contact-page .dropdown-menu .current-page {
    background: rgba(65, 22, 15, 0.1);
    color: var(--primary-red-dark);
    font-weight: 800;
}

.contact-page .dropdown-menu .current-page::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 9px;
    border-radius: 50%;
    background: var(--primary-red-light);
    vertical-align: 1px;
}

.contact-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

.contact-page .nav-menu > li:last-child .nav-link[aria-current="page"] {
    background: rgba(65, 22, 15, 0.08);
    border-color: rgba(65, 22, 15, 0.2);
    color: var(--primary-red);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
}

@media (max-width: 900px) {
    .contact-page .navbar-container {
        min-height: 68px;
    }

    .contact-page .logo-icon {
        height: 40px;
    }

    .contact-page .dropdown > button.nav-link {
        width: 100%;
        padding: 14px 16px;
        text-align: left;
    }
}

.contact-main-section {
    position: relative;
    overflow: hidden;
    padding: clamp(5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(206, 99, 99, 0.1), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, rgba(248, 249, 250, 0.98) 100%);
}

.contact-main-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(65, 22, 15, 0.035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(65, 22, 15, 0.03) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    pointer-events: none;
}

.contact-main-section .container {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.contact-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    margin-bottom: 1rem;
    color: var(--primary-red);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.contact-section-label::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.contact-main-header {
    max-width: 840px;
    margin: 0 auto clamp(2.4rem, 5vw, 3.8rem);
    text-align: center;
}

.contact-main-header .contact-section-label {
    margin-inline: auto;
}

.contact-main-header h1 {
    max-width: 100%;
    margin: 0;
    color: var(--dark-gray);
    font-size: clamp(2.05rem, 4.8vw, 3.7rem);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.contact-main-header p {
    max-width: 680px;
    margin: 1rem auto 0;
    color: var(--medium-gray);
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    font-weight: 500;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.contact-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.85fr);
    gap: clamp(1.4rem, 4vw, 3rem);
    align-items: stretch;
    min-width: 0;
}

.contact-map-panel,
.contact-info-panel {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 58px rgba(37, 27, 27, 0.1);
}

.contact-map-panel {
    min-height: 520px;
    padding: 0.85rem;
}

.contact-map-frame {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 492px;
    overflow: hidden;
    border-radius: 8px;
    background: var(--light-gray);
}

.contact-map-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.contact-info-panel {
    display: flex;
    flex-direction: column;
    padding: clamp(1.35rem, 3vw, 2rem);
}

.contact-info-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1.35rem;
    width: 62px;
    height: 4px;
    border-radius: 0 0 999px 999px;
    background: var(--primary-red-light);
}

.contact-info-header,
.contact-info-list,
.contact-social-row {
    position: relative;
    z-index: 1;
}

.contact-info-header span {
    display: inline-flex;
    margin-bottom: 0.65rem;
    color: var(--primary-red-light);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.contact-info-header #contact-info-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.contact-info-header p {
    margin: 0.85rem 0 0;
    color: var(--medium-gray);
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.68;
}

.contact-info-list {
    display: grid;
    gap: 0;
    margin: 1.4rem 0 0;
    padding: 0;
    list-style: none;
}

.contact-info-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(65, 22, 15, 0.1);
}

.contact-info-item > div {
    min-width: 0;
}

.contact-info-icon {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 8px;
    background: var(--primary-red);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
}

.contact-info-item h3 {
    margin: 0 0 0.35rem;
    color: var(--dark-gray);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
}

.contact-info-item p,
.contact-info-item address {
    margin: 0;
    color: var(--medium-gray);
    font-size: 0.94rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.contact-info-item a {
    color: inherit;
    text-decoration: none;
}

.contact-info-action {
    display: inline-flex;
    width: fit-content;
    margin-top: 0.55rem;
    color: var(--primary-red) !important;
    font-size: 0.86rem;
    font-weight: 800;
}

.contact-info-action:hover,
.contact-info-action:focus-visible {
    color: var(--primary-red-dark) !important;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.contact-social-row {
    display: flex;
    gap: 0.65rem;
    margin-top: 1.35rem;
}

.contact-social-row a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(65, 22, 15, 0.12);
    border-radius: 999px;
    background: rgba(65, 22, 15, 0.04);
    color: var(--primary-red);
    font-size: 0.72rem;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.contact-social-row a:hover,
.contact-social-row a:focus-visible {
    border-color: var(--primary-red);
    background: var(--primary-red);
    color: #fff;
    transform: translateY(-2px);
}

@media (max-width: 900px) {
    .contact-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .contact-main-section {
        padding-block: 3.75rem;
    }

    .contact-main-section .container {
        padding-inline: 18px;
    }

    .contact-main-header {
        width: min(100%, 354px);
        text-align: left;
    }

    .contact-main-header h1 {
        font-size: clamp(1.85rem, 8vw, 2.35rem);
        line-height: 1.1;
    }

    .contact-main-header .contact-section-label {
        margin-inline: 0;
    }

    .contact-map-panel {
        width: min(100%, 354px);
        min-height: 360px;
        padding: 0.65rem;
    }

    .contact-map-frame {
        min-height: 336px;
    }

    .contact-info-panel {
        width: min(100%, 354px);
        padding: 1.15rem;
    }

    .contact-info-header #contact-info-title {
        font-size: clamp(1.9rem, 9vw, 2.7rem);
        overflow-wrap: anywhere;
    }

    .contact-info-icon {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 390px) {
    .contact-main-section .container {
        padding-inline: 14px;
    }

    .contact-main-header,
    .contact-map-panel,
    .contact-info-panel {
        width: min(100%, 330px);
    }
}
.contact-page .footer {
    position: relative;
    padding-top: clamp(78px, 9vw, 112px);
    background:
        radial-gradient(circle at 9% 0%, rgba(206, 99, 99, 0.15), transparent 27%),
        linear-gradient(145deg, #251b1b, #150a08);
    border-top: 0;
}

.contact-page .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

.contact-page .footer-content {
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
}

.contact-page .contact-footer-intro {
    padding-right: clamp(0px, 3vw, 42px);
}

.contact-page .contact-footer-tagline {
    max-width: 345px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    font-weight: 600;
    line-height: 1.58;
}

.contact-page .contact-footer-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.contact-page .contact-footer-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.contact-page .footer-section a[aria-current="page"] {
    color: #f2abab;
}

.contact-page .footer-section a[aria-current="page"]::before {
    width: 12px;
    background: var(--primary-red-light);
}

.contact-page .social-links .social-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(248, 249, 250, 0.2);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.65;
}

.contact-page .social-links .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.contact-page .social-links .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.contact-page .social-links .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.contact-page .footer-bottom {
    color: rgba(255, 255, 255, 0.48);
}

@media (max-width: 1024px) {
    .contact-page .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .contact-page .contact-footer-intro {
        grid-column: span 2;
    }
}

.societario-page .corporate-process-section .corporate-process-heading #corporate-process-title {
    color: #fff;
}

@media (max-width: 768px) {
    .contact-page .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-page .contact-footer-intro {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .contact-page .footer-content {
        grid-template-columns: 1fr;
    }
}

.contact-page .fixed-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 800px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
}

.contact-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.contact-page .fixed-whatsapp-bar p strong {
    color: var(--primary-red);
}

.contact-page .contact-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.13);
}

.contact-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.contact-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.contact-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    border-color: var(--dark-green);
    background: var(--dark-green);
    color: #fff;
    transform: translateY(-2px);
}

.contact-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(76, 175, 80, 0.25);
    outline-offset: 3px;
}

@media (max-width: 768px) {
    .contact-page .fixed-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    .contact-page .fixed-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    .contact-page .fixed-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 560px) {
    .contact-page .fixed-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    .contact-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    .contact-page .fixed-whatsapp-bar p {
        display: none;
    }

    .contact-page .fixed-whatsapp-bar {
        right: 10px;
        left: auto;
        width: auto;
        transform: none;
    }

    .contact-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

/* ===========================
   SEÇÃO SLIDER MISSÃO, VISÃO, VALORES
   =========================== */

.mvv-slider-section {
    background-color: var(--white);
    padding: 80px 0;
}

.mvv-slider-container {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    overflow: hidden;
}

.mvv-slider {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.mvv-slide {
    min-width: 100%;
    /* flex-shrink: 0; */
    box-sizing: border-box;
    text-align: center;
    padding: 20px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: opacity 0.5s ease; /* Para uma transição suave se necessário */
}

.mvv-img {
    width: 120px;
    height: 120px;
    object-fit: contain;
    margin-bottom: 25px;
}

.mvv-slide h3 {
    font-size: 28px;
    color: var(--primary-red);
    margin-bottom: 15px;
    font-weight: 700;
}

.mvv-slide p {
    font-size: 16px;
    color: var(--medium-gray);
    line-height: 1.6;
    max-width: 600px;
    text-align: justify;
}

.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.3);
    color: white;
    border: none;
    cursor: pointer;
    padding: 15px;
    font-size: 20px;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s ease;
}

.slider-arrow:hover { background-color: var(--primary-red); }
.slider-arrow.prev { left: 15px; }
.slider-arrow.next { right: 15px; }

/* ===========================
   SEÇÃO PARA QUEM É A DOCLA (SLIDER)
   =========================== */

.who-we-serve-slider {
    background-color: var(--white);
    padding: 80px 0;
}

.serve-slider-container {
    position: relative;
    /* max-width: 1000px; */
    margin: 0 auto;
    overflow: hidden;
    border-radius: 10px;
    /* box-shadow: var(--shadow); */
}

.serve-slider {
    display: flex;
    transition: transform 0.5s ease-in-out;
    
}

.serve-slide {
    min-width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    padding: 60px 80px;
    transition: opacity 0.5s ease;     
}

.serve-slide.active {
    display: flex;
}

.serve-slide-text {
    flex: 1 1 calc(50% - 20px); 
    text-align: left;
}

.serve-slide-text h3 {
    font-size: 28px;
    color: var(--primary-red);
    font-weight: 700;
    margin-bottom: 20px;
}

.serve-slide-text p {
    font-size: 14px;
    color: var(--medium-gray);
    line-height: 1.6;
}

.serve-slide-img {
    flex: 1 1 calc(50% - 20px);  
    display: flex;
    justify-content: center;
    align-items: center;
}

.serve-slide-img img {
    max-width: 100%;
    height: auto;
    max-height: 500px;
}

.serve-action {
    text-align: center;
    margin-top: 50px;
}

.serve-slider-container .slider-arrow.prev { left: 10px; }
.serve-slider-container .slider-arrow.next { right: 10px; }

/* ===========================
   RODAPÉ
   =========================== */

.footer {
    background: var(--dark-gray);
    color: var(--white);
    padding: 60px 0 20px;
}

.footer-content {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 40px;
    text-align: center;
}

.footer-section h4 {
    font-size: 20px;
    margin-bottom: 15px;
    color: var(--light-gray);
}

.footer-section {
    flex: 1 1 250px;
}

.footer-section p,
.footer-section ul li {
    color: var(--light-gray);
}

.footer-section ul {
    list-style: none;
}

.footer-section ul li {
    transition: var(--transition);
}

.footer-section ul li a {
    color: var(--light-gray);
    text-decoration: none;
    transition: var(--transition);
}

.footer-section ul li a:hover {
    color: var(--primary-red);
    /* padding-left: 5px; */ /* Removido para melhor alinhamento central */
}

.social-links {
    display: flex;
    gap: 15px;
    margin-top: 15px;
    justify-content: center;
}

.social-links a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background: var(--primary-red);
    color: var(--white);
    border-radius: 50%;
    text-decoration: none;
    transition: var(--transition);
    font-size: 20px;
}

.social-links a:hover {
    transform: scale(1.2) rotate(-10deg);
    background: var(--primary-red-light);
}

.social-links a img {
    height: 25px;
    width: auto;
}

.footer-bottom {
    text-align: center;
    border-top: 1px solid #444;
    padding-top: 20px;
    color: #999;
}

.footer-logo {
    height: 50px;
    width: auto;
}

.footer-info-text {
    font-size: 12px;
}

/* ===========================
   BOTÃO SCROLL TO TOP
   =========================== */

.whatsapp-button {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background: var(--green);
    color: var(--white);
    border: none;
    border-radius: 50%;
    cursor: pointer;    
    transform: translateY(0);
    transition: var(--transition);
    box-shadow: var(--shadow);
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.whatsapp-button:hover {
    background: var(--dark-green);
    transform: translateY(-5px);
}

.whatsapp-icon {
    height: 40px;
    width: auto;
}

/* ===========================
   RESPONSIVIDADE
   =========================== */

@media (max-width: 1024px) {
    .navbar-container {
        padding-inline: 18px;
    }

    .logo-icon {
        height: 43px;
    }

    .nav-menu {
        gap: 16px;
    }

    .nav-link {
        font-size: 11px;
        letter-spacing: 0.025em;
    }

    .nav-menu > li:last-child .nav-link {
        padding-inline: 24px;
    }

    .about-content,
    .about-content {
        gap: 50px;
    }
    .hero-title {
        font-size: 48px;
    }
    
    section {
        padding: 80px 0;
    }
}

@media (max-width: 768px) {
    .navbar-container {
        min-height: 72px;
        padding: 0 18px;
    }

    .logo-icon {
        height: 42px;
    }

    /* Navegação Mobile */
    .menu-toggle {
        display: flex;
    }
    
    .nav-menu {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: calc(100% + 8px);
        left: 12px;
        right: 12px;
        background: rgba(255, 255, 255, 0.98);
        gap: 6px;
        padding: 8px;
        border: 1px solid rgba(65, 22, 15, 0.1);
        border-radius: 14px;
        box-shadow: var(--shadow-hover);
        z-index: 999;
        height: auto;
        max-height: calc(100vh - 92px);
        overflow-y: auto;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-8px);
        pointer-events: none;
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    }
    
    .nav-menu.active {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
    
    .nav-menu li {
        /* border-bottom: 1px solid var(--light-gray); */
        height: auto;
        display: block;
    }
    
    .nav-link {
        display: block;
        padding: 14px 16px;
        color: var(--dark-gray);
        background: transparent;
        border: 0;
        border-radius: 8px;
    }

    .nav-link:hover {
        background: rgba(65, 22, 15, 0.08);
    }

    .nav-menu > li:last-child {
        margin-top: 6px;
    }

    .nav-menu > li:last-child .nav-link {
        display: flex;
        width: 100%;
        min-height: 46px;
        padding: 13px 30px;
        color: var(--primary-red);
        background: rgba(65, 22, 15, 0.08);
        border: 1px solid rgba(65, 22, 15, 0.2);
        border-radius: 40px;
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
        font-weight: 700;
    }
    
    .nav-link::after {
        display: none;
    }
    
    .dropdown-menu {
        position: static;
        box-shadow: none;
        visibility: visible;
        opacity: 1;
        transform: none;
        pointer-events: auto;
        display: none;
        min-width: 0;
        margin: 0 8px 8px;
        padding: 6px;
        background: rgba(65, 22, 15, 0.04);
        border: 0;
        border-radius: 10px;
    }
    
    .dropdown-menu li a {
        padding: 11px 14px 11px 24px;
    }
    
    /* Menu Dropdown - Apenas no clique (Mobile) */
    .dropdown:hover .dropdown-menu,
    .dropdown:focus-within .dropdown-menu {
        display: none;
    }
    .dropdown.active .dropdown-menu {
        display: block;
    }
    .dropdown:hover .arrow-down,
    .dropdown:focus-within .arrow-down {
        transform: translateY(-2px) rotate(45deg);
    }
    .dropdown.active .arrow-down {
        transform: translateY(2px) rotate(225deg);
    }
    
    /* Hero */
    .hero-title {
        font-size: 38px;
    }
    
    .hero-text {
        font-size: 18px;
    }
    
    /* Seções */
    .section-header h2 {
        font-size: 36px;
    }
    
    section {
        padding: 60px 0;
    }
    
    .about-intro {
        grid-template-columns: 1fr;
    }

    .intro-text {
        padding: 40px 20px;
    }

    .intro-text {
        column-count: 1;
    }

    .cta-digital-content {
        flex-direction: column;
        text-align: center;
        gap: 50px;
    }

    .cta-text {
        flex-basis: auto;
    }

    .cta-text p {
        max-width: 100%;
    }

    .cta-price { text-align: center; }

    .cta-content h2 {
        font-size: 28px;
    }
    
    .cta-red-content h2 {
        font-size: 28px;
    }

    .digital-hero-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .digital-hero-img {
        order: -1;
    }

    .digital-intro-content ul {
        grid-template-columns: 1fr;
    }

    .health-intro-grid {
        grid-template-columns: 1fr;
    }

    .health-intro-img {
        order: -1; /* Imagem vem antes do texto no mobile */
    }

    .construction-intro-grid {
        grid-template-columns: 1fr;
    }

    .construction-intro-img {
        order: -1; /* Imagem vem antes do texto no mobile */
    }

    /* Time Saving Mobile */
    .time-saving-content {
        gap: 40px;
    }
    .time-saving-text h2 {
        font-size: 28px;
    }

    .intro-text h2 {
        font-size: 36px;
    }

    /* Seção Fundador Mobile */
    .founder-content {
        grid-template-columns: 1fr;
    }

    .founder-img {
        justify-content: center;
    }

    .founder-text {
        padding: 40px 20px;
    }

    .founder-text h2 {
        font-size: 36px;
    }

}

@media (max-width: 480px) {
    .navbar-container {
        height: 70px;
        padding: 0 15px;
    }
    
    .logo h1 {
        font-size: 20px;
    }
    
    .hero-title {
        font-size: 28px;
    }
    
    .hero-text {
        font-size: 16px;
    }
    
    .section-header h2 {
        font-size: 28px;
    }
    
    .hero-button {
        padding: 14px 40px;
    }
    
    .cta-text h2 {
        font-size: 28px;
    }
    
    .cta-red-content h2 {
        font-size: 28px;
    }

    .intro-text h2 {
        font-size: 28px;
    }

    .digital-intro-content h2 {
        font-size: 28px;
    }

    .founder-text h2 {
        font-size: 28px;
    }

    .founder-img img {
        min-height: 320px;
    }
    
    .coordinator-card {
        padding: 25px 20px;
    }

    /* Garante que a imagem fique sempre acima do texto no mobile */
    .main-testimonial:nth-of-type(even) .testimonial-content {
        flex-direction: column-reverse;
    }

    .serve-slide {
        flex-direction: column;
        padding: 40px 30px;
        text-align: center;
    }
    .serve-slide-text {
        text-align: center;
    }

    .mvv-slide {
        padding: 15px;
    }

    .slider-arrow {
        padding: 10px;
        width: 40px;
        height: 40px;
    }

    /* FAQ Mobile */
    .faq-question {
        font-size: 16px;
        padding: 15px 20px;
    }
    .faq-answer-content {
        padding: 0 20px 20px;
        font-size: 15px;
    }

    /* Depoimento Mobile */
    .testimonial-content {
        gap: 40px;
    }
    .testimonial-quote {
        font-size: 20px;
    }
    .testimonial-img img {
        width: 250px;
        height: 250px;
    }

    .cta-price-amount {
        font-size: 80px;
    }

    .stat-number {
        font-size: 36px;
    }
    
    .service-card {
        padding: 25px;
    }
    
    .whatsapp-button {
        width: 45px;
        height: 45px;
        font-size: 20px;
        bottom: 20px;
        right: 20px;
    }
    
    section {
        padding: 50px 0;
    }
}

/* ===========================
   FOOTER REDESIGN
   =========================== */

.footer {
    padding: 88px 0 92px;
    color: var(--light-gray);
    background:
        radial-gradient(circle at 8% 0%, rgba(206, 99, 99, 0.12), transparent 26%),
        var(--dark-gray);
    border-top: 4px solid var(--primary-red);
}

.footer-content {
    display: grid;
    grid-template-columns: minmax(250px, 1.45fr) repeat(4, minmax(130px, 0.8fr));
    gap: clamp(30px, 4vw, 54px);
    align-items: start;
    margin-bottom: 54px;
    text-align: left;
}

.footer-section {
    min-width: 0;
}

.footer-section h4 {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: var(--white);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.footer-section h4::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    background: var(--primary-red-light);
    border-radius: 999px;
}

.footer-section ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
}

.footer-section ul li {
    line-height: 1.4;
}

.footer-section ul li a {
    display: inline-block;
    color: var(--light-gray);
    font-size: 13px;
    line-height: 1.45;
    text-decoration: none;
    transition: var(--transition);
}

.footer-section ul li a:hover {
    color: var(--primary-red-light);
    transform: translateX(3px);
}

.footer-section ul li a:focus-visible,
.social-links a:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.5);
    outline-offset: 4px;
    border-radius: 5px;
}

.footer-logo {
    display: block;
    width: auto;
    height: 54px;
    margin-bottom: 22px;
}

.footer-info-text {
    max-width: 340px;
    margin-bottom: 8px;
    color: var(--light-gray);
    font-size: 12px;
    line-height: 1.6;
}

.social-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
    justify-content: flex-start;
    margin-top: 0;
}

.social-links a {
    display: inline-flex;
    width: auto;
    min-width: 112px;
    height: 38px;
    align-items: center;
    justify-content: flex-start;
    padding: 0 14px;
    color: var(--white);
    background: rgba(248, 249, 250, 0.07);
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.social-links a:not([data-social])::after {
    content: attr(title);
}

.social-links a:not([data-social]) img {
    display: none;
}

.social-links a:hover {
    color: var(--white);
    background: var(--primary-red);
    border-color: var(--primary-red-light);
    transform: translateY(-2px);
}

.footer-bottom {
    padding-top: 24px;
    color: var(--medium-gray);
    border-top: 1px solid rgba(248, 249, 250, 0.12);
    text-align: left;
}

.footer-bottom p {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 1100px) {
    .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* Ajustes de Responsividade para Construção Civil */
    .hero-construction .hero-title {
        font-size: clamp(36px, 10vw, 44px); /* Garante fluidez no título do hero */
    }

    .construction-intro-text #construction-expertise-title {
        font-size: 32px;
    }
}

@media (max-width: 768px) {
    .footer {
        padding: 72px 0 92px;
    }

    .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 42px 30px;
    }
}

@media (max-width: 540px) {
    .footer-content {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        text-align: center;
    }

    .social-links {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    .footer-section ul li a,
    .social-links a {
        transition: none;
    }

    .footer-section ul li a:hover,
    .social-links a:hover {
        transform: none;
    }
}

/* ===========================
   CTAS FINAIS
   =========================== */

.cta,
.cta-red,
.digital-cta {
    position: relative;
    padding: 104px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 12%, rgba(206, 99, 99, 0.28), transparent 32%),
        linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    text-align: center;
}

.cta-content,
.cta-red-content,
.digital-cta-content {
    position: relative;
    z-index: 1;
    isolation: isolate;
    max-width: 900px;
    margin: 0 auto;
}

.cta-red-content {
    overflow: hidden;
}

.cta-red-content::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
    background-size: 32px 32px;
    pointer-events: none;
}

.cta-red-content > * {
    position: relative;
    z-index: 1;
}

.cta-content h2,
.cta-red-content h2,
.digital-cta-content h2 {
    margin-bottom: 20px;
    color: var(--white);
    font-size: clamp(34px, 4.2vw, 52px);
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: -0.025em;
}

.cta-content p,
.cta-red-content p {
    max-width: 720px;
    margin: 0 auto 34px;
    color: var(--light-gray);
    font-size: 17px;
    line-height: 1.7;
}

.cta .cta-button-red,
.cta-red .cta-button,
.digital-cta .cta-button,
.cta-construction .cta-button,
.health-cta-container .cta-button-red {
    display: inline-flex;
    min-height: 66px;
    align-items: center;
    justify-content: center;
    padding: 19px 38px;
    color: var(--primary-red);
    background: var(--white);
    border: 1px solid var(--white);
    border-radius: 11px;
    box-shadow: 0 10px 26px rgba(37, 27, 27, 0.2);
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.cta .cta-button-red:hover,
.cta-red .cta-button:hover,
.digital-cta .cta-button:hover,
.cta-construction .cta-button:hover,
.health-cta-container .cta-button-red:hover {
    color: var(--white);
    background: transparent;
    border-color: rgba(248, 249, 250, 0.78);
    box-shadow: 0 12px 30px rgba(37, 27, 27, 0.26);
    transform: translateY(-2px);
}

.cta .cta-button-red:focus-visible,
.cta-red .cta-button:focus-visible,
.digital-cta .cta-button:focus-visible,
.cta-construction .cta-button:focus-visible,
.health-cta-container .cta-button-red:focus-visible {
    outline: 3px solid var(--primary-red-light);
    outline-offset: 4px;
}

.digital-cta-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.digital-cta-content h2 {
    max-width: 850px;
    margin-bottom: 34px;
}

.cta-construction {
    padding: 96px 20px;
    background: #fff;
}

.cta-construction-content {
    position: relative;
    max-width: 1200px;
    min-height: 440px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(42px, 7vw, 76px);
    overflow: hidden;
    background-image:
        linear-gradient(135deg, rgba(65, 22, 15, 0.92), rgba(79, 9, 9, 0.78)),
        url('../resources/Imagens/img_bg_cta_const.jpg');
    background-position: center;
    border-radius: 24px;
    box-shadow: var(--shadow-hover);
}

.cta-construction-content h2 {
    max-width: 940px;
    color: var(--white);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 800;
    line-height: 1.2;
}

.health-cta-container {
    position: relative;
    max-width: 1100px;
    padding: clamp(46px, 7vw, 76px);
    overflow: hidden;
    color: var(--white);
    background:
        radial-gradient(circle at 95% 5%, rgba(206, 99, 99, 0.28), transparent 34%),
        linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    border: 1px solid rgba(65, 22, 15, 0.12);
    border-radius: 24px;
    box-shadow: var(--shadow-hover);
}

.health-cta-container h2 {
    max-width: 880px;
    margin: 0 auto 32px;
    color: var(--white);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 800;
    line-height: 1.2;
}

@media (max-width: 768px) {
    .cta,
    .cta-red,
    .digital-cta {
        padding: 80px 0;
    }

    .cta-construction {
        padding: 76px 16px;
    }

    .cta-construction-content {
        min-height: 380px;
    }
}

@media (max-width: 480px) {
    .cta,
    .cta-red,
    .digital-cta {
        padding: 68px 0;
    }

    .cta-content h2,
    .cta-red-content h2,
    .digital-cta-content h2,
    .cta-construction-content h2,
    .health-cta-container h2 {
        font-size: 30px;
    }

    .cta .cta-button-red,
    .cta-red .cta-button,
    .digital-cta .cta-button,
    .cta-construction .cta-button,
    .health-cta-container .cta-button-red {
        width: 100%;
    }

    .cta-construction-content,
    .health-cta-container {
        padding: 38px 24px;
        border-radius: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cta-red-content,
    .cta .cta-button-red,
    .cta-red .cta-button,
    .digital-cta .cta-button,
    .cta-construction .cta-button,
    .health-cta-container .cta-button-red {
        animation: none;
        transition: none;
    }

    .cta .cta-button-red:hover,
    .cta-red .cta-button:hover,
    .digital-cta .cta-button:hover,
    .cta-construction .cta-button:hover,
    .health-cta-container .cta-button-red:hover {
        transform: none;
    }
}

/* ===========================
   MISSÃO, VISÃO E VALORES
   =========================== */

.mvv-section {
    padding: 104px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 12%, rgba(206, 99, 99, 0.12), transparent 28%),
        linear-gradient(180deg, var(--white), #fff);
}

.mvv-section .section-header {
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
}

.mvv-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.mvv-card {
    position: relative;
    display: flex;
    min-height: 420px;
    flex-direction: column;
    align-items: flex-start;
    padding: 34px 30px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 20px;
    box-shadow: var(--shadow);
    transition: var(--transition);
    animation: fadeInUp 0.75s ease-out both;
}

.mvv-card:nth-child(2) {
    animation-delay: 0.08s;
}

.mvv-card:nth-child(3) {
    animation-delay: 0.16s;
}

.mvv-card:hover {
    border-color: rgba(65, 22, 15, 0.2);
    box-shadow: var(--shadow-hover);
    transform: translateY(-5px);
}

.mvv-card:hover::after {
    transform: scale(1.2);
}

.mvv-icon {
    display: flex;
    width: 78px;
    height: 78px;
    align-items: center;
    justify-content: center;
    margin-bottom: 28px;
    padding: 14px;
    background: rgba(65, 22, 15, 0.055);
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 17px;
}

.mvv-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mvv-card h3 {
    margin-bottom: 16px;
    color: var(--primary-red);
    font-size: 26px;
    font-weight: 800;
    line-height: 1.2;
}

.mvv-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 1.75;
    text-align: left;
}

@media (max-width: 900px) {
    .mvv-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mvv-card:last-child {
        grid-column: 1 / -1;
        min-height: 330px;
    }
}

@media (max-width: 600px) {
    .mvv-section {
        padding: 76px 0;
    }

    .mvv-section .section-header {
        margin-bottom: 40px;
    }

    .mvv-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .mvv-card,
    .mvv-card:last-child {
        grid-column: auto;
        min-height: 0;
        padding: 28px 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mvv-card {
        animation: none;
        transition: none;
    }

    .mvv-card:hover {
        transform: none;
    }
}

/* ===========================
   SERVIÇOS
   =========================== */

.services-overview {
    padding: 104px 0;
    background: linear-gradient(180deg, var(--white), #fff);
}

.services-overview .section-header {
    max-width: 780px;
    margin-right: auto;
    margin-left: auto;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.service-card {
    position: relative;
    display: flex;
    min-height: 310px;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
    overflow: hidden;
    color: inherit;
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 18px;
    box-shadow: var(--shadow);
    text-decoration: none;
    transition: var(--transition);
}

.service-card:hover {
    border-color: rgba(65, 22, 15, 0.2);
    box-shadow: var(--shadow-hover);
    transform: translateY(-5px);
}

.service-card:hover::after {
    transform: scale(1.25);
}

.service-card-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 24px;
    padding: 11px;
    object-fit: contain;
    background: rgba(65, 22, 15, 0.055);
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 15px;
}

.service-card h3 {
    margin-bottom: 12px;
    color: var(--dark-gray);
    font-size: 21px;
    font-weight: 800;
    line-height: 1.25;
}

.service-card p {
    margin-top: 12px;
    margin-bottom: 12px;
    color: var(--medium-gray);
    font-size: 14px;
    line-height: 1.65;
    max-width: 300px;
    text-align: justify;
}

.service-card > span {
    position: relative;
    z-index: 1;
    margin-top: auto;
    color: var(--primary-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.services-grid .service-card:last-child {
    grid-column: 2;
}

.service-conversion {
    padding: 0 0 104px;
    background: #fff;
}

.service-conversion-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.conversion-card {
    display: flex;
    min-height: 340px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(34px, 5vw, 58px);
    border-radius: 22px;
    box-shadow: var(--shadow);
}

.conversion-card-primary {
    color: var(--white);
    background:
        radial-gradient(circle at 95% 5%, rgba(206, 99, 99, 0.3), transparent 34%),
        var(--primary-red);
}

.conversion-card-secondary {
    color: var(--dark-gray);
    background: var(--white);
    border: 1px solid rgba(65, 22, 15, 0.14);
}

.conversion-label {
    margin-bottom: 16px;
    color: var(--primary-red-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.conversion-card-secondary .conversion-label {
    color: var(--primary-red);
}

.conversion-card h2 {
    max-width: 560px;
    margin-bottom: 30px;
    font-size: clamp(27px, 3vw, 38px);
    font-weight: 800;
    line-height: 1.2;
}

.conversion-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    color: var(--primary-red);
    background: var(--white);
    border: 1px solid var(--white);
    border-radius: 11px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.conversion-card-secondary .conversion-button {
    color: var(--white);
    background: var(--primary-red);
    border-color: var(--primary-red);
}

.conversion-button:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-hover);
}

.stats-section,
.steps-section,
.faq-section {
    padding: 96px 0;
}

.stats-section {
    background: #fff;
}

.statistics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 18px;
    width: 100%;
}

.stat-item {
    min-width: 0;
    padding: 30px 20px;
    background:
        linear-gradient(145deg, var(--primary-red), var(--primary-red-dark));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    box-shadow: var(--shadow);
}

.stat-item:hover {
    background:
        linear-gradient(145deg, var(--primary-red-dark), var(--dark-gray));
    box-shadow: var(--shadow-hover);
    transform: translateY(-4px);
}

.stat-number {
    font-size: clamp(36px, 4vw, 48px);
}

.stat-label {
    color: var(--light-gray);
    font-size: 13px;
    line-height: 1.45;
    letter-spacing: 0.04em;
}

.steps-section {
    background: var(--white);
}

.steps-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
    padding-top: 28px;
}

.steps-container::before {
    display: none;
}

.step-card {
    min-height: 230px;
    padding: 48px 26px 30px;
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 16px;
    box-shadow: var(--shadow);
}

.step-card:hover {
    transform: translateY(-5px);
}

.step-number {
    width: 52px;
    height: 52px;
    border-color: var(--white);
    box-shadow: 0 8px 18px rgba(65, 22, 15, 0.18);
}

.faq-section {
    background: #fff;
}

.faq-container {
    max-width: 900px;
}

.faq-item {
    margin-bottom: 12px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 12px;
    box-shadow: none;
}

.faq-item:hover {
    border-color: rgba(65, 22, 15, 0.2);
    box-shadow: var(--shadow);
    transform: none;
}

.faq-question {
    min-height: 68px;
    padding: 19px 22px;
    font-size: 16px;
}

.faq-answer-content {
    padding: 0 22px 22px;
    line-height: 1.7;
}

@media (max-width: 900px) {
    .services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .services-grid .service-card:last-child {
        grid-column: auto;
    }

}

@media (max-width: 768px) {
    .services-overview,
    .stats-section,
    .steps-section,
    .faq-section {
        padding: 76px 0;
    }

    .service-conversion {
        padding-bottom: 76px;
    }

    .service-conversion-grid {
        grid-template-columns: 1fr;
    }

    .conversion-card {
        min-height: 300px;
    }
}

@media (max-width: 600px) {
    .services-grid {
        grid-template-columns: 1fr;
    }

    .service-card {
        min-height: 280px;
        padding: 26px 24px;
    }

    .statistics,
    .steps-container {
        grid-template-columns: 1fr;
    }

    .conversion-card {
        min-height: 0;
        padding: 34px 26px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .service-card,
    .conversion-button,
    .stat-item,
    .step-card,
    .faq-item {
        animation: none;
        transition: none;
    }

    .service-card:hover,
    .conversion-button:hover,
    .stat-item:hover,
    .step-card:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-content,
    .hero-background,
    .digital-hero-img img {
        animation: none;
    }
}

@media (max-width: 900px) {
    .home-about-grid,
    .about-intro {
        grid-template-columns: 1fr;
    }

    .home-about-media,
    .home-about-media img {
        min-height: 0;
        height: 480px;
    }

    .about-intro {
        gap: 48px;
    }

    .intro-img img {
        height: 520px;
    }

    .coordinators-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .home-about,
    .about,
    .about-founder,
    .coordinators {
        padding: 76px 0;
    }

    .home-about-grid,
    .founder-content {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .home-about-media::before {
        inset: 18px -8px -14px 18px;
    }

    .home-about-authority,
    .about-authority {
        right: 16px;
        bottom: 16px;
    }

    .intro-text,
    .founder-text {
        padding: 0;
        text-align: left;
    }

    .intro-text p {
        text-align: left;
    }

    .founder-img img {
        height: 520px;
    }

    .coordinators-grid {
        grid-template-columns: 1fr;
        max-width: 520px;
        margin: 0 auto;
    }

    .coordinator-img {
        height: 420px;
    }
}

@media (max-width: 480px) {
    .home-about-media,
    .home-about-media img {
        height: 390px;
    }

    .home-about-authority,
    .about-authority {
        position: relative;
        right: auto;
        bottom: auto;
        max-width: none;
        margin: -44px 16px 0;
    }

    .home-about-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .home-about-actions a {
        width: 100%;
    }

    .intro-img {
        display: block;
    }

    .intro-img img,
    .founder-img img {
        height: 420px;
        min-height: 0;
    }

    .coordinator-card {
        padding: 0 0 24px;
    }

    .coordinator-img {
        height: 360px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .founder-text,
    .founder-img,
    .coordinator-card {
        animation: none;
        transition: none;
    }

    .coordinator-card:hover {
        transform: none;
    }
}

/* ===========================
   BARRA FIXA WHATSAPP
   =========================== */

.fixed-whatsapp-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--white);
    padding: 12px 0;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 990; /* Abaixo do menu mobile e botão flutuante */
    display: flex;
    justify-content: center;
    align-items: center;
}

.fixed-whatsapp-bar p {
    margin: 0;
    color: var(--dark-gray);
    font-size: 16px;
}

.fixed-whatsapp-bar .whatsapp-cta-btn {
    background-color: var(--green);
    color: var(--white);
    padding: 12px 24px;
    border-radius: 20px;
    text-decoration: none;
    font-weight: 400;
    font-size: 14px;
    margin-left: 20px;
    transition: var(--transition);
}

.fixed-whatsapp-bar .whatsapp-cta-btn:hover {
    background-color: var(--dark-green);
    transform: scale(1.05);
}

/* ===========================
   HERO REDESIGN
   =========================== */

.hero,
.hero-health {
    min-height: clamp(620px, calc(100vh - 82px), 780px);
    padding: 72px 0;
    background-color: var(--white);
}

.hero {
    isolation: isolate;
}

.hero > .container {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    align-items: center;
    gap: clamp(36px, 6vw, 80px);
}

.hero-copy {
    position: relative;
    z-index: 3;
    max-width: 680px;
}

.health-hero-text::before,
.construction-hero-content::before {
    content: '';
    display: block;
    width: 56px;
    height: 4px;
    margin-bottom: 22px;
    background: var(--primary-red-light);
    border-radius: 999px;
}
.hero-background {
    width: 420px;
    height: 420px;
    top: -220px;
    right: -160px;
    background: var(--primary-red-light);
    opacity: 0.08;
    animation-duration: 9s;
    z-index: 0;
}

.hero-title {
    max-width: 720px;
    margin: 0;
    color: var(--dark-gray);
    font-size: 60px;
    font-weight: 800;
    line-height: 66px;
    letter-spacing: 0;
    text-align: left;
}

.hero-content {
    max-width: 640px;
}

.hero-text {
    margin-bottom: 0;
    color: var(--medium-gray);
    font-size: clamp(16px, 1.35vw, 19px);
    line-height: 1.65;
}

.hero-buttons {
    display: flex;
    gap: 12px;
    margin: 30px 0 0;
}

.hero-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    background: transparent;
    border: 1px solid rgba(65, 22, 15, 0.28);
    color: var(--primary-red);
    border-radius: 11px;
    box-shadow: none;
    font-size: 13px;
    font-weight: 700;
}

.hero-button:first-child {
    background: var(--primary-red);
    border-color: var(--primary-red);
    color: var(--white);
    box-shadow: 0 10px 24px rgba(65, 22, 15, 0.2);
}

.hero-button:hover {
    background: rgba(65, 22, 15, 0.07);
    border-color: var(--primary-red);
    color: var(--primary-red-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}

.hero-button:first-child:hover {
    background: var(--primary-red-dark);
    border-color: var(--primary-red-dark);
    color: var(--white);
    box-shadow: 0 12px 28px rgba(79, 9, 9, 0.25);
}

.hero-digital,
.hero-health {
    background:
        radial-gradient(circle at 88% 20%, rgba(206, 99, 99, 0.12), transparent 32%),
        linear-gradient(135deg, #fff, var(--white));
}

.digital-hero-grid,
.health-hero-grid {
    gap: clamp(40px, 6vw, 80px);
}

.hero-digital .hero-content,
.health-hero-text {
    max-width: 590px;
}

.hero-digital .hero-title,
.health-hero-text .hero-title {
    color: var(--white);
    font-size: clamp(38px, 4vw, 56px);
    font-weight: 800;
    line-height: 1.08;
}

.hero-digital .hero-text,
.health-hero-text .hero-text {
    color: var(--medium-gray);
    line-height: 1.65;
}

.digital-hero-img,
.health-hero-img {
    position: relative;
    display: flex;
    min-height: 420px;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 24px;
    box-shadow: var(--shadow-hover);
}

.digital-hero-img img,
.health-hero-img img {
    width: 100%;
    max-width: 500px;
    max-height: 480px;
    object-fit: contain;
    border-radius: 18px;
}

.hero-digital .digital-hero-img img {
    animation: none;
}

.hero-health {
    display: flex;
    align-items: center;
}

.hero-health .health-hero-img img {
    max-width: 390px;
}

.hero-construction {
    min-height: clamp(620px, calc(100vh - 82px), 760px);
    background-image:
        linear-gradient(90deg, rgba(37, 27, 27, 0.92) 0%, rgba(65, 22, 15, 0.76) 46%, rgba(37, 27, 27, 0.18) 100%),
        url('../resources/Imagens/hero-construction.jpg');
    background-position: center;
}

.hero-construction .hero-title {
    color: var(--white);
    font-size: clamp(42px, 4.5vw, 62px);
}

.hero-construction .hero-text {
    color: var(--light-gray);
}

.hero-construction .cta-button {
    margin-top: 28px;
}

.hero-about {
    min-height: clamp(560px, calc(85vh - 82px), 760px);
    background-image:
        linear-gradient(90deg, rgba(65, 22, 15, 0.6), rgba(37, 27, 27, 0.08)),
        url('../resources/Imagens/quem_somos_ed.jpg');
    background-position: center 58%;
}

@media (max-width: 1024px) {
    .hero > .container {
        grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
        gap: 32px;
    }

    .hero-title {
        font-size: clamp(36px, 5vw, 48px);
    }

    .hero-text {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .hero,
    .hero-health,
    .hero-construction,
    .hero-about {
        min-height: auto;
        padding: 72px 0;
    }

    .hero > .container,
    .digital-hero-grid,
    .health-hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-copy,
    .hero-content,
    .health-hero-text,
    .construction-hero-content {
        max-width: none;
    }




    .hero-title,
    .hero-digital .hero-title,
    .health-hero-text .hero-title {
        max-width: 100%;
        font-size: 38px;
        line-height: 43px;
        letter-spacing: 0;
    }

    .hero-buttons {
        margin-top: 26px;
    }

    .hero-button {
        flex: 1 1 190px;
    }

    .digital-hero-img,
    .health-hero-img {
        min-height: 320px;
        padding: 20px;
    }

    .hero-construction {
        background-image:
            linear-gradient(90deg, rgba(37, 27, 27, 0.94), rgba(65, 22, 15, 0.72)),
            url('../resources/Imagens/hero-construction.jpg');
    }
}

@media (max-width: 480px) {
    .hero,
    .hero-health,
    .hero-construction,
    .hero-about {
        padding: 56px 0;
    }

    .hero-title,
    .hero-digital .hero-title,
    .health-hero-text .hero-title {
        max-width: 100%;
        font-size: 38px;
        line-height: 43px;
        letter-spacing: 0;
    }

    .hero-text,
    .hero-digital .hero-text,
    .health-hero-text .hero-text {
        font-size: 16px;
        line-height: 1.55;
    }

    .hero-buttons {
        flex-direction: column;
    }

    .hero-button {
        width: 100%;
        flex-basis: auto;
    }


    .digital-hero-img,
    .health-hero-img {
        min-height: 270px;
        border-radius: 18px;
    }
}

/* ===========================
   RESPONSIVIDADE CONSOLIDADA
   =========================== */

html {
    scroll-padding-top: 92px;
}

body {
    padding-bottom: 68px;
}

.container,
.navbar-container {
    width: 100%;
    max-width: 1240px;
    padding-right: clamp(18px, 3vw, 32px);
    padding-left: clamp(18px, 3vw, 32px);
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

iframe {
    max-width: 100%;
}

.section-header h2 {
    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.16;
    letter-spacing: -0.025em;
    overflow-wrap: anywhere;
}

.hero-title,
.cta-content h2,
.cta-red-content h2,
.digital-cta-content h2,
.conversion-card h2 {
    overflow-wrap: anywhere;
}

.footer-section,
.service-card,
.feature-item,
.step-card,
.stat-item,
.mvv-card,
.coordinator-card,
.testimonial-text,
.serve-slide-text {
    min-width: 0;
}

@media (max-width: 1024px) {
    .features-grid,
    .services-grid,
    .mvv-grid,
    .coordinators-grid,
    .digital-benefits-grid,
    .health-sectors-grid,
    .construction-sectors-grid,
    .segments-grid,
    .footer-content {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .services-grid .service-card:last-child,
    .mvv-card:last-child {
        grid-column: auto;
    }

    .segment-button {
        min-width: 0;
    }

    .digital-commercial-grid,
    .health-commercial-grid,
    .construction-intro-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
    }

    .cta-price-amount {
        font-size: clamp(70px, 11vw, 110px);
    }
}

@media (max-width: 900px) {
    .navbar-container {
        min-height: 72px;
    }

    .logo-icon {
        height: 42px;
    }

    .menu-toggle {
        display: flex;
        flex-shrink: 0;
    }

    .nav-menu {
        position: absolute;
        top: calc(100% + 8px);
        right: 12px;
        left: 12px;
        display: flex;
        max-height: calc(100vh - 92px);
        flex-direction: column;
        gap: 6px;
        height: auto;
        padding: 8px;
        overflow-y: auto;
        background: rgba(255, 255, 255, 0.99);
        border: 1px solid rgba(65, 22, 15, 0.1);
        border-radius: 14px;
        box-shadow: var(--shadow-hover);
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    }

    .nav-menu.active {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .nav-menu li {
        display: block;
        height: auto;
    }

    .nav-link {
        display: block;
        padding: 14px 16px;
        color: var(--dark-gray);
        background: transparent;
        border: 0;
        border-radius: 8px;
        font-size: 12px;
    }

    .nav-link::after {
        display: none;
    }

    .dropdown-menu {
        position: static;
        display: none;
        min-width: 0;
        margin: 0 8px 8px;
        padding: 6px;
        background: rgba(65, 22, 15, 0.04);
        border: 0;
        border-radius: 10px;
        box-shadow: none;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }

    .dropdown:hover .dropdown-menu,
    .dropdown:focus-within .dropdown-menu {
        display: none;
    }

    .dropdown.active .dropdown-menu {
        display: block;
    }

    .dropdown:hover .arrow-down,
    .dropdown:focus-within .arrow-down {
        transform: translateY(-2px) rotate(45deg);
    }

    .dropdown.active .arrow-down {
        transform: translateY(2px) rotate(225deg);
    }

    .nav-menu > li:last-child {
        margin-top: 6px;
    }

    .nav-menu > li:last-child .nav-link {
        display: flex;
        width: 100%;
        min-height: 46px;
        padding: 13px 30px;
        color: var(--primary-red);
        background: rgba(65, 22, 15, 0.08);
        border: 1px solid rgba(65, 22, 15, 0.2);
        border-radius: 40px;
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
        font-weight: 700;
    }
}

@media (max-width: 768px) {
    html {
        scroll-padding-top: 80px;
    }

    .features-grid,
    .services-grid,
    .service-conversion-grid,
    .mvv-grid,
    .coordinators-grid,
    .digital-benefits-grid,
    .health-sectors-grid,
    .construction-sectors-grid,
    .segments-grid,
    .statistics,
    .steps-container,
    .footer-content,
    .digital-hero-grid,
    .health-hero-grid,
    .digital-commercial-grid,
    .health-commercial-grid,
    .construction-intro-grid,
    .digital-split-feature,
    .home-about-grid,
    .about-intro,
    .founder-content {
        grid-template-columns: minmax(0, 1fr);
    }

    .feature-item:last-child,
    .services-grid .service-card:last-child,
    .mvv-card:last-child {
        grid-column: auto;
    }

    .testimonial-content,
    .main-testimonial:nth-of-type(even) .testimonial-content {
        flex-direction: column;
        gap: 36px;
    }

    .serve-slide {
        flex-direction: column;
        gap: 28px;
        padding: 44px 54px;
    }

    .serve-slide-text {
        text-align: center;
    }

    .serve-slide-img img {
        max-height: 340px;
    }
    .faq-question {
        min-height: 56px;
        padding: 17px 18px;
        font-size: 15px;
        line-height: 1.4;
        gap: 16px;
    }

    .faq-answer-content {
        padding: 0 18px 20px;
        font-size: 15px;
    }

    .slider-arrow {
        width: 44px;
        height: 44px;
        padding: 0;
    }

    .fixed-whatsapp-bar {
        min-height: 64px;
        gap: 12px;
        padding: 9px max(14px, env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
    }

    .fixed-whatsapp-bar p {
        flex: 1;
        font-size: 12px;
        line-height: 1.35;
    }

    .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-width: 112px;
        min-height: 44px;
        margin-left: 0;
        padding: 11px 18px;
        border-radius: 999px;
        text-align: center;
    }

    .footer {
        padding-bottom: 88px;
    }
}

@media (max-width: 480px) {
    .container,
    .navbar-container {
        padding-right: 16px;
        padding-left: 16px;
    }

    .section-header {
        margin-bottom: 38px;
    }

    .section-header h2 {
        font-size: clamp(29px, 9vw, 36px);
    }

    /* Mercado Digital: Cards de benefícios empilhados em telas pequenas */
    .digital-benefit-card {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        gap: 15px;
    }

    /* Ajustes de Responsividade para Construção Civil */
    .hero-construction .hero-title {
        font-size: 34px; /* Mantém consistência com outros heros */
    }

    .construction-intro-text #construction-expertise-title {
        font-size: 28px;
    }

    .hero-title {
        font-size: clamp(31px, 9.5vw, 38px);
    }

    .cta-button,
    .cta-button-red,
    .hero-button,
    .conversion-button {
        min-height: 48px;
    }

    .serve-slide {
        padding: 36px 46px;
    }

    .testimonial-img img {
        width: min(250px, 78vw);
        height: min(250px, 78vw);
    }
    .fixed-whatsapp-bar p {
        max-width: 150px;
    }
}

@media (hover: none), (pointer: coarse) {
    .feature-item:hover,
    .service-card:hover,
    .mvv-card:hover,
    .coordinator-card:hover,
    .step-card:hover,
    .stat-item:hover,
    .segment-button:hover,
    .sector-card:hover {
        transform: none;
    }
}

/* ===========================
   HOME PAGE — HERO
   =========================== */

.hero-home {
    background-image:
        linear-gradient(90deg, rgba(37, 27, 27, 0.94) 0%, rgba(65, 22, 15, 0.82) 48%, rgba(37, 27, 27, 0.24) 100%),
        url('../resources/Imagens/pagina-inicial.jpg');
    background-size: cover;
    background-position: center;
}

.hero-home .hero-copy {
    max-width: 720px;
}

.hero-home .hero-title,
.hero-home .hero-text {
    color: var(--white);
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.hero-home .home-section-label {
    display: inline-block;
    margin-bottom: 16px;
    color: var(--primary-red-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.hero-home .hero-button {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: var(--white);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.hero-home .hero-button:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Mantém o estado da navbar acima de todas as camadas de refinamento do CSS. */
body.navbar-over-hero .navbar.navbar-transparent {
    position: fixed;
    inset: 0 0 auto;
    width: 100%;
    background: rgba(248, 249, 250, 0.02);
    border-bottom-color: rgba(255, 255, 255, 0.22);
    box-shadow: none;
    /* backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px); */
}

body.navbar-over-hero .navbar.navbar-transparent.scrolled {
    background: rgba(248, 249, 250, 0.96);
    border-bottom-color: rgba(65, 22, 15, 0.08);
    box-shadow: 0 10px 35px rgba(37, 27, 27, 0.12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.index-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link,
.about-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link {
    color: var(--white);
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

.index-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link .arrow-down,
.about-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link .arrow-down {
    color: var(--white);
}

.index-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link:hover,
.index-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link:focus-visible,
.about-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link:hover,
.about-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link:focus-visible {
    color: #fff;
}

.index-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link:hover .arrow-down,
.index-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link:focus-visible .arrow-down,
.about-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link:hover .arrow-down,
.about-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li > .nav-link:focus-visible .arrow-down {
    color: #fff;
}

.index-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li:last-child > .nav-link,
.about-page.navbar-over-hero .navbar.navbar-transparent:not(.scrolled) .nav-menu > li:last-child > .nav-link {
    border-color: rgba(255, 255, 255, 0.36);
    background: rgba(255, 255, 255, 0.12);
    box-shadow: none;
    backdrop-filter: blur(10px);
}

@media (max-width: 900px) {
    body.navbar-over-hero .navbar.navbar-transparent:has(.nav-menu.active) {
        background: rgba(248, 249, 250, 0.96);
        border-bottom-color: rgba(65, 22, 15, 0.08);
        box-shadow: 0 10px 35px rgba(37, 27, 27, 0.12);
    }

    .index-page.navbar-over-hero .navbar.navbar-transparent:has(.nav-menu.active) .nav-menu > li > .nav-link,
    .about-page.navbar-over-hero .navbar.navbar-transparent:has(.nav-menu.active) .nav-menu > li > .nav-link {
        color: var(--dark-gray);
        text-shadow: none;
    }

    .index-page.navbar-over-hero .navbar.navbar-transparent:has(.nav-menu.active) .nav-menu > li > .nav-link .arrow-down,
    .about-page.navbar-over-hero .navbar.navbar-transparent:has(.nav-menu.active) .nav-menu > li > .nav-link .arrow-down {
        color: var(--primary-red);
    }

    .index-page.navbar-over-hero .navbar.navbar-transparent:has(.nav-menu.active) .nav-menu > li:last-child > .nav-link,
    .about-page.navbar-over-hero .navbar.navbar-transparent:has(.nav-menu.active) .nav-menu > li:last-child > .nav-link {
        color: var(--dark-gray);
        border: 0;
        background: transparent;
    }
}

/* Simulador de planos: navegação por abas */
.plans-simulator-section {
    padding-top: clamp(56px, 8vw, 96px);
}

.plans-simulator {
    max-width: 1000px;
    margin: 42px auto 0;
}

.plans-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 8px;
    background: rgba(65, 22, 15, 0.06);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 40px;
}

.plans-tab {
    min-height: 54px;
    padding: 12px 20px;
    border: 1px solid transparent;
    border-radius: 40px;
    background: transparent;
    color: var(--medium-gray);
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
}

.plans-tab:hover {
    color: var(--primary-red);
    background: rgba(255, 255, 255, 0.58);
}

.plans-tab.active {
    color: var(--white);
    background: var(--primary-red);
    border-color: var(--primary-red);
    box-shadow: 0 8px 20px rgba(65, 22, 15, 0.2);
}

.plans-tab:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.5);
    outline-offset: 3px;
}

.plans-tab-panel {
    margin-top: 22px;
    padding: clamp(28px, 5vw, 52px);
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 18px;
    box-shadow: var(--shadow);
}

.plans-tab-panel[hidden] {
    display: none;
}

.plans-panel-label {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--primary-red-light);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.plans-tab-panel h3 {
    margin-bottom: 12px;
    color: var(--dark-gray);
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.18;
}

.plans-tab-panel p {
    max-width: 720px;
    color: var(--medium-gray);
    font-size: 16px;
    line-height: 1.7;
}

@media (max-width: 600px) {
    .plans-tabs {
        grid-template-columns: 1fr;
    }

    .plans-tab {
        width: 100%;
    }

    .plans-tab-panel {
        margin-top: 16px;
        border-radius: 14px;
    }
}

/* Simulador empresarial: grupos e opções */
.plans-form {
    display: grid;
    gap: 26px;
    margin-top: 36px;
}

.plans-fieldset {
    min-width: 0;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 40px;
    background: var(--white);
}

.plans-fieldset legend {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 12px;
    max-width: 100%;
    padding: 0 10px;
    color: var(--dark-gray);
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 800;
    line-height: 1.2;
}

.plans-fieldset legend small {
    grid-column: 2;
    margin-top: 4px;
    color: var(--medium-gray);
    font-size: 12px;
    font-weight: 500;
}

.plans-group-number {
    grid-row: 1 / span 2;
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    color: var(--white);
    background: var(--primary-red);
    border-radius: 40px;
    font-size: 12px;
    letter-spacing: 0.04em;
}

.plans-options-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.plans-option {
    position: relative;
    display: block;
    min-width: 0;
    cursor: pointer;
}

.plans-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.plans-option span {
    display: flex;
    min-height: 58px;
    align-items: center;
    padding: 13px 16px 13px 44px;
    color: var(--dark-gray);
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.12);
    border-radius: 40px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    transition: var(--transition);
}

.plans-option span::before {
    content: '';
    position: absolute;
    left: 16px;
    width: 16px;
    height: 16px;
    background: #fff;
    border: 2px solid rgba(65, 22, 15, 0.35);
    border-radius: 50%;
    transition: var(--transition);
}

.plans-option:hover span {
    border-color: rgba(65, 22, 15, 0.35);
    box-shadow: 0 6px 16px rgba(37, 27, 27, 0.08);
    transform: translateY(-1px);
}

.plans-option input:checked + span {
    color: var(--primary-red);
    background: rgba(206, 99, 99, 0.09);
    border-color: var(--primary-red);
    box-shadow: 0 7px 18px rgba(65, 22, 15, 0.11);
}

.plans-option input:checked + span::before {
    background: var(--primary-red);
    border-color: var(--primary-red);
    box-shadow: inset 0 0 0 4px #fff;
}

.plans-option input:focus-visible + span {
    outline: 3px solid rgba(206, 99, 99, 0.5);
    outline-offset: 3px;
}

.plans-options-grid-mei {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.plans-option-checkbox span::before {
    border-radius: 5px;
}

.plans-option-checkbox input:checked + span::before {
    background-color: var(--primary-red);
    background-image:
        linear-gradient(45deg, transparent 45%, #fff 45% 56%, transparent 56%),
        linear-gradient(-45deg, transparent 42%, #fff 42% 54%, transparent 54%);
    background-position: 2px 6px, 7px 3px;
    background-size: 7px 7px, 9px 9px;
    background-repeat: no-repeat;
    box-shadow: none;
}

.plans-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 4px;
}

.plans-form-actions .plans-button {
    background: rgba(65, 22, 15, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-color: rgba(65, 22, 15, 0.2);
    color: var(--primary-red);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
}

.plans-form-actions .plans-button:hover {
    background: rgba(65, 22, 15, 0.15);
    border-color: rgba(65, 22, 15, 0.3);
    color: var(--primary-red);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    transform: translateY(-3px);
}

.plans-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 14px 30px;
    border: 1px solid var(--primary-red);
    border-radius: 40px;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: var(--transition);
}

.plans-button-primary {
    color: var(--white);
    background: var(--primary-red);
    box-shadow: 0 8px 20px rgba(65, 22, 15, 0.2);
}

.plans-button-primary:hover {
    background: var(--primary-red-dark);
    border-color: var(--primary-red-dark);
    box-shadow: 0 10px 24px rgba(79, 9, 9, 0.25);
    transform: translateY(-2px);
}

.plans-button-secondary {
    color: var(--primary-red);
    background: transparent;
}

.plans-button-secondary:hover {
    background: rgba(65, 22, 15, 0.07);
    transform: translateY(-2px);
}

.plans-button:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.5);
    outline-offset: 3px;
}

.plans-form-status {
    min-height: 24px;
    margin: -10px 0 0;
    color: var(--medium-gray);
    font-size: 13px;
    font-weight: 600;
    text-align: right;
}

.plans-form-status.is-error {
    color: #9d2118;
}

.plans-form-status.is-success {
    color: #2f6d3a;
}

@media (max-width: 900px) {
    .plans-options-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .plans-form {
        gap: 20px;
        margin-top: 28px;
    }

    .plans-fieldset {
        padding: 18px 14px 16px;
    }

    .plans-fieldset legend {
        padding: 0 6px;
    }

    .plans-options-grid {
        grid-template-columns: 1fr;
        gap: 9px;
        margin-top: 18px;
    }

    .plans-option span {
        min-height: 54px;
    }

    .plans-form-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .plans-button {
        width: 100%;
    }

    .plans-form-status {
        margin-top: -4px;
        text-align: left;
    }
}

/* Modal de resultado do simulador */
body.plan-modal-open {
    overflow: hidden;
}

.plan-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    padding: 20px;
    overflow-y: auto;
    background: rgba(37, 27, 27, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.plan-modal[hidden] {
    display: none;
}

.plan-modal-card {
    position: relative;
    width: min(100%, 620px);
    padding: clamp(28px, 5vw, 48px);
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 22px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
    animation: fadeInUp 0.35s ease-out;
}

.plan-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.06);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 50%;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
    transition: var(--transition);
}

.plan-modal-close:hover {
    color: var(--white);
    background: var(--primary-red);
    transform: rotate(5deg);
}

.plan-modal-close:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.5);
    outline-offset: 3px;
}

.plan-modal-kicker {
    margin: 0 0 6px;
    color: var(--medium-gray);
    font-size: 13px;
    font-weight: 600;
}

.plan-modal-heading {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    margin: 0 0 10px 0;
}

.plan-modal-heading h2 {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(34px, 6vw, 52px);
    line-height: 1.05;
}

.plan-result-icon {
    display: block;
    width: 80px;
    height: 80px;
    flex: 0 0 auto;
    object-fit: contain;
    filter: drop-shadow(0 14px 18px rgba(65, 22, 15, 0.2));
}

.plan-result-icon[hidden] {
    display: none;
}

.plan-modal-card > p {
    color: var(--medium-gray);
    line-height: 1.6;
}

.plan-result-prices {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

.plan-result-price {
    display: grid;
    width: min(100%, 360px);
    gap: 8px;
    padding: 24px;
    background: var(--white);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 18px;
    text-align: center;
}

.plan-result-price span {
    color: var(--medium-gray);
    font-size: 12px;
    font-weight: 600;
}

.plan-result-price strong {
    color: var(--dark-gray);
    font-size: clamp(20px, 3vw, 27px);
}

.plan-result-price-featured {
    background: var(--primary-red);
    border-color: var(--primary-red);
    box-shadow: 0 18px 40px rgba(65, 22, 15, 0.24);
    transform: translateY(-2px);
}

.plan-result-price-featured span {
    color: var(--light-gray);
}

.plan-result-price-featured strong {
    color: var(--white);
    font-size: clamp(30px, 5vw, 44px);
}

.plan-result-note {
    margin-top: 18px;
    font-size: 12px;
}

.plan-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 26px;
}

.plan-modal-actions .plans-button {
    background: rgba(65, 22, 15, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-color: rgba(65, 22, 15, 0.2);
    color: var(--primary-red);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
}

.plan-modal-actions .plans-button:hover {
    background: rgba(65, 22, 15, 0.15);
    border-color: rgba(65, 22, 15, 0.3);
    color: var(--primary-red);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    transform: translateY(-3px);
}

.plan-modal-actions a {
    text-decoration: none;
}

@media (max-width: 600px) {
    .plan-modal {
        align-items: end;
        padding: 12px;
    }

    .plan-modal-card {
        max-height: calc(100vh - 24px);
        overflow-y: auto;
        border-radius: 18px;
    }

    .plan-modal-heading {
        margin-right: 42px;
    }

    .plan-result-icon {
        width: 58px;
        height: 58px;
        font-size: 23px;
    }

    .plan-modal-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/* Refinamento visual da página de planos */
.plans-page-hero h1 {
    text-wrap: balance;
}

.plans-page-hero .section-subtitle {
    text-wrap: pretty;
}

.plans-page .plans-simulator-section {
    position: relative;
    background:
        linear-gradient(180deg, var(--white), #fff 32%, var(--white));
}

.plans-page .plans-simulator-section > .container {
    max-width: 1180px;
}

.plans-page .plans-simulator-section .section-header {
    max-width: 850px;
    margin: 0 auto;
}

.plans-page .plans-simulator-section #simulator-title {
    margin: 0 0 20px;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.plans-page .plans-simulator-section .section-subtitle {
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
}

.plans-page .plans-tab-panel {
    box-shadow: 0 18px 50px rgba(37, 27, 27, 0.09);
}

.plans-page .plans-fieldset {
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.plans-page .plans-fieldset:focus-within {
    border-color: rgba(65, 22, 15, 0.26);
    box-shadow: 0 10px 26px rgba(37, 27, 27, 0.07);
}

.plans-page .footer {
    margin-top: 0;
}

@media (max-width: 480px) {
    .plans-page-hero h1 {
        text-wrap: initial;
    }

    .plans-page .plans-tab-panel {
        padding: 24px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .plans-page .plans-option span,
    .plans-page .plans-fieldset,
    .plans-page .plans-button,
    .plans-page .plan-modal-card {
        animation: none;
        transition: none;
    }

    .plans-page .plans-option:hover span,
    .plans-page .plans-button:hover {
        transform: none;
    }
}

/* ===========================
   PÁGINA SAÚDE — NAVEGAÇÃO
   =========================== */

.health-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(248, 249, 250, 0.9);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.health-page .navbar-container {
    min-height: 74px;
}

.health-page .logo-icon {
    height: 44px;
}

.health-page .nav-menu {
    gap: clamp(16px, 1.8vw, 28px);
}

.health-page .nav-link {
    font-size: 11px;
    letter-spacing: 0.055em;
}

.health-page .dropdown-menu .current-page {
    color: var(--white);
    background: var(--primary-red);
}

.health-page .dropdown-menu .current-page:hover {
    color: var(--white);
    background: var(--primary-red-dark);
    padding-left: 14px;
}

.health-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

@media (max-width: 900px) {
    .health-page .navbar-container {
        min-height: 68px;
    }

    .health-page .logo-icon {
        height: 40px;
    }

    .health-page .nav-menu {
        top: calc(100% + 6px);
    }

    .health-page .dropdown-menu .current-page {
        color: var(--primary-red);
        background: rgba(206, 99, 99, 0.14);
    }
}

/* ===========================
   PÁGINA SAÚDE — HERO
   =========================== */

.health-page .hero-health {
    position: relative;
    isolation: isolate;
    min-height: clamp(610px, calc(100vh - 74px), 790px);
    padding: clamp(64px, 8vw, 104px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 18%, rgba(206, 99, 99, 0.2), transparent 28%),
        radial-gradient(circle at 8% 90%, rgba(65, 22, 15, 0.07), transparent 24%),
        linear-gradient(135deg, #fff 0%, var(--white) 62%, rgba(222, 222, 221, 0.64) 100%);
}

.health-page .health-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    gap: clamp(44px, 7vw, 90px);
}

.health-page .health-hero-text {
    max-width: 660px;
}

.health-page .health-hero-text::before {
    display: none;
}

.health-hero-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    color: var(--primary-red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.health-hero-label::before {
    content: '';
    width: 34px;
    height: 3px;
    background: var(--primary-red-light);
    border-radius: 999px;
}

.health-page .health-hero-text .hero-title {
    max-width: 680px;
    margin-bottom: 24px;
    color: var(--white);
    font-size: clamp(42px, 5.2vw, 68px);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.health-page .health-hero-text .hero-text {
    max-width: 610px;
    margin-bottom: 0;
    color: var(--medium-gray);
    font-size: clamp(16px, 1.5vw, 19px);
    line-height: 1.7;
}

.health-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 13px;
    margin-top: 32px;
}

.health-page .health-hero-actions .cta-button-red {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 13px 23px;
}

.health-hero-secondary {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    color: var(--primary-red);
    border: 1px solid rgba(65, 22, 15, 0.28);
    border-radius: 11px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.health-hero-secondary:hover {
    background: rgba(65, 22, 15, 0.07);
    border-color: var(--primary-red);
    transform: translateY(-2px);
}

.health-hero-secondary:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.5);
    outline-offset: 3px;
}

.health-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 28px;
}

.health-hero-proof span {
    position: relative;
    padding: 8px 12px 8px 29px;
    color: var(--dark-gray);
    background: rgba(255, 255, 255, 0.65);
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}

.health-hero-proof span::before {
    content: '✓';
    position: absolute;
    left: 11px;
    color: var(--primary-red);
    font-weight: 800;
}

.health-page .health-hero-img {
    min-height: 490px;
    padding: clamp(28px, 4vw, 48px);
    background:
        radial-gradient(circle at 50% 44%, #fff 0 37%, transparent 37.5%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.76), rgba(222, 222, 221, 0.46));
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 30px;
    box-shadow: 0 24px 60px rgba(37, 27, 27, 0.13);
}

.health-page .health-hero-img::before {
    content: '';
    position: absolute;
    inset: 22px;
    border: 1px solid rgba(206, 99, 99, 0.2);
    border-radius: 22px;
    pointer-events: none;
}

.health-page .health-hero-img img {
    position: relative;
    z-index: 1;
    max-width: 410px;
    max-height: 430px;
    filter: drop-shadow(0 18px 24px rgba(65, 22, 15, 0.12));
}

.health-hero-card {
    position: absolute;
    z-index: 2;
    right: -24px;
    bottom: 30px;
    display: grid;
    gap: 5px;
    width: min(230px, 70%);
    padding: 18px 20px;
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(37, 27, 27, 0.16);
}

.health-hero-card strong {
    color: var(--primary-red);
    font-size: 18px;
}

.health-hero-card span {
    color: var(--medium-gray);
    font-size: 11px;
    line-height: 1.45;
}

@media (max-width: 1024px) {
    .health-page .health-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.75fr);
        gap: 38px;
    }

    .health-page .health-hero-img {
        min-height: 430px;
    }

    .health-hero-card {
        right: -8px;
    }
}

@media (max-width: 768px) {
    .health-page .hero-health {
        min-height: auto;
        padding: 64px 0 78px;
    }

    .health-page .health-hero-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-hero-text {
        max-width: 700px;
    }

    .health-page .health-hero-img {
        width: min(100%, 560px);
        min-height: 420px;
        margin: 0 auto;
    }
}

@media (max-width: 480px) {
    .health-page .hero-health {
        padding: 48px 0 64px;
    }

    .health-page .health-hero-text .hero-title {
        font-size: 39px;
    }

    .health-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .health-page .health-hero-actions a {
        width: 100%;
    }

    .health-page .health-hero-img {
        min-height: 340px;
        padding: 24px;
        border-radius: 22px;
    }

    .health-page .health-hero-img::before {
        inset: 14px;
    }

    .health-hero-card {
        right: 12px;
        bottom: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .health-hero-secondary,
    .health-page .health-hero-img img {
        transition: none;
    }

    .health-hero-secondary:hover {
        transform: none;
    }
}

/* ===========================
   PÁGINA SAÚDE — CONFIANÇA
   =========================== */

.health-trust-strip {
    position: relative;
    z-index: 4;
    padding: 0 0 clamp(64px, 8vw, 96px);
    background: var(--white);
}

.health-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: -38px;
}

.health-trust-card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    min-width: 0;
    padding: 24px;
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 16px;
    box-shadow: 0 16px 38px rgba(37, 27, 27, 0.1);
    transition: var(--transition);
}

.health-trust-card:hover {
    border-color: rgba(65, 22, 15, 0.2);
    box-shadow: 0 20px 46px rgba(37, 27, 27, 0.14);
    transform: translateY(-4px);
}

.health-trust-card img {
    width: 58px;
    height: 58px;
    padding: 10px;
    object-fit: contain;
    background: rgba(206, 99, 99, 0.1);
    border-radius: 13px;
}

.health-trust-card h2 {
    margin: 2px 0 8px;
    color: var(--dark-gray);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
}

.health-trust-card p {
    margin: 0;
    color: var(--medium-gray);
    font-size: 12px;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .health-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .health-trust-card:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .health-trust-strip {
        padding-bottom: 64px;
    }

    .health-trust-grid {
        grid-template-columns: 1fr;
        margin-top: -24px;
    }

    .health-trust-card:last-child {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .health-trust-card {
        transition: none;
    }

    .health-trust-card:hover {
        transform: none;
    }
}

/* ===========================
   PÁGINA SAÚDE — INTRODUÇÃO
   =========================== */

.health-page .health-trust-strip + .health-section-gray {
    padding: clamp(72px, 9vw, 112px) 0;
    background:
        linear-gradient(135deg, rgba(222, 222, 221, 0.76), rgba(248, 249, 250, 0.96));
}

.health-page .health-intro-content {
    display: grid;
    grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(42px, 7vw, 86px);
    max-width: 1180px;
    align-items: center;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.health-intro-media {
    position: relative;
    display: flex;
    min-height: 600px;
    align-items: center;
    justify-content: center;
    padding: clamp(26px, 4vw, 44px);
    background:
        radial-gradient(circle at 50% 42%, #fff 0 36%, transparent 36.5%),
        linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(206, 99, 99, 0.09));
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 28px;
    box-shadow: 0 22px 55px rgba(37, 27, 27, 0.12);
}

.health-intro-media::before {
    content: '';
    position: absolute;
    inset: 20px;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 21px;
    pointer-events: none;
}

.health-intro-media img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 440px;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 20px 28px rgba(65, 22, 15, 0.11));
}

.health-intro-authority {
    position: absolute;
    z-index: 2;
    right: -24px;
    bottom: 34px;
    display: grid;
    gap: 6px;
    width: min(260px, 78%);
    padding: 20px;
    background: var(--primary-red);
    border-radius: 15px;
    box-shadow: 0 16px 36px rgba(65, 22, 15, 0.24);
}

.health-intro-authority strong {
    color: var(--white);
    font-size: 15px;
}

.health-intro-authority span {
    color: rgba(248, 249, 250, 0.78);
    font-size: 11px;
    line-height: 1.5;
}

.health-intro-copy {
    min-width: 0;
}

.health-page .health-intro-copy .section-header {
    margin-bottom: 28px;
    text-align: left;
}

.health-page .health-intro-copy .section-label {
    margin-bottom: 15px;
}

.health-page .health-intro-copy .section-header h2 {
    max-width: 700px;
    margin-bottom: 18px;
    color: var(--dark-gray);
    font-size: clamp(34px, 4.2vw, 50px);
    line-height: 1.1;
}

.health-page .health-intro-copy .section-subtitle {
    max-width: 740px;
    margin: 0;
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 1.75;
}

.health-page .health-intro-list ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
}

.health-page .health-intro-list ul li {
    position: relative;
    padding: 16px 16px 16px 48px;
    color: var(--medium-gray);
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.65;
}

.health-page .health-intro-list ul li::before {
    top: 17px;
    left: 16px;
    display: inline-flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    color: var(--white);
    background: var(--primary-red);
    border-radius: 50%;
    font-size: 11px;
}

.health-page .health-intro-list strong {
    color: var(--dark-gray);
}

@media (max-width: 980px) {
    .health-page .health-intro-content {
        grid-template-columns: 1fr;
    }

    .health-intro-media {
        width: min(100%, 620px);
        min-height: 500px;
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    .health-intro-media {
        min-height: 380px;
        border-radius: 22px;
    }

    .health-intro-media::before {
        inset: 14px;
    }

    .health-intro-authority {
        right: 12px;
        bottom: 18px;
    }

    .health-page .health-intro-list ul li {
        padding: 15px 14px 15px 44px;
    }
}

/* ===========================
   PÁGINA SAÚDE — SETORES
   =========================== */

.health-page #setores-saude {
    padding: clamp(76px, 9vw, 112px) 0;
    scroll-margin-top: 90px;
    background: #fff;
}

.health-page #setores-saude .section-header {
    max-width: 820px;
    margin: 0 auto 48px;
    text-align: center;
}

.health-page #setores-saude .section-label {
    margin-bottom: 14px;
}

.health-page #setores-saude .section-header #health-sectors-title {
    margin-bottom: 14px;
    color: var(--dark-gray);
}

.health-page #setores-saude .header-line {
    margin: 0 auto 18px;
}

.health-page #setores-saude .section-subtitle {
    max-width: 730px;
    margin: 0 auto;
    line-height: 1.7;
}

.health-page .health-sectors-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.health-page .health-sector-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 310px;
    flex-direction: column;
    align-items: flex-start;
    padding: 28px;
    overflow: hidden;
    background:
        linear-gradient(145deg, #fff, rgba(248, 249, 250, 0.92));
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(37, 27, 27, 0.07);
    text-align: left;
    transition: var(--transition);
}

.health-page .health-sector-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red), var(--primary-red-light));
    transform: scaleX(0.28);
    transform-origin: left;
    transition: var(--transition);
}

.health-page .health-sector-card:hover {
    border-color: rgba(65, 22, 15, 0.2);
    box-shadow: 0 18px 42px rgba(37, 27, 27, 0.12);
    transform: translateY(-6px);
}

.health-page .health-sector-card:hover::before {
    transform: scaleX(1);
}

.health-page .health-sector-card img {
    width: 76px;
    height: 76px;
    margin-bottom: 22px;
    padding: 13px;
    object-fit: contain;
    background: rgba(206, 99, 99, 0.1);
    border-radius: 17px;
    filter: none;
    transition: var(--transition);
}

.health-page .health-sector-card:hover img {
    transform: translateY(-2px) scale(1.03);
}

.health-page .health-sector-card h3 {
    min-height: 50px;
    margin: 0 0 12px;
    color: var(--dark-gray);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.4;
}

.health-page .health-sector-card p {
    margin: 0;
    color: var(--medium-gray);
    font-size: 13px;
    line-height: 1.65;
}

@media (max-width: 900px) {
    .health-page .health-sectors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .health-page #setores-saude .section-header {
        margin-bottom: 34px;
        text-align: left;
    }

    .health-page #setores-saude .header-line {
        margin-left: 0;
    }

    .health-page #setores-saude .section-subtitle {
        margin-left: 0;
    }

    .health-page .health-sectors-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-sector-card {
        min-height: 0;
        padding: 24px;
    }

    .health-page .health-sector-card h3 {
        min-height: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .health-page .health-sector-card,
    .health-page .health-sector-card::before,
    .health-page .health-sector-card img {
        transition: none;
    }

    .health-page .health-sector-card:hover,
    .health-page .health-sector-card:hover img {
        transform: none;
    }
}

/* ===========================
   PÁGINA SAÚDE — METODOLOGIA
   =========================== */

.health-method-section {
    padding: clamp(80px, 10vw, 124px) 0;
    background:
        radial-gradient(circle at 8% 15%, rgba(206, 99, 99, 0.11), transparent 25%),
        var(--dark-gray);
}

.health-method-grid {
    display: grid;
    grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(52px, 8vw, 104px);
    align-items: start;
}

.health-method-intro {
    position: sticky;
    top: 110px;
}

.health-method-intro .section-label {
    margin-bottom: 18px;
    color: var(--primary-red-light);
}

.health-method-intro #health-method-title {
    max-width: 540px;
    margin-bottom: 22px;
    color: var(--white);
    font-size: clamp(34px, 4.3vw, 52px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.health-method-intro p {
    max-width: 560px;
    color: rgba(222, 222, 221, 0.82);
    font-size: 15px;
    line-height: 1.75;
}

.health-method-intro .cta-button-red {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    padding: 13px 22px;
    background: var(--primary-red-light);
    border-color: var(--primary-red-light);
}

.health-method-intro .cta-button-red:hover {
    background: var(--white);
    border-color: var(--white);
    color: var(--primary-red);
}

.health-method-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.health-method-item {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 20px;
    padding: 26px 0;
    border-bottom: 1px solid rgba(248, 249, 250, 0.12);
}

.health-method-item:first-child {
    padding-top: 4px;
}

.health-method-number {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    color: var(--primary-red-light);
    border: 1px solid rgba(206, 99, 99, 0.46);
    border-radius: 13px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.health-method-item h3 {
    margin: 0 0 9px;
    color: var(--white);
    font-size: 19px;
    font-weight: 700;
}

.health-method-item p {
    margin: 0;
    color: rgba(222, 222, 221, 0.72);
    font-size: 13px;
    line-height: 1.7;
}

@media (max-width: 900px) {
    .health-method-grid {
        grid-template-columns: 1fr;
        gap: 54px;
    }

    .health-method-intro {
        position: static;
    }

    .health-method-intro #health-method-title,
    .health-method-intro p {
        max-width: 720px;
    }
}

@media (max-width: 480px) {
    .health-method-item {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 14px;
    }

    .health-method-number {
        width: 42px;
        height: 42px;
    }
}

/* ===========================
   PÁGINA SAÚDE — CTA INTERMEDIÁRIO
   =========================== */

.health-conversion-section {
    position: relative;
    isolation: isolate;
    padding: clamp(72px, 9vw, 108px) 0;
    overflow: hidden;
    background:
        linear-gradient(115deg, rgba(65, 22, 15, 0.99), rgba(79, 9, 9, 0.94));
}

.health-conversion-section::before,
.health-conversion-section::after {
    content: '';
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
}

.health-conversion-section::before {
    width: 340px;
    height: 340px;
    top: -230px;
    right: 7%;
    border: 1px solid rgba(248, 249, 250, 0.14);
}

.health-conversion-section::after {
    width: 190px;
    height: 190px;
    right: 18%;
    bottom: -130px;
    background: rgba(206, 99, 99, 0.12);
}

.health-page .health-conversion-section .health-cta-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(40px, 8vw, 100px);
    align-items: center;
    max-width: 1180px;
    padding: 0 clamp(18px, 3vw, 32px);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-align: left;
}

.health-cta-copy {
    max-width: 820px;
}

.health-cta-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--primary-red-light);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.health-cta-label::before {
    content: '';
    width: 30px;
    height: 2px;
    background: currentColor;
}

.health-page .health-conversion-section .health-cta-container h2 {
    max-width: 850px;
    margin: 0 0 18px;
    color: var(--white);
    font-size: clamp(32px, 4.3vw, 50px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.health-cta-copy p {
    max-width: 700px;
    margin: 0;
    color: rgba(222, 222, 221, 0.8);
    font-size: 15px;
    line-height: 1.7;
}

.health-cta-action {
    display: grid;
    justify-items: center;
    gap: 12px;
    min-width: 230px;
}

.health-page .health-cta-action .cta-button-red {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 14px 24px;
    color: var(--primary-red);
    background: var(--white);
    border-color: var(--white);
    white-space: nowrap;
}

.health-page .health-cta-action .cta-button-red:hover {
    color: var(--white);
    background: var(--primary-red-light);
    border-color: var(--primary-red-light);
}

.health-cta-action span {
    color: rgba(248, 249, 250, 0.66);
    font-size: 10px;
    font-weight: 600;
}

@media (max-width: 850px) {
    .health-page .health-conversion-section .health-cta-container {
        grid-template-columns: 1fr;
    }

    .health-cta-action {
        justify-items: start;
        min-width: 0;
    }
}

@media (max-width: 480px) {
    .health-page .health-cta-action,
    .health-page .health-cta-action .cta-button-red {
        width: 100%;
    }

    .health-cta-action {
        justify-items: center;
    }
}

/* ===========================
   PÁGINA SAÚDE — PROTEÇÃO PROFISSIONAL
   =========================== */

.health-page .health-protection-section {
    padding: clamp(80px, 10vw, 124px) 0;
    background:
        radial-gradient(circle at 92% 18%, rgba(206, 99, 99, 0.1), transparent 24%),
        #fff;
}

.health-page .health-protection-section .health-commercial-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
    gap: clamp(48px, 8vw, 100px);
    align-items: center;
}

.health-page .health-protection-section .health-commercial-text {
    max-width: 650px;
}

.health-page .health-protection-section .section-label {
    margin-bottom: 16px;
}

.health-page .health-protection-section .health-commercial-text h2 {
    margin-bottom: 22px;
    color: var(--dark-gray);
    font-size: clamp(36px, 4.6vw, 54px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.health-page .health-protection-section .health-commercial-text p {
    margin-bottom: 15px;
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 1.75;
}

.health-protection-list {
    display: grid;
    gap: 10px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.health-protection-list li {
    position: relative;
    padding: 13px 16px 13px 46px;
    color: var(--dark-gray);
    background: var(--white);
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 11px;
    font-size: 13px;
    font-weight: 600;
}

.health-protection-list li::before {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 16px;
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    color: var(--white);
    background: var(--primary-red);
    border-radius: 50%;
    font-size: 10px;
    transform: translateY(-50%);
}

.health-page .health-protection-section .health-img-container {
    position: relative;
    display: flex;
    min-height: 540px;
    align-items: center;
    justify-content: center;
    padding: clamp(28px, 4vw, 46px);
    background:
        linear-gradient(145deg, rgba(248, 249, 250, 0.94), rgba(222, 222, 221, 0.72));
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 28px;
    box-shadow: 0 22px 54px rgba(37, 27, 27, 0.11);
}

.health-page .health-protection-section .health-img-container::before {
    content: '';
    position: absolute;
    inset: 20px;
    border: 1px solid rgba(206, 99, 99, 0.18);
    border-radius: 21px;
}

.health-page .health-protection-section .health-img-container img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 430px;
    height: auto;
    object-fit: contain;
    border-radius: 0;
    filter: drop-shadow(0 18px 26px rgba(65, 22, 15, 0.11));
}

.health-protection-card {
    position: absolute;
    z-index: 2;
    right: -22px;
    bottom: 30px;
    display: grid;
    gap: 7px;
    width: min(290px, 80%);
    padding: 20px;
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 15px;
    box-shadow: 0 16px 38px rgba(37, 27, 27, 0.16);
}

.health-protection-card span {
    color: var(--primary-red-light);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.health-protection-card strong {
    color: var(--dark-gray);
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .health-page .health-protection-section .health-commercial-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-protection-section .health-commercial-text {
        max-width: 760px;
    }

    .health-page .health-protection-section .health-img-container {
        width: min(100%, 620px);
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    .health-page .health-protection-section .health-img-container {
        min-height: 400px;
        border-radius: 22px;
    }

    .health-page .health-protection-section .health-img-container::before {
        inset: 14px;
    }

    .health-protection-card {
        right: 12px;
        bottom: 16px;
    }
}

/* ===========================
   PÁGINA SAÚDE — DEPOIMENTO
   =========================== */

.health-page .health-testimonial-section {
    padding: clamp(80px, 10vw, 120px) 0;
    background:
        linear-gradient(135deg, rgba(222, 222, 221, 0.76), var(--white));
}

.health-testimonial-heading {
    max-width: 780px;
    margin-bottom: 42px;
}

.health-testimonial-heading .section-label {
    margin-bottom: 15px;
}

.health-testimonial-heading #health-testimonial-title {
    margin-bottom: 16px;
    color: var(--dark-gray);
    font-size: clamp(34px, 4.5vw, 52px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.health-testimonial-heading > p {
    max-width: 680px;
    margin: 0;
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 1.7;
}

.health-page .health-testimonial-section .testimonial-content {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
    gap: 0;
    align-items: stretch;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 22px;
    box-shadow: 0 20px 52px rgba(37, 27, 27, 0.12);
}

.health-page .health-testimonial-section .testimonial-text {
    position: relative;
    max-width: none;
    margin: 0;
    padding: clamp(34px, 5vw, 58px);
}

.health-page .health-testimonial-section .testimonial-text::before {
    content: '“';
    position: absolute;
    top: 14px;
    left: 28px;
    color: rgba(206, 99, 99, 0.18);
    font-family: Georgia, serif;
    font-size: 110px;
    line-height: 1;
}

.health-page .health-testimonial-section .testimonial-quote {
    position: relative;
    z-index: 1;
    margin: 0 0 28px;
    color: var(--dark-gray);
    font-size: clamp(19px, 2.2vw, 26px);
    font-weight: 500;
    line-height: 1.6;
}

.health-page .health-testimonial-section .testimonial-text footer {
    position: relative;
    z-index: 1;
    padding-top: 20px;
    border-top: 1px solid rgba(65, 22, 15, 0.1);
}

.health-page .health-testimonial-section .testimonial-author {
    margin: 0 0 5px;
    color: var(--primary-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.025em;
}

.health-page .health-testimonial-section .testimonial-place {
    margin: 0;
    color: var(--medium-gray);
    font-size: 11px;
}

.health-testimonial-brand {
    display: flex;
    min-height: 340px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding: clamp(30px, 4vw, 48px);
    background:
        radial-gradient(circle at 90% 10%, rgba(206, 99, 99, 0.3), transparent 32%),
        linear-gradient(145deg, var(--primary-red), var(--primary-red-dark));
}

.health-testimonial-brand img {
    width: 170px;
    height: auto;
    margin-bottom: auto;
}

.health-testimonial-brand strong {
    margin-bottom: 10px;
    color: var(--white);
    font-size: 21px;
    line-height: 1.25;
}

.health-testimonial-brand span {
    color: rgba(248, 249, 250, 0.72);
    font-size: 12px;
    line-height: 1.55;
}

@media (max-width: 800px) {
    .health-page .health-testimonial-section .testimonial-content {
        grid-template-columns: 1fr;
    }

    .health-testimonial-brand {
        min-height: 270px;
    }
}

@media (max-width: 480px) {
    .health-testimonial-heading {
        margin-bottom: 30px;
    }

    .health-page .health-testimonial-section .testimonial-quote {
        font-size: 18px;
    }

    .health-testimonial-brand {
        min-height: 240px;
    }
}

/* ===========================
   PÁGINA SAÚDE — AUTORIDADE
   =========================== */

.health-authority-section {
    position: relative;
    padding: clamp(70px, 8vw, 96px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 90% 0%, rgba(206, 99, 99, 0.24), transparent 28%),
        var(--primary-red-dark);
}

.health-authority-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 38px;
}

.health-authority-heading .section-label {
    flex-shrink: 0;
    margin: 0;
    color: var(--primary-red-light);
}

.health-authority-heading h2 {
    max-width: 650px;
    margin: 0;
    color: var(--white);
    font-size: clamp(28px, 3.5vw, 42px);
    font-weight: 800;
    line-height: 1.12;
    text-align: right;
}

.health-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(248, 249, 250, 0.15);
    border-bottom: 1px solid rgba(248, 249, 250, 0.15);
}

.health-authority-item {
    position: relative;
    min-width: 0;
    padding: 30px clamp(18px, 3vw, 34px);
    border-right: 1px solid rgba(248, 249, 250, 0.15);
}

.health-authority-item:first-child {
    padding-left: 0;
}

.health-authority-item:last-child {
    padding-right: 0;
    border-right: 0;
}

.health-authority-value {
    display: block;
    margin-bottom: 9px;
    color: var(--white);
    font-size: clamp(36px, 5vw, 58px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.045em;
}

.health-authority-item span {
    color: rgba(222, 222, 221, 0.72);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
}

@media (max-width: 800px) {
    .health-authority-heading {
        display: grid;
    }

    .health-authority-heading h2 {
        text-align: left;
    }

    .health-authority-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .health-authority-item {
        border-bottom: 1px solid rgba(248, 249, 250, 0.15);
    }

    .health-authority-item:nth-child(2) {
        border-right: 0;
    }

    .health-authority-item:nth-child(3),
    .health-authority-item:nth-child(4) {
        border-bottom: 0;
    }

    .health-authority-item:nth-child(3) {
        padding-left: 0;
    }
}

@media (max-width: 480px) {
    .health-authority-item {
        padding: 24px 14px;
    }

    .health-authority-value {
        font-size: 38px;
    }
}

/* ===========================
   PÁGINA SAÚDE — CTA FINAL
   =========================== */

.health-final-cta {
    padding: clamp(76px, 10vw, 120px) 0;
    background:
        linear-gradient(180deg, var(--white), #fff);
}

.health-final-cta-card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(42px, 8vw, 100px);
    align-items: center;
    padding: clamp(38px, 6vw, 70px);
    overflow: hidden;
    background:
        radial-gradient(circle at 95% 5%, rgba(206, 99, 99, 0.2), transparent 26%),
        linear-gradient(145deg, rgba(248, 249, 250, 0.98), #fff);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 26px;
    box-shadow: 0 22px 58px rgba(37, 27, 27, 0.11);
}

.health-final-cta-card::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 220px;
    height: 220px;
    right: -130px;
    bottom: -150px;
    border: 1px solid rgba(65, 22, 15, 0.11);
    border-radius: 50%;
}

.health-final-cta-copy {
    max-width: 760px;
}

.health-final-cta-copy .section-label {
    margin-bottom: 16px;
}

.health-final-cta-copy #health-final-cta-title {
    margin-bottom: 18px;
    color: var(--dark-gray);
    font-size: clamp(34px, 4.5vw, 52px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.health-final-cta-copy p {
    max-width: 690px;
    margin: 0;
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 1.7;
}

.health-final-cta-action {
    display: grid;
    justify-items: center;
    gap: 12px;
    min-width: 245px;
}

.health-page .health-final-cta-action .cta-button-red {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 14px 24px;
    white-space: nowrap;
}

.health-final-cta-action span {
    max-width: 230px;
    color: var(--medium-gray);
    font-size: 10px;
    font-weight: 600;
    line-height: 1.45;
    text-align: center;
}

@media (max-width: 850px) {
    .health-final-cta-card {
        grid-template-columns: 1fr;
    }

    .health-final-cta-action {
        justify-items: start;
        min-width: 0;
    }

    .health-final-cta-action span {
        text-align: left;
    }
}

@media (max-width: 480px) {
    .health-final-cta-card {
        padding: 32px 22px;
        border-radius: 20px;
    }

    .health-page .health-final-cta-action,
    .health-page .health-final-cta-action .cta-button-red {
        width: 100%;
    }

    .health-final-cta-action {
        justify-items: center;
    }

    .health-final-cta-action span {
        text-align: center;
    }
}

/* ===========================
   PÁGINA SAÚDE — FOOTER E WHATSAPP
   =========================== */

.health-page .health-footer {
    position: relative;
    padding-top: clamp(64px, 8vw, 88px);
    background:
        radial-gradient(circle at 8% 0%, rgba(206, 99, 99, 0.11), transparent 24%),
        var(--dark-gray);
}

.health-page .health-footer .footer-content {
    grid-template-columns: minmax(240px, 1.45fr) repeat(4, minmax(130px, 0.75fr));
    gap: clamp(28px, 4vw, 54px);
    padding-bottom: 48px;
}

.health-page .health-footer .footer-logo {
    width: 176px;
    margin-bottom: 20px;
}

.health-page .health-footer .footer-section h4 {
    margin-bottom: 22px;
    color: var(--white);
    font-size: 13px;
    letter-spacing: 0.045em;
}

.health-page .health-footer .footer-section h4::after {
    width: 30px;
    background: var(--primary-red-light);
}

.health-page .health-footer .footer-info-text,
.health-page .health-footer .footer-section a {
    color: rgba(222, 222, 221, 0.72);
    line-height: 1.6;
}

.health-page .health-footer .footer-section a:hover {
    color: var(--white);
}

.health-page .health-footer .footer-section a.current-page {
    color: var(--primary-red-light);
    font-weight: 700;
}

.health-page .health-footer .social-links a {
    background: rgba(248, 249, 250, 0.08);
    border-color: rgba(248, 249, 250, 0.14);
}

.health-page .health-footer .footer-bottom {
    border-top-color: rgba(248, 249, 250, 0.1);
}

.health-page .health-whatsapp-bar {
    min-height: 66px;
    padding: 10px clamp(18px, 4vw, 44px);
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid rgba(65, 22, 15, 0.09);
    box-shadow: 0 -8px 28px rgba(37, 27, 27, 0.11);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.health-page .health-whatsapp-bar p {
    color: var(--dark-gray);
    font-size: 14px;
    font-weight: 600;
}

.health-page .health-whatsapp-bar .whatsapp-cta-btn {
    min-width: 130px;
    margin-left: 18px;
    padding: 11px 22px;
    border-radius: 10px;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 1100px) {
    .health-page .health-footer .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .health-page .health-footer .footer-content {
        grid-template-columns: 1fr;
    }

    .health-page .health-whatsapp-bar {
        justify-content: space-between;
    }

    .health-page .health-whatsapp-bar p {
        max-width: 170px;
        font-size: 12px;
    }

    .health-page .health-whatsapp-bar .whatsapp-cta-btn {
        min-width: 110px;
        margin-left: 12px;
        padding: 10px 15px;
        font-size: 12px;
    }
}

/* ===========================
   PÁGINA SAÚDE — ACESSIBILIDADE E RESPONSIVIDADE
   =========================== */

.health-page main:focus {
    outline: none;
}

.health-page :where(a, button):focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.62);
    outline-offset: 3px;
}

.health-page :where(
    .hero-title,
    .health-intro-copy h2,
    .health-sector-card h3,
    .health-method-intro #health-method-title,
    .health-cta-copy h2,
    .health-protection-section h2,
    .health-testimonial-heading #health-testimonial-title,
    .health-authority-heading h2,
    .health-final-cta-copy #health-final-cta-title
) {
    overflow-wrap: anywhere;
}

.health-page :where(
    .cta-button-red,
    .health-hero-secondary,
    .whatsapp-cta-btn,
    .menu-toggle
) {
    min-height: 44px;
}

@media (max-width: 380px) {
    .health-page .container,
    .health-page .navbar-container {
        padding-right: 14px;
        padding-left: 14px;
    }

    .health-page .health-hero-text .hero-title {
        font-size: 34px;
    }

    .health-hero-proof {
        display: grid;
        grid-template-columns: 1fr;
    }

    .health-trust-card {
        grid-template-columns: 50px minmax(0, 1fr);
        gap: 13px;
        padding: 19px;
    }

    .health-trust-card img {
        width: 50px;
        height: 50px;
    }

    .health-page .health-sector-card,
    .health-page .health-testimonial-section .testimonial-text {
        padding: 21px;
    }

    .health-page .health-whatsapp-bar p {
        max-width: 130px;
        font-size: 11px;
    }

    .health-page .health-whatsapp-bar .whatsapp-cta-btn {
        min-width: 96px;
        margin-left: 8px;
        padding: 9px 11px;
    }
}

@media (hover: none), (pointer: coarse) {
    .health-page .health-trust-card:hover,
    .health-page .health-sector-card:hover,
    .health-page .health-sector-card:hover img,
    .health-page .health-hero-secondary:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .health-page *,
    .health-page *::before,
    .health-page *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ===========================
   MERCADO DIGITAL — NAVEGAÇÃO
   =========================== */

.digital-market-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.92);
    border-bottom: 1px solid rgba(65, 22, 15, 0.07);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.06);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.digital-market-page .navbar-container {
    min-height: 72px;
}

.digital-market-page .logo-icon {
    height: 43px;
}

.digital-market-page .nav-menu {
    gap: clamp(17px, 1.8vw, 29px);
}

.digital-market-page .nav-link {
    font-size: 11px;
    letter-spacing: 0.055em;
}

.digital-market-page .nav-link::after {
    height: 2px;
    background: var(--primary-red);
}

.digital-market-page .dropdown-menu .current-page {
    color: var(--white);
    background: var(--primary-red);
}

.digital-market-page .dropdown-menu .current-page:hover {
    color: var(--white);
    background: var(--primary-red-dark);
    padding-left: 14px;
}

.digital-market-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

@media (max-width: 900px) {
    .digital-market-page .navbar-container {
        min-height: 68px;
    }

    .digital-market-page .logo-icon {
        height: 40px;
    }

    .digital-market-page .nav-menu {
        top: calc(100% + 6px);
    }

    .digital-market-page .dropdown-menu .current-page {
        color: var(--primary-red);
        background: rgba(206, 99, 99, 0.14);
    }
}

/* ===========================
   MERCADO DIGITAL — HERO
   =========================== */

.digital-market-page .hero-digital {
    position: relative;
    isolation: isolate;
    min-height: clamp(620px, calc(100vh - 72px), 790px);
    padding: clamp(70px, 8vw, 110px) 0;
    overflow: hidden;    
    background-image: url('../resources/Imagens/mercado_digital.jpg');    
    background-size: cover;
    background-position: center;
}

.digital-market-page .digital-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.03fr) minmax(370px, 0.97fr);
    gap: clamp(46px, 7vw, 92px);
    align-items: center;
}

.digital-market-page .hero-digital .hero-content {
    max-width: 680px;
}

.digital-market-page .hero-digital .hero-content::before {
    display: none;
}

.digital-hero-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
    color: var(--primary-red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.digital-hero-label::before {
    content: '';
    width: 34px;
    height: 3px;
    background: var(--primary-red-light);
    border-radius: 999px;
}

.digital-market-page .hero-digital .hero-title {
    max-width: 700px;
    margin-bottom: 24px;
    color: var(--white);
    font-size: clamp(44px, 5.4vw, 70px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.048em;
    text-wrap: balance;
}

.digital-market-page .hero-digital .hero-text {
    max-width: 700px;
    margin: 0;
    color: rgba(248, 249, 250, 0.86);
    font-size: clamp(16px, 1.5vw, 19px);
    line-height: 1.72;
}

.digital-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 13px;
    margin-top: 32px;
}

.digital-market-page .digital-hero-actions .cta-button-red {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 13px 23px;
    border: 1px solid rgba(255, 255, 255, 0.46);
    background: rgba(255, 255, 255, 0.16);
    color: var(--white);
    box-shadow: 0 18px 42px rgba(65, 22, 15, 0.22);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.digital-market-page .digital-hero-actions .cta-button-red:hover,
.digital-market-page .digital-hero-actions .cta-button-red:focus-visible {
    border-color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.28);
    color: var(--white);
}

.digital-hero-secondary {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    color: var(--primary-red);
    border: 1px solid rgba(65, 22, 15, 0.27);
    border-radius: 11px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.digital-hero-secondary:hover {
    background: rgba(65, 22, 15, 0.07);
    border-color: var(--primary-red);
    transform: translateY(-2px);
}

.digital-hero-secondary:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.5);
    outline-offset: 3px;
}

.digital-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 28px;
}

.digital-hero-proof span {
    position: relative;
    padding: 8px 12px 8px 29px;
    color: var(--dark-gray);
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}

.digital-hero-proof span::before {
    content: '✓';
    position: absolute;
    left: 11px;
    color: var(--primary-red);
    font-weight: 800;
}

.digital-market-page .digital-hero-img {
    position: relative;
    display: flex;
    min-height: 500px;
    align-items: center;
    justify-content: center;
    padding: clamp(30px, 4vw, 50px);
    background: var(--white);
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 30px;
    box-shadow: 0 24px 60px rgba(37, 27, 27, 0.13);
}

.digital-market-page .digital-hero-img::before {
    content: '';
    position: absolute;
    inset: 22px;
    border: 1px solid rgba(206, 99, 99, 0.2);
    border-radius: 22px;
    pointer-events: none;
}

.digital-market-page .digital-hero-img img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 430px;
    max-height: 440px;
    object-fit: contain;
    border-radius: 0;
    filter: drop-shadow(0 18px 26px rgba(65, 22, 15, 0.12));
}

.digital-hero-card {
    position: absolute;
    z-index: 2;
    right: -24px;
    bottom: 30px;
    display: grid;
    gap: 5px;
    width: min(245px, 74%);
    padding: 18px 20px;
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(37, 27, 27, 0.16);
}

.digital-hero-card strong {
    color: var(--primary-red);
    font-size: 16px;
}

.digital-hero-card span {
    color: var(--medium-gray);
    font-size: 11px;
    line-height: 1.45;
}

@media (max-width: 1024px) {
    .digital-market-page .digital-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(310px, 0.78fr);
        gap: 38px;
    }

    .digital-market-page .digital-hero-img {
        min-height: 440px;
    }

    .digital-hero-card {
        right: -8px;
    }
}

@media (max-width: 768px) {
    .digital-market-page .hero-digital {        
        min-height: clamp(680px, calc(100vh - 72px), 680px);
        padding: 64px 0 78px;
        
    }

    .digital-market-page .digital-hero-grid {
        grid-template-columns: 1fr;
    }

    .digital-market-page .hero-digital .hero-content {
        max-width: 700px;
    }

    .digital-market-page .digital-hero-img {
        width: min(100%, 580px);
        min-height: 430px;
        margin: 0 auto;
    }
}

@media (max-width: 480px) {
    .digital-market-page .hero-digital {
        padding: 50px 0 15px;        
        min-height: 270px !important;
    }

    .digital-market-page .hero-digital .hero-title {
        font-size: 39px;
    }

    .digital-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .digital-market-page .digital-hero-actions a {
        width: 100%;
    }

    .digital-market-page .digital-hero-img {
        min-height: 350px;
        padding: 24px;
        border-radius: 22px;
    }

    .digital-market-page .digital-hero-img::before {
        inset: 14px;
    }

    .digital-hero-card {
        right: 12px;
        bottom: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .digital-hero-secondary,
    .digital-market-page .digital-hero-img img {
        transition: none;
    }

    .digital-hero-secondary:hover {
        transform: none;
    }
}

/* ===========================
   MERCADO DIGITAL — POR QUE A DOCLA
   =========================== */

.digital-why-section {
    padding: clamp(82px, 10vw, 126px) 0;
    background: #fff;
}

.digital-why-grid {
    display: grid;
    grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(52px, 8vw, 108px);
    align-items: center;
}

.digital-why-cards {
    position: relative;
    display: grid;
    gap: 14px;
    padding-left: 22px;
}

.digital-why-cards::before {
    content: '';
    position: absolute;
    top: 34px;
    bottom: 34px;
    left: 0;
    width: 1px;
    background: linear-gradient(var(--primary-red-light), rgba(65, 22, 15, 0.08));
}

.digital-why-card {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 17px;
    align-items: start;
    min-width: 0;
    padding: 22px;
    background: var(--white);
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 14px;
    box-shadow: 0 9px 26px rgba(37, 27, 27, 0.07);
    transition: var(--transition);
}

.digital-why-card::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -28px;
    width: 11px;
    height: 11px;
    background: var(--primary-red);
    border: 4px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(65, 22, 15, 0.14);
    transform: translateY(-50%);
}

.digital-why-card:hover {
    border-color: rgba(65, 22, 15, 0.2);
    box-shadow: 0 15px 36px rgba(37, 27, 27, 0.11);
    transform: translateX(5px);
}

.digital-why-card img {
    width: 58px;
    height: 58px;
    padding: 10px;
    object-fit: contain;
    background: rgba(206, 99, 99, 0.1);
    border-radius: 13px;
}

.digital-why-card h2 {
    margin: 2px 0 7px;
    color: var(--dark-gray);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
}

.digital-why-card p {
    margin: 0;
    color: var(--medium-gray);
    font-size: 12px;
    line-height: 1.65;
}

.digital-why-copy {
    max-width: 690px;
}

.digital-why-copy .section-label {
    margin-bottom: 17px;
}

.digital-why-copy #digital-why-title {
    margin-bottom: 22px;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.digital-why-copy p {
    margin-bottom: 14px;
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 1.75;
}

.digital-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    color: var(--primary-red);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.digital-text-link span {
    font-size: 19px;
    transition: transform 0.2s ease;
}

.digital-text-link:hover span {
    transform: translateX(4px);
}

.digital-text-link:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.5);
    outline-offset: 4px;
    border-radius: 4px;
}

@media (max-width: 900px) {
    .digital-why-grid {
        grid-template-columns: 1fr;
    }

    .digital-why-copy {
        max-width: 760px;
    }
}

@media (max-width: 520px) {
    .digital-why-cards {
        padding-left: 0;
    }

    .digital-why-cards::before,
    .digital-why-card::before {
        display: none;
    }

    .digital-why-card {
        grid-template-columns: 50px minmax(0, 1fr);
        padding: 19px;
    }

    .digital-why-card img {
        width: 50px;
        height: 50px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .digital-why-card,
    .digital-text-link span {
        transition: none;
    }

    .digital-why-card:hover,
    .digital-text-link:hover span {
        transform: none;
    }
}

/* ===========================
   MERCADO DIGITAL — BLOCO EDITORIAL
   =========================== */

.digital-split-feature {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 520px;
    background: var(--primary-red);
}

.digital-split-copy {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: clamp(58px, 8vw, 100px) clamp(32px, 6vw, 86px);
    background:
        radial-gradient(circle at 10% 10%, rgba(206, 99, 99, 0.25), transparent 28%),
        linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
}

.digital-split-copy-inner {
    width: 100%;
    max-width: 590px;
}

.digital-split-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--primary-red-light);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.digital-split-label::before {
    content: '';
    width: 30px;
    height: 2px;
    background: currentColor;
}

.digital-split-copy #digital-split-title {
    margin-bottom: 20px;
    color: var(--white);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.digital-split-copy p {
    max-width: 560px;
    margin: 0;
    color: rgba(248, 249, 250, 0.76);
    font-size: 15px;
    line-height: 1.75;
}

.digital-split-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    padding: 13px 22px;
    color: var(--primary-red);
    background: var(--white);
    border: 1px solid var(--white);
    border-radius: 11px;
    box-shadow: 0 10px 26px rgba(37, 27, 27, 0.18);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.digital-split-button:hover {
    color: var(--white);
    background: var(--primary-red-light);
    border-color: var(--primary-red-light);
    transform: translateY(-2px);
}

.digital-split-button:focus-visible {
    outline: 3px solid rgba(248, 249, 250, 0.7);
    outline-offset: 4px;
}

.digital-split-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: clamp(42px, 6vw, 78px);
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 45%, #fff 0 35%, transparent 35.5%),
        linear-gradient(145deg, var(--white), var(--light-gray));
}

.digital-split-media::before {
    content: '';
    position: absolute;
    width: 420px;
    height: 420px;
    right: -250px;
    bottom: -250px;
    border: 1px solid rgba(65, 22, 15, 0.12);
    border-radius: 50%;
}

.digital-split-media img {
    position: relative;
    z-index: 1;
    width: min(100%, 500px);
    max-height: 440px;
    object-fit: contain;
    filter: drop-shadow(0 20px 30px rgba(65, 22, 15, 0.14));
}

.digital-split-badge {
    position: absolute;
    z-index: 2;
    right: clamp(18px, 5vw, 72px);
    bottom: 30px;
    display: grid;
    gap: 5px;
    width: min(245px, 72%);
    padding: 18px 20px;
    background: #fff;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(37, 27, 27, 0.15);
}

.digital-split-badge strong {
    color: var(--primary-red);
    font-size: 15px;
}

.digital-split-badge span {
    color: var(--medium-gray);
    font-size: 11px;
    line-height: 1.45;
}

@media (max-width: 850px) {
    .digital-split-feature {
        grid-template-columns: 1fr;
    }

    .digital-split-copy {
        justify-content: center;
    }

    .digital-split-copy-inner {
        max-width: 720px;
    }

    .digital-split-media {
        min-height: 480px;
    }
}

@media (max-width: 480px) {
    .digital-split-copy {
        padding: 54px 20px;
    }

    .digital-split-media {
        min-height: 390px;
        padding: 30px 20px 72px;
    }

    .digital-split-button {
        width: 100%;
    }

    .digital-split-badge {
        right: 14px;
        bottom: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .digital-split-button {
        transition: none;
    }

    .digital-split-button:hover {
        transform: none;
    }
}

.digital-market-page #digital-solutions {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(206, 99, 99, 0.12), transparent 34%),
        linear-gradient(180deg, #fffaf9 0%, #f5efed 100%);
}

.digital-market-page #digital-solutions .container {
    position: relative;
    z-index: 1;
}

.digital-market-page #digital-solutions .section-header {
    max-width: 760px;
    margin: 0 auto 52px;
    text-align: center;
}

.digital-market-page #digital-solutions .section-header .section-label {
    display: inline-flex;
    margin-bottom: 14px;
}

.digital-market-page #digital-solutions .section-header h2 {
    margin-bottom: 16px;
}

.digital-market-page #digital-solutions .section-subtitle {
    max-width: 640px;
    margin: 0 auto;
    color: rgba(37, 27, 27, 0.72);
}

.digital-market-page .digital-benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.digital-market-page .digital-benefit-card {
    position: relative;
    display: grid;
    grid-template-columns: 78px 1fr;
    align-items: start;
    gap: 26px;
    min-height: 100%;
    padding: 34px 30px;
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 22px 55px rgba(37, 27, 27, 0.08);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.digital-market-page .digital-benefit-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(206, 99, 99, 0.14), transparent 42%);
    opacity: 0;
    transition: opacity 0.28s ease;
}

.digital-market-page .digital-benefit-card:hover {
    transform: translateY(-8px);
    border-color: rgba(206, 99, 99, 0.28);
    box-shadow: 0 28px 65px rgba(37, 27, 27, 0.14);
}

.digital-market-page .digital-benefit-card:hover::before {
    opacity: 1;
}

.digital-market-page .digital-benefit-card img,
.digital-market-page .digital-benefit-copy {
    position: relative;
    z-index: 1;
}

.digital-market-page .digital-benefit-card img {
    width: 78px;
    height: 78px;
    padding: 16px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(79, 9, 9, 0.08), rgba(206, 99, 99, 0.18));
    object-fit: contain;
}

.digital-market-page .digital-benefit-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.digital-market-page .digital-benefit-index {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent-red);
}

.digital-market-page .digital-benefit-card h3 {
    margin: 0;
    font-size: 1.45rem;
    color: var(--primary-red-dark);
}

.digital-market-page .digital-benefit-card p {
    margin: 0;
    color: rgba(37, 27, 27, 0.74);
    line-height: 1.75;
}

.digital-market-page .digital-benefit-tag {
    display: inline-flex;
    align-items: center;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(65, 22, 15, 0.08);
    color: var(--dark-red);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .digital-market-page .digital-benefits-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .digital-market-page .digital-benefit-card {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 28px 22px;
        border-radius: 24px;
    }

    .digital-market-page .digital-benefit-card img {
        width: 72px;
        height: 72px;
    }

    .digital-market-page #digital-solutions .section-header {
        margin-bottom: 38px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .digital-market-page .digital-benefit-card,
    .digital-market-page .digital-benefit-card::before {
        transition: none;
    }

    .digital-market-page .digital-benefit-card:hover {
        transform: none;
    }
}

/* Mercado Digital — setores atendidos */
.digital-market-page .digital-sectors-section {
    position: relative;
    overflow: hidden;
    padding: clamp(80px, 9vw, 132px) 0;
    background: linear-gradient(135deg, rgba(65, 22, 15, 0.98), rgba(79, 9, 9, 0.96));
    color: #fff;
}

.digital-market-page .digital-sectors-heading {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    gap: clamp(36px, 7vw, 100px);
    align-items: end;
    margin-bottom: clamp(46px, 6vw, 76px);
}

.digital-market-page .digital-sectors-heading .section-label {
    color: #f2a7a7;
}

.digital-market-page .digital-sectors-heading #digital-sectors-title {
    max-width: 720px;
    margin: 14px 0 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.digital-market-page .digital-sectors-heading > p {
    margin: 0;
    padding-left: 24px;
    border-left: 2px solid var(--primary-red-light);
    color: rgba(255, 255, 255, 0.74);
    font-size: 1rem;
    line-height: 1.8;
}

.digital-market-page .digital-sectors-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.14);
}

.digital-market-page .digital-sector-item {
    position: relative;
    min-height: 280px;
    padding: clamp(30px, 4vw, 46px);
    border-radius: 0;
    background: rgba(46, 10, 8, 0.78);
    color: #fff;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.digital-market-page .digital-sector-item::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 3px;
    background: var(--accent-red);
    transition: width 0.3s ease;
}

.digital-market-page .digital-sector-item:hover {
    z-index: 2;
    background: rgba(107, 31, 29, 0.96);
    transform: translateY(-4px);
}

.digital-market-page .digital-sector-item:hover::after {
    width: 100%;
}

.digital-market-page .digital-sector-number {
    display: block;
    margin-bottom: clamp(52px, 5vw, 72px);
    color: #f2a7a7;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.digital-market-page .digital-sector-item h3 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.08rem, 1.5vw, 1.35rem);
    line-height: 1.35;
}

.digital-market-page .digital-sector-item p {
    margin: 0;
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.9rem;
    line-height: 1.7;
}

@media (max-width: 980px) {
    .digital-market-page .digital-sectors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .digital-market-page .digital-sectors-heading {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .digital-market-page .digital-sectors-heading > p {
        max-width: 620px;
    }
}

@media (max-width: 580px) {
    .digital-market-page .digital-sectors-grid {
        grid-template-columns: 1fr;
        border-radius: 16px;
    }

    .digital-market-page .digital-sector-item {
        min-height: auto;
        padding: 30px 26px 32px;
    }

    .digital-market-page .digital-sector-number {
        margin-bottom: 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .digital-market-page .digital-sector-item,
    .digital-market-page .digital-sector-item::after {
        transition: none;
    }

    .digital-market-page .digital-sector-item:hover {
        transform: none;
    }
}

/* Mercado Digital — faixa de autoridade */
.digital-market-page .digital-authority-section {
    position: relative;
    padding: clamp(72px, 8vw, 112px) 0;
    overflow: hidden;
    background: #fffaf9;
}

.digital-market-page .digital-authority-section .container {
    display: grid;
    grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(48px, 8vw, 110px);
    align-items: end;
}

.digital-market-page .digital-authority-intro h2 {
    margin: 14px 0 0;
    color: var(--primary-red-dark);
    font-size: clamp(2rem, 3.4vw, 3.2rem);
    line-height: 1.12;
}

.digital-market-page .digital-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(65, 22, 15, 0.16);
}

.digital-market-page .digital-authority-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 13px;
    min-width: 0;
    padding: 30px 22px 4px;
    border-left: 1px solid rgba(65, 22, 15, 0.12);
}

.digital-market-page .digital-authority-item:first-child {
    border-left: 0;
    padding-left: 0;
}

.digital-market-page .digital-authority-item::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 22px;
    width: 34px;
    height: 3px;
    background: var(--accent-red);
}

.digital-market-page .digital-authority-item:first-child::before {
    left: 0;
}

.digital-market-page .digital-authority-item strong {
    color: var(--primary-red);
    font-size: clamp(2rem, 3.5vw, 3.8rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.05em;
}

.digital-market-page .digital-authority-item span {
    max-width: 140px;
    color: rgba(37, 27, 27, 0.66);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.5;
}

@media (max-width: 1040px) {
    .digital-market-page .digital-authority-section .container {
        grid-template-columns: 1fr;
        gap: 42px;
    }
}

@media (max-width: 700px) {
    .digital-market-page .digital-authority-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-top: 0;
        gap: 1px;
        background: rgba(65, 22, 15, 0.12);
    }

    .digital-market-page .digital-authority-item,
    .digital-market-page .digital-authority-item:first-child {
        min-height: 170px;
        padding: 28px 22px;
        border: 0;
        background: #fffaf9;
    }

    .digital-market-page .digital-authority-item::before,
    .digital-market-page .digital-authority-item:first-child::before {
        top: 0;
        left: 22px;
    }
}

@media (max-width: 420px) {
    .digital-market-page .digital-authority-grid {
        grid-template-columns: 1fr;
    }

    .digital-market-page .digital-authority-item,
    .digital-market-page .digital-authority-item:first-child {
        min-height: 0;
    }

    .digital-market-page .digital-authority-item span {
        max-width: none;
    }
}

/* Mercado Digital — método de trabalho */
.digital-market-page .digital-method-section {
    position: relative;
    padding: clamp(80px, 9vw, 132px) 0;
    background: #f5efed;
}

.digital-market-page .digital-method-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: clamp(40px, 8vw, 110px);
    align-items: end;
    margin-bottom: clamp(48px, 7vw, 82px);
}

.digital-market-page .digital-method-heading h2 {
    max-width: 760px;
    margin: 14px 0 0;
    color: var(--dark-red);
    font-size: clamp(2rem, 4vw, 3.65rem);
    line-height: 1.08;
}

.digital-market-page .digital-method-heading > p {
    margin: 0;
    padding-left: 24px;
    border-left: 2px solid var(--accent-red);
    color: rgba(37, 27, 27, 0.7);
    line-height: 1.8;
}

.digital-market-page .digital-method-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.digital-market-page .digital-method-card {
    position: relative;
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 24px;
    min-height: 230px;
    padding: clamp(30px, 4vw, 44px);
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.78);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.digital-market-page .digital-method-card::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -90px;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(206, 99, 99, 0.13);
    border-radius: 50%;
    transition: transform 0.35s ease;
}

.digital-market-page .digital-method-card:hover {
    border-color: rgba(206, 99, 99, 0.3);
    box-shadow: 0 24px 55px rgba(65, 22, 15, 0.1);
    transform: translateY(-6px);
}

.digital-market-page .digital-method-card:hover::after {
    transform: scale(1.18);
}

.digital-market-page .digital-method-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(65, 22, 15, 0.14);
    border-radius: 50%;
    color: var(--accent-red);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.digital-market-page .digital-method-card > div {
    position: relative;
    z-index: 1;
}

.digital-market-page .digital-method-card h3 {
    margin: 3px 0 14px;
    color: var(--primary-red);
    font-size: clamp(1.15rem, 1.7vw, 1.45rem);
    line-height: 1.3;
}

.digital-market-page .digital-method-card p {
    margin: 0;
    color: rgba(37, 27, 27, 0.67);
    font-size: 0.92rem;
    line-height: 1.75;
}

@media (max-width: 820px) {
    .digital-market-page .digital-method-heading {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .digital-market-page .digital-method-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .digital-market-page .digital-method-card {
        grid-template-columns: 1fr;
        gap: 22px;
        min-height: 0;
        padding: 28px 24px 34px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .digital-market-page .digital-method-card,
    .digital-market-page .digital-method-card::after {
        transition: none;
    }

    .digital-market-page .digital-method-card:hover {
        transform: none;
    }
}

/* Mercado Digital — CTA para o simulador de planos */
.digital-market-page .digital-plans-cta {
    padding: clamp(46px, 7vw, 92px) 0 clamp(78px, 9vw, 128px);
    background: #fff;
}

.digital-market-page .digital-plans-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
    gap: clamp(48px, 8vw, 112px);
    align-items: end;
    overflow: hidden;
    padding: clamp(42px, 6vw, 78px);
    border-radius: 32px;
    background:
        radial-gradient(circle at 88% 8%, rgba(206, 99, 99, 0.18), transparent 28%),
        linear-gradient(135deg, #41160f, #310806 72%, #240504);
    box-shadow: 0 28px 70px rgba(65, 22, 15, 0.2);
    color: #fff;
}

.digital-market-page .digital-plans-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    pointer-events: none;
}

.digital-market-page .digital-plans-copy,
.digital-market-page .digital-plans-steps {
    position: relative;
    z-index: 1;
}

.digital-market-page .digital-plans-eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: 18px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffd8d8;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.digital-market-page .digital-plans-copy #digital-plans-title {
    max-width: 720px;
    margin: 0 0 22px;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.digital-market-page .digital-plans-copy > p {
    max-width: 680px;
    margin: 0 0 32px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.75;
}

.digital-market-page .digital-plans-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 54px;
    padding: 14px 22px 14px 26px;
    border: 1px solid #fff;
    border-radius: 999px;
    background: #fff;
    color: var(--primary-red);
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

.digital-market-page .digital-plans-button span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--primary-red);
    color: #fff;
    font-size: 1.15rem;
    line-height: 1;
}

.digital-market-page .digital-plans-button:hover,
.digital-market-page .digital-plans-button:focus-visible {
    background: transparent;
    color: #fff;
    transform: translateY(-3px);
}

.digital-market-page .digital-plans-button:hover span,
.digital-market-page .digital-plans-button:focus-visible span {
    background: #fff;
    color: var(--primary-red);
}

.digital-market-page .digital-plans-button:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.4);
    outline-offset: 4px;
}

.digital-market-page .digital-plans-steps {
    display: grid;
    gap: 12px;
}

.digital-market-page .digital-plan-step {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 16px;
    align-items: center;
    min-height: 76px;
    padding: 12px 16px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.075);
}

.digital-market-page .digital-plan-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    color: var(--primary-red);
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.16);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.digital-market-page .digital-plan-step p {
    margin: 0;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .digital-market-page .digital-plans-card {
        grid-template-columns: 1fr;
        gap: 52px;
    }
}

@media (max-width: 580px) {
    .digital-market-page .digital-plans-card {
        padding: 38px 24px;
        border-radius: 24px;
    }

    .digital-market-page .digital-plans-button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .digital-market-page .digital-plans-button {
        transition: none;
    }

    .digital-market-page .digital-plans-button:hover,
    .digital-market-page .digital-plans-button:focus-visible {
        transform: none;
    }
}

/* Mercado Digital — depoimento editorial */
.digital-market-page .digital-testimonial-section {
    position: relative;
    padding: clamp(82px, 10vw, 148px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 88%, rgba(206, 99, 99, 0.11), transparent 28%),
        #f5efed;
}

.digital-market-page .digital-testimonial-grid {
    display: grid;
    grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(48px, 8vw, 112px);
    align-items: center;
}

.digital-market-page .digital-testimonial-media {
    position: relative;
    min-height: clamp(430px, 52vw, 650px);
    margin: 0;
}

.digital-market-page .digital-testimonial-media::before {
    content: "";
    position: absolute;
    top: -18px;
    left: -18px;
    width: 58%;
    height: 48%;
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 28px 0 0;
    pointer-events: none;
}

.digital-market-page .digital-testimonial-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 28px;
    object-fit: cover;
    object-position: center;
    box-shadow: 0 30px 70px rgba(65, 22, 15, 0.2);
}

.digital-market-page .digital-testimonial-media figcaption {
    position: absolute;
    right: -18px;
    bottom: 34px;
    padding: 13px 20px;
    border-radius: 999px;
    background: var(--primary-red);
    box-shadow: 0 14px 30px rgba(65, 22, 15, 0.24);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.digital-market-page .digital-testimonial-copy {
    position: relative;
}

.digital-market-page .digital-testimonial-a11y-title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.digital-market-page .digital-testimonial-mark {
    display: block;
    height: 76px;
    margin: 18px 0 0;
    color: var(--accent-red);
    font-family: Georgia, serif;
    font-size: 7rem;
    line-height: 1;
}

.digital-market-page .digital-testimonial-copy blockquote {
    max-width: 780px;
    margin: 0;
    color: var(--dark-red);
    font-size: clamp(1.55rem, 2.5vw, 2.55rem);
    font-style: normal;
    font-weight: 600;
    line-height: 1.42;
    text-align: left;
}

.digital-market-page .digital-testimonial-client {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    gap: 28px;
    align-items: end;
    margin-top: clamp(34px, 5vw, 56px);
    padding-top: 24px;
    border-top: 1px solid rgba(65, 22, 15, 0.16);
}

.digital-market-page .digital-testimonial-client > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.digital-market-page .digital-testimonial-client strong {
    color: var(--primary-red);
    font-size: 1rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.digital-market-page .digital-testimonial-client span {
    color: rgba(37, 27, 27, 0.64);
    font-size: 0.82rem;
    font-weight: 600;
}

.digital-market-page .digital-testimonial-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.digital-market-page .digital-testimonial-meta span {
    padding: 8px 12px;
    border: 1px solid rgba(65, 22, 15, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
}

@media (max-width: 880px) {
    .digital-market-page .digital-testimonial-grid {
        grid-template-columns: 1fr;
    }

    .digital-market-page .digital-testimonial-media {
        width: min(100%, 620px);
        min-height: clamp(390px, 85vw, 580px);
    }
}

@media (max-width: 580px) {
    .digital-market-page .digital-testimonial-media::before {
        top: -10px;
        left: -10px;
    }

    .digital-market-page .digital-testimonial-media figcaption {
        right: 12px;
        bottom: 18px;
    }

    .digital-market-page .digital-testimonial-client {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .digital-market-page .digital-testimonial-meta {
        justify-content: flex-start;
    }
}

/* Mercado Digital — CTA final */
.digital-market-page .digital-final-cta {
    padding: clamp(78px, 10vw, 140px) 0;
    overflow: hidden;
    background: #fff;
}

.digital-market-page .digital-final-cta-card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(44px, 8vw, 112px);
    align-items: end;
    min-height: 430px;
    padding: clamp(48px, 7vw, 88px);
    overflow: hidden;
    border-radius: 32px;
    background:
        radial-gradient(circle at 88% 12%, rgba(206, 99, 99, 0.28), transparent 30%),
        linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    box-shadow: 0 30px 75px rgba(65, 22, 15, 0.22);
    color: #fff;
}

.digital-market-page .digital-final-cta-background {
    position: absolute;
    z-index: -1;
    right: -18px;
    bottom: -0.2em;
    color: transparent;
    font-size: clamp(7rem, 17vw, 15rem);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: -0.08em;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.16);
    user-select: none;
}

.digital-market-page .digital-final-cta-copy {
    position: relative;
    z-index: 1;
    max-width: 790px;
}

.digital-market-page .digital-final-cta-label {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--accent-red);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.digital-market-page .digital-final-cta-copy #digital-final-cta-title {
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.digital-market-page .digital-final-cta-copy p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.98rem;
    line-height: 1.8;
}

.digital-market-page .digital-final-cta-action {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: 14px;
    min-width: 250px;
}

.digital-market-page .digital-final-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 58px;
    padding: 15px 24px 15px 28px;
    border: 1px solid rgba(255, 255, 255, 0.48);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 16px 34px rgba(65, 22, 15, 0.18);
    color: #fff;
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

.digital-market-page .digital-final-cta-button > span {
    font-size: 1.15rem;
}

.digital-market-page .digital-final-cta-button:hover,
.digital-market-page .digital-final-cta-button:focus-visible {
    border-color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
    transform: translateY(-3px);
}

.digital-market-page .digital-final-cta-button:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.34);
    outline-offset: 4px;
}

.digital-market-page .digital-final-cta-action > span {
    max-width: 240px;
    color: rgba(255, 255, 255, 0.64);
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

@media (max-width: 900px) {
    .digital-market-page .digital-final-cta-card {
        grid-template-columns: 1fr;
        align-items: start;
        min-height: 0;
    }

    .digital-market-page .digital-final-cta-action {
        justify-items: start;
        min-width: 0;
    }

    .digital-market-page .digital-final-cta-action > span {
        text-align: left;
    }
}

@media (max-width: 560px) {
    .digital-market-page .digital-final-cta-card {
        padding: 42px 24px;
        border-radius: 24px;
    }

    .digital-market-page .digital-final-cta-action,
    .digital-market-page .digital-final-cta-button {
        width: 100%;
    }

    .digital-market-page .digital-final-cta-action {
        justify-items: center;
    }

    .digital-market-page .digital-final-cta-action > span {
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .digital-market-page .digital-final-cta-button {
        transition: none;
    }

    .digital-market-page .digital-final-cta-button:hover,
    .digital-market-page .digital-final-cta-button:focus-visible {
        transform: none;
    }
}

/* Mercado Digital — rodapé e barra fixa */
.digital-market-page .footer {
    position: relative;
    padding-top: clamp(76px, 9vw, 112px);
    background:
        radial-gradient(circle at 10% 0%, rgba(206, 99, 99, 0.16), transparent 28%),
        linear-gradient(145deg, #25100d, #160807);
    border-top: 0;
}

.digital-market-page .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

.digital-market-page .footer-content {
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
}

.digital-market-page .digital-footer-intro {
    padding-right: clamp(0px, 3vw, 42px);
}

.digital-market-page .digital-footer-tagline {
    max-width: 340px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.55;
}

.digital-market-page .footer-section .digital-footer-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.digital-market-page .footer-section .digital-footer-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.digital-market-page .footer-section a[aria-current="page"] {
    color: #f2a7a7;
}

.digital-market-page .footer-section a[aria-current="page"]::before {
    width: 12px;
    background: var(--accent-red);
}

.digital-market-page .footer-bottom {
    color: rgba(255, 255, 255, 0.48);
}

.digital-market-page .fixed-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 780px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
}

.digital-market-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.digital-market-page .fixed-whatsapp-bar p strong {
    color: var(--dark-red);
}

.digital-market-page .digital-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(37, 211, 102, 0.12);
}

.digital-market-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.digital-market-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.digital-market-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    background: var(--dark-green);
    border-color: var(--dark-green);
    transform: translateY(-2px);
}

.digital-market-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(37, 211, 102, 0.25);
    outline-offset: 3px;
}

@media (max-width: 1100px) {
    .digital-market-page .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .digital-market-page .digital-footer-intro {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    .digital-market-page .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .digital-market-page .digital-footer-intro {
        grid-column: 1 / -1;
    }

    .digital-market-page .fixed-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    .digital-market-page .fixed-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    .digital-market-page .fixed-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 540px) {
    .digital-market-page .footer-content {
        grid-template-columns: 1fr;
    }

    .digital-market-page .fixed-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    .digital-market-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    .digital-market-page .fixed-whatsapp-bar p {
        display: none;
    }

    .digital-market-page .fixed-whatsapp-bar {
        width: auto;
        right: 10px;
        left: auto;
        transform: none;
    }

    .digital-market-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .digital-market-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        transition: none;
    }

    .digital-market-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
    .digital-market-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
        transform: none;
    }
}

/* Mercado Digital — acabamento responsivo */
.digital-market-page {
    overflow-x: clip;
}

.digital-market-page .dropdown > button.nav-link {
    padding: 0;
    border: 0;
    background: transparent;
    font-family: inherit;
    line-height: inherit;
}

.digital-market-page .social-links .social-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(248, 249, 250, 0.2);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.65;
}

.digital-market-page .social-links .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.digital-market-page .social-links .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.digital-market-page .social-links .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.digital-market-page #digital-solutions {
    scroll-margin-top: 104px;
}

.digital-market-page img {
    max-width: 100%;
}

.digital-market-page .digital-commercial-img {
    display: flex;
    justify-content: center;
}

.digital-market-page .digital-commercial-img img {
    height: auto;
    object-fit: contain;
}

.digital-market-page :where(
    .hero-title,
    .digital-why-copy #digital-why-title,
    .digital-split-copy #digital-split-title,
    #digital-solutions h2,
    .digital-sectors-heading #digital-sectors-title,
    .digital-authority-intro h2,
    .digital-commercial-text #digital-commercial-title,
    .digital-method-heading h2,
    .digital-plans-copy #digital-plans-title,
    .digital-testimonial-copy blockquote,
    .digital-final-cta-copy #digital-final-cta-title
) {
    overflow-wrap: break-word;
}

.digital-market-page :where(
    .digital-hero-actions a,
    .digital-split-button,
    .digital-plans-button,
    .digital-final-cta-button,
    .fixed-whatsapp-bar .whatsapp-cta-btn
) {
    min-height: 48px;
}

@media (max-width: 768px) {
    .digital-market-page #digital-solutions {
        scroll-margin-top: 84px;
    }

    .digital-market-page .dropdown > button.nav-link {
        width: 100%;
        padding: 14px 16px;
        text-align: left;
    }

    .digital-market-page .hero-digital .hero-title {
        font-size: clamp(2.35rem, 9vw, 3.4rem);
        line-height: 1.06;
    }

    .digital-market-page .digital-hero-proof {
        gap: 7px;
    }

    .digital-market-page .digital-hero-proof span {
        flex: 1 1 170px;
    }

    .digital-market-page .digital-commercial-grid {
        gap: 34px;
    }

    .digital-market-page .digital-commercial-text {
        text-align: left;
    }

    .digital-market-page .digital-commercial-img img {
        width: min(100%, 420px);
    }

    .digital-market-page :where(
        .digital-sectors-heading > p,
        .digital-method-heading > p
    ) {
        padding-left: 18px;
    }

    .digital-market-page .digital-plans-card::before,
    .digital-market-page .digital-final-cta-card::before {
        opacity: 0.7;
    }
}

@media (max-width: 480px) {
    .digital-market-page .hero-digital .hero-title {
        font-size: clamp(2.1rem, 10.8vw, 2.75rem);
    }

    .digital-market-page .digital-hero-img {
        min-height: 320px;
    }

    .digital-market-page .digital-hero-card {
        right: 10px;
        bottom: 12px;
        width: calc(100% - 20px);
        padding: 15px 17px;
    }

    .digital-market-page .digital-hero-proof {
        display: grid;
        grid-template-columns: 1fr;
    }

    .digital-market-page .digital-hero-proof span {
        width: 100%;
    }

    .digital-market-page :where(
        .digital-sectors-heading > p,
        .digital-method-heading > p
    ) {
        padding-left: 15px;
    }

    .digital-market-page .digital-benefit-tag {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .digital-market-page .digital-testimonial-media {
        min-height: 370px;
    }

    .digital-market-page .digital-testimonial-copy blockquote {
        font-size: clamp(1.35rem, 6.7vw, 1.7rem);
    }

    .digital-market-page .digital-testimonial-mark {
        height: 62px;
        font-size: 6rem;
    }

    .digital-market-page .digital-final-cta-background {
        right: 0;
        font-size: 7rem;
    }
}

@media (hover: none), (pointer: coarse) {
    .digital-market-page :where(
        .digital-why-card,
        .digital-benefit-card,
        .digital-sector-item,
        .digital-method-card,
        .digital-plans-button,
        .digital-final-cta-button,
        .fixed-whatsapp-bar .whatsapp-cta-btn
    ):hover {
        transform: none;
    }
}

/* ===========================
   CONSTRUÇÃO CIVIL — ESCOPO DO REDESIGN
   =========================== */

.construction-page {
    overflow-x: clip;
}

/* Construção Civil — navegação */
.construction-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(248, 249, 250, 0.93);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.construction-page .navbar-container {
    min-height: 74px;
}

.construction-page .logo-icon {
    height: 44px;
}

.construction-page .nav-menu {
    gap: clamp(16px, 1.8vw, 28px);
}

.construction-page .dropdown > button.nav-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--dark-gray);
    font-family: inherit;
    line-height: inherit;
}

.construction-page .dropdown-menu .current-page {
    background: rgba(65, 22, 15, 0.1);
    color: var(--primary-red-dark);
    font-weight: 800;
}

.construction-page .dropdown-menu .current-page::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 9px;
    border-radius: 50%;
    background: var(--primary-red-light);
    vertical-align: 1px;
}

.construction-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

@media (max-width: 900px) {
    .construction-page .navbar-container {
        min-height: 68px;
    }

    .construction-page .logo-icon {
        height: 40px;
    }

    .construction-page .dropdown > button.nav-link {
        width: 100%;
        padding: 14px 16px;
        text-align: left;
    }
}

/* Construção Civil — hero */
.construction-page .hero-construction {
    position: relative;
    isolation: isolate;
    min-height: calc(100svh - 74px);
    padding: clamp(88px, 11vw, 148px) 0;
    overflow: hidden;
    background-image: url("../resources/Imagens/hero-construction.jpg");
    background-position: center;
    background-size: cover;
}

.construction-page .construction-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
    gap: clamp(48px, 8vw, 120px);
    align-items: end;
}

.construction-page .construction-hero-content {
    max-width: 760px;
}

.construction-page .construction-hero-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: #f3b0b0;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.construction-page .construction-hero-label::before {
    content: "";
    width: 32px;
    height: 2px;
    background: var(--primary-red-light);
}

.construction-page .hero-construction .hero-title {
    max-width: 760px;
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(2.7rem, 5.3vw, 5rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.045em;
    text-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

.construction-page .hero-construction .hero-text {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(0.98rem, 1.4vw, 1.12rem);
    line-height: 1.75;
}

.construction-page .construction-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.construction-page .construction-hero-primary,
.construction-page .construction-hero-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 14px 24px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.construction-page .construction-hero-primary {
    border-color: var(--primary-red-light);
    background: var(--primary-red-light);
    box-shadow: 0 14px 30px rgba(37, 27, 27, 0.3);
    color: #fff;
}

.construction-page .construction-hero-secondary {
    border-color: rgba(255, 255, 255, 0.62);
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    backdrop-filter: blur(8px);
}

.construction-page .construction-hero-primary:hover,
.construction-page .construction-hero-primary:focus-visible {
    border-color: #fff;
    background: #fff;
    color: var(--primary-red);
    transform: translateY(-3px);
}

.construction-page .construction-hero-secondary:hover,
.construction-page .construction-hero-secondary:focus-visible {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.16);
    transform: translateY(-3px);
}

.construction-page .construction-hero-primary:focus-visible,
.construction-page .construction-hero-secondary:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.42);
    outline-offset: 4px;
}

.construction-page .construction-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 28px;
}

.construction-page .construction-hero-proof span {
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: rgba(20, 7, 6, 0.42);
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.7rem;
    font-weight: 600;
    backdrop-filter: blur(8px);
}

.construction-page .construction-hero-assurance {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 16px;
    align-items: start;
    max-width: 330px;
    margin-left: auto;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: 18px;
    background: rgba(24, 10, 8, 0.72);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(14px);
}

.construction-page .construction-assurance-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--primary-red-light);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
}

.construction-page .construction-hero-assurance strong {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: 0.95rem;
}

.construction-page .construction-hero-assurance p {
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.76rem;
    line-height: 1.55;
}

@media (max-width: 900px) {
    .construction-page .hero-construction {
        min-height: auto;
        padding: 84px 0;
        background-position: 58% center;
    }

    .construction-page .construction-hero-layout {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .construction-page .construction-hero-assurance {
        margin: 0;
    }
}

@media (max-width: 560px) {
    .construction-page .hero-construction {
        padding: 68px 0;
    }

    .construction-page .hero-construction .hero-title {
        font-size: clamp(2.35rem, 11vw, 3.1rem);
    }

    .construction-page .construction-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .construction-page .construction-hero-primary,
    .construction-page .construction-hero-secondary {
        width: 100%;
    }

    .construction-page .construction-hero-proof {
        display: grid;
        grid-template-columns: 1fr;
    }

    .construction-page .construction-hero-proof span {
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .construction-hero-primary,
    .construction-page .construction-hero-secondary {
        transition: none;
    }

    .construction-page .construction-hero-primary:hover,
    .construction-page .construction-hero-primary:focus-visible,
    .construction-page .construction-hero-secondary:hover,
    .construction-page .construction-hero-secondary:focus-visible {
        transform: none;
    }
}

/* Construção Civil — faixa técnica */
.construction-page .construction-expertise-strip {
    position: relative;
    z-index: 3;
    padding: 0;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    background: var(--primary-red);
    box-shadow: 0 12px 30px rgba(37, 27, 27, 0.16);
}

.construction-page .construction-expertise-track {
    width: min(100%, 1500px);
    margin: 0 auto;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--primary-red-light) transparent;
}

.construction-page .construction-expertise-track ul {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: max-content;
    margin: 0;
    padding: 0 24px;
    list-style: none;
}

.construction-page .construction-expertise-track li {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: 0 clamp(24px, 3vw, 44px);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.construction-page .construction-expertise-track li + li::before {
    content: "";
    position: absolute;
    left: -3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary-red-light);
    box-shadow: 0 0 0 4px rgba(206, 99, 99, 0.16);
}

@media (max-width: 1100px) {
    .construction-page .construction-expertise-track ul {
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {
    .construction-page .construction-expertise-track {
        scroll-snap-type: none;
    }

    .construction-page .construction-expertise-track ul {
        padding-inline: 10px;
    }

    .construction-page .construction-expertise-track li {
        min-height: 50px;
        padding-inline: 24px;
        scroll-snap-align: none;
    }
}

/* Construção Civil — nossa expertise */
.construction-page .construction-intro {
    position: relative;
    padding: clamp(86px, 10vw, 142px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 6% 15%, rgba(206, 99, 99, 0.1), transparent 25%),
        #fff;
}

.construction-page .construction-intro-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(50px, 8vw, 112px);
    align-items: center;
}

.construction-page .construction-intro-img {
    position: relative;
    min-height: clamp(470px, 50vw, 650px);
    margin: 0;
}

.construction-page .construction-intro-img::before {
    content: "";
    position: absolute;
    top: -16px;
    left: -16px;
    width: 62%;
    height: 58%;
    border: 1px solid rgba(65, 22, 15, 0.18);
    border-radius: 26px 0 0;
    pointer-events: none;
}

.construction-page .construction-intro-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 26px;
    object-fit: cover;
    object-position: center;
    box-shadow: 0 28px 65px rgba(37, 27, 27, 0.18);
}

.construction-page .construction-intro-text .section-label {
    display: inline-flex;
    margin-bottom: 16px;
}

.construction-page .construction-intro-text #construction-expertise-title {
    max-width: 680px;
    margin: 0 0 26px;
    color: var(--primary-red);
    font-size: clamp(2.1rem, 4vw, 3.75rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.construction-page .construction-intro-text p {
    max-width: 700px;
    margin: 0 0 18px;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.96rem;
    line-height: 1.8;
}

.construction-page .construction-expertise-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 32px 0 36px;
    padding: 0;
    list-style: none;
}

.construction-page .construction-expertise-list li {
    position: relative;
    min-height: 78px;
    margin: 0;
    padding: 17px 16px 17px 48px;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 13px;
    background: #fffaf9;
    color: var(--dark-gray);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.55;
}

.construction-page .construction-expertise-list li::before {
    content: "✓";
    top: 18px;
    left: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.14);
    color: var(--primary-red);
    font-size: 0.72rem;
    font-weight: 800;
}

.construction-page .construction-intro-text .about-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 1px solid var(--primary-red);
    border-radius: 10px;
    background: transparent;
    color: var(--primary-red);
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.construction-page .construction-intro-text .about-link:hover,
.construction-page .construction-intro-text .about-link:focus-visible {
    background: var(--primary-red);
    color: #fff;
    transform: translateY(-3px);
}

.construction-page .construction-intro-text .about-link:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.35);
    outline-offset: 4px;
}

@media (max-width: 900px) {
    .construction-page .construction-intro-grid {
        grid-template-columns: 1fr;
    }

    .construction-page .construction-intro-img {
        width: min(100%, 680px);
        min-height: clamp(430px, 76vw, 600px);
        order: 0;
    }
}

@media (max-width: 600px) {
    .construction-page .construction-intro-img {
        min-height: 400px;
    }

    .construction-page .construction-intro-img::before {
        top: -9px;
        left: -9px;
    }

    .construction-page .construction-expertise-list {
        grid-template-columns: 1fr;
    }

    .construction-page .construction-intro-text .about-link {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .construction-intro-text .about-link {
        transition: none;
    }

    .construction-page .construction-intro-text .about-link:hover,
    .construction-page .construction-intro-text .about-link:focus-visible {
        transform: none;
    }
}

/* Construção Civil — setores atendidos */
.construction-page .construction-sectors {
    position: relative;
    padding: clamp(84px, 10vw, 136px) 0;
    overflow: hidden;
    background:
        linear-gradient(180deg, #f5efed 0%, #fff 100%);
}

.construction-page .construction-sectors::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.04) 1px, transparent 1px),
        linear-gradient(180deg, rgba(166, 42, 42, 0.035) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    pointer-events: none;
}

.construction-page .construction-sectors .container {
    position: relative;
    z-index: 1;
}

.construction-page .construction-sectors .section-header {
    max-width: 820px;
    margin: 0 auto clamp(44px, 6vw, 68px);
    text-align: center;
}

.construction-page .construction-sectors .section-label {
    display: inline-flex;
    margin-bottom: 14px;
}

.construction-page .construction-sectors .section-header #construction-sectors-title {
    margin: 0 0 18px;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.55rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.construction-page .construction-sectors .section-subtitle {
    max-width: 680px;
    margin: 0 auto;
    color: rgba(37, 27, 27, 0.66);
    line-height: 1.75;
}

.construction-page .construction-sectors-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.construction-page .sector-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    padding: 0;
    overflow: hidden;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(37, 27, 27, 0.08);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.construction-page .sector-card:hover {
    border-color: rgba(206, 99, 99, 0.35);
    box-shadow: 0 25px 55px rgba(37, 27, 27, 0.15);
    transform: translateY(-7px);
}

.construction-page .construction-sector-media {
    position: relative;
    height: 205px;
    overflow: hidden;
    background: var(--dark-gray);
}

.construction-page .construction-sector-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 48%, rgba(37, 27, 27, 0.55));
    pointer-events: none;
}

.construction-page .construction-sector-media img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    filter: none;
    transition: transform 0.45s ease;
}

.construction-page .sector-card:nth-child(1) .construction-sector-media img {
    object-position: center 42%;
}

.construction-page .sector-card:nth-child(2) .construction-sector-media img {
    object-position: 56% center;
}

.construction-page .sector-card:nth-child(3) .construction-sector-media img {
    object-position: 62% center;
}

.construction-page .sector-card:nth-child(4) .construction-sector-media img {
    object-position: 54% center;
}

.construction-page .sector-card:nth-child(5) .construction-sector-media img {
    object-position: center 58%;
}

.construction-page .sector-card:hover .construction-sector-media img {
    filter: none;
    transform: scale(1.045);
}

.construction-page .construction-sector-media > span {
    position: absolute;
    z-index: 2;
    right: 14px;
    bottom: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--primary-red);
    box-shadow: 0 8px 18px rgba(37, 27, 27, 0.28);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
}

.construction-page .construction-sector-icon-media {
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at center, rgba(206, 99, 99, 0.24), transparent 46%),
        linear-gradient(145deg, var(--primary-red), var(--primary-red-dark));
}

.construction-page .construction-sector-icon-media img {
    width: 96px;
    height: 96px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.construction-page .sector-card:hover .construction-sector-icon-media img {
    filter: brightness(0) invert(1);
}

.construction-page .sector-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 26px 24px 28px;
}

.construction-page .sector-card h3 {
    margin: 0 0 12px;
    color: var(--primary-red);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.35;
}

.construction-page .sector-card p {
    margin: 0;
    color: rgba(37, 27, 27, 0.65);
    font-size: 0.84rem;
    line-height: 1.7;
}

@media (max-width: 960px) {
    .construction-page .construction-sectors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .construction-page .construction-sectors-grid {
        grid-template-columns: 1fr;
    }

    .construction-page .construction-sector-media {
        height: 220px;
    }
}

@media (hover: none), (pointer: coarse) {
    .construction-page .sector-card:hover,
    .construction-page .sector-card:hover .construction-sector-media img {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .sector-card,
    .construction-page .construction-sector-media img {
        transition: none;
    }

    .construction-page .sector-card:hover,
    .construction-page .sector-card:hover .construction-sector-media img {
        transform: none;
    }
}

/* Construção Civil — por que escolher a Docla */
.construction-page .construction-why-section {
    position: relative;
    padding: clamp(56px, 7vw, 96px) 0 clamp(86px, 10vw, 140px);
    overflow: hidden;
    background: #fff;
}

.construction-page .construction-why-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(54px, 9vw, 128px);
    align-items: center;
}

.construction-page .construction-why-copy {
    max-width: 590px;
}

.construction-page .construction-why-copy .section-label {
    display: inline-flex;
    margin-bottom: 16px;
}

.construction-page .construction-why-copy #construction-why-title {
    margin: 0 0 24px;
    color: var(--primary-red);
    font-size: clamp(2.1rem, 4.2vw, 3.8rem);
    font-weight: 800;
    line-height: 1.07;
    letter-spacing: -0.04em;
}

.construction-page .construction-why-copy p {
    margin: 0;
    color: rgba(37, 27, 27, 0.68);
    font-size: 0.96rem;
    line-height: 1.8;
}

.construction-page .construction-why-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: 32px;
    padding: 14px 23px;
    border: 1px solid var(--primary-red);
    border-radius: 10px;
    background: var(--primary-red);
    box-shadow: 0 13px 28px rgba(65, 22, 15, 0.2);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.construction-page .construction-why-button:hover,
.construction-page .construction-why-button:focus-visible {
    background: var(--primary-red-dark);
    border-color: var(--primary-red-dark);
    transform: translateY(-3px);
}

.construction-page .construction-why-button:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.35);
    outline-offset: 4px;
}

.construction-page .construction-why-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.construction-page .construction-why-card {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
    align-items: center;
    min-height: 0;
    padding: 16px 18px;
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 17px;
    background: #fffaf9;
    box-shadow: 0 12px 30px rgba(37, 27, 27, 0.06);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.construction-page .construction-why-card:hover {
    border-color: rgba(206, 99, 99, 0.3);
    box-shadow: 0 20px 42px rgba(37, 27, 27, 0.11);
    transform: translateY(-5px);
}

.construction-page .construction-why-card > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.14);
    color: var(--primary-red);
    font-size: 0.7rem;
    font-weight: 800;
}

.construction-page .construction-why-card h3 {
    margin: 0;
    color: var(--primary-red);
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.35;
}

.construction-page .construction-why-card p {
    margin: 0;
    color: rgba(37, 27, 27, 0.62);
    font-size: 0.78rem;
    line-height: 1.65;
}

@media (max-width: 920px) {
    .construction-page .construction-why-grid {
        grid-template-columns: 1fr;
    }

    .construction-page .construction-why-copy {
        max-width: 720px;
    }
}

@media (max-width: 620px) {
    .construction-page .construction-why-button {
        width: 100%;
    }
}

@media (hover: none), (pointer: coarse) {
    .construction-page .construction-why-card:hover,
    .construction-page .construction-why-button:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .construction-why-card,
    .construction-page .construction-why-button {
        transition: none;
    }

    .construction-page .construction-why-card:hover,
    .construction-page .construction-why-button:hover,
    .construction-page .construction-why-button:focus-visible {
        transform: none;
    }
}

/* Construção Civil — bloco técnico */
.construction-page .construction-technical-section {
    position: relative;
    padding: clamp(88px, 10vw, 142px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 0%, rgba(206, 99, 99, 0.15), transparent 28%),
        linear-gradient(145deg, #251b1b, #160b09);
    color: #fff;
}

.construction-page .construction-technical-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 86px 86px;
    mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    pointer-events: none;
}

.construction-page .construction-technical-section .container {
    position: relative;
    z-index: 1;
}

.construction-page .construction-technical-heading {
    max-width: 920px;
    margin: 0 auto clamp(48px, 7vw, 76px);
    text-align: center;
}

.construction-page .construction-technical-label {
    display: inline-flex;
    margin-bottom: 17px;
    color: #f2abab;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.construction-page .construction-technical-heading #construction-technical-title {
    margin: 0 0 22px;
    color: #fff;
    font-size: clamp(2rem, 4.2vw, 3.75rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.construction-page .construction-technical-heading p {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.68);
    line-height: 1.75;
}

.construction-page .construction-technical-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.construction-page .construction-technical-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.055);
    box-shadow: 0 24px 55px rgba(0, 0, 0, 0.2);
    transition: transform 0.28s ease, border-color 0.28s ease, background-color 0.28s ease;
}

.construction-page .construction-technical-card:hover {
    border-color: rgba(206, 99, 99, 0.42);
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-7px);
}

.construction-page .construction-technical-media {
    position: relative;
    height: 220px;
    overflow: hidden;
}

.construction-page .construction-technical-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(22, 11, 9, 0.82));
    pointer-events: none;
}

.construction-page .construction-technical-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.76) contrast(1.04);
    transition: transform 0.45s ease;
}

.construction-page .construction-technical-card:hover .construction-technical-media img {
    transform: scale(1.045);
}

.construction-page .construction-technical-media > span {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 14px;
    color: #f2abab;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.construction-page .construction-technical-content {
    padding: 26px 25px 30px;
}

.construction-page .construction-technical-content h3 {
    margin: 0 0 20px;
    color: #fff;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.35;
}

.construction-page .construction-technical-content ul {
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.construction-page .construction-technical-content li {
    position: relative;
    padding-left: 18px;
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.77rem;
    line-height: 1.55;
}

.construction-page .construction-technical-content li::before {
    content: "";
    position: absolute;
    top: 0.58em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary-red-light);
}

.construction-page .construction-technical-action {
    display: flex;
    justify-content: center;
    margin-top: 42px;
}

.construction-page .construction-technical-action .cta-button {
    min-height: 52px;
    padding: 14px 24px;
    border: 1px solid #fff;
    border-radius: 10px;
    background: #fff;
    color: var(--primary-red);
    font-size: 0.8rem;
    font-weight: 800;
}

.construction-page .construction-technical-action .cta-button:hover,
.construction-page .construction-technical-action .cta-button:focus-visible {
    background: transparent;
    color: #fff;
    transform: translateY(-3px);
}

.construction-page .construction-technical-action .cta-button:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.45);
    outline-offset: 4px;
}

@media (max-width: 900px) {
    .construction-page .construction-technical-grid {
        grid-template-columns: 1fr;
    }

    .construction-page .construction-technical-card {
        display: grid;
        grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1fr);
    }

    .construction-page .construction-technical-media {
        height: 100%;
        min-height: 260px;
    }
}

@media (max-width: 620px) {
    .construction-page .construction-technical-card {
        grid-template-columns: 1fr;
    }

    .construction-page .construction-technical-media {
        height: 215px;
        min-height: 0;
    }

    .construction-page .construction-technical-action .cta-button {
        width: 100%;
    }
}

@media (hover: none), (pointer: coarse) {
    .construction-page .construction-technical-card:hover,
    .construction-page .construction-technical-card:hover .construction-technical-media img {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .construction-technical-card,
    .construction-page .construction-technical-media img,
    .construction-page .construction-technical-action .cta-button {
        transition: none;
    }

    .construction-page .construction-technical-card:hover,
    .construction-page .construction-technical-card:hover .construction-technical-media img,
    .construction-page .construction-technical-action .cta-button:hover,
    .construction-page .construction-technical-action .cta-button:focus-visible {
        transform: none;
    }
}

/* Construção Civil — processo de atendimento */
.construction-page .construction-process-section {
    position: relative;
    padding: clamp(86px, 10vw, 138px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 12%, rgba(206, 99, 99, 0.1), transparent 24%),
        #f8f9fa;
}

.construction-page .construction-process-heading {
    max-width: 900px;
    margin: 0 auto clamp(46px, 7vw, 76px);
    text-align: center;
}

.construction-page .construction-process-heading .section-label {
    display: inline-flex;
    margin-bottom: 15px;
}

.construction-page .construction-process-heading #construction-process-title {
    margin: 0 0 20px;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.65rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.construction-page .construction-process-heading p {
    max-width: 700px;
    margin: 0 auto;
    color: rgba(37, 27, 27, 0.66);
    line-height: 1.75;
}

.construction-page .construction-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.construction-page .construction-process-step {
    position: relative;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 19px;
    min-height: 205px;
    padding: 30px 27px;
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(37, 27, 27, 0.07);
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.construction-page .construction-process-step:hover {
    border-color: rgba(206, 99, 99, 0.3);
    box-shadow: 0 22px 48px rgba(37, 27, 27, 0.12);
    transform: translateY(-6px);
}

.construction-page .construction-process-number {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: var(--primary-red);
    box-shadow: 0 10px 22px rgba(65, 22, 15, 0.2);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.construction-page .construction-process-step > div {
    position: relative;
    z-index: 1;
}

.construction-page .construction-process-step h3 {
    margin: 3px 0 12px;
    color: var(--primary-red);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.construction-page .construction-process-step p {
    margin: 0;
    color: rgba(37, 27, 27, 0.62);
    font-size: 0.79rem;
    line-height: 1.7;
}

@media (max-width: 960px) {
    .construction-page .construction-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .construction-page .construction-process-grid {
        grid-template-columns: 1fr;
    }

    .construction-page .construction-process-step {
        min-height: 0;
        padding: 26px 23px;
    }
}

@media (hover: none), (pointer: coarse) {
    .construction-page .construction-process-step:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .construction-process-step {
        transition: none;
    }

    .construction-page .construction-process-step:hover {
        transform: none;
    }
}

/* Construção Civil — proteção da margem */
.construction-page .time-saving {
    position: relative;
    padding: clamp(88px, 10vw, 142px) 0;
    overflow: hidden;
    background: #fff;
}

.construction-page .time-saving-content {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.95fr);
    gap: clamp(52px, 9vw, 120px);
    align-items: center;
}

.construction-page .time-saving-text {
    min-width: 0;
    animation: none;
}

.construction-page .time-saving-text .section-label {
    display: inline-flex;
    margin-bottom: 16px;
}

.construction-page .time-saving-text h2 {
    max-width: 680px;
    margin: 0 0 25px;
    color: var(--dark-gray);
    font-size: clamp(2.2rem, 4.6vw, 4.15rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.construction-page .time-saving-text p {
    max-width: 720px;
    margin: 0 0 18px;
    color: rgba(37, 27, 27, 0.69);
    font-size: 0.95rem;
    line-height: 1.8;
    text-align: left;
}

.construction-page .construction-profit-list {
    display: grid;
    gap: 11px;
    margin: 30px 0 34px;
    padding: 0;
    list-style: none;
}

.construction-page .construction-profit-list li {
    position: relative;
    padding: 13px 16px 13px 46px;
    border-left: 2px solid var(--primary-red-light);
    background: #fffaf9;
    color: var(--dark-gray);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.5;
}

.construction-page .construction-profit-list li::before {
    content: "✓";
    position: absolute;
    top: 12px;
    left: 17px;
    color: var(--primary-red);
    font-weight: 800;
}

.construction-page .construction-profit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 23px;
    border: 1px solid var(--primary-red);
    border-radius: 10px;
    background: var(--primary-red);
    box-shadow: 0 13px 28px rgba(65, 22, 15, 0.2);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.construction-page .construction-profit-button:hover,
.construction-page .construction-profit-button:focus-visible {
    border-color: var(--primary-red-dark);
    background: var(--primary-red-dark);
    transform: translateY(-3px);
}

.construction-page .construction-profit-button:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.35);
    outline-offset: 4px;
}

.construction-page .time-saving-img {
    position: relative;
    display: block;
    min-height: clamp(480px, 50vw, 650px);
    margin: 0;
}

.construction-page .time-saving-img::before {
    content: "";
    position: absolute;
    top: -15px;
    right: -15px;
    width: 64%;
    height: 55%;
    border: 1px solid rgba(65, 22, 15, 0.18);
    border-radius: 0 26px 0 0;
    pointer-events: none;
}

.construction-page .time-saving-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    border-radius: 26px;
    object-fit: cover;
    object-position: 60% center;
    box-shadow: 0 28px 65px rgba(37, 27, 27, 0.18);
}

.construction-page .construction-profit-badge {
    position: absolute;
    bottom: 28px;
    left: -26px;
    display: grid;
    gap: 6px;
    max-width: 270px;
    padding: 19px 21px;
    border-radius: 15px;
    background: var(--primary-red);
    box-shadow: 0 18px 38px rgba(65, 22, 15, 0.28);
}

.construction-page .construction-profit-badge strong {
    color: #fff;
    font-size: 0.9rem;
}

.construction-page .construction-profit-badge span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .construction-page .time-saving-content {
        grid-template-columns: 1fr;
    }

    .construction-page .time-saving-img {
        width: min(100%, 680px);
        min-height: clamp(430px, 76vw, 600px);
    }
}

@media (max-width: 600px) {
    .construction-page .construction-profit-button {
        width: 100%;
    }

    .construction-page .time-saving-img {
        min-height: 400px;
    }

    .construction-page .time-saving-img::before {
        top: -9px;
        right: -9px;
    }

    .construction-page .construction-profit-badge {
        bottom: 14px;
        left: 12px;
        max-width: calc(100% - 24px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .construction-profit-button {
        transition: none;
    }

    .construction-page .construction-profit-button:hover,
    .construction-page .construction-profit-button:focus-visible {
        transform: none;
    }
}

/* Construção Civil — autoridade */
.construction-page .construction-authority-section {
    position: relative;
    padding: clamp(78px, 9vw, 120px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 8%, rgba(206, 99, 99, 0.22), transparent 26%),
        linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    color: #fff;
}

.construction-page .construction-authority-section::before {
    content: "";
    position: absolute;
    top: -210px;
    left: -170px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(255, 255, 255, 0.018);
    pointer-events: none;
}

.construction-page .construction-authority-section .container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(46px, 8vw, 108px);
    align-items: end;
}

.construction-page .construction-authority-label {
    display: inline-flex;
    margin-bottom: 16px;
    color: #f2abab;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.construction-page .construction-authority-heading h2 {
    max-width: 570px;
    margin: 0;
    color: #fff;
    font-size: clamp(1.9rem, 3.5vw, 3.2rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.construction-page .construction-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.construction-page .construction-authority-item {
    position: relative;
    display: flex;
    min-width: 0;
    padding: 30px 20px 4px;
    flex-direction: column;
    gap: 13px;
    border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.construction-page .construction-authority-item:first-child {
    padding-left: 0;
    border-left: 0;
}

.construction-page .construction-authority-item::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 20px;
    width: 32px;
    height: 3px;
    background: #f2abab;
}

.construction-page .construction-authority-item:first-child::before {
    left: 0;
}

.construction-page .construction-authority-item strong {
    color: #fff;
    font-size: clamp(1.75rem, 3vw, 3.15rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
}

.construction-page .construction-authority-item span {
    max-width: 135px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.73rem;
    font-weight: 600;
    line-height: 1.5;
}

@media (max-width: 1020px) {
    .construction-page .construction-authority-section .container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .construction-page .construction-authority-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1px;
        border-top: 0;
        background: rgba(255, 255, 255, 0.14);
    }

    .construction-page .construction-authority-item,
    .construction-page .construction-authority-item:first-child {
        min-height: 155px;
        padding: 27px 22px;
        border: 0;
        background: rgba(52, 12, 9, 0.78);
    }

    .construction-page .construction-authority-item::before,
    .construction-page .construction-authority-item:first-child::before {
        top: 0;
        left: 22px;
    }
}

@media (max-width: 400px) {
    .construction-page .construction-authority-grid {
        grid-template-columns: 1fr;
    }

    .construction-page .construction-authority-item,
    .construction-page .construction-authority-item:first-child {
        min-height: 0;
    }

    .construction-page .construction-authority-item span {
        max-width: none;
    }
}

/* Construção Civil — depoimento */
.construction-page .construction-testimonial-section {
    position: relative;
    padding: clamp(88px, 10vw, 148px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 5% 88%, rgba(206, 99, 99, 0.1), transparent 27%),
        #f5efed;
}

.construction-page .construction-testimonial-grid {
    display: grid;
    grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
    gap: clamp(50px, 9vw, 124px);
    align-items: center;
}

.construction-page .construction-testimonial-media {
    position: relative;
    min-height: clamp(490px, 55vw, 680px);
    margin: 0;
}

.construction-page .construction-testimonial-media::before {
    content: "";
    position: absolute;
    top: -16px;
    left: -16px;
    width: 58%;
    height: 48%;
    border: 1px solid rgba(65, 22, 15, 0.18);
    border-radius: 26px 0 0;
    pointer-events: none;
}

.construction-page .construction-testimonial-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 26px;
    object-fit: cover;
    object-position: center 22%;
    box-shadow: 0 30px 70px rgba(37, 27, 27, 0.2);
}

.construction-page .construction-testimonial-media figcaption {
    position: absolute;
    right: -18px;
    bottom: 30px;
    padding: 13px 19px;
    border-radius: 999px;
    background: var(--primary-red);
    box-shadow: 0 14px 30px rgba(65, 22, 15, 0.24);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.construction-page .construction-testimonial-copy {
    min-width: 0;
}

.construction-page .construction-testimonial-copy .section-label {
    display: inline-flex;
    margin-bottom: 16px;
}

.construction-page .construction-testimonial-copy #construction-testimonial-title {
    max-width: 780px;
    margin: 0 0 20px;
    color: #111;
    font-size: clamp(2rem, 4vw, 3.55rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.construction-page .construction-testimonial-mark {
    display: block;
    height: 72px;
    margin-top: 12px;
    color: var(--primary-red-light);
    font-family: Georgia, serif;
    font-size: 6.8rem;
    line-height: 1;
}

.construction-page .construction-testimonial-copy blockquote {
    margin: 0;
}

.construction-page .construction-testimonial-copy blockquote p {
    max-width: 790px;
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(1.35rem, 2.25vw, 2.15rem);
    font-style: normal;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
}

.construction-page .construction-testimonial-client {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    gap: 28px;
    align-items: end;
    margin-top: clamp(34px, 5vw, 54px);
    padding-top: 24px;
    border-top: 1px solid rgba(65, 22, 15, 0.16);
}

.construction-page .construction-testimonial-client > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.construction-page .construction-testimonial-client strong {
    color: var(--primary-red);
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.construction-page .construction-testimonial-client span {
    color: rgba(37, 27, 27, 0.62);
    font-size: 0.78rem;
    font-weight: 600;
}

.construction-page .construction-testimonial-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.construction-page .construction-testimonial-meta span {
    padding: 8px 12px;
    border: 1px solid rgba(65, 22, 15, 0.13);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
}

@media (max-width: 900px) {
    .construction-page .construction-testimonial-grid {
        grid-template-columns: 1fr;
    }

    .construction-page .construction-testimonial-media {
        width: min(100%, 620px);
        min-height: clamp(460px, 90vw, 650px);
    }
}

@media (max-width: 580px) {
    .construction-page .construction-testimonial-media {
        min-height: 440px;
    }

    .construction-page .construction-testimonial-media::before {
        top: -9px;
        left: -9px;
    }

    .construction-page .construction-testimonial-media figcaption {
        right: 12px;
        bottom: 16px;
    }

    .construction-page .construction-testimonial-client {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .construction-page .construction-testimonial-meta {
        justify-content: flex-start;
    }
}

/* Construção Civil — CTA final */
.construction-page .construction-final-cta {
    padding: clamp(82px, 10vw, 140px) 0;
    overflow: hidden;
    background: #fff;
}

.construction-page .construction-final-cta-card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(46px, 8vw, 112px);
    align-items: end;
    min-height: 450px;
    padding: clamp(50px, 7vw, 88px);
    overflow: hidden;
    border-radius: 30px;
    background:
        radial-gradient(circle at 88% 10%, rgba(206, 99, 99, 0.28), transparent 28%),
        linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    box-shadow: 0 30px 75px rgba(65, 22, 15, 0.22);
    color: #fff;
}

.construction-page .construction-final-cta-background {
    position: absolute;
    z-index: -1;
    right: -18px;
    bottom: -0.22em;
    color: transparent;
    font-size: clamp(8rem, 19vw, 17rem);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: -0.08em;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.08);
    user-select: none;
}

.construction-page .construction-final-cta-copy {
    position: relative;
    z-index: 1;
    max-width: 800px;
}

.construction-page .construction-final-cta-label {
    display: inline-flex;
    margin-bottom: 18px;
    color: #f2abab;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.construction-page .construction-final-cta-copy #construction-final-cta-title {
    margin: 0 0 24px;
    color: #fff;
    font-size: 65px;
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.construction-page .construction-final-cta-copy p {
    max-width: 690px;
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.96rem;
    line-height: 1.8;
}

.construction-page .construction-final-cta-actions {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: stretch;
    gap: 10px;
    min-width: 245px;
}

.construction-page .construction-final-cta-primary,
.construction-page .construction-final-cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 22px;
    border: 1px solid #fff;
    border-radius: 10px;
    font-size: 0.78rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: var(--transition);
}

.construction-page .construction-final-cta-primary {
    background: #fff;
    color: var(--primary-red);
}

.construction-page .construction-final-cta-secondary {
    background: transparent;
    color: #fff;
}

.construction-page .construction-final-cta-primary:hover,
.construction-page .construction-final-cta-primary:focus-visible {
    background: transparent;
    color: #fff;
    transform: translateY(-3px);
}

.construction-page .construction-final-cta-secondary:hover,
.construction-page .construction-final-cta-secondary:focus-visible {
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-3px);
}

.construction-page .construction-final-cta-primary:focus-visible,
.construction-page .construction-final-cta-secondary:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.38);
    outline-offset: 4px;
}

.construction-page .construction-final-cta-actions > span {
    max-width: 245px;
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.45;
    text-align: center;
}

@media (max-width: 900px) {
    .construction-page .construction-final-cta-card {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .construction-page .construction-final-cta-actions {
        width: min(100%, 360px);
        min-width: 0;
    }
}

@media (max-width: 560px) {
    .construction-page .construction-final-cta-card {
        padding: 42px 24px;
        border-radius: 22px;
    }

    .construction-page .construction-final-cta-actions {
        width: 100%;
    }

    .construction-page .construction-final-cta-actions > span {
        max-width: none;
    }

    .construction-page .construction-final-cta-background {
        right: 0;
        font-size: 8rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .construction-final-cta-primary,
    .construction-page .construction-final-cta-secondary {
        transition: none;
    }

    .construction-page .construction-final-cta-primary:hover,
    .construction-page .construction-final-cta-primary:focus-visible,
    .construction-page .construction-final-cta-secondary:hover,
    .construction-page .construction-final-cta-secondary:focus-visible {
        transform: none;
    }
}

/* Construção Civil — FAQ */
.construction-page .construction-faq-section {
    position: relative;
    padding: clamp(84px, 10vw, 132px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 90% 8%, rgba(206, 99, 99, 0.09), transparent 24%),
        #f5efed;
}

.construction-page .construction-faq-heading {
    max-width: 820px;
    margin: 0 auto clamp(42px, 6vw, 64px);
    text-align: center;
}

.construction-page .construction-faq-heading .section-label {
    display: inline-flex;
    margin-bottom: 15px;
}

.construction-page .construction-faq-heading #construction-faq-title {
    margin: 0 0 19px;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.55rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.construction-page .construction-faq-heading p {
    max-width: 690px;
    margin: 0 auto;
    color: rgba(37, 27, 27, 0.65);
    line-height: 1.75;
}

.construction-page .construction-faq-list {
    max-width: 920px;
    animation: none;
}

.construction-page .construction-faq-list .faq-item {
    margin-bottom: 12px;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 12px 28px rgba(37, 27, 27, 0.06);
}

.construction-page .construction-faq-list .faq-item:hover {
    border-color: rgba(206, 99, 99, 0.28);
    box-shadow: 0 18px 36px rgba(37, 27, 27, 0.1);
    transform: none;
}

.construction-page .construction-faq-list .faq-question {
    min-height: 72px;
    gap: 24px;
    padding: 20px 24px;
    color: var(--dark-gray);
    font-size: 0.94rem;
    line-height: 1.45;
}

.construction-page .construction-faq-list .faq-item.active .faq-question {
    color: var(--primary-red);
}

.construction-page .construction-faq-list .faq-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.13);
    color: var(--primary-red);
    font-size: 1.25rem;
}

.construction-page .construction-faq-list .faq-answer-content {
    padding: 0 72px 25px 24px;
    color: rgba(37, 27, 27, 0.65);
    font-size: 0.88rem;
    line-height: 1.75;
}

@media (max-width: 600px) {
    .construction-page .construction-faq-list .faq-question {
        min-height: 64px;
        gap: 16px;
        padding: 17px 18px;
        font-size: 0.86rem;
    }

    .construction-page .construction-faq-list .faq-answer-content {
        padding: 0 18px 21px;
        font-size: 0.82rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .construction-faq-list .faq-item,
    .construction-page .construction-faq-list .faq-icon,
    .construction-page .construction-faq-list .faq-answer {
        transition: none;
    }
}

/* Construção Civil — rodapé e WhatsApp */
.construction-page .footer {
    position: relative;
    padding-top: clamp(78px, 9vw, 112px);
    background:
        radial-gradient(circle at 9% 0%, rgba(206, 99, 99, 0.15), transparent 27%),
        linear-gradient(145deg, #251b1b, #150a08);
    border-top: 0;
}

.construction-page .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

.construction-page .footer-content {
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
}

.construction-page .construction-footer-intro {
    padding-right: clamp(0px, 3vw, 42px);
}

.construction-page .construction-footer-tagline {
    max-width: 345px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    font-weight: 600;
    line-height: 1.58;
}

.construction-page .construction-footer-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.construction-page .construction-footer-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.construction-page .footer-section a[aria-current="page"] {
    color: #f2abab;
}

.construction-page .footer-section a[aria-current="page"]::before {
    width: 12px;
    background: var(--primary-red-light);
}

.construction-page .social-links .social-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(248, 249, 250, 0.2);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.65;
}

.construction-page .social-links .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.construction-page .social-links .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.construction-page .social-links .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.construction-page .footer-bottom {
    color: rgba(255, 255, 255, 0.48);
}

.construction-page .fixed-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 800px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
}

.construction-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.construction-page .fixed-whatsapp-bar p strong {
    color: var(--primary-red);
}

.construction-page .construction-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.13);
}

.construction-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.construction-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.construction-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    border-color: var(--dark-green);
    background: var(--dark-green);
    transform: translateY(-2px);
}

.construction-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(76, 175, 80, 0.25);
    outline-offset: 3px;
}

@media (max-width: 1100px) {
    .construction-page .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .construction-page .construction-footer-intro {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    .construction-page .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .construction-page .construction-footer-intro {
        grid-column: 1 / -1;
    }

    .construction-page .fixed-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    .construction-page .fixed-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    .construction-page .fixed-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 540px) {
    .construction-page .footer-content {
        grid-template-columns: 1fr;
    }

    .construction-page .fixed-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    .construction-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    .construction-page .fixed-whatsapp-bar p {
        display: none;
    }

    .construction-page .fixed-whatsapp-bar {
        right: 10px;
        left: auto;
        width: auto;
        transform: none;
    }

    .construction-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        transition: none;
    }

    .construction-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
    .construction-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
        transform: none;
    }
}

.construction-page #construction-main-content:focus {
    outline: none;
}

.construction-page #setores-atendidos {
    scroll-margin-top: 94px;
}

.construction-page :where(
    .construction-sectors,
    .construction-why-section,
    .construction-technical-section,
    .construction-process-section,
    .construction-testimonial-section,
    .construction-final-cta,
    .construction-faq-section
) {
    content-visibility: auto;
    contain-intrinsic-size: auto 820px;
}

.construction-page :where(
    .hero-title,
    .construction-intro-text #construction-expertise-title,
    .construction-sectors #construction-sectors-title,
    .construction-why-copy #construction-why-title,
    .construction-technical-heading #construction-technical-title,
    .construction-process-heading #construction-process-title,
    .time-saving-text h2,
    .construction-authority-heading h2,
    .construction-testimonial-copy #construction-testimonial-title,
    .construction-final-cta-copy #construction-final-cta-title,
    .construction-faq-heading #construction-faq-title
) {
    overflow-wrap: break-word;
}

.construction-page :where(
    .construction-hero-primary,
    .construction-hero-secondary,
    .construction-intro-text .about-link,
    .construction-why-button,
    .construction-technical-action .cta-button,
    .construction-profit-button,
    .construction-final-cta-primary,
    .construction-final-cta-secondary,
    .fixed-whatsapp-bar .whatsapp-cta-btn
) {
    min-height: 48px;
}

@media (max-width: 768px) {
    .construction-page #setores-atendidos {
        scroll-margin-top: 82px;
    }

    .construction-page .construction-hero-assurance {
        width: min(100%, 360px);
        max-width: none;
    }

    .construction-page .construction-technical-heading,
    .construction-page .construction-process-heading,
    .construction-page .construction-faq-heading {
        text-align: left;
    }

    .construction-page .construction-technical-heading p,
    .construction-page .construction-process-heading p,
    .construction-page .construction-faq-heading p {
        margin-left: 0;
    }
}

@media (max-width: 480px) {
    .construction-page .container,
    .construction-page .navbar-container {
        padding-right: 16px;
        padding-left: 16px;
    }

    .construction-page .hero-construction .hero-title {
        font-size: clamp(2.15rem, 10.6vw, 2.75rem);
    }

    .construction-page .construction-hero-assurance {
        grid-template-columns: 40px 1fr;
        padding: 20px 18px;
    }

    .construction-page .construction-intro-img,
    .construction-page .time-saving-img,
    .construction-page .construction-testimonial-media {
        min-height: 370px;
    }

    .construction-page .construction-why-card,
    .construction-page .construction-process-step {
        grid-template-columns: 46px 1fr;
        gap: 15px;
    }

    .construction-page .construction-final-cta-copy #construction-final-cta-title {
        font-size: clamp(2rem, 10vw, 2.65rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page {
        scroll-behavior: auto;
    }

    .construction-page :where(
        .section-header,
        .testimonial-text,
        .testimonial-img,
        .time-saving-text
    ) {
        animation: none;
    }
}

/* Mercado Digital — seção comercial no novo padrão */
.digital-market-page .digital-commercial-section {
    position: relative;
    padding: clamp(88px, 10vw, 142px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 12%, rgba(206, 99, 99, 0.1), transparent 25%),
        #fff;
}

.digital-market-page .digital-commercial-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.04) 1px, transparent 1px),
        linear-gradient(180deg, rgba(166, 42, 42, 0.035) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    pointer-events: none;
}

.digital-market-page .digital-commercial-section .digital-commercial-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
    gap: clamp(54px, 9vw, 120px);
    align-items: center;
}

.digital-market-page .digital-commercial-section .digital-commercial-text {
    min-width: 0;
}

.digital-market-page .digital-commercial-section .section-label {
    display: inline-flex;
    margin-bottom: 16px;
}

.digital-market-page .digital-commercial-section .digital-commercial-text #digital-commercial-title {
    max-width: 680px;
    margin: 0 0 25px;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.digital-market-page .digital-commercial-section .digital-commercial-text p {
    max-width: 720px;
    margin: 0 0 18px;
    color: rgba(37, 27, 27, 0.69);
    font-size: 0.95rem;
    line-height: 1.8;
}

.digital-market-page .digital-commercial-benefits {
    display: grid;
    gap: 0.8rem;
    margin: 1.3rem 0 0;
    padding: 0;
    list-style: none;
}

.digital-market-page .digital-commercial-benefits li {
    position: relative;
    padding-left: 2rem;
    color: var(--dark-gray);
    font-weight: 600;
}

.digital-market-page .digital-commercial-benefits li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: -0.05rem;
    width: 1.35rem;
    height: 1.35rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.18);
    color: var(--primary-red);
    font-size: 0.82rem;
    font-weight: 900;
}

.digital-market-page .digital-commercial-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: 1.65rem;
    padding: 14px 23px;
    border: 1px solid var(--primary-red);
    border-radius: 10px;
    background: var(--primary-red);
    box-shadow: 0 13px 28px rgba(65, 22, 15, 0.2);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
}

.digital-market-page .digital-commercial-button:hover,
.digital-market-page .digital-commercial-button:focus-visible {
    border-color: var(--primary-red-dark);
    background: var(--primary-red-dark);
    transform: translateY(-3px);
}

.digital-market-page .digital-commercial-button:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.35);
    outline-offset: 4px;
}

.digital-market-page .digital-commercial-section .digital-commercial-img {
    position: relative;
    display: flex;
    min-height: clamp(470px, 48vw, 620px);
    margin: 0;
    align-items: center;
    justify-content: center;
    padding: clamp(34px, 5vw, 58px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.digital-market-page .digital-commercial-section .digital-commercial-img::before {
    display: none;
}

.digital-market-page .digital-commercial-section .digital-commercial-img img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 460px;
    max-height: 470px;
    object-fit: contain;
    filter: none;
}

.digital-market-page .digital-commercial-badge {
    position: absolute;
    z-index: 2;
    right: -20px;
    bottom: 28px;
    display: grid;
    gap: 6px;
    max-width: 260px;
    padding: 18px 20px;
    border-radius: 15px;
    background: var(--primary-red);
    box-shadow: 0 18px 38px rgba(65, 22, 15, 0.26);
}

.digital-market-page .digital-commercial-badge strong {
    color: #fff;
    font-size: 0.88rem;
}

.digital-market-page .digital-commercial-badge span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.71rem;
    font-weight: 600;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .digital-market-page .digital-commercial-section .digital-commercial-grid {
        grid-template-columns: 1fr;
    }

    .digital-market-page .digital-commercial-section .digital-commercial-img {
        width: min(100%, 650px);
        min-height: 500px;
    }
}

@media (max-width: 580px) {
    .digital-market-page .digital-commercial-button {
        width: 100%;
    }

    .digital-market-page .digital-commercial-section .digital-commercial-img {
        min-height: 390px;
        padding: 28px 22px;
        border-radius: 0;
    }

    .digital-market-page .digital-commercial-section .digital-commercial-img::before {
        inset: 12px;
    }

    .digital-market-page .digital-commercial-badge {
        right: 12px;
        bottom: 14px;
        max-width: calc(100% - 24px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .digital-market-page .digital-commercial-button {
        transition: none;
    }

    .digital-market-page .digital-commercial-button:hover,
    .digital-market-page .digital-commercial-button:focus-visible {
        transform: none;
    }
}

/* Saúde — rodapé e WhatsApp no padrão dos segmentos */
.health-page .health-footer {
    position: relative;
    padding-top: clamp(78px, 9vw, 112px);
    background:
        radial-gradient(circle at 9% 0%, rgba(206, 99, 99, 0.15), transparent 27%),
        linear-gradient(145deg, #251b1b, #150a08);
    border-top: 0;
}

.health-page .health-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

.health-page .health-footer .footer-content {
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
}

.health-page .health-footer-intro {
    padding-right: clamp(0px, 3vw, 42px);
}

.health-page .health-footer-tagline {
    max-width: 345px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    font-weight: 600;
    line-height: 1.58;
}

.health-page .health-footer .health-footer-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.health-page .health-footer .health-footer-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.health-page .health-footer .footer-section a[aria-current="page"] {
    color: #f2abab;
}

.health-page .health-footer .footer-section a[aria-current="page"]::before {
    width: 12px;
    background: var(--primary-red-light);
}

.health-page .health-footer .footer-logo {
    width: auto;
    height: 50px;
    margin-bottom: 0;
}

.health-page .health-footer .social-links .social-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    min-width: 0;
    max-width: 100%;
    min-height: 0;
    height: 21px;
    padding: 0;
    gap: 7px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--light-gray);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    text-decoration: none;
    opacity: 1;
}

.health-page .health-footer .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.health-page .health-footer .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.health-page .health-footer .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.health-page .health-footer .footer-bottom {
    color: rgba(255, 255, 255, 0.48);
}

.health-page .health-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 800px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
}

.health-page .health-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.health-page .health-whatsapp-bar p strong {
    color: var(--primary-red);
}

.health-page .health-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.13);
}

.health-page .health-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.health-page .health-whatsapp-bar .whatsapp-cta-btn:hover,
.health-page .health-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    border-color: var(--dark-green);
    background: var(--dark-green);
    transform: translateY(-2px);
}

.health-page .health-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(76, 175, 80, 0.25);
    outline-offset: 3px;
}

@media (max-width: 1100px) {
    .health-page .health-footer .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .health-page .health-footer-intro {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    .health-page .health-footer .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .health-page .health-footer-intro {
        grid-column: 1 / -1;
    }

    .health-page .health-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    .health-page .health-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    .health-page .health-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 540px) {
    .health-page .health-footer .footer-content {
        grid-template-columns: 1fr;
    }

    .health-page .health-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    .health-page .health-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    .health-page .health-whatsapp-bar p {
        display: none;
    }

    .health-page .health-whatsapp-bar {
        right: 10px;
        left: auto;
        width: auto;
        transform: none;
    }

    .health-page .health-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .health-page .health-whatsapp-bar .whatsapp-cta-btn {
        transition: none;
    }

    .health-page .health-whatsapp-bar .whatsapp-cta-btn:hover,
    .health-page .health-whatsapp-bar .whatsapp-cta-btn:focus-visible {
        transform: none;
    }
}

/* Abrir Empresa — layout consultivo premium */
.open-company-page {
    background: #ffffff;
    color: var(--dark-gray);
}

.open-company-page .navbar {
    background: rgba(248, 249, 250, 0.96);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 14px 38px rgba(37, 27, 27, 0.08);
}

.open-company-page .navbar-container {
    max-width: 1200px;
}

.open-company-page .nav-link {
    color: var(--dark-gray);
}

.open-company-page button.nav-link {
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.open-company-page .dropdown-menu .current-page {
    background: var(--primary-red);
    color: var(--white);
}

.open-company-page main:focus {
    outline: none;
}

.open-company-page .section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: var(--primary-red-light);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.open-company-page .section-label::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.open-company-cta-card {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
}

.open-company-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 15px 22px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.open-company-button-primary {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.11);
    color: var(--white);
    box-shadow: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.open-company-button-primary:hover,
.open-company-button-primary:focus-visible {
    border-color: var(--primary-red-light);
    background: var(--primary-red-dark);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: none;
}

.open-company-button-secondary {
    background: rgba(255, 255, 255, 0.74);
    border-color: rgba(65, 22, 15, 0.18);
    color: var(--primary-red);
}

.open-company-button-secondary:hover,
.open-company-button-secondary:focus-visible {
    background: #fff;
    border-color: var(--primary-red);
    transform: translateY(-3px);
}

.open-company-trust-strip {
    position: relative;
    z-index: 2;
    margin-top: -44px;
}

.open-company-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.open-company-trust-card,
.open-company-step-card,
.open-company-services-cards article,
.open-company-faq-list .faq-item {
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.open-company-trust-card {
    padding: 1.45rem;
}

.open-company-trust-card:hover,
.open-company-step-card:hover,
.open-company-services-cards article:hover {
    transform: translateY(-6px); 
    box-shadow: var(--shadow-hover);
}

.open-company-trust-card span {
    color: var(--primary-red-light);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.open-company-trust-card h2,
.open-company-step-card h3,
.open-company-services-cards h3 {
    margin: 0.5rem 0 0.55rem;
    color: var(--dark-gray);
    font-size: 1.1rem;
}

.open-company-trust-card p,
.open-company-step-card p,
.open-company-services-cards p {
    margin: 0;
    color: var(--medium-gray);
    line-height: 1.7;
}

.open-company-intro-section,
.open-company-process-section,
.open-company-services-section,
.open-company-faq-section {
    padding: clamp(4.5rem, 8vw, 7.5rem) 0;
}

.open-company-intro-grid,
.open-company-services-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: center;
}

.open-company-intro-media {
    position: relative;
    min-height: 430px;
    display: grid;
    place-items: center;
    border-radius: 36px;
    background:
        radial-gradient(circle at 30% 28%, rgba(206, 99, 99, 0.24), transparent 32%),
        linear-gradient(145deg, var(--primary-red-dark), var(--dark-gray));
    overflow: hidden;
    box-shadow: 0 30px 70px rgba(37, 27, 27, 0.18);
}

.open-company-intro-media img {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    object-fit: cover;
    object-position: center;
}

.open-company-intro-title,
#open-company-authority-title,
#open-company-process-title,
#open-company-services-title,
#open-company-cta-title,
#open-company-faq-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.open-company-intro-copy p,
.open-company-section-heading p,
.open-company-services-copy p,
.open-company-cta-card p {
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.open-company-check-list {
    display: grid;
    gap: 0.8rem;
    margin: 1.3rem 0 0;
    padding: 0;
    list-style: none;
}

.open-company-check-list li {
    position: relative;
    padding-left: 2rem;
    color: var(--dark-gray);
    font-weight: 600;
}

.open-company-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: -0.05rem;
    width: 1.35rem;
    height: 1.35rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.18);
    color: var(--primary-red);
    font-size: 0.82rem;
    font-weight: 900;
}

.open-company-stats-section {
    padding: clamp(4rem, 7vw, 6rem) 0;
    background:
        linear-gradient(135deg, rgba(65, 22, 15, 0.96), rgba(79, 9, 9, 0.96)),
        var(--primary-red-dark);
}

.open-company-stats-section .open-company-section-heading {
    max-width: 820px;
    margin: 0 auto 2.2rem;
    text-align: center;
}

.open-company-stats-section #open-company-authority-title,
.open-company-stats-section p {
    color: var(--white);
}

.open-company-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.open-company-stats-grid article {
    padding: 1.6rem 1rem;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.06);
    text-align: center;
}

.open-company-stats-grid strong {
    display: block;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1;
}

.open-company-stats-grid span {
    display: block;
    margin-top: 0.65rem;
    color: rgba(248, 249, 250, 0.76);
    font-weight: 600;
}

.open-company-section-heading {
    max-width: 820px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.open-company-section-heading .section-label {
    justify-content: center;
}

.open-company-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.open-company-step-card {
    position: relative;
    overflow: hidden;
    padding: 1.5rem;
}

.open-company-step-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red), var(--primary-red-light));
}

.open-company-step-card span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--primary-red);
    color: #fff;
    font-weight: 900;
}

.open-company-services-section {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(14, 8, 9, 0.98) 0%, rgba(54, 13, 17, 0.96) 48%, rgba(111, 20, 24, 0.94) 100%),
        var(--primary-red-dark);
    isolation: isolate;
}

.open-company-services-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.12) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 75%, transparent);
    pointer-events: none;
}

.open-company-services-section #open-company-services-title {
    color: var(--white);
}

.open-company-services-section .open-company-services-copy p {
    color: rgba(248, 249, 250, 0.74);
}

.open-company-services-grid {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
}

.open-company-services-copy .open-company-button {
    margin-top: 1rem;
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.12);
    color: var(--white);
    box-shadow: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.open-company-services-copy .open-company-button:hover,
.open-company-services-copy .open-company-button:focus-visible {
    border-color: rgba(255, 255, 255, 0.58);
    background: rgba(255, 255, 255, 0.2);
    color: var(--white);
}

.open-company-services-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.open-company-services-cards article {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 260px;
    padding: 1.5rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.075);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.open-company-services-cards article::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(206, 99, 99, 0.1));
}

.open-company-services-cards article:hover {
    border-color: rgba(206, 99, 99, 0.36);
    background: rgba(255, 255, 255, 0.105);
    box-shadow: 0 30px 78px rgba(0, 0, 0, 0.34);
}

.open-company-services-cards article > span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 20px;
    border: 1px solid rgba(248, 249, 250, 0.22);
    border-radius: 16px;
    background: rgba(248, 249, 250, 0.1);
    color: var(--white);
    font-size: 1.2rem;
}

.open-company-services-cards h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 0.65rem;
    color: var(--white);
    line-height: 1.25;
    text-align: center;
}

.open-company-services-cards p {
    position: relative;
    z-index: 1;
    max-width: 28ch;
    color: rgba(248, 249, 250, 0.72);
    text-align: center;
}

.open-company-cta-section {
    padding: clamp(4rem, 7vw, 6rem) 0;
}

.open-company-cta-card {
    justify-content: space-between;
    padding: clamp(2rem, 5vw, 4rem);
    border-radius: 34px;
    background:
        linear-gradient(135deg, rgba(65, 22, 15, 0.94), rgba(79, 9, 9, 0.95)),
        var(--primary-red);
    box-shadow: 0 28px 68px rgba(65, 22, 15, 0.22);
}

.open-company-cta-card > div {
    max-width: 720px;
}

.open-company-cta-card #open-company-cta-title,
.open-company-cta-card p {
    color: #fff;
}

.open-company-button-light {
    background: #fff;
    color: var(--primary-red);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.16);
}

.open-company-button-light:hover,
.open-company-button-light:focus-visible {
    transform: translateY(-3px);
    color: var(--primary-red-dark);
}

.open-company-faq-section {
    background: #fff;
}

.open-company-faq-list {
    max-width: 900px;
    margin: 0 auto;
}

.open-company-faq-list .faq-item {
    overflow: hidden;
    margin-bottom: 0.85rem;
    box-shadow: none;
}

.open-company-faq-list .faq-question {
    padding: 1.2rem 1.35rem;
    color: var(--dark-gray);
    font-weight: 800;
}

.open-company-faq-list .faq-item.active .faq-question,
.open-company-faq-list .faq-question:hover {
    color: var(--primary-red);
}

.open-company-footer {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 0%, rgba(206, 99, 99, 0.18), transparent 30%),
        linear-gradient(145deg, var(--dark-gray), var(--primary-red-dark));
}

.open-company-footer::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(248, 249, 250, 0.2), var(--primary-red-light));
}

.open-company-footer .footer-content {
    grid-template-columns: minmax(260px, 1.5fr) repeat(4, minmax(140px, 1fr));
}

.open-company-footer-tagline {
    margin: 1rem 0;
    color: rgba(248, 249, 250, 0.78);
    line-height: 1.7;
}

.open-company-footer-heading {
    position: relative;
    margin: 0 0 1rem;
    color: var(--white);
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.open-company-footer-heading::after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    margin-top: 0.7rem;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.open-company-footer .footer-section a[aria-current="page"] {
    color: var(--primary-red-light);
    font-weight: 800;
}

.open-company-footer .social-links .social-placeholder {
    display: inline-grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(248, 249, 250, 0.18);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
}

.open-company-footer .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.open-company-footer .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.open-company-footer .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.open-company-footer .social-placeholder::after {
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.open-company-whatsapp-bar {
    left: 50%;
    right: auto;
    bottom: 18px;
    transform: translateX(-50%);
    width: min(720px, calc(100% - 32px));
    padding: 0.75rem 0.9rem 0.75rem 1rem;
    border: 1px solid rgba(65, 22, 15, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.18);
    backdrop-filter: blur(18px);
}

.open-company-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0;
    color: var(--dark-gray);
}

.open-company-whatsapp-bar p strong {
    color: var(--primary-red);
}

.open-company-whatsapp-status {
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.14);
}

.open-company-whatsapp-bar .whatsapp-cta-btn {
    border-radius: 999px;
    background: #25d366;
    color: #0f2f1c;
    font-weight: 900;
    white-space: nowrap;
}

.open-company-whatsapp-bar .whatsapp-cta-btn:hover,
.open-company-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    background: #1fbd5a;
    transform: translateY(-2px);
}

.open-company-page :where(a, button):focus-visible {
    outline: 3px solid var(--primary-red-light);
    outline-offset: 4px;
}

@media (max-width: 1100px) {
    .open-company-intro-grid,
    .open-company-services-grid {
        grid-template-columns: 1fr;
    }

    .open-company-process-grid,
    .open-company-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .open-company-footer .footer-content {
        grid-template-columns: 1.5fr 1fr 1fr;
    }
}

@media (max-width: 720px) {
    .open-company-hero-copy,
    .open-company-section-heading,
    .open-company-intro-copy,
    .open-company-services-copy {
        text-align: left;
    }

    .open-company-section-heading .section-label {
        justify-content: flex-start;
    }

    .open-company-trust-grid,
    .open-company-services-cards,
    .open-company-process-grid,
    .open-company-stats-grid {
        grid-template-columns: 1fr;
    }

    .open-company-trust-strip {
        margin-top: -28px;
    }

    .open-company-cta-card {
        align-items: flex-start;
    }

    .open-company-footer .footer-content {
        grid-template-columns: 1fr;
    }

    .open-company-whatsapp-bar {
        border-radius: 24px;
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .open-company-whatsapp-bar p {
        justify-content: center;
    }

    .open-company-whatsapp-bar .whatsapp-cta-btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .open-company-button {
        width: 100%;
    }

    .open-company-intro-media {
        min-height: 320px;
        border-radius: 26px;
    }

    .open-company-whatsapp-bar p {
        font-size: 0.78rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .open-company-page *,
    .open-company-page *::before,
    .open-company-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .open-company-button:hover,
    .open-company-trust-card:hover,
    .open-company-step-card:hover,
    .open-company-services-cards article:hover,
    .open-company-whatsapp-bar .whatsapp-cta-btn:hover {
        transform: none;
    }
}

/* Trocar de Contador — passo 2: hero premium */
.switch-accountant-page {
    background: #ffffff;
    color: var(--dark-gray);
}

.switch-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: var(--primary-red-light);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.switch-section-label::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.switch-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 15px 22px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.switch-button-primary {
    border-color: rgba(206, 99, 99, 0.58);
    background: var(--primary-red);
    color: var(--white);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

.switch-button-primary:hover,
.switch-button-primary:focus-visible {
    border-color: var(--primary-red-light);
    background: var(--primary-red-dark);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

.switch-trust-strip {
    position: relative;
    z-index: 2;
    margin-top: -44px;
    padding-bottom: clamp(3.5rem, 6vw, 5.5rem);
}

.switch-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.switch-trust-card {
    position: relative;
    overflow: hidden;
    padding: 1.45rem;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.switch-trust-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red), var(--primary-red-light));
    opacity: 0;
    transition: var(--transition);
}

.switch-trust-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
}

.switch-trust-card:hover::before {
    opacity: 1;
}

.switch-trust-card span {
    display: inline-flex;
    margin-bottom: 0.55rem;
    color: var(--primary-red-light);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.switch-trust-card h2 {
    margin: 0 0 0.55rem;
    color: var(--dark-gray);
    font-size: 1.1rem;
    line-height: 1.25;
}

.switch-trust-card p {
    margin: 0;
    color: var(--medium-gray);
    line-height: 1.7;
}

.switch-reason-section {
    padding: clamp(4.5rem, 8vw, 7.5rem) 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(206, 99, 99, 0.12), transparent 28%),
        #ffffff;
}

.switch-reason-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: center;
}

.switch-reason-media {
    position: relative;
    min-height: 430px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 36px;
    background:
        radial-gradient(circle at 30% 28%, rgba(206, 99, 99, 0.24), transparent 32%),
        linear-gradient(145deg, var(--primary-red-dark), var(--dark-gray));
    box-shadow: 0 30px 70px rgba(37, 27, 27, 0.18);
}

.switch-reason-media img {
    z-index: 1;
    height: 100%;
    filter: drop-shadow(0 24px 32px rgba(0, 0, 0, 0.2));
}

.switch-reason-copy #switch-reason-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.switch-reason-copy p {
    margin: 1rem 0 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.switch-reason-list {
    display: grid;
    gap: 0.8rem;
    margin: 1.4rem 0 0;
    padding: 0;
    list-style: none;
}

.switch-reason-list li {
    position: relative;
    padding-left: 2rem;
    color: var(--dark-gray);
    font-weight: 600;
}

.switch-reason-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: -0.05rem;
    width: 1.35rem;
    height: 1.35rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.18);
    color: var(--primary-red);
    font-size: 0.82rem;
    font-weight: 900;
}

.switch-signs-section {
    position: relative;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 12%, rgba(206, 99, 99, 0.12), transparent 28%),
        var(--white);
    isolation: isolate;
}

.switch-signs-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(65, 22, 15, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, rgba(65, 22, 15, 0.05) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 75%, transparent);
    pointer-events: none;
}

.switch-section-heading {
    position: relative;
    z-index: 1;
    max-width: 860px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.switch-section-heading .switch-section-label {
    justify-content: center;
}

.switch-section-heading #switch-signs-title,
.switch-section-heading #switch-faq-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.switch-section-heading p {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.switch-signs-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.switch-sign-card {
    position: relative;
    overflow: hidden;
    min-height: 260px;
    padding: 1.5rem;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 26px;
    background: #fff;
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.switch-sign-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
}

.switch-sign-card:hover::before {
    transform: scale(1.8);
    background: rgba(206, 99, 99, 0.18);
}

.switch-sign-card > span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 20px;
    border: 1px solid rgba(248, 249, 250, 0.22);
    border-radius: 50%;
    background: rgba(229, 35, 38, 0.36);
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}

.switch-sign-card h3 {
    position: relative;
    z-index: 1;
    margin: 1.15rem 0 0.65rem;
    color: var(--dark-gray);
    font-size: 1.12rem;
    line-height: 1.25;
}

.switch-sign-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--medium-gray);
    line-height: 1.72;
}

.switch-process-legacy[hidden] {
    display: none !important;
}

.switch-process-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        linear-gradient(135deg, rgba(65, 22, 15, 0.96), rgba(79, 9, 9, 0.96)),
        var(--primary-red-dark);
}

.switch-process-section .container {
    position: relative;
    z-index: 1;
}

.switch-process-section .switch-section-label,
.switch-process-section .switch-section-heading #switch-process-title,
.switch-process-section .switch-section-heading p {
    color: var(--white);
}

.switch-process-section .switch-section-label {
    color: var(--primary-red-light);
}

.switch-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.switch-process-grid::before {
    content: "";
    position: absolute;
    top: 38px;
    left: 12%;
    right: 12%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.65), transparent);
}

.switch-process-card {
    position: relative;
    z-index: 1;
    min-height: 280px;
    padding: 1.5rem;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(14px);
    transition: var(--transition);
}

.switch-process-card:hover {
    transform: translateY(-6px);
    border-color: rgba(206, 99, 99, 0.42);
    background: rgba(255, 255, 255, 0.12);
}

.switch-process-number {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    margin-bottom: 1.4rem;
    border: 6px solid rgba(248, 249, 250, 0.16);
    border-radius: 50%;
    background: var(--primary-red-light);
    color: #fff;
    font-size: 1.35rem;
    font-weight: 900;
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.18);
}

.switch-process-card h3 {
    margin: 0 0 0.8rem;
    color: #fff;
    font-size: 1.18rem;
    line-height: 1.25;
}

.switch-process-card p {
    margin: 0;
    color: rgba(248, 249, 250, 0.76);
    line-height: 1.75;
}

.switch-stats-legacy[hidden] {
    display: none !important;
}

.switch-authority-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 0;
    background:
        radial-gradient(circle at 14% 0%, rgba(206, 99, 99, 0.2), transparent 32%),
        linear-gradient(135deg, var(--dark-gray), var(--primary-red-dark));
}

.switch-authority-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    pointer-events: none;
}

.switch-authority-section .container {
    position: relative;
    z-index: 1;
}

.switch-authority-heading {
    max-width: 820px;
    margin: 0 auto 2.4rem;
    text-align: center;
}

.switch-authority-heading .switch-section-label {
    justify-content: center;
    color: var(--primary-red-light);
}

.switch-authority-heading #switch-authority-title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.switch-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.switch-authority-card {
    position: relative;
    overflow: hidden;
    min-height: 180px;
    padding: 1.5rem;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.16);
    transition: var(--transition);
}

.switch-authority-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(248, 249, 250, 0.2));
}

.switch-authority-card:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(206, 99, 99, 0.42);
}

.switch-authority-card strong {
    display: block;
    color: #fff;
    font-size: clamp(2rem, 3.7vw, 3rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.switch-authority-card span {
    display: block;
    margin-top: 0.75rem;
    color: rgba(248, 249, 250, 0.76);
    font-weight: 600;
    line-height: 1.6;
}

.switch-comparison-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 7vw, 6.5rem) 0;
    background:
        radial-gradient(circle at 90% 10%, rgba(65, 22, 15, 0.08), transparent 30%),
        linear-gradient(180deg, #fff 0%, rgba(222, 222, 221, 0.28) 100%);
}

.switch-comparison-section::before {
    content: "";
    position: absolute;
    inset: auto -8% -32% auto;
    width: min(42vw, 520px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.12);
    filter: blur(8px);
    pointer-events: none;
}

.switch-comparison-section .container {
    position: relative;
    z-index: 1;
}

.switch-comparison-heading {
    max-width: 820px;
    margin: 0 auto 2.4rem;
    text-align: center;
}

.switch-comparison-heading .switch-section-label {
    justify-content: center;
}

.switch-comparison-heading #switch-comparison-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.switch-comparison-heading p {
    max-width: 720px;
    margin: 1rem auto 0;
    color: var(--medium-gray);
    line-height: 1.75;
}

.switch-comparison-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.3rem;
    align-items: stretch;
}

.switch-comparison-card {
    position: relative;
    overflow: hidden;
    min-height: 430px;
    padding: clamp(1.45rem, 3vw, 2.2rem);
    border-radius: 30px;
    box-shadow: 0 24px 56px rgba(37, 27, 27, 0.11);
}

.switch-comparison-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.switch-comparison-card--before {
    border: 1px solid rgba(134, 136, 133, 0.22);
    background: rgba(255, 255, 255, 0.86);
}

.switch-comparison-card--before::before {
    background:
        linear-gradient(180deg, rgba(134, 136, 133, 0.08), transparent 40%),
        radial-gradient(circle at 85% 12%, rgba(134, 136, 133, 0.12), transparent 28%);
}

.switch-comparison-card--after {
    border: 1px solid rgba(206, 99, 99, 0.26);
    background:
        radial-gradient(circle at 88% 8%, rgba(206, 99, 99, 0.24), transparent 30%),
        linear-gradient(135deg, var(--dark-gray), var(--primary-red-dark));
    color: #fff;
}

.switch-comparison-card__top,
.switch-comparison-card ul {
    position: relative;
    z-index: 1;
}

.switch-comparison-card__top span {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 1rem;
    padding: 0.42rem 0.82rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.switch-comparison-card--before .switch-comparison-card__top span {
    color: var(--medium-gray);
    background: rgba(134, 136, 133, 0.12);
}

.switch-comparison-card--after .switch-comparison-card__top span {
    color: #fff;
    background: rgba(206, 99, 99, 0.34);
}

.switch-comparison-card h3 {
    margin: 0;
    font-size: clamp(1.55rem, 3vw, 2.35rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.switch-comparison-card--before h3 {
    color: var(--dark-gray);
}

.switch-comparison-card--after h3 {
    color: #fff;
}

.switch-comparison-card ul {
    display: grid;
    gap: 1rem;
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
}

.switch-comparison-card li {
    position: relative;
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1rem;
    border-radius: 18px;
    line-height: 1.6;
}

.switch-comparison-card li::before {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 50%;
    font-weight: 800;
    line-height: 1;
}

.switch-comparison-card--before li {
    color: var(--medium-gray);
    background: rgba(248, 249, 250, 0.82);
}

.switch-comparison-card--before li::before {
    content: "!";
    color: var(--medium-gray);
    background: rgba(134, 136, 133, 0.14);
}

.switch-comparison-card--after li {
    color: rgba(248, 249, 250, 0.84);
    background: rgba(255, 255, 255, 0.08);
}

.switch-comparison-card--after li::before {
    content: "\2713";
    color: #fff;
    background: var(--primary-red-light);
}

.switch-mid-cta-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 0;
    background:
        linear-gradient(180deg, rgba(222, 222, 221, 0.28), #fff 72%);
}

.switch-mid-cta-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
    overflow: hidden;
    padding: clamp(2rem, 5vw, 4rem);
    border: 1px solid rgba(206, 99, 99, 0.24);
    border-radius: 34px;
    background:
        radial-gradient(circle at 88% 18%, rgba(206, 99, 99, 0.28), transparent 28%),
        linear-gradient(135deg, var(--dark-gray), var(--primary-red-dark));
    box-shadow: 0 28px 68px rgba(65, 22, 15, 0.22);
}

.switch-mid-cta-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 88%, transparent);
    pointer-events: none;
}

.switch-mid-cta-copy,
.switch-mid-cta-actions {
    position: relative;
    z-index: 1;
}

.switch-mid-cta-copy .switch-section-label {
    color: var(--primary-red-light);
}

.switch-mid-cta-copy #switch-mid-cta-title {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.switch-mid-cta-copy p {
    max-width: 720px;
    margin: 1rem 0 0;
    color: rgba(248, 249, 250, 0.78);
    line-height: 1.75;
}

.switch-mid-cta-actions {
    display: grid;
    gap: 1rem;
    justify-items: end;
}

.switch-mid-cta-actions .switch-button {
    background: #fff;
    color: var(--primary-red);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18);
}

.switch-mid-cta-actions .switch-button:hover,
.switch-mid-cta-actions .switch-button:focus-visible {
    color: var(--primary-red-dark);
    transform: translateY(-3px);
}

.switch-mid-cta-actions span {
    max-width: 300px;
    color: rgba(248, 249, 250, 0.72);
    font-size: 0.9rem;
    line-height: 1.6;
    text-align: right;
}

.switch-faq-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 7vw, 6.5rem) 0;
    background:
        radial-gradient(circle at 12% 0%, rgba(206, 99, 99, 0.1), transparent 28%),
        #fff;
}

.switch-faq-section .container {
    position: relative;
    z-index: 1;
}

.switch-faq-heading {
    max-width: 760px;
    margin: 0 auto 2.35rem;
    text-align: center;
}

.switch-faq-heading .switch-section-label {
    justify-content: center;
}

.switch-faq-heading #switch-faq-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.switch-faq-heading p {
    max-width: 640px;
    margin: 0.9rem auto 0;
    color: var(--medium-gray);
    line-height: 1.75;
}

.switch-faq-list {
    max-width: 900px;
    margin: 0 auto;
}

.switch-faq-list .faq-item {
    overflow: hidden;
    margin-bottom: 0.85rem;
    border: 1px solid rgba(222, 222, 221, 0.82);
    border-radius: 18px;
    background: rgba(248, 249, 250, 0.88);
    box-shadow: none;
    transition: var(--transition);
}

.switch-faq-list .faq-item:hover,
.switch-faq-list .faq-item.active {
    border-color: rgba(206, 99, 99, 0.36);
    background: #fff;
    box-shadow: 0 18px 42px rgba(37, 27, 27, 0.08);
}

.switch-faq-list .faq-question {
    padding: 1.2rem 1.35rem;
    color: var(--dark-gray);
    font-weight: 800;
}

.switch-faq-list .faq-item.active .faq-question,
.switch-faq-list .faq-question:hover {
    color: var(--primary-red);
}

.switch-faq-list .faq-icon {
    color: #fff;
    background: linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    box-shadow: 0 10px 24px rgba(65, 22, 15, 0.18);
}

.switch-faq-list .faq-answer-content {
    color: var(--medium-gray);
    line-height: 1.75;
}

.switch-footer .footer-section h4 {
    position: relative;
    margin: 0 0 1rem;
    color: var(--white);
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.switch-footer .footer-section h4::after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    margin-top: 0.7rem;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.switch-footer .footer-section a[href="../trocar_contador/"] {
    color: var(--primary-red-light);
    font-weight: 800;
}

.switch-footer .social-links a:not([data-social]) {
    display: inline-grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(248, 249, 250, 0.18);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font-size: 0;
    font-weight: 800;
    text-transform: uppercase;
}

.switch-footer .social-links a:not([data-social]):nth-child(1)::after {
    content: "in";
}

.switch-footer .social-links a:not([data-social]):nth-child(2)::after {
    content: "f";
}

.switch-footer .social-links a:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.switch-footer .social-links a:not([data-social])::after {
    font-size: 0.72rem;
}

.switch-whatsapp-bar .whatsapp-cta-btn span {
    font-size: 0.85em;
}

.switch-accountant-page :where(a, button):focus-visible {
    outline: 3px solid var(--primary-red-light);
    outline-offset: 4px;
}

@media (max-width: 1100px) {
    .switch-reason-grid {
        grid-template-columns: 1fr;
    }

    .switch-signs-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .switch-process-grid {
        grid-template-columns: 1fr;
    }

    .switch-process-grid::before {
        top: 0;
        bottom: 0;
        left: 28px;
        right: auto;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, transparent, rgba(206, 99, 99, 0.65), transparent);
    }

    .switch-process-card {
        min-height: auto;
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1rem;
        align-items: start;
    }

    .switch-process-number {
        margin-bottom: 0;
    }

    .switch-authority-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .switch-comparison-grid {
        grid-template-columns: 1fr;
    }

    .switch-comparison-card {
        min-height: auto;
    }

    .switch-mid-cta-card {
        grid-template-columns: 1fr;
    }

    .switch-mid-cta-actions {
        justify-items: start;
    }

    .switch-mid-cta-actions span {
        max-width: 560px;
        text-align: left;
    }
}

@media (max-width: 720px) {
    .switch-hero-copy {
        text-align: left;
    }

    .switch-trust-strip {
        margin-top: -28px;
    }

    .switch-trust-grid {
        grid-template-columns: 1fr;
    }

    .switch-reason-copy {
        text-align: left;
    }

    .switch-section-heading {
        text-align: left;
    }

    .switch-section-heading .switch-section-label {
        justify-content: flex-start;
    }

    .switch-section-heading p {
        margin-left: 0;
        margin-right: 0;
    }

    .switch-authority-heading {
        text-align: left;
    }

    .switch-authority-heading .switch-section-label {
        justify-content: flex-start;
    }

    .switch-comparison-heading {
        text-align: left;
    }

    .switch-comparison-heading .switch-section-label {
        justify-content: flex-start;
    }

    .switch-comparison-heading p {
        margin-left: 0;
        margin-right: 0;
    }

    .switch-mid-cta-card {
        border-radius: 28px;
    }

    .switch-faq-heading {
        text-align: left;
    }

    .switch-faq-heading .switch-section-label {
        justify-content: flex-start;
    }

    .switch-faq-heading p {
        margin-left: 0;
        margin-right: 0;
    }

    .switch-signs-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .switch-button {
        width: 100%;
    }

    .switch-reason-media {
        min-height: 320px;
        border-radius: 26px;
    }
    
    .switch-authority-grid {
        grid-template-columns: 1fr;
    }

    .switch-authority-card {
        min-height: auto;
    }

    .switch-comparison-card li {
        padding: 0.9rem;
    }

    .switch-mid-cta-actions .switch-button {
        width: 100%;
    }

    .switch-faq-list .faq-question {
        padding: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .switch-accountant-page *,
    .switch-accountant-page *::before,
    .switch-accountant-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .switch-button:hover,
    .switch-button:focus-visible,
    .switch-trust-card:hover,
    .switch-sign-card:hover,
    .switch-sign-card:hover::before,
    .switch-process-card:hover,
    .switch-authority-card:hover {
        transform: none;
    }
}

/* ===========================
   SOCIETÁRIO — LAYOUT PREMIUM
   =========================== */

.societario-page {
    background: #fff;
    color: var(--dark-gray);
    scroll-behavior: smooth;
}

.societario-page main:focus {
    outline: none;
}

.societario-page .corporate-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.9rem;
    color: var(--primary-red);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.societario-page .corporate-section-label::before {
    content: "";
    width: 30px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.societario-page .corporate-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 15px 22px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.societario-page .corporate-button-primary {
    border-color: rgba(206, 99, 99, 0.58);
    background: var(--primary-red);
    color: #fff;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

.societario-page .corporate-button-primary:hover,
.societario-page .corporate-button-primary:focus-visible {
    border-color: var(--primary-red-light);
    background: var(--primary-red-dark);
    color: #fff;
    transform: translateY(-2px);
}

.societario-page .corporate-trust-strip {
    position: relative;
    z-index: 2;
    margin-top: -42px;
    padding: 0 0 clamp(4rem, 7vw, 6rem);
}

.societario-page .corporate-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.societario-page .corporate-trust-card {
    position: relative;
    overflow: hidden;
    min-height: 230px;
    padding: 1.35rem;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 22px 52px rgba(37, 27, 27, 0.1);
    backdrop-filter: blur(16px);
    transition: var(--transition);
}

.societario-page .corporate-trust-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red), var(--primary-red-light));
    transform: scaleX(0.42);
    transform-origin: left;
    transition: var(--transition);
}

.societario-page .corporate-trust-card:hover {
    transform: translateY(-7px);
    border-color: rgba(206, 99, 99, 0.35);
    box-shadow: 0 30px 70px rgba(37, 27, 27, 0.14);
}

.societario-page .corporate-trust-card:hover::before {
    transform: scaleX(1);
}

.societario-page .corporate-trust-card span {
    display: inline-grid;
    width: 46px;
    height: 46px;
    place-items: center;
    margin-bottom: 1.2rem;
    border-radius: 16px;
    background: rgba(206, 99, 99, 0.15);
    color: var(--primary-red);
    font-size: 0.82rem;
    font-weight: 900;
}

.societario-page .corporate-trust-card h2 {
    margin: 0;
    color: var(--dark-gray);
    font-size: 1.12rem;
    line-height: 1.25;
    letter-spacing: -0.025em;
}

.societario-page .corporate-trust-card p {
    margin: 0.75rem 0 0;
    color: var(--medium-gray);
    font-size: 0.92rem;
    line-height: 1.65;
}

.societario-page .corporate-services-section {
    position: relative;
    overflow: hidden;
    padding: 72px 0 96px;
    background:
        linear-gradient(90deg, rgba(229, 35, 38, 0.08) 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, rgba(229, 35, 38, 0.08) 100%),
        linear-gradient(180deg, #fff 0%, rgba(248, 249, 250, 0.98) 100%);
}

.societario-page .corporate-services-section .container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: start;
    justify-items: center;
}

.societario-page .corporate-services-heading {
    max-width: 900px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

.societario-page .corporate-services-heading .corporate-section-label {
    justify-content: center;
}

.societario-page .corporate-services-heading #corporate-services-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.societario-page .corporate-services-heading p {
    max-width: 620px;
    margin: 18px auto 0;
    color: var(--medium-gray);
    font-size: 16px;
    line-height: 27px;
}

.societario-page .corporate-map {
    display: grid;
    grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
    justify-self: center;
    width: 100%;
    max-width: 980px;
    min-height: 560px;
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 249, 250, 0.86)),
        #fff;
    box-shadow: 0 28px 70px rgba(37, 27, 27, 0.12);
}

.societario-page .corporate-map-route {
    display: flex;
    flex-direction: column;
    padding: 14px;
    border-right: 1px solid rgba(65, 22, 15, 0.08);
    background:
        linear-gradient(180deg, rgba(248, 249, 250, 0.94), rgba(255, 255, 255, 0.76));
}

.societario-page .corporate-map-node {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 66px;
    padding: 12px 14px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: rgba(37, 27, 27, 0.72);
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    line-height: 18px;
    text-align: left;
    cursor: pointer;
    transition: var(--transition);
}

.societario-page .corporate-map-node span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(229, 35, 38, 0.09);
    color: var(--primary-red);
    font-size: 11px;
    letter-spacing: 1px;
}

.societario-page .corporate-map-node.is-active {
    border-color: rgba(229, 35, 38, 0.26);
    background: var(--primary-red);
    color: #fff;
}

.societario-page .corporate-map-node.is-active span {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.societario-page .corporate-map-stage {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    background: #fff;
}

.societario-page .corporate-map-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 560px;
    padding: 48px 58px;
}

.societario-page .corporate-map-panel[hidden] {
    display: none;
}

.societario-page .corporate-map-panel p {
    max-width: 720px;
    margin: 0;
    color: rgba(37, 27, 27, 0.72);
    font-size: 17px;
    line-height: 29px;
    font-weight: 500;
}

.societario-page .corporate-map-panel .open-company-check-list {
    max-width: 720px;
    margin-top: 30px;
}

.societario-page .corporate-map-panel .open-company-check-list li {
    font-size: 16px;
    line-height: 26px;
}

.societario-page .corporate-when-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 7vw, 6.5rem) 0;
    background: #fff;
}

.societario-page .corporate-when-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
}

.societario-page .corporate-when-copy #corporate-when-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.societario-page .corporate-when-copy p {
    max-width: 680px;
    margin: 1rem 0 0;
    color: var(--medium-gray);
    line-height: 1.78;
}

.societario-page .corporate-when-panel {
    position: relative;
    overflow: hidden;
    padding: clamp(1.5rem, 4vw, 2.4rem);
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 32px;
    background:
        radial-gradient(circle at 86% 8%, rgba(206, 99, 99, 0.23), transparent 28%),
        linear-gradient(145deg, var(--dark-gray), var(--primary-red-dark));
    box-shadow: 0 30px 70px rgba(65, 22, 15, 0.2);
}

.societario-page .corporate-when-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 64px 64px;
    pointer-events: none;
}

.societario-page .corporate-when-panel h3,
.societario-page .corporate-when-list {
    position: relative;
    z-index: 1;
}

.societario-page .corporate-when-panel h3 {
    margin: 0 0 1.25rem;
    color: #fff;
    font-size: clamp(1.35rem, 2.8vw, 2rem);
    line-height: 1.15;
    letter-spacing: -0.035em;
}

.societario-page .corporate-when-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.societario-page .corporate-when-list li {
    position: relative;
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.95rem;
    border: 1px solid rgba(248, 249, 250, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(248, 249, 250, 0.82);
    font-size: 0.9rem;
    line-height: 1.55;
}

.societario-page .corporate-when-list li::before {
    content: "\2713";
    flex: 0 0 auto;
    display: grid;
    width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    border-radius: 50%;
    background: var(--primary-red-light);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 900;
}

.societario-page .corporate-process-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 7vw, 6.5rem) 0;
    background:
        radial-gradient(circle at 12% 10%, rgba(206, 99, 99, 0.18), transparent 28%),
        linear-gradient(145deg, var(--dark-gray), var(--primary-red-dark));
}

.societario-page .corporate-process-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 82px 82px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    pointer-events: none;
}

.societario-page .corporate-process-section .container {
    position: relative;
    z-index: 1;
}

.societario-page .corporate-process-heading {
    max-width: 850px;
    margin: 0 auto 2.6rem;
    text-align: center;
}

.societario-page .corporate-process-heading .corporate-section-label {
    justify-content: center;
    color: var(--primary-red-light);
}

.societario-page .corporate-process-heading #corporate-process-title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.societario-page .corporate-process-heading p {
    max-width: 720px;
    margin: 1rem auto 0;
    color: rgba(248, 249, 250, 0.74);
    line-height: 1.75;
}

.societario-page .corporate-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}

.societario-page .corporate-process-grid::before {
    content: "";
    position: absolute;
    top: 30px;
    left: 6%;
    right: 6%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.75), transparent);
}

.societario-page .corporate-process-card {
    position: relative;
    min-height: 285px;
    padding: 1.3rem;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.16);
    transition: var(--transition);
}

.societario-page .corporate-process-card:hover {
    transform: translateY(-7px);
    border-color: rgba(206, 99, 99, 0.42);
    background: rgba(255, 255, 255, 0.11);
}

.societario-page .corporate-process-card span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    margin-bottom: 1.2rem;
    border: 1px solid rgba(248, 249, 250, 0.22);
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary-red), var(--primary-red-light));
    color: #fff;
    font-size: 0.86rem;
    font-weight: 900;
}

.societario-page .corporate-process-card h3 {
    margin: 0;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1.25;
    letter-spacing: -0.025em;
}

.societario-page .corporate-process-card p {
    margin: 0.75rem 0 0;
    color: rgba(248, 249, 250, 0.72);
    font-size: 0.9rem;
    line-height: 1.65;
}

.societario-page .corporate-stats-legacy[hidden] {
    display: none !important;
}

.societario-page .corporate-stats-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 0;
    background:
        radial-gradient(circle at 14% 0%, rgba(206, 99, 99, 0.2), transparent 32%),
        linear-gradient(135deg, var(--dark-gray), var(--primary-red-dark));
}

.societario-page .corporate-stats-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    pointer-events: none;
}

.societario-page .corporate-stats-section .container {
    position: relative;
    z-index: 1;
}

.societario-page .corporate-stats-heading {
    max-width: 820px;
    margin: 0 auto 2.4rem;
    text-align: center;
}

.societario-page .corporate-stats-heading .corporate-section-label {
    justify-content: center;
    color: var(--primary-red-light);
}

.societario-page .corporate-stats-heading h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.societario-page .corporate-stats-heading p {
    max-width: 720px;
    margin: 1rem auto 0;
    color: rgba(248, 249, 250, 0.74);
    line-height: 1.75;
}

.societario-page .corporate-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.societario-page .corporate-stat-card {
    position: relative;
    overflow: hidden;
    min-height: 180px;
    padding: 1.5rem;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.16);
    transition: var(--transition);
}

.societario-page .corporate-stat-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(248, 249, 250, 0.2));
}

.societario-page .corporate-stat-card:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(206, 99, 99, 0.42);
}

.societario-page .corporate-stat-card--wide {
    grid-column: auto;
    display: block;
}

.societario-page .corporate-stat-card strong {
    display: block;
    color: #fff;
    font-size: clamp(2rem, 3.7vw, 3rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.societario-page .corporate-stat-card span {
    display: block;
    margin-top: 0.75rem;
    color: rgba(248, 249, 250, 0.78);
    font-weight: 600;
    line-height: 1.6;
}

.societario-page .corporate-risk-section {
    position: relative;
    overflow: hidden;
    padding: 92px 0;
    background:
        linear-gradient(90deg, rgba(14, 8, 9, 0.98) 0%, rgba(54, 13, 17, 0.96) 48%, rgba(111, 20, 24, 0.94) 100%),
        var(--primary-red-dark);
}

.societario-page .corporate-risk-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.045) 1px, transparent 1px);
    background-size: 82px 82px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    pointer-events: none;
}

.societario-page .corporate-risk-section .container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: start;
    justify-items: center;
}

.societario-page .corporate-risk-heading {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.societario-page .corporate-risk-heading .corporate-section-label {
    justify-content: center;
}

.societario-page .corporate-risk-heading #corporate-risk-title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.societario-page .corporate-risk-heading p {
    max-width: 620px;
    margin: 18px auto 0;
    color: rgba(248, 249, 250, 0.74);
    font-size: 16px;
    line-height: 27px;
}

.societario-page .corporate-risk-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

.societario-page .corporate-risk-card {
    position: relative;
    overflow: hidden;
    min-height: 260px;
    padding: 22px;
    border: 1px solid rgba(248, 249, 250, 0.16);
    border-left: 4px solid var(--primary-red-light);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 22px 52px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: var(--transition);
}

.societario-page .corporate-risk-card:hover {
    transform: translateY(-4px);
    border-color: rgba(248, 249, 250, 0.26);
    border-left-color: #fff;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 28px 64px rgba(0, 0, 0, 0.22);
}

.societario-page .corporate-risk-card span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 20px;
    border: 1px solid rgba(248, 249, 250, 0.22);
    border-radius: 50%;
    background: rgba(229, 35, 38, 0.36);
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}

.societario-page .corporate-risk-card h3 {
    margin: 0;
    color: #fff;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0;
}

.societario-page .corporate-risk-card p {
    margin: 10px 0 0;
    color: rgba(248, 249, 250, 0.74);
    font-size: 15px;
    line-height: 24px;
}

.societario-page .corporate-cta-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 0;
    background: #fff;
}

.societario-page .corporate-cta-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
    overflow: hidden;
    padding: clamp(2rem, 5vw, 4rem);
    border: 1px solid rgba(206, 99, 99, 0.24);
    border-radius: 34px;
    background:
        radial-gradient(circle at 88% 18%, rgba(206, 99, 99, 0.28), transparent 28%),
        linear-gradient(135deg, var(--dark-gray), var(--primary-red-dark));
    box-shadow: 0 28px 68px rgba(65, 22, 15, 0.22);
}

.societario-page .corporate-cta-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 88%, transparent);
    pointer-events: none;
}

.societario-page .corporate-cta-copy,
.societario-page .corporate-cta-actions {
    position: relative;
    z-index: 1;
}

.societario-page .corporate-cta-copy .corporate-section-label {
    color: var(--primary-red-light);
}

.societario-page .corporate-cta-copy #corporate-cta-title {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.societario-page .corporate-cta-copy p {
    max-width: 720px;
    margin: 1rem 0 0;
    color: rgba(248, 249, 250, 0.78);
    line-height: 1.75;
}

.societario-page .corporate-cta-actions {
    display: grid;
    gap: 1rem;
    justify-items: end;
}

.societario-page .corporate-cta-actions .corporate-button {
    background: #fff;
    color: var(--primary-red);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.18);
}

.societario-page .corporate-cta-actions .corporate-button:hover,
.societario-page .corporate-cta-actions .corporate-button:focus-visible {
    color: var(--primary-red-dark);
    transform: translateY(-3px);
}

.societario-page .corporate-cta-actions span {
    max-width: 300px;
    color: rgba(248, 249, 250, 0.72);
    font-size: 0.9rem;
    line-height: 1.6;
    text-align: right;
}

.societario-page .corporate-faq-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 7vw, 6.5rem) 0;
    background:
        radial-gradient(circle at 12% 0%, rgba(206, 99, 99, 0.1), transparent 28%),
        #fff;
}

.societario-page .corporate-faq-section .container {
    position: relative;
    z-index: 1;
}

.societario-page .corporate-faq-heading {
    max-width: 760px;
    margin: 0 auto 2.35rem;
    text-align: center;
}

.societario-page .corporate-faq-heading .corporate-section-label {
    justify-content: center;
}

.societario-page .corporate-faq-heading #corporate-faq-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.societario-page .corporate-faq-heading p {
    max-width: 640px;
    margin: 0.9rem auto 0;
    color: var(--medium-gray);
    line-height: 1.75;
}

.societario-page .corporate-faq-list {
    max-width: 900px;
    margin: 0 auto;
}

.societario-page .corporate-faq-list .faq-item {
    overflow: hidden;
    margin-bottom: 0.85rem;
    border: 1px solid rgba(222, 222, 221, 0.82);
    border-radius: 18px;
    background: rgba(248, 249, 250, 0.88);
    box-shadow: none;
    transition: var(--transition);
}

.societario-page .corporate-faq-list .faq-item:hover,
.societario-page .corporate-faq-list .faq-item.active {
    border-color: rgba(206, 99, 99, 0.36);
    background: #fff;
    box-shadow: 0 18px 42px rgba(37, 27, 27, 0.08);
}

.societario-page .corporate-faq-list .faq-question {
    padding: 1.2rem 1.35rem;
    color: var(--dark-gray);
    font-weight: 800;
}

.societario-page .corporate-faq-list .faq-item.active .faq-question,
.societario-page .corporate-faq-list .faq-question:hover {
    color: var(--primary-red);
}

.societario-page .corporate-faq-list .faq-icon {
    color: #fff;
    background: linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    box-shadow: 0 10px 24px rgba(65, 22, 15, 0.18);
}

.societario-page .corporate-faq-list .faq-answer-content {
    color: var(--medium-gray);
    line-height: 1.75;
}

.societario-page .societario-footer {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 0%, rgba(206, 99, 99, 0.18), transparent 30%),
        linear-gradient(145deg, var(--dark-gray), var(--primary-red-dark));
}

.societario-page .societario-footer::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(248, 249, 250, 0.2), var(--primary-red-light));
}

.societario-page .societario-footer .footer-content {
    grid-template-columns: minmax(260px, 1.5fr) repeat(4, minmax(140px, 1fr));
}

.societario-page .societario-footer-tagline {
    margin: 1rem 0;
    color: rgba(248, 249, 250, 0.78);
    line-height: 1.7;
}

.societario-page .societario-footer .footer-section h4 {
    position: relative;
    margin: 0 0 1rem;
    color: var(--white);
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.societario-page .societario-footer .footer-section h4::after {
    content: "";
    display: block;
    width: 36px;
    height: 2px;
    margin-top: 0.7rem;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.societario-page .societario-footer .footer-section a[href="../societario/"] {
    color: var(--primary-red-light);
    font-weight: 800;
}

.societario-page .societario-footer .social-links a:not([data-social]) {
    display: inline-grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(248, 249, 250, 0.18);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font-size: 0;
    font-weight: 800;
    text-transform: uppercase;
}

.societario-page .societario-footer .social-links a:not([data-social]):nth-child(1)::after {
    content: "in";
}

.societario-page .societario-footer .social-links a:not([data-social]):nth-child(2)::after {
    content: "f";
}

.societario-page .societario-footer .social-links a:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.societario-page .societario-footer .social-links a:not([data-social])::after {
    font-size: 0.72rem;
}

.societario-page :where(a, button):focus-visible {
    outline: 3px solid var(--primary-red-light);
    outline-offset: 4px;
}

.societario-page .fixed-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 780px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.societario-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.societario-page .fixed-whatsapp-bar p strong {
    color: var(--primary-red);
}

.societario-page .societario-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(37, 211, 102, 0.12);
}

.societario-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.societario-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.societario-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    background: var(--dark-green);
    border-color: var(--dark-green);
    transform: translateY(-2px);
}

.societario-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(37, 211, 102, 0.25);
    outline-offset: 3px;
}

@media (max-width: 1100px) {
    .societario-page .corporate-when-grid {
        grid-template-columns: 1fr;
    }

    .societario-page .corporate-trust-grid,
    .societario-page .corporate-stats-grid,
    .societario-page .corporate-risk-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .societario-page .corporate-services-section .container {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .societario-page .corporate-services-heading {
        position: relative;
        top: auto;
        max-width: 760px;
        padding-top: 0;
    }

    .societario-page .corporate-map {
        grid-template-columns: 240px minmax(0, 1fr);
    }

    .societario-page .corporate-map-panel {
        padding: 42px;
    }

    .societario-page .corporate-risk-section .container {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .societario-page .corporate-risk-heading {
        max-width: 760px;
    }

    .societario-page .corporate-process-grid {
        grid-template-columns: 1fr;
    }

    .societario-page .corporate-process-grid::before {
        top: 0;
        bottom: 0;
        left: 29px;
        right: auto;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, transparent, rgba(206, 99, 99, 0.75), transparent);
    }

    .societario-page .corporate-process-card {
        min-height: auto;
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1rem;
        align-items: start;
    }

    .societario-page .corporate-process-card span {
        margin-bottom: 0;
    }

    .societario-page .societario-footer .footer-content {
        grid-template-columns: 1.5fr 1fr 1fr;
    }
}

@media (max-width: 720px) {
    .societario-page .corporate-hero-copy {
        text-align: left;
    }

    .societario-page .corporate-trust-strip {
        margin-top: -28px;
    }

    .societario-page .corporate-trust-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .societario-page .corporate-services-heading {
        text-align: center;
        max-width: 100%;
    }

    .societario-page .corporate-services-heading .corporate-section-label {
        justify-content: center;
    }

    .societario-page .corporate-services-heading p {
        margin-left: auto;
        margin-right: auto;
    }

    .societario-page .corporate-services-section {
        padding: 56px 0 72px;
    }

    .societario-page .corporate-services-section .container {
        gap: 28px;
    }

    .societario-page .corporate-services-heading #corporate-services-title {
        font-size: 34px;
        line-height: 40px;
    }

    .societario-page .corporate-map {
        grid-template-columns: 1fr;
        min-height: auto;
        border-radius: 16px;
    }

    .societario-page .corporate-map-route {
        flex-direction: row;
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(65, 22, 15, 0.08);
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
        scrollbar-color: var(--primary-red-light) transparent;
    }

    .societario-page .corporate-map-node {
        flex: 0 0 190px;
        scroll-snap-align: start;
    }

    .societario-page .corporate-map-stage,
    .societario-page .corporate-map-panel {
        min-height: 400px;
    }

    .societario-page .corporate-map-panel {
        padding: 34px 32px;
    }

    .societario-page .corporate-map-panel p {
        font-size: 16px;
        line-height: 27px;
    }

    .societario-page .corporate-map-panel .open-company-check-list {
        margin-top: 24px;
    }

    .societario-page .corporate-map-panel .open-company-check-list li {
        font-size: 15px;
        line-height: 25px;
    }

    .societario-page .corporate-when-grid {
        grid-template-columns: 1fr;
    }

    .societario-page .corporate-process-heading {
        text-align: left;
    }

    .societario-page .corporate-process-heading .corporate-section-label {
        justify-content: flex-start;
    }

    .societario-page .corporate-process-heading p {
        margin-left: 0;
        margin-right: 0;
    }

    .societario-page .corporate-process-grid {
        grid-template-columns: 1fr;
    }

    .societario-page .corporate-process-grid::before {
        top: 0;
        bottom: 0;
        left: 29px;
        right: auto;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, transparent, rgba(206, 99, 99, 0.75), transparent);
    }

    .societario-page .corporate-process-card {
        min-height: auto;
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1rem;
        align-items: start;
    }

    .societario-page .corporate-process-card span {
        margin-bottom: 0;
    }

    .societario-page .corporate-stats-heading {
        text-align: left;
    }

    .societario-page .corporate-stats-heading .corporate-section-label {
        justify-content: flex-start;
    }

    .societario-page .corporate-stats-heading p {
        margin-left: 0;
        margin-right: 0;
    }

    .societario-page .corporate-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .societario-page .corporate-stat-card--wide {
        grid-column: auto;
    }

    .societario-page .corporate-risk-section {
        padding: 72px 0;
    }

    .societario-page .corporate-risk-heading #corporate-risk-title {
        font-size: 34px;
        line-height: 40px;
    }

    .societario-page .corporate-risk-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .societario-page .corporate-cta-card {
        grid-template-columns: 1fr;
    }

    .societario-page .corporate-cta-actions {
        justify-items: start;
    }

    .societario-page .corporate-cta-actions span {
        max-width: 560px;
        text-align: left;
    }

    .societario-page .corporate-faq-heading {
        text-align: left;
    }

    .societario-page .corporate-faq-heading .corporate-section-label {
        justify-content: flex-start;
    }

    .societario-page .corporate-faq-heading p {
        margin-left: 0;
        margin-right: 0;
    }

    .societario-page .societario-footer .footer-content {
        grid-template-columns: 1fr;
    }

    .societario-page .fixed-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    .societario-page .fixed-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    .societario-page .fixed-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 540px) {
    .societario-page .corporate-hero-actions,
    .societario-page .corporate-button {
        width: 100%;
    }

    .societario-page .corporate-trust-grid {
        grid-template-columns: 1fr;
    }

    .societario-page .corporate-trust-card {
        min-height: auto;
    }

    .societario-page .corporate-services-section {
        padding: 48px 0 64px;
    }

    .societario-page .corporate-services-section .container {
        gap: 24px;
    }

    .societario-page .corporate-services-heading #corporate-services-title {
        font-size: 30px;
        line-height: 36px;
    }

    .societario-page .corporate-map {
        border-radius: 14px;
    }

    .societario-page .corporate-map-route {
        padding: 10px;
    }

    .societario-page .corporate-map-node {
        flex-basis: 168px;
        min-height: 58px;
        padding: 10px;
        font-size: 13px;
    }

    .societario-page .corporate-map-node span {
        width: 34px;
        height: 34px;
    }

    .societario-page .corporate-map-stage,
    .societario-page .corporate-map-panel {
        min-height: 360px;
    }

    .societario-page .corporate-map-panel {
        padding: 28px 22px;
    }

    .societario-page .corporate-map-panel p {
        font-size: 16px;
        line-height: 27px;
    }

    .societario-page .corporate-map-panel .open-company-check-list {
        margin-top: 20px;
    }

    .societario-page .corporate-map-panel .open-company-check-list li {
        font-size: 15px;
        line-height: 24px;
    }

    .societario-page .corporate-when-list {
        grid-template-columns: 1fr;
    }

    .societario-page .corporate-stats-grid {
        grid-template-columns: 1fr;
    }

    .societario-page .corporate-stat-card,
    .societario-page .corporate-stat-card--wide {
        grid-column: auto;
        min-height: auto;
    }

    .societario-page .corporate-stat-card--wide {
        display: block;
    }

    .societario-page .corporate-risk-grid {
        grid-template-columns: 1fr;
    }

    .societario-page .corporate-risk-card {
        min-height: auto;
    }

    .societario-page .corporate-cta-card {
        border-radius: 28px;
    }

    .societario-page .corporate-cta-actions .corporate-button {
        width: 100%;
    }

    .societario-page .corporate-faq-list .faq-question {
        padding: 1rem;
    }

    .societario-page .fixed-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    .societario-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    .societario-page .fixed-whatsapp-bar p {
        display: none;
    }

    .societario-page .fixed-whatsapp-bar {
        right: 10px;
        left: auto;
        width: auto;
        transform: none;
    }

    .societario-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .societario-page *,
    .societario-page *::before,
    .societario-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .societario-page .corporate-button:hover,
    .societario-page .corporate-button:focus-visible,
    .societario-page .corporate-trust-card:hover,
    .societario-page .corporate-process-card:hover,
    .societario-page .corporate-stat-card:hover,
    .societario-page .corporate-risk-card:hover,
    .societario-page .corporate-cta-actions .corporate-button:hover,
    .societario-page .corporate-cta-actions .corporate-button:focus-visible,
    .societario-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        transform: none;
        transition: none;
    }

    .societario-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
    .societario-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
        transform: none;
    }
}

/* =======================================
   DEPARTAMENTO PESSOAL — LAYOUT PREMIUM
   ======================================= */

.payroll-page {
    background: #ffffff;
    color: var(--dark-gray);
    overflow-x: clip;
}

.payroll-page #payroll-main-content:focus {
    outline: none;
}

.payroll-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(248, 249, 250, 0.93);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.payroll-page .navbar-container {
    min-height: 74px;
}

.payroll-page .logo-icon {
    height: 44px;
}

.payroll-page .nav-menu {
    gap: clamp(16px, 1.8vw, 28px);
}

.payroll-page .dropdown > button.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--dark-gray);
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: inherit;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    cursor: pointer;
}

.payroll-page .dropdown-menu .current-page {
    background: rgba(65, 22, 15, 0.1);
    color: var(--primary-red-dark);
    font-weight: 800;
}

.payroll-page .dropdown-menu .current-page::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 9px;
    border-radius: 50%;
    background: var(--primary-red-light);
    vertical-align: 1px;
}

.payroll-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

.open-company-page .navbar,
.switch-accountant-page .navbar,
.societario-page .navbar,
.accounting-page .navbar,
.health-page .navbar,
.digital-market-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(248, 249, 250, 0.93);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.open-company-page .navbar-container,
.switch-accountant-page .navbar-container,
.societario-page .navbar-container,
.accounting-page .navbar-container,
.health-page .navbar-container,
.digital-market-page .navbar-container {
    min-height: 74px;
}

.open-company-page .logo-icon,
.switch-accountant-page .logo-icon,
.societario-page .logo-icon,
.accounting-page .logo-icon,
.health-page .logo-icon,
.digital-market-page .logo-icon {
    height: 44px;
}

.open-company-page .nav-menu,
.switch-accountant-page .nav-menu,
.societario-page .nav-menu,
.accounting-page .nav-menu,
.health-page .nav-menu,
.digital-market-page .nav-menu {
    gap: clamp(16px, 1.8vw, 28px);
}

.open-company-page .dropdown > button.nav-link,
.switch-accountant-page .dropdown > button.nav-link,
.societario-page .dropdown > button.nav-link,
.accounting-page .dropdown > button.nav-link,
.health-page .dropdown > button.nav-link,
.digital-market-page .dropdown > button.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--dark-gray);
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: inherit;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    cursor: pointer;
}

.open-company-page .nav-link,
.switch-accountant-page .nav-link,
.societario-page .nav-link,
.accounting-page .nav-link,
.health-page .nav-link,
.digital-market-page .nav-link {
    font-size: 12px;
    letter-spacing: 0.045em;
}

.open-company-page .dropdown-menu .current-page,
.switch-accountant-page .dropdown-menu .current-page,
.societario-page .dropdown-menu .current-page,
.accounting-page .dropdown-menu .current-page,
.health-page .dropdown-menu .current-page,
.digital-market-page .dropdown-menu .current-page {
    background: rgba(65, 22, 15, 0.1);
    color: var(--primary-red-dark);
    font-weight: 800;
}

.open-company-page .dropdown-menu .current-page::before,
.switch-accountant-page .dropdown-menu .current-page::before,
.societario-page .dropdown-menu .current-page::before,
.accounting-page .dropdown-menu .current-page::before,
.health-page .dropdown-menu .current-page::before,
.digital-market-page .dropdown-menu .current-page::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 9px;
    border-radius: 50%;
    background: var(--primary-red-light);
    vertical-align: 1px;
}

.open-company-page .dropdown-menu .current-page:hover,
.switch-accountant-page .dropdown-menu .current-page:hover,
.societario-page .dropdown-menu .current-page:hover,
.accounting-page .dropdown-menu .current-page:hover,
.health-page .dropdown-menu .current-page:hover,
.digital-market-page .dropdown-menu .current-page:hover {
    background: rgba(65, 22, 15, 0.1);
    color: var(--primary-red-dark);
}

.open-company-page .nav-menu > li:last-child .nav-link,
.switch-accountant-page .nav-menu > li:last-child .nav-link,
.societario-page .nav-menu > li:last-child .nav-link,
.accounting-page .nav-menu > li:last-child .nav-link,
.health-page .nav-menu > li:last-child .nav-link,
.digital-market-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

@media (max-width: 900px) {
    .open-company-page .navbar-container,
    .switch-accountant-page .navbar-container,
    .societario-page .navbar-container,
    .accounting-page .navbar-container,
    .health-page .navbar-container,
    .digital-market-page .navbar-container {
        min-height: 68px;
    }

    .open-company-page .logo-icon,
    .switch-accountant-page .logo-icon,
    .societario-page .logo-icon,
    .accounting-page .logo-icon,
    .health-page .logo-icon,
    .digital-market-page .logo-icon {
        height: 40px;
    }

    .open-company-page .dropdown > button.nav-link,
    .switch-accountant-page .dropdown > button.nav-link,
    .societario-page .dropdown > button.nav-link,
    .accounting-page .dropdown > button.nav-link,
    .health-page .dropdown > button.nav-link,
    .digital-market-page .dropdown > button.nav-link {
        width: 100%;
        padding: 14px 16px;
        text-align: left;
    }
}

.payroll-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: var(--primary-red-light);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.payroll-section-label::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.payroll-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 15px 22px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.payroll-button-primary {
    border-color: rgba(206, 99, 99, 0.58);
    background: var(--primary-red);
    color: var(--white);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

.payroll-button-primary:hover,
.payroll-button-primary:focus-visible {
    border-color: var(--primary-red-light);
    background: var(--primary-red-dark);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

.payroll-expertise-strip,
.open-company-expertise-strip,
.corporate-expertise-strip,
.switch-expertise-strip {
    position: relative;
    z-index: 3;
    padding: 0;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    background: linear-gradient(90deg, var(--primary-red-dark), var(--primary-red), var(--primary-red-dark));
    box-shadow: 0 12px 30px rgba(37, 27, 27, 0.16);
}

.payroll-expertise-track,
.open-company-expertise-track,
.corporate-expertise-track,
.switch-expertise-track {
    width: min(100%, 1500px);
    margin: 0 auto;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--primary-red-light) transparent;
}

.payroll-expertise-track ul,
.open-company-expertise-track ul,
.corporate-expertise-track ul,
.switch-expertise-track ul {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: max-content;
    margin: 0;
    padding: 0 24px;
    list-style: none;
}

.payroll-expertise-track li,
.open-company-expertise-track li,
.corporate-expertise-track li,
.switch-expertise-track li {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: 0 clamp(24px, 3vw, 44px);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.payroll-expertise-track li + li::before,
.open-company-expertise-track li + li::before,
.corporate-expertise-track li + li::before,
.switch-expertise-track li + li::before {
    content: "";
    position: absolute;
    left: -3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary-red-light);
    box-shadow: 0 0 0 4px rgba(206, 99, 99, 0.16);
}

.open-company-expertise-strip + .open-company-trust-strip,
.switch-expertise-strip + .switch-trust-strip {
    margin-top: 0;
    padding-top: clamp(3.5rem, 6vw, 5.5rem);
}

.payroll-trust-strip {
    position: relative;
    z-index: 2;
    overflow: hidden;
    padding: 86px 0;
    background:
        linear-gradient(90deg, rgba(229, 35, 38, 0.08) 0%, rgba(255, 255, 255, 0) 22%, rgba(255, 255, 255, 0) 78%, rgba(229, 35, 38, 0.08) 100%),
        linear-gradient(180deg, #fff 0%, rgba(248, 249, 250, 0.98) 100%);
}

.payroll-trust-strip .container {
    position: relative;
    z-index: 1;
}

.payroll-trust-header {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.payroll-trust-header .payroll-section-label {
    justify-content: center;
}

.payroll-trust-header #payroll-trust-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
    text-align: center;
}

.payroll-trust-header p {
    max-width: 760px;
    margin: 16px auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.payroll-trust-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    position: relative;
}

.payroll-trust-grid::before {
    content: "";
    position: absolute;
    top: 32px;
    right: 0;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(229, 35, 38, 0), rgba(229, 35, 38, 0.38), rgba(229, 35, 38, 0));
}

.payroll-trust-card {
    position: relative;
    overflow: hidden;
    min-height: 230px;
    padding: 0 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: var(--transition);
}

.payroll-trust-card:hover {
    transform: translateY(-4px);
    box-shadow: none;
}

.payroll-trust-card:hover::after {
    background: rgba(229, 35, 38, 0.12);
}

.payroll-trust-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border: 1px solid rgba(229, 35, 38, 0.18);
    border-radius: 50%;
    background: #fff;
    color: var(--primary-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    box-shadow: 0 18px 36px rgba(37, 27, 27, 0.1);
}

.payroll-trust-card h2,
.payroll-trust-card h3 {
    position: relative;
    z-index: 1;
    margin: 22px 0 10px;
    color: var(--dark-gray);
    font-size: 18px;
    line-height: 23px;
}

.payroll-trust-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 24px;
}

.payroll-signs-section {
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background: radial-gradient(circle at 88% 12%, rgba(206, 99, 99, 0.12), transparent 28%), var(--white);
}

.payroll-section-heading {
    max-width: 860px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.payroll-section-heading .payroll-section-label {
    justify-content: center;
}

.payroll-section-heading h2 {
    margin: 0;
    color: var(--primary-red-dark);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.payroll-section-heading p {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.payroll-signs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.payroll-sign-card {
    position: relative;
    overflow: hidden;
    min-height: 260px;
    padding: 1.5rem;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 26px;
    background: #fff;
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.payroll-sign-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
}

.payroll-sign-card > span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 16px;
    background: rgba(206, 99, 99, 0.16);
    color: var(--primary-red);
    font-size: 1.35rem;
}

.payroll-sign-card h3 {
    position: relative;
    z-index: 1;
    margin: 1.15rem 0 0.65rem;
    color: var(--dark-gray);
    font-size: 1.12rem;
    line-height: 1.25;
}

.payroll-sign-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--medium-gray);
    line-height: 1.72;
}

.payroll-process-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 86% 14%, rgba(206, 99, 99, 0.12), transparent 30%),
        linear-gradient(180deg, var(--white) 0%, #fff 100%);
}

.payroll-process-section .container {
    position: relative;
    z-index: 1;
}

.payroll-process-heading {
    max-width: 880px;
    margin: 0 auto 2.7rem;
    text-align: center;
}

.payroll-process-heading .payroll-section-label {
    justify-content: center;
}

.payroll-process-heading #payroll-process-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.payroll-process-heading p {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.payroll-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.payroll-process-grid::before {
    content: "";
    position: absolute;
    top: 34px;
    left: 9%;
    right: 9%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(65, 22, 15, 0.2), transparent);
}

.payroll-process-step {
    position: relative;
    overflow: hidden;
    min-height: 270px;
    padding: 1.45rem;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.payroll-process-step::after {
    content: "";
    position: absolute;
    inset: auto -46px -58px auto;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.1);
    transition: var(--transition);
}

.payroll-process-step:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
}

.payroll-process-step:hover::after {
    transform: scale(1.16);
    background: rgba(206, 99, 99, 0.16);
}

.payroll-process-number {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    color: var(--white);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    box-shadow: 0 14px 34px rgba(65, 22, 15, 0.24);
}

.payroll-process-step > div {
    position: relative;
    z-index: 1;
}

.payroll-process-step h3 {
    margin: 1.2rem 0 0.65rem;
    color: var(--dark-gray);
    font-size: 1.12rem;
    line-height: 1.25;
}

.payroll-process-step p {
    margin: 0;
    color: var(--medium-gray);
    line-height: 1.72;
}

.payroll-authority-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 0;
    background:
        radial-gradient(circle at 14% 0%, rgba(206, 99, 99, 0.2), transparent 32%),
        linear-gradient(135deg, var(--dark-gray), var(--primary-red-dark));
}

.payroll-authority-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    pointer-events: none;
}

.payroll-authority-section .container {
    position: relative;
    z-index: 1;
}

.payroll-authority-heading {
    max-width: 820px;
    margin: 0 auto 2.4rem;
    text-align: center;
}

.payroll-authority-heading .payroll-section-label {
    justify-content: center;
    color: var(--primary-red-light);
}

.payroll-authority-heading #payroll-authority-title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.payroll-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.payroll-authority-card {
    position: relative;
    overflow: hidden;
    min-height: 180px;
    padding: 1.5rem;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.16);
    transition: var(--transition);
}

.payroll-authority-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(248, 249, 250, 0.2));
}

.payroll-authority-card:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(206, 99, 99, 0.42);
}

.payroll-authority-card strong {
    display: block;
    color: #fff;
    font-size: clamp(2rem, 3.7vw, 3rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.payroll-authority-card span {
    display: block;
    margin-top: 0.75rem;
    color: rgba(248, 249, 250, 0.76);
    font-weight: 600;
    line-height: 1.6;
}

.payroll-page .payroll-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 18% 18%, rgba(248, 249, 250, 0.12), transparent 28%),
        radial-gradient(circle at 88% 12%, rgba(206, 99, 99, 0.28), transparent 32%),
        linear-gradient(135deg, #171111 0%, var(--primary-red) 48%, var(--primary-red-dark) 100%);
    isolation: isolate;
}

.payroll-page .payroll-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.065) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 75%, transparent);
    pointer-events: none;
}

.payroll-page .payroll-cta .container {
    position: relative;
    z-index: 1;
}

.payroll-page .payroll-cta .cta-red-content {
    max-width: 980px;
    padding: clamp(2rem, 5vw, 4rem);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.075);
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(16px);
}

.payroll-cta-label {
    display: inline-flex;
    margin-bottom: 16px;
    color: #f2abab;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.payroll-page .payroll-cta .cta-red-content #payroll-cta-title {
    max-width: 760px;
    margin-inline: auto;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.payroll-page .payroll-cta .cta-red-content p {
    color: rgba(248, 249, 250, 0.76);
}

.payroll-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.85rem;
    margin-top: 1.5rem;
}

.payroll-page .payroll-cta .cta-button,
.payroll-cta-secondary {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.payroll-page .payroll-cta .cta-button {
    color: var(--primary-red);
    background: var(--white);
    border: 1px solid var(--white);
}

.payroll-cta-secondary {
    color: var(--white);
    border: 1px solid rgba(248, 249, 250, 0.34);
    background: rgba(248, 249, 250, 0.08);
}

.payroll-page .payroll-cta .cta-button:hover,
.payroll-cta-secondary:hover {
    transform: translateY(-2px);
}

.payroll-cta-secondary:hover {
    border-color: rgba(248, 249, 250, 0.72);
    background: rgba(248, 249, 250, 0.14);
}

.payroll-cta-proof {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 1.6rem;
}

.payroll-cta-proof span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(248, 249, 250, 0.76);
    font-size: 0.78rem;
    font-weight: 700;
}

.payroll-page .payroll-faq-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 12% 12%, rgba(206, 99, 99, 0.12), transparent 30%),
        linear-gradient(180deg, #fff 0%, var(--white) 100%);
}

.payroll-page .payroll-faq-section .container {
    position: relative;
    z-index: 1;
}

.payroll-page .payroll-faq-section .section-header {
    margin-bottom: 40px;
    text-align: center;
}

.payroll-page .payroll-faq-section .section-header .payroll-section-label {
    justify-content: center;
}

.payroll-page .payroll-faq-section .section-header .header-line {
    display: none;
}

.payroll-page .payroll-faq-section .section-header #payroll-faq-title {
    max-width: 820px;
    margin: 0 auto;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
    color: var(--primary-red);
}

.payroll-page .payroll-faq-section .section-subtitle {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.payroll-page .payroll-faq-list {
    max-width: 920px;
    margin: 0 auto;
}

.payroll-page .payroll-faq-list .faq-item {
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 46px rgba(37, 27, 27, 0.08);
    transition: var(--transition);
}

.payroll-page .payroll-faq-list .faq-item + .faq-item {
    margin-top: 0.85rem;
}

.payroll-page .payroll-faq-list .faq-item:hover,
.payroll-page .payroll-faq-list .faq-item.active {
    border-color: rgba(206, 99, 99, 0.32);
    box-shadow: var(--shadow);
}

.payroll-page .payroll-faq-list .faq-question {
    padding: 1.25rem 1.35rem;
    color: var(--dark-gray);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.payroll-page .payroll-faq-list .faq-question:hover,
.payroll-page .payroll-faq-list .faq-item.active .faq-question {
    color: var(--primary-red);
}

.payroll-page .payroll-faq-list .faq-icon {
    flex: 0 0 auto;
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.14);
    color: var(--primary-red);
    font-weight: 900;
}

.payroll-page .payroll-faq-list .faq-answer-content {
    padding: 0 1.35rem 1.35rem;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.78;
}

.payroll-page .footer {
    position: relative;
    padding-top: clamp(78px, 9vw, 112px);
    background:
        radial-gradient(circle at 9% 0%, rgba(206, 99, 99, 0.15), transparent 27%),
        linear-gradient(145deg, #251b1b, #150a08);
    border-top: 0;
}

.payroll-page .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

.payroll-page .footer-content {
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
}

.payroll-page .payroll-footer-intro {
    padding-right: clamp(0px, 3vw, 42px);
}

.payroll-page .payroll-footer-tagline {
    max-width: 345px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    font-weight: 600;
    line-height: 1.58;
}

.payroll-page .payroll-footer-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.payroll-page .payroll-footer-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.payroll-page .footer-section a[aria-current="page"] {
    color: #f2abab;
}

.payroll-page .footer-section a[aria-current="page"]::before {
    width: 12px;
    background: var(--primary-red-light);
}

.payroll-page .social-links .social-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(248, 249, 250, 0.2);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.65;
}

.payroll-page .social-links .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.payroll-page .social-links .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.payroll-page .social-links .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.payroll-page .footer-bottom {
    color: rgba(255, 255, 255, 0.48);
}

.payroll-page .fixed-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 800px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
}

.payroll-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.payroll-page .fixed-whatsapp-bar p strong {
    color: var(--primary-red);
}

.payroll-page .payroll-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.13);
}

.payroll-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.payroll-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.payroll-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    border-color: var(--dark-green);
    background: var(--dark-green);
    transform: translateY(-2px);
}

.payroll-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(76, 175, 80, 0.25);
    outline-offset: 3px;
}

@media (max-width: 1100px) {
    .payroll-trust-grid,
    .payroll-signs-grid,
    .payroll-process-grid,
    .payroll-authority-grid { grid-template-columns: repeat(2, 1fr); }
    .payroll-trust-grid::before { display: none; }
    .payroll-trust-card {
        min-height: auto;
        padding: 24px;
        border: 1px solid rgba(65, 22, 15, 0.1);
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 16px 40px rgba(37, 27, 27, 0.08);
        margin-bottom: 1rem;
    }
    .payroll-process-grid::before { display: none; }
    .payroll-expertise-track ul,
    .open-company-expertise-track ul,
    .corporate-expertise-track ul,
    .switch-expertise-track ul { justify-content: flex-start; }
    .payroll-page .footer-content { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .payroll-page .payroll-footer-intro { grid-column: span 2; }
}

@media (max-width: 720px) {
    .payroll-hero-copy,
    .payroll-section-heading,
    .payroll-process-heading,
    .payroll-authority-heading,
    .payroll-page .payroll-faq-section .section-header { text-align: left; }
    .payroll-section-heading .payroll-section-label,
    .payroll-process-heading .payroll-section-label,
    .payroll-authority-heading .payroll-section-label,
    .payroll-page .payroll-faq-section .section-header .payroll-section-label { justify-content: flex-start; }
    .payroll-trust-grid,
    .payroll-signs-grid,
    .payroll-process-grid { grid-template-columns: 1fr; }
    .payroll-trust-header #payroll-trust-title { font-size: 34px; line-height: 40px; }
    .payroll-trust-card {
        min-height: auto;
        padding: 22px;
        border: 1px solid rgba(65, 22, 15, 0.1);
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 16px 40px rgba(37, 27, 27, 0.08);        
        margin-bottom: 1rem;
    }
    .payroll-page .footer-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .payroll-page .payroll-footer-intro { grid-column: 1 / -1; }
    .payroll-page .fixed-whatsapp-bar { justify-content: space-between; padding-left: 18px; }
    .payroll-page .fixed-whatsapp-bar p span:last-child { font-size: 0; }
    .payroll-page .fixed-whatsapp-bar p span:last-child strong { font-size: 0.75rem; }
}

@media (max-width: 900px) {
    .payroll-page .navbar-container {
        min-height: 68px;
    }

    .payroll-page .logo-icon {
        height: 40px;
    }

    .payroll-page .dropdown > button.nav-link {
        width: 100%;
        padding: 14px 16px;
        text-align: left;
    }
}

@media (max-width: 540px) {
    .payroll-expertise-track,
    .open-company-expertise-track,
    .corporate-expertise-track,
    .switch-expertise-track { scroll-snap-type: x proximity; }
    .payroll-expertise-track ul,
    .open-company-expertise-track ul,
    .corporate-expertise-track ul,
    .switch-expertise-track ul { padding-inline: 10px; }
    .payroll-expertise-track li,
    .open-company-expertise-track li,
    .corporate-expertise-track li,
    .switch-expertise-track li { min-height: 50px; padding-inline: 24px; scroll-snap-align: start; }
    .payroll-authority-grid { grid-template-columns: 1fr; }
    .payroll-page .payroll-cta .cta-red-content { padding: 1.5rem; border-radius: 26px; }
    .payroll-page .payroll-cta .cta-button,
    .payroll-cta-secondary { width: 100%; }
    .payroll-cta-proof { justify-content: flex-start; }
    .payroll-page .payroll-faq-list .faq-question { padding: 1rem; font-size: 0.92rem; }
    .payroll-page .payroll-faq-list .faq-answer-content { padding: 0 1rem 1rem; }
    .payroll-page .footer-content { grid-template-columns: 1fr; }
    .payroll-page .fixed-whatsapp-bar { bottom: 10px; width: calc(100% - 20px); min-height: 60px; padding: 6px 7px 6px 16px; }
    .payroll-page .fixed-whatsapp-bar .whatsapp-cta-btn { min-height: 46px; margin-left: 12px; padding: 10px 16px; }
}

@media (max-width: 480px) {
    .payroll-button { width: 100%; }
}

@media (max-width: 390px) {
    .payroll-page .fixed-whatsapp-bar p { display: none; }
    .payroll-page .fixed-whatsapp-bar { right: 10px; left: auto; width: auto; transform: none; }
    .payroll-page .fixed-whatsapp-bar .whatsapp-cta-btn { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .payroll-page .payroll-button:hover,
    .payroll-page .payroll-trust-card:hover,
    .payroll-page .payroll-sign-card:hover,
    .payroll-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover {
        transform: none;
    }
}

/* =======================================
   CONTÁBIL — LAYOUT PREMIUM
   ======================================= */

.accounting-page {
    background: #ffffff;
    color: var(--dark-gray);
}

.accounting-page #accounting-main-content:focus {
    outline: none;
}

.accounting-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: var(--primary-red-light);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.accounting-section-label::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.accounting-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 15px 22px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.accounting-button-primary {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.11);
    color: var(--white);
    box-shadow: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.accounting-button-primary:hover,
.accounting-button-primary:focus-visible {
    border-color: var(--primary-red-light);
    background: var(--primary-red-dark);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: none;
}

.accounting-expertise-strip {
    position: relative;
    z-index: 3;
    padding: 0;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    background: linear-gradient(90deg, var(--primary-red-dark), var(--primary-red), var(--primary-red-dark));
    box-shadow: 0 12px 30px rgba(37, 27, 27, 0.16);
}

.accounting-expertise-track {
    width: min(100%, 1500px);
    margin: 0 auto;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--primary-red-light) transparent;
}

.accounting-expertise-track ul {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: max-content;
    margin: 0;
    padding: 0 24px;
    list-style: none;
}

.accounting-expertise-track li {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: 0 clamp(24px, 3vw, 44px);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.accounting-expertise-track li + li::before {
    content: "";
    position: absolute;
    left: -3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--primary-red-light);
    box-shadow: 0 0 0 4px rgba(206, 99, 99, 0.16);
}

.accounting-trust-strip {
    position: relative;
    z-index: 2;
    overflow: hidden;
    padding: 88px 0;
    background:
        linear-gradient(90deg, rgba(229, 35, 38, 0.08) 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, rgba(229, 35, 38, 0.08) 100%),
        linear-gradient(180deg, #fff 0%, rgba(248, 249, 250, 0.97) 100%);
}

.accounting-trust-strip .container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: start;
    justify-items: center;
}

.accounting-trust-header {
    max-width: 900px;
    margin: 0 auto;
    padding-top: 0;
    text-align: center;
}

.accounting-trust-header .accounting-section-label {
    justify-content: center;
}

.accounting-trust-header #accounting-trust-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.accounting-trust-header p {
    max-width: 620px;
    margin: 16px auto 0;
    color: rgba(37, 27, 27, 0.72);
    font-size: 16px;
    line-height: 27px;
}

.accounting-dashboard {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    justify-self: center;
    width: 100%;
    max-width: 980px;
    min-height: 520px;
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 249, 250, 0.82)),
        #fff;
    box-shadow: 0 28px 70px rgba(37, 27, 27, 0.12);
}

.accounting-dashboard-nav {
    display: flex;
    flex-direction: column;
    padding: 14px;
    border-right: 1px solid rgba(65, 22, 15, 0.08);
    background:
        linear-gradient(180deg, rgba(248, 249, 250, 0.94), rgba(255, 255, 255, 0.76));
}

.accounting-dashboard-tab {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 66px;
    padding: 12px 14px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: rgba(37, 27, 27, 0.72);
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    line-height: 18px;
    text-align: left;
    cursor: pointer;
    transition: var(--transition);
}

.accounting-dashboard-tab span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(229, 35, 38, 0.09);
    color: var(--primary-red);
    font-size: 11px;
    letter-spacing: 1px;
}

.accounting-dashboard-tab.is-active {
    border-color: rgba(229, 35, 38, 0.26);
    background: var(--primary-red);
    color: #fff;
}

.accounting-dashboard-tab.is-active span {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.accounting-dashboard-stage {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    background: #fff;
}

.accounting-dashboard-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 520px;
    padding: 46px 54px;
}

.accounting-dashboard-panel[hidden] {
    display: none;
}

.accounting-dashboard-panel p {
    max-width: 720px;
    margin: 0;
    color: rgba(37, 27, 27, 0.72);
    font-size: 17px;
    line-height: 29px;
    font-weight: 500;
}

.accounting-dashboard-panel .open-company-check-list {
    max-width: 720px;
    margin-top: 30px;
}

.accounting-dashboard-panel .open-company-check-list li {
    font-size: 16px;
    line-height: 26px;
}

.accounting-signs-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 8% 18%, rgba(206, 99, 99, 0.2), transparent 26%),
        radial-gradient(circle at 88% 18%, rgba(206, 99, 99, 0.16), transparent 30%),
        linear-gradient(135deg, #171111 0%, var(--dark-gray) 52%, #130d0d 100%);
}

.accounting-signs-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), transparent 82%);
    pointer-events: none;
}

.accounting-signs-section .container {
    position: relative;
    z-index: 1;
}

.accounting-section-heading {
    max-width: 860px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.accounting-section-heading .accounting-section-label {
    justify-content: center;
}

.accounting-signs-section .accounting-section-label {
    color: var(--primary-red-light);
}

.accounting-signs-section .accounting-section-label::before {
    background: var(--primary-red-light);
}

.accounting-section-heading #accounting-signs-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.accounting-signs-section .accounting-section-heading #accounting-signs-title {
    color: var(--white);
}

.accounting-section-heading p {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.accounting-signs-section .accounting-section-heading p {
    color: rgba(248, 249, 250, 0.76);
}

.accounting-signs-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.accounting-sign-card {
    position: relative;
    overflow: hidden;
    min-height: 260px;
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.075);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
    transition: var(--transition);
    backdrop-filter: blur(14px);
}

.accounting-sign-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(206, 99, 99, 0.1));
}

.accounting-sign-card:hover {
    transform: translateY(-6px);
    border-color: rgba(206, 99, 99, 0.36);
    background: rgba(255, 255, 255, 0.105);
    box-shadow: 0 30px 78px rgba(0, 0, 0, 0.34);
}

.accounting-sign-card > span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    margin-bottom: 20px;
    border: 1px solid rgba(248, 249, 250, 0.22);
    border-radius: 50%;
    background: rgba(229, 35, 38, 0.36);
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}

.accounting-sign-card h3 {
    position: relative;
    z-index: 1;
    margin: 1.15rem 0 0.65rem;
    color: var(--white);
    font-size: 1.12rem;
    line-height: 1.25;
}

.accounting-sign-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: rgba(248, 249, 250, 0.72);
    line-height: 1.72;
}

.accounting-process-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 86% 14%, rgba(206, 99, 99, 0.12), transparent 30%),
        linear-gradient(180deg, var(--white) 0%, #fff 100%);
}

.accounting-process-section .container {
    position: relative;
    z-index: 1;
}

.accounting-process-heading {
    max-width: 880px;
    margin: 0 auto 2.7rem;
    text-align: center;
}

.accounting-process-heading .accounting-section-label {
    justify-content: center;
}

.accounting-process-heading #accounting-process-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.accounting-process-heading p {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.accounting-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.accounting-process-grid::before {
    content: "";
    position: absolute;
    top: 34px;
    left: 9%;
    right: 9%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(65, 22, 15, 0.2), transparent);
}

.accounting-process-step {
    position: relative;
    overflow: hidden;
    min-height: 270px;
    padding: 1.45rem;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.accounting-process-step::after {
    content: "";
    position: absolute;
    inset: auto -46px -58px auto;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.1);
    transition: var(--transition);
}

.accounting-process-step:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
}

.accounting-process-step:hover::after {
    transform: scale(1.16);
    background: rgba(206, 99, 99, 0.16);
}

.accounting-process-number {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    color: var(--white);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    box-shadow: 0 14px 34px rgba(65, 22, 15, 0.24);
}

.accounting-process-step > div {
    position: relative;
    z-index: 1;
}

.accounting-process-step h3 {
    margin: 1.2rem 0 0.65rem;
    color: var(--dark-gray);
    font-size: 1.12rem;
    line-height: 1.25;
}

.accounting-process-step p {
    margin: 0;
    color: var(--medium-gray);
    line-height: 1.72;
}

.accounting-authority-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.9rem, 9vw, 7.5rem) 0;
    background:
        radial-gradient(circle at 88% 8%, rgba(206, 99, 99, 0.22), transparent 26%),
        linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    color: var(--white);
}

.accounting-authority-section::before {
    content: "";
    position: absolute;
    top: -210px;
    left: -170px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    box-shadow: 0 0 0 70px rgba(255, 255, 255, 0.018);
    pointer-events: none;
}

.accounting-authority-section::after {
    content: "";
    position: absolute;
    right: -180px;
    bottom: -220px;
    width: 440px;
    height: 440px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.08);
    pointer-events: none;
}

.accounting-authority-section .container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(46px, 8vw, 108px);
    align-items: end;
}

.accounting-authority-label {
    display: inline-flex;
    margin-bottom: 16px;
    color: #f2abab;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.accounting-authority-heading #accounting-authority-title {
    max-width: 590px;
    margin: 0;
    color: var(--white);
    font-size: clamp(1.9rem, 3.5vw, 3.2rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.accounting-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.accounting-authority-item {
    position: relative;
    display: flex;
    min-width: 0;
    padding: 30px 20px 4px;
    flex-direction: column;
    gap: 13px;
    border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.accounting-authority-item:first-child {
    padding-left: 0;
    border-left: 0;
}

.accounting-authority-item::before {
    content: "";
    position: absolute;
    top: -2px;
    left: 20px;
    width: 32px;
    height: 3px;
    background: #f2abab;
}

.accounting-authority-item:first-child::before {
    left: 0;
}

.accounting-authority-item strong {
    color: var(--white);
    font-size: clamp(1.75rem, 3vw, 3.15rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
}

.accounting-authority-item span {
    max-width: 135px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.73rem;
    font-weight: 600;
    line-height: 1.5;
}

.accounting-page .accounting-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background: var(--white);
}

.accounting-page .accounting-cta .cta-red-content {
    position: relative;
    isolation: isolate;
    max-width: 980px;
    padding: clamp(2rem, 5vw, 4rem);
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.18);
    border-radius: 34px;
    background: var(--primary-red);
    box-shadow: 0 30px 75px rgba(65, 22, 15, 0.22);
    color: #fff;
}

.accounting-page .accounting-cta-background {
    position: absolute;
    z-index: -1;
    left: 50%;
    bottom: 10%;
    transform: translate(-50%, 50%);
    color: transparent;
    font-size: clamp(7rem, 17vw, 15rem);
    font-weight: 800;
    line-height: 0.8;
    letter-spacing: -0.08em;
    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.08);
    user-select: none;
}

.accounting-cta-label {
    display: inline-flex;
    margin-bottom: 16px;
    color: var(--primary-red-light);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.accounting-page .accounting-cta .cta-red-content #accounting-cta-title {
    max-width: 760px;
    margin-inline: auto;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.accounting-page .accounting-cta .cta-red-content p {
    color: rgba(248, 249, 250, 0.76);
}

.accounting-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.85rem;
    margin-top: 1.5rem;
}

.accounting-page .accounting-cta .cta-button,
.accounting-cta-secondary {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.accounting-page .accounting-cta .cta-button {
    color: var(--primary-red);
    background: #fff;
    border: 1px solid #fff;
}

.accounting-cta-secondary {
    color: var(--primary-red);
    border: 1px solid rgba(65, 22, 15, 0.16);
    background: rgba(65, 22, 15, 0.04);
}

.accounting-page .accounting-cta .cta-button:hover,
.accounting-cta-secondary:hover {
    transform: translateY(-2px);
}

.accounting-cta-secondary:hover {
    border-color: rgba(65, 22, 15, 0.28);
    background: rgba(65, 22, 15, 0.1);
}

.accounting-cta-proof {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 1.6rem;
}

.accounting-cta-proof span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(248, 249, 250, 0.76);
    font-size: 0.78rem;
    font-weight: 700;
}

.accounting-page .accounting-faq-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background: var(--white);
}

.accounting-page .accounting-faq-section .container {
    position: relative;
    z-index: 1;
}

.accounting-page .accounting-faq-section .section-header {
    margin-bottom: 40px;
    text-align: center;
}

.accounting-page .accounting-faq-section .section-header .accounting-section-label {
    justify-content: center;
}

.accounting-page .accounting-faq-section .section-header #accounting-faq-title {
    max-width: 820px;
    margin: 0 auto;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
    color: var(--primary-red);
}

.accounting-page .accounting-faq-section .section-subtitle {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.accounting-page .accounting-faq-list {
    max-width: 920px;
    margin: 0 auto;
}

.accounting-page .accounting-faq-list .faq-item {
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 46px rgba(37, 27, 27, 0.08);
    transition: var(--transition);
}

.accounting-page .accounting-faq-list .faq-item + .faq-item {
    margin-top: 0.85rem;
}

.accounting-page .accounting-faq-list .faq-item:hover,
.accounting-page .accounting-faq-list .faq-item.active {
    border-color: rgba(206, 99, 99, 0.32);
    box-shadow: var(--shadow);
}

.accounting-page .accounting-faq-list .faq-question {
    padding: 1.25rem 1.35rem;
    color: var(--dark-gray);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.accounting-page .accounting-faq-list .faq-question:hover,
.accounting-page .accounting-faq-list .faq-item.active .faq-question {
    color: var(--primary-red);
}

.accounting-page .accounting-faq-list .faq-icon {
    flex: 0 0 auto;
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.14);
    color: var(--primary-red);
    font-weight: 900;
}

.accounting-page .accounting-faq-list .faq-answer-content {
    padding: 0 1.35rem 1.35rem;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.78;
}

.accounting-page .footer {
    position: relative;
    padding-top: clamp(78px, 9vw, 112px);
    background:
        radial-gradient(circle at 9% 0%, rgba(206, 99, 99, 0.15), transparent 27%),
        linear-gradient(145deg, #251b1b, #150a08);
    border-top: 0;
}

.accounting-page .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

.accounting-page .footer-content {
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
}

.accounting-page .accounting-footer-intro {
    padding-right: clamp(0px, 3vw, 42px);
}

.accounting-page .accounting-footer-tagline {
    max-width: 345px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    font-weight: 600;
    line-height: 1.58;
}

.accounting-page .footer-section h4,
.accounting-page .accounting-footer-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.accounting-page .footer-section h4::after,
.accounting-page .accounting-footer-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.accounting-page .footer-section a[href="../contabil/"] {
    color: #f2abab;
}

.accounting-page .footer-section a[href="../contabil/"]::before {
    width: 12px;
    background: var(--primary-red-light);
}

.accounting-page .social-links .social-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(248, 249, 250, 0.2);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.65;
}

.accounting-page .social-links .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.accounting-page .social-links .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.accounting-page .social-links .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.accounting-page .footer-bottom {
    color: rgba(255, 255, 255, 0.48);
}

.accounting-page .fixed-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 800px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
}

.accounting-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.accounting-page .fixed-whatsapp-bar p strong {
    color: var(--primary-red);
}

.accounting-page .accounting-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.13);
}

.accounting-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.accounting-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.accounting-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    border-color: var(--dark-green);
    background: var(--dark-green);
    transform: translateY(-2px);
}

.accounting-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(76, 175, 80, 0.25);
    outline-offset: 3px;
}

@media (max-width: 1100px) {
    .accounting-signs-grid,
    .accounting-process-grid { grid-template-columns: repeat(2, 1fr); }
    .accounting-trust-strip .container {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .accounting-trust-header {
        position: relative;
        top: auto;
        max-width: 760px;
        padding-top: 0;
    }
    .accounting-trust-header p {
        max-width: 620px;
    }
    .accounting-dashboard {
        grid-template-columns: 240px minmax(0, 1fr);
    }
    .accounting-dashboard-panel {
        padding: 42px;
    }
    .accounting-process-grid::before { display: none; }
    .accounting-expertise-track ul { justify-content: flex-start; }
    .accounting-authority-section .container { grid-template-columns: 1fr; align-items: start; }
    .accounting-page .footer-content { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .accounting-page .accounting-footer-intro { grid-column: span 2; }
}

@media (max-width: 720px) {
    .accounting-hero-copy,
    .accounting-section-heading,
    .accounting-process-heading,
    .accounting-authority-heading,
    .accounting-page .accounting-faq-section .section-header { text-align: left; }
    .accounting-section-heading .accounting-section-label,
    .accounting-process-heading .accounting-section-label,
    .accounting-page .accounting-faq-section .section-header .accounting-section-label { justify-content: flex-start; }
    .accounting-signs-grid,
    .accounting-process-grid { grid-template-columns: 1fr; }
    .accounting-trust-strip {
        padding: 72px 0;
    }
    .accounting-trust-strip .container {
        gap: 28px;
    }
    .accounting-trust-header {
        max-width: 100%;
    }
    .accounting-dashboard {
        grid-template-columns: 1fr;
        min-height: auto;
        border-radius: 16px;
    }
    .accounting-dashboard-nav {
        flex-direction: row;
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(65, 22, 15, 0.08);
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
        scrollbar-color: var(--primary-red-light) transparent;
    }
    .accounting-dashboard-tab {
        flex: 0 0 190px;
        scroll-snap-align: start;
    }
    .accounting-dashboard-stage,
    .accounting-dashboard-panel {
        min-height: 400px;
    }
    .accounting-dashboard-panel {
        padding: 34px 32px;
    }
    .accounting-dashboard-panel p {
        font-size: 16px;
        line-height: 27px;
    }
    .accounting-dashboard-panel .open-company-check-list {
        margin-top: 24px;
    }

    .accounting-dashboard-panel .open-company-check-list li {
        font-size: 15px;
        line-height: 25px;
    }
    .accounting-trust-header #accounting-trust-title { font-size: 34px; line-height: 40px; }
    .accounting-authority-grid { grid-template-columns: repeat(2, 1fr); }
    .accounting-page .footer-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .accounting-page .accounting-footer-intro { grid-column: 1 / -1; }
    .accounting-page .fixed-whatsapp-bar { justify-content: space-between; padding-left: 18px; }
    .accounting-page .fixed-whatsapp-bar p span:last-child { font-size: 0; }
    .accounting-page .fixed-whatsapp-bar p span:last-child strong { font-size: 0.75rem; }
}

@media (max-width: 540px) {
    .accounting-expertise-track { scroll-snap-type: x proximity; }
    .accounting-expertise-track ul { padding-inline: 10px; }
    .accounting-expertise-track li { min-height: 50px; padding-inline: 24px; scroll-snap-align: start; }
    .accounting-trust-strip {
        padding: 56px 0;
    }
    .accounting-trust-strip .container {
        gap: 24px;
    }
    .accounting-trust-header #accounting-trust-title {
        font-size: 30px;
        line-height: 36px;
    }
    .accounting-dashboard {
        border-radius: 14px;
    }
    .accounting-dashboard-nav {
        padding: 10px;
    }
    .accounting-dashboard-tab {
        flex-basis: 168px;
        min-height: 58px;
        padding: 10px;
        font-size: 13px;
    }
    .accounting-dashboard-tab span {
        width: 30px;
        height: 30px;
    }
    .accounting-dashboard-stage,
    .accounting-dashboard-panel {
        min-height: 360px;
    }
    .accounting-dashboard-panel {
        padding: 28px 22px;
    }
    .accounting-dashboard-panel p {
        font-size: 16px;
        line-height: 27px;
    }
    .accounting-dashboard-panel .open-company-check-list {
        margin-top: 20px;
    }
    .accounting-dashboard-panel .open-company-check-list li {
        font-size: 15px;
        line-height: 24px;
    }
    .accounting-authority-grid { grid-template-columns: 1fr; }
    .accounting-authority-item,
    .accounting-authority-item:first-child { padding-left: 0; border-left: 0; }
    .accounting-authority-item::before,
    .accounting-authority-item:first-child::before { left: 0; }
    .accounting-authority-item span { max-width: none; }
    .accounting-page .footer-content { grid-template-columns: 1fr; }
    .accounting-page .accounting-cta .cta-red-content { padding: 1.5rem; border-radius: 26px; }
    .accounting-page .accounting-cta .cta-button,
    .accounting-cta-secondary { width: 100%; }
    .accounting-cta-proof { justify-content: flex-start; }
    .accounting-page .accounting-faq-list .faq-question { padding: 1rem; font-size: 0.92rem; }
    .accounting-page .accounting-faq-list .faq-answer-content { padding: 0 1rem 1rem; }
    .accounting-page .fixed-whatsapp-bar { bottom: 10px; width: calc(100% - 20px); min-height: 60px; padding: 6px 7px 6px 16px; }
    .accounting-page .fixed-whatsapp-bar .whatsapp-cta-btn { min-height: 46px; margin-left: 12px; padding: 10px 16px; }
}

@media (max-width: 480px) {
    .accounting-button { width: 100%; }
}

@media (max-width: 390px) {
    .accounting-page .fixed-whatsapp-bar p { display: none; }
    .accounting-page .fixed-whatsapp-bar { right: 10px; left: auto; width: auto; transform: none; }
    .accounting-page .fixed-whatsapp-bar .whatsapp-cta-btn { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .accounting-page .accounting-button:hover,
    .accounting-page .accounting-sign-card:hover,
    .accounting-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover {
        animation: none;
        transform: none;
    }
}

/* ===========================
   HOME PAGE — WHATSAPP FIXO
   =========================== */

/* =======================================
   PÁGINA PRINCIPAL — PREPARAÇÃO DO REDESIGN
   ======================================= */

.index-page #home-main-content:focus {
    outline: none;
}

.index-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(248, 249, 250, 0.93);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.index-page .navbar-container {
    min-height: 74px;
}

.index-page .logo-icon {
    height: 44px;
}

.index-page .nav-menu {
    gap: clamp(16px, 1.8vw, 28px);
}

.index-page .dropdown > button.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--dark-gray);
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: inherit;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    cursor: pointer;
}

.index-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

.index-page .hero-home {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(680px, calc(100svh - 74px), 820px);
    padding: clamp(112px, 13vw, 164px) 0 clamp(88px, 10vw, 128px);
    overflow: hidden;
    background-image:
        linear-gradient(90deg, rgba(37, 27, 27, 0.94) 0%, rgba(65, 22, 15, 0.82) 48%, rgba(37, 27, 27, 0.24) 100%),
        var(--hero-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    isolation: isolate;
}

.index-page .hero-home > .container {
    position: relative;
    z-index: 2;
    display: block;
}

.index-page .hero-home .hero-copy {
    max-width: 720px;
}

.index-page .hero-home .home-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: #f2abab;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.index-page .hero-home .hero-title {
    max-width: 760px;
    color: #fff;
    font-size: clamp(2.8rem, 6vw, 5.4rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
    text-wrap: balance;
    margin-bottom: 1.2rem;
}

.index-page .hero-home .hero-text {
    max-width: 500px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(1rem, 1.45vw, 1.22rem);
    line-height: 1.78;
}

.index-page .hero-home .hero-buttons {
    gap: 14px;
    margin-top: 34px;
    flex-wrap: wrap;
}

.index-page .hero-home .hero-buttons .cta-button-red {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 66px;
    padding: 19px 38px;
    border: 1px solid rgba(206, 99, 99, 0.58);
    border-radius: 999px;
    background: var(--primary-red);
    color: #fff;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.22);
}

.index-page .hero-home .hero-buttons .cta-button-red:nth-child(2) {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.11);
    box-shadow: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.index-page .hero-home .hero-buttons .cta-button-red:hover,
.index-page .hero-home .hero-buttons .cta-button-red:focus-visible {
    border-color: var(--primary-red-light);
    background: var(--primary-red-dark);
    transform: translateY(-2px);
}

.index-page .hero-home .hero-background {
    width: 520px;
    height: 520px;
    top: auto;
    right: -180px;
    bottom: -260px;
    background: var(--primary-red-light);
    opacity: 0.12;
    filter: blur(2px);
}

.index-page .home-proof-section {
    position: relative;
    z-index: 3;
    padding: 0 0 clamp(82px, 9vw, 116px);
    margin-top: -52px;
    overflow: visible;
    background:
        linear-gradient(180deg, rgba(20, 12, 10, 0) 0, rgba(248, 249, 250, 0.96) 52px, #fff 100%);
}

.index-page .home-proof-section .container {
    position: relative;
}

.index-page .home-proof-section .section-header {
    max-width: 760px;
    margin: 0 auto 34px;
    padding: 34px clamp(22px, 4vw, 42px) 0;
    text-align: center;
}

.index-page .home-proof-section .home-section-label {
    justify-content: center;
    margin-bottom: 0.8rem;
    color: var(--primary-red-light);
}

.index-page .home-proof-section .section-header h2 {
    color: var(--dark-gray);
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: -0.04em;
}

.index-page .home-proof-section .header-line {
    margin: 18px auto 0;
}

.index-page .home-proof-section .features-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 2vw, 24px);
    padding: clamp(18px, 2.8vw, 28px);
}

.index-page .home-proof-section .feature-item {
    min-height: 100%;
    padding: clamp(26px, 3vw, 34px);
    border-color: rgba(65, 22, 15, 0.08);
    border-radius: 24px;
    background:
        radial-gradient(circle at 10% 0%, rgba(206, 99, 99, 0.12), transparent 34%),
        #fff;
    box-shadow: none;
}

.index-page .home-proof-section .feature-item::after {
    left: 30px;
    width: 42px;
    height: 3px;
}

.index-page .home-proof-section .feature-item:hover {
    border-color: rgba(65, 22, 15, 0.16);
    box-shadow: 0 18px 45px rgba(37, 27, 27, 0.11);
}

.index-page .home-proof-section .feature-item img {
    width: 62px;
    height: 62px;
    margin-bottom: 20px;
    background: rgba(65, 22, 15, 0.06);
    border-color: rgba(65, 22, 15, 0.1);
    border-radius: 18px;
}

.index-page .home-proof-section .feature-item h3 {
    margin-bottom: 10px;
    font-size: clamp(1.1rem, 1.6vw, 1.35rem);
}

.index-page .home-proof-section .feature-item p {
    color: rgba(37, 27, 27, 0.68);
    font-size: 0.95rem;
}

.index-page .home-about {
    position: relative;
    padding: clamp(88px, 10vw, 132px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 9% 16%, rgba(206, 99, 99, 0.13), transparent 28%),
        linear-gradient(180deg, #fff 0%, var(--white) 100%);
}

.index-page .home-about-grid {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(48px, 7vw, 96px);
}

.index-page .home-about-media {
    min-height: clamp(440px, 44vw, 560px);
}

.index-page .home-about-media::before {
    inset: 34px -24px -28px 34px;
    border: 1px solid rgba(65, 22, 15, 0.08);
    background:
        linear-gradient(135deg, rgba(65, 22, 15, 0.1), rgba(206, 99, 99, 0.08));
    border-radius: 34px;
}

.index-page .home-about-media img {
    height: clamp(440px, 44vw, 560px);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 32px;
    box-shadow: 0 28px 70px rgba(37, 27, 27, 0.18);
}

.index-page .home-about-authority {
    right: clamp(-18px, -2vw, -26px);
    bottom: clamp(24px, 4vw, 42px);
    max-width: 280px;
    padding: 22px 24px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 52px rgba(37, 27, 27, 0.16);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.index-page .home-about-authority strong {
    color: var(--primary-red);
    font-size: 1.45rem;
    letter-spacing: -0.03em;
}

.index-page .home-about-authority span {
    color: rgba(37, 27, 27, 0.68);
    font-weight: 600;
}

.index-page .home-about-copy {
    max-width: 660px;
}

.index-page .home-about-copy .section-label {
    color: var(--primary-red-light);
}

.index-page .home-about-copy h2 {
    margin-bottom: 26px;
    color: var(--dark-gray);
    font-size: clamp(2.35rem, 4.3vw, 4rem);
    line-height: 1.03;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.index-page .home-about-copy p {
    max-width: 620px;
    color: rgba(37, 27, 27, 0.72);
    font-size: 1.02rem;
    line-height: 1.82;
}

.index-page .institutional-chips {
    margin-top: 30px;
    gap: 12px;
}

.index-page .institutional-chips li {
    padding: 10px 14px;
    background: #fff;
    border-color: rgba(65, 22, 15, 0.12);
    box-shadow: 0 10px 24px rgba(37, 27, 27, 0.06);
}

.index-page .home-about-actions {
    margin-top: 34px;
    gap: 14px;
}

.index-page .home-about-actions .about-link,
.index-page .home-about-actions .cta-button-red {
    min-height: 52px;
    border-radius: 999px;
}

.index-page .home-about-actions .about-link {
    padding-inline: 24px;
    background: #fff;
}

.index-page .home-about-actions .about-link:hover,
.index-page .home-about-actions .about-link:focus-visible {
    border-color: var(--primary-red);
    background: var(--primary-red);
    color: #fff;
}

.index-page .home-services-section {
    position: relative;
    padding: clamp(92px, 10vw, 136px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 10%, rgba(206, 99, 99, 0.13), transparent 30%),
        linear-gradient(180deg, var(--white) 0%, #fff 48%, var(--white) 100%);
    isolation: isolate;
}

.index-page .home-services-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(65, 22, 15, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, rgba(65, 22, 15, 0.05) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 75%, transparent);
    pointer-events: none;
}

.index-page .home-services-section .container {
    position: relative;
    z-index: 1;
}

.index-page .home-services-section .section-header {
    max-width: 860px;
    margin-bottom: clamp(42px, 5vw, 64px);
    text-align: center;
}

.index-page .home-services-section .section-label {
    color: var(--primary-red-light);
}

.index-page .home-services-section .section-header h2 {
    color: var(--dark-gray);
    font-size: clamp(2.25rem, 4.6vw, 4.1rem);
    line-height: 1.03;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.index-page .home-services-section .header-line {
    margin: 20px auto 0;
}

.index-page .home-services-section .services-grid {
    position: relative;
    display: flex;
    gap: clamp(18px, 2vw, 26px);
    align-items: stretch;
    overflow-x: auto;
    overflow-y: visible;
    padding: 22px 0 34px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.index-page .home-services-section .services-grid::-webkit-scrollbar {
    display: none;
}

.index-page .home-services-section .services-carousel {
    position: relative;
    padding: 0 clamp(54px, 7vw, 86px);
}

.index-page .home-services-section .service-card {
    flex: 0 0 min(78vw, 360px);
    min-height: 318px;
    padding: clamp(28px, 3vw, 36px);
    border-color: rgba(65, 22, 15, 0.08);
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.92)),
        radial-gradient(circle at 16% 0%, rgba(206, 99, 99, 0.13), transparent 38%);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.08);
    scroll-snap-align: center;
}

.index-page .home-services-section .service-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 30px;
    width: 44px;
    height: 3px;
    border-radius: 0 0 999px 999px;
    background: var(--primary-red-light);
    transition: var(--transition);
}

.index-page .home-services-section .service-card.is-active {
    z-index: 3;
    opacity: 1;
    pointer-events: auto;
    transform: scale(1.06);
}

.index-page .home-services-section .service-card.is-prev,
.index-page .home-services-section .service-card.is-next {
    z-index: 1;
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

.index-page .home-services-section .service-card.is-hidden {
    z-index: 1;
    opacity: 1;
    pointer-events: auto;
    transform: scale(1);
}

.index-page .home-services-section .services-carousel-control {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    color: var(--primary-red);
    background: rgba(255, 255, 255, 0.84);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(65, 22, 15, 0.14);
    border-radius: 50%;
    box-shadow: 0 14px 30px rgba(37, 27, 27, 0.14);
    cursor: pointer;
    font-size: 32px;
    line-height: 1;
    transform: translateY(-50%);
    transition: var(--transition);
}

.index-page .home-services-section .services-carousel-control:hover,
.index-page .home-services-section .services-carousel-control:focus-visible {
    background: #fff;
    border-color: rgba(65, 22, 15, 0.24);
    box-shadow: 0 18px 36px rgba(37, 27, 27, 0.2);
}

.index-page .home-services-section .services-carousel-control:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.38);
    outline-offset: 3px;
}

.index-page .home-services-section .services-carousel-prev {
    left: 0;
}

.index-page .home-services-section .services-carousel-next {
    right: 0;
}

.index-page .home-services-section .service-card::after {
    right: -58px;
    bottom: -58px;
    width: 138px;
    height: 138px;
    background: rgba(65, 22, 15, 0.055);
}

.index-page .home-services-section .service-card.is-active:hover,
.index-page .home-services-section .service-card.is-active:focus-visible {
    border-color: rgba(65, 22, 15, 0.2);
    box-shadow: 0 26px 70px rgba(37, 27, 27, 0.14);
    transform: translateY(-6px) scale(1.06);
}

.index-page .home-services-section .service-card:hover::before,
.index-page .home-services-section .service-card:focus-visible::before {
    width: 82px;
}

.index-page .home-services-section .service-card-icon {
    width: 66px;
    height: 66px;
    margin-bottom: 24px;
    padding: 12px;
    background: rgba(65, 22, 15, 0.06);
    border-color: rgba(65, 22, 15, 0.1);
    border-radius: 20px;
}

.index-page .home-services-section .service-card h3 {
    color: var(--dark-gray);
    font-size: clamp(1.17rem, 1.55vw, 1.4rem);
    letter-spacing: -0.02em;
}

.index-page .home-services-section .service-card p {
    color: rgba(37, 27, 27, 0.68);
    font-size: 0.94rem;
}

.index-page .home-services-section .service-card > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary-red);
}

.index-page .home-services-section .service-card > span::after {
    content: "→";
    font-size: 1rem;
    line-height: 1;
    transition: var(--transition);
}

.index-page .home-services-section .service-card:hover > span::after,
.index-page .home-services-section .service-card:focus-visible > span::after {
    transform: translateX(4px);
}

.index-page .home-conversion-section {
    position: relative;
    padding: 0 0 clamp(88px, 10vw, 132px);
    overflow: hidden;
    background:
        linear-gradient(180deg, var(--white) 0%, #fff 100%);
}

.index-page .home-conversion-section .service-conversion-grid {
    gap: clamp(18px, 2.4vw, 30px);
}

.index-page .home-conversion-section .conversion-card {
    position: relative;
    min-height: clamp(330px, 31vw, 430px);
    padding: clamp(34px, 5vw, 64px);
    overflow: hidden;
    border-radius: 32px;
    box-shadow: 0 22px 60px rgba(37, 27, 27, 0.12);
    isolation: isolate;
}

.index-page .home-conversion-section .conversion-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
    background-size: 42px 42px;
    opacity: 0.72;
    mask-image: linear-gradient(135deg, rgba(0, 0, 0, 0.84), transparent 76%);
}

/* .index-page .home-conversion-section .conversion-card::after {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -100px;
    z-index: -1;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.18);
    transition: var(--transition);
} */

.index-page .home-conversion-section .conversion-card:hover::after {
    transform: scale(1.12);
}

.index-page .home-conversion-section .conversion-card-primary {
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(206, 99, 99, 0.32), transparent 32%),
        linear-gradient(135deg, #251b1b 0%, var(--primary-red) 58%, #2a0f0a 100%);
}

.index-page .home-conversion-section .conversion-card-secondary {
    color: var(--dark-gray);
    background:
        radial-gradient(circle at 90% 10%, rgba(206, 99, 99, 0.16), transparent 34%),
        linear-gradient(135deg, #fff 0%, var(--white) 100%);
    border: 1px solid rgba(65, 22, 15, 0.1);
}

.index-page .home-conversion-section .conversion-card-secondary::before {
    background-image:
        linear-gradient(rgba(65, 22, 15, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(65, 22, 15, 0.045) 1px, transparent 1px);
}

.index-page .home-conversion-section .conversion-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 18px;
    color: #f2abab;
}

.index-page .home-conversion-section .conversion-label::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 6px rgba(206, 99, 99, 0.12);
}

.index-page .home-conversion-section .conversion-card-secondary .conversion-label {
    color: var(--primary-red-light);
}

.index-page .home-conversion-section .conversion-card h2 {
    max-width: 600px;
    margin-bottom: 34px;
    font-size: clamp(2rem, 3.4vw, 3.35rem);
    line-height: 1.04;
    letter-spacing: -0.05em;
    text-wrap: balance;
}

.index-page .home-conversion-section .conversion-button {
    min-height: 52px;
    padding: 14px 24px;
    border-radius: 999px;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.16);
}

.index-page .home-conversion-section .conversion-card-primary .conversion-button {
    color: var(--primary-red);
    background: #fff;
    border-color: #fff;
}

.index-page .home-conversion-section .conversion-card-secondary .conversion-button {
    color: #fff;
    background: var(--primary-red);
    border-color: var(--primary-red);
}

.index-page .home-conversion-section .conversion-button:hover,
.index-page .home-conversion-section .conversion-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 22px 44px rgba(37, 27, 27, 0.22);
}

.index-page .home-segments-section {
    position: relative;
    padding: clamp(88px, 9vw, 128px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 8%, rgba(206, 99, 99, 0.14), transparent 28%),
        linear-gradient(180deg, #fff 0%, var(--white) 100%);
}

.index-page .home-segments-section .container {
    position: relative;
    z-index: 1;
}

.index-page .home-segments-section .section-header {
    max-width: 780px;
    margin: 0 auto clamp(38px, 5vw, 60px);
    text-align: center;
}

.index-page .home-segments-section .section-label {
    color: var(--primary-red-light);
}

.index-page .home-segments-section .section-header h2 {
    color: var(--dark-gray);
    font-size: clamp(2.25rem, 4.6vw, 4rem);
    line-height: 1.03;
    letter-spacing: -0.055em;
}

.index-page .home-segments-section .home-segments-copy {
    max-width: 500px;
    margin: 18px auto 0;
    color: rgba(33, 24, 22, 0.72);
    font-size: clamp(1rem, 1.6vw, 1.15rem);
    font-weight: 500;
    line-height: 1.65;
}

.index-page .home-segments-section .header-line {
    margin: 20px auto 0;
}

.index-page .home-segments-section .segments-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 28px);
    margin-top: 0;
}

.index-page .home-segments-section .segment-button {
    position: relative;
    min-height: 260px;
    flex: initial;
    padding: clamp(30px, 4vw, 44px) 28px;
    overflow: hidden;
    color: var(--dark-gray);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9)),
        radial-gradient(circle at 50% 0%, rgba(206, 99, 99, 0.14), transparent 42%);
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 28px;
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.08);
    font-size: clamp(1.15rem, 1.8vw, 1.45rem);
    isolation: isolate;
}

.index-page .home-segments-section .segment-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: 32px;
    width: 46px;
    height: 3px;
    border-radius: 0 0 999px 999px;
    background: var(--primary-red-light);
    transition: var(--transition);
}

.index-page .home-segments-section .segment-button::after {
    content: "Conhecer segmento →";
    position: relative;
    z-index: 1;
    display: inline-flex;
    margin-top: 4px;
    color: var(--primary-red);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: var(--transition);
}

.index-page .home-segments-section .segment-button img {
    position: relative;
    z-index: 1;
    width: 82px;
    height: 82px;
    padding: 14px;
    background: rgba(65, 22, 15, 0.06);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 22px;
}

.index-page .home-segments-section .segment-button span {
    position: relative;
    z-index: 1;
}

.index-page .home-segments-section .segment-button:hover,
.index-page .home-segments-section .segment-button:focus-visible {
    color: var(--dark-gray);
    background:
        linear-gradient(180deg, #fff, var(--white)),
        radial-gradient(circle at 50% 0%, rgba(206, 99, 99, 0.18), transparent 42%);
    border-color: rgba(65, 22, 15, 0.2);
    box-shadow: 0 26px 70px rgba(37, 27, 27, 0.14);
    transform: translateY(-6px);
}

.index-page .home-segments-section .segment-button:hover::before,
.index-page .home-segments-section .segment-button:focus-visible::before {
    width: 88px;
}

.index-page .home-segments-section .segment-button:hover::after,
.index-page .home-segments-section .segment-button:focus-visible::after {
    transform: translateX(4px);
}

.index-page .home-plans-cta {
    position: relative;
    padding: clamp(88px, 10vw, 128px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 0%, rgba(206, 99, 99, 0.28), transparent 32%),
        radial-gradient(circle at 92% 20%, rgba(206, 99, 99, 0.18), transparent 34%),
        linear-gradient(135deg, #251b1b 0%, var(--primary-red) 58%, #170b08 100%);
    isolation: isolate;
}

.index-page .home-plans-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.09) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 75%, transparent);
    pointer-events: none;
}

.index-page .home-plans-cta .cta-digital-content {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.72fr);
    gap: clamp(28px, 6vw, 72px);
    align-items: center;
}

.index-page .home-plans-cta .cta-text {
    flex: initial;
}

.index-page .home-plans-cta .cta-text h2 {
    max-width: 600px;
    color: #fff;
    font-size: clamp(2.3rem, 5vw, 4.5rem);
    line-height: 1.02;
    letter-spacing: -0.055em;
    text-wrap: pretty;
}

.index-page .home-plans-cta .cta-text p {
    max-width: 400px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.78;
}

.index-page .home-plans-cta .cta-text .cta-button {
    display: none;
}

.index-page .home-plans-card {
    position: relative;
    width: 100%;
    max-width: 430px;
    justify-self: center;
    padding: clamp(28px, 4vw, 42px);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 26px 70px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.index-page .home-plans-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 34px;
    width: 58px;
    height: 3px;
    border-radius: 0 0 999px 999px;
    background: var(--primary-red-light);
}

.index-page .home-plans-card-label {
    display: inline-flex;
    margin-bottom: 16px;
    color: #f2abab;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.index-page .home-plans-card h3 {
    margin: 0 0 14px;
    color: #fff;
    font-size: clamp(1.6rem, 2.4vw, 2.25rem);
    line-height: 1.1;
    letter-spacing: -0.04em;
}

.index-page .home-plans-card p {
    margin: 0 0 26px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.98rem;
    line-height: 1.68;
}

.index-page .home-plans-card-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    padding: 14px 24px;
    border: 1px solid #fff;
    border-radius: 999px;
    background: #fff;
    color: var(--primary-red);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.2);
    transition: var(--transition);
}

.index-page .home-plans-card-button:hover,
.index-page .home-plans-card-button:focus-visible {
    background: var(--primary-red-light);
    border-color: var(--primary-red-light);
    color: #fff;
    transform: translateY(-2px);
}

.index-page .home-plans-card-button:hover::after,
.index-page .home-plans-card-button:focus-visible::after {
    transform: translateX(4px);
}

.index-page .home-final-cta {
    position: relative;
    padding: clamp(86px, 10vw, 126px) 0;
    overflow: hidden;
    text-align: center;
    background:
        radial-gradient(circle at 12% 0%, rgba(206, 99, 99, 0.24), transparent 30%),
        radial-gradient(circle at 88% 12%, rgba(206, 99, 99, 0.16), transparent 34%),
        linear-gradient(135deg, #251b1b 0%, #170b08 100%);
    isolation: isolate;
}

.index-page .home-final-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.09) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 75%, transparent);
    pointer-events: none;
}

.index-page .home-final-cta .cta-content {
    max-width: 860px;
}

.index-page .home-final-cta .cta-content h2 {
    margin-bottom: 70px;
    color: #fff;
    font-size: clamp(2.25rem, 5vw, 4.35rem);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.index-page .home-final-cta .cta-content p {
    max-width: 680px;
    margin: 0 auto 34px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.78;
}

.index-page .home-final-cta .cta-button-red {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* min-height: 1000px; */
    padding: 35px 45px;
    border: 1px solid #fff;
    border-radius: 999px;
    background: #fff;
    color: var(--primary-red);
    font-weight: 900;
    letter-spacing: 0;
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.24);
    font-size: 25px;
}

.index-page .home-final-cta::after {
    content: "→";
    margin-left: 10px;
    font-size: 1rem;
    transition: var(--transition);
}

.index-page .home-final-cta .cta-button-red:hover,
.index-page .home-final-cta .cta-button-red:focus-visible {
    border-color: var(--primary-red);
    background: var(--primary-red);
    color: #fff;
    transform: translateY(-2px);
}

.index-page .home-final-cta .cta-button-red:hover::after,
.index-page .home-final-cta .cta-button-red:focus-visible::after {
    transform: translateX(4px);
}

.index-page .home-time-section {
    position: relative;
    padding: clamp(88px, 10vw, 132px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 18%, rgba(206, 99, 99, 0.13), transparent 30%),
        linear-gradient(180deg, #fff 0%, var(--white) 100%);
}

.index-page .home-time-section .time-saving-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr);
    gap: clamp(44px, 7vw, 92px);
    align-items: center;
}

.index-page .home-time-section .time-saving-text {
    animation: none;
}

.index-page .home-time-section .section-label {
    color: var(--primary-red-light);
}

.index-page .home-time-section .time-saving-text h2 {
    max-width: 680px;
    margin-bottom: 24px;
    color: var(--dark-gray);
    font-size: clamp(2.35rem, 4.8vw, 4.25rem);
    font-weight: 800;
    line-height: 1.03;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.index-page .home-time-section .time-saving-text p {
    max-width: 660px;
    color: rgba(37, 27, 27, 0.72);
    font-size: 1.03rem;
    line-height: 1.82;
    text-align: left;
}

.index-page .home-time-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.index-page .home-time-highlights span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid rgba(65, 22, 15, 0.12);
    border-radius: 999px;
    background: #fff;
    color: var(--primary-red);
    font-size: 0.78rem;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(37, 27, 27, 0.06);
}

.index-page .home-time-highlights span::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--primary-red-light);
}

.index-page .home-time-section .time-saving-img {
    position: relative;
    display: flex;
    justify-content: center;
    padding: clamp(18px, 3vw, 28px);
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 34px;
    background:
        radial-gradient(circle at 18% 0%, rgba(206, 99, 99, 0.15), transparent 34%),
        rgba(255, 255, 255, 0.86);
    box-shadow: 0 26px 70px rgba(37, 27, 27, 0.12);
}

.index-page .home-time-section .time-saving-img::before {
    content: "";
    position: absolute;
    inset: 28px -18px -20px 28px;
    z-index: -1;
    border-radius: 34px;
    background: rgba(65, 22, 15, 0.065);
}

.index-page .home-time-section .time-saving-img img {
    width: 100%;
    max-width: 520px;
    border-radius: 26px;
    object-fit: contain;
    filter: drop-shadow(0 22px 30px rgba(37, 27, 27, 0.12));
}

.index-page .home-audience-section {
    position: relative;
    padding: clamp(88px, 10vw, 132px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 12%, rgba(206, 99, 99, 0.14), transparent 30%),
        linear-gradient(180deg, var(--white) 0%, #fff 100%);
}

.index-page .home-audience-section .container {
    position: relative;
    z-index: 1;
}

.index-page .home-audience-section .section-header {
    max-width: 780px;
    margin: 0 auto clamp(38px, 5vw, 60px);
    text-align: center;
}

.index-page .home-audience-section .section-label {
    color: var(--primary-red-light);
}

.index-page .home-audience-section .section-header h2 {
    color: var(--dark-gray);
    font-size: clamp(2.25rem, 4.6vw, 4rem);
    line-height: 1.03;
    letter-spacing: -0.055em;
}

.index-page .home-audience-section .home-audience-copy {
    max-width: 650px;
    margin: 18px auto 0;
    color: rgba(33, 24, 22, 0.72);
    font-size: clamp(1rem, 1.6vw, 1.15rem);
    font-weight: 500;
    line-height: 1.65;
}

.index-page .home-audience-section .header-line {
    margin: 20px auto 0;
}

.index-page .home-audience-section .serve-slider-container {
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.88)),
        radial-gradient(circle at 90% 0%, rgba(206, 99, 99, 0.14), transparent 38%);
    box-shadow: 0 26px 70px rgba(37, 27, 27, 0.12);
}

.index-page .home-audience-section .serve-slide {
    min-height: 430px;
    gap: clamp(32px, 6vw, 82px);
    padding: clamp(34px, 6vw, 74px) clamp(34px, 7vw, 88px);
}

.index-page .home-audience-section .serve-slide-text {
    position: relative;
}

.index-page .home-audience-section .serve-slide-text::before {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    margin-bottom: 22px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.index-page .home-audience-section .serve-slide-text h3 {
    color: var(--dark-gray);
    font-size: clamp(1.85rem, 3.2vw, 3rem);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -0.045em;
}

.index-page .home-audience-section .serve-slide-text p {
    max-width: 560px;
    color: rgba(37, 27, 27, 0.7);
    font-size: 1rem;
    line-height: 1.78;
}

.index-page .home-audience-section .serve-slide-img {
    position: relative;
    min-height: 280px;
    padding: clamp(16px, 3vw, 28px);
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 28px;
    background: rgba(248, 249, 250, 0.8);
}

.index-page .home-audience-section .serve-slide-img img {
    max-height: 360px;
    border-radius: 22px;
    object-fit: contain;
    filter: drop-shadow(0 20px 30px rgba(37, 27, 27, 0.1));
}

.index-page .home-audience-section .slider-arrow {
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(65, 22, 15, 0.12);
    background: rgba(255, 255, 255, 0.92);
    color: var(--primary-red);
    box-shadow: 0 14px 34px rgba(37, 27, 27, 0.12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.index-page .home-audience-section .slider-arrow:hover,
.index-page .home-audience-section .slider-arrow:focus-visible {
    background: var(--primary-red);
    border-color: var(--primary-red);
    color: #fff;
}

.index-page .home-audience-section .serve-slider-container .slider-arrow.prev {
    left: 18px;
}

.index-page .home-audience-section .serve-slider-container .slider-arrow.next {
    right: 18px;
}

.index-page .home-audience-section .serve-action {
    margin-top: 36px;
}

.index-page .home-audience-section .serve-action .cta-button-red {
    min-height: 52px;
    padding: 14px 26px;
    border-radius: 999px;
}

.index-page .hero-home .hero-title {
    max-width: 780px;
    margin: 0;
    color: var(--white);
    font-size: clamp(2.45rem, 5vw, 4.8rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.index-page :is(
    .home-proof-section .section-header h2,
    .home-about-copy h2,
    .home-services-section .section-header h2,
    .home-conversion-section .conversion-card h2,
    .home-segments-section .section-header h2,
    .home-time-section .time-saving-text h2,
    .home-audience-section .section-header h2
) {
    margin-top: 0;
    color: var(--primary-red-dark);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.index-page :is(
    .home-plans-cta .cta-text h2,
    .home-final-cta .cta-content h2
) {
    margin-top: 0;
    color: var(--white);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.index-page :is(
    .home-proof-section .feature-item h3,
    .home-services-section .service-card h3,
    .home-audience-section .serve-slide-text h3
) {
    color: var(--dark-gray);
    font-size: 1.16rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0;
}

.index-page .home-conversion-section .conversion-card-primary h2,
.index-page .home-plans-cta .cta-price.home-plans-card h3 {
    color: var(--white);
}

.index-page .footer {
    position: relative;
    padding-top: clamp(78px, 9vw, 112px);
    padding-bottom: 112px;
    background:
        radial-gradient(circle at 9% 0%, rgba(206, 99, 99, 0.15), transparent 27%),
        linear-gradient(145deg, #251b1b, #150a08);
    border-top: 0;
}

.index-page .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

.index-page .footer-content {
    display: grid;
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
    gap: 40px;
    text-align: left;
}

.index-page .home-footer-intro {
    padding-right: clamp(0px, 3vw, 42px);
}

.index-page .home-footer-tagline {
    max-width: 345px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    font-weight: 600;
    line-height: 1.58;
}

.index-page .home-footer-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.index-page .home-footer-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.index-page .footer-section a[aria-current="page"] {
    color: #f2abab;
}

.index-page .footer-section a[aria-current="page"]::before {
    width: 12px;
    background: var(--primary-red-light);
}

.index-page .social-links {
    justify-content: flex-start;
}

.index-page .social-links .social-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(248, 249, 250, 0.2);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.65;
}

.index-page .social-links .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.index-page .social-links .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.index-page .social-links .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.index-page .footer-bottom {
    color: rgba(255, 255, 255, 0.48);
}

.index-page .fixed-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 800px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.index-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.index-page .fixed-whatsapp-bar p strong {
    color: var(--primary-red);
}

.index-page .index-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(37, 211, 102, 0.12);
}

.index-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.index-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.index-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    background: var(--dark-green);
    border-color: var(--dark-green);
    transform: translateY(-2px);
}

.index-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(76, 175, 80, 0.25);
    outline-offset: 3px;
}

@media (max-width: 900px) {
    .index-page .navbar-container {
        min-height: 68px;
    }

    .index-page .logo-icon {
        height: 40px;
    }

    .index-page .dropdown > button.nav-link {
        width: 100%;
        padding: 14px 16px;
        text-align: left;
    }

    .index-page .hero-home {
        min-height: auto;
        padding: 118px 0 92px;
        background-image:
            linear-gradient(180deg, rgba(37, 27, 27, 0.88) 0%, rgba(65, 22, 15, 0.7) 52%, rgba(37, 27, 27, 0.72) 100%),
            var(--hero-image);
        background-position: center;
    }

    .index-page .hero-home .hero-copy {
        max-width: 100%;
    }

    .index-page .home-proof-section {
        margin-top: 0;
        padding-top: 0;
    }

    .index-page .home-proof-section .features-grid {
        grid-template-columns: 1fr;
    }

    .index-page .home-proof-section .feature-item:last-child {
        grid-column: auto;
    }

    .index-page .home-about-grid {
        grid-template-columns: 1fr;
    }

    .index-page .home-about-copy {
        max-width: 100%;
    }

    .index-page .home-about-media {
        min-height: auto;
    }

    .index-page .home-about-media img {
        height: min(72vw, 520px);
        min-height: 360px;
    }

    .index-page .home-about-authority {
        right: 18px;
    }

    .index-page .home-conversion-section .service-conversion-grid {
        grid-template-columns: 1fr;
    }

    .index-page .home-segments-section .segments-grid {
        grid-template-columns: 1fr;
    }

    .index-page .home-plans-cta .cta-digital-content {
        grid-template-columns: 1fr;
    }

    .index-page .home-plans-card {
        max-width: none;
        justify-self: stretch;
    }

    .index-page .home-time-section .time-saving-content {
        grid-template-columns: 1fr;
    }

    .index-page .home-audience-section .serve-slide {
        flex-direction: column;
        align-items: stretch;
    }

    .index-page .home-audience-section .serve-slide-text,
    .index-page .home-audience-section .serve-slide-img {
        flex: initial;
    }

    .index-page .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .index-page .home-footer-intro {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    .index-page .hero-home {
        padding: 104px 0 82px;
    }

    .index-page .hero-home .hero-title {
        font-size: clamp(2.45rem, 13vw, 4rem);
    }

    .index-page .hero-home .hero-buttons .cta-button-red {
        width: 100%;
    }

    .index-page .home-proof-section {
        padding-bottom: 72px;
    }

    .index-page .home-proof-section .section-header {
        padding-inline: 0;
        margin-bottom: 24px;
        text-align: left;
    }

    .index-page .home-proof-section .home-section-label {
        justify-content: flex-start;
    }

    .index-page .home-proof-section .header-line {
        margin-left: 0;
    }

    .index-page .home-proof-section .features-grid {
        padding: 0;
        border: 0;
    }

    .index-page .home-about {
        padding: 76px 0;
    }

    .index-page .home-about-grid {
        gap: 38px;
    }

    .index-page .home-about-media::before {
        display: none;
    }

    .index-page .home-about-media img {
        height: auto;
        min-height: 0;
        max-height: 420px;
    }

    .index-page .home-about-authority {
        position: relative;
        right: auto;
        bottom: auto;
        max-width: none;
        margin: -42px 18px 0;
    }

    .index-page .home-about-copy h2 {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .index-page .home-about-actions a {
        width: 100%;
    }

    .index-page .home-services-section {
        padding: 76px 0;
    }

    .index-page .home-services-section .section-header {
        text-align: left;
    }

    .index-page .home-services-section .header-line {
        margin-left: 0;
    }

    .index-page .home-services-section .service-card {
        min-height: auto;
    }

    .index-page .home-services-section .services-carousel {
        padding: 0 48px;
    }

    .index-page .home-services-section .service-card {
        flex-basis: min(82vw, 340px);
    }

    .index-page .home-conversion-section {
        padding-bottom: 76px;
    }

    .index-page .home-conversion-section .conversion-card {
        min-height: auto;
        padding: 32px 24px;
        border-radius: 26px;
    }

    .index-page .home-conversion-section .conversion-card h2 {
        font-size: clamp(1.9rem, 9vw, 2.65rem);
    }

    .index-page .home-conversion-section .conversion-button {
        width: 100%;
    }

    .index-page .home-segments-section {
        padding: 76px 0;
    }

    .index-page .home-segments-section .section-header {
        text-align: left;
    }

    .index-page .home-segments-section .home-segments-copy {
        margin-left: 0;
        margin-right: 0;
    }

    .index-page .home-segments-section .header-line {
        margin-left: 0;
    }

    .index-page .home-segments-section .segment-button {
        min-height: 220px;
    }

    .index-page .home-plans-cta {
        padding: 76px 0;
    }

    .index-page .home-plans-card {
        border-radius: 26px;
    }

    .index-page .home-final-cta {
        padding: 76px 0;
    }

    .index-page .home-final-cta .cta-button-red {
        width: 100%;
    }

    .index-page .home-time-section {
        padding: 76px 0;
    }

    .index-page .home-time-section .time-saving-content {
        gap: 36px;
    }

    .index-page .home-time-section .time-saving-text h2 {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .index-page .home-time-section .time-saving-img {
        padding: 16px;
        border-radius: 26px;
    }

    .index-page .home-time-section .time-saving-img::before {
        display: none;
    }

    .index-page .home-time-section .time-saving-img img {
        border-radius: 20px;
    }

    .index-page .home-audience-section {
        padding: 76px 0;
    }

    .index-page .home-audience-section .section-header {
        text-align: left;
    }

    .index-page .home-audience-section .home-audience-copy {
        margin-left: 0;
        margin-right: 0;
    }

    .index-page .home-audience-section .header-line {
        margin-left: 0;
    }

    .index-page .home-audience-section .serve-slider-container {
        border-radius: 26px;
    }

    .index-page .home-audience-section .serve-slide {
        min-height: auto;
        padding: 32px 24px 82px;
    }

    .index-page .home-audience-section .serve-slide-img {
        min-height: auto;
        border-radius: 22px;
    }

    .index-page .home-audience-section .serve-slider-container .slider-arrow.prev {
        left: 24px;
    }

    .index-page .home-audience-section .serve-slider-container .slider-arrow.next {
        right: 24px;
    }

    .index-page .home-audience-section .slider-arrow {
        top: auto;
        bottom: 20px;
        transform: none;
    }

    .index-page .home-audience-section .serve-action .cta-button-red {
        width: 100%;
    }

    .index-page .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .index-page .home-footer-intro {
        grid-column: 1 / -1;
    }

    .index-page .fixed-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    .index-page .fixed-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    .index-page .fixed-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 540px) {
    .index-page .container {
        padding-inline: 18px;
    }

    .index-page .hero-home {
        padding: 96px 0 72px;
    }

    .index-page .hero-home .hero-title,
    .index-page .home-about-copy h2,
    .index-page .home-services-section .section-header h2,
    .index-page .home-segments-section .section-header h2,
    .index-page .home-plans-cta .cta-text h2,
    .index-page .home-final-cta .cta-content h2,
    .index-page .home-time-section .time-saving-text h2,
    .index-page .home-audience-section .section-header h2 {
        letter-spacing: -0.045em;
    }

    .index-page .home-proof-section .feature-item,
    .index-page .home-services-section .service-card,
    .index-page .home-segments-section .segment-button,
    .index-page .home-plans-card {
        padding: 24px 20px;
        border-radius: 22px;
    }

    .index-page .home-services-section .services-carousel {
        padding: 0 38px;
    }

    .index-page .home-services-section .services-grid {
        min-height: 330px;
    }

    .index-page .home-services-section .services-carousel-control {
        width: 40px;
        height: 40px;
        font-size: 27px;
    }

    .index-page .home-time-highlights span {
        width: 100%;
        justify-content: flex-start;
    }

    .index-page .home-audience-section .slider-arrow {
        width: 42px;
        height: 42px;
    }

    .index-page .footer {
        padding-bottom: 96px;
    }

    .index-page .footer-content {
        grid-template-columns: 1fr;
    }

    .index-page .fixed-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    .index-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    .index-page .container {
        padding-inline: 14px;
    }

    .index-page .hero-home .hero-title {
        font-size: clamp(2.15rem, 14vw, 2.75rem);
    }

    .index-page .hero-home .hero-text,
    .index-page .home-plans-cta .cta-text p,
    .index-page .home-final-cta .cta-content p,
    .index-page .home-time-section .time-saving-text p,
    .index-page .home-audience-section .serve-slide-text p {
        font-size: 0.95rem;
    }

    .index-page .home-about-authority {
        margin-inline: 10px;
    }

    .index-page .home-plans-card-button,
    .index-page .home-final-cta .cta-button-red,
    .index-page .home-audience-section .serve-action .cta-button-red {
        padding-inline: 16px;
        font-size: 0.74rem;
    }

    .index-page .fixed-whatsapp-bar p {
        display: none;
    }

    .index-page .fixed-whatsapp-bar {
        right: 10px;
        left: auto;
        width: auto;
        transform: none;
    }

    .index-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .index-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        transition: none;
    }

    .index-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
    .index-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
        transform: none;
    }
}

/* =======================================
   QUEM SOMOS — PREPARAÇÃO DO REDESIGN
   ======================================= */

.about-page {
    background: #ffffff;
    color: var(--dark-gray);
    overflow-x: clip;
}

.about-page #about-main-content:focus {
    outline: none;
}

.about-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(248, 249, 250, 0.93);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.about-page .navbar-container {
    min-height: 74px;
}

.about-page .logo-icon {
    height: 44px;
}

.about-page .nav-menu {
    gap: clamp(16px, 1.8vw, 28px);
}

.about-page .dropdown > button.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--dark-gray);
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: inherit;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    cursor: pointer;
}

.about-page .nav-menu > li > .nav-link[aria-current="page"] {
    color: var(--primary-red-dark);
    font-weight: 800;
}

.about-page .nav-menu > li > .nav-link[aria-current="page"]::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    margin-top: 6px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.about-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

.about-page .about-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: clamp(640px, calc(100svh - 74px), 820px);
    padding: clamp(112px, 13vw, 164px) 0 clamp(88px, 10vw, 128px);
    overflow: hidden;
    background-image: url('../resources/Imagens/quem_somos_ed.jpg');
    background-size: cover;
    background-position: center 58%;
    background-repeat: no-repeat;
    isolation: isolate;
}

.about-page .about-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.76), transparent 82%);
    pointer-events: none;
}

.about-page .about-hero > .container {
    position: relative;
    z-index: 2;
    display: block;
}

.about-page .about-hero .hero-content-centered {
    max-width: 760px;
    margin: 0;
    text-align: left;
    animation: none;
}

.about-page .about-hero::before {
    content: "";
    display: block;
    width: 58px;
    height: 4px;
    margin-bottom: 22px;
    border-radius: 999px;
    background: var(--primary-red-light);
    box-shadow: 0 0 26px rgba(206, 99, 99, 0.36);
}

.about-page .about-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: #f2abab;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.about-page .about-hero .hero-title {
    max-width: 720px;
    margin: 0;
    color: #fff;
    font-size: 60px;
    line-height: 66px;
    letter-spacing: 0;
    text-align: left;
    text-shadow: none;
}

.about-page .about-hero .hero-text {
    max-width: 620px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(1rem, 1.45vw, 1.22rem);
    line-height: 1.78;
    text-shadow: none;
}

.about-page .about-story-section {
    position: relative;
    padding: clamp(88px, 10vw, 132px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 9% 16%, rgba(206, 99, 99, 0.13), transparent 28%),
        linear-gradient(180deg, #fff 0%, var(--white) 100%);
}

.about-page .about-story-section .about-content {
    position: relative;
    z-index: 1;
    align-items: stretch;
}

.about-page .about-story-section .about-intro {
    width: 100%;
    grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(48px, 7vw, 96px);
    align-items: center;
}

.about-page .about-story-section #about-story-title {
    max-width: 920px;
    margin: 0 auto clamp(42px, 6vw, 72px);
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
    text-align: center;
    text-wrap: balance;
}

.about-page .about-story-section .intro-img {
    position: relative;
    min-height: clamp(460px, 48vw, 620px);
}

.about-page .about-story-section .intro-img::before {
    content: "";
    position: absolute;
    inset: 34px -24px -28px 34px;
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 34px;
    background:
        linear-gradient(135deg, rgba(65, 22, 15, 0.1), rgba(206, 99, 99, 0.08));
}

.about-page .about-story-section .intro-img img {
    position: relative;
    z-index: 1;
    height: clamp(460px, 48vw, 620px);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 32px;
    box-shadow: 0 28px 70px rgba(37, 27, 27, 0.18);
}

.about-page .about-story-section .about-authority {
    right: clamp(-18px, -2vw, -26px);
    bottom: clamp(24px, 4vw, 42px);
    max-width: 290px;
    padding: 22px 24px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 52px rgba(37, 27, 27, 0.16);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.about-page .about-story-section .about-authority strong {
    color: var(--primary-red);
    font-size: 1.25rem;
    letter-spacing: -0.03em;
}

.about-page .about-story-section .about-authority span {
    color: rgba(37, 27, 27, 0.68);
    font-weight: 600;
}

.about-page .about-story-section .intro-text {
    max-width: 700px;
    text-align: right;
}

.about-page .about-story-section .intro-text .section-label {
    color: var(--primary-red-light);
}

.about-page .about-story-section .intro-text p {
    color: rgba(37, 27, 27, 0.72);
    font-size: 1.01rem;
    line-height: 1.82;
    text-align: justify;
}

.about-page .about-story-section .institutional-chips {
    margin-top: 30px;
    gap: 12px;
}

.about-page .about-story-section .institutional-chips li {
    padding: 10px 14px;
    background: #fff;
    border-color: rgba(65, 22, 15, 0.12);
    box-shadow: 0 10px 24px rgba(37, 27, 27, 0.06);
}

.about-page .about-story-section .about-content > .cta-button-red {
    display: inline-flex;
    justify-content: center;
    align-self: center;
    min-height: 52px;
    margin-top: 44px;
    padding: 14px 26px;
    border-radius: 999px;
}

.about-page .about-founder-section {
    position: relative;
    padding: clamp(88px, 10vw, 132px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 14%, rgba(206, 99, 99, 0.14), transparent 30%),
        linear-gradient(180deg, var(--white) 0%, #fff 100%);
}

.about-page .about-founder-section .founder-content {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: clamp(560px, 56vw, 700px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    align-items: stretch;
}

.about-page .about-founder-section .founder-text {
    max-width: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(58px, 8vw, 100px) clamp(32px, 6vw, 86px);
    background:
        radial-gradient(circle at 10% 10%, rgba(206, 99, 99, 0.24), transparent 28%),
        linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    animation: none;
}

.about-page .about-founder-section .founder-text .section-label {
    color: rgba(248, 249, 250, 0.82);
}

.about-page .about-founder-section #about-founder-title {
    margin-bottom: 26px;
    color: var(--white);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
    text-wrap: balance;
}

.about-page .about-founder-section .founder-text p {
    max-width: 640px;
    color: rgba(248, 249, 250, 0.76);
    font-size: 1.01rem;
    line-height: 1.82;
    text-align: justify;
}

.about-page .about-founder-section .founder-credentials {
    max-width: 640px;
}

.about-page .about-founder-section .founder-img {
    position: relative;
    align-items: stretch;
    justify-content: stretch;
    min-height: 100%;
    padding: 0;
    overflow: hidden;
    background: var(--light-gray);
    animation: none;
}

.about-page .about-founder-section .founder-img img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center top;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.about-page .about-coordinators-section {
    position: relative;
    padding: clamp(88px, 10vw, 132px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 8%, rgba(206, 99, 99, 0.14), transparent 28%),
        linear-gradient(180deg, #fff 0%, var(--white) 100%);
    isolation: isolate;
}

.about-page .about-coordinators-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(65, 22, 15, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, rgba(65, 22, 15, 0.05) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 75%, transparent);
    pointer-events: none;
}

.about-page .about-coordinators-section .container {
    position: relative;
    z-index: 1;
}

.about-page .about-coordinators-section .section-header {
    max-width: 780px;
    margin: 0 auto clamp(38px, 5vw, 60px);
    text-align: center;
}

.about-page .about-coordinators-section .section-label {
    color: var(--primary-red-light);
}

.about-page .about-coordinators-section #about-coordinators-title {
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.about-page .about-coordinators-section .header-line {
    margin: 20px auto 0;
    background: var(--primary-red-light);
}

.about-page .about-coordinators-section .coordinators-grid {
    gap: clamp(18px, 2.4vw, 28px);
}

.about-page .about-coordinators-section .coordinator-card {
    position: relative;
    padding: 14px 14px 28px;
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9)),
        radial-gradient(circle at 50% 0%, rgba(206, 99, 99, 0.14), transparent 42%);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.08);
    animation: none;
}

.about-page .about-coordinators-section .coordinator-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 32px;
    width: 46px;
    height: 3px;
    border-radius: 0 0 999px 999px;
    background: var(--primary-red-light);
    transition: var(--transition);
}

.about-page .about-coordinators-section .coordinator-card:hover {
    border-color: rgba(65, 22, 15, 0.18);
    box-shadow: 0 26px 70px rgba(37, 27, 27, 0.14);
    transform: translateY(-6px);
}

.about-page .about-coordinators-section .coordinator-card:hover::before {
    width: 88px;
}

.about-page .about-coordinators-section .coordinator-img {
    height: clamp(280px, 28vw, 360px);
    margin: 0 0 24px;
    border-radius: 22px;
    filter: saturate(0.98) contrast(1.02);
}

.about-page .about-coordinators-section .coordinator-card h3 {
    margin: 0 18px 8px;
    color: var(--dark-gray);
    font-size: clamp(1.25rem, 1.8vw, 1.55rem);
    font-weight: 800;
    letter-spacing: -0.03em;
}

.about-page .about-coordinators-section .coordinator-card p {
    display: inline-flex;
    align-self: center;
    margin: 0;
    padding: 8px 12px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(65, 22, 15, 0.055);
    color: var(--primary-red);
    font-size: 0.72rem;
}

.about-page .about-mvv-section {
    position: relative;
    padding: clamp(88px, 10vw, 132px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 86% 8%, rgba(206, 99, 99, 0.13), transparent 30%),
        linear-gradient(180deg, var(--white) 0%, #fff 100%);
}

.about-page .about-mvv-section .container {
    position: relative;
    z-index: 1;
}

.about-page .about-mvv-section .section-header {
    max-width: 820px;
    margin: 0 auto clamp(38px, 5vw, 60px);
    text-align: center;
}

.about-page .about-mvv-section .section-label {
    color: var(--primary-red);
}

.about-page .about-mvv-section .section-header .section-label {
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.about-page .about-mvv-section .header-line {
    margin: 20px auto 0;
    background: var(--primary-red-light);
}

.about-page .about-mvv-section .mvv-grid {
    gap: clamp(18px, 2.4vw, 28px);
}

.about-page .about-mvv-section .mvv-card {
    min-height: 410px;
    padding: clamp(30px, 3vw, 38px);
    border: 1px solid rgba(65, 22, 15, 0.09);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9)),
        radial-gradient(circle at 18% 0%, rgba(206, 99, 99, 0.14), transparent 42%);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.08);
    animation: none;
}

.about-page .about-mvv-section .mvv-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 32px;
    width: 46px;
    height: 3px;
    border-radius: 0 0 999px 999px;
    background: var(--primary-red-light);
    transition: var(--transition);
}

.about-page .about-mvv-section .mvv-card:hover {
    border-color: rgba(65, 22, 15, 0.18);
    box-shadow: 0 26px 70px rgba(37, 27, 27, 0.14);
    transform: translateY(-6px);
}

.about-page .about-mvv-section .mvv-card:hover::before {
    width: 88px;
}

.about-page .about-mvv-section .mvv-icon {
    width: 74px;
    height: 74px;
    margin-bottom: 26px;
    background: rgba(65, 22, 15, 0.06);
    border-color: rgba(65, 22, 15, 0.1);
    border-radius: 20px;
}

.about-page .about-mvv-section .mvv-card h3 {
    color: var(--dark-gray);
    font-size: clamp(1.45rem, 2vw, 1.85rem);
    letter-spacing: -0.03em;
}

.about-page .about-mvv-section .mvv-card p {
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.96rem;
    text-align: justify;
}

.about-page .footer {
    position: relative;
    padding-top: clamp(78px, 9vw, 112px);
    padding-bottom: 112px;
    background:
        radial-gradient(circle at 9% 0%, rgba(206, 99, 99, 0.15), transparent 27%),
        linear-gradient(145deg, #251b1b, #150a08);
    border-top: 0;
}

.about-page .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

.about-page .footer-content {
    display: grid;
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
    gap: 40px;
    text-align: left;
}

.about-page .about-footer-intro {
    padding-right: clamp(0px, 3vw, 42px);
}

.about-page .about-footer-tagline {
    max-width: 345px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    font-weight: 600;
    line-height: 1.58;
}

.about-page .about-footer-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.about-page .about-footer-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.about-page .footer-section a[aria-current="page"] {
    color: #f2abab;
}

.about-page .footer-section a[aria-current="page"]::before {
    width: 12px;
    background: var(--primary-red-light);
}

.about-page .social-links {
    justify-content: flex-start;
}

.about-page .social-links .social-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(248, 249, 250, 0.2);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.65;
}

.about-page .social-links .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.about-page .social-links .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.about-page .social-links .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.about-page .footer-bottom {
    color: rgba(255, 255, 255, 0.48);
}

.about-page .fixed-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 800px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.about-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.about-page .fixed-whatsapp-bar p strong {
    color: var(--primary-red);
}

.about-page .about-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.13);
}

.about-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.about-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.about-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    border-color: var(--dark-green);
    background: var(--dark-green);
    transform: translateY(-2px);
}

.about-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(76, 175, 80, 0.25);
    outline-offset: 3px;
}

@media (max-width: 900px) {
    .about-page .navbar-container {
        min-height: 68px;
    }

    .about-page .logo-icon {
        height: 40px;
    }

    .about-page .dropdown > button.nav-link {
        width: 100%;
        padding: 14px 16px;
        text-align: left;
    }

    .about-page .nav-menu > li > .nav-link[aria-current="page"]::after {
        display: none;
    }

    .about-page .about-hero {
        min-height: auto;
        padding: 118px 0 92px;
        background-image: url('../resources/Imagens/quem_somos_ed.jpg');
        background-position: center;
    }

    .about-page .about-story-section .about-intro {
        grid-template-columns: 1fr;
    }

    .about-page .about-story-section .intro-img {
        min-height: auto;
    }

    .about-page .about-story-section .intro-img img {
        height: min(76vw, 560px);
        min-height: 380px;
    }

    .about-page .about-founder-section .founder-content {
        grid-template-columns: 1fr;
    }

    .about-page .about-founder-section .founder-img {
        min-height: auto;
    }

    .about-page .about-founder-section .founder-img img {
        height: min(76vw, 560px);
        min-height: 380px;
    }

    .about-page .about-coordinators-section .coordinators-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-page .about-coordinators-section .coordinator-card:last-child {
        grid-column: 1 / -1;
        max-width: 420px;
        justify-self: center;
    }

    .about-page .about-mvv-section .mvv-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-page .about-mvv-section .mvv-card:last-child {
        grid-column: 1 / -1;
        min-height: 320px;
    }

    .about-page .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .about-page .about-footer-intro {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    .about-page .about-hero {
        padding: 104px 0 82px;
    }

    .about-page .about-hero .hero-title {
        max-width: 100%;
        font-size: 38px;
        line-height: 43px;
        letter-spacing: 0;
    }

    .about-page .about-story-section {
        padding: 76px 0;
    }

    .about-page .about-story-section .about-intro {
        gap: 38px;
    }

    .about-page .about-story-section .intro-img::before {
        display: none;
    }

    .about-page .about-story-section .intro-img img {
        height: auto;
        min-height: 0;
        max-height: 400px;
    }

    .about-page .about-story-section .about-authority {
        position: relative;
        right: auto;
        bottom: auto;
        max-width: none;
        margin: -42px 18px 0;
    }

    .about-page .about-story-section #about-story-title {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .about-page .about-story-section .intro-text {
        text-align: left;
    }

    .about-page .about-story-section .intro-text p {
        text-align: justify;
    }

    .about-page .about-story-section .about-content > .cta-button-red {
        width: 100%;
    }

    .about-page .about-founder-section {
        padding: 76px 0;
    }

    .about-page .about-founder-section .founder-content {
        gap: 0;
        min-height: 0;
    }

    .about-page .about-founder-section .founder-text {
        padding: 54px 24px;
    }

    .about-page .about-founder-section #about-founder-title {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .about-page .about-founder-section .founder-img img {
        height: 100%;
        min-height: 0;
        aspect-ratio: 4 / 3;
        object-position: center top;
    }

    .about-page .about-founder-section .founder-credentials li {
        border-radius: 20px;
    }

    .about-page .about-coordinators-section {
        padding: 76px 0;
    }

    .about-page .about-coordinators-section .section-header {
        text-align: left;
    }

    .about-page .about-coordinators-section .header-line {
        margin-left: 0;
    }

    .about-page .about-coordinators-section .coordinators-grid {
        grid-template-columns: 1fr;
    }

    .about-page .about-coordinators-section .coordinator-card:last-child {
        grid-column: auto;
        max-width: none;
    }

    .about-page .about-coordinators-section .coordinator-img {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    .about-page .about-mvv-section {
        padding: 76px 0;
    }

    .about-page .about-mvv-section .section-header {
        text-align: left;
    }

    .about-page .about-mvv-section .header-line {
        margin-left: 0;
    }

    .about-page .about-mvv-section .mvv-grid {
        grid-template-columns: 1fr;
    }

    .about-page .about-mvv-section .mvv-card,
    .about-page .about-mvv-section .mvv-card:last-child {
        grid-column: auto;
        min-height: auto;
        padding: 28px 24px;
    }

    .about-page .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-page .about-footer-intro {
        grid-column: 1 / -1;
    }

    .about-page .fixed-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    .about-page .fixed-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    .about-page .fixed-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 540px) {
    .about-page .container {
        padding-inline: 18px;
    }

    .about-page .about-hero {
        padding: 96px 0 72px;
    }

    .about-page .about-hero .hero-title,
    .about-page .about-story-section #about-story-title,
    .about-page .about-founder-section #about-founder-title,
    .about-page .about-coordinators-section #about-coordinators-title,
    .about-page .about-mvv-section .section-header .section-label {
        letter-spacing: -0.045em;
    }

    .about-page .about-story-section .about-authority {
        margin-inline: 12px;
    }

    .about-page .about-founder-section .founder-credentials li {
        min-height: auto;
    }

    .about-page .about-coordinators-section .coordinator-card,
    .about-page .about-mvv-section .mvv-card {
        border-radius: 22px;
        padding: 24px 20px;
    }

    .about-page .footer {
        padding-bottom: 96px;
    }

    .about-page .footer-content {
        grid-template-columns: 1fr;
    }

    .about-page .fixed-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    .about-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    .about-page .container {
        padding-inline: 14px;
    }

    .about-page .about-hero .hero-title {
        max-width: 100%;
        font-size: 38px;
        line-height: 43px;
        letter-spacing: 0;
    }

    .about-page .about-hero .hero-text,
    .about-page .about-story-section .intro-text p,
    .about-page .about-founder-section .founder-text p,
    .about-page .about-mvv-section .mvv-card p {
        font-size: .95rem;
    }

    .about-page .about-story-section .about-authority {
        margin-inline: 10px;
    }

    .about-page .about-story-section .about-content > .cta-button-red {
        padding-inline: 16px;
        font-size: .74rem;
    }

    .about-page .fixed-whatsapp-bar p {
        display: none;
    }

    .about-page .fixed-whatsapp-bar {
        right: 10px;
        left: auto;
        width: auto;
        transform: none;
    }

    .about-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

/* Fiscal Page Redesign */
.tax-page {
    background: var(--white);
    color: var(--dark-gray);
}

.tax-page #tax-main-content:focus {
    outline: none;
}

.tax-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(248, 249, 250, 0.93);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.tax-page .navbar-container {
    min-height: 74px;
}

.tax-page .logo-icon {
    height: 44px;
}

.tax-page .nav-menu {
    gap: clamp(16px, 1.8vw, 28px);
}

.tax-page .dropdown > button.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--dark-gray);
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: inherit;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    cursor: pointer;
}

.tax-page .dropdown-menu .current-page {
    background: rgba(65, 22, 15, 0.1);
    color: var(--primary-red-dark);
    font-weight: 800;
}

.tax-page .dropdown-menu .current-page::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 9px;
    border-radius: 50%;
    background: var(--primary-red-light);
    vertical-align: 1px;
}

.tax-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

.tax-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: var(--primary-red-light);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.tax-section-label::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.tax-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 15px 22px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.tax-button-primary {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.11);
    color: var(--white);
    box-shadow: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.tax-button-primary:hover,
.tax-button-primary:focus-visible {
    border-color: var(--primary-red-light);
    background: var(--primary-red-dark);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: none;
}

.tax-button-secondary {
    border-color: rgba(248, 249, 250, 0.28);
    background: rgba(248, 249, 250, 0.08);
    color: var(--white);
}

.tax-button-secondary:hover {
    border-color: rgba(248, 249, 250, 0.72);
    background: rgba(248, 249, 250, 0.14);
    transform: translateY(-3px);
}

.tax-floating-card {
    position: absolute;
    z-index: 2;
    max-width: 220px;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(14px);
}

.tax-floating-card strong {
    display: block;
    color: var(--white);
    font-size: 1.05rem;
}

.tax-floating-card span {
    display: block;
    margin-top: 0.25rem;
    color: rgba(248, 249, 250, 0.7);
    font-size: 0.82rem;
    line-height: 1.45;
}

.tax-floating-card-top {
    top: 44px;
    right: -16px;
}

.tax-floating-card-bottom {
    bottom: 152px;
    left: -20px;
}

.tax-assurance-card {
    position: absolute;
    right: clamp(1rem, 4vw, 2.4rem);
    bottom: 32px;
    z-index: 3;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    width: min(360px, calc(100% - 2rem));
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(14px);
}

.tax-assurance-card > span {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 16px;
    background: rgba(206, 99, 99, 0.2);
    color: #f2abab;
    font-weight: 900;
}

.tax-assurance-card strong {
    color: var(--white);
    font-size: 0.95rem;
}

.tax-assurance-card p {
    margin: 0.35rem 0 0;
    color: rgba(248, 249, 250, 0.72);
    font-size: 0.88rem;
    line-height: 1.55;
}

.tax-expertise-strip {
    position: relative;
    z-index: 3;
    overflow: hidden;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    background: linear-gradient(90deg, var(--primary-red-dark), var(--primary-red), var(--primary-red-dark));
    box-shadow: 0 12px 30px rgba(37, 27, 27, 0.16);
}

.tax-expertise-track {
    width: min(100%, 1500px);
    margin: 0 auto;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--primary-red-light) transparent;
}

.tax-expertise-track ul {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: max-content;
    margin: 0;
    padding: 0 24px;
    list-style: none;
}

.tax-expertise-track li {
    position: relative;
    padding: 15px 24px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.tax-expertise-track li + li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--primary-red-light);
    transform: translate(-50%, -50%);
}

.tax-authority-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 0;
    background:
        radial-gradient(circle at 14% 0%, rgba(206, 99, 99, 0.2), transparent 32%),
        linear-gradient(135deg, var(--dark-gray), var(--primary-red-dark));
}

.tax-authority-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    pointer-events: none;
}

.tax-authority-section .container {
    position: relative;
    z-index: 1;
}

.tax-authority-heading {
    max-width: 820px;
    margin: 0 auto 2.4rem;
    text-align: center;
}

.tax-authority-heading .tax-section-label {
    justify-content: center;
    color: var(--primary-red-light);
}

.tax-authority-heading #tax-authority-title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.tax-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.tax-authority-card {
    position: relative;
    overflow: hidden;
    min-height: 180px;
    padding: 1.5rem;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.16);
    transition: var(--transition);
}

.tax-authority-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(248, 249, 250, 0.2));
}

.tax-authority-card:hover {
    border-color: rgba(206, 99, 99, 0.42);
    background: rgba(255, 255, 255, 0.11);
    transform: translateY(-6px);
}

.tax-authority-card strong {
    display: block;
    color: #fff;
    font-size: clamp(2rem, 3.7vw, 3rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

.tax-authority-card span {
    display: block;
    margin-top: 0.75rem;
    color: rgba(248, 249, 250, 0.76);
    font-weight: 600;
    line-height: 1.6;
}

.tax-trust-strip {
    position: relative;
    z-index: 2;
    overflow: hidden;
    padding: 88px 0;
    background:
        linear-gradient(90deg, rgba(229, 35, 38, 0.08) 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, rgba(229, 35, 38, 0.08) 100%),
        linear-gradient(180deg, #fff 0%, rgba(248, 249, 250, 0.98) 100%);
}

.tax-trust-strip .container {
    position: relative;
    z-index: 1;
}

.tax-trust-header {
    max-width: 760px;
    margin: 0 auto 40px;
    text-align: center;
}

.tax-trust-header .tax-section-label {
    justify-content: center;
}

.tax-trust-header #tax-trust-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
    text-align: center;
}

.tax-trust-header p {
    max-width: 760px;
    margin: 16px auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.tax-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.tax-trust-card {
    position: relative;
    overflow: hidden;
    min-height: 214px;
    padding: 24px 24px 24px 26px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-left: 4px solid var(--primary-red);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 16px 40px rgba(37, 27, 27, 0.08);
    transition: var(--transition);
}

.tax-trust-card::before {
    content: "";
    position: absolute;
    top: 22px;
    right: 22px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--primary-red);
    box-shadow: 0 0 0 6px rgba(229, 35, 38, 0.1);
}

.tax-trust-card:hover {
    transform: translateY(-4px);
    border-left-color: var(--primary-red-dark);
    box-shadow: 0 24px 52px rgba(37, 27, 27, 0.12);
}

.tax-trust-card:hover::after {
    transform: scale(1.18);
    background: rgba(206, 99, 99, 0.16);
}

.tax-trust-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
    color: var(--primary-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.tax-trust-card h3 {
    position: relative;
    z-index: 1;
    margin: 18px 0 10px;
    color: var(--dark-gray);
    font-size: 19px;
    line-height: 25px;
}

.tax-trust-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 24px;
}

.tax-process-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 86% 14%, rgba(206, 99, 99, 0.12), transparent 30%),
        linear-gradient(180deg, var(--white) 0%, #fff 100%);
}

.tax-process-section .container {
    position: relative;
    z-index: 1;
}

.tax-process-heading {
    max-width: 880px;
    margin: 0 auto 2.7rem;
    text-align: center;
}

.tax-process-heading .tax-section-label {
    justify-content: center;
}

.tax-process-heading #tax-process-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.tax-process-heading p {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.tax-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tax-process-grid::before {
    content: "";
    position: absolute;
    top: 34px;
    right: 9%;
    left: 9%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(65, 22, 15, 0.2), transparent);
}

.tax-process-step {
    position: relative;
    overflow: hidden;
    min-height: 270px;
    padding: 1.45rem;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.tax-process-step::after {
    content: "";
    position: absolute;
    inset: auto -46px -58px auto;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.1);
    transition: var(--transition);
}

.tax-process-step:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
}

.tax-process-step:hover::after {
    transform: scale(1.16);
    background: rgba(206, 99, 99, 0.16);
}

.tax-process-number {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--primary-red), var(--primary-red-dark));
    color: var(--white);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    box-shadow: 0 14px 34px rgba(65, 22, 15, 0.24);
}

.tax-process-step > div {
    position: relative;
    z-index: 1;
}

.tax-process-step h3 {
    margin: 1.2rem 0 0.65rem;
    color: var(--dark-gray);
    font-size: 1.12rem;
    line-height: 1.25;
}

.tax-process-step p {
    margin: 0;
    color: var(--medium-gray);
    line-height: 1.72;
}

.tax-page .tax-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 18% 18%, rgba(248, 249, 250, 0.12), transparent 28%),
        radial-gradient(circle at 88% 12%, rgba(206, 99, 99, 0.28), transparent 32%),
        linear-gradient(135deg, #171111 0%, var(--primary-red) 48%, var(--primary-red-dark) 100%);
    isolation: isolate;
}

.tax-page .tax-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.065) 1px, transparent 1px);
    background-size: 76px 76px;
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 75%, transparent);
    pointer-events: none;
}

.tax-page .tax-cta .container {
    position: relative;
    z-index: 1;
}

.tax-page .tax-cta .cta-red-content {
    max-width: 980px;
    padding: clamp(2rem, 5vw, 4rem);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.075);
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(16px);
}

.tax-cta-label {
    display: inline-flex;
    margin-bottom: 16px;
    color: #f2abab;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.tax-page .tax-cta .cta-red-content #tax-cta-title {
    max-width: 760px;
    margin-inline: auto;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.tax-page .tax-cta .cta-red-content p {
    color: rgba(248, 249, 250, 0.76);
}

.tax-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.85rem;
    margin-top: 1.5rem;
}

.tax-page .tax-cta .cta-button,
.tax-cta-secondary {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.tax-page .tax-cta .cta-button {
    border: 1px solid var(--white);
    background: var(--white);
    color: var(--primary-red);
}

.tax-cta-secondary {
    border: 1px solid rgba(248, 249, 250, 0.34);
    background: rgba(248, 249, 250, 0.08);
    color: var(--white);
}

.tax-page .tax-cta .cta-button:hover,
.tax-cta-secondary:hover {
    transform: translateY(-2px);
}

.tax-cta-secondary:hover {
    border-color: rgba(248, 249, 250, 0.72);
    background: rgba(248, 249, 250, 0.14);
}

.tax-cta-proof {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 1.6rem;
}

.tax-cta-proof span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(248, 249, 250, 0.76);
    font-size: 0.78rem;
    font-weight: 700;
}

.tax-page .tax-faq-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 12% 12%, rgba(206, 99, 99, 0.12), transparent 30%),
        linear-gradient(180deg, #fff 0%, var(--white) 100%);
}

.tax-page .tax-faq-section .container {
    position: relative;
    z-index: 1;
}

.tax-page .tax-faq-section .section-header {
    margin-bottom: 40px;
    text-align: center;
}

.tax-page .tax-faq-section .section-header .tax-section-label {
    justify-content: center;
}

.tax-page .tax-faq-section .section-header .header-line {
    display: none;
}

.tax-page .tax-faq-section .section-header #tax-faq-title {
    max-width: 820px;
    margin: 0 auto;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.tax-page .tax-faq-section .section-subtitle {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.tax-page .tax-faq-list {
    max-width: 920px;
    margin: 0 auto;
}

.tax-page .tax-faq-list .faq-item {
    overflow: hidden;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 46px rgba(37, 27, 27, 0.08);
    transition: var(--transition);
}

.tax-page .tax-faq-list .faq-item + .faq-item {
    margin-top: 0.85rem;
}

.tax-page .tax-faq-list .faq-item:hover,
.tax-page .tax-faq-list .faq-item.active {
    border-color: rgba(206, 99, 99, 0.32);
    box-shadow: var(--shadow);
}

.tax-page .tax-faq-list .faq-question {
    padding: 1.25rem 1.35rem;
    color: var(--dark-gray);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.tax-page .tax-faq-list .faq-question:hover,
.tax-page .tax-faq-list .faq-item.active .faq-question {
    color: var(--primary-red);
}

.tax-page .tax-faq-list .faq-icon {
    flex: 0 0 auto;
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.14);
    color: var(--primary-red);
    font-weight: 900;
}

.tax-page .tax-faq-list .faq-answer-content {
    padding: 0 1.35rem 1.35rem;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.78;
}

.tax-page .footer {
    position: relative;
    padding-top: clamp(78px, 9vw, 112px);
    padding-bottom: 112px;
    background:
        radial-gradient(circle at 9% 0%, rgba(206, 99, 99, 0.15), transparent 27%),
        linear-gradient(145deg, #251b1b, #150a08);
    border-top: 0;
}

.tax-page .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

.tax-page .footer-content {
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
}

.tax-page .tax-footer-intro {
    padding-right: clamp(0px, 3vw, 42px);
}

.tax-page .tax-footer-tagline {
    max-width: 345px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    font-weight: 600;
    line-height: 1.58;
}

.tax-page .tax-footer-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.tax-page .tax-footer-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.tax-page .footer-section a[aria-current="page"] {
    color: #f2abab;
}

.tax-page .footer-section a[aria-current="page"]::before {
    width: 12px;
    background: var(--primary-red-light);
}

.tax-page .social-links .social-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(248, 249, 250, 0.2);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.65;
}

.tax-page .social-links .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.tax-page .social-links .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.tax-page .social-links .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.tax-page .footer-bottom {
    color: rgba(255, 255, 255, 0.48);
}

.tax-page .fixed-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 800px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.tax-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.tax-page .fixed-whatsapp-bar p strong {
    color: var(--primary-red);
}

.tax-page .tax-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.13);
}

.tax-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.tax-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.tax-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    border-color: var(--dark-green);
    background: var(--dark-green);
    transform: translateY(-2px);
}

.tax-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(76, 175, 80, 0.25);
    outline-offset: 3px;
}

@media (max-width: 900px) {
    .tax-page .navbar-container {
        min-height: 68px;
    }

    .tax-page .logo-icon {
        height: 40px;
    }

    .tax-page .dropdown > button.nav-link {
        width: 100%;
        padding: 14px 16px;
        text-align: left;
    }

    .tax-expertise-track ul {
        justify-content: flex-start;
    }

    .tax-authority-grid,
    .tax-trust-grid,
    .tax-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tax-process-grid::before {
        display: none;
    }

    .tax-page .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tax-page .tax-footer-intro {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    .tax-hero-copy {
        text-align: left;
    }

    .tax-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .tax-button {
        width: 100%;
    }

    .tax-floating-card,
    .tax-assurance-card {
        position: relative;
        inset: auto;
        width: calc(100% - 1.6rem);
        max-width: none;
        margin: 0.8rem;
        transform: none;
    }

    .tax-authority-heading,
    .tax-process-heading {
        text-align: left;
    }

    .tax-trust-header #tax-trust-title {
        font-size: 34px;
        line-height: 40px;
    }

    .tax-authority-heading .tax-section-label,
    .tax-process-heading .tax-section-label {
        justify-content: flex-start;
    }

    .tax-authority-grid,
    .tax-trust-grid,
    .tax-process-grid {
        grid-template-columns: 1fr;
    }

    .tax-page .tax-cta .cta-red-content {
        padding: 1.5rem;
        border-radius: 26px;
    }

    .tax-page .tax-cta .cta-button,
    .tax-cta-secondary {
        width: 100%;
    }

    .tax-cta-proof {
        justify-content: flex-start;
    }

    .tax-page .tax-faq-section .section-header {
        text-align: left;
    }

    .tax-page .tax-faq-section .section-header .tax-section-label {
        justify-content: flex-start;
    }

    .tax-page .tax-faq-list .faq-question {
        padding: 1rem;
        font-size: 0.92rem;
    }

    .tax-page .tax-faq-list .faq-answer-content {
        padding: 0 1rem 1rem;
    }

    .tax-page .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tax-page .tax-footer-intro {
        grid-column: 1 / -1;
    }

    .tax-page .fixed-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    .tax-page .fixed-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    .tax-page .fixed-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 540px) {
    .tax-page .container {
        padding-inline: 18px;
    }

    .tax-section-label {
        font-size: 0.68rem;
        letter-spacing: 0.12em;
    }

    .tax-authority-heading #tax-authority-title,
    .tax-trust-header #tax-trust-title,
    .tax-process-heading #tax-process-title,
    .tax-page .tax-faq-section .section-header #tax-faq-title {
        letter-spacing: -0.045em;
    }

    .tax-authority-card,
    .tax-trust-card,
    .tax-process-step {
        min-height: auto;
        padding: 1.35rem;
        border-radius: 22px;
    }

    .tax-page .tax-cta {
        padding: 68px 0;
    }

    .tax-cta-proof {
        gap: 0.5rem;
    }

    .tax-page .footer {
        padding-bottom: 96px;
    }

    .tax-page .footer-content {
        grid-template-columns: 1fr;
    }

    .tax-page .fixed-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    .tax-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    .tax-page .container {
        padding-inline: 14px;
    }

    .tax-trust-header p,
    .tax-process-heading p,
    .tax-page .tax-faq-section .section-subtitle {
        font-size: 0.95rem;
    }

    .tax-floating-card,
    .tax-assurance-card {
        width: calc(100% - 1rem);
        margin-inline: 0.5rem;
    }

    .tax-page .fixed-whatsapp-bar p {
        display: none;
    }

    .tax-page .fixed-whatsapp-bar {
        right: 10px;
        left: auto;
        width: auto;
        transform: none;
    }

    .tax-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

/* Testimonials Page Redesign */
.testimonials-page {
    background: var(--white);
    color: var(--dark-gray);
}

.testimonials-page #testimonials-main-content:focus {
    outline: none;
}

.testimonials-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(248, 249, 250, 0.93);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.testimonials-page .navbar-container {
    min-height: 74px;
}

.testimonials-page .logo-icon {
    height: 44px;
}

.testimonials-page .nav-menu {
    gap: clamp(16px, 1.8vw, 28px);
}

.testimonials-page .dropdown > button.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--dark-gray);
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: inherit;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    cursor: pointer;
}

.testimonials-page .nav-menu > li > .nav-link[aria-current="page"] {
    position: relative;
    color: var(--primary-red);
    font-weight: 800;
}

.testimonials-page .nav-menu > li > .nav-link[aria-current="page"]::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -12px;
    left: 0;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.testimonials-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

.testimonials-hero {
    --service-hero-grid-x: rgba(248, 249, 250, 0.05);
    --service-hero-grid-y: rgba(248, 249, 250, 0.04);
    --service-hero-grid-size: 88px 88px;
    --service-hero-grid-mask: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    position: relative;
    overflow: hidden;
    padding: 150px 0 104px;
    background:
        radial-gradient(circle at 12% 12%, rgba(206, 99, 99, 0.18), transparent 30%),
        radial-gradient(circle at 88% 18%, rgba(206, 99, 99, 0.16), transparent 32%),
        linear-gradient(135deg, #171111 0%, var(--dark-gray) 54%, #130d0d 100%);
    isolation: isolate;
}

.testimonials-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, var(--service-hero-grid-x) 1px, transparent 1px),
        linear-gradient(180deg, var(--service-hero-grid-y) 1px, transparent 1px);
    background-size: var(--service-hero-grid-size);
    mask-image: var(--service-hero-grid-mask);
    -webkit-mask-image: var(--service-hero-grid-mask);
    pointer-events: none;
}

.testimonials-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}

.testimonials-hero-copy {
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
}

#testimonials-hero-title {
    text-align: center;
}

.testimonials-hero-actions {
    justify-content: center;
}

.testimonials-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: var(--primary-red-light);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.testimonials-section-label::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.testimonials-hero-copy h1 {
    max-width: 820px;
    margin: 0;
    color: var(--white);
    font-size: clamp(2.45rem, 5vw, 4.8rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.05em;
}

.testimonials-hero-copy p {
    max-width: 600px;
    margin: 1.4rem 0 0;
    color: rgba(248, 249, 250, 0.74);
    font-size: clamp(1rem, 1.6vw, 1.18rem);
    line-height: 1.82;
}

.testimonials-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-top: 2rem;
}

.testimonials-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0.95rem 1.35rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.testimonials-button-primary {
    background: var(--primary-red);
    color: var(--white);
    box-shadow: 0 18px 36px rgba(65, 22, 15, 0.22);
}

.testimonials-button-primary:hover {
    background: var(--primary-red-dark);
    transform: translateY(-3px);
    box-shadow: 0 24px 42px rgba(65, 22, 15, 0.28);
}

.testimonials-button-secondary {
    border-color: rgba(248, 249, 250, 0.28);
    background: rgba(248, 249, 250, 0.08);
    color: var(--white);
}

.testimonials-button-secondary:hover {
    border-color: rgba(248, 249, 250, 0.72);
    background: rgba(248, 249, 250, 0.14);
    transform: translateY(-3px);
}

.testimonials-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.8rem;
}

.testimonials-hero-proof span {
    padding: 0.62rem 0.86rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(248, 249, 250, 0.82);
    font-size: 0.84rem;
    font-weight: 700;
}

.testimonials-hero-visual {
    position: relative;
    display: grid;
    min-height: 430px;
    align-content: center;
    gap: 1rem;
    padding: clamp(2rem, 4vw, 3rem);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 40px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.025));
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(10px);
}

.testimonials-hero-visual::before {
    content: "“";
    position: absolute;
    top: 16px;
    right: 28px;
    color: rgba(206, 99, 99, 0.26);
    font-size: 8rem;
    font-family: Georgia, serif;
    line-height: 1;
}

.testimonials-hero-visual img {
    width: min(210px, 68%);
    height: auto;
}

.testimonials-hero-visual strong {
    position: relative;
    z-index: 1;
    max-width: 390px;
    color: var(--white);
    font-size: clamp(1.6rem, 3vw, 2.55rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.testimonials-hero-visual span {
    position: relative;
    z-index: 1;
    max-width: 390px;
    color: rgba(248, 249, 250, 0.72);
    line-height: 1.72;
}

.testimonials-trust-strip {
    position: relative;
    z-index: 3;
    overflow: hidden;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    background: linear-gradient(90deg, var(--primary-red-dark), var(--primary-red), var(--primary-red-dark));
    box-shadow: 0 12px 30px rgba(37, 27, 27, 0.16);
}

.testimonials-trust-track {
    width: min(100%, 1500px);
    margin: 0 auto;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--primary-red-light) transparent;
}

.testimonials-trust-track ul {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: max-content;
    margin: 0;
    padding: 0 24px;
    list-style: none;
}

.testimonials-trust-track li {
    position: relative;
    padding: 15px 24px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.testimonials-trust-track li + li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--primary-red-light);
    transform: translate(-50%, -50%);
}

.testimonials-page .main-testimonial {
    display: none;
}

.testimonials-showcase-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 12% 12%, rgba(206, 99, 99, 0.12), transparent 30%),
        linear-gradient(180deg, #fff 0%, var(--white) 100%);
}

.testimonials-showcase-section .container {
    position: relative;
    z-index: 1;
}

.testimonials-heading {
    max-width: 880px;
    margin: 0 auto 2.7rem;
    text-align: center;
}

.testimonials-heading .testimonials-section-label {
    justify-content: center;
}

.testimonials-heading #testimonials-showcase-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.testimonials-heading p {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.testimonials-featured-content {
    display: grid;
    grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(48px, 8vw, 112px);
    align-items: center;
    margin-bottom: clamp(2rem, 5vw, 4rem);
}

.testimonials-featured-quote {
    position: relative;
    overflow: visible;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.testimonials-featured-quote::before {
    content: "“";
    display: block;
    height: 76px;
    margin: 18px 0 0;
    color: var(--accent-red);
    font-family: Georgia, serif;
    font-size: 7rem;
    line-height: 1;
}

.testimonials-featured-quote p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--dark-red);
    font-size: clamp(1.55rem, 2.5vw, 2.55rem);
    font-weight: 600;
    line-height: 1.32;
    letter-spacing: -0.025em;
}

.testimonials-featured-quote footer {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    gap: 28px;
    align-items: end;
    margin-top: clamp(34px, 5vw, 56px);
    padding-top: 24px;
    border-top: 1px solid rgba(65, 22, 15, 0.12);
}

.testimonials-featured-quote strong,
.testimonials-featured-quote span {
    display: block;
}

.testimonials-featured-quote strong {
    color: var(--primary-red);
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.testimonials-featured-quote span {
    justify-self: end;
    padding: 8px 12px;
    color: rgba(37, 27, 27, 0.64);
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(65, 22, 15, 0.14);
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
}

.testimonials-brand-card {
    position: relative;
    isolation: isolate;
    overflow: visible;
    display: block;
    min-height: clamp(430px, 52vw, 650px);
    margin: 0;
    padding: 0;
    border-radius: 28px;
    background: var(--dark-gray);
    box-shadow: 0 28px 58px rgba(65, 22, 15, 0.16);
}

.testimonials-brand-card::before {
    content: "";
    position: absolute;
    top: -18px;
    left: -18px;
    width: 85%;
    height: 85%;
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 28px 0 0;
    pointer-events: none;
}

.testimonials-brand-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 62%, rgba(37, 27, 27, 0.16));
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: inherit;
}

.testimonials-brand-carousel,
.testimonials-brand-carousel-track {
    width: 100%;
    height: 100%;
    min-height: inherit;
}

.testimonials-brand-carousel {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: inherit;
}

.testimonials-brand-carousel-track {
    position: relative;
}

.testimonials-brand-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.45s ease;
}

.testimonials-brand-slide.active {
    opacity: 1;
}

.testimonials-brand-carousel-control {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    color: var(--primary-red);
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(65, 22, 15, 0.12);
    border-radius: 50%;
    box-shadow: 0 10px 24px rgba(37, 27, 27, 0.18);
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
    transform: translateY(-50%);
    transition: var(--transition);
}

.testimonials-brand-carousel-control:hover,
.testimonials-brand-carousel-control:focus-visible {
    background: #fff;
    box-shadow: 0 14px 28px rgba(37, 27, 27, 0.24);
}

.testimonials-brand-carousel-control:focus-visible {
    outline: 3px solid rgba(206, 99, 99, 0.38);
    outline-offset: 3px;
}

.testimonials-brand-carousel-prev {
    left: 16px;
}

.testimonials-brand-carousel-next {
    right: 16px;
}

.testimonials-brand-carousel-dots {
    position: absolute;
    left: 50%;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    gap: 8px;
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.78);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    transform: translateX(-50%);
}

.testimonials-brand-carousel-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    background: rgba(65, 22, 15, 0.24);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
}

.testimonials-brand-carousel-dots button.active,
.testimonials-brand-carousel-dots button[aria-current="true"] {
    background: var(--primary-red);
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
    align-items: stretch;
}

.testimonial-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 16px;
    height: 100%;
    min-height: 0;
    padding: 1.25rem;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 46px rgba(37, 27, 27, 0.08);
    transition: var(--transition);
}

.testimonial-card::before {
    content: "“";
    position: absolute;
    right: 16px;
    bottom: -30px;
    color: rgba(206, 99, 99, 0.1);
    font-family: Georgia, serif;
    font-size: 6.5rem;
    line-height: 1;
    pointer-events: none;
}

.testimonial-card:hover {
    border-color: rgba(206, 99, 99, 0.32);
    box-shadow: var(--shadow-hover);
    transform: translateY(-6px);
}

.testimonial-card-image {
    display: flex;
    width: 64px;
    height: 64px;
    align-items: center;
    justify-content: center;
    background: var(--primary-red);
    border: 1px solid rgba(206, 99, 99, 0.22);
    border-radius: 50%;
}

.testimonial-card-image img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.testimonial-card-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 0;
}

.testimonial-card-tag {
    align-self: flex-start;
    margin-bottom: 0.75rem;
    padding: 0.34rem 0.64rem;
    border: 1px solid rgba(206, 99, 99, 0.22);
    border-radius: 999px;
    background: rgba(206, 99, 99, 0.12);
    color: var(--primary-red);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.testimonial-card-quote {
    margin: 0;
    color: rgba(37, 27, 27, 0.78);
    font-size: 0.94rem;
    line-height: 1.58;
    overflow-wrap: anywhere;
}

.testimonial-card footer {
    margin-top: auto;
    padding-top: 0.8rem;
}

.testimonial-card-author,
.testimonial-card-meta {
    display: block;
}

.testimonial-card-author {
    color: var(--dark-gray);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.testimonial-card-meta {
    margin-top: 0.26rem;
    color: var(--medium-gray);
    font-size: 0.8rem;
    font-weight: 600;
}

.testimonials-highlight-review {
    max-width: 860px;
    margin: clamp(1.4rem, 4vw, 2.4rem) auto 0;
    padding: clamp(1.35rem, 3vw, 2rem);
    border: 1px solid rgba(206, 99, 99, 0.2);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 249, 250, 0.94));
    box-shadow: 0 18px 46px rgba(37, 27, 27, 0.08);
    text-align: center;
}

.testimonials-highlight-quote {
    max-width: 680px;
    margin: 0.8rem auto 0;
    color: rgba(37, 27, 27, 0.78);
    font-size: 0.94rem;
    line-height: 1.58;
    overflow-wrap: anywhere;
}

.testimonials-highlight-author {
    margin-top: 0.8rem;
    padding-top: 0.8rem;
}

.testimonials-highlight-review a {
    display: inline-flex;
    margin-top: 1rem;
    align-items: center;
    justify-content: center;
    color: var(--primary-red);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.testimonials-highlight-review a:hover,
.testimonials-highlight-review a:focus-visible {
    color: var(--primary-red-dark);
}

.testimonials-page .testimonials-cta {
    --service-hero-grid-x: rgba(248, 249, 250, 0.05);
    --service-hero-grid-y: rgba(248, 249, 250, 0.04);
    --service-hero-grid-size: 88px 88px;
    --service-hero-grid-mask: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 18% 18%, rgba(248, 249, 250, 0.12), transparent 28%),
        radial-gradient(circle at 88% 12%, rgba(206, 99, 99, 0.28), transparent 32%),
        linear-gradient(135deg, #171111 0%, var(--primary-red) 48%, var(--primary-red-dark) 100%);
}

.testimonials-page .testimonials-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, var(--service-hero-grid-x) 1px, transparent 1px),
        linear-gradient(180deg, var(--service-hero-grid-y) 1px, transparent 1px);
    background-size: var(--service-hero-grid-size);
    mask-image: var(--service-hero-grid-mask);
    -webkit-mask-image: var(--service-hero-grid-mask);
    pointer-events: none;
}

.testimonials-page .testimonials-cta .cta-red-content {
    position: relative;
    z-index: 1;
    max-width: 980px;
    padding: clamp(2rem, 5vw, 4rem);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.075);
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(16px);
}

.testimonials-page .testimonials-cta .cta-red-content::before {
    display: none;
}

.testimonials-cta-label {
    display: inline-flex;
    margin-bottom: 16px;
    color: #f2abab;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.testimonials-page .testimonials-cta .cta-red-content #testimonials-cta-title {
    max-width: 760px;
    margin-inline: auto;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.testimonials-page .testimonials-cta .cta-red-content p {
    color: rgba(248, 249, 250, 0.76);
}

.testimonials-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.85rem;
    margin-top: 1.5rem;
}

.testimonials-page .testimonials-cta .cta-button,
.testimonials-cta-secondary {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
    transition: var(--transition);
}

.testimonials-page .testimonials-cta .cta-button {
    border: 1px solid var(--white);
    background: var(--white);
    color: var(--primary-red);
}

.testimonials-cta-secondary {
    border: 1px solid rgba(248, 249, 250, 0.34);
    background: rgba(248, 249, 250, 0.08);
    color: var(--white);
}

.testimonials-page .testimonials-cta .cta-button:hover,
.testimonials-cta-secondary:hover {
    transform: translateY(-2px);
}

.testimonials-cta-secondary:hover {
    border-color: rgba(248, 249, 250, 0.72);
    background: rgba(248, 249, 250, 0.14);
}

.testimonials-cta-proof {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 1.6rem;
}

.testimonials-cta-proof span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(248, 249, 250, 0.76);
    font-size: 0.78rem;
    font-weight: 700;
}

.testimonials-page .footer {
    position: relative;
    padding-top: clamp(78px, 9vw, 112px);
    padding-bottom: 112px;
    background:
        radial-gradient(circle at 9% 0%, rgba(206, 99, 99, 0.15), transparent 27%),
        linear-gradient(145deg, #251b1b, #150a08);
    border-top: 0;
}

.testimonials-page .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

.testimonials-page .footer-content {
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
}

.testimonials-page .testimonials-footer-intro {
    padding-right: clamp(0px, 3vw, 42px);
}

.testimonials-page .testimonials-footer-tagline {
    max-width: 345px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    font-weight: 600;
    line-height: 1.58;
}

.testimonials-page .testimonials-footer-heading {
    position: relative;
    margin-bottom: 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.testimonials-page .testimonials-footer-heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

.testimonials-page .footer-section a[aria-current="page"] {
    color: #f2abab;
}

.testimonials-page .footer-section a[aria-current="page"]::before {
    width: 12px;
    background: var(--primary-red-light);
}

.testimonials-page .social-links .social-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(248, 249, 250, 0.2);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    opacity: 0.65;
}

.testimonials-page .social-links .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.testimonials-page .social-links .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.testimonials-page .social-links .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.testimonials-page .footer-bottom {
    color: rgba(255, 255, 255, 0.48);
}

.testimonials-page .fixed-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 800px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.testimonials-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

.testimonials-page .fixed-whatsapp-bar p strong {
    color: var(--primary-red);
}

.testimonials-page .testimonials-whatsapp-status {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.13);
}

.testimonials-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    white-space: nowrap;
}

.testimonials-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.testimonials-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    border-color: var(--dark-green);
    background: var(--dark-green);
    transform: translateY(-2px);
}

.testimonials-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(76, 175, 80, 0.25);
    outline-offset: 3px;
}

@media (max-width: 900px) {
    .testimonials-page .navbar-container {
        min-height: 68px;
    }

    .testimonials-page .logo-icon {
        height: 40px;
    }

    .testimonials-page .dropdown > button.nav-link {
        width: 100%;
        padding: 14px 16px;
        text-align: left;
    }

    .testimonials-page .nav-menu > li > .nav-link[aria-current="page"]::after {
        display: none;
    }

    .testimonials-hero {
        padding: 118px 0 86px;
    }

    .testimonials-hero-grid {
        grid-template-columns: 1fr;
    }

    .testimonials-trust-track ul {
        justify-content: flex-start;
    }

    .testimonials-grid {
        grid-template-columns: 1fr;
    }

    .testimonials-featured-content {
        grid-template-columns: 1fr;
    }

    .testimonials-brand-card {
        width: min(100%, 620px);
        min-height: clamp(390px, 85vw, 580px);
    }

    .testimonials-page .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .testimonials-page .testimonials-footer-intro {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    .testimonials-hero {
        padding: 128px 0 78px;
    }

    .testimonials-hero-copy {
        text-align: left;
    }

    .testimonials-hero-copy h1 {
        font-size: clamp(2.3rem, 11vw, 3.6rem);
    }

    .testimonials-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .testimonials-button {
        width: 100%;
    }

    .testimonials-hero-visual {
        min-height: auto;
        border-radius: 30px;
    }

    .testimonials-heading {
        text-align: left;
    }

    .testimonials-heading .testimonials-section-label {
        justify-content: flex-start;
    }

    .testimonial-card {
        grid-template-columns: 64px 1fr;
    }

    .testimonial-card-image {
        width: 58px;
        height: 58px;
    }

    .testimonial-card-image img {
        width: 30px;
        height: 30px;
    }

    .testimonials-featured-quote footer {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .testimonials-featured-quote span {
        justify-self: start;
    }

    .testimonials-page .testimonials-cta .cta-red-content {
        padding: 1.5rem;
        border-radius: 26px;
    }

    .testimonials-page .testimonials-cta .cta-button,
    .testimonials-cta-secondary {
        width: 100%;
    }

    .testimonials-cta-proof {
        justify-content: flex-start;
    }

    .testimonials-page .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .testimonials-page .testimonials-footer-intro {
        grid-column: 1 / -1;
    }

    .testimonials-page .fixed-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    .testimonials-page .fixed-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    .testimonials-page .fixed-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 540px) {
    .testimonials-page .container {
        padding-inline: 18px;
    }

    .testimonials-hero {
        padding: 108px 0 68px;
    }

    .testimonials-section-label {
        font-size: 0.68rem;
        letter-spacing: 0.12em;
    }

    .testimonials-hero-copy h1,
    .testimonials-heading #testimonials-showcase-title,
    .testimonials-featured-quote p {
        letter-spacing: -0.045em;
    }

    .testimonials-hero-proof span {
        flex: 1 1 auto;
        text-align: center;
    }

    .testimonials-showcase-section,
    .testimonials-page .testimonials-cta {
        padding: 68px 0;
    }

    .testimonials-featured-quote,
    .testimonials-brand-card,
    .testimonial-card {
        border-radius: 22px;
    }

    .testimonial-card {
        min-height: auto;
    }

    .testimonial-card-image {
        width: 56px;
        height: 56px;
    }

    .testimonials-cta-proof {
        gap: 0.5rem;
    }

    .testimonials-page .footer {
        padding-bottom: 96px;
    }

    .testimonials-page .footer-content {
        grid-template-columns: 1fr;
    }

    .testimonials-page .fixed-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    .testimonials-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    .testimonials-page .container {
        padding-inline: 14px;
    }

    .testimonials-hero-copy h1 {
        font-size: clamp(2.05rem, 13vw, 2.75rem);
    }

    .testimonials-hero-copy p,
    .testimonials-heading p {
        font-size: 0.95rem;
    }

    .testimonials-hero-visual,
    .testimonials-brand-card {
        border-radius: 24px;
    }

    .testimonials-brand-card {
        min-height: 370px;
    }

    .testimonials-featured-quote::before,
    .testimonial-card::before {
        opacity: 0.72;
    }

    .testimonial-card-image {
        width: 52px;
        height: 52px;
    }

    .testimonial-card-image img {
        width: 28px;
        height: 28px;
    }

    .testimonials-page .fixed-whatsapp-bar p {
        display: none;
    }

    .testimonials-page .fixed-whatsapp-bar {
        right: 10px;
        left: auto;
        width: auto;
        transform: none;
    }

    .testimonials-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

/* Redesign MEI - passo 3: hero premium */
.mei-page {
    --mei-lime: #b3b700;
    --mei-red: #e52326;
    --mei-orange: #fc8900;
    --mei-yellow: #ffcf00;
    --mei-blue: #076c95;
    --mei-gray: #e5e4e4;
    --mei-ink: #17242b;
    background: #ffffff;
    color: var(--dark-gray);
    overflow-x: clip;
}

.mei-page .navbar {
    position: sticky;
    top: 0;
    width: 100%;
    background: rgba(248, 249, 250, 0.93);
    border-bottom: 1px solid rgba(65, 22, 15, 0.08);
    box-shadow: 0 8px 28px rgba(37, 27, 27, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.mei-page .navbar-container {
    min-height: 74px;
}

.mei-page .logo-icon {
    height: 44px;
}

.mei-page .nav-menu {
    gap: clamp(16px, 1.8vw, 28px);
}

.mei-page .dropdown > button.nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--dark-gray);
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: inherit;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    cursor: pointer;
}

.mei-page .dropdown-menu .current-page {
    background: rgba(65, 22, 15, 0.1);
    color: var(--primary-red-dark);
    font-weight: 800;
}

.mei-page .dropdown-menu .current-page::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 9px;
    border-radius: 50%;
    background: var(--primary-red-light);
    vertical-align: 1px;
}

.mei-page .nav-menu > li:last-child .nav-link {
    min-height: 46px;
    padding: 13px 30px;
    color: var(--primary-red);
    background: rgba(65, 22, 15, 0.08);
    border: 1px solid rgba(65, 22, 15, 0.2);
    border-radius: 40px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
    font-weight: 700;
}

.mei-hero {
    background: linear-gradient(135deg, #111b21 0%, #17242b 54%, #0f171c 100%);
    color: #fff;
}

.mei-section-label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    margin-bottom: 1.1rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(248, 249, 250, 0.9);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.mei-section-label::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: var(--mei-yellow);
}

.mei-solutions-header .mei-section-label,
.mei-process-heading .mei-section-label,
.mei-journey-header .mei-section-label,
.mei-decision-header .mei-section-label,
.mei-education-header .mei-section-label,
.mei-faq-header .mei-section-label {
    border-color: rgba(65, 22, 15, 0.12);
    background: rgba(65, 22, 15, 0.04);
    color: var(--primary-red);
}

.mei-solutions-header .mei-section-label::before,
.mei-process-heading .mei-section-label::before,
.mei-journey-header .mei-section-label::before,
.mei-decision-header .mei-section-label::before,
.mei-education-header .mei-section-label::before,
.mei-faq-header .mei-section-label::before {
    background: currentColor;
}

.mei-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 15px 34px;
    border-radius: 40px;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: var(--transition);
    cursor: pointer;
}

.mei-button-primary {
    border: 1px solid rgba(229, 35, 38, 0.46);
    background: rgba(229, 35, 38, 0.88);
    color: #fff;
    box-shadow: 0 16px 34px rgba(229, 35, 38, 0.22);
}

.mei-button-primary:hover,
.mei-button-primary:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(229, 35, 38, 0.7);
    background: rgba(201, 29, 32, 0.94);
    color: #fff;
    box-shadow: 0 20px 42px rgba(229, 35, 38, 0.3);
}

.mei-page .mei-hero-actions .mei-button-primary {
    border-color: rgba(229, 35, 38, 0.42);
    background: rgba(229, 35, 38, 0.68);
    color: #fff;
    box-shadow: 0 18px 42px rgba(229, 35, 38, 0.24);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.mei-page .mei-hero-actions .mei-button-primary:hover,
.mei-page .mei-hero-actions .mei-button-primary:focus-visible {
    border-color: rgba(229, 35, 38, 0.72);
    background: rgba(229, 35, 38, 0.82);
    color: #fff;
    box-shadow: 0 22px 48px rgba(229, 35, 38, 0.32);
}

@media (max-width: 900px) {
    .mei-page .navbar-container {
        min-height: 68px;
    }

    .mei-page .logo-icon {
        height: 40px;
    }

    .mei-page .dropdown > button.nav-link {
        width: 100%;
        padding: 14px 16px;
        text-align: left;
    }
}

@media (max-width: 768px) {
    .mei-hero-actions,
    .mei-button {
        width: 100%;
    }
}

/* Redesign MEI - passo 4: faixa de necessidades rápidas */
.mei-quick-strip {
    position: relative;
    z-index: 3;
    padding: 0;
    overflow: hidden;
    background:
        linear-gradient(90deg, #0f171c 0%, #17242b 48%, #111b21 100%);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.mei-quick-strip::before,
.mei-quick-strip::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: clamp(28px, 7vw, 96px);
    pointer-events: none;
}

.mei-quick-strip::before {
    left: 0;
    background: linear-gradient(90deg, #0f171c, rgba(15, 23, 28, 0));
}

.mei-quick-strip::after {
    right: 0;
    background: linear-gradient(270deg, #111b21, rgba(17, 27, 33, 0));
}

.mei-quick-track {
    width: min(100%, 1500px);
    margin: 0 auto;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--mei-yellow) transparent;
}

.mei-quick-track::-webkit-scrollbar {
    height: 6px;
}

.mei-quick-track::-webkit-scrollbar-track {
    background: transparent;
}

.mei-quick-track::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(255, 207, 0, 0.72);
}

.mei-quick-track ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-width: max-content;
    margin: 0;
    padding: 0 24px;
    list-style: none;
}

.mei-quick-track li {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 54px;
    padding: 0 clamp(24px, 3vw, 44px);
    color: rgba(248, 249, 250, 0.86);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.mei-quick-track li + li::before {
    content: "";
    position: absolute;
    left: -3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--mei-yellow);
    box-shadow: 0 0 0 4px rgba(255, 207, 0, 0.14);
}

@media (max-width: 1100px) {
    .mei-quick-track ul {
        justify-content: flex-start;
    }
}

@media (max-width: 540px) {
    .mei-quick-track {
        scroll-snap-type: x proximity;
    }

    .mei-quick-track ul {
        justify-content: flex-start;
        padding-inline: 10px;
    }

    .mei-quick-track li {
        min-height: 50px;
        padding-inline: 24px;
        scroll-snap-align: start;
    }
}

/* Redesign MEI - passo 5: soluções premium */
.mei-solutions-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        linear-gradient(90deg, rgba(7, 108, 149, 0.035) 0 1px, transparent 1px 100%),
        linear-gradient(180deg, #ffffff 0%, rgba(248, 249, 250, 0.98) 100%);
    background-size: 88px 100%, auto;
}

.mei-solutions-section .container {
    position: relative;
    z-index: 1;
}

.mei-solutions-header {
    max-width: 820px;
    margin: 0 auto clamp(2.2rem, 5vw, 3.6rem);
    text-align: center;
}

.mei-solutions-header .mei-section-label {
    margin-inline: auto;
}

.mei-solutions-header #mei-solutions-title {
    margin: 0;
    color: var(--mei-blue);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.mei-solutions-header p {
    max-width: 710px;
    margin: 1rem auto 0;
    color: var(--medium-gray);
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    font-weight: 500;
    line-height: 1.75;
}

.mei-solutions-layout {
    display: grid;
    grid-template-columns: minmax(220px, 0.82fr) minmax(300px, 1fr) minmax(220px, 0.82fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
}

.mei-solutions-nav {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(7, 108, 149, 0.16);
}

.mei-solution-link {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    height: 160px;
    align-items: center;
    padding: 18px 0 18px 18px;
    border-bottom: 1px solid rgba(7, 108, 149, 0.16);
    color: var(--mei-blue);
    text-decoration: none;
    transition: color 0.25s ease;
}

.mei-solution-link::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 0;
    width: 4px;
    height: calc(100% - 36px);
    border-radius: 2px;
    background: var(--mei-orange);
    transition: background 0.25s ease;
}

.mei-solution-link:hover,
.mei-solution-link:focus-visible,
.mei-solution-link-active {
    color: var(--mei-blue);
}

.mei-solution-link:hover::before,
.mei-solution-link:focus-visible::before,
.mei-solution-link-active::before {
    background: var(--mei-orange);
}

.mei-solution-link strong,
.mei-solution-link small,
.mei-solution-link em {
    position: relative;
    z-index: 1;
    display: block;
}

.mei-solution-link strong {
    color: var(--dark-gray);
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    font-weight: 800;
    line-height: 1.2;
}

.mei-solution-link small {
    margin-top: 0.35rem;
    color: var(--medium-gray);
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.48;
}

.mei-solution-link em {
    margin-top: 0.45rem;
    color: var(--mei-blue);
    font-size: 0.74rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.mei-solutions-media {
    position: relative;
    display: grid;
    min-height: clamp(380px, 42vw, 560px);
    place-items: center;
    overflow: hidden;
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border: 1px solid rgba(7, 108, 149, 0.12);
    border-radius: 34px;
    background: linear-gradient(145deg, #fff 0%, rgba(229, 228, 228, 0.55) 100%);
    box-shadow: 0 28px 70px rgba(37, 27, 27, 0.1);
}

.mei-solutions-media-image {
    position: relative;
    z-index: 1;
    display: block;
    width: min(420px, 92%);
    filter: drop-shadow(0 24px 34px rgba(37, 27, 27, 0.14));
}

.mei-solutions-floating-note {
    position: absolute;
    z-index: 2;
    left: clamp(1rem, 3vw, 2rem);
    bottom: clamp(1rem, 3vw, 2rem);
    width: min(300px, calc(100% - 2rem));
    padding: 0.9rem 1rem;
    border: 1px solid rgba(7, 108, 149, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 18px 40px rgba(37, 27, 27, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.mei-solutions-floating-note strong,
.mei-solutions-floating-note span {
    display: block;
}

.mei-solutions-floating-note strong {
    color: var(--mei-blue);
    font-size: 0.9rem;
    font-weight: 900;
}

.mei-solutions-floating-note span {
    margin-top: 0.25rem;
    color: var(--medium-gray);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.45;
}

@media (max-width: 1024px) {
    .mei-solutions-layout {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
        align-items: start;
    }

    .mei-solutions-media {
        grid-row: span 2;
    }
}

@media (max-width: 640px) {
    .mei-solutions-section,
    .mei-process-section,
    .mei-authority-section,
    .mei-journey-section,
    .mei-decision-section,
    .mei-education-section,
    .mei-final-cta,
    .mei-faq-section {
        padding-block: 3.75rem;
    }

    .mei-education-mark,
    .mei-final-cta-mark {
        max-width: 170px;
        opacity: 0.045;
    }

    .mei-solutions-header {
        text-align: left;
    }

    .mei-solutions-header .mei-section-label {
        margin-inline: 0;
    }

    .mei-solutions-layout {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .mei-solutions-media {
        grid-row: auto;
        min-height: 340px;
        margin-bottom: 1.5rem;
        order: -1;
    }

    .mei-solutions-nav {
        border-top: 0;
    }

    .mei-solutions-nav-left {
        border-top: 1px solid rgba(7, 108, 149, 0.16);
    }

    .mei-solution-link {
        grid-template-columns: minmax(0, 1fr);
        min-height: 118px;
        height: auto;
        padding: 15px 0 15px 16px;
    }
}

/* Redesign MEI - passo 6: processo simples */
.mei-process-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background: var(--mei-orange);
}

.mei-process-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.16) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.13) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    pointer-events: none;
}

.mei-process-section::after {
    content: "";
    position: absolute;
    inset: 8% 6% auto auto;
    width: min(640px, 70vw);
    height: min(420px, 46vw);
    border-radius: 999px;
    background:
        radial-gradient(circle at 55% 45%, rgba(7, 108, 149, 0.24), transparent 62%),
        radial-gradient(circle at 30% 65%, rgba(255, 207, 0, 0.22), transparent 58%);
    filter: blur(42px);
    opacity: 0.76;
    pointer-events: none;
}

.mei-process-section .container {
    position: relative;
    z-index: 1;
}

.mei-process-heading {
    max-width: 820px;
    margin: 0 auto clamp(2.3rem, 5vw, 3.8rem);
    text-align: center;
}

.mei-process-heading .mei-section-label {
    margin-inline: auto;
}

.mei-process-heading #mei-process-title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.mei-process-heading p {
    max-width: 680px;
    margin: 1rem auto 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    font-weight: 600;
    line-height: 1.72;
}

.mei-process-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}

.mei-process-visual {
    position: relative;
    display: grid;
    min-height: clamp(390px, 42vw, 560px);
    place-items: center;
    overflow: hidden;
    padding: clamp(1.4rem, 3vw, 2.25rem);
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 34px;
    background: var(--white);
    box-shadow:
        0 32px 78px rgba(65, 22, 15, 0.22),
        0 18px 46px rgba(7, 108, 149, 0.16);
}

.mei-process-image {
    position: relative;
    z-index: 1;
    display: block;
    width: min(430px, 92%);
    filter: drop-shadow(0 24px 34px rgba(37, 27, 27, 0.14));
}

.mei-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mei-process-grid::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 14px;
    bottom: 14px;
    left: 24px;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.72), transparent);
}

.mei-process-step {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    min-height: 0;
    padding: 0 0 34px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: none;
}

.mei-process-step:last-child {
    padding-bottom: 0;
}

.mei-process-step:hover {
    transform: none;
    box-shadow: none;
}

.mei-process-number {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0;
    /* border: 1px solid rgba(255, 255, 255, 0.42); */
    border-radius: 40px;
    background: var(--white);
    color: var(--mei-orange);
    box-shadow: 0 12px 28px rgba(65, 22, 15, 0.18);
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.1em;
    font-variant-numeric: tabular-nums;
}

/* .mei-process-step:nth-child(even) .mei-process-number {
    border-color: rgba(255, 255, 255, 0.5);
    background: linear-gradient(135deg, #fff9d6 0%, #ffffff 100%);
    color: var(--mei-blue);
} */

.mei-process-number::after {
    content: none;
}

.mei-process-step > div {
    min-width: 0;
}

.mei-process-step h3 {
    margin: 4px 0 10px;
    color: #ffffff;
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    font-weight: 800;
    line-height: 1.28;
    overflow-wrap: anywhere;
}

.mei-process-step p {
    max-width: 620px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.96rem;
    font-weight: 500;
    line-height: 1.78;
    overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
    .mei-process-layout {
        grid-template-columns: 1fr;
        gap: clamp(2rem, 6vw, 3.5rem);
    }

    .mei-process-visual {
        width: min(100%, 620px);
        min-height: 420px;
        margin: 0 auto;
    }
}

@media (max-width: 640px) {
    .mei-process-heading {
        text-align: left;
    }

    .mei-process-heading .mei-section-label {
        margin-inline: 0;
    }

    .mei-process-layout {
        gap: 2rem;
    }

    .mei-process-visual {
        min-height: 340px;
        border-radius: 24px;
    }

    .mei-process-grid::before {
        left: 20px;
    }

    .mei-process-step {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 18px;
        padding-bottom: 30px;
    }

    .mei-process-number {
        width: 42px;
        height: 42px;
        border-radius: 12px;
        font-size: 0.7rem;
    }
}

/* Redesign MEI - passo 7: autoridade e prova social */
.mei-authority-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 0;
    background:
        linear-gradient(90deg, rgba(255, 207, 0, 0.06) 0 1px, transparent 1px 100%),
        linear-gradient(135deg, #0f171c 0%, var(--mei-blue) 58%, #054e6d 100%);
    background-size: 84px 100%, auto;
    color: #fff;
}

.mei-authority-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    pointer-events: none;
}

.mei-authority-mark {
    position: absolute;
    right: clamp(1rem, 6vw, 6rem);
    bottom: -42px;
    width: clamp(130px, 20vw, 280px);
    opacity: 0.1;
    pointer-events: none;
}

.mei-authority-section .container {
    position: relative;
    z-index: 1;
    display: block;
}

.mei-authority-heading {
    max-width: 820px;
    margin: 0 auto 2.4rem;
    text-align: center;
}

.mei-authority-heading .mei-section-label {
    margin-inline: auto;
    color: var(--mei-yellow);
}

.mei-authority-heading #mei-authority-title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
    text-shadow: none;
}

.mei-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

.mei-authority-card {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 190px;
    padding: 1.7rem;
    flex-direction: column;
    justify-content: center;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.16);
    backdrop-filter: none;
    transition: var(--transition);
}

.mei-authority-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    width: auto;
    height: 4px;
    background: linear-gradient(90deg, var(--mei-yellow), rgba(248, 249, 250, 0.2));
}

.mei-authority-card::after {
    content: none;
}

.mei-authority-card:hover {
    transform: translateY(-6px);
    border-color: rgba(255, 207, 0, 0.42);
    background: rgba(255, 255, 255, 0.11);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.16);
}

.mei-authority-card strong {
    position: relative;
    z-index: 1;
    display: block;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 3.7vw, 3rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
}

.mei-authority-card:nth-child(4) strong {
    font-size: clamp(1.85rem, 3vw, 2.65rem);
}

.mei-authority-card span {
    position: relative;
    z-index: 1;
    display: block;
    max-width: none;
    margin-top: 0.75rem;
    color: rgba(248, 249, 250, 0.76);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.6;
}

@media (max-width: 1024px) {
    .mei-authority-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .mei-authority-heading {
        text-align: left;
    }

    .mei-authority-heading .mei-section-label {
        margin-inline: 0;
        justify-content: flex-start;
    }

    .mei-authority-grid {
        grid-template-columns: 1fr;
    }

    .mei-authority-card {
        min-height: 150px;
    }
}

/* Ajuste MEI - passo 6: jornada clara e premium */
.mei-journey-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(7, 108, 149, 0.08), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, rgba(248, 249, 250, 0.98) 100%);
}

.mei-journey-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(65, 22, 15, 0.035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(65, 22, 15, 0.03) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    pointer-events: none;
}

.mei-journey-section .container {
    position: relative;
    z-index: 1;
}

.mei-journey-header {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(300px, 0.62fr);
    gap: clamp(1.5rem, 5vw, 4rem);
    align-items: end;
    margin-bottom: clamp(2.2rem, 5vw, 3.5rem);
}

.mei-journey-header h2 {
    margin: 0;
    color: var(--dark-gray);
    font-size: clamp(2rem, 4.5vw, 3.45rem);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: 0;
}

.mei-journey-header p {
    margin: 0;
    color: var(--medium-gray);
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    font-weight: 500;
    line-height: 1.75;
}

.mei-journey-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.35rem);
}

.mei-journey-card {
    position: relative;
    overflow: hidden;
    min-height: 330px;
    padding: clamp(1.25rem, 2.2vw, 1.65rem);
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 20px 44px rgba(37, 27, 27, 0.08);
    transition: var(--transition);
}

.mei-journey-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1.25rem;
    width: 48px;
    height: 4px;
    border-radius: 0 0 999px 999px;
    background: var(--mei-yellow);
}

.mei-journey-card::after {
    content: "";
    position: absolute;
    right: -36px;
    bottom: -36px;
    width: 122px;
    height: 122px;
    border-radius: 999px;
    background: rgba(252, 137, 0, 0.08);
    transition: var(--transition);
}

.mei-journey-card:hover {
    transform: translateY(-6px);
    border-color: rgba(65, 22, 15, 0.16);
    box-shadow: 0 28px 58px rgba(37, 27, 27, 0.12);
}

.mei-journey-card:hover::after {
    transform: scale(1.14);
}

.mei-journey-card img {
    position: absolute;
    top: 1.15rem;
    right: 1.15rem;
    width: 70px;
    opacity: 0.1;
    pointer-events: none;
}

.mei-journey-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 1.15rem;
    border-radius: 8px;
    background: var(--primary-red);
    color: #fff;
    font-size: 0.84rem;
    font-weight: 800;
}

.mei-journey-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 0.75rem;
    color: var(--primary-red);
    font-size: clamp(1.18rem, 2vw, 1.5rem);
    font-weight: 800;
    line-height: 1.16;
}

.mei-journey-card p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--medium-gray);
    font-size: 0.96rem;
    font-weight: 500;
    line-height: 1.68;
}

@media (max-width: 1024px) {
    .mei-journey-header {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .mei-journey-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .mei-journey-grid {
        grid-template-columns: 1fr;
    }

    .mei-journey-card {
        min-height: auto;
    }
}
/* Redesign MEI - passo 8: bloco de decisão */
.mei-decision-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background: linear-gradient(180deg, rgba(248, 249, 250, 0.98), #ffffff 100%);
}

.mei-decision-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(65, 22, 15, 0.035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(65, 22, 15, 0.03) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    pointer-events: none;
}

.mei-decision-section .container {
    position: relative;
    z-index: 1;
}

.mei-decision-header {
    max-width: 780px;
    margin: 0 auto clamp(2.2rem, 5vw, 3.4rem);
    text-align: center;
}

.mei-decision-header .mei-section-label {
    margin-inline: auto;
}

.mei-decision-header #mei-decision-title {
    margin: 0;
    color: var(--dark-gray);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.mei-decision-header p {
    max-width: 650px;
    margin: 1rem auto 0;
    color: var(--medium-gray);
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    font-weight: 500;
    line-height: 1.7;
}

.mei-decision-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.mei-decision-card {
    position: relative;
    display: flex;
    min-height: 310px;
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
    padding: 30px;
    border: 1px solid rgba(7, 108, 149, 0.12);
    border-radius: 18px;
    background: #fff;
    color: var(--dark-gray);
    text-decoration: none;
    box-shadow: var(--shadow);
    transition: var(--transition);
}

.mei-decision-card::after {
    content: "";
    position: absolute;
    right: -22px;
    bottom: -22px;
    width: 116px;
    height: 116px;
    background-image: url("../resources/Mei/logo_076c95.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0.07;
    transition: var(--transition);
}

.mei-decision-card::before {
    content: none;
}

.mei-decision-card:hover,
.mei-decision-card:focus-visible {
    transform: translateY(-5px);
    border-color: rgba(7, 108, 149, 0.22);
    color: var(--dark-gray);
    box-shadow: var(--shadow-hover);
}

.mei-decision-card:hover::after,
.mei-decision-card:focus-visible::after {
    opacity: 0.12;
    transform: scale(1.12);
}

.mei-decision-card-yellow {
    background: #fff;
}

.mei-decision-card-yellow:hover,
.mei-decision-card-yellow:focus-visible {
    border-color: rgba(7, 108, 149, 0.22);
    color: var(--dark-gray);
}

.mei-decision-card-orange {
    background: #fff;
}

.mei-decision-card-yellow::after {
    background-image: url("../resources/Mei/logo_076c95.png");
}

.mei-decision-card-orange::after {
    background-image: url("../resources/Mei/logo_fc8900.png");
}

.mei-decision-card-lime {
    background: #fff;
}

.mei-decision-card-lime::after {
    background-image: url("../resources/Mei/logo_b3b700.png");
}

.mei-decision-card span {
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 1;
    color: var(--mei-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.mei-decision-icon {
    position: relative;
    z-index: 1;
    width: 64px;
    height: 64px;
    margin-bottom: 24px;
    padding: 11px;
    object-fit: contain;
    border: 1px solid rgba(7, 108, 149, 0.12);
    border-radius: 15px;
    background: rgba(7, 108, 149, 0.055);
}

.mei-decision-card-yellow .mei-decision-icon {
    border-color: rgba(7, 108, 149, 0.22);
    background: rgba(7, 108, 149, 0.09);
}

.mei-decision-card-orange .mei-decision-icon {
    border-color: rgba(252, 137, 0, 0.22);
    background: rgba(252, 137, 0, 0.09);
}

.mei-decision-card-lime .mei-decision-icon {
    border-color: rgba(179, 183, 0, 0.22);
    background: rgba(179, 183, 0, 0.09);
}

.mei-decision-card h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 12px;
    color: var(--dark-gray);
    font-size: 21px;
    font-weight: 800;
    line-height: 1.25;
}

.mei-decision-card p {
    position: relative;
    z-index: 1;
    margin: 0 0 24px;
    color: var(--medium-gray);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.65;
}

.mei-decision-card strong {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: fit-content;
    margin-top: auto;
    padding-top: 24px;
    color: var(--mei-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1.4;
    text-transform: uppercase;
}

.mei-decision-card-orange span,
.mei-decision-card-orange strong {
    color: var(--mei-orange);
}

.mei-decision-card-lime span,
.mei-decision-card-lime strong {
    color: var(--mei-lime);
}

.mei-services-table-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        linear-gradient(90deg, rgba(7, 108, 149, 0.08) 1px, transparent 1px),
        linear-gradient(180deg, var(--mei-yellow) 0%, #ffd93a 100%);
    background-size: 88px 88px, auto;
}

.mei-services-table-section::before {
    content: "";
    position: absolute;
    inset: 10% auto auto 50%;
    width: min(860px, 86vw);
    height: min(360px, 42vw);
    border-radius: 999px;
    background: radial-gradient(circle, rgba(7, 108, 149, 0.24), transparent 68%);
    filter: blur(44px);
    opacity: 0.72;
    transform: translateX(-50%);
    pointer-events: none;
}

.mei-services-table-section::after {
    content: "";
    position: absolute;
    inset: auto 8% -120px auto;
    width: min(420px, 42vw);
    height: min(420px, 42vw);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(65, 22, 15, 0.18), transparent 70%);
    filter: blur(34px);
    opacity: 0.48;
    pointer-events: none;
}

.mei-services-table-section .container {
    position: relative;
    z-index: 1;
}

.mei-services-table-header {
    max-width: 820px;
    margin: 0 auto clamp(2rem, 4vw, 3rem);
    text-align: center;
}

.mei-services-table-header #mei-services-table-title {
    margin: 0;
    color: var(--mei-blue);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.mei-services-table-media {
    position: relative;
    max-width: 1040px;
    margin: 0 auto;
    border: 1px solid rgba(7, 108, 149, 0.16);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow:
        0 28px 70px rgba(37, 27, 27, 0.18),
        0 18px 42px rgba(7, 108, 149, 0.12);
    overflow: hidden;
}

.mei-services-table-media img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 900px) {
    .mei-decision-grid {
        grid-template-columns: 1fr;
    }

    .mei-decision-card {
        min-height: 240px;
    }
}

@media (max-width: 640px) {
    .mei-decision-header {
        text-align: left;
    }

    .mei-decision-header .mei-section-label {
        margin-inline: 0;
    }

    .mei-decision-card {
        min-height: auto;
    }
}

/* Redesign MEI - passo 9: seção educativa */
.mei-education-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background: linear-gradient(180deg, #ffffff 0%, rgba(248, 249, 250, 0.98) 100%);
}

.mei-education-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(65, 22, 15, 0.035) 1px, transparent 1px),
        linear-gradient(180deg, rgba(65, 22, 15, 0.03) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    pointer-events: none;
}

.mei-education-section .container {
    position: relative;
    z-index: 1;
}

.mei-education-mark {
    position: absolute;
    right: clamp(1rem, 5vw, 5rem);
    top: 2rem;
    width: clamp(150px, 24vw, 340px);
    opacity: 0.07;
    pointer-events: none;
}

.mei-education-header {
    max-width: 820px;
    margin: 0 auto clamp(2.2rem, 5vw, 3.4rem);
    text-align: center;
}

.mei-education-header .mei-section-label {
    margin-inline: auto;
}

.mei-education-header #mei-education-title {
    margin: 0;
    color: var(--dark-gray);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.mei-education-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.78fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}

.mei-education-list {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mei-education-list::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 14px;
    bottom: 14px;
    left: 24px;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(7, 108, 149, 0.22), transparent);
}

.mei-education-list li {
    position: relative;
    z-index: 1;
    overflow: visible;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    width: 100%;
    min-height: 0;
    padding: 0 0 22px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: none;
}

.mei-education-list li:last-child {
    padding-bottom: 0;
}

.mei-education-list li::before,
.mei-education-list li::after {
    content: none;
}

.mei-education-list li:hover {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    transform: none;
}

.mei-education-list span {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    margin: 0;
    border: 1px solid rgba(7, 108, 149, 0.16);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: var(--mei-blue);
    box-shadow: 0 8px 20px rgba(7, 108, 149, 0.1);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    font-variant-numeric: tabular-nums;
}

.mei-education-list li > div {
    min-width: 0;
    grid-column: 2;
}

.mei-education-list h3 {
    margin: 4px 0 10px;
    color: var(--mei-blue);
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    font-weight: 800;
    line-height: 1.28;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.mei-education-list p {
    max-width: 620px;
    margin: 0;
    color: rgba(17, 27, 33, 0.66);
    font-size: 0.96rem;
    font-weight: 500;
    line-height: 1.78;
    overflow-wrap: anywhere;
}

.mei-education-visual {
    position: relative;
    display: grid;
    min-height: 520px;
    place-items: center;
    overflow: hidden;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid rgba(7, 108, 149, 0.12);
    border-radius: 34px;
    background: linear-gradient(145deg, #ffffff 0%, rgba(248, 249, 250, 0.98) 100%);
    box-shadow: 0 24px 58px rgba(37, 27, 27, 0.1);
}

.mei-education-visual::before {
    content: "";
    position: absolute;
    inset: 24px;
    border: 1px dashed rgba(7, 108, 149, 0.14);
    border-radius: 24px;
}

.mei-education-visual-logo {
    position: absolute;
    top: 1.35rem;
    right: 1.35rem;
    width: 72px;
    opacity: 0.16;
}

.mei-education-illustration {
    position: relative;
    z-index: 1;
    display: block;
    width: min(430px, 92%);
    filter: drop-shadow(0 22px 34px rgba(37, 27, 27, 0.12));
}

.mei-education-note {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.2rem;
    width: min(320px, 88%);
    margin-top: -1.5rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(7, 108, 149, 0.14);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 18px 38px rgba(37, 27, 27, 0.12);
}

.mei-education-note strong {
    color: var(--mei-blue);
    font-size: 0.96rem;
    font-weight: 800;
}

.mei-education-note span {
    color: var(--medium-gray);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.45;
}

@media (max-width: 1024px) {
    .mei-education-layout {
        grid-template-columns: 1fr;
    }

    .mei-education-visual {
        min-height: 440px;
    }
}

@media (max-width: 640px) {
    .mei-education-header {
        text-align: left;
    }

    .mei-education-header .mei-section-label {
        margin-inline: 0;
    }

    .mei-education-layout {
        gap: 2rem;
    }

    .mei-education-list li {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 18px;
        padding-bottom: 22px;
    }

    .mei-education-list::before {
        left: 20px;
    }

    .mei-education-list span {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
        font-size: 0.7rem;
    }

    .mei-education-visual {
        min-height: 360px;
        padding: 1rem;
        border-radius: 24px;
    }

    .mei-education-visual::before {
        inset: 14px;
        border-radius: 18px;
    }

    .mei-education-illustration {
        width: min(330px, 92%);
    }

    .mei-education-note {
        width: 100%;
        margin-top: -0.5rem;
    }
}

/* Redesign MEI - passo 10: CTA final */
.mei-final-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background: linear-gradient(135deg, var(--mei-lime) 0%, #8f9300 52%, #17242b 100%);
    color: #fff;
}

.mei-final-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 88px 88px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent);
    pointer-events: none;
}

.mei-final-cta .container {
    position: relative;
    z-index: 1;
}

.mei-final-cta-mark {
    position: absolute;
    right: clamp(1rem, 6vw, 6rem);
    bottom: -42px;
    width: clamp(140px, 20vw, 280px);
    opacity: 0.1;
    pointer-events: none;
}

.mei-final-cta-content {
    position: relative;
    overflow: hidden;
    max-width: 980px;
    margin: 0 auto;
    padding: clamp(1.5rem, 5vw, 3.25rem);
    border: 1px solid rgba(255, 207, 0, 0.28);
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.07));
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(12px);
    text-align: center;
}

.mei-final-cta-content::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.14) 1px, transparent 1px),
        linear-gradient(180deg, rgba(0, 0, 0, 0.1) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
    pointer-events: none;
}

.mei-final-cta-content > * {
    position: relative;
    z-index: 1;
}

.mei-cta-label {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 1rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.mei-cta-label::before {
    content: "";
    width: 1.75rem;
    height: 2px;
    background: var(--mei-yellow);
}

.mei-final-cta-content #mei-final-cta-title {
    max-width: 820px;
    margin: 0 auto;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.mei-final-cta-content p {
    max-width: 680px;
    margin: 1rem auto 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1rem, 1.5vw, 1.16rem);
    font-weight: 500;
    line-height: 1.72;
}

.mei-final-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.9rem;
    margin-top: 2rem;
}

.mei-final-cta-primary,
.mei-final-cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 15px 34px;
    border-radius: 40px;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: var(--transition);
}

.mei-final-cta-primary {
    border: 1px solid rgba(255, 207, 0, 0.72);
    background: rgba(255, 207, 0, 0.92);
    color: var(--mei-ink);
    box-shadow: 0 16px 34px rgba(255, 207, 0, 0.18);
}

.mei-page .mei-final-cta-actions .mei-final-cta-primary {
    border-color: rgba(255, 207, 0, 0.52);
    background: rgba(255, 207, 0, 0.2);
    color: #fff;
    box-shadow: 0 18px 42px rgba(255, 207, 0, 0.18);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.mei-final-cta-secondary {
    border: 1px solid rgba(255, 255, 255, 0.36);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.mei-final-cta-primary:hover,
.mei-final-cta-primary:focus-visible,
.mei-final-cta-secondary:hover,
.mei-final-cta-secondary:focus-visible {
    transform: translateY(-3px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.28);
}

.mei-final-cta-primary:hover,
.mei-final-cta-primary:focus-visible {
    border-color: rgba(255, 207, 0, 0.9);
    background: rgba(255, 207, 0, 1);
    color: var(--mei-ink);
}

.mei-page .mei-final-cta-actions .mei-final-cta-primary:hover,
.mei-page .mei-final-cta-actions .mei-final-cta-primary:focus-visible {
    border-color: rgba(255, 207, 0, 0.78);
    background: rgba(255, 207, 0, 0.32);
    color: #fff;
    box-shadow: 0 22px 48px rgba(255, 207, 0, 0.24);
}

.mei-final-cta-secondary:hover,
.mei-final-cta-secondary:focus-visible {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.mei-final-cta-proof {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem;
    margin-top: 1.5rem;
}

.mei-final-cta-proof span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0.55rem 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.84rem;
    font-weight: 800;
}

@media (max-width: 640px) {
    .mei-final-cta-content {
        text-align: left;
    }

    .mei-final-cta-primary,
    .mei-final-cta-secondary,
    .mei-final-cta-proof span {
        width: 100%;
    }

    .mei-final-cta-proof {
        justify-content: flex-start;
    }
}

/* Redesign MEI - passo 11: FAQ premium */
.mei-faq-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background: linear-gradient(180deg, rgba(248, 249, 250, 0.98), #ffffff 100%);
}

.mei-faq-section .container {
    position: relative;
    z-index: 1;
}

.mei-faq-header {
    max-width: 780px;
    margin: 0 auto clamp(2.2rem, 5vw, 3.4rem);
    text-align: center;
}

.mei-faq-header .mei-section-label {
    margin-inline: auto;
}

.mei-faq-header .header-line {
    display: none;
}

.mei-faq-header #mei-faq-title {
    max-width: 820px;
    margin: 0 auto;
    color: var(--mei-blue);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.mei-faq-header .section-subtitle {
    max-width: 760px;
    margin: 1rem auto 0;
    color: var(--mei-ink-soft);
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    font-weight: 500;
    line-height: 1.82;
}

.mei-faq-list {
    max-width: 920px;
    margin: 0 auto;
}

.mei-faq-list .faq-item {
    overflow: hidden;
    border: 1px solid rgba(7, 108, 149, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 46px rgba(7, 108, 149, 0.1);
    transition: var(--transition);
}

.mei-faq-list .faq-item + .faq-item {
    margin-top: 0.85rem;
}

.mei-faq-list .faq-item:hover,
.mei-faq-list .faq-item.active {
    border-color: rgba(255, 207, 0, 0.42);
    box-shadow: var(--shadow);
}

.mei-faq-list .faq-question {
    width: 100%;
    padding: 1.25rem 1.35rem;
    color: var(--mei-ink);
    font-weight: 800;
    text-align: left;
}

.mei-faq-list .faq-question:hover,
.mei-faq-list .faq-item.active .faq-question {
    color: var(--mei-blue);
}

.mei-faq-list .faq-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    margin-left: 1rem;
    border-radius: 12px;
    background: var(--mei-yellow);
    color: var(--mei-blue);
    font-weight: 800;
}

.mei-faq-list .faq-answer-content {
    padding: 0 1.35rem 1.25rem;
    color: var(--mei-ink-soft);
    font-weight: 500;
    line-height: 1.75;
}

@media (max-width: 640px) {
    .mei-faq-header {
        text-align: left;
    }

    .mei-faq-header .mei-section-label {
        margin-inline: 0;
    }

    .mei-faq-header .section-subtitle {
        margin-inline: 0;
    }

    .mei-faq-list .faq-question {
        padding: 1rem;
        font-size: 0.94rem;
    }

    .mei-faq-list .faq-answer-content {
        padding: 0 1rem 1rem;
    }
}

/* Redesign MEI - passo 12: footer premium */
.mei-page .footer {
    position: relative;
    overflow: hidden;
    padding-top: clamp(78px, 9vw, 112px);
    background: linear-gradient(145deg, #111b21 0%, #0f5f80 58%, #076c95 100%);
    border-top: 0;
}

.mei-page .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 207, 0, 0.82), transparent);
    transform: translateX(-50%);
    pointer-events: none;
}

.mei-page .footer-content {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
}

.mei-footer-intro {
    max-width: 340px;
    padding-right: clamp(0px, 3vw, 42px);
}

.mei-footer-tagline {
    margin: 1rem 0 1.2rem;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.7;
}

.mei-page .footer-info-text {
    color: rgba(255, 255, 255, 0.58);
}

.mei-footer-heading {
    position: relative;
    margin: 0 0 1rem;
    padding-bottom: 0.65rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
}

.mei-footer-heading::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 38px;
    height: 3px;
    border-radius: 3px;
    background: var(--mei-yellow);
}

.mei-page .footer-section ul li a::before {
    background: rgba(255, 207, 0, 0.76);
}

.mei-page .footer-section ul li a:hover {
    color: var(--mei-yellow);
}

.mei-page .footer-section a[aria-current="page"] {
    color: var(--mei-yellow);
    font-weight: 800;
}

.mei-page .footer-section a[aria-current="page"]::before {
    width: 12px;
    background: var(--mei-yellow);
}

.mei-page .social-links .social-placeholder {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
}

.mei-page .social-links .social-placeholder:not([data-social]):nth-child(1)::after {
    content: "in";
}

.mei-page .social-links .social-placeholder:not([data-social]):nth-child(2)::after {
    content: "f";
}

.mei-page .social-links .social-placeholder:not([data-social]):nth-child(3)::after {
    content: "ig";
}

.mei-page .social-links .social-placeholder::after {
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.mei-page .footer-bottom {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, 0.48);
}

@media (max-width: 1024px) {
    .mei-page .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mei-page .mei-footer-intro {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .mei-page .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mei-page .mei-footer-intro {
        grid-column: 1 / -1;
        max-width: none;
    }
}

@media (max-width: 560px) {
    .mei-page .footer-content {
        grid-template-columns: 1fr;
    }
}

/* Redesign MEI - passo 13: barra fixa de WhatsApp */
.mei-page .fixed-whatsapp-bar {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(7, 108, 149, 0.96);
    box-shadow: 0 18px 42px rgba(7, 108, 149, 0.26);
}

.mei-page .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.mei-page .fixed-whatsapp-bar p strong {
    color: #fff;
}

.mei-whatsapp-status {
    display: inline-flex;
    width: 10px;
    height: 10px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--mei-yellow);
    box-shadow: 0 0 0 6px rgba(255, 207, 0, 0.16);
}

.mei-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    border: 1px solid rgba(229, 35, 38, 0.48);
    border-radius: 40px;
    background: rgba(229, 35, 38, 0.92);
    color: #fff;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 10px 24px rgba(229, 35, 38, 0.22);
}

.mei-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.mei-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(229, 35, 38, 0.72);
    background: rgba(201, 29, 32, 0.96);
    color: #fff;
    box-shadow: 0 14px 28px rgba(229, 35, 38, 0.3);
}

@media (max-width: 768px) {
    .mei-page .fixed-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    .mei-page .fixed-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    .mei-page .fixed-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 560px) {
    .mei-page .fixed-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    .mei-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    .mei-page .fixed-whatsapp-bar p {
        display: none;
    }

    .mei-page .fixed-whatsapp-bar {
        right: 10px;
        left: auto;
        width: auto;
        transform: none;
    }

    .mei-page .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

/* Footer padrão Construção Civil aplicado às páginas institucionais */
:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page
) .footer {
    position: relative;
    padding-top: clamp(78px, 9vw, 112px);
    overflow: hidden;
    border-top: 0;
    background:
        radial-gradient(circle at 9% 0%, rgba(206, 99, 99, 0.15), transparent 27%),
        linear-gradient(145deg, #251b1b, #150a08);
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page
) .footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(calc(100% - 40px), 1200px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(206, 99, 99, 0.8), transparent);
    transform: translateX(-50%);
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page
) .footer-content {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(280px, 1.55fr) repeat(4, minmax(120px, 0.75fr));
}

:is(
    .construction-footer-intro,
    .home-footer-intro,
    .about-footer-intro,
    .societario-footer-intro,
    .open-company-footer-intro,
    .switch-footer-intro,
    .tax-footer-intro,
    .accounting-footer-intro,
    .payroll-footer-intro,
    .digital-footer-intro,
    .health-footer-intro,
    .contact-footer-intro,
    .testimonials-footer-intro,
    .plans-footer-intro,
    .plans-page .footer-content > .footer-section:first-child
) {
    padding-right: clamp(0px, 3vw, 42px);
}

:is(
    .construction-footer-tagline,
    .home-footer-tagline,
    .about-footer-tagline,
    .societario-footer-tagline,
    .open-company-footer-tagline,
    .switch-footer-tagline,
    .tax-footer-tagline,
    .accounting-footer-tagline,
    .payroll-footer-tagline,
    .digital-footer-tagline,
    .health-footer-tagline,
    .contact-footer-tagline,
    .testimonials-footer-tagline,
    .plans-footer-tagline,
    .plans-page .footer-section:first-child p:first-of-type
) {
    max-width: 345px;
    margin: 24px 0 28px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.03rem;
    font-weight: 600;
    line-height: 1.58;
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page
) .footer-section :is(
    h2,
    h4,
    .construction-footer-heading,
    .home-footer-heading,
    .about-footer-heading,
    .societario-footer-heading,
    .open-company-footer-heading,
    .switch-footer-heading,
    .plans-footer-heading,
    .tax-footer-heading,
    .accounting-footer-heading,
    .payroll-footer-heading,
    .digital-footer-heading,
    .health-footer-heading,
    .contact-footer-heading,
    .testimonials-footer-heading
) {
    position: relative;
    margin: 0 0 22px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.04em;
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page
) .footer-section :is(h2, h4)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page
) .footer-section a[aria-current="page"],
:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page
) .footer-section a.current-page {
    color: #f2abab;
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page
) .footer-section a[aria-current="page"]::before,
:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page
) .footer-section a.current-page::before {
    width: 12px;
    background: var(--primary-red-light);
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .social-links :is(.social-placeholder, a) {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    max-width: 100%;
    min-height: 0;
    padding: 0;
    gap: 7px;
    border: 0;
    height: 21px;
    border-radius: 0;
    background: transparent;
    color: var(--light-gray);
    font-size: 13px;
    font-weight: 400;
    opacity: 1;
    line-height: 1.4;
    text-decoration: none;
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .social-links {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: flex-start;
    margin: 0;
    padding: 0;
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .social-links [data-social]::after {
    content: none;
    display: none;
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .social-links [data-social] img {
    display: block;
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    margin-top: 2px;
    object-fit: contain;
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .social-links [data-social] span {
    display: inline-block;
    min-width: 0;
    color: currentColor;
    line-height: 1.45;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .social-links [data-social]:hover,
:is(
    .index-page,
    .construction-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .social-links [data-social]:focus-visible {
    color: var(--primary-red-light);
    background: transparent;
    border-color: transparent;
    transform: translateX(3px);
}

.mei-page .social-links [data-social]:hover,
.mei-page .social-links [data-social]:focus-visible {
    color: var(--mei-yellow);
}

:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page
) .footer-bottom {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, 0.48);
}

@media (max-width: 1100px) {
    :is(
        .index-page,
        .construction-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page
    ) .footer-content {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    :is(
        .construction-footer-intro,
        .home-footer-intro,
        .about-footer-intro,
        .societario-footer-intro,
        .open-company-footer-intro,
        .switch-footer-intro,
        .tax-footer-intro,
        .accounting-footer-intro,
        .payroll-footer-intro,
        .digital-footer-intro,
        .health-footer-intro,
        .contact-footer-intro,
        .testimonials-footer-intro,
        .plans-footer-intro,
        .plans-page .footer-content > .footer-section:first-child
    ) {
        grid-column: span 2;
    }
}

@media (max-width: 720px) {
    :is(
        .index-page,
        .construction-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page
    ) .footer-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :is(
        .construction-footer-intro,
        .home-footer-intro,
        .about-footer-intro,
        .societario-footer-intro,
        .open-company-footer-intro,
        .switch-footer-intro,
        .tax-footer-intro,
        .accounting-footer-intro,
        .payroll-footer-intro,
        .digital-footer-intro,
        .health-footer-intro,
        .contact-footer-intro,
        .testimonials-footer-intro,
        .plans-footer-intro,
        .plans-page .footer-content > .footer-section:first-child
    ) {
        grid-column: 1 / -1;
    }

    :is(
        .index-page,
        .construction-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page
    ) .footer {
        padding-bottom: 124px;
    }
}

@media (max-width: 540px) {
    :is(
        .index-page,
        .construction-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page
    ) .footer-content {
        grid-template-columns: 1fr;
    }

    :is(
        .index-page,
        .construction-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page
    ) .footer {
        padding-bottom: 132px;
    }

    :is(
        .index-page,
        .construction-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page
    ) .social-links [data-social] {
        max-width: min(100%, 240px);
    }
}

/* Barra fixa de WhatsApp padrao Construção Civil */
:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .fixed-whatsapp-bar,
:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .health-whatsapp-bar,
:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .open-company-whatsapp-bar {
    left: 50%;
    bottom: 14px;
    width: min(calc(100% - 28px), 800px);
    min-height: 66px;
    padding: 8px 9px 8px 22px;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 48px rgba(37, 27, 27, 0.2);
    transform: translateX(-50%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .fixed-whatsapp-bar p {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.78rem;
    line-height: 1.35;
}

:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .fixed-whatsapp-bar p strong {
    color: var(--primary-red);
}

:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .fixed-whatsapp-bar p > span:first-child {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 5px rgba(76, 175, 80, 0.13);
}

:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .fixed-whatsapp-bar .whatsapp-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin-left: 22px;
    padding: 11px 21px;
    border: 1px solid var(--green);
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    box-shadow: none;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
}

:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    border-color: var(--dark-green);
    background: var(--dark-green);
    color: #fff;
    transform: translateY(-2px);
}

:is(
    .index-page,
    .about-page,
    .societario-page,
    .open-company-page,
    .switch-accountant-page,
    .tax-page,
    .accounting-page,
    .payroll-page,
    .digital-market-page,
    .health-page,
    .contact-page,
    .plans-page,
    .testimonials-page,
    .mei-page
) .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    outline: 3px solid rgba(76, 175, 80, 0.25);
    outline-offset: 3px;
}

@media (max-width: 720px) {
    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar {
        justify-content: space-between;
        padding-left: 18px;
    }

    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar p span:last-child strong {
        font-size: 0.75rem;
    }
}

@media (max-width: 540px) {
    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar {
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
    }

    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar p {
        display: none;
    }

    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar {
        right: 10px;
        left: auto;
        width: auto;
        transform: none;
    }

    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar .whatsapp-cta-btn,
    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
    :is(
        .index-page,
        .about-page,
        .societario-page,
        .open-company-page,
        .switch-accountant-page,
        .tax-page,
        .accounting-page,
        .payroll-page,
        .digital-market-page,
        .health-page,
        .contact-page,
        .plans-page,
        .testimonials-page,
        .mei-page
    ) .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
        transform: none;
        transition: none;
    }
}

@media (max-width: 720px) {
    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding-left: 18px;
        border-radius: 999px;
        text-align: left;
    }

    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar p {
        display: flex;
        flex: 1 1 auto;
        align-items: center;
        justify-content: flex-start;
        min-width: 0;
        max-width: none;
    }

    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar p span:last-child {
        display: block;
        min-width: 0;
        overflow: hidden;
        color: rgba(37, 27, 27, 0.7);
        font-size: 0;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar p span:last-child strong {
        color: var(--primary-red);
        font-size: 0.75rem;
    }
}

@media (max-width: 540px) {
    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar {
        right: auto;
        left: 50%;
        bottom: 10px;
        width: calc(100% - 20px);
        min-height: 60px;
        padding: 6px 7px 6px 16px;
        transform: translateX(-50%);
    }

    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar .whatsapp-cta-btn {
        flex: 0 0 auto;
        width: auto;
        min-height: 46px;
        margin-left: 12px;
        padding: 10px 16px;
    }
}

@media (max-width: 390px) {
    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar {
        right: auto;
        left: 50%;
        flex-direction: row;
        align-items: center;
        width: calc(100% - 20px);
        transform: translateX(-50%);
    }

    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar p {
        display: flex;
    }

    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar p span:last-child {
        font-size: 0;
    }

    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar p span:last-child strong {
        font-size: 0.68rem;
    }

    :is(.open-company-page, .switch-accountant-page) .fixed-whatsapp-bar.open-company-whatsapp-bar .whatsapp-cta-btn {
        width: auto;
        min-width: 116px;
        margin-left: 8px;
        padding-inline: 10px;
        font-size: 0.7rem;
    }
}

.mei-page .fixed-whatsapp-bar p > span:first-child {
    background: var(--mei-yellow);
    box-shadow: 0 0 0 5px rgba(255, 207, 0, 0.14);
}

.mei-page .fixed-whatsapp-bar .whatsapp-cta-btn {
    border: 1px solid rgba(229, 35, 38, 0.48);
    border-radius: 40px;
    background: rgba(229, 35, 38, 0.92);
    color: #fff;
    box-shadow: 0 10px 24px rgba(229, 35, 38, 0.22);
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.mei-page .fixed-whatsapp-bar .whatsapp-cta-btn:hover,
.mei-page .fixed-whatsapp-bar .whatsapp-cta-btn:focus-visible {
    border-color: rgba(229, 35, 38, 0.72);
    background: rgba(201, 29, 32, 0.96);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(229, 35, 38, 0.3);
}

/* Blocos de autoridade padrao Departamento Pessoal */
:is(
    .construction-authority-section,
    .health-authority-section,
    .digital-authority-section,
    .open-company-stats-section,
    .open-company-authority-section,
    .accounting-authority-section
) {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 0;
    background:
        radial-gradient(circle at 14% 0%, rgba(206, 99, 99, 0.2), transparent 32%),
        linear-gradient(135deg, var(--dark-gray), var(--primary-red-dark));
}

:is(
    .construction-authority-section,
    .health-authority-section,
    .digital-authority-section,
    .open-company-stats-section,
    .open-company-authority-section,
    .accounting-authority-section
)::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    pointer-events: none;
}

:is(
    .construction-authority-section,
    .health-authority-section,
    .digital-authority-section,
    .open-company-stats-section,
    .open-company-authority-section,
    .accounting-authority-section
) .container {
    position: relative;
    z-index: 1;
    display: block;
}

:is(
    .construction-authority-heading,
    .health-authority-heading,
    .digital-authority-intro,
    .open-company-stats-section .open-company-section-heading,
    .open-company-authority-heading,
    .accounting-authority-heading
) {
    max-width: 820px;
    margin: 0 auto 2.4rem;
    text-align: center;
}

:is(
    .construction-authority-label,
    .health-authority-heading .section-label,
    .digital-authority-intro .section-label,
    .open-company-stats-section .section-label,
    .open-company-authority-label,
    .accounting-authority-label
) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0 0 1rem;
    color: var(--primary-red-light);
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

:is(
    .construction-authority-label,
    .health-authority-heading .section-label,
    .digital-authority-intro .section-label,
    .open-company-stats-section .section-label,
    .open-company-authority-label,
    .accounting-authority-label
)::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

:is(
    .construction-authority-heading,
    .health-authority-heading,
    .digital-authority-intro,
    .open-company-stats-section .open-company-section-heading,
    .open-company-authority-heading,
    .accounting-authority-heading
) h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.open-company-stats-section .open-company-section-heading p {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(248, 249, 250, 0.76);
    line-height: 1.82;
}

:is(
    .construction-authority-grid,
    .health-authority-grid,
    .digital-authority-grid,
    .open-company-stats-grid,
    .open-company-authority-grid,
    .accounting-authority-grid
) {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}

:is(
    .construction-authority-item,
    .health-authority-item,
    .digital-authority-item,
    .open-company-stats-grid article,
    .open-company-authority-card,
    .accounting-authority-item
) {
    position: relative;
    overflow: hidden;
    min-height: 180px;
    padding: 1.5rem;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.16);
    transition: var(--transition);
}

:is(
    .construction-authority-item,
    .health-authority-item,
    .digital-authority-item,
    .open-company-stats-grid article,
    .open-company-authority-card,
    .accounting-authority-item
)::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    width: auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(248, 249, 250, 0.2));
}

:is(
    .construction-authority-item,
    .health-authority-item,
    .digital-authority-item,
    .open-company-stats-grid article,
    .open-company-authority-card,
    .accounting-authority-item
):hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(206, 99, 99, 0.42);
}

:is(
    .construction-authority-item,
    .health-authority-item,
    .digital-authority-item,
    .open-company-stats-grid article,
    .open-company-authority-card,
    .accounting-authority-item
) strong,
:is(
    .construction-authority-item,
    .health-authority-item,
    .digital-authority-item,
    .open-company-stats-grid article,
    .open-company-authority-card,
    .accounting-authority-item
) .health-authority-value {
    display: block;
    color: #fff;
    font-size: clamp(2rem, 3.7vw, 3rem);
    line-height: 1;
    letter-spacing: -0.04em;
}

:is(
    .construction-authority-item,
    .health-authority-item,
    .digital-authority-item,
    .open-company-stats-grid article,
    .open-company-authority-card,
    .accounting-authority-item
) span {
    display: block;
    max-width: none;
    margin-top: 0.75rem;
    color: rgba(248, 249, 250, 0.76);
    font-weight: 600;
    line-height: 1.6;
}

@media (max-width: 1024px) {
    :is(
        .construction-authority-grid,
        .health-authority-grid,
        .digital-authority-grid,
        .open-company-stats-grid,
        .open-company-authority-grid,
        .accounting-authority-grid
    ) {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 720px) {
    :is(
        .construction-authority-heading,
        .health-authority-heading,
        .digital-authority-intro,
        .open-company-stats-section .open-company-section-heading,
        .open-company-authority-heading,
        .accounting-authority-heading
    ) {
        text-align: left;
    }

    :is(
        .construction-authority-label,
        .health-authority-heading .section-label,
        .digital-authority-intro .section-label,
        .open-company-stats-section .section-label,
        .open-company-authority-label,
        .accounting-authority-label
    ) {
        justify-content: flex-start;
    }

    :is(
        .construction-authority-grid,
        .health-authority-grid,
        .digital-authority-grid,
        .open-company-stats-grid,
        .open-company-authority-grid,
        .accounting-authority-grid
    ) {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(
        .construction-authority-item,
        .health-authority-item,
        .digital-authority-item,
        .open-company-stats-grid article,
        .open-company-authority-card,
        .accounting-authority-item
    ),
    :is(
        .construction-authority-item,
        .health-authority-item,
        .digital-authority-item,
        .open-company-stats-grid article,
        .open-company-authority-card,
        .accounting-authority-item
    ):hover {
        transform: none;
        transition: none;
    }
}

/* Refinamento dos blocos de autoridade com CSS legado mais especifico */
.construction-page .construction-authority-section,
.health-page .health-authority-section,
.digital-market-page .digital-authority-section,
.accounting-page .accounting-authority-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4rem, 7vw, 6rem) 0;
    background:
        radial-gradient(circle at 14% 0%, rgba(206, 99, 99, 0.2), transparent 32%),
        linear-gradient(135deg, var(--dark-gray), var(--primary-red-dark));
    color: #fff;
}

.construction-page .construction-authority-section::before,
.health-page .health-authority-section::before,
.digital-market-page .digital-authority-section::before,
.accounting-page .accounting-authority-section::before {
    content: "";
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.05) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.04) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 16%, #000 82%, transparent);
    pointer-events: none;
}

.accounting-page .accounting-authority-section::after {
    display: none;
}

.construction-page .construction-authority-section .container,
.health-page .health-authority-section .container,
.digital-market-page .digital-authority-section .container,
.accounting-page .accounting-authority-section .container {
    position: relative;
    z-index: 1;
    display: block;
}

.construction-page .construction-authority-heading,
.health-page .health-authority-heading,
.digital-market-page .digital-authority-intro,
.accounting-page .accounting-authority-heading {
    display: block;
    max-width: 820px;
    margin: 0 auto 2.4rem;
    text-align: center;
}

.construction-page .construction-authority-label,
.health-page .health-authority-heading .section-label,
.digital-market-page .digital-authority-intro .section-label,
.accounting-page .accounting-authority-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0 0 1rem;
    color: var(--primary-red-light);
    font-size: 0.75rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.construction-page .construction-authority-label::before,
.health-page .health-authority-heading .section-label::before,
.digital-market-page .digital-authority-intro .section-label::before,
.accounting-page .accounting-authority-label::before {
    content: "";
    width: 26px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
}

.construction-page .construction-authority-heading h2,
.health-page .health-authority-heading h2,
.digital-market-page .digital-authority-intro h2,
.accounting-page .accounting-authority-heading #accounting-authority-title {
    max-width: none;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
    text-align: inherit;
}

.construction-page .construction-authority-grid,
.health-page .health-authority-grid,
.digital-market-page .digital-authority-grid,
.accounting-page .accounting-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    border: 0;
    background: transparent;
}

.construction-page .construction-authority-item,
.construction-page .construction-authority-item:first-child,
.health-page .health-authority-item,
.health-page .health-authority-item:first-child,
.health-page .health-authority-item:last-child,
.digital-market-page .digital-authority-item,
.digital-market-page .digital-authority-item:first-child,
.accounting-page .accounting-authority-item,
.accounting-page .accounting-authority-item:first-child {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: 180px;
    padding: 1.5rem;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.16);
    transition: var(--transition);
}

.construction-page .construction-authority-item::before,
.construction-page .construction-authority-item:first-child::before,
.health-page .health-authority-item::before,
.digital-market-page .digital-authority-item::before,
.digital-market-page .digital-authority-item:first-child::before,
.accounting-page .accounting-authority-item::before,
.accounting-page .accounting-authority-item:first-child::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    left: 0;
    top: 0;
    width: auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(248, 249, 250, 0.2));
}

.construction-page .construction-authority-item:hover,
.health-page .health-authority-item:hover,
.digital-market-page .digital-authority-item:hover,
.accounting-page .accounting-authority-item:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(206, 99, 99, 0.42);
}

.construction-page .construction-authority-item strong,
.health-page .health-authority-item strong,
.health-page .health-authority-value,
.digital-market-page .digital-authority-item strong,
.accounting-page .accounting-authority-item strong {
    display: block;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 3.7vw, 3rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
}

.construction-page .construction-authority-item span,
.health-page .health-authority-item span,
.digital-market-page .digital-authority-item span,
.accounting-page .accounting-authority-item span {
    display: block;
    max-width: none;
    margin-top: 0.75rem;
    color: rgba(248, 249, 250, 0.76);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.6;
}

@media (max-width: 1024px) {
    .construction-page .construction-authority-grid,
    .health-page .health-authority-grid,
    .digital-market-page .digital-authority-grid,
    .accounting-page .accounting-authority-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 720px) {
    .construction-page .construction-authority-heading,
    .health-page .health-authority-heading,
    .digital-market-page .digital-authority-intro,
    .accounting-page .accounting-authority-heading {
        text-align: left;
    }

    .construction-page .construction-authority-label,
    .health-page .health-authority-heading .section-label,
    .digital-market-page .digital-authority-intro .section-label,
    .accounting-page .accounting-authority-label {
        justify-content: flex-start;
    }

    .construction-page .construction-authority-grid,
    .health-page .health-authority-grid,
    .digital-market-page .digital-authority-grid,
    .accounting-page .accounting-authority-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-authority-item:nth-child(2),
    .health-page .health-authority-item:nth-child(3),
    .health-page .health-authority-item:nth-child(4) {
        border: 1px solid rgba(248, 249, 250, 0.14);
    }
}

@media (prefers-reduced-motion: reduce) {
    .construction-page .construction-authority-item,
    .health-page .health-authority-item,
    .digital-market-page .digital-authority-item,
    .accounting-page .accounting-authority-item,
    .construction-page .construction-authority-item:hover,
    .health-page .health-authority-item:hover,
    .digital-market-page .digital-authority-item:hover,
    .accounting-page .accounting-authority-item:hover {
        transform: none;
        transition: none;
    }
}

/* Saúde — hero editorial claro */
.health-page .hero-health {
    min-height: clamp(660px, calc(100vh - 74px), 820px);
    padding: clamp(72px, 9vw, 118px) 0 clamp(82px, 10vw, 130px);
    background:
        linear-gradient(110deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 249, 250, 0.92) 54%, rgba(255, 246, 245, 0.96) 100%);
}

.health-page .health-hero-grid {
    align-items: center;
    grid-template-columns: minmax(0, 0.96fr) minmax(360px, 1.04fr);
    gap: clamp(42px, 7vw, 96px);
}

.health-page .health-hero-text {
    max-width: 690px;
}

.health-hero-label {
    margin-bottom: 20px;
    color: var(--primary-red);
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.13em;
}

.health-hero-label::before {
    width: 28px;
    height: 2px;
    background: var(--primary-red-light);
}

.health-page .health-hero-text .hero-title {
    max-width: 720px;
    color: var(--white);
    font-size: clamp(2.9rem, 5.6vw, 5.25rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.health-page .health-hero-text .hero-text {
    max-width: 620px;
    color: rgba(37, 27, 27, 0.7);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.82;
}

.health-page .health-hero-actions .cta-button-red {
    min-height: 54px;
    padding: 14px 24px;
    border-radius: 999px;
    box-shadow: 0 16px 34px rgba(65, 22, 15, 0.2);
}

.health-hero-secondary {
    min-height: 54px;
    padding: 14px 22px;
    border: 0;
    border-bottom: 1px solid rgba(65, 22, 15, 0.26);
    border-radius: 0;
    background: transparent;
}

.health-hero-secondary:hover {
    background: transparent;
    border-color: var(--primary-red);
    color: var(--primary-red-dark);
}

.health-hero-proof {
    gap: 18px;
    margin-top: 30px;
}

.health-hero-proof span {
    padding: 0 0 0 20px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(37, 27, 27, 0.72);
    font-size: 0.78rem;
    font-weight: 700;
}

.health-hero-proof span::before {
    left: 0;
    content: "";
    top: 50%;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--primary-red-light);
    transform: translateY(-50%);
}

.health-page .health-hero-img {
    position: relative;
    min-height: clamp(460px, 48vw, 620px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-hero-img::before {
    z-index: -1;
    inset: auto 4% -5% auto;
    width: 74%;
    height: 72%;
    border: 0;
    border-radius: 999px 999px 34px 999px;
    background: rgba(206, 99, 99, 0.14);
}

.health-page .health-hero-img::after {
    content: "";
    position: absolute;
    z-index: -2;
    top: 8%;
    left: 2%;
    width: 42%;
    height: 42%;
    border: 1px solid rgba(65, 22, 15, 0.12);
    border-radius: 50%;
}

.health-page .health-hero-img img {
    display: block;
    width: min(100%, 560px);
    height: clamp(440px, 50vw, 620px);
    max-width: none;
    max-height: none;
    margin-left: auto;
    object-fit: cover;
    object-position: center;
    border-radius: 48% 52% 34px 34px;
    box-shadow: 0 28px 70px rgba(37, 27, 27, 0.16);
    filter: none;
}

.health-hero-card {
    right: auto;
    bottom: clamp(28px, 5vw, 62px);
    left: 0;
    width: min(280px, 76%);
    padding: 15px 18px;
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 20px 48px rgba(37, 27, 27, 0.14);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.health-hero-card strong {
    color: var(--primary-red-dark);
    font-size: 0.95rem;
}

.health-hero-card span {
    color: rgba(37, 27, 27, 0.64);
    font-size: 0.72rem;
}

@media (max-width: 1024px) {
    .health-page .health-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
    }

    .health-page .health-hero-img img {
        height: clamp(420px, 54vw, 560px);
    }
}

@media (max-width: 768px) {
    .health-page .hero-health {
        padding: 58px 0 78px;
    }

    .health-page .health-hero-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-hero-img {
        width: min(100%, 560px);
        min-height: auto;
        margin: 0 auto;
    }

    .health-page .health-hero-img img {
        width: 100%;
        height: min(96vw, 520px);
        margin: 0;
    }
}

@media (max-width: 480px) {
    .health-page .health-hero-text .hero-title {
        font-size: clamp(2.55rem, 13vw, 3.25rem);
    }

    .health-hero-proof {
        gap: 12px;
    }

    .health-hero-card {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        margin-top: 14px;
        border-radius: 18px;
    }
}

/* Saúde — diferenciais em faixa delicada */
.health-page .health-trust-strip {
    position: relative;
    overflow: hidden;
    padding: clamp(30px, 4.5vw, 52px) 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 249, 250, 0.92));
    border-top: 1px solid rgba(65, 22, 15, 0.07);
    border-bottom: 1px solid rgba(65, 22, 15, 0.07);
}

.health-page .health-trust-strip::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 10% 50%, rgba(206, 99, 99, 0.08), transparent 24%),
        radial-gradient(circle at 92% 10%, rgba(65, 22, 15, 0.045), transparent 22%);
    pointer-events: none;
}

.health-page .health-trust-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.health-page .health-trust-card {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
    min-height: 0;
    padding: clamp(10px, 2vw, 18px) clamp(22px, 3vw, 36px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-trust-card + .health-trust-card {
    border-left: 1px solid rgba(65, 22, 15, 0.09);
}

.health-page .health-trust-card::before {
    content: "";
    position: absolute;
    left: clamp(22px, 3vw, 36px);
    bottom: 0;
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
    opacity: 0;
    transition: var(--transition);
}

.health-page .health-trust-card:hover {
    transform: none;
    background: transparent;
    box-shadow: none;
}

.health-page .health-trust-card:hover::before {
    opacity: 1;
}

.health-page .health-trust-card img {
    width: 38px;
    height: 38px;
    padding: 8px;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.1);
    object-fit: contain;
    filter: grayscale(100%) sepia(12%) opacity(0.72);
    transition: var(--transition);
}

.health-page .health-trust-card:hover img {
    filter: grayscale(0%) opacity(1);
    transform: none;
}

.health-page .health-trust-card h2 {
    margin: 0 0 7px;
    color: var(--primary-red-dark);
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.25;
}

.health-page .health-trust-card p {
    margin: 0;
    color: rgba(37, 27, 27, 0.66);
    font-size: 0.86rem;
    line-height: 1.65;
}

@media (max-width: 860px) {
    .health-page .health-trust-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .health-page .health-trust-card {
        padding: 0 0 18px;
    }

    .health-page .health-trust-card + .health-trust-card {
        padding-top: 18px;
        border-top: 1px solid rgba(65, 22, 15, 0.09);
        border-left: 0;
    }

    .health-page .health-trust-card::before {
        left: 0;
    }
}

@media (max-width: 480px) {
    .health-page .health-trust-card {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 13px;
    }

    .health-page .health-trust-card img {
        width: 34px;
        height: 34px;
        padding: 7px;
    }
}

/* Saúde — introdução com imagem e lista leve */
.health-page .health-trust-strip + .health-section-gray {
    position: relative;
    overflow: hidden;
    padding: clamp(78px, 9vw, 124px) 0;
    background:
        radial-gradient(circle at 92% 8%, rgba(206, 99, 99, 0.09), transparent 30%),
        linear-gradient(180deg, #fff 0%, rgba(248, 249, 250, 0.82) 100%);
}

.health-page .health-trust-strip + .health-section-gray::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(65, 22, 15, 0.035) 1px, transparent 1px);
    background-size: 96px 96px;
    mask-image: linear-gradient(90deg, transparent, #000 14%, rgba(0, 0, 0, 0.55) 62%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, rgba(0, 0, 0, 0.55) 62%, transparent);
    pointer-events: none;
}

.health-page .health-intro-content {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1.08fr);
    gap: clamp(48px, 8vw, 112px);
    align-items: center;
}

.health-page .health-intro-media {
    position: relative;
    min-height: clamp(460px, 48vw, 620px);
}

.health-page .health-intro-media::before {
    inset: auto auto -22px -22px;
    width: 68%;
    height: 74%;
    border: 0;
    border-radius: 34px 999px 999px 999px;
    background: rgba(206, 99, 99, 0.12);
}

.health-page .health-intro-media::after {
    content: "";
    position: absolute;
    z-index: -2;
    top: 5%;
    right: 4%;
    width: 38%;
    height: 38%;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 50%;
}

.health-page .health-intro-media img {
    display: block;
    width: min(100%, 560px);
    height: clamp(440px, 50vw, 620px);
    object-fit: cover;
    object-position: center;
    border-radius: 34px 34px 52% 48%;
    box-shadow: 0 28px 70px rgba(37, 27, 27, 0.14);
}

.health-page .health-intro-authority {
    right: auto;
    bottom: clamp(24px, 5vw, 54px);
    left: clamp(-10px, -1vw, 0px);
    width: min(300px, 78%);
    padding: 16px 18px;
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 20px 48px rgba(37, 27, 27, 0.14);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.health-page .health-intro-authority strong {
    color: var(--primary-red-dark);
    font-size: 0.92rem;
}

.health-page .health-intro-authority span {
    color: rgba(37, 27, 27, 0.64);
    font-size: 0.72rem;
}

.health-page .health-intro-copy {
    max-width: 680px;
}

.health-page .health-intro-copy .section-header {
    margin: 0 0 26px;
    text-align: left;
}

.health-page .health-intro-copy .section-label {
    margin-bottom: 16px;
}

.health-page .health-intro-copy .section-header h2 {
    max-width: 680px;
    color: var(--primary-red-dark);
    font-size: clamp(2.2rem, 4.5vw, 4.25rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.health-page .health-intro-copy .section-subtitle {
    max-width: 650px;
    margin: 18px 0 0;
    color: rgba(37, 27, 27, 0.68);
    font-size: 1rem;
    line-height: 1.82;
}

.health-page .health-intro-list ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(65, 22, 15, 0.1);
}

.health-page .health-intro-list ul li {
    position: relative;
    padding: 18px 0 18px 34px;
    border-bottom: 1px solid rgba(65, 22, 15, 0.1);
    background: transparent;
    color: rgba(37, 27, 27, 0.7);
    font-size: 0.95rem;
    line-height: 1.72;
}

.health-page .health-intro-list ul li::before {
    content: "";
    position: absolute;
    top: 26px;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--primary-red-light);
    box-shadow: 0 0 0 6px rgba(206, 99, 99, 0.12);
}

.health-page .health-intro-list strong {
    color: var(--primary-red-dark);
}

@media (max-width: 980px) {
    .health-page .health-intro-content {
        grid-template-columns: 1fr;
    }

    .health-page .health-intro-media {
        width: min(100%, 560px);
        min-height: auto;
    }
}

@media (max-width: 560px) {
    .health-page .health-trust-strip + .health-section-gray {
        padding: 64px 0 82px;
    }

    .health-page .health-intro-media img {
        height: min(98vw, 500px);
    }

    .health-page .health-intro-authority {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        margin-top: 14px;
        border-radius: 18px;
    }

    .health-page .health-intro-list ul li {
        padding-left: 28px;
    }
}

/* Saúde — setores atendidos em grade leve */
.health-page #setores-saude {
    position: relative;
    overflow: hidden;
    padding: clamp(78px, 9vw, 122px) 0;
    background:
        linear-gradient(180deg, rgba(248, 249, 250, 0.82), #fff 48%, rgba(255, 246, 245, 0.72));
}

.health-page #setores-saude .section-header {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0 0 clamp(38px, 6vw, 68px);
    text-align: left;
}

.health-page #setores-saude .section-label {
    margin-bottom: 16px;
}

.health-page #setores-saude .section-header #health-sectors-title {
    max-width: 760px;
    color: var(--primary-red-dark);
    font-size: clamp(2.25rem, 4.8vw, 4.35rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.health-page #setores-saude .header-line {
    display: none;
}

.health-page #setores-saude .section-subtitle {
    max-width: 680px;
    margin: 18px 0 0;
    color: rgba(37, 27, 27, 0.68);
    font-size: 1rem;
    line-height: 1.82;
}

.health-page .health-sectors-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(65, 22, 15, 0.1);
    border-left: 1px solid rgba(65, 22, 15, 0.1);
}

.health-page .health-sector-card {
    position: relative;
    min-height: 260px;
    padding: clamp(24px, 3.5vw, 38px);
    border: 0;
    border-right: 1px solid rgba(65, 22, 15, 0.1);
    border-bottom: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.56);
    box-shadow: none;
}

.health-page .health-sector-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: clamp(24px, 3.5vw, 38px);
    width: 34px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary-red-light);
    opacity: 0;
    transition: var(--transition);
}

.health-page .health-sector-card:hover {
    transform: none;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: none;
}

.health-page .health-sector-card:hover::before {
    opacity: 1;
}

.health-page .health-sector-card img {
    width: 44px;
    height: 44px;
    margin: 0 0 26px;
    padding: 9px;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.1);
    object-fit: contain;
    filter: grayscale(100%) sepia(14%) opacity(0.74);
    transition: var(--transition);
}

.health-page .health-sector-card:hover img {
    filter: grayscale(0%) opacity(1);
    transform: none;
}

.health-page .health-sector-card h3 {
    max-width: 310px;
    margin: 0 0 13px;
    color: var(--primary-red-dark);
    font-size: clamp(1.04rem, 1.5vw, 1.22rem);
    line-height: 1.28;
}

.health-page .health-sector-card p {
    max-width: 330px;
    margin: 0;
    color: rgba(37, 27, 27, 0.66);
    font-size: 0.92rem;
    line-height: 1.72;
}

@media (max-width: 980px) {
    .health-page .health-sectors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .health-page .health-sectors-grid {
        grid-template-columns: 1fr;
        border-left: 0;
    }

    .health-page .health-sector-card {
        min-height: 0;
        padding: 26px 0;
        border-right: 0;
        background: transparent;
    }

    .health-page .health-sector-card::before {
        left: 0;
    }
}

/* Saúde — metodologia em timeline sutil */
.health-page .health-method-section {
    position: relative;
    overflow: hidden;
    padding: clamp(82px, 9vw, 128px) 0;
    background-color: #fff;
    background:
        radial-gradient(circle at 8% 16%, rgba(206, 99, 99, 0.08), transparent 28%),
        linear-gradient(180deg, #fff 0%, rgba(248, 249, 250, 0.9) 100%);
    color: var(--dark-gray);
}

.health-page .health-method-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(48px, 8vw, 112px);
    align-items: start;
}

.health-page .health-method-intro {
    position: sticky;
    top: 104px;
    max-width: 520px;
}

.health-page .health-method-intro .section-label {
    margin-bottom: 16px;
}

.health-page .health-method-intro #health-method-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.health-page .health-method-intro p {
    margin: 20px 0 30px;
    color: rgba(37, 27, 27, 0.68);
    font-size: 1rem;
    line-height: 1.82;
}

.health-page .health-method-intro .cta-button-red {
    border-radius: 999px;
    box-shadow: 0 16px 34px rgba(65, 22, 15, 0.18);
}

.health-page .health-method-list {
    position: relative;
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.health-page .health-method-list::before {
    content: "";
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 24px;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(65, 22, 15, 0.16), transparent);
}

.health-page .health-method-item {
    position: relative;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 24px;
    min-height: 0;
    padding: 0 0 34px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-method-item:last-child {
    padding-bottom: 0;
}

.health-page .health-method-item:first-child {
    border: 0;
}

.health-page .health-method-number {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border: 1px solid rgba(65, 22, 15, 0.11);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--primary-red);
    box-shadow: 0 10px 26px rgba(37, 27, 27, 0.08);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.health-page .health-method-item h3 {
    margin: 4px 0 10px;
    color: var(--primary-red-dark);
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    line-height: 1.28;
}

.health-page .health-method-item p {
    max-width: 620px;
    margin: 0;
    color: rgba(37, 27, 27, 0.66);
    font-size: 0.96rem;
    line-height: 1.78;
}

@media (max-width: 960px) {
    .health-page .health-method-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-method-intro {
        position: static;
        max-width: 760px;
    }
}

@media (max-width: 560px) {
    .health-page .health-method-section {
        padding: 68px 0 88px;
    }

    .health-page .health-method-list::before {
        left: 20px;
    }

    .health-page .health-method-item {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 18px;
        padding-bottom: 30px;
    }

    .health-page .health-method-number {
        width: 42px;
        height: 42px;
        font-size: 0.7rem;
    }
}

/* Saúde — conversão, proteção e depoimento com composição editorial */
.health-page .health-conversion-section {
    position: relative;
    overflow: hidden;
    padding: clamp(76px, 9vw, 118px) 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(206, 99, 99, 0.13), transparent 30%),
        linear-gradient(135deg, var(--primary-red-dark), #251b1b);
    color: #fff;
}

.health-page .health-conversion-section::before,
.health-page .health-conversion-section::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.health-page .health-conversion-section::before {
    right: -160px;
    top: -190px;
    width: 390px;
    height: 390px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 0 70px rgba(255, 255, 255, 0.018);
}

.health-page .health-conversion-section::after {
    left: -170px;
    bottom: -210px;
    width: 430px;
    height: 430px;
    background: rgba(206, 99, 99, 0.08);
}

.health-page .health-conversion-section .health-cta-container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(36px, 7vw, 96px);
    align-items: end;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-cta-copy {
    max-width: 820px;
}

.health-page .health-cta-label {
    color: var(--primary-red-light);
}

.health-page .health-conversion-section .health-cta-container h2 {
    max-width: 900px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.2rem, 4.9vw, 4.45rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.health-page .health-cta-copy p {
    max-width: 700px;
    margin: 20px 0 0;
    color: rgba(248, 249, 250, 0.76);
    font-size: 1rem;
    line-height: 1.82;
}

.health-page .health-cta-action {
    align-items: flex-start;
    min-width: 240px;
}

.health-page .health-cta-action .cta-button-red {
    border-radius: 999px;
    background: #fff;
    color: var(--primary-red-dark);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

.health-page .health-cta-action .cta-button-red:hover,
.health-page .health-cta-action .cta-button-red:focus-visible {
    background: var(--white);
    color: var(--primary-red);
}

.health-page .health-cta-action span {
    color: rgba(248, 249, 250, 0.66);
}

.health-page .health-protection-section {
    position: relative;
    overflow: hidden;
    padding: clamp(82px, 9vw, 128px) 0;
    background:
        linear-gradient(180deg, #fff 0%, rgba(248, 249, 250, 0.78) 100%);
}

.health-page .health-protection-section .health-commercial-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(330px, 1.04fr);
    gap: clamp(48px, 8vw, 112px);
    align-items: center;
}

.health-page .health-protection-section .health-commercial-text {
    max-width: 700px;
}

.health-page .health-protection-section .health-commercial-text h2 {
    color: var(--primary-red-dark);
    font-size: clamp(2.25rem, 4.8vw, 4.35rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.health-page .health-protection-section .health-commercial-text p {
    color: rgba(37, 27, 27, 0.68);
    line-height: 1.82;
}

.health-page .health-protection-list {
    display: grid;
    gap: 0;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(65, 22, 15, 0.1);
}

.health-page .health-protection-list li {
    position: relative;
    padding: 15px 0 15px 30px;
    border-bottom: 1px solid rgba(65, 22, 15, 0.1);
    color: rgba(37, 27, 27, 0.7);
    font-weight: 700;
}

.health-page .health-protection-list li::before {
    content: "";
    position: absolute;
    top: 22px;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--primary-red-light);
    box-shadow: 0 0 0 6px rgba(206, 99, 99, 0.12);
}

.health-page .health-protection-section .health-img-container {
    position: relative;
    min-height: clamp(430px, 48vw, 620px);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-protection-section .health-img-container::before {
    inset: auto auto -18px -20px;
    width: 70%;
    height: 72%;
    border: 0;
    border-radius: 34px 999px 999px 999px;
    background: rgba(206, 99, 99, 0.12);
}

.health-page .health-protection-section .health-img-container img {
    display: block;
    width: min(100%, 560px);
    height: clamp(430px, 50vw, 620px);
    margin-left: auto;
    object-fit: cover;
    object-position: center;
    border-radius: 52% 48% 34px 34px;
    box-shadow: 0 28px 70px rgba(37, 27, 27, 0.14);
}

.health-page .health-protection-card {
    right: auto;
    bottom: clamp(24px, 5vw, 54px);
    left: 0;
    width: min(320px, 78%);
    padding: 17px 19px;
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 20px 48px rgba(37, 27, 27, 0.14);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.health-page .health-protection-card span {
    color: var(--primary-red);
}

.health-page .health-protection-card strong {
    color: var(--primary-red-dark);
}

.health-page .health-testimonial-section {
    position: relative;
    overflow: hidden;
    padding: clamp(82px, 9vw, 126px) 0;
    background:
        radial-gradient(circle at 12% 16%, rgba(206, 99, 99, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(248, 249, 250, 0.85), #fff);
}

.health-page .health-testimonial-heading {
    max-width: 820px;
    margin: 0 0 clamp(38px, 6vw, 66px);
    text-align: left;
}

.health-page .health-testimonial-heading #health-testimonial-title {
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.health-page .health-testimonial-heading > p {
    max-width: 660px;
    margin: 18px 0 0;
    color: rgba(37, 27, 27, 0.68);
    line-height: 1.82;
}

.health-page .health-testimonial-section .testimonial-content {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
    gap: clamp(40px, 7vw, 88px);
    align-items: stretch;
}

.health-page .health-testimonial-section .testimonial-text {
    position: relative;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-testimonial-section .testimonial-text::before {
    content: "“";
    position: static;
    display: block;
    margin-bottom: 14px;
    color: rgba(206, 99, 99, 0.36);
    font-size: clamp(4rem, 9vw, 7rem);
    font-family: Georgia, serif;
    line-height: 0.75;
}

.health-page .health-testimonial-section .testimonial-quote {
    color: var(--primary-red-dark);
    font-size: clamp(1.35rem, 2.45vw, 2.35rem);
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: -0.035em;
}

.health-page .health-testimonial-section .testimonial-text footer {
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid rgba(65, 22, 15, 0.1);
}

.health-page .health-testimonial-brand {
    min-height: 0;
    padding: clamp(28px, 4vw, 42px);
    border: 1px solid rgba(65, 22, 15, 0.08);
    border-radius: 34px;
    background:
        radial-gradient(circle at 90% 10%, rgba(206, 99, 99, 0.14), transparent 30%),
        rgba(65, 22, 15, 0.96);
    box-shadow: 0 24px 64px rgba(37, 27, 27, 0.14);
}

@media (max-width: 940px) {
    .health-page .health-conversion-section .health-cta-container,
    .health-page .health-protection-section .health-commercial-grid,
    .health-page .health-testimonial-section .testimonial-content {
        grid-template-columns: 1fr;
    }

    .health-page .health-cta-action {
        min-width: 0;
    }

    .health-page .health-protection-section .health-img-container {
        width: min(100%, 560px);
        min-height: auto;
    }
}

@media (max-width: 560px) {
    .health-page .health-conversion-section,
    .health-page .health-protection-section,
    .health-page .health-testimonial-section {
        padding: 68px 0 86px;
    }

    .health-page .health-protection-section .health-img-container img {
        height: min(98vw, 500px);
    }

    .health-page .health-protection-card {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        margin-top: 14px;
    }
}

/* Saúde — CTA final leve e premium */
.health-page .health-final-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(72px, 9vw, 118px) 0 clamp(96px, 10vw, 132px);
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.07) 0 1px, transparent 1px 100%),
        linear-gradient(180deg, #fffdfb 0%, #ffffff 58%, #f8f5f2 100%);
    background-size: 86px 100%, auto;
}

.health-page .health-final-cta::before {
    content: '';
    position: absolute;
    inset: auto auto 0 0;
    width: min(48vw, 520px);
    height: 1px;
    background: linear-gradient(90deg, rgba(166, 42, 42, 0.38), transparent);
}

.health-page .health-final-cta-card {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 300px);
    gap: clamp(32px, 7vw, 92px);
    align-items: end;
    padding: 0;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.health-page .health-final-cta-card::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -34px;
    left: clamp(18px, 12vw, 160px);
    width: clamp(120px, 18vw, 210px);
    height: clamp(120px, 18vw, 210px);
    border: 1px solid rgba(166, 42, 42, 0.15);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.5);
}

.health-page .health-final-cta-copy {
    max-width: 760px;
    padding-left: clamp(18px, 4vw, 42px);
    border-left: 2px solid rgba(166, 42, 42, 0.28);
}

.health-page .health-final-cta-copy .section-label {
    display: inline-flex;
    width: fit-content;
    margin: 0 0 18px;
    color: #a62a2a;
    background: rgba(166, 42, 42, 0.08);
    border-color: rgba(166, 42, 42, 0.16);
}

.health-page .health-final-cta-copy #health-final-cta-title {
    max-width: 760px;
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.health-page .health-final-cta-copy p {
    max-width: 650px;
    margin: 0;
    color: #675d59;
    font-size: clamp(15px, 1.6vw, 18px);
    line-height: 1.78;
}

.health-page .health-final-cta-action {
    position: relative;
    display: grid;
    justify-items: start;
    gap: 14px;
    min-width: 0;
    padding: 26px 0 0;
}

.health-page .health-final-cta-action::before {
    content: '';
    width: 58px;
    height: 2px;
    background: #a62a2a;
}

.health-page .health-final-cta-action .cta-button-red {
    min-height: 54px;
    margin: 0;
    padding: 15px 24px;
    border-radius: 999px;
    background: #a62a2a;
    box-shadow: 0 16px 34px rgba(166, 42, 42, 0.22);
    white-space: normal;
}

.health-page .health-final-cta-action .cta-button-red:hover,
.health-page .health-final-cta-action .cta-button-red:focus-visible {
    background: #8f2323;
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(166, 42, 42, 0.26);
}

.health-page .health-final-cta-action span {
    max-width: 260px;
    color: #7a706b;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.55;
    text-align: left;
}

@media (max-width: 860px) {
    .health-page .health-final-cta-card {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .health-page .health-final-cta-action {
        padding-top: 6px;
    }
}

@media (max-width: 560px) {
    .health-page .health-final-cta {
        padding: 62px 0 100px;
        background-size: 54px 100%, auto;
    }

    .health-page .health-final-cta-copy {
        padding-left: 18px;
    }

    .health-page .health-final-cta-action,
    .health-page .health-final-cta-action .cta-button-red {
        width: 100%;
    }

    .health-page .health-final-cta-action span {
        max-width: none;
    }
}

/* Saúde — revisão geral de consistência */
.health-page .section-label,
.health-page .health-hero-label,
.health-page .health-cta-label {
    letter-spacing: 0.08em;
}

.health-page #setores-saude .section-header #health-sectors-title,
.health-page .health-intro-copy h2,
.health-page .health-method-intro #health-method-title,
.health-page .health-cta-copy h2,
.health-page .health-protection-section h2,
.health-page .health-testimonial-heading #health-testimonial-title,
.health-page .health-authority-heading h2,
.health-page .health-final-cta-copy #health-final-cta-title {
    letter-spacing: 0;
}

.health-page .health-authority-section {
    padding: clamp(72px, 9vw, 116px) 0;
    background:
        radial-gradient(circle at 86% 14%, rgba(166, 42, 42, 0.1), transparent 30%),
        linear-gradient(180deg, #fff 0%, #fff8f6 100%);
    color: #211816;
}

.health-page .health-authority-section::before {
    inset: 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.06) 0 1px, transparent 1px 100%),
        linear-gradient(180deg, rgba(166, 42, 42, 0.04) 0 1px, transparent 1px 100%);
    background-size: 84px 84px;
    mask-image: linear-gradient(180deg, transparent, #000 20%, #000 86%, transparent);
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 20%, #000 86%, transparent);
}

.health-page .health-authority-heading {
    max-width: 720px;
    margin: 0 0 clamp(34px, 5vw, 58px);
    text-align: left;
}

.health-page .health-authority-heading .section-label {
    color: #a62a2a;
}

.health-page .health-authority-heading h2 {
    color: #211816;
    font-weight: 760;
}

.health-page .health-authority-grid {
    gap: 0;
    border-top: 1px solid rgba(166, 42, 42, 0.14);
    border-bottom: 1px solid rgba(166, 42, 42, 0.14);
}

.health-page .health-authority-item,
.health-page .health-authority-item:first-child,
.health-page .health-authority-item:last-child {
    min-height: 164px;
    padding: clamp(22px, 3.4vw, 36px);
    border: 0;
    border-right: 1px solid rgba(166, 42, 42, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.36);
    box-shadow: none;
}

.health-page .health-authority-item:last-child {
    border-right: 0;
}

.health-page .health-authority-item::before {
    inset: auto 0 0;
    width: auto;
    height: 2px;
    background: rgba(166, 42, 42, 0.32);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.health-page .health-authority-item:hover {
    transform: none;
    border-color: rgba(166, 42, 42, 0.14);
    background: rgba(255, 255, 255, 0.72);
}

.health-page .health-authority-item:hover::before {
    transform: scaleX(1);
}

.health-page .health-authority-item strong,
.health-page .health-authority-value {
    color: #a62a2a;
    font-weight: 780;
    letter-spacing: 0;
}

.health-page .health-authority-item span {
    max-width: 180px;
    color: #665b56;
    font-weight: 650;
}

.health-page .health-intro-media img,
.health-page .health-protection-section .health-img-container img {
    filter: saturate(0.94) contrast(1.02);
}

@media (max-width: 1024px) {
    .health-page .health-authority-item:nth-child(2) {
        border-right: 0;
    }

    .health-page .health-authority-item:nth-child(1),
    .health-page .health-authority-item:nth-child(2) {
        border-bottom: 1px solid rgba(166, 42, 42, 0.14);
    }
}

@media (max-width: 720px) {
    .health-page .section-header,
    .health-page .health-testimonial-heading,
    .health-page .health-authority-heading {
        text-align: left;
    }

    .health-page .health-authority-grid {
        border-bottom: 0;
    }

    .health-page .health-authority-item,
    .health-page .health-authority-item:first-child,
    .health-page .health-authority-item:last-child,
    .health-page .health-authority-item:nth-child(2),
    .health-page .health-authority-item:nth-child(3),
    .health-page .health-authority-item:nth-child(4) {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(166, 42, 42, 0.14);
    }

    .health-page .health-authority-item span {
        max-width: none;
    }
}

/* Saúde — ajuste solicitado: CTA final premium */
.health-page .health-final-cta {
    padding: clamp(62px, 7vw, 96px) 0 clamp(92px, 9vw, 124px);
    background:
        radial-gradient(circle at 18% 18%, rgba(206, 99, 99, 0.08), transparent 28%),
        linear-gradient(180deg, #fff8f6 0%, #ffffff 100%);
}

.health-page .health-final-cta::before {
    display: none;
}

.health-page .health-final-cta-card {
    max-width: 1060px;
    margin-inline: auto;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(28px, 5vw, 70px);
    padding: clamp(26px, 4vw, 42px);
    border: 1px solid rgba(166, 42, 42, 0.12);
    border-radius: 28px;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.035) 0 1px, transparent 1px 100%),
        rgba(255, 255, 255, 0.58);
    background-size: 78px 100%, auto;
    box-shadow: 0 20px 52px rgba(33, 24, 22, 0.08);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.health-page .health-final-cta-card::before {
    display: none;
}

.health-page .health-final-cta-copy {
    max-width: 680px;
    padding-left: 0;
    border-left: 0;
}

.health-page .health-final-cta-copy .section-label {
    margin-bottom: 14px;
}

.health-page .health-final-cta-copy #health-final-cta-title {
    max-width: 680px;
    font-size: clamp(1.9rem, 3.6vw, 3.35rem);
    line-height: 1.06;
}

.health-page .health-final-cta-copy p {
    max-width: 540px;
    font-size: 0.98rem;
}

.health-page .health-final-cta-action {
    min-width: 220px;
    padding-top: 0;
}

.health-page .health-final-cta-action::before {
    display: none;
}

.health-page .health-final-cta-action .cta-button-red {
    min-height: 58px;
    padding: 16px 30px;
    border-color: rgba(166, 42, 42, 0.26);
    background: rgba(166, 42, 42, 0.12);
    font-size: 0.86rem;
}

.health-page .health-final-cta-action span {
    max-width: 240px;
}

@media (max-width: 820px) {
    .health-page .health-final-cta-card {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .health-page .health-final-cta-action,
    .health-page .health-final-cta-action .cta-button-red {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .health-page .health-hero-actions,
    .health-page .health-method-intro .cta-button-red,
    .health-page .health-cta-action,
    .health-page .health-cta-action .cta-button-red {
        width: 100%;
    }

    .health-page .health-hero-actions a,
    .health-page .health-method-intro .cta-button-red,
    .health-page .health-cta-action .cta-button-red {
        justify-content: center;
        text-align: center;
    }
}

/* Saúde — hero inspirado na referência médica */
.health-page .hero-health {
    position: relative;
    overflow: hidden;
    padding: clamp(74px, 9vw, 118px) 0 clamp(70px, 8vw, 104px);
    background:
        radial-gradient(circle at 77% 30%, rgba(166, 42, 42, 0.08), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #f7fbfa 48%, #fff6f3 100%);
}

.health-page .health-hero-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(380px, 1.08fr);
    gap: clamp(34px, 7vw, 100px);
}

.health-page .health-hero-text {
    position: relative;
    z-index: 2;
    max-width: 660px;
}

.health-page .health-hero-label {
    width: fit-content;
    margin-bottom: 18px;
    padding: 9px 13px;
    color: #a62a2a;
    background: rgba(166, 42, 42, 0.08);
    border: 1px solid rgba(166, 42, 42, 0.14);
    border-radius: 999px;
    letter-spacing: 0.08em;
}

.health-page .health-hero-label::before {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #a62a2a;
}

.health-page .health-hero-text .hero-title {
    max-width: 620px;
    margin-bottom: 18px;
    font-size: clamp(3rem, 5.4vw, 5rem);
    font-weight: 780;
    line-height: 1.01;
    letter-spacing: 0;
}

.health-page .health-hero-text .hero-text {
    max-width: 560px;
    margin-bottom: 28px;
    font-size: clamp(1rem, 1.35vw, 1.17rem);
    line-height: 1.78;
}

.health-page .health-hero-actions {
    gap: 12px;
}

.health-page .health-hero-actions .cta-button-red {
    min-height: 52px;
    padding: 14px 23px;
    background: #b72f2f;
    box-shadow: 0 16px 36px rgba(183, 47, 47, 0.22);
}

.health-page .health-hero-actions .cta-button-red:hover,
.health-page .health-hero-actions .cta-button-red:focus-visible {
    background: #982626;
}

.health-page .health-hero-secondary {
    min-height: 52px;
    padding: 13px 18px;
    border: 1px solid rgba(33, 24, 22, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.68);
    box-shadow: 0 12px 28px rgba(33, 24, 22, 0.06);
}

.health-page .health-hero-secondary:hover,
.health-page .health-hero-secondary:focus-visible {
    border-color: rgba(166, 42, 42, 0.25);
    background: #fff;
}

.health-page .health-hero-proof {
    max-width: 520px;
    gap: 10px;
    margin-top: 28px;
}

.health-page .health-hero-proof span {
    padding: 8px 11px 8px 24px;
    border: 1px solid rgba(166, 42, 42, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.62);
    color: #5e5450;
    font-size: 0.75rem;
}

.health-page .health-hero-proof span::before {
    left: 11px;
    width: 6px;
    height: 6px;
    background: #b72f2f;
}

.health-page .health-hero-img {
    z-index: 1;
    min-height: clamp(500px, 51vw, 660px);
}

.health-page .health-hero-img::before {
    z-index: -1;
    right: 2%;
    bottom: 3%;
    width: min(78%, 500px);
    height: min(84%, 560px);
    border-radius: 52% 52% 32px 32px;
    background:
        linear-gradient(180deg, rgba(183, 47, 47, 0.82), rgba(166, 42, 42, 0.72)),
        #b72f2f;
    box-shadow: 0 28px 70px rgba(166, 42, 42, 0.18);
}

.health-page .health-hero-img::after {
    top: 4%;
    left: 0;
    width: clamp(140px, 18vw, 230px);
    height: clamp(140px, 18vw, 230px);
    border-color: rgba(166, 42, 42, 0.16);
}

.health-page .health-hero-img img {
    position: relative;
    z-index: 1;
    width: min(92%, 540px);
    height: clamp(470px, 52vw, 650px);
    object-position: center top;
    border-radius: 44% 44% 30px 30px;
    box-shadow: 0 30px 76px rgba(33, 24, 22, 0.16);
}

.health-page .health-hero-card {
    z-index: 2;
    left: 0;
    bottom: clamp(44px, 8vw, 86px);
    width: min(280px, 72%);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.88);
}

.health-page .health-hero-card-secondary {
    top: clamp(74px, 9vw, 118px);
    right: 0;
    bottom: auto;
    left: auto;
    width: min(255px, 68%);
}

.health-page .health-hero-card-secondary::before {
    content: '';
    display: block;
    width: 34px;
    height: 34px;
    margin-bottom: 9px;
    border-radius: 999px;
    background:
        radial-gradient(circle at center, #fff 0 23%, transparent 24%),
        #b72f2f;
    box-shadow: 0 12px 24px rgba(183, 47, 47, 0.2);
}

@media (max-width: 1024px) {
    .health-page .health-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(330px, 0.88fr);
    }

    .health-page .health-hero-card-secondary {
        right: -8px;
    }
}

@media (max-width: 768px) {
    .health-page .hero-health {
        padding: 58px 0 78px;
    }

    .health-page .health-hero-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-hero-img {
        width: min(100%, 560px);
        min-height: 560px;
        margin: 10px auto 0;
    }

    .health-page .health-hero-img img {
        width: 92%;
        height: 530px;
        margin-left: auto;
    }

    .health-page .health-hero-card-secondary {
        top: 44px;
        right: 0;
    }
}

@media (max-width: 520px) {
    .health-page .health-hero-text .hero-title {
        font-size: clamp(2.55rem, 12vw, 3.25rem);
    }

    .health-page .health-hero-actions,
    .health-page .health-hero-actions a {
        width: 100%;
    }

    .health-page .health-hero-actions a {
        justify-content: center;
    }

    .health-page .health-hero-img {
        min-height: auto;
    }

    .health-page .health-hero-img img {
        width: 100%;
        height: min(112vw, 500px);
        border-radius: 38% 38% 24px 24px;
    }

    .health-page .health-hero-card,
    .health-page .health-hero-card-secondary {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: 100%;
        margin-top: 12px;
    }
}

/* Saúde — diferenciais delicados inspirados na referência */
.health-page .health-trust-strip {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 5vw, 66px) 0;
    background:
        radial-gradient(circle at 50% 0%, rgba(183, 47, 47, 0.07), transparent 38%),
        linear-gradient(180deg, #fffdfc 0%, #ffffff 100%);
    border-top: 1px solid rgba(166, 42, 42, 0.08);
    border-bottom: 1px solid rgba(166, 42, 42, 0.08);
}

.health-page .health-trust-strip::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 0%, rgba(166, 42, 42, 0.05) 50%, transparent 100%);
    pointer-events: none;
}

.health-page .health-trust-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 3vw, 36px);
    align-items: start;
}

.health-page .health-trust-card {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-trust-card + .health-trust-card {
    border-left: 1px solid rgba(166, 42, 42, 0.11);
    padding-left: clamp(18px, 3vw, 36px);
}

.health-page .health-trust-card:nth-child(2) {
    transform: translateY(-8px);
}

.health-page .health-trust-card:nth-child(2)::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -18px;
    left: clamp(12px, 2vw, 24px);
    width: 112px;
    height: 112px;
    border-radius: 999px;
    background: rgba(183, 47, 47, 0.07);
    filter: blur(2px);
}

.health-page .health-trust-card::before {
    content: "";
    position: absolute;
    left: 64px;
    bottom: -12px;
    width: 42px;
    height: 2px;
    border-radius: 999px;
    background: rgba(183, 47, 47, 0.42);
    opacity: 0;
    transition: opacity 0.25s ease;
}

.health-page .health-trust-card:nth-child(2)::before,
.health-page .health-trust-card:hover::before {
    opacity: 1;
}

.health-page .health-trust-card:hover {
    transform: none;
    background: transparent;
    box-shadow: none;
}

.health-page .health-trust-card:nth-child(2):hover {
    transform: translateY(-8px);
}

.health-page .health-trust-card img {
    width: 48px;
    height: 48px;
    padding: 10px;
    border: 1px solid rgba(183, 47, 47, 0.13);
    border-radius: 999px;
    background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.92), transparent 42%),
        rgba(183, 47, 47, 0.08);
    object-fit: contain;
    filter: saturate(0.75) opacity(0.86);
    transition: filter 0.25s ease, border-color 0.25s ease;
}

.health-page .health-trust-card:nth-child(2) img {
    border-color: rgba(183, 47, 47, 0.22);
    background:
        radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.96), transparent 42%),
        rgba(183, 47, 47, 0.13);
    filter: saturate(0.95) opacity(0.95);
}

.health-page .health-trust-card:hover img {
    filter: saturate(1) opacity(1);
    transform: none;
}

.health-page .health-trust-card h2 {
    margin: 0 0 8px;
    color: #211816;
    font-size: clamp(0.98rem, 1.2vw, 1.08rem);
    font-weight: 760;
    line-height: 1.25;
}

.health-page .health-trust-card p {
    max-width: 310px;
    margin: 0;
    color: #685e59;
    font-size: 0.88rem;
    line-height: 1.72;
}

@media (max-width: 860px) {
    .health-page .health-trust-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .health-page .health-trust-card,
    .health-page .health-trust-card:nth-child(2),
    .health-page .health-trust-card:nth-child(2):hover {
        transform: none;
    }

    .health-page .health-trust-card + .health-trust-card {
        padding-top: 22px;
        padding-left: 0;
        border-top: 1px solid rgba(166, 42, 42, 0.1);
        border-left: 0;
    }

    .health-page .health-trust-card::before {
        left: 64px;
    }

    .health-page .health-trust-card p {
        max-width: none;
    }
}

/* Saúde — alinhamento refinado da trust strip */
.health-page .health-trust-layout {
    grid-template-columns: minmax(260px, 0.62fr) minmax(0, 1.38fr);
    align-items: stretch;
}

.health-page .health-trust-intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.health-page .health-trust-grid {
    height: 100%;
}

.health-page .health-trust-card,
.health-page .health-trust-card:nth-child(2),
.health-page .health-trust-card:nth-child(2):hover {
    min-height: 132px;
    grid-template-columns: 38px minmax(0, 1fr);
    align-content: center;
    align-items: start;
    padding: clamp(20px, 2.8vw, 30px) clamp(18px, 2.5vw, 26px);
}

.health-page .health-trust-card img,
.health-page .health-trust-card:nth-child(2) img {
    margin-top: 2px;
}

.health-page .health-trust-card h3,
.health-page .health-trust-card h2 {
    min-height: 2.2em;
    display: flex;
    align-items: flex-start;
}

.health-page .health-trust-card p {
    max-width: 230px;
}

@media (max-width: 920px) {
    .health-page .health-trust-layout {
        grid-template-columns: 1fr;
    }

    .health-page .health-trust-card,
    .health-page .health-trust-card:nth-child(2),
    .health-page .health-trust-card:nth-child(2):hover {
        min-height: 118px;
    }
}

@media (max-width: 680px) {
    .health-page .health-trust-card,
    .health-page .health-trust-card:nth-child(2),
    .health-page .health-trust-card:nth-child(2):hover {
        min-height: auto;
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .health-page .health-trust-card h3,
    .health-page .health-trust-card h2 {
        min-height: 0;
    }
}

/* Saúde — centralização dos itens da trust strip */
.health-page .health-trust-grid {
    align-items: center;
}

.health-page .health-trust-card,
.health-page .health-trust-card:nth-child(2),
.health-page .health-trust-card:nth-child(2):hover {
    justify-content: center;
    align-content: center;
}

.health-page .health-trust-card > div {
    align-self: center;
}

@media (min-width: 921px) {
    .health-page .health-trust-card,
    .health-page .health-trust-card:nth-child(2),
    .health-page .health-trust-card:nth-child(2):hover {
        justify-items: start;
    }
}

/* Saúde — health trust strip em layout editorial */
.health-page .health-trust-strip {
    padding: clamp(38px, 5vw, 62px) 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.032) 0 1px, transparent 1px 100%),
        #ffffff;
    background-size: 86px 100%, auto;
    border-top: 1px solid rgba(166, 42, 42, 0.08);
    border-bottom: 1px solid rgba(166, 42, 42, 0.08);
}

.health-page .health-trust-layout {
    display: grid;
    grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(28px, 6vw, 78px);
    align-items: center;
}

.health-page .health-trust-intro {
    max-width: 420px;
}

.health-page .health-trust-intro .section-label {
    width: fit-content;
    margin-bottom: 12px;
    color: #a62a2a;
}

.health-page .health-trust-intro h2 {
    margin: 0;
    color: #211816;
    font-size: clamp(1.45rem, 2.6vw, 2.35rem);
    font-weight: 760;
    line-height: 1.12;
    letter-spacing: 0;
}

.health-page .health-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    align-items: stretch;
    border-top: 1px solid rgba(166, 42, 42, 0.12);
    border-bottom: 1px solid rgba(166, 42, 42, 0.12);
}

.health-page .health-trust-card,
.health-page .health-trust-card:nth-child(2),
.health-page .health-trust-card:nth-child(2):hover {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    padding: clamp(18px, 2.5vw, 26px);
    border-left: 0;
    border-right: 1px solid rgba(166, 42, 42, 0.1);
}

.health-page .health-trust-card:last-child {
    border-right: 0;
}

.health-page .health-trust-card img,
.health-page .health-trust-card:nth-child(2) img {
    width: 34px;
    height: 34px;
    padding: 7px;
}

.health-page .health-trust-card h3,
.health-page .health-trust-card h2 {
    margin: 0 0 5px;
    color: #211816;
    font-size: 0.9rem;
    font-weight: 760;
    line-height: 1.22;
}

.health-page .health-trust-card p {
    max-width: 210px;
    color: #675d59;
    font-size: 0.76rem;
    line-height: 1.5;
}

@media (max-width: 920px) {
    .health-page .health-trust-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .health-page .health-trust-intro {
        max-width: 620px;
    }
}

@media (max-width: 680px) {
    .health-page .health-trust-grid {
        grid-template-columns: 1fr;
        border-bottom: 0;
    }

    .health-page .health-trust-card,
    .health-page .health-trust-card:nth-child(2),
    .health-page .health-trust-card:nth-child(2):hover {
        padding: 16px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(166, 42, 42, 0.1);
    }

    .health-page .health-trust-card p {
        max-width: none;
    }
}

/* Saúde — escala tipográfica padronizada */
.health-page {
    --health-label-size: 0.72rem;
    --health-body-size: 0.96rem;
    --health-body-small: 0.82rem;
    --health-h1-size: clamp(2.65rem, 5vw, 4.35rem);
    --health-h2-size: clamp(1.9rem, 3.4vw, 3.05rem);
    --health-h3-size: clamp(1.08rem, 1.55vw, 1.35rem);
    --health-card-title-size: 0.94rem;
}

.health-page .health-hero-label,
.health-page .section-label,
.health-page .health-services-kicker,
.health-page .health-cta-label,
.health-page .health-action-intro span {
    font-size: var(--health-label-size);
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.2;
}

.health-page .health-hero-text .hero-title {
    font-size: var(--health-h1-size);
    line-height: 1.04;
    letter-spacing: 0;
}

.health-page :is(
    .health-services-heading,
    #setores-saude .section-header,
    .health-method-intro,
    .health-impact-content,
    .health-commercial-text,
    .health-testimonial-heading,
    .health-authority-heading,
    .health-final-cta-copy
) h2 {
    font-size: var(--health-h2-size);
    line-height: 1.08;
    letter-spacing: 0;
    font-weight: 760;
}

.health-page :is(
    .health-services-content,
    .health-sector-card,
    .health-method-item
) h3 {
    font-size: var(--health-h3-size);
    line-height: 1.25;
    letter-spacing: 0;
    font-weight: 760;
}

.health-page :is(
    .health-hero-text .hero-text,
    .health-services-heading p,
    .health-services-content p,
    #setores-saude .section-subtitle,
    .health-method-intro p,
    .health-impact-content p,
    .health-commercial-text p,
    .health-testimonial-heading > p,
    .health-final-cta-copy p
) {
    font-size: var(--health-body-size);
    line-height: 1.68;
}

.health-page :is(
    .health-trust-card h2,
    .health-service-link strong,
    .health-sector-card h3,
    .health-protection-list li,
    .health-services-content li,
    .health-authority-item span,
    .health-final-cta-action span
) {
    font-size: var(--health-card-title-size);
}

.health-page :is(
    .health-trust-card p,
    .health-service-link small,
    .health-sector-card p,
    .health-services-floating-note span,
    .health-protection-card span,
    .health-protection-card strong,
    .health-testimonial-brand span
) {
    font-size: var(--health-body-small);
    line-height: 1.45;
}

.health-page .health-testimonial-section .testimonial-quote {
    font-size: clamp(1rem, 1.45vw, 1.28rem);
    line-height: 1.45;
}

.health-page .health-authority-item strong,
.health-page .health-authority-value {
    font-size: clamp(2rem, 3.8vw, 3.05rem);
    line-height: 1;
}

@media (max-width: 560px) {
    .health-page {
        --health-h1-size: clamp(2.35rem, 11vw, 3.1rem);
        --health-h2-size: clamp(1.65rem, 8vw, 2.35rem);
        --health-h3-size: 1.05rem;
        --health-body-size: 0.93rem;
    }
}

/* Saúde — ajuste solicitado: mais tempo simplificado */
.health-page .health-protection-section {
    padding: clamp(62px, 7vw, 96px) 0;
}

.health-page .health-protection-section .health-commercial-grid {
    grid-template-columns: minmax(0, 0.96fr) minmax(250px, 0.68fr);
    gap: clamp(34px, 7vw, 88px);
}

.health-page .health-protection-section .health-commercial-text h2 {
    max-width: 560px;
    font-size: clamp(2rem, 3.7vw, 3.35rem);
}

.health-page .health-protection-section .health-commercial-text p {
    max-width: 570px;
}

.health-page .health-protection-list {
    gap: 0.7rem;
    margin-top: 1.2rem;
}

.health-page .health-protection-section .health-img-container {
    min-height: clamp(300px, 32vw, 430px);
}

.health-page .health-protection-section .health-img-container::before {
    opacity: 0.42;
}

.health-page .health-protection-section .health-img-container img {
    height: clamp(300px, 32vw, 430px);
    border-radius: 38% 38% 26px 26px;
    box-shadow: 0 16px 42px rgba(33, 24, 22, 0.075);
}

.health-page .health-protection-card {
    width: min(240px, 78%);
    padding: 11px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: 0 12px 28px rgba(33, 24, 22, 0.07);
}

.health-page .health-protection-card span {
    font-size: 0.66rem;
}

.health-page .health-protection-card strong {
    font-size: 0.78rem;
    line-height: 1.35;
}

@media (max-width: 940px) {
    .health-page .health-protection-section .health-commercial-grid {
        grid-template-columns: 1fr;
    }
}

/* Saúde — ajuste solicitado: depoimento mais harmonico */
.health-page .health-testimonial-section {
    padding: clamp(58px, 7vw, 88px) 0;
}

.health-page .health-testimonial-heading {
    max-width: 640px;
    margin-bottom: clamp(26px, 4vw, 42px);
}

.health-page .health-testimonial-heading #health-testimonial-title {
    max-width: 600px;
    font-size: clamp(1.9rem, 3.4vw, 3.1rem);
}

.health-page .health-testimonial-heading > p {
    max-width: 540px;
}

.health-page .health-testimonial-section .testimonial-content {
    grid-template-columns: minmax(0, 0.92fr) minmax(200px, 260px);
    gap: clamp(24px, 4vw, 52px);
    align-items: center;
}

.health-page .health-testimonial-section .testimonial-text {
    max-width: 760px;
    padding: clamp(16px, 3vw, 30px) 0 clamp(16px, 3vw, 30px) clamp(20px, 3vw, 34px);
}

.health-page .health-testimonial-section .testimonial-text::before {
    font-size: clamp(4rem, 9vw, 6.4rem);
}

.health-page .health-testimonial-section .testimonial-quote {
    max-width: 680px;
    font-size: clamp(1.06rem, 1.7vw, 1.45rem);
    font-weight: 620;
    line-height: 1.5;
}

.health-page .health-testimonial-section .testimonial-text footer {
    margin-top: 18px;
}

.health-page .health-testimonial-brand {
    padding: clamp(18px, 3vw, 26px);
    border-radius: 20px;
}

.health-page .health-testimonial-brand img {
    width: 104px;
}

.health-page .health-testimonial-brand strong {
    font-size: 0.95rem;
}

.health-page .health-testimonial-brand span {
    font-size: 0.8rem;
}

@media (max-width: 860px) {
    .health-page .health-testimonial-section .testimonial-content {
        grid-template-columns: 1fr;
    }
}

/* Saúde — ajuste solicitado: autoridade clara */
.health-page .health-authority-section {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 7vw, 96px) 0;
    background:
        radial-gradient(circle at 84% 12%, rgba(206, 99, 99, 0.08), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fff8f6 100%);
    color: #211816;
}

.health-page .health-authority-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.04) 0 1px, transparent 1px 100%),
        linear-gradient(180deg, rgba(166, 42, 42, 0.03) 0 1px, transparent 1px 100%);
    background-size: 86px 86px;
    mask-image: linear-gradient(90deg, transparent, #000 16%, rgba(0, 0, 0, 0.56) 74%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 16%, rgba(0, 0, 0, 0.56) 74%, transparent);
    pointer-events: none;
}

.health-page .health-authority-section .container {
    position: relative;
    z-index: 1;
}

.health-page .health-authority-heading {
    max-width: 680px;
    margin: 0 0 clamp(30px, 5vw, 52px);
    text-align: left;
}

.health-page .health-authority-heading .section-label {
    justify-content: flex-start;
    color: #a62a2a;
}

.health-page .health-authority-heading h2 {
    color: #211816;
    font-size: clamp(1.9rem, 3.6vw, 3.25rem);
    font-weight: 760;
    letter-spacing: 0;
}

.health-page .health-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid rgba(166, 42, 42, 0.14);
    border-bottom: 1px solid rgba(166, 42, 42, 0.14);
}

.health-page .health-authority-item,
.health-page .health-authority-item:first-child,
.health-page .health-authority-item:last-child {
    min-height: 150px;
    padding: clamp(20px, 3vw, 32px);
    border: 0;
    border-right: 1px solid rgba(166, 42, 42, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.32);
    box-shadow: none;
}

.health-page .health-authority-item:last-child {
    border-right: 0;
}

.health-page .health-authority-item::before {
    inset: auto 0 0;
    height: 2px;
    background: rgba(166, 42, 42, 0.32);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
}

.health-page .health-authority-item:hover {
    transform: none;
    border-color: rgba(166, 42, 42, 0.14);
    background: rgba(255, 255, 255, 0.66);
}

.health-page .health-authority-item:hover::before {
    transform: scaleX(1);
}

.health-page .health-authority-item strong,
.health-page .health-authority-value {
    color: #a62a2a;
    font-size: clamp(2rem, 4vw, 3.15rem);
    font-weight: 780;
    letter-spacing: 0;
}

.health-page .health-authority-item span {
    max-width: 170px;
    color: #675d59;
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.45;
}

@media (max-width: 1024px) {
    .health-page .health-authority-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .health-page .health-authority-item:nth-child(2) {
        border-right: 0;
    }

    .health-page .health-authority-item:nth-child(1),
    .health-page .health-authority-item:nth-child(2) {
        border-bottom: 1px solid rgba(166, 42, 42, 0.14);
    }
}

@media (max-width: 640px) {
    .health-page .health-authority-grid {
        grid-template-columns: 1fr;
        border-bottom: 0;
    }

    .health-page .health-authority-item,
    .health-page .health-authority-item:first-child,
    .health-page .health-authority-item:last-child,
    .health-page .health-authority-item:nth-child(2),
    .health-page .health-authority-item:nth-child(3),
    .health-page .health-authority-item:nth-child(4) {
        min-height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(166, 42, 42, 0.14);
    }

    .health-page .health-authority-item span {
        max-width: none;
    }
}

/* Saúde — ajuste solicitado: assessoria com menos informação */
.health-page .health-services-showcase {
    padding: clamp(64px, 7vw, 100px) 0;
}

.health-page .health-services-heading {
    max-width: 700px;
    margin-bottom: clamp(30px, 5vw, 50px);
}

.health-page .health-services-heading p {
    max-width: 560px;
}

.health-page .health-services-layout {
    grid-template-columns: minmax(160px, 0.32fr) minmax(240px, 0.58fr) minmax(0, 0.9fr);
    gap: clamp(24px, 5vw, 58px);
}

.health-page .health-service-link {
    padding-top: 16px;
    padding-bottom: 16px;
}

.health-page .health-service-link small {
    max-width: 190px;
}

.health-page .health-services-floating-note {
    width: min(230px, 76%);
    padding: 12px 14px;
    opacity: 0.88;
}

.health-page .health-services-content h3 {
    max-width: 500px;
}

.health-page .health-services-content p {
    max-width: 540px;
}

.health-page .health-services-content ul {
    gap: 0.65rem;
}

@media (max-width: 1040px) {
    .health-page .health-services-layout {
        grid-template-columns: minmax(170px, 0.38fr) minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .health-page .health-services-layout {
        grid-template-columns: 1fr;
    }
}

/* Saúde — ajuste solicitado: CTA segurança mais suave */
.health-page .health-impact-banner {
    min-height: clamp(360px, 46vw, 540px);
    padding: clamp(70px, 8vw, 108px) 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.78) 44%, rgba(255, 255, 255, 0.42) 100%),
        linear-gradient(180deg, rgba(255, 247, 244, 0.22), rgba(255, 255, 255, 0.06)),
        url("../resources/Imagens/cirurgia.jpg") center / cover no-repeat;
    color: #211816;
}

.health-page .health-impact-banner::before {
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(166, 42, 42, 0.035) 1px, transparent 1px);
    background-size: 86px 86px;
    mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, 0.52), transparent 88%);
    -webkit-mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, 0.52), transparent 88%);
}

.health-page .health-impact-content {
    max-width: 640px;
}

.health-page .health-impact-content .section-label {
    border-color: rgba(166, 42, 42, 0.14);
    background: rgba(255, 255, 255, 0.48);
    color: #a62a2a;
}

.health-page .health-impact-content #health-impact-title {
    max-width: 620px;
    color: #211816;
    font-size: clamp(2.15rem, 4vw, 4.1rem);
    line-height: 1.06;
}

.health-page .health-impact-content p {
    max-width: 550px;
    color: #625855;
}

.health-page .health-impact-content .health-glass-button {
    min-height: 58px;
    margin-top: 34px;
    padding: 16px 30px;
    border-color: rgba(166, 42, 42, 0.26);
    background: rgba(166, 42, 42, 0.12);
    color: #a62a2a;
    font-size: 0.86rem;
    box-shadow: 0 20px 44px rgba(33, 24, 22, 0.1);
}

.health-page .health-impact-content .health-glass-button:hover,
.health-page .health-impact-content .health-glass-button:focus-visible {
    border-color: rgba(166, 42, 42, 0.36);
    background: rgba(255, 255, 255, 0.72);
    color: #8f2323;
}

@media (max-width: 720px) {
    .health-page .health-impact-banner {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.78) 100%),
            url("../resources/Imagens/cirurgia.jpg") center / cover no-repeat;
    }
}

@media (max-width: 480px) {
    .health-page .health-trust-card {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 14px;
    }

    .health-page .health-trust-card img {
        width: 42px;
        height: 42px;
        padding: 9px;
    }

    .health-page .health-trust-card::before {
        left: 56px;
    }
}

/* Saúde — serviços em composição editorial */
.health-page .health-services-showcase {
    position: relative;
    overflow: hidden;
    padding: clamp(78px, 9vw, 126px) 0;
    background:
        radial-gradient(circle at 88% 18%, rgba(183, 47, 47, 0.08), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #fbf7f4 100%);
}

.health-page .health-services-showcase::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.045) 0 1px, transparent 1px 100%);
    background-size: 92px 100%;
    mask-image: linear-gradient(90deg, transparent, #000 16%, rgba(0, 0, 0, 0.58) 72%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 16%, rgba(0, 0, 0, 0.58) 72%, transparent);
    pointer-events: none;
}

.health-page .health-services-heading {
    position: relative;
    z-index: 1;
    max-width: 780px;
    margin: 0 auto clamp(42px, 6vw, 72px);
    text-align: center;
}

.health-page .health-services-heading .section-label {
    margin-bottom: 16px;
    color: #a62a2a;
}

.health-page .health-services-heading h2 {
    margin: 0;
    color: #211816;
    font-size: clamp(2.25rem, 4.2vw, 4.15rem);
    font-weight: 760;
    line-height: 1.04;
    letter-spacing: 0;
}

.health-page .health-services-heading p {
    max-width: 660px;
    margin: 18px auto 0;
    color: #675d59;
    font-size: clamp(0.98rem, 1.4vw, 1.12rem);
    line-height: 1.75;
}

.health-page .health-services-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(190px, 0.44fr) minmax(260px, 0.72fr) minmax(0, 0.84fr);
    gap: clamp(28px, 5vw, 64px);
    align-items: center;
}

.health-page .health-services-nav {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(166, 42, 42, 0.14);
}

.health-page .health-service-link {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 14px 0 14px 18px;
    border-bottom: 1px solid rgba(166, 42, 42, 0.14);
    color: #5f5652;
    font-size: 0.9rem;
    font-weight: 720;
    line-height: 1.25;
    text-decoration: none;
    transition: color 0.25s ease, padding-left 0.25s ease;
}

.health-page .health-service-link:hover,
.health-page .health-service-link:focus-visible,
.health-page .health-service-link-active {
    color: #a62a2a;
    padding-left: 24px;
}

.health-page .health-services-media {
    position: relative;
    min-height: clamp(360px, 42vw, 520px);
}

.health-page .health-services-media img {
    display: block;
    width: 100%;
    height: clamp(360px, 42vw, 520px);
    object-fit: cover;
    border-radius: 34px 999px 999px 34px;
    box-shadow: 0 28px 70px rgba(33, 24, 22, 0.12);
    filter: saturate(0.94) contrast(1.02);
}

.health-page .health-services-floating-note {
    position: absolute;
    left: -18px;
    bottom: clamp(22px, 4vw, 44px);
    width: min(270px, 78%);
    padding: 15px 18px;
    border: 1px solid rgba(166, 42, 42, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 18px 44px rgba(33, 24, 22, 0.12);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.health-page .health-services-floating-note strong,
.health-page .health-services-floating-note span {
    display: block;
}

.health-page .health-services-floating-note strong {
    color: #a62a2a;
    font-size: 0.88rem;
    line-height: 1.2;
}

.health-page .health-services-floating-note span {
    margin-top: 4px;
    color: #675d59;
    font-size: 0.72rem;
    line-height: 1.4;
}

.health-page .health-services-content {
    position: relative;
    padding-left: clamp(22px, 4vw, 44px);
    border-left: 2px solid rgba(166, 42, 42, 0.2);
}

.health-page .health-services-kicker {
    display: inline-flex;
    margin-bottom: 14px;
    color: #a62a2a;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.health-page .health-services-content h3 {
    margin: 0;
    color: #211816;
    font-size: clamp(1.65rem, 3vw, 2.7rem);
    font-weight: 760;
    line-height: 1.08;
    letter-spacing: 0;
}

.health-page .health-services-content p {
    margin: 18px 0 0;
    color: #675d59;
    font-size: 0.98rem;
    line-height: 1.76;
}

.health-page .health-services-content ul {
    display: grid;
    gap: 10px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.health-page .health-services-content li {
    position: relative;
    padding-left: 22px;
    color: #4f4642;
    font-size: 0.92rem;
    font-weight: 620;
    line-height: 1.55;
}

.health-page .health-services-content li::before {
    content: "";
    position: absolute;
    top: 0.72em;
    left: 0;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #b72f2f;
    box-shadow: 0 0 0 5px rgba(183, 47, 47, 0.08);
    transform: translateY(-50%);
}

.health-page .health-services-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: 28px;
    padding: 12px 18px;
    border: 1px solid rgba(166, 42, 42, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
    color: #a62a2a;
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(33, 24, 22, 0.07);
    transition: color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.health-page .health-services-cta:hover,
.health-page .health-services-cta:focus-visible {
    background: #a62a2a;
    color: #fff;
    transform: translateY(-2px);
}

@media (max-width: 1040px) {
    .health-page .health-services-layout {
        grid-template-columns: minmax(180px, 0.44fr) minmax(0, 1fr);
    }

    .health-page .health-services-content {
        grid-column: 2;
    }
}

@media (max-width: 760px) {
    .health-page .health-services-heading {
        text-align: left;
    }

    .health-page .health-services-heading p {
        margin-left: 0;
    }

    .health-page .health-services-layout {
        grid-template-columns: 1fr;
    }

    .health-page .health-services-nav {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 6px;
        border: 0;
        scrollbar-width: thin;
    }

    .health-page .health-service-link,
    .health-page .health-service-link:hover,
    .health-page .health-service-link:focus-visible,
    .health-page .health-service-link-active {
        flex: 0 0 auto;
        min-height: 42px;
        padding: 10px 13px 10px 24px;
        border: 1px solid rgba(166, 42, 42, 0.14);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.72);
    }

    .health-page .health-services-content {
        grid-column: auto;
    }
}

/* Saúde — ajuste solicitado: proteção com lista delicada */
.health-page .health-protection-section {
    padding: clamp(72px, 8vw, 112px) 0;
    background:
        radial-gradient(circle at 88% 12%, rgba(206, 99, 99, 0.08), transparent 28%),
        #ffffff;
}

.health-page .health-protection-section .health-commercial-grid {
    grid-template-columns: minmax(0, 0.98fr) minmax(280px, 0.78fr);
    gap: clamp(40px, 8vw, 108px);
    align-items: center;
}

.health-page .health-protection-section .health-commercial-text {
    max-width: 690px;
}

.health-page .health-protection-section .health-commercial-text h2 {
    max-width: 620px;
    color: #211816;
    letter-spacing: 0;
}

.health-page .health-protection-section .health-commercial-text p {
    color: #675d59;
}

.health-page .health-protection-list {
    display: grid;
    gap: 0.8rem;
    margin: 1.4rem 0 0;
    padding: 0;
    border-top: 0;
    list-style: none;
}

.health-page .health-protection-list li {
    position: relative;
    padding: 0 0 0 2rem;
    border-bottom: 0;
    color: #211816;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.55;
}

.health-page .health-protection-list li::before {
    content: "✓";
    position: absolute;
    top: -0.05rem;
    left: 0;
    display: grid;
    width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.18);
    color: #a62a2a;
    font-size: 0.82rem;
    font-weight: 900;
    box-shadow: none;
    transform: none;
}

.health-page .health-protection-section .health-img-container {
    min-height: clamp(340px, 38vw, 500px);
}

.health-page .health-protection-section .health-img-container::before {
    opacity: 0.58;
    background: rgba(206, 99, 99, 0.1);
}

.health-page .health-protection-section .health-img-container img {
    height: clamp(340px, 38vw, 500px);
    border-radius: 40% 40% 30px 30px;
    object-position: center top;
    box-shadow: 0 20px 54px rgba(33, 24, 22, 0.09);
    filter: saturate(0.9) contrast(1.01) brightness(1.04);
}

.health-page .health-protection-card {
    width: min(280px, 82%);
    padding: 14px 16px;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(33, 24, 22, 0.08);
}

@media (max-width: 940px) {
    .health-page .health-protection-section .health-commercial-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-protection-section .health-img-container {
        width: min(100%, 520px);
    }
}

@media (max-width: 560px) {
    .health-page .health-protection-section .health-img-container,
    .health-page .health-protection-section .health-img-container img {
        height: min(100vw, 460px);
    }

    .health-page .health-protection-card {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        margin-top: 12px;
    }
}

/* Saúde — ajuste solicitado: depoimento delicado */
.health-page .health-testimonial-section {
    position: relative;
    overflow: hidden;
    padding: clamp(68px, 8vw, 108px) 0;
    background:
        radial-gradient(circle at 12% 14%, rgba(206, 99, 99, 0.06), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fffdfc 100%);
}

.health-page .health-testimonial-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.032) 0 1px, transparent 1px 100%);
    background-size: 92px 100%;
    mask-image: linear-gradient(90deg, transparent, #000 18%, rgba(0, 0, 0, 0.48) 72%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, rgba(0, 0, 0, 0.48) 72%, transparent);
    pointer-events: none;
}

.health-page .health-testimonial-section .container {
    position: relative;
    z-index: 1;
}

.health-page .health-testimonial-heading {
    max-width: 720px;
    margin: 0 0 clamp(34px, 5vw, 58px);
    text-align: left;
}

.health-page .health-testimonial-heading .section-label {
    width: fit-content;
    color: #a62a2a;
}

.health-page .health-testimonial-heading #health-testimonial-title {
    max-width: 680px;
    color: #211816;
    letter-spacing: 0;
}

.health-page .health-testimonial-heading > p {
    max-width: 620px;
    margin-left: 0;
    color: #675d59;
}

.health-page .health-testimonial-section .testimonial-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: clamp(28px, 5vw, 66px);
    align-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-testimonial-section .testimonial-text {
    position: relative;
    padding: clamp(20px, 4vw, 38px) 0 clamp(20px, 4vw, 38px) clamp(22px, 4vw, 42px);
    border-left: 2px solid rgba(166, 42, 42, 0.24);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-testimonial-section .testimonial-text::before {
    content: "“";
    top: -0.18em;
    left: clamp(18px, 3vw, 34px);
    color: rgba(166, 42, 42, 0.12);
    font-size: clamp(5rem, 12vw, 9rem);
    line-height: 1;
}

.health-page .health-testimonial-section .testimonial-quote {
    color: #3f3734;
    font-size: clamp(1.25rem, 2.3vw, 2rem);
    font-weight: 650;
    line-height: 1.42;
}

.health-page .health-testimonial-section .testimonial-author {
    color: #a62a2a;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
}

.health-page .health-testimonial-section .testimonial-place {
    color: #716763;
}

.health-page .health-testimonial-brand {
    min-height: 0;
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(166, 42, 42, 0.12);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.46);
    box-shadow: 0 18px 44px rgba(33, 24, 22, 0.08);
    color: #211816;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.health-page .health-testimonial-brand img {
    width: 118px;
    padding: 9px 12px;
    border-radius: 999px;
    background: #41160f;
}

.health-page .health-testimonial-brand strong {
    color: #211816;
}

.health-page .health-testimonial-brand span {
    color: #675d59;
}

@media (max-width: 860px) {
    .health-page .health-testimonial-section .testimonial-content {
        grid-template-columns: 1fr;
    }

    .health-page .health-testimonial-brand {
        width: min(100%, 420px);
    }
}

@media (max-width: 520px) {
    .health-page .health-services-showcase {
        padding: 64px 0 84px;
    }

    .health-page .health-services-media,
    .health-page .health-services-media img {
        min-height: 0;
        height: min(96vw, 450px);
    }

    .health-page .health-services-media img {
        border-radius: 26px 46% 46% 26px;
    }

    .health-page .health-services-floating-note {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        margin-top: 12px;
        border-radius: 18px;
    }

    .health-page .health-services-content {
        padding-left: 20px;
    }
}

/* Saúde — passo 1: hero institucional leve e botões de vidro */
.health-page .hero-health {
    position: relative;
    overflow: hidden;
    padding: clamp(76px, 9vw, 122px) 0 clamp(74px, 8vw, 108px);
    background:
        radial-gradient(circle at 82% 26%, rgba(183, 47, 47, 0.09), transparent 30%),
        linear-gradient(135deg, #ffffff 0%, #f5fbfb 46%, #fff7f4 100%);
}

.health-page .health-hero-grid {
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 0.88fr) minmax(390px, 1.12fr);
    gap: clamp(38px, 7vw, 108px);
    align-items: center;
}

.health-page .health-hero-text {
    max-width: 650px;
}

.health-page .health-hero-label {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 9px 13px;
    border: 1px solid rgba(166, 42, 42, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.58);
    color: #a62a2a;
    box-shadow: 0 12px 30px rgba(33, 24, 22, 0.05);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.health-page .health-hero-label::before {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #a62a2a;
}

.health-page .health-hero-text .hero-title {
    max-width: 650px;
    color: #211816;
    font-size: clamp(3rem, 5.2vw, 4.85rem);
    font-weight: 780;
    line-height: 1.02;
    letter-spacing: 0;
}

.health-page .health-hero-text .hero-text {
    max-width: 570px;
    color: #625855;
    font-size: clamp(1rem, 1.35vw, 1.16rem);
    line-height: 1.78;
}

.health-page .health-hero-actions {
    gap: 12px;
}

.health-page .health-hero-actions .cta-button-red,
.health-page .health-hero-secondary {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 14px 22px;
    border: 1px solid rgba(65, 22, 15, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.42);
    color: #a62a2a;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 16px 36px rgba(33, 24, 22, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.health-page .health-hero-actions .cta-button-red {
    background: rgba(166, 42, 42, 0.12);
    border-color: rgba(166, 42, 42, 0.24);
}

.health-page .health-hero-actions .cta-button-red:hover,
.health-page .health-hero-actions .cta-button-red:focus-visible,
.health-page .health-hero-secondary:hover,
.health-page .health-hero-secondary:focus-visible {
    background: rgba(255, 255, 255, 0.68);
    border-color: rgba(166, 42, 42, 0.34);
    color: #8f2323;
    transform: translateY(-3px);
    box-shadow: 0 20px 42px rgba(33, 24, 22, 0.11);
}

.health-page .health-hero-proof span {
    background: rgba(255, 255, 255, 0.46);
    border-color: rgba(166, 42, 42, 0.1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.health-page .health-hero-img {
    position: relative;
    min-height: clamp(500px, 50vw, 660px);
}

.health-page .health-hero-img::before {
    right: 1%;
    bottom: 2%;
    width: min(77%, 500px);
    height: min(84%, 560px);
    border-radius: 54% 54% 30px 30px;
    background:
        linear-gradient(180deg, rgba(183, 47, 47, 0.74), rgba(166, 42, 42, 0.64)),
        #b72f2f;
    box-shadow: 0 30px 72px rgba(166, 42, 42, 0.17);
}

.health-page .health-hero-img img {
    position: relative;
    z-index: 1;
    width: min(92%, 540px);
    height: clamp(470px, 52vw, 650px);
    margin-left: auto;
    object-position: center top;
    border-radius: 44% 44% 30px 30px;
    box-shadow: 0 30px 76px rgba(33, 24, 22, 0.14);
}

.health-page .health-hero-departments {
    position: absolute;
    z-index: 3;
    top: clamp(36px, 6vw, 76px);
    left: 0;
    display: grid;
    gap: 8px;
    width: min(220px, 42%);
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.52);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.34);
    box-shadow: 0 22px 54px rgba(33, 24, 22, 0.1);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.health-page .health-hero-departments strong {
    margin-bottom: 4px;
    color: #a62a2a;
    font-size: 0.88rem;
    line-height: 1.2;
}

.health-page .health-hero-departments span {
    position: relative;
    padding-left: 14px;
    color: #554c48;
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1.3;
}

.health-page .health-hero-departments span::before {
    content: "";
    position: absolute;
    top: 0.55em;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: #b72f2f;
}

.health-page .health-hero-card,
.health-page .health-hero-card-secondary {
    border: 1px solid rgba(255, 255, 255, 0.55);
    background: rgba(255, 255, 255, 0.42);
    box-shadow: 0 20px 48px rgba(33, 24, 22, 0.1);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

@media (max-width: 1024px) {
    .health-page .health-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(330px, 0.9fr);
    }

    .health-page .health-hero-departments {
        width: min(210px, 48%);
    }
}

@media (max-width: 768px) {
    .health-page .health-hero-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-hero-img {
        width: min(100%, 560px);
        min-height: 560px;
        margin: 10px auto 0;
    }

    .health-page .health-hero-img img {
        width: 92%;
        height: 530px;
    }
}

@media (max-width: 520px) {
    .health-page .health-hero-text .hero-title {
        font-size: clamp(2.5rem, 12vw, 3.2rem);
    }

    .health-page .health-hero-actions,
    .health-page .health-hero-actions .cta-button-red,
    .health-page .health-hero-secondary {
        width: 100%;
    }

    .health-page .health-hero-img {
        min-height: auto;
    }

    .health-page .health-hero-img img {
        width: 100%;
        height: min(112vw, 500px);
    }

    .health-page .health-hero-departments,
    .health-page .health-hero-card,
    .health-page .health-hero-card-secondary {
        position: relative;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        width: 100%;
        margin-top: 12px;
        border-radius: 18px;
    }
}

/* Saúde — ajuste hero com imagem de fundo */
.health-page .hero-health {
    min-height: clamp(620px, 82vh, 780px);
    display: flex;
    align-items: center;
    padding: clamp(86px, 10vw, 136px) 0 clamp(76px, 8vw, 112px);
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.86) 38%, rgba(255, 255, 255, 0.34) 68%, rgba(255, 255, 255, 0.12) 100%),
        linear-gradient(180deg, rgba(255, 247, 244, 0.22), rgba(255, 255, 255, 0.08)),
        url("../resources/Imagens/saude.jpg") center right / cover no-repeat;
}

.health-page .health-hero-grid {
    width: 100%;
    grid-template-columns: minmax(0, 660px) minmax(230px, 330px);
    gap: clamp(28px, 8vw, 110px);
    align-items: end;
}

.health-page .health-hero-text {
    padding: clamp(22px, 4vw, 42px) 0;
}

.health-page .health-hero-text .hero-title {
    max-width: 680px;
}

.health-page .health-hero-text .hero-text {
    max-width: 600px;
}

.health-page .health-hero-background-panel {
    position: relative;
    display: grid;
    gap: 10px;
    align-self: center;
    width: min(100%, 300px);
    margin-left: auto;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.34);
    box-shadow: 0 24px 62px rgba(33, 24, 22, 0.12);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.health-page .health-hero-background-panel::before {
    content: "";
    position: absolute;
    inset: 12px auto 12px 0;
    width: 2px;
    border-radius: 999px;
    background: rgba(166, 42, 42, 0.42);
}

.health-page .health-hero-background-panel strong {
    color: #a62a2a;
    font-size: 0.92rem;
    line-height: 1.2;
}

.health-page .health-hero-background-panel span {
    position: relative;
    padding-left: 16px;
    color: #3f3734;
    font-size: 0.8rem;
    font-weight: 760;
    line-height: 1.35;
}

.health-page .health-hero-background-panel span::before {
    content: "";
    position: absolute;
    top: 0.56em;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: #b72f2f;
}

@media (max-width: 900px) {
    .health-page .hero-health {
        min-height: auto;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.86) 56%, rgba(255, 255, 255, 0.45) 100%),
            url("../resources/Imagens/saude.jpg") center top / cover no-repeat;
    }

    .health-page .health-hero-grid {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .health-page .health-hero-background-panel {
        width: min(100%, 520px);
        margin: 10px 0 0;
    }
}

@media (max-width: 520px) {
    .health-page .hero-health {
        padding: 72px 0 82px;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.91) 64%, rgba(255, 255, 255, 0.62) 100%),
            url("../resources/Imagens/saude.jpg") 62% top / cover no-repeat;
    }

    .health-page .health-hero-background-panel {
        border-radius: 18px;
    }
}

/* Saúde — passo 2: faixa de ação em vidro */
.health-page .health-action-strip {
    position: relative;
    z-index: 4;
    margin-top: clamp(-44px, -5vw, -28px);
    padding: 0 0 clamp(38px, 5vw, 58px);
    background: linear-gradient(180deg, transparent 0%, #fffdfc 54%, #ffffff 100%);
}

.health-page .health-action-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr) auto;
    gap: clamp(20px, 4vw, 44px);
    align-items: center;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 28px;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.045) 0 1px, transparent 1px 100%),
        rgba(255, 255, 255, 0.58);
    background-size: 72px 100%, auto;
    box-shadow: 0 24px 64px rgba(33, 24, 22, 0.1);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.health-page .health-action-panel::before {
    content: "";
    position: absolute;
    inset: 12px auto 12px 0;
    width: 2px;
    border-radius: 999px;
    background: rgba(166, 42, 42, 0.42);
}

.health-page .health-action-intro {
    display: grid;
    gap: 6px;
}

.health-page .health-action-intro span {
    color: #a62a2a;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.health-page .health-action-intro strong {
    max-width: 520px;
    color: #211816;
    font-size: clamp(1.05rem, 1.7vw, 1.45rem);
    font-weight: 760;
    line-height: 1.24;
}

.health-page .health-action-items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.health-page .health-action-items span {
    position: relative;
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 9px 13px 9px 26px;
    border: 1px solid rgba(166, 42, 42, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.42);
    color: #5f5652;
    font-size: 0.78rem;
    font-weight: 740;
}

.health-page .health-action-items span::before {
    content: "";
    position: absolute;
    left: 12px;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #b72f2f;
}

.health-page .health-glass-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 13px 20px;
    border: 1px solid rgba(166, 42, 42, 0.2);
    border-radius: 999px;
    background: rgba(166, 42, 42, 0.1);
    color: #a62a2a;
    font-size: 0.78rem;
    font-weight: 820;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 16px 36px rgba(33, 24, 22, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.health-page .health-glass-button:hover,
.health-page .health-glass-button:focus-visible {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(166, 42, 42, 0.34);
    color: #8f2323;
    transform: translateY(-3px);
}

@media (max-width: 940px) {
    .health-page .health-action-panel {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .health-page .health-glass-button {
        width: fit-content;
    }
}

@media (max-width: 560px) {
    .health-page .health-action-strip {
        margin-top: -30px;
    }

    .health-page .health-action-panel {
        border-radius: 20px;
    }

    .health-page .health-action-items,
    .health-page .health-glass-button {
        width: 100%;
    }

    .health-page .health-action-items span {
        flex: 1 1 100%;
    }
}

/* Saúde — passo 3: apresentação com fundo quadriculado */
.health-page .health-services-showcase {
    position: relative;
    overflow: hidden;
    padding: clamp(82px, 9vw, 132px) 0;
    background:
        radial-gradient(circle at 12% 14%, rgba(183, 47, 47, 0.07), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fbf7f4 100%);
}

.health-page .health-services-showcase::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.052) 0 1px, transparent 1px 100%),
        linear-gradient(180deg, rgba(166, 42, 42, 0.04) 0 1px, transparent 1px 100%);
    background-size: 88px 88px;
    mask-image: linear-gradient(90deg, transparent, #000 12%, rgba(0, 0, 0, 0.7) 68%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, rgba(0, 0, 0, 0.7) 68%, transparent);
    pointer-events: none;
}

.health-page .health-services-heading {
    max-width: 820px;
    margin: 0 0 clamp(42px, 6vw, 72px);
    text-align: left;
}

.health-page .health-services-heading .section-label {
    width: fit-content;
    color: #a62a2a;
}

.health-page .health-services-heading h2 {
    max-width: 760px;
    color: #211816;
    font-size: clamp(2.3rem, 4.4vw, 4.3rem);
    font-weight: 760;
    line-height: 1.04;
    letter-spacing: 0;
}

.health-page .health-services-heading p {
    max-width: 680px;
    margin: 18px 0 0;
    color: #675d59;
    font-size: clamp(1rem, 1.4vw, 1.14rem);
    line-height: 1.78;
}

.health-page .health-services-layout {
    grid-template-columns: minmax(180px, 0.42fr) minmax(280px, 0.78fr) minmax(0, 0.9fr);
    gap: clamp(28px, 5.5vw, 76px);
    align-items: center;
}

.health-page .health-services-nav {
    border-top-color: rgba(166, 42, 42, 0.16);
}

.health-page .health-service-link {
    background: transparent;
}

.health-page .health-services-media {
    min-height: clamp(390px, 42vw, 550px);
}

.health-page .health-services-media::after {
    content: "";
    position: absolute;
    z-index: -2;
    top: 8%;
    left: -10%;
    width: 42%;
    height: 42%;
    border: 1px solid rgba(166, 42, 42, 0.14);
    border-radius: 999px;
}

.health-page .health-services-media img {
    width: 100%;
    height: clamp(390px, 42vw, 550px);
    border-radius: 36px 36px 52% 48%;
    box-shadow: 0 26px 66px rgba(33, 24, 22, 0.12);
}

.health-page .health-services-floating-note {
    left: -14px;
    bottom: clamp(22px, 4vw, 46px);
    border-color: rgba(255, 255, 255, 0.62);
    background: rgba(255, 255, 255, 0.46);
}

.health-page .health-services-content {
    padding-left: clamp(22px, 4vw, 46px);
    border-left: 2px solid rgba(166, 42, 42, 0.22);
}

.health-page .health-services-kicker {
    color: #a62a2a;
}

.health-page .health-services-content h3 {
    color: #211816;
    font-size: clamp(1.75rem, 3.1vw, 2.85rem);
    font-weight: 760;
    letter-spacing: 0;
}

.health-page .health-services-content ul {
    margin-top: 24px;
    border-top: 1px solid rgba(166, 42, 42, 0.12);
}

.health-page .health-services-content li {
    padding: 14px 0 14px 24px;
    border-bottom: 1px solid rgba(166, 42, 42, 0.12);
}

.health-page .health-services-content li::before {
    top: 24px;
}

.health-page .health-services-cta.health-glass-button {
    width: fit-content;
    margin-top: 28px;
}

@media (max-width: 1040px) {
    .health-page .health-services-layout {
        grid-template-columns: minmax(190px, 0.42fr) minmax(0, 1fr);
    }

    .health-page .health-services-content {
        grid-column: 2;
    }
}

@media (max-width: 760px) {
    .health-page .health-services-heading {
        max-width: none;
    }

    .health-page .health-services-layout {
        grid-template-columns: 1fr;
    }

    .health-page .health-services-content {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .health-page .health-services-showcase {
        padding: 68px 0 86px;
    }

    .health-page .health-services-media,
    .health-page .health-services-media img {
        height: min(98vw, 460px);
    }

    .health-page .health-services-floating-note {
        position: relative;
        left: auto;
        bottom: auto;
        width: 100%;
        margin-top: 12px;
        border-radius: 18px;
    }

    .health-page .health-services-cta.health-glass-button {
        width: 100%;
    }
}

/* Saúde — passo 4: soluções em estilo departments leve */
.health-page .health-services-nav {
    counter-reset: health-department;
    display: grid;
    gap: 0;
    align-self: stretch;
    border-top: 1px solid rgba(166, 42, 42, 0.18);
    border-bottom: 1px solid rgba(166, 42, 42, 0.18);
}

.health-page .health-service-link {
    counter-increment: health-department;
    position: relative;
    display: grid;
    gap: 5px;
    min-height: 0;
    padding: 18px 0 18px 42px;
    border: 0;
    border-bottom: 1px solid rgba(166, 42, 42, 0.13);
    border-radius: 0;
    background: transparent;
    color: #4f4642;
    text-decoration: none;
    transition: color 0.25s ease, padding-left 0.25s ease;
}

.health-page .health-service-link:last-child {
    border-bottom: 0;
}

.health-page .health-service-link::after {
    content: "";
    position: absolute;
    top: 22px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(95, 86, 82, 0.34);
    box-shadow: 0 0 0 5px rgba(95, 86, 82, 0.08);
    transition: background 0.25s ease, transform 0.25s ease;
}

.health-page .health-service-link strong {
    display: block;
    color: #211816;
    font-size: 0.94rem;
    font-weight: 780;
    line-height: 1.2;
}

.health-page .health-service-link small {
    display: block;
    max-width: 220px;
    color: #716763;
    font-size: 0.73rem;
    font-weight: 620;
    line-height: 1.45;
}

.health-page .health-service-link-active,
.health-page .health-service-link:hover {
    padding-left: 24px;
    color: #a62a2a;
}

.health-page .health-service-link-active::after,
.health-page .health-service-link:hover::after {
    background: #a62a2a;
    box-shadow: 0 0 0 5px rgba(166, 42, 42, 0.08);
    transform: scale(1.35);
}

.health-page .health-service-link-active strong,
.health-page .health-service-link:hover strong {
    color: #a62a2a;
}

.health-page .health-service-link-active small,
.health-page .health-service-link:hover small {
    color: #5f5652;
}

@media (max-width: 760px) {
    .health-page .health-services-nav {
        display: grid;
        grid-template-columns: 1fr;
        overflow: visible;
        padding: 0;
        border-top: 1px solid rgba(166, 42, 42, 0.16);
        border-bottom: 1px solid rgba(166, 42, 42, 0.16);
    }

    .health-page .health-service-link,
    .health-page .health-service-link:hover,
    .health-page .health-service-link:focus-visible,
    .health-page .health-service-link-active {
        min-height: 0;
        padding: 16px 0 16px 42px;
        border: 0;
        border-bottom: 1px solid rgba(166, 42, 42, 0.12);
        border-radius: 0;
        background: transparent;
    }

    .health-page .health-service-link:last-child {
        border-bottom: 0;
    }

    .health-page .health-service-link::after {
        left: 0;
    }

    .health-page .health-service-link small {
        max-width: none;
    }
}

/* Saúde — passo 5: especialidades com ícones leves */
.health-page #setores-saude {
    position: relative;
    overflow: hidden;
    padding: clamp(76px, 9vw, 124px) 0;
    background:
        radial-gradient(circle at 84% 16%, rgba(183, 47, 47, 0.06), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fffdfc 100%);
}

.health-page #setores-saude .container {
    position: relative;
    z-index: 1;
}

.health-page #setores-saude .section-header {
    max-width: 740px;
    margin: 0 auto clamp(42px, 6vw, 70px);
    text-align: center;
}

.health-page #setores-saude .section-label {
    width: fit-content;
    margin-inline: auto;
    color: #a62a2a;
}

.health-page #setores-saude .section-header #health-sectors-title {
    margin: 0;
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.health-page #setores-saude .header-line {
    width: 54px;
    height: 2px;
    margin: 18px auto 0;
    background: rgba(166, 42, 42, 0.38);
}

.health-page #setores-saude .section-subtitle {
    max-width: 650px;
    margin: 18px auto 0;
    color: #675d59;
    line-height: 1.75;
}

.health-page .health-sectors-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(166, 42, 42, 0.14);
    border-bottom: 1px solid rgba(166, 42, 42, 0.14);
}

.health-page .health-sector-card {
    position: relative;
    display: grid;
    justify-items: center;
    align-content: start;
    gap: 10px;
    min-height: 0;
    padding: clamp(22px, 3vw, 34px) clamp(12px, 2vw, 22px);
    border: 0;
    border-right: 1px solid rgba(166, 42, 42, 0.12);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
}

.health-page .health-sector-card:last-child {
    border-right: 1px solid rgba(166, 42, 42, 0.12);
}

.health-page .health-sector-card::before {
    content: "";
    position: absolute;
    inset: auto 18px 0;
    width: auto;
    height: 2px;
    border-radius: 999px;
    background: rgba(166, 42, 42, 0.34);
    opacity: 0;
    transform: scaleX(0.3);
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.health-page .health-sector-card:hover {
    transform: none;
    background: rgba(255, 255, 255, 0.48);
    box-shadow: none;
}

.health-page .health-sector-card:hover::before {
    opacity: 1;
    transform: scaleX(1);
}

.health-page .health-sector-card img {
    width: 54px;
    height: 54px;
    margin: 0 0 8px;
    padding: 12px;
    border: 1px solid rgba(166, 42, 42, 0.12);
    border-radius: 999px;
    background: rgba(166, 42, 42, 0.06);
    object-fit: contain;
    filter: saturate(0.7) opacity(0.78);
    transition: filter 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.health-page .health-sector-card:hover img {
    border-color: rgba(166, 42, 42, 0.24);
    background: rgba(166, 42, 42, 0.1);
    filter: saturate(1) opacity(1);
    transform: none;
}

.health-page .health-sector-card h3 {
    margin: 0;
    color: #211816;
    font-size: clamp(0.88rem, 1vw, 0.98rem);
    font-weight: 760;
    line-height: 1.26;
    letter-spacing: 0;
}

.health-page .health-sector-card p {
    max-width: 190px;
    margin: 0;
    color: #746964;
    font-size: 0.76rem;
    line-height: 1.55;
}

@media (max-width: 1120px) {
    .health-page .health-sectors-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .health-page .health-sector-card:nth-child(3) {
        border-right: 0;
    }

    .health-page .health-sector-card:nth-child(-n + 3) {
        border-bottom: 1px solid rgba(166, 42, 42, 0.12);
    }
}

@media (max-width: 680px) {
    .health-page #setores-saude .section-header {
        text-align: left;
    }

    .health-page #setores-saude .section-label,
    .health-page #setores-saude .header-line {
        margin-inline: 0;
    }

    .health-page #setores-saude .section-subtitle {
        margin-left: 0;
    }

    .health-page .health-sectors-grid {
        grid-template-columns: 1fr;
        border-bottom: 0;
    }

    .health-page .health-sector-card,
    .health-page .health-sector-card:nth-child(3),
    .health-page .health-sector-card:nth-child(-n + 3) {
        grid-template-columns: 54px minmax(0, 1fr);
        justify-items: start;
        align-items: start;
        gap: 14px;
        padding: 20px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(166, 42, 42, 0.12);
        text-align: left;
    }

    .health-page .health-sector-card img {
        margin: 0;
    }

    .health-page .health-sector-card h3,
    .health-page .health-sector-card p {
        grid-column: 2;
        max-width: none;
    }

    .health-page .health-sector-card h3 {
        align-self: end;
    }

    .health-page .health-sector-card p {
        margin-top: -6px;
    }
}

/* Saúde — passo 6: autoridade no estilo Departamento Pessoal */
.health-page .health-authority-section {
    position: relative;
    overflow: hidden;
    padding: clamp(76px, 8vw, 112px) 0;
    background:
        radial-gradient(circle at 14% 0%, rgba(206, 99, 99, 0.22), transparent 32%),
        radial-gradient(circle at 88% 88%, rgba(255, 255, 255, 0.06), transparent 28%),
        linear-gradient(135deg, #211816 0%, #41160f 100%);
    color: #fff;
}

.health-page .health-authority-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.045) 1px, transparent 1px);
    background-size: 84px 84px;
    mask-image: linear-gradient(90deg, transparent, #000 14%, #000 84%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 84%, transparent);
    pointer-events: none;
}

.health-page .health-authority-section .container {
    position: relative;
    z-index: 1;
}

.health-page .health-authority-heading {
    max-width: 820px;
    margin: 0 auto clamp(34px, 5vw, 46px);
    text-align: center;
}

.health-page .health-authority-heading .section-label {
    display: inline-flex;
    justify-content: center;
    margin-bottom: 16px;
    color: #ce6363;
}

.health-page .health-authority-heading h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: 0;
}

.health-page .health-authority-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    border: 0;
}

.health-page .health-authority-item,
.health-page .health-authority-item:first-child,
.health-page .health-authority-item:last-child {
    position: relative;
    overflow: hidden;
    min-height: 180px;
    padding: 1.5rem;
    border: 1px solid rgba(248, 249, 250, 0.14);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.16);
    transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.health-page .health-authority-item::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    width: auto;
    height: 4px;
    background: linear-gradient(90deg, #ce6363, rgba(248, 249, 250, 0.2));
    transform: none;
}

.health-page .health-authority-item:hover {
    transform: translateY(-6px);
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(206, 99, 99, 0.42);
}

.health-page .health-authority-item:hover::before {
    transform: none;
}

.health-page .health-authority-item strong,
.health-page .health-authority-value {
    display: block;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 3.7vw, 3rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

.health-page .health-authority-item span {
    display: block;
    max-width: none;
    margin-top: 0.75rem;
    color: rgba(248, 249, 250, 0.76);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.6;
}

@media (max-width: 1024px) {
    .health-page .health-authority-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 720px) {
    .health-page .health-authority-heading {
        text-align: left;
    }

    .health-page .health-authority-heading .section-label {
        justify-content: flex-start;
    }

    .health-page .health-authority-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-authority-item,
    .health-page .health-authority-item:first-child,
    .health-page .health-authority-item:last-child,
    .health-page .health-authority-item:nth-child(2),
    .health-page .health-authority-item:nth-child(3),
    .health-page .health-authority-item:nth-child(4) {
        min-height: 160px;
        border: 1px solid rgba(248, 249, 250, 0.14);
    }
}

/* Saúde — passo 7: banner de impacto com imagem */
.health-page .health-impact-banner {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: clamp(420px, 52vw, 620px);
    display: flex;
    align-items: center;
    padding: clamp(82px, 10vw, 132px) 0;
    background:
        linear-gradient(90deg, rgba(33, 24, 22, 0.78) 0%, rgba(65, 22, 15, 0.58) 44%, rgba(65, 22, 15, 0.14) 100%),
        linear-gradient(180deg, rgba(166, 42, 42, 0.18), rgba(33, 24, 22, 0.1)),
        url("../resources/Imagens/cirurgia.jpg") center / cover no-repeat;
    color: #fff;
}

.health-page .health-impact-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 86px 86px;
    mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, 0.62), transparent 86%);
    -webkit-mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, 0.62), transparent 86%);
    pointer-events: none;
}

.health-page .health-impact-content {
    max-width: 690px;
}

.health-page .health-impact-content .section-label {
    width: fit-content;
    margin-bottom: 18px;
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.health-page .health-impact-content #health-impact-title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.health-page .health-impact-content p {
    max-width: 590px;
    margin: 22px 0 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: clamp(1rem, 1.4vw, 1.16rem);
    line-height: 1.78;
}

.health-page .health-impact-content .health-glass-button {
    margin-top: 30px;
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
}

.health-page .health-impact-content .health-glass-button:hover,
.health-page .health-impact-content .health-glass-button:focus-visible {
    border-color: rgba(255, 255, 255, 0.48);
    background: rgba(255, 255, 255, 0.28);
    color: #fff;
}

@media (max-width: 720px) {
    .health-page .health-impact-banner {
        min-height: auto;
        background:
            linear-gradient(180deg, rgba(33, 24, 22, 0.82) 0%, rgba(65, 22, 15, 0.6) 100%),
            url("../resources/Imagens/cirurgia.jpg") center / cover no-repeat;
    }
}

@media (max-width: 520px) {
    .health-page .health-impact-banner {
        padding: 74px 0 92px;
    }

    .health-page .health-impact-content .health-glass-button {
        width: 100%;
    }
}

/* Saúde — passo 8: limpeza final visual */
.health-page .health-method-intro .cta-button-red,
.health-page .health-cta-action .cta-button-red,
.health-page .health-final-cta-action .cta-button-red {
    display: inline-flex;
    min-height: 64px;
    align-items: center;
    justify-content: center;
    padding: 18px 34px;
    border: 1px solid rgba(166, 42, 42, 0.2);
    border-radius: 999px;
    background: rgba(166, 42, 42, 0.1);
    color: #a62a2a;
    font-size: 0.94rem;
    font-weight: 820;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 16px 36px rgba(33, 24, 22, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.health-page .health-method-intro .cta-button-red:hover,
.health-page .health-method-intro .cta-button-red:focus-visible,
.health-page .health-cta-action .cta-button-red:hover,
.health-page .health-cta-action .cta-button-red:focus-visible,
.health-page .health-final-cta-action .cta-button-red:hover,
.health-page .health-final-cta-action .cta-button-red:focus-visible {
    border-color: rgba(166, 42, 42, 0.34);
    background: rgba(255, 255, 255, 0.72);
    color: #8f2323;
    transform: translateY(-3px);
}

.health-page .health-conversion-section {
    padding: clamp(70px, 8vw, 106px) 0;
    background:
        radial-gradient(circle at 14% 28%, rgba(183, 47, 47, 0.08), transparent 30%),
        linear-gradient(180deg, #fffdfc 0%, #ffffff 100%);
    color: #211816;
}

.health-page .health-conversion-section::before {
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.04) 0 1px, transparent 1px 100%),
        linear-gradient(180deg, rgba(166, 42, 42, 0.032) 0 1px, transparent 1px 100%);
    background-size: 86px 86px;
    opacity: 1;
}

.health-page .health-conversion-section::after {
    display: none;
}

.health-page .health-conversion-section .health-cta-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(28px, 6vw, 80px);
    align-items: end;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-cta-label {
    color: #a62a2a;
    background: rgba(166, 42, 42, 0.08);
    border: 1px solid rgba(166, 42, 42, 0.14);
    border-radius: 999px;
}

.health-page .health-conversion-section .health-cta-container h2 {
    max-width: 840px;
    color: #211816;
    font-size: clamp(2.05rem, 4vw, 3.7rem);
    font-weight: 760;
    letter-spacing: 0;
}

.health-page .health-cta-copy p,
.health-page .health-cta-action span {
    color: #675d59;
}

.health-page .health-protection-section {
    padding: clamp(78px, 9vw, 126px) 0;
    background:
        radial-gradient(circle at 86% 14%, rgba(183, 47, 47, 0.07), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fbf7f4 100%);
}

.health-page .health-protection-section .health-commercial-grid {
    gap: clamp(42px, 8vw, 110px);
}

.health-page .health-protection-section .health-commercial-text h2 {
    letter-spacing: 0;
}

.health-page .health-protection-list {
    border-top: 1px solid rgba(166, 42, 42, 0.12);
}

.health-page .health-protection-list li {
    border-bottom: 1px solid rgba(166, 42, 42, 0.12);
}

.health-page .health-protection-card {
    border-color: rgba(255, 255, 255, 0.58);
    background: rgba(255, 255, 255, 0.46);
    box-shadow: 0 18px 44px rgba(33, 24, 22, 0.1);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.health-page .health-testimonial-section {
    padding: clamp(72px, 8vw, 112px) 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.035) 0 1px, transparent 1px 100%),
        #ffffff;
    background-size: 88px 100%, auto;
}

.health-page .health-testimonial-section .testimonial-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    gap: clamp(28px, 5vw, 66px);
    align-items: stretch;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-testimonial-section .testimonial-text {
    padding: clamp(24px, 4vw, 40px) 0 clamp(24px, 4vw, 40px) clamp(22px, 4vw, 42px);
    border-left: 2px solid rgba(166, 42, 42, 0.24);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-testimonial-brand {
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 26px;
    background:
        radial-gradient(circle at 90% 10%, rgba(206, 99, 99, 0.14), transparent 30%),
        rgba(65, 22, 15, 0.96);
    box-shadow: 0 24px 64px rgba(37, 27, 27, 0.14);
}

.health-page .health-hospital-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(86px, 10vw, 138px) 0;
    background: #ffffff;
}

.health-page .health-hospital-section::before {
    display: none;
}

.health-page .health-hospital-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(320px, 480px) minmax(0, 1fr);
    gap: clamp(34px, 7vw, 92px);
    align-items: center;
}

.health-page .health-hospital-heading {
    position: relative;
    z-index: 1;
    max-width: 850px;
    margin: 0 auto clamp(34px, 5vw, 58px);
    text-align: center;
}

.health-page .health-hospital-heading .section-label {
    width: fit-content;
    margin: 0 auto 18px;
    border: 1px solid rgba(166, 42, 42, 0.14);
    background: rgba(166, 42, 42, 0.08);
    color: #a62a2a;
}

.health-page .health-hospital-heading #health-hospital-title {
    margin: 0 auto;
    color: var(--primary-red);
    font-size: var(--health-h2-size);
    font-weight: 760;
    line-height: 1.08;
    letter-spacing: 0;
}

.health-page .health-hospital-copy {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: start;
    align-content: center;
    max-width: 720px;
    width: 100%;
}

.health-page .health-hospital-copy p {
    width: 100%;
    max-width: 680px;
    margin: 16px 0 0;
    color: #5f5551;
    font-size: var(--health-body-size);
    line-height: 1.68;
    text-align: justify;
}

.health-page .health-hospital-copy p:first-child {
    margin-top: 0;
    color: #3f3734;
    font-size: var(--health-body-size);
    font-weight: 400;
    line-height: 1.68;
}

.health-page .health-hospital-copy p + p {
    padding-top: 16px;
    border-top: 1px solid rgba(166, 42, 42, 0.1);
}

.health-page .health-hospital-tax-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    max-width: 680px;
    margin-top: 30px;
}

.health-page .health-hospital-tax-card {
    position: relative;
    overflow: hidden;
    min-height: 132px;
    padding: 22px;
    border: 1px solid rgba(166, 42, 42, 0.14);
    border-radius: 20px;
    box-shadow: 0 18px 44px rgba(33, 24, 22, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.health-page .health-hospital-tax-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, #a62a2a, rgba(166, 42, 42, 0));
}

.health-page .health-hospital-tax-card span {
    display: block;
    color: #a62a2a;
    font-size: var(--health-label-size);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.health-page .health-hospital-tax-card strong {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: baseline;
    margin-top: 12px;
    color: #211816;
    font-size: var(--health-h3-size);
    font-weight: 760;
    line-height: 1.05;
    letter-spacing: 0;
}

.health-page .health-hospital-tax-card small {
    color: #8a7f7b;
    font-size: var(--health-body-small);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.health-page .health-hospital-main-cta {
    display: flex;
    width: min(100%, 280px);
    min-height: 50px;
    align-items: center;
    justify-content: center;
    margin: clamp(28px, 5vw, 46px) auto 0;
    padding: 13px 22px;
    border: 1px solid rgba(166, 42, 42, 0.2);
    border-radius: 999px;
    background: rgba(166, 42, 42, 0.1);
    color: #a62a2a;
    font-size: var(--health-card-title-size);
    font-weight: 760;
    letter-spacing: 0.02em;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 16px 36px rgba(33, 24, 22, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.health-page .health-hospital-main-cta:hover,
.health-page .health-hospital-main-cta:focus-visible {
    border-color: rgba(166, 42, 42, 0.34);
    background: rgba(255, 255, 255, 0.72);
    color: #8f2323;
    transform: translateY(-3px);
}

.health-page .health-hospital-image {
    position: relative;
    z-index: 1;
    align-self: stretch;
    width: 100%;
    aspect-ratio: 1;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(65, 22, 15, 0.82), rgba(166, 42, 42, 0.7)),
        linear-gradient(180deg, #fff7f4, #ffffff);
    box-shadow:
        0 28px 72px rgba(37, 27, 27, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

.health-page .health-hospital-image::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(65, 22, 15, 0.02), rgba(65, 22, 15, 0.34)),
        radial-gradient(circle at 86% 10%, rgba(255, 255, 255, 0.3), transparent 32%);
    pointer-events: none;
}

.health-page .health-hospital-image::after {
    content: "";
    position: absolute;
    inset: clamp(12px, 2vw, 18px);
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, 0.26);
    border-radius: 20px;
    pointer-events: none;
}

.health-page .health-hospital-image img {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 64% center;
    transform: none;
}

.health-page .health-hospital-note {
    position: absolute;
    left: clamp(18px, 3vw, 30px);
    right: clamp(18px, 3vw, 30px);
    bottom: clamp(18px, 3vw, 30px);
    z-index: 2;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 18px;
    background: rgba(65, 22, 15, 0.78);
    box-shadow: 0 18px 44px rgba(33, 24, 22, 0.22);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.health-page .health-hospital-note span {
    display: block;
    color: rgba(255, 255, 255, 0.72);
    font-size: var(--health-label-size);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.health-page .health-hospital-note strong {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: var(--health-card-title-size);
    font-weight: 760;
    line-height: 1.35;
}

.health-page .health-final-cta {
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.045) 0 1px, transparent 1px 100%),
        linear-gradient(180deg, #ffffff 0%, #fff7f4 100%);
    background-size: 86px 100%, auto;
}

.health-page .health-final-cta-card {
    gap: clamp(28px, 6vw, 82px);
}

@media (max-width: 860px) {
    .health-page .health-conversion-section .health-cta-container,
    .health-page .health-testimonial-section .testimonial-content,
    .health-page .health-hospital-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-hospital-grid {
        gap: 28px;
    }

    .health-page .health-cta-action {
        justify-items: start;
    }

    .health-page .health-hospital-copy {
        max-width: none;
    }

    .health-page .health-hospital-image {
        aspect-ratio: 16 / 10;
    }

    .health-page .health-hospital-image img {
        object-position: 62% center;
    }
}

@media (max-width: 680px) {
    .health-page .health-hospital-tax-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .health-page .health-method-intro .cta-button-red,
    .health-page .health-cta-action,
    .health-page .health-cta-action .cta-button-red,
    .health-page .health-final-cta-action,
    .health-page .health-final-cta-action .cta-button-red,
    .health-page .health-hospital-main-cta {
        width: 100%;
    }

    .health-page .health-hospital-section {
        padding: 68px 0 88px;
    }

    .health-page .health-hospital-heading {
        margin-bottom: 28px;
    }

    .health-page .health-hospital-heading #health-hospital-title {
        font-size: var(--health-h2-size);
        line-height: 1.08;
    }

    .health-page .health-hospital-copy p {
        max-width: none;
    }

    .health-page .health-hospital-tax-card {
        min-height: 112px;
    }

    .health-page .health-hospital-image {
        aspect-ratio: 4 / 3;
        min-height: 0;
        border-radius: 20px;
    }

    .health-page .health-hospital-image img {
        object-position: 60% center;
    }

    .health-page .health-hospital-note {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        margin: -76px 14px 14px;
        padding: 14px 16px;
    }
}

/* Saúde — ajuste solicitado: hero mais limpo */
.health-page .hero-health {
    min-height: clamp(680px, calc(100svh - 74px), 820px);
    padding: clamp(112px, 13vw, 164px) 0 clamp(88px, 10vw, 128px);
    background: url("../resources/Imagens/saude.jpg") center center / cover no-repeat;
}

.health-page .health-hero-grid {
    grid-template-columns: minmax(0, 680px) minmax(190px, 260px);
    gap: clamp(28px, 7vw, 92px);
    align-items: center;
}

.health-page .health-hero-text {
    padding: clamp(18px, 3vw, 34px) 0;
}

.health-page .health-hero-text .hero-title {
    max-width: 620px;
    margin-bottom: 18px;
}

.health-page .health-hero-text .hero-text {
    max-width: 540px;
    margin-bottom: 26px;
}

.health-page .health-hero-actions {
    margin-top: 0;
}

.health-page .health-hero-background-panel {
    width: min(100%, 250px);
    padding: 18px 18px 18px 20px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.28);
    box-shadow: 0 18px 46px rgba(33, 24, 22, 0.08);
}

.health-page .health-hero-background-panel strong {
    font-size: 0.84rem;
}

.health-page .health-hero-background-panel span {
    font-size: 0.72rem;
}

.health-page .health-hero-proof {
    display: none;
}

@media (max-width: 900px) {
    .health-page .health-hero-grid {
        grid-template-columns: 1fr;
    }

    .health-page .health-hero-background-panel {
        width: min(100%, 430px);
        margin-top: 2px;
    }
}

@media (max-width: 520px) {
    .health-page .hero-health {
        min-height: auto;
        padding: 104px 0 82px;
    }
}

/* Saúde — ajuste solicitado: linha de confiança mais sutil */
.health-page .health-action-strip {
    z-index: 2;
    margin-top: 0;
    padding: clamp(20px, 3vw, 34px) 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.035) 0 1px, transparent 1px 100%),
        #fffdfc;
    background-size: 86px 100%, auto;
    border-top: 1px solid rgba(166, 42, 42, 0.08);
    border-bottom: 1px solid rgba(166, 42, 42, 0.08);
}

.health-page .health-action-panel {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(300px, 1fr) auto;
    gap: clamp(18px, 4vw, 44px);
    align-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.health-page .health-action-panel::before {
    display: none;
}

.health-page .health-action-intro {
    gap: 5px;
    padding-right: clamp(16px, 3vw, 34px);
    border-right: 1px solid rgba(166, 42, 42, 0.13);
}

.health-page .health-action-intro span {
    color: #a62a2a;
    font-size: 0.68rem;
}

.health-page .health-action-intro strong {
    max-width: 410px;
    color: #211816;
    font-size: clamp(0.98rem, 1.4vw, 1.2rem);
    line-height: 1.28;
}

.health-page .health-action-items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

.health-page .health-action-items span {
    min-height: 0;
    padding: 8px clamp(10px, 2vw, 18px) 8px 22px;
    border: 0;
    border-right: 1px solid rgba(166, 42, 42, 0.12);
    border-radius: 0;
    background: transparent;
    color: #5f5652;
    font-size: 0.78rem;
}

.health-page .health-action-items span:last-child {
    border-right: 0;
}

.health-page .health-action-items span::before {
    left: 8px;
    width: 5px;
    height: 5px;
    background: rgba(166, 42, 42, 0.7);
}

.health-page .health-action-strip .health-glass-button {
    min-height: 44px;
    padding: 11px 17px;
    background: rgba(255, 255, 255, 0.42);
    box-shadow: 0 12px 28px rgba(33, 24, 22, 0.06);
}

@media (max-width: 940px) {
    .health-page .health-action-panel {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .health-page .health-action-intro {
        padding-right: 0;
        border-right: 0;
    }

    .health-page .health-action-items {
        border-top: 1px solid rgba(166, 42, 42, 0.12);
        border-bottom: 1px solid rgba(166, 42, 42, 0.12);
        padding: 10px 0;
    }
}

@media (max-width: 560px) {
    .health-page .health-action-items {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
    }

    .health-page .health-action-items span {
        border-right: 0;
        border-bottom: 1px solid rgba(166, 42, 42, 0.1);
        padding: 13px 0 13px 18px;
    }

    .health-page .health-action-items span:last-child {
        border-bottom: 0;
    }

    .health-page .health-action-items span::before {
        left: 0;
    }

    .health-page .health-action-strip .health-glass-button {
        width: 100%;
    }
}

/* Saúde — ajuste solicitado: próximo passo contido */
.health-page .health-action-strip {
    padding: clamp(24px, 4vw, 42px) 0;
    background: #fffdfc;
    border: 0;
}

.health-page .health-action-panel {
    max-width: 1120px;
    margin-inline: auto;
    padding: clamp(18px, 3vw, 26px) clamp(18px, 3vw, 30px);
    border: 1px solid rgba(166, 42, 42, 0.11);
    border-radius: 24px;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.035) 0 1px, transparent 1px 100%),
        rgba(255, 255, 255, 0.58);
    background-size: 76px 100%, auto;
    box-shadow: 0 18px 44px rgba(33, 24, 22, 0.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.health-page .health-action-panel::before {
    display: block;
    content: "";
    position: absolute;
    inset: 12px auto 12px 0;
    width: 2px;
    border-radius: 999px;
    background: rgba(166, 42, 42, 0.32);
}

.health-page .health-action-intro {
    border-right-color: rgba(166, 42, 42, 0.1);
}

@media (max-width: 940px) {
    .health-page .health-action-panel {
        max-width: min(100%, 680px);
    }
}

@media (max-width: 560px) {
    .health-page .health-action-panel {
        border-radius: 18px;
    }
}

/* Saúde — ajuste solicitado: bordas da lista de proteção */
.health-page .health-protection-list {
    gap: 0;
    width: min(100%, 560px);
    margin-top: 1.35rem;
    border-top: 1px solid rgba(166, 42, 42, 0.12);
}

.health-page .health-protection-list li {
    min-height: 52px;
    display: flex;
    align-items: center;
    padding: 14px 0 14px 2rem;
    border-bottom: 1px solid rgba(166, 42, 42, 0.12);
}

.health-page .health-protection-list li::before {
    top: 50%;
    transform: translateY(-50%);
}

/* Saúde — ajuste solicitado: depoimento compacto */
.health-page .health-testimonial-section {
    padding: clamp(42px, 5vw, 68px) 0;
}

.health-page .health-testimonial-heading {
    max-width: 560px;
    margin-bottom: clamp(20px, 3vw, 30px);
}

.health-page .health-testimonial-heading #health-testimonial-title {
    font-size: clamp(1.65rem, 2.9vw, 2.55rem);
    line-height: 1.08;
}

.health-page #setores-saude .section-header #health-sectors-title,
.health-page .health-method-intro #health-method-title,
.health-page .health-testimonial-heading #health-testimonial-title,
.health-page .health-hospital-heading #health-hospital-title,
.health-page .health-final-cta-copy #health-final-cta-title {
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.health-page .health-impact-content #health-impact-title {
    color: #fff;
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.health-page .health-final-cta-copy #health-final-cta-title {
    color: #fff;
}

.health-page .health-hospital-main-cta.cta-button-red {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.health-page .health-final-cta-card {
    border-color: rgba(255, 255, 255, 0.16);
    background:
        radial-gradient(circle at 88% 12%, rgba(206, 99, 99, 0.28), transparent 30%),
        var(--primary-red);
    box-shadow: 0 24px 64px rgba(65, 22, 15, 0.2);
    color: #fff;
}

.health-page .health-final-cta-action .cta-button-red {
    border-color: rgba(255, 255, 255, 0.46);
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.health-page .health-final-cta-action .cta-button-red:hover,
.health-page .health-final-cta-action .cta-button-red:focus-visible {
    border-color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.24);
    color: #fff;
}

.health-page .health-testimonial-heading > p {
    font-size: 0.9rem;
    line-height: 1.62;
}

.health-page .health-testimonial-section .testimonial-content {
    grid-template-columns: minmax(0, 1fr) minmax(190px, 230px);
    gap: clamp(20px, 3.5vw, 40px);
}

.health-page .health-testimonial-section .testimonial-text {
    padding: 14px 0 14px clamp(18px, 3vw, 28px);
}

.health-page .health-testimonial-section .testimonial-text::before {
    font-size: clamp(3.2rem, 7vw, 5rem);
}

.health-page .health-testimonial-section .testimonial-quote {
    max-width: 600px;
    font-size: clamp(0.98rem, 1.35vw, 1.22rem);
    line-height: 1.45;
}

.health-page .health-testimonial-section .testimonial-text footer {
    margin-top: 12px;
}

.health-page .health-testimonial-section .testimonial-author {
    font-size: 0.74rem;
}

.health-page .health-testimonial-section .testimonial-place {
    font-size: 0.76rem;
}

.health-page .health-testimonial-brand {
    padding: 16px;
    border-radius: 18px;
}

.health-page .health-testimonial-brand img {
    width: 90px;
}

.health-page .health-testimonial-brand strong {
    font-size: 0.86rem;
    line-height: 1.28;
}

.health-page .health-testimonial-brand span {
    font-size: 0.74rem;
    line-height: 1.4;
}

@media (max-width: 860px) {
    .health-page .health-testimonial-section .testimonial-content {
        grid-template-columns: 1fr;
    }
}

.health-page .health-testimonial-section .testimonial-content {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    max-width: 980px;
    margin-inline: auto;
    padding: 1.25rem;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 46px rgba(37, 27, 27, 0.08);
    transition: var(--transition);
}

.health-page .health-testimonial-section .testimonial-content::before {
    content: "“";
    position: absolute;
    right: 16px;
    bottom: -30px;
    color: rgba(206, 99, 99, 0.1);
    font-family: Georgia, serif;
    font-size: 6.5rem;
    line-height: 1;
    pointer-events: none;
}

.health-page .health-testimonial-section .testimonial-content:hover {
    border-color: rgba(206, 99, 99, 0.32);
    box-shadow: var(--shadow-hover);
    transform: translateY(-6px);
}

.health-page .health-testimonial-section .testimonial-text {
    position: relative;
    z-index: 1;
    order: 2;
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.health-page .health-testimonial-section .testimonial-text::before {
    display: none;
}

.health-page .health-testimonial-section .testimonial-quote {
    max-width: none;
    margin: 0;
    color: rgba(37, 27, 27, 0.78);
    font-size: 0.94rem;
    line-height: 1.58;
    overflow-wrap: anywhere;
}

.health-page .health-testimonial-section .testimonial-text footer {
    margin-top: auto;
    padding-top: 0.8rem;
    border-top: 0;
}

.health-page .health-testimonial-section .testimonial-author {
    color: var(--dark-gray);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.health-page .health-testimonial-section .testimonial-place {
    margin-top: 0.26rem;
    color: var(--medium-gray);
    font-size: 0.8rem;
    font-weight: 600;
}

.health-page .health-testimonial-brand {
    position: relative;
    z-index: 1;
    order: 1;
    display: flex;
    width: 64px;
    height: 64px;
    min-height: 0;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border: 1px solid rgba(206, 99, 99, 0.22);
    border-radius: 50%;
    background: var(--primary-red);
    box-shadow: none;
}

.health-page .health-testimonial-brand img {
    width: 42px;
    height: auto;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.health-page .health-testimonial-brand strong,
.health-page .health-testimonial-brand span {
    display: none;
}

@media (max-width: 720px) {
    .health-page .health-testimonial-section .testimonial-content {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .health-page .health-testimonial-brand {
        width: 58px;
        height: 58px;
    }

    .health-page .health-testimonial-brand img {
        width: 38px;
    }
}

.digital-market-page .digital-testimonial-grid {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    max-width: 980px;
    margin-inline: auto;
    padding: 1.25rem;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 46px rgba(37, 27, 27, 0.08);
    transition: var(--transition);
}

.digital-market-page .digital-testimonial-grid::before {
    content: "“";
    position: absolute;
    right: 16px;
    bottom: -30px;
    color: rgba(206, 99, 99, 0.1);
    font-family: Georgia, serif;
    font-size: 6.5rem;
    line-height: 1;
    pointer-events: none;
}

.digital-market-page .digital-testimonial-grid:hover {
    border-color: rgba(206, 99, 99, 0.32);
    box-shadow: var(--shadow-hover);
    transform: translateY(-6px);
}

.digital-market-page .digital-testimonial-media {
    position: relative;
    z-index: 1;
    display: flex;
    width: 64px;
    height: 64px;
    min-height: 0;
    align-items: center;
    justify-content: center;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(206, 99, 99, 0.22);
    border-radius: 50%;
    background: var(--primary-red);
}

.digital-market-page .digital-testimonial-media::before,
.digital-market-page .digital-testimonial-media figcaption,
.digital-market-page .digital-testimonial-mark {
    display: none;
}

.digital-market-page .digital-testimonial-media img {
    position: static;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: none;
}

.digital-market-page .digital-testimonial-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.digital-market-page .digital-testimonial-copy blockquote {
    max-width: none;
    margin: 0;
    color: rgba(37, 27, 27, 0.78);
    font-size: 0.94rem;
    font-weight: 400;
    line-height: 1.58;
    overflow-wrap: anywhere;
}

.digital-market-page .digital-testimonial-client {
    display: block;
    margin-top: auto;
    padding-top: 0.8rem;
    border-top: 0;
}

.digital-market-page .digital-testimonial-client strong {
    color: var(--dark-gray);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.digital-market-page .digital-testimonial-client span {
    margin-top: 0.26rem;
    color: var(--medium-gray);
    font-size: 0.8rem;
    font-weight: 600;
}

.digital-market-page .digital-testimonial-meta {
    display: none;
}

@media (max-width: 720px) {
    .digital-market-page .digital-testimonial-grid {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .digital-market-page .digital-testimonial-media {
        width: 58px;
        height: 58px;
    }
}

@media (max-width: 480px) {
    .health-page .health-testimonial-section .testimonial-content,
    .digital-market-page .digital-testimonial-grid {
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 14px;
        padding: 1rem;
        border-radius: 22px;
    }

    .health-page .health-testimonial-brand,
    .digital-market-page .digital-testimonial-media {
        width: 52px;
        height: 52px;
    }

    .health-page .health-testimonial-brand img {
        width: 34px;
    }
}

.health-page .health-testimonial-heading,
.digital-market-page .digital-testimonial-heading {
    max-width: 850px;
    margin: 0 auto clamp(34px, 5vw, 58px);
    text-align: center;
}

.health-page .health-testimonial-heading #health-testimonial-title,
.digital-market-page .digital-testimonial-heading #health-testimonial-title {
    max-width: 760px;
    margin-inline: auto;
}

.health-page .health-testimonial-heading > p,
.digital-market-page .digital-testimonial-heading > p {
    max-width: 680px;
    margin: 18px auto 0;
}

.health-page .health-testimonial-brand img,
.digital-market-page .digital-testimonial-media img {
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    object-fit: contain;
}

/* Saúde — ajuste solicitado: health trust strip limpa */
.health-page .health-trust-strip {
    padding: clamp(28px, 4vw, 46px) 0;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.03) 0 1px, transparent 1px 100%),
        linear-gradient(180deg, #ffffff 0%, #fffdfc 100%);
    background-size: 86px 100%, auto;
    border-top: 1px solid rgba(166, 42, 42, 0.07);
    border-bottom: 1px solid rgba(166, 42, 42, 0.07);
}

.health-page .health-trust-strip::before {
    display: none;
}

.health-page .health-trust-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    align-items: stretch;
}

.health-page .health-trust-card,
.health-page .health-trust-card:nth-child(2),
.health-page .health-trust-card:nth-child(2):hover {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 0 clamp(18px, 3vw, 34px);
    transform: none;
}

.health-page .health-trust-card:first-child {
    padding-left: 0;
}

.health-page .health-trust-card:last-child {
    padding-right: 0;
}

.health-page .health-trust-card + .health-trust-card {
    border-left: 1px solid rgba(166, 42, 42, 0.1);
}

.health-page .health-trust-card:nth-child(2)::after {
    display: none;
}

.health-page .health-trust-card::before,
.health-page .health-trust-card:nth-child(2)::before,
.health-page .health-trust-card:hover::before {
    display: none;
    opacity: 0;
}

.health-page .health-trust-card img,
.health-page .health-trust-card:nth-child(2) img {
    width: 38px;
    height: 38px;
    padding: 8px;
    border: 1px solid rgba(166, 42, 42, 0.1);
    border-radius: 999px;
    background: rgba(166, 42, 42, 0.055);
    filter: saturate(0.72) opacity(0.74);
}

.health-page .health-trust-card:hover img {
    border-color: rgba(166, 42, 42, 0.18);
    background: rgba(166, 42, 42, 0.08);
    filter: saturate(0.95) opacity(0.92);
}

.health-page .health-trust-card h2 {
    margin-bottom: 5px;
    font-size: clamp(0.9rem, 1vw, 0.98rem);
}

.health-page .health-trust-card p {
    max-width: 290px;
    font-size: 0.8rem;
    line-height: 1.58;
}

@media (max-width: 860px) {
    .health-page .health-trust-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .health-page .health-trust-card,
    .health-page .health-trust-card:nth-child(2),
    .health-page .health-trust-card:nth-child(2):hover {
        padding: 18px 0;
        border-left: 0;
    }

    .health-page .health-trust-card:first-child {
        padding-top: 0;
    }

    .health-page .health-trust-card:last-child {
        padding-bottom: 0;
    }

    .health-page .health-trust-card + .health-trust-card {
        border-top: 1px solid rgba(166, 42, 42, 0.09);
        border-left: 0;
    }

    .health-page .health-trust-card p {
        max-width: none;
    }
}

/* Saúde — ajuste solicitado: assessoria mais sutil */
.health-page .health-services-showcase {
    padding: clamp(72px, 8vw, 112px) 0;
    background:
        radial-gradient(circle at 12% 14%, rgba(206, 99, 99, 0.08), transparent 28%),
        #ffffff;
}

.health-page .health-services-showcase::before {
    opacity: 0.7;
    background:
        linear-gradient(90deg, rgba(166, 42, 42, 0.035) 0 1px, transparent 1px 100%);
    background-size: 92px 100%;
}

.health-page .health-services-heading {
    max-width: 760px;
    margin-bottom: clamp(34px, 5vw, 58px);
}

.health-page .health-services-layout {
    grid-template-columns: minmax(180px, 0.38fr) minmax(260px, 0.66fr) minmax(0, 0.96fr);
    gap: clamp(28px, 5vw, 66px);
}

.health-page .health-services-nav {
    align-self: center;
}

.health-page .health-services-media {
    min-height: clamp(320px, 34vw, 460px);
}

.health-page .health-services-media img {
    height: clamp(320px, 34vw, 460px);
    border-radius: 32px 32px 42% 40%;
    box-shadow: 0 20px 54px rgba(33, 24, 22, 0.09);
    filter: saturate(0.88) contrast(1.01) brightness(1.03);
}

.health-page .health-services-floating-note {
    width: min(260px, 78%);
    padding: 13px 16px;
    box-shadow: 0 14px 34px rgba(33, 24, 22, 0.08);
}

.health-page .health-services-content {
    padding-left: 0;
    border-left: 0;
}

.health-page .health-services-content h3 {
    max-width: 580px;
    font-size: clamp(1.75rem, 3vw, 2.65rem);
}

.health-page .health-services-content p {
    max-width: 620px;
}

.health-page .health-services-content ul {
    display: grid;
    gap: 0.8rem;
    margin: 1.4rem 0 0;
    padding: 0;
    border-top: 0;
    list-style: none;
}

.health-page .health-services-content li {
    position: relative;
    padding: 0 0 0 2rem;
    border-bottom: 0;
    color: #211816;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.55;
}

.health-page .health-services-content li::before {
    content: "✓";
    position: absolute;
    top: -0.05rem;
    left: 0;
    display: grid;
    width: 1.35rem;
    height: 1.35rem;
    place-items: center;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.18);
    color: #a62a2a;
    font-size: 0.82rem;
    font-weight: 900;
    box-shadow: none;
    transform: none;
}

@media (max-width: 1040px) {
    .health-page .health-services-layout {
        grid-template-columns: minmax(180px, 0.42fr) minmax(0, 1fr);
    }

    .health-page .health-services-content {
        grid-column: 2;
    }
}

@media (max-width: 760px) {
    .health-page .health-services-layout {
        grid-template-columns: 1fr;
    }

    .health-page .health-services-content {
        grid-column: auto;
    }
}

/* FAQ alignment: mirrors the Departamento Pessoal section on key service pages. */
.open-company-page .open-company-faq-section,
.switch-accountant-page .switch-faq-section,
.societario-page .corporate-faq-section {
    position: relative;
    overflow: hidden;
    padding: clamp(4.5rem, 8vw, 7rem) 0;
    background:
        radial-gradient(circle at 12% 12%, rgba(206, 99, 99, 0.12), transparent 30%),
        linear-gradient(180deg, #fff 0%, var(--white) 100%);
}

.open-company-page .open-company-faq-section .container,
.switch-accountant-page .switch-faq-section .container,
.societario-page .corporate-faq-section .container {
    position: relative;
    z-index: 1;
}

.open-company-page .open-company-faq-section .open-company-section-heading,
.switch-accountant-page .switch-faq-heading,
.societario-page .corporate-faq-heading {
    max-width: 820px;
    margin: 0 auto 40px;
    text-align: center;
}

.open-company-page .open-company-faq-section .section-label,
.switch-accountant-page .switch-faq-heading .switch-section-label,
.societario-page .corporate-faq-heading .corporate-section-label {
    justify-content: center;
}

.open-company-page .open-company-faq-section #open-company-faq-title,
.switch-accountant-page .switch-faq-heading #switch-faq-title,
.societario-page .corporate-faq-heading #corporate-faq-title {
    max-width: 820px;
    margin: 0 auto;
    color: var(--primary-red-dark);
    font-size: clamp(2rem, 4vw, 3.35rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: 0;
}

.open-company-page .open-company-faq-section #open-company-faq-title {
    color: var(--primary-red);
    letter-spacing: -0.04em;
}

.switch-accountant-page .switch-faq-heading #switch-faq-title {
    color: var(--primary-red);
    letter-spacing: -0.04em;
}

.open-company-page .open-company-faq-section p,
.switch-accountant-page .switch-faq-heading p,
.societario-page .corporate-faq-heading p {
    max-width: 760px;
    margin: 1rem auto 0;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.82;
}

.open-company-page .open-company-faq-list,
.switch-accountant-page .switch-faq-list,
.societario-page .corporate-faq-list {
    max-width: 920px;
    margin: 0 auto;
}

.open-company-page .open-company-faq-list .faq-item,
.switch-accountant-page .switch-faq-list .faq-item,
.societario-page .corporate-faq-list .faq-item {
    overflow: hidden;
    margin-bottom: 0;
    border: 1px solid rgba(65, 22, 15, 0.1);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 46px rgba(37, 27, 27, 0.08);
    transition: var(--transition);
}

.open-company-page .open-company-faq-list .faq-item + .faq-item,
.switch-accountant-page .switch-faq-list .faq-item + .faq-item,
.societario-page .corporate-faq-list .faq-item + .faq-item {
    margin-top: 0.85rem;
}

.open-company-page .open-company-faq-list .faq-item:hover,
.open-company-page .open-company-faq-list .faq-item.active,
.switch-accountant-page .switch-faq-list .faq-item:hover,
.switch-accountant-page .switch-faq-list .faq-item.active,
.societario-page .corporate-faq-list .faq-item:hover,
.societario-page .corporate-faq-list .faq-item.active {
    border-color: rgba(206, 99, 99, 0.32);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: var(--shadow);
}

.open-company-page .open-company-faq-list .faq-question,
.switch-accountant-page .switch-faq-list .faq-question,
.societario-page .corporate-faq-list .faq-question {
    padding: 1.25rem 1.35rem;
    color: var(--dark-gray);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.open-company-page .open-company-faq-list .faq-question:hover,
.open-company-page .open-company-faq-list .faq-item.active .faq-question,
.switch-accountant-page .switch-faq-list .faq-question:hover,
.switch-accountant-page .switch-faq-list .faq-item.active .faq-question,
.societario-page .corporate-faq-list .faq-question:hover,
.societario-page .corporate-faq-list .faq-item.active .faq-question {
    color: var(--primary-red);
}

.open-company-page .open-company-faq-list .faq-icon,
.switch-accountant-page .switch-faq-list .faq-icon,
.societario-page .corporate-faq-list .faq-icon {
    flex: 0 0 auto;
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.14);
    color: var(--primary-red);
    font-weight: 900;
    box-shadow: none;
}

.open-company-page .open-company-faq-list .faq-answer-content,
.switch-accountant-page .switch-faq-list .faq-answer-content,
.societario-page .corporate-faq-list .faq-answer-content {
    padding: 0 1.35rem 1.35rem;
    color: rgba(37, 27, 27, 0.72);
    line-height: 1.78;
}

@media (max-width: 720px) {
    .open-company-page .open-company-faq-section .open-company-section-heading,
    .switch-accountant-page .switch-faq-heading,
    .societario-page .corporate-faq-heading {
        text-align: left;
    }

    .open-company-page .open-company-faq-section .section-label,
    .switch-accountant-page .switch-faq-heading .switch-section-label,
    .societario-page .corporate-faq-heading .corporate-section-label {
        justify-content: flex-start;
    }

    .open-company-page .open-company-faq-section p,
    .switch-accountant-page .switch-faq-heading p,
    .societario-page .corporate-faq-heading p {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 540px) {
    .open-company-page .open-company-faq-list .faq-question,
    .switch-accountant-page .switch-faq-list .faq-question,
    .societario-page .corporate-faq-list .faq-question {
        padding: 1rem;
        font-size: 0.92rem;
    }

    .open-company-page .open-company-faq-list .faq-answer-content,
    .switch-accountant-page .switch-faq-list .faq-answer-content,
    .societario-page .corporate-faq-list .faq-answer-content {
        padding: 0 1rem 1rem;
    }
}

/* Checklist containers aligned with abrir_empresa intro list. */
.about-page .founder-text .founder-credentials,
.institutional-chips,
.index-page .home-time-section .time-saving-text .home-time-list,
.health-page .health-commercial-text .health-protection-list {
    display: grid;
    gap: 0.8rem;
    margin: 1.3rem 0 0;
    padding: 0;
    list-style: none;
}

.construction-page .time-saving-text .construction-profit-list {
    display: grid;
    gap: 0.8rem;
    margin: 1.3rem 0 34px;
    padding: 0;
    list-style: none;
}

.about-page .founder-text .founder-credentials li,
.institutional-chips li,
.index-page .home-time-section .time-saving-text .home-time-list li,
.health-page .health-commercial-text .health-protection-list li,
.construction-page .time-saving-text .construction-profit-list li {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0 0 0 2rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--dark-gray);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.55;
}

.index-page .home-time-section .time-saving-text .home-time-list li {
    font-weight: 400;
}

.about-page .about-founder-section .founder-text .founder-credentials li {
    color: rgba(248, 249, 250, 0.88);
}

.about-page .founder-text .founder-credentials li::before,
.institutional-chips li::before,
.index-page .home-time-section .time-saving-text .home-time-list li::before,
.health-page .health-commercial-text .health-protection-list li::before,
.construction-page .time-saving-text .construction-profit-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: -0.05rem;
    width: 1.35rem;
    height: 1.35rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(206, 99, 99, 0.18);
    color: var(--primary-red);
    font-size: 0.82rem;
    font-weight: 900;
    box-shadow: none;
    transform: none;
}

.about-page .about-founder-section .founder-text .founder-credentials li::before {
    background: rgba(248, 249, 250, 0.16);
    color: var(--white);
}

.home-time-list li {
    max-width: 480px;
    text-align: justify;
}

.open-company-hero-copy p, .switch-hero-copy p, .payroll-hero-copy p, 
.accounting-hero-copy p, .corporate-hero-copy p, .tax-hero-copy p,
.mei-hero-copy p {    
    max-width: 450px;
    text-align: justify;
}

@media (max-width: 540px) {
    .about-page .founder-text .founder-credentials li,
    .institutional-chips li,
    .index-page .home-time-section .time-saving-text .home-time-list li,
    .health-page .health-commercial-text .health-protection-list li,
    .construction-page .time-saving-text .construction-profit-list li {
        padding-left: 2rem;
        font-size: 0.92rem;
        line-height: 1.5;
    }
}

/* Process sections method redesign */
.open-company-page .open-company-process-section,
.switch-accountant-page .switch-process-section,
.tax-page .tax-process-section,
.payroll-page .payroll-process-section,
.accounting-page .accounting-process-section,
.societario-page .corporate-process-section {
    position: relative;
    overflow: hidden;
    padding: clamp(82px, 9vw, 128px) 0;
    background-color: #fff;
    background:
        radial-gradient(circle at 8% 16%, rgba(206, 99, 99, 0.08), transparent 28%),
        linear-gradient(180deg, #fff 0%, rgba(248, 249, 250, 0.9) 100%);
    color: var(--dark-gray);
}

.open-company-page .open-company-process-section .container,
.switch-accountant-page .switch-process-section .container,
.tax-page .tax-process-section .container,
.payroll-page .payroll-process-section .container,
.accounting-page .accounting-process-section .container,
.societario-page .corporate-process-section .container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(48px, 8vw, 112px);
    align-items: start;
}

.open-company-page .open-company-process-section .open-company-section-heading,
.switch-accountant-page .switch-process-section .switch-section-heading,
.tax-page .tax-process-heading,
.payroll-page .payroll-process-heading,
.accounting-page .accounting-process-heading,
.societario-page .corporate-process-heading {
    position: sticky;
    top: 104px;
    max-width: 520px;
    margin: 0;
    text-align: left;
}

.open-company-page .open-company-process-section .section-label,
.switch-accountant-page .switch-process-section .switch-section-label,
.tax-page .tax-process-heading .tax-section-label,
.payroll-page .payroll-process-heading .payroll-section-label,
.accounting-page .accounting-process-heading .accounting-section-label,
.societario-page .corporate-process-heading .corporate-section-label {
    justify-content: flex-start;
    margin-bottom: 16px;
    color: var(--primary-red);
}

.open-company-page .open-company-process-section #open-company-process-title,
.switch-accountant-page .switch-process-section .switch-section-heading #switch-process-title,
.tax-page .tax-process-heading #tax-process-title,
.payroll-page .payroll-process-heading #payroll-process-title,
.accounting-page .accounting-process-heading #accounting-process-title,
.societario-page .corporate-process-heading #corporate-process-title {
    max-width: 560px;
    margin: 0;
    color: var(--primary-red-dark);
    font-size: clamp(2.25rem, 4.6vw, 4.15rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: 0;
}

.open-company-page .open-company-process-section #open-company-process-title {
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.switch-accountant-page .switch-process-section .switch-section-heading #switch-process-title {
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.tax-page .tax-process-heading #tax-process-title {
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.payroll-page .payroll-process-heading #payroll-process-title {
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.accounting-page .accounting-process-heading #accounting-process-title {
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.societario-page .corporate-process-heading #corporate-process-title {
    color: var(--primary-red);
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.societario-page .corporate-faq-heading #corporate-faq-title {
    color: var(--primary-red);
    letter-spacing: -0.04em;
}

.open-company-page .open-company-process-section .open-company-section-heading p,
.switch-accountant-page .switch-process-section .switch-section-heading p,
.tax-page .tax-process-heading p,
.payroll-page .payroll-process-heading p,
.accounting-page .accounting-process-heading p,
.societario-page .corporate-process-heading p {
    max-width: 560px;
    margin: 20px 0 0;
    color: rgba(37, 27, 27, 0.68);
    font-size: 1rem;
    line-height: 1.82;
}

.open-company-page .open-company-process-grid,
.switch-accountant-page .switch-process-grid,
.tax-page .tax-process-grid,
.payroll-page .payroll-process-grid,
.accounting-page .accounting-process-grid,
.societario-page .corporate-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.open-company-page .open-company-process-grid::before,
.switch-accountant-page .switch-process-grid::before,
.tax-page .tax-process-grid::before,
.payroll-page .payroll-process-grid::before,
.accounting-page .accounting-process-grid::before,
.societario-page .corporate-process-grid::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 14px;
    bottom: 14px;
    left: 24px;
    right: auto;
    display: block;
    width: 1px;
    height: auto;
    background: linear-gradient(180deg, transparent, rgba(65, 22, 15, 0.16), transparent);
}

.open-company-page .open-company-step-card,
.switch-accountant-page .switch-process-card,
.tax-page .tax-process-step,
.payroll-page .payroll-process-step,
.accounting-page .accounting-process-step,
.societario-page .corporate-process-card {
    position: relative;
    z-index: 1;
    overflow: visible;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    /* gap: 16px; */
    align-items: start;
    width: 100%;
    min-height: 0;
    padding: 0 0 22px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    text-align: left;
    transform: none;
    transition: none;
}

.open-company-page .open-company-step-card:last-child,
.switch-accountant-page .switch-process-card:last-child,
.tax-page .tax-process-step:last-child,
.payroll-page .payroll-process-step:last-child,
.accounting-page .accounting-process-step:last-child,
.societario-page .corporate-process-card:last-child {
    padding-bottom: 0;
}

.open-company-page .open-company-step-card::before,
.switch-accountant-page .switch-process-card::before,
.tax-page .tax-process-step::before,
.payroll-page .payroll-process-step::before,
.accounting-page .accounting-process-step::before,
.societario-page .corporate-process-card::before,
.open-company-page .open-company-step-card::after,
.switch-accountant-page .switch-process-card::after,
.tax-page .tax-process-step::after,
.payroll-page .payroll-process-step::after,
.accounting-page .accounting-process-step::after,
.societario-page .corporate-process-card::after {
    content: none;
}

.open-company-page .open-company-step-card:hover,
.switch-accountant-page .switch-process-card:hover,
.tax-page .tax-process-step:hover,
.payroll-page .payroll-process-step:hover,
.accounting-page .accounting-process-step:hover,
.societario-page .corporate-process-card:hover {
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transform: none;
}

.open-company-page .open-company-step-card > span,
.switch-accountant-page .switch-process-number,
.tax-page .tax-process-number,
.payroll-page .payroll-process-number,
.accounting-page .accounting-process-number,
.societario-page .corporate-process-card > span {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    margin: 0;
    border: 1px solid rgba(65, 22, 15, 0.11);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: var(--primary-red);
    box-shadow: 0 10px 26px rgba(37, 27, 27, 0.08);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.1em;
    font-variant-numeric: tabular-nums;
}

.open-company-page .open-company-step-card > div,
.switch-accountant-page .switch-process-card > div,
.tax-page .tax-process-step > div,
.payroll-page .payroll-process-step > div,
.accounting-page .accounting-process-step > div {
    min-width: 0;
    grid-column: 2;
}

.open-company-page .open-company-step-card h3,
.switch-accountant-page .switch-process-card h3,
.tax-page .tax-process-step h3,
.payroll-page .payroll-process-step h3,
.accounting-page .accounting-process-step h3,
.societario-page .corporate-process-card h3 {
    margin: 4px 0 10px;
    color: var(--primary-red-dark);
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    line-height: 1.28;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.open-company-page .open-company-step-card p,
.switch-accountant-page .switch-process-card p,
.tax-page .tax-process-step p,
.payroll-page .payroll-process-step p,
.accounting-page .accounting-process-step p,
.societario-page .corporate-process-card p {
    max-width: 620px;
    margin: 0;
    color: rgba(37, 27, 27, 0.66);
    font-size: 0.96rem;
    line-height: 1.78;
    overflow-wrap: anywhere;
}

.societario-page .corporate-process-card h3,
.societario-page .corporate-process-card p {
    grid-column: 2;
}

.societario-page .corporate-process-card h3 {
    margin-bottom: 6px;
}

@media (max-width: 960px) {
    .open-company-page .open-company-process-section .container,
    .switch-accountant-page .switch-process-section .container,
    .tax-page .tax-process-section .container,
    .payroll-page .payroll-process-section .container,
    .accounting-page .accounting-process-section .container,
    .societario-page .corporate-process-section .container {
        grid-template-columns: 1fr;
        gap: clamp(42px, 6vw, 64px);
    }

    .open-company-page .open-company-process-section .open-company-section-heading,
    .switch-accountant-page .switch-process-section .switch-section-heading,
    .tax-page .tax-process-heading,
    .payroll-page .payroll-process-heading,
    .accounting-page .accounting-process-heading,
    .societario-page .corporate-process-heading {
        position: static;
        max-width: 760px;
    }
}

@media (max-width: 560px) {
    .open-company-page .open-company-process-section,
    .switch-accountant-page .switch-process-section,
    .tax-page .tax-process-section,
    .payroll-page .payroll-process-section,
    .accounting-page .accounting-process-section,
    .societario-page .corporate-process-section {
        padding: 68px 0 88px;
    }

    .open-company-page .open-company-process-section .container,
    .switch-accountant-page .switch-process-section .container,
    .tax-page .tax-process-section .container,
    .payroll-page .payroll-process-section .container,
    .accounting-page .accounting-process-section .container,
    .societario-page .corporate-process-section .container {
        gap: 38px;
    }

    .open-company-page .open-company-process-section .open-company-section-heading,
    .switch-accountant-page .switch-process-section .switch-section-heading,
    .tax-page .tax-process-heading,
    .payroll-page .payroll-process-heading,
    .accounting-page .accounting-process-heading,
    .societario-page .corporate-process-heading {
        max-width: none;
    }

    .open-company-page .open-company-process-section #open-company-process-title,
    .switch-accountant-page .switch-process-section .switch-section-heading #switch-process-title,
    .tax-page .tax-process-heading #tax-process-title,
    .payroll-page .payroll-process-heading #payroll-process-title,
    .accounting-page .accounting-process-heading #accounting-process-title,
    .societario-page .corporate-process-heading #corporate-process-title {
        font-size: clamp(2rem, 12vw, 3rem);
        line-height: 1.04;
        overflow-wrap: anywhere;
    }

    .open-company-page .open-company-process-section .open-company-section-heading p,
    .switch-accountant-page .switch-process-section .switch-section-heading p,
    .tax-page .tax-process-heading p,
    .payroll-page .payroll-process-heading p,
    .accounting-page .accounting-process-heading p,
    .societario-page .corporate-process-heading p {
        font-size: 0.96rem;
        line-height: 1.76;
        overflow-wrap: anywhere;
    }

    .open-company-page .open-company-process-grid::before,
    .switch-accountant-page .switch-process-grid::before,
    .tax-page .tax-process-grid::before,
    .payroll-page .payroll-process-grid::before,
    .accounting-page .accounting-process-grid::before,
    .societario-page .corporate-process-grid::before {
        left: 20px;
    }

    .open-company-page .open-company-step-card,
    .switch-accountant-page .switch-process-card,
    .tax-page .tax-process-step,
    .payroll-page .payroll-process-step,
    .accounting-page .accounting-process-step,
    .societario-page .corporate-process-card {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 18px;
        padding-bottom: 22px;
    }

    .open-company-page .open-company-step-card > span,
    .switch-accountant-page .switch-process-number,
    .tax-page .tax-process-number,
    .payroll-page .payroll-process-number,
    .accounting-page .accounting-process-number,
    .societario-page .corporate-process-card > span {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
        font-size: 0.7rem;
    }
}

@media (max-width: 768px) {
    .index-page .nav-menu > li > .nav-link,
    .open-company-page .nav-menu > li > .nav-link,
    .construction-page .nav-menu > li > .nav-link,
    .accounting-page .nav-menu > li > .nav-link,
    .contact-page .nav-menu > li > .nav-link,
    .payroll-page .nav-menu > li > .nav-link,
    .testimonials-page .nav-menu > li > .nav-link,
    .tax-page .nav-menu > li > .nav-link,
    .switch-accountant-page .nav-menu > li > .nav-link,
    .societario-page .nav-menu > li > .nav-link,
    .health-page .nav-menu > li > .nav-link,
    .about-page .nav-menu > li > .nav-link,
    .plans-page .nav-menu > li > .nav-link,
    .digital-market-page .nav-menu > li > .nav-link,
    .mei-page .nav-menu > li > .nav-link {
        border: 0;
        background: transparent;
        color: var(--dark-gray);
        box-shadow: none;
    }

    .index-page .nav-menu > li > .nav-link:hover,
    .open-company-page .nav-menu > li > .nav-link:hover,
    .construction-page .nav-menu > li > .nav-link:hover,
    .accounting-page .nav-menu > li > .nav-link:hover,
    .contact-page .nav-menu > li > .nav-link:hover,
    .payroll-page .nav-menu > li > .nav-link:hover,
    .testimonials-page .nav-menu > li > .nav-link:hover,
    .tax-page .nav-menu > li > .nav-link:hover,
    .switch-accountant-page .nav-menu > li > .nav-link:hover,
    .societario-page .nav-menu > li > .nav-link:hover,
    .health-page .nav-menu > li > .nav-link:hover,
    .about-page .nav-menu > li > .nav-link:hover,
    .plans-page .nav-menu > li > .nav-link:hover,
    .digital-market-page .nav-menu > li > .nav-link:hover,
    .mei-page .nav-menu > li > .nav-link:hover {
        background: rgba(65, 22, 15, 0.08);
    }

    .index-page .nav-menu > li:last-child > .nav-link,
    .open-company-page .nav-menu > li:last-child > .nav-link,
    .construction-page .nav-menu > li:last-child > .nav-link,
    .accounting-page .nav-menu > li:last-child > .nav-link,
    .contact-page .nav-menu > li:last-child > .nav-link,
    .payroll-page .nav-menu > li:last-child > .nav-link,
    .testimonials-page .nav-menu > li:last-child > .nav-link,
    .tax-page .nav-menu > li:last-child > .nav-link,
    .switch-accountant-page .nav-menu > li:last-child > .nav-link,
    .societario-page .nav-menu > li:last-child > .nav-link,
    .health-page .nav-menu > li:last-child > .nav-link,
    .about-page .nav-menu > li:last-child > .nav-link,
    .plans-page .nav-menu > li:last-child > .nav-link,
    .digital-market-page .nav-menu > li:last-child > .nav-link,
    .mei-page .nav-menu > li:last-child > .nav-link {
        min-height: 46px;
        padding: 13px 30px;
        color: var(--primary-red);
        background: rgba(65, 22, 15, 0.08);
        border: 1px solid rgba(65, 22, 15, 0.2);
        border-radius: 40px;
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
        font-weight: 700;
    }

    .index-page .nav-menu > li:last-child > .nav-link:hover,
    .open-company-page .nav-menu > li:last-child > .nav-link:hover,
    .construction-page .nav-menu > li:last-child > .nav-link:hover,
    .accounting-page .nav-menu > li:last-child > .nav-link:hover,
    .contact-page .nav-menu > li:last-child > .nav-link:hover,
    .payroll-page .nav-menu > li:last-child > .nav-link:hover,
    .testimonials-page .nav-menu > li:last-child > .nav-link:hover,
    .tax-page .nav-menu > li:last-child > .nav-link:hover,
    .switch-accountant-page .nav-menu > li:last-child > .nav-link:hover,
    .societario-page .nav-menu > li:last-child > .nav-link:hover,
    .health-page .nav-menu > li:last-child > .nav-link:hover,
    .about-page .nav-menu > li:last-child > .nav-link:hover,
    .plans-page .nav-menu > li:last-child > .nav-link:hover,
    .digital-market-page .nav-menu > li:last-child > .nav-link:hover,
    .mei-page .nav-menu > li:last-child > .nav-link:hover {
        background: rgba(65, 22, 15, 0.15);
        border-color: rgba(65, 22, 15, 0.3);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    }
}

.societario-page .corporate-process-section .corporate-process-heading #corporate-process-title {
    color: var(--primary-red);
}

.about-page .about-hero .hero-title,
.hero-title,
.hero-digital .hero-title,
.health-hero-text .hero-title,
.hero-construction .hero-title {
    max-width: 720px;
    margin: 0;
    font-size: 60px;
    font-weight: 800;
    line-height: 66px;
    letter-spacing: 0;
    text-align: left;
}

.about-page .about-hero .hero-title,
.hero-construction .hero-title {
    color: #fff;
}

@media (max-width: 480px) {
    .about-page .about-hero .hero-title,
    .hero-title,
    .hero-digital .hero-title,
    .health-hero-text .hero-title,
    .hero-construction .hero-title {
        max-width: 100%;
        font-size: 38px;
        line-height: 43px;
        letter-spacing: 0;
    }
}

/* Mantem o texto do CTA fixo do WhatsApp com a capitalizacao escrita no HTML. */
.whatsapp-cta-btn {
    text-transform: none !important;
}

/* Garante cursor de mao em links, botoes e controles clicaveis do projeto. */
:where(
    a[href],
    button:not(:disabled),
    input[type="button"]:not(:disabled),
    input[type="submit"]:not(:disabled),
    input[type="reset"]:not(:disabled),
    [role="button"]:not([aria-disabled="true"]),
    summary,
    .nav-link,
    .dropdown > button,
    .cta-button,
    .cta-button-red,
    .about-link,
    .hero-button,
    .conversion-button,
    .home-plans-card-button,
    .open-company-button,
    .open-company-button-primary,
    .open-company-button-secondary,
    .open-company-button-light,
    .switch-button,
    .switch-button-primary,
    .mei-button,
    .mei-button-primary,
    .mei-final-cta-primary,
    .tax-button,
    .tax-button-primary,
    .tax-button-secondary,
    .tax-cta-secondary,
    .plans-button,
    .payroll-button,
    .payroll-button-primary,
    .payroll-cta-secondary,
    .accounting-button,
    .accounting-button-primary,
    .accounting-cta-secondary,
    .corporate-button,
    .corporate-button-primary,
    .construction-hero-secondary,
    .construction-hero-primary,
    .construction-why-button,
    .construction-profit-button,
    .construction-final-cta-primary,
    .construction-final-cta-secondary,
    .health-hero-secondary,
    .health-services-cta,
    .health-service-link,
    .health-glass-button,
    .health-hospital-main-cta,
    .digital-split-button,
    .digital-text-link,
    .digital-commercial-button,
    .digital-plans-button,
    .digital-final-cta-button,
    .testimonials-button,
    .testimonials-button-primary,
    .testimonials-button-secondary,
    .testimonials-cta-secondary,
    .whatsapp-button,
    .whatsapp-cta-btn,
    .contact-info-action,
    .mei-solution-link,
    .mei-decision-card,
    .mei-final-cta-secondary,
    .faq-question,
    .plans-tab,
    .segment-button,
    .services-carousel-control,
    .testimonials-brand-carousel-control,
    .testimonials-brand-carousel-dots button
):not([aria-disabled="true"]) {
    cursor: pointer !important;
}

:where(button:disabled, input:disabled, [aria-disabled="true"]) {
    cursor: default !important;
}

/* Padronizacao final dos H3 fora da home. */
body:not(.index-page) h3:not(.stat-number):not(.section-label):not(#about-story-title):not(#about-founder-title):not(#about-coordinators-title):not(.open-company-intro-title):not(#open-company-authority-title):not(#open-company-process-title):not(#open-company-services-title):not(#open-company-cta-title):not(#open-company-faq-title):not(#switch-reason-title):not(#switch-signs-title):not(#switch-process-title):not(#switch-authority-title):not(#switch-comparison-title):not(#switch-mid-cta-title):not(#switch-faq-title):not(#mei-solutions-title):not(#mei-process-title):not(#mei-decision-title):not(#mei-services-table-title):not(#mei-authority-title):not(#mei-education-title):not(#mei-final-cta-title):not(#mei-faq-title):not(#tax-process-title):not(#tax-authority-title):not(#tax-trust-title):not(#tax-cta-title):not(#tax-faq-title):not(#payroll-process-title):not(#payroll-authority-title):not(#payroll-trust-title):not(#payroll-cta-title):not(#payroll-faq-title):not(#accounting-process-title):not(#accounting-signs-title):not(#accounting-trust-title):not(#accounting-authority-title):not(#accounting-cta-title):not(#accounting-faq-title):not(#corporate-services-title):not(#corporate-when-title):not(#corporate-process-title):not(#corporate-risk-title):not(#corporate-cta-title):not(#corporate-faq-title):not(#construction-expertise-title):not(#construction-sectors-title):not(#construction-why-title):not(#construction-technical-title):not(#construction-process-title):not(#construction-testimonial-title):not(#construction-final-cta-title):not(#construction-faq-title):not(#health-sectors-title):not(#health-method-title):not(#health-impact-title):not(#health-testimonial-title):not(#health-hospital-title):not(#health-final-cta-title):not(#digital-split-title):not(#digital-why-title):not(#digital-sectors-title):not(#digital-commercial-title):not(#digital-plans-title):not(#digital-final-cta-title):not(#testimonials-showcase-title):not(#testimonials-cta-title):not(#simulator-title):not(#contact-info-title) {
    font-size: 1.16rem !important;
    font-weight: 800 !important;
}

/* Padronizacao final dos botoes de CTA: tamanho, peso e efeito iguais nas telas. */
/* .cta-button-red, */
.about-link,
.conversion-button,
.home-plans-card-button,
.open-company-button,
.open-company-button-primary,
.open-company-button-secondary,
.open-company-button-light,
.switch-button,
.switch-button-primary,
.mei-button,
.mei-button-primary,
.mei-final-cta-primary,
.tax-button,
.tax-button-primary,
/* .cta-button, */
.payroll-button,
.payroll-button-primary,
.accounting-button,
.accounting-button-primary,
.corporate-button,
.corporate-button-primary,
.construction-hero-secondary,
.construction-hero-primary,
.construction-why-button,
.construction-final-cta-primary,
.health-hero-secondary,
.health-services-cta,
.health-glass-button,
.digital-split-button,
.digital-commercial-button,
.digital-plans-button,
.digital-final-cta-button,
.testimonials-button,
.testimonials-button-primary,
.testimonials-button-secondary,
.testimonials-cta-secondary {
    display: inline-flex !important;
    min-height: 66px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 19px 38px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    box-shadow: 0 16px 36px rgba(33, 24, 22, 0.08) !important;
    transition: var(--transition) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.health-page .health-hospital-section .health-hospital-main-cta.cta-button-red {
    display: flex !important;
    width: fit-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}

.digital-market-page .digital-hero-actions .cta-button-red {
    border: 1px solid rgba(255, 255, 255, 0.46) !important;
    background: rgba(255, 255, 255, 0.16) !important;
    color: var(--white) !important;
    box-shadow: 0 18px 42px rgba(65, 22, 15, 0.22) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.digital-market-page .digital-hero-actions .cta-button-red:hover,
.digital-market-page .digital-hero-actions .cta-button-red:focus-visible {
    border-color: rgba(255, 255, 255, 0.82) !important;
    background: rgba(255, 255, 255, 0.28) !important;
    color: var(--white) !important;
}

.cta-button-red:hover,
.cta-button-red:focus-visible,
.about-link:hover,
.about-link:focus-visible,
.conversion-button:hover,
.conversion-button:focus-visible,
.home-plans-card-button:hover,
.home-plans-card-button:focus-visible,
.open-company-button:hover,
.open-company-button:focus-visible,
.open-company-button-primary:hover,
.open-company-button-primary:focus-visible,
.open-company-button-secondary:hover,
.open-company-button-secondary:focus-visible,
.open-company-button-light:hover,
.open-company-button-light:focus-visible,
.switch-button:hover,
.switch-button:focus-visible,
.switch-button-primary:hover,
.switch-button-primary:focus-visible,
.mei-button:hover,
.mei-button:focus-visible,
.mei-button-primary:hover,
.mei-button-primary:focus-visible,
.mei-final-cta-primary:hover,
.mei-final-cta-primary:focus-visible,
.tax-button:hover,
.tax-button:focus-visible,
.tax-button-primary:hover,
.tax-button-primary:focus-visible,
.cta-button:hover,
.cta-button:focus-visible,
.payroll-button:hover,
.payroll-button:focus-visible,
.payroll-button-primary:hover,
.payroll-button-primary:focus-visible,
.accounting-button:hover,
.accounting-button:focus-visible,
.accounting-button-primary:hover,
.accounting-button-primary:focus-visible,
.corporate-button:hover,
.corporate-button:focus-visible,
.corporate-button-primary:hover,
.corporate-button-primary:focus-visible,
.construction-hero-secondary:hover,
.construction-hero-secondary:focus-visible,
.construction-hero-primary:hover,
.construction-hero-primary:focus-visible,
.construction-why-button:hover,
.construction-why-button:focus-visible,
.construction-final-cta-primary:hover,
.construction-final-cta-primary:focus-visible,
.health-hero-secondary:hover,
.health-hero-secondary:focus-visible,
.health-services-cta:hover,
.health-services-cta:focus-visible,
.health-glass-button:hover,
.health-glass-button:focus-visible,
.digital-split-button:hover,
.digital-split-button:focus-visible,
.digital-commercial-button:hover,
.digital-commercial-button:focus-visible,
.digital-plans-button:hover,
.digital-plans-button:focus-visible,
.digital-final-cta-button:hover,
.digital-final-cta-button:focus-visible,
.testimonials-button:hover,
.testimonials-button:focus-visible,
.testimonials-button-primary:hover,
.testimonials-button-primary:focus-visible,
.testimonials-button-secondary:hover,
.testimonials-button-secondary:focus-visible,
.testimonials-cta-secondary:hover,
.testimonials-cta-secondary:focus-visible {
    transform: translateY(-3px) !important;
    box-shadow: 0 20px 42px rgba(33, 24, 22, 0.11) !important;
}

/* Padronizacao final dos titulos de hero pelo layout do open-company-title. */
.open-company-page .open-company-hero-copy h1,
.switch-accountant-page .switch-hero-copy h1,
.societario-page .corporate-hero-copy h1,
.payroll-page .payroll-hero-copy h1,
.accounting-page .accounting-hero-copy h1,
.tax-page .tax-hero-copy h1,
.mei-page .mei-hero-copy h1,
.construction-page .hero-construction .hero-title,
.health-page .health-hero-text .hero-title,
.digital-market-page .hero-digital .hero-title,
.testimonials-page .testimonials-hero-copy h1,
.about-page .about-hero .hero-title {
    max-width: 600px !important;
    margin: 0 !important;
    font-size: 60px !important;
    font-weight: 800 !important;
    line-height: 66px !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.open-company-page .open-company-hero-copy h1,
.switch-accountant-page .switch-hero-copy h1,
.societario-page .corporate-hero-copy h1,
.payroll-page .payroll-hero-copy h1,
.accounting-page .accounting-hero-copy h1,
.tax-page .tax-hero-copy h1,
.mei-page .mei-hero-copy h1,
.construction-page .hero-construction .hero-title,
.digital-market-page .hero-digital .hero-title,
.testimonials-page .testimonials-hero-copy h1,
.about-page .about-hero .hero-title {
    color: var(--white) !important;
}

.health-page .health-hero-text .hero-title {
    color: var(--primary-red) !important;
}

.health-page .health-hero-text .hero-text {
    color: var(--white) !important;
}

.testimonials-page #testimonials-hero-title {
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
}

@media (max-width: 480px) {
    .open-company-page .open-company-hero-copy h1,
    .switch-accountant-page .switch-hero-copy h1,
    .societario-page .corporate-hero-copy h1,
    .payroll-page .payroll-hero-copy h1,
    .accounting-page .accounting-hero-copy h1,
    .tax-page .tax-hero-copy h1,
    .mei-page .mei-hero-copy h1,
    .construction-page .hero-construction .hero-title,
    .health-page .health-hero-text .hero-title,
    .digital-market-page .hero-digital .hero-title,
    .testimonials-page .testimonials-hero-copy h1,
    .about-page .about-hero .hero-title {
        max-width: 100% !important;
        font-size: 38px !important;
        line-height: 43px !important;
        letter-spacing: 0 !important;
    }
}

.testimonials-page .testimonials-hero-visual {
    min-height: 430px;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    align-content: center;
    justify-items: center;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 32px;
    background: var(--white);
    box-shadow: 0 28px 70px rgba(19, 13, 13, 0.18);
    backdrop-filter: none;
}

.testimonials-page .testimonials-hero-visual::before {
    display: none;
}

.testimonials-page .testimonials-hero-visual img {
    width: min(480px, 100%);
    height: auto;
    max-height: 520px;
    object-fit: contain;
    filter: drop-shadow(0 28px 56px rgba(19, 13, 13, 0.22));
}

.cta-red-content::before {
    display: none !important;
}

.switch-accountant-page .switch-signs-section {
    background:
        linear-gradient(90deg, rgba(14, 8, 9, 0.98) 0%, rgba(54, 13, 17, 0.96) 48%, rgba(111, 20, 24, 0.94) 100%),
        var(--primary-red-dark) !important;
}

.switch-accountant-page .switch-signs-section::before {
    background:
        linear-gradient(90deg, rgba(248, 249, 250, 0.055) 1px, transparent 1px),
        linear-gradient(180deg, rgba(248, 249, 250, 0.045) 1px, transparent 1px) !important;
    background-size: 82px 82px !important;
    mask-image: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent) !important;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 16%, #000 86%, transparent) !important;
}

.switch-accountant-page .switch-signs-section .switch-section-heading #switch-signs-title,
.switch-accountant-page .switch-signs-section .switch-section-heading p {
    color: var(--white) !important;
}

.switch-accountant-page .switch-signs-section .switch-sign-card {
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.075) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.switch-accountant-page .switch-signs-section .switch-sign-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(206, 99, 99, 0.1));
}

.switch-accountant-page .switch-signs-section .switch-sign-card:hover {
    border-color: rgba(206, 99, 99, 0.36) !important;
    background: rgba(255, 255, 255, 0.105) !important;
    box-shadow: 0 30px 78px rgba(0, 0, 0, 0.34) !important;
}

.switch-accountant-page .switch-signs-section .switch-sign-card:hover::before {
    transform: none;
}

.switch-accountant-page .switch-signs-section .switch-sign-card h3 {
    color: var(--white) !important;
}

.switch-accountant-page .switch-signs-section .switch-sign-card p {
    color: rgba(248, 249, 250, 0.72) !important;
}

.societario-page .corporate-risk-section .corporate-risk-card {
    min-height: 260px !important;
    padding: 1.5rem !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-left: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 26px !important;
    background: rgba(255, 255, 255, 0.075) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.societario-page .corporate-risk-section .corporate-risk-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-red-light), rgba(206, 99, 99, 0.1));
}

.societario-page .corporate-risk-section .corporate-risk-card:hover {
    transform: translateY(-6px);
    border-color: rgba(206, 99, 99, 0.36) !important;
    background: rgba(255, 255, 255, 0.105) !important;
    box-shadow: 0 30px 78px rgba(0, 0, 0, 0.34) !important;
}

.societario-page .corporate-risk-section .corporate-risk-card h3 {
    margin: 1.15rem 0 0.65rem !important;
    font-size: 1.12rem !important;
    line-height: 1.25 !important;
}

.societario-page .corporate-risk-section .corporate-risk-card p {
    margin: 0 !important;
    color: rgba(248, 249, 250, 0.72) !important;
    line-height: 1.72 !important;
}

@media (max-width: 768px) {
    .index-page .home-about-grid {
        display: flex;
        flex-direction: column;
    }

    .index-page .home-about-copy {
        display: contents;
    }

    .index-page .home-about-copy h2 {
        order: 1;
        width: 100%;
    }

    .index-page .home-about-media {
        order: 2;
        width: 100%;
    }

    .index-page .home-about-copy p,
    .index-page .home-about-actions {
        order: 3;
        width: 100%;
    }

    .open-company-page .open-company-intro-grid {
        display: flex;
        flex-direction: column;
    }

    .open-company-page .open-company-intro-copy {
        display: contents;
    }

    .open-company-page .open-company-intro-title {
        order: 1;
        width: 100%;
    }

    .open-company-page .open-company-intro-media {
        order: 2;
        width: 100%;
    }

    .open-company-page .open-company-intro-copy p,
    .open-company-page .open-company-check-list {
        order: 3;
        width: 100%;
    }

    .switch-accountant-page .switch-reason-grid {
        display: flex;
        flex-direction: column;
    }

    .switch-accountant-page .switch-reason-copy {
        display: contents;
    }

    .switch-accountant-page .switch-reason-copy #switch-reason-title {
        order: 1;
        width: 100%;
    }

    .switch-accountant-page .switch-reason-media {
        order: 2;
        width: 100%;
    }

    .switch-accountant-page .switch-reason-copy p,
    .switch-accountant-page .switch-reason-list {
        order: 3;
        width: 100%;
    }

    .construction-page .construction-intro-grid {
        display: flex;
        flex-direction: column;
    }

    .construction-page .construction-intro-text {
        display: contents;
    }

    .construction-page .construction-intro-text #construction-expertise-title {
        order: 1;
        width: 100%;
    }

    .construction-page .construction-intro-img {
        order: 2;
        width: 100%;
    }

    .construction-page .construction-intro-text p,
    .construction-page .construction-intro-text .about-link {
        order: 3;
        width: 100%;
    }

    .testimonials-page .testimonials-hero-visual {
        display: none;
    }
}

@media (max-width: 768px) {
    .testimonials-page .testimonials-hero-visual {
        min-height: auto;
    }

    .testimonials-page .testimonials-hero-visual img {
        width: min(360px, 92vw);
    }
}

/* WhatsApp fixo visivel por padrao em desktop e mobile. */
.fixed-whatsapp-bar {
    right: auto !important;
    bottom: 14px !important;
    left: 50% !important;
    width: min(calc(100% - 28px), 800px) !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body:has(.fixed-whatsapp-bar) {
    padding-bottom: 96px;
}

@media (max-width: 540px) {
    .fixed-whatsapp-bar {
        bottom: 10px !important;
        width: calc(100% - 20px) !important;
        min-height: 60px !important;
        padding: 6px 7px 6px 16px !important;
        justify-content: space-between !important;
    }

    .fixed-whatsapp-bar .whatsapp-cta-btn {
        min-height: 46px !important;
        margin-left: 12px !important;
        padding: 10px 16px !important;
    }

    body:has(.fixed-whatsapp-bar) {
        padding-bottom: 86px;
    }
}

@media (max-width: 390px) {
    .fixed-whatsapp-bar p {
        display: none !important;
    }

    .fixed-whatsapp-bar {
        width: auto !important;
        min-width: 0 !important;
        padding: 7px !important;
    }

    .fixed-whatsapp-bar .whatsapp-cta-btn {
        margin-left: 0 !important;
        white-space: nowrap !important;
    }
}

/* MEI: hero image limpa com fundo branco. */
.mei-page .hero-image-panel {
    background: var(--white) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.mei-page .hero-image-panel::before,
.mei-page .hero-image-panel::after {
    content: none !important;
    display: none !important;
}

.mei-page .hero-image-panel img {
    filter: none !important;
}

@media (max-width: 768px) {
    .index-page .hero-home {
        --hero-image: url('../resources/Imagens/PAGINA-INICIAL-mobile.jpg');
    }
}

.open-company-intro-copy p, .switch-reason-copy p {
    max-width: 420px;
    text-align: justify;
}

.open-company-step-card p, .switch-process-card p, .mei-process-step p, 
.tax-process-step p, .payroll-process-step p, .accounting-process-step p, 
.corporate-process-card p, .health-method-item p {
    max-width: 450px !important;
    text-align: justify;
}

.mei-education-list p {
    max-width: 400px !important;
}

.open-company-services-copy p {
    max-width: 350px;
    text-align: justify;
    padding-bottom: 20px;
}

.open-company-services-copy h3 {
    max-width: 500px;
    padding-bottom: 40px;
}

.open-company-intro-title {
    max-width:570px;
    padding-bottom: 20px;
}

.open-company-cta-card div {
    max-width: 500px;
}

.open-company-cta-card a, .switch-mid-cta-card a, .mei-final-cta-actions a,
.tax-cta-actions a, .payroll-cta-actions a, .accounting-cta-actions a,
.corporate-cta-actions a, .digital-final-cta-action a,
.construction-technical-action a, .construction-final-cta-actions a, 
.health-impact-content a, .health-hospital-section .container a,
.health-final-cta-action a,.testimonials-cta-actions a, .serve-action a {
    padding: 30px 30px !important;
    /* font-weight: 900 !important; */
    font-size: 20px !important;    
    border-radius: 999px !important;
}

.mei-decision-grid a p {
    max-width: 300px;
}

.tax-authority-heading {
    max-width: 900px !important;
}

.tax-trust-card p {
    max-width: 300px !important;
    text-align: justify;
}

.digital-hero-grid .hero-content  {
    width: 600px !important;
    text-align: justify;
}

.health-page .health-hero-text .hero-title {
    color: var(--white) !important;
}

.digital-sector-item p {
    max-width: 350px !important;
}

.testimonials-highlight-review p {
    max-width: 500px !important;
}

.plans-hero-copy p {
    max-width: 500px !important;
    text-align: justify;
}

.serve-action .cta-button-red {
    background-color: var(--primary-red) !important;
    color: var(--white) !important;
}

/* TOPO */
.index-page.navbar-over-hero
.navbar.navbar-transparent:not(.scrolled)
.logo-icon {
    content: url('../resources/Icones/docla_logo_branca.png');
}

/* SCROLL */
.navbar.scrolled
.logo-icon {
    content: url('../resources/Imagens/logo.png');
}