:root {
            --primary-hsm-red: #055f3c;; /* Vermelho principal do logo HSM */
            --primary-hsm-grey: #2a2a2a; /* Cinza escuro do fundo */
            --text-light: #f0f0f0;
            --text-dark: #333;
            --border-grey: #444;
            --search-bg: #4a4a4a;
        }

        body {
            margin: 0;
            font-family: 'Roboto', sans-serif;
            background-color: var(--primary-hsm-grey);
            color: var(--text-light);
            overflow-x: hidden; /* Evita scroll horizontal */
        }

        /* --- Header --- */
        .main-header {
            background-color: #000; /* Fundo preto do cabeçalho */
            padding: 15px 3%;
            border-bottom: 1px solid var(--border-grey);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
            position: sticky;
            top: 0;
            z-index: 1000; /* Garante que o header fique acima de outros elementos */
        }

        .header-content {
            max-width: 1300px; /* Largura máxima do conteúdo do header */
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap; /* Permite que os itens quebrem a linha */
        }

        .logo img {
            height: 30px; /* Altura do logo */
            filter: brightness(0) invert(1); /* Deixa o logo branco se for colorido */
        }

        .main-nav ul {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            gap: 25px; /* Espaçamento entre os itens do menu */
            flex-wrap: wrap;
            justify-content: center;
        }

        .main-nav a {
            color: var(--text-light);
            text-decoration: none;
            font-size: 0.95rem;
            font-weight: 500;
            padding: 5px 0;
            transition: color 0.3s ease;
            white-space: nowrap; /* Evita quebra de linha em itens longos */
        }

        .main-nav a:hover {
            color: var(--primary-hsm-red);
        }

        .header-actions {
            display: flex;
            align-items: center;
            gap: 20px;
            flex-wrap: wrap;
            justify-content: center;
        }

        .search-box {
            display: flex;
            background-color: var(--search-bg);
            border-radius: 20px;
            overflow: hidden;
            border: 1px solid var(--border-grey);
        }

        .search-box input {
            border: none;
            background: none;
            padding: 8px 15px;
            font-size: 0.9rem;
            color: var(--text-light);
            outline: none;
            width: 250px; /* Largura do campo de pesquisa */
        }

        .search-box button {
            background-color: var(--primary-hsm-red);
            border: none;
            color: white;
            padding: 8px 12px;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }

        .search-box button:hover {
            background-color: #055f3c;
        }

        .search-box button .fas {
            font-size: 1rem;
        }

        .nav-link {
            color: var(--text-light);
            text-decoration: none;
            font-size: 0.95rem;
            font-weight: 500;
            transition: color 0.3s ease;
        }

        .nav-link:hover {
            color: var(--primary-hsm-red);
        }

        .login-btn {
            background-color: var(--primary-hsm-red);
            padding: 8px 15px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

        .login-btn:hover {
            background-color: #055f3c;
        }

        /* --- Hero Section (Slider) --- */
        .hero-section {
            position: relative;
            width: 100%;
            height: 600px; /* Altura do slider */
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: #1a1a1a; /* Fundo para quando não há imagem */
        }

        .slider-container {
            position: absolute;
            width: 100%;
            height: 100%;
        }

        .slider-item {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 1s ease-in-out;
            display: flex;
            align-items: center;
            justify-content: center;
            pointer-events: none; /* Não interage quando oculto */
        }

        .slider-item.active {
            opacity: 1;
            pointer-events: auto; /* Interage quando ativo */
        }

        .slider-item img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Garante que a imagem cubra o espaço */
            filter: brightness(0.4); /* Escurece a imagem para o texto ser legível */
        }

        .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to right, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0) 100%);
        }

        .hero-content {
            position: absolute;
            z-index: 10;
            color: white;
            text-align: left;
            padding: 0 5%;
            max-width: 800px;
            left: 5%; /* Alinhado à esquerda */
            top: 50%;
            transform: translateY(-50%);
        }

        .hero-tagline {
            font-size: 1.5rem;
            font-weight: 300;
            margin-bottom: 10px;
            color: rgba(255, 255, 255, 0.8);
        }

        .hero-title {
            font-size: 4em;
            font-weight: 700;
            margin-bottom: 20px;
            line-height: 1.2;
        }

        .hero-button {
            background-color: var(--primary-hsm-red);
            color: white;
            padding: 15px 30px;
            border: none;
            border-radius: 8px;
            text-decoration: none;
            font-size: 1.1em;
            font-weight: 600;
            transition: background-color 0.3s ease;
        }

        .hero-button:hover {
            background-color: #055f3c;;
        }

        /* Slider Navigation (Arrows) */
        .slider-nav-arrows {
            position: absolute;
            width: 100%;
            top: 50%;
            transform: translateY(-50%);
            display: flex;
            justify-content: space-between;
            padding: 0 20px;
            z-index: 20;
        }

        .slider-nav-arrows button {
            background-color: rgba(0, 0, 0, 0.5);
            color: white;
            border: none;
            border-radius: 50%;
            width: 50px;
            height: 50px;
            font-size: 1.5rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background-color 0.3s ease;
        }

        .slider-nav-arrows button:hover {
            background-color: rgba(0, 0, 0, 0.8);
        }

        /* Slider Navigation (Dots) */
        .slider-dots {
            position: absolute;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 10px;
            z-index: 20;
        }

        .slider-dots .dot {
            width: 10px;
            height: 10px;
            background-color: rgba(255, 255, 255, 0.5);
            border-radius: 50%;
            cursor: pointer;
            transition: background-color 0.3s ease, transform 0.3s ease;
        }

        .slider-dots .dot.active {
            background-color: var(--primary-hsm-red);
            transform: scale(1.2);
        }

        /* WhatsApp Float Button */
        .whatsapp-float {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background-color: #055f3c; /* WhatsApp Green */
            color: white;
            border-radius: 50%;
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.2rem;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
            z-index: 1000;
            text-decoration: none;
            transition: transform 0.2s ease;
        }

        .whatsapp-float:hover {
            transform: translateY(-5px);
        }

        /* --- Responsive Adjustments --- */
        @media (max-width: 1024px) {
            .main-nav ul {
                gap: 15px;
            }
            .search-box input {
                width: 200px;
            }
            .hero-title {
                font-size: 3.2em;
            }
        }

        @media (max-width: 768px) {
            .header-content {
                flex-direction: column;
                gap: 15px;
            }
            .main-nav ul {
                flex-direction: column;
                align-items: center;
                gap: 10px;
            }
            .header-actions {
                width: 100%;
                justify-content: center;
            }
            .search-box input {
                width: 100%;
            }
            .hero-section {
                height: 450px; /* Altura menor para mobile */
            }
            .hero-title {
                font-size: 2.5em;
                text-align: center;
            }
            .hero-content {
                left: 0;
                top: 50%;
                transform: translateY(-50%);
                text-align: center;
                max-width: 90%;
            }
            .slider-nav-arrows button {
                width: 40px;
                height: 40px;
                font-size: 1.2rem;
            }
            .whatsapp-float {
                width: 50px;
                height: 50px;
                font-size: 1.8rem;
                bottom: 20px;
                right: 20px;
            }
        }

        @media (max-width: 480px) {
            .main-header {
                padding: 10px 2%;
            }
            .logo img {
                height: 25px;
            }
            .main-nav a, .nav-link {
                font-size: 0.85rem;
            }
            .search-box input {
                padding: 6px 10px;
                font-size: 0.85rem;
            }
            .hero-section {
                height: 350px;
            }
            .hero-tagline {
                font-size: 1.2rem;
            }
            .hero-title {
                font-size: 2em;
            }
            .hero-button {
                padding: 10px 20px;
                font-size: 1em;
            }
        }

           /* --- Info Cards Section (REFINADA) --- */
        .info-cards-section {
            background-color: var(--primary-hsm-grey); /* Fundo cinza escuro */
            padding: 80px 3%; /* Padding vertical e horizontal */
            display: flex; /* Usar flex para centralizar o container */
            justify-content: center;
            align-items: center;
        }

        .info-cards-container {
            max-width: 1300px; /* Largura máxima do conteúdo */
            width: 100%; /* Ocupa toda a largura disponível até o max-width */
            margin: 0 auto;
            display: grid;
            /* Em telas maiores, 3 colunas de cards e 1 de texto.
               O texto pode ocupar o espaço restante ou até 2/3 se necessário. */
            grid-template-columns: repeat(3, minmax(280px, 1fr)) minmax(300px, 1.5fr); /* 3 cards + 1 texto maior */
            gap: 30px; /* Espaçamento entre os itens do grid */
            align-items: center; /* Alinha os itens verticalmente no grid */
        }

        .info-card {
            background-color: #fff; /* Fundo branco para os cartões */
            color: var(--text-dark);
            padding: 30px;
            border-radius: 8px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            text-align: center;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 180px; /* Altura mínima para consistência visual */
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .info-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
        }

        .info-card h3 {
            font-size: 1.4rem;
            font-weight: 600;
            margin-bottom: auto; /* Empurra o botão para baixo */
            color: var(--text-dark);
            line-height: 1.3;
        }

        .btn-secondary {
            display: inline-block;
            background-color: transparent;
            color: var(--primary-hsm-red);
            border: 1px solid var(--primary-hsm-red);
            padding: 10px 20px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: 500;
            font-size: 0.95rem;
            transition: background-color 0.3s ease, color 0.3s ease;
            margin-top: 20px; /* Espaçamento do texto acima */
        }

        .btn-secondary:hover {
            background-color: var(--primary-hsm-red);
            color: white;
        }

        .main-platform-text {
            color: var(--text-light); /* Texto branco no fundo escuro */
            text-align: left; /* Alinhado à esquerda */
            padding-left: 30px; /* Espaçamento para o lado dos cards */
            /* Se for para ocupar mais colunas em grid */
            grid-column: span 1; /* Por padrão, ocupa 1 coluna */
        }

        .main-platform-text h2 {
            font-size: 2.8rem; /* Aumentado para mais destaque */
            font-weight: 700;
            line-height: 1.2;
            margin-bottom: 20px;
            color: #fff; /* Título principal sempre branco */
        }

        .main-platform-text .highlight {
            color: var(--primary-hsm-red); /* Destaque em vermelho */
        }

        .main-platform-text .text-link {
            color: var(--text-light);
            text-decoration: none;
            font-size: 1rem;
            font-weight: 500;
            border-bottom: 1px solid var(--text-light); /* Sublinhado sutil */
            padding-bottom: 2px;
            transition: color 0.3s ease, border-color 0.3s ease;
        }

        .main-platform-text .text-link:hover {
            color: var(--primary-hsm-red);
            border-color: var(--primary-hsm-red);
        }


        /* --- Responsive Adjustments for Info Cards Section --- */
        @media (max-width: 1200px) {
            .info-cards-container {
                /* Em telas um pouco menores, os cards podem ser mais flexíveis,
                   e o texto principal ainda pode ter sua própria área. */
                grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
                /* O texto principal pode precisar de um grid-column span para ocupar mais espaço */
            }
            .main-platform-text h2 {
                font-size: 2.5rem;
            }
        }

        @media (max-width: 992px) {
            .info-cards-container {
                grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Volta para ajuste automático, mas com largura mínima maior */
                justify-content: center; /* Centraliza os cards quando eles se ajustam */
            }
            .main-platform-text {
                grid-column: 1 / -1; /* Ocupa a largura total abaixo dos cards */
                text-align: center;
                padding-left: 0;
                margin-top: 40px; /* Espaço entre cards e texto */
            }
            .main-platform-text h2 {
                font-size: 2.2rem;
            }
        }

        @media (max-width: 768px) {
            .info-cards-section {
                padding: 60px 4%;
            }
            .info-cards-container {
                grid-template-columns: 1fr; /* Empilha todos os itens */
                gap: 25px;
            }
            .info-card {
                max-width: 400px; /* Limita a largura dos cards empilhados */
                margin: 0 auto; /* Centraliza os cards */
            }
            .main-platform-text {
                margin-top: 30px;
            }
            .main-platform-text h2 {
                font-size: 1.8rem;
            }
            .main-platform-text .text-link {
                font-size: 0.95rem;
            }
        }

        @media (max-width: 480px) {
            .info-cards-section {
                padding: 40px 3%;
            }
            .info-card {
                padding: 25px;
            }
            .info-card h3 {
                font-size: 1.1rem;
            }
            .btn-secondary {
                padding: 8px 15px;
                font-size: 0.85rem;
            }
            .main-platform-text h2 {
                font-size: 1.6rem;
            }
            .main-platform-text .text-link {
                font-size: 0.85rem;
            }
        }

          /* --- Management Courses Section (Similar to Courses Section) --- */
        .management-courses-section {
            background-color: var(--primary-hsm-grey); /* Fundo cinza escuro, igual às outras seções */
            padding: 80px 3%; /* Padding vertical e horizontal */
            overflow: hidden; /* Importante para o carrossel */
        }

        .management-carousel-container {
            max-width: 1300px;
            margin: 0 auto;
            position: relative;
            overflow: hidden; /* Oculta os cards que estão fora da vista */
        }

        .management-carousel-track {
            display: flex;
            transition: transform 0.5s ease-in-out;
            gap: 30px; /* Espaçamento entre os cards, igual ao outro carrossel */
            padding-bottom: 20px; /* Espaço para sombra/scroll */
        }

        .management-course-card {
            background-color: #fff;
            color: var(--text-dark);
            border-radius: 8px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            flex-shrink: 0; /* Não permite que o card encolha */
            width: 300px; /* Largura fixa para os cards no carrossel */
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .management-course-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
        }

        .management-course-card img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            display: block;
        }

        .management-course-info {
            padding: 20px;
            text-align: left;
        }

        .management-course-info h4 {
            font-size: 1rem;
            font-weight: 400;
            color: var(--text-dark);
            margin-bottom: 5px;
            text-transform: uppercase;
        }

        .management-course-info h3 {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--primary-hsm-red); /* Cor principal do HSM */
            margin-bottom: 10px;
            line-height: 1.2;
        }

        .management-course-info .by-hsm {
            font-size: 0.85rem;
            color: #777;
            margin-bottom: 15px;
        }

        .management-course-info .management-course-description {
            font-size: 0.95rem;
            color: #555;
            line-height: 1.5;
            margin-bottom: 15px;
            min-height: 60px; /* Para manter a altura consistente */
        }

        .management-course-info .management-course-date {
            font-size: 0.85rem;
            color: #777;
            margin-bottom: 20px;
        }

        .btn-management-details {
            display: inline-block;
            background-color: var(--primary-hsm-red);
            color: white;
            padding: 10px 20px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: 500;
            font-size: 0.95rem;
            transition: background-color 0.3s ease;
        }

        .btn-management-details:hover {
            background-color: #c90020;
        }

        /* Arrows for this specific carousel */
        .prev-management-btn {
            left: -20px;
        }

        .next-management-btn {
            right: -20px;
        }

        /* Responsive Adjustments for Management Courses Section */
        @media (max-width: 1024px) {
            .management-course-card {
                width: 280px;
            }
        }

        @media (max-width: 768px) {
            .management-courses-section {
                padding: 60px 4%;
            }
            .management-carousel-container {
                overflow-x: auto;
                scroll-snap-type: x mandatory;
                -webkit-overflow-scrolling: touch;
                padding: 0 10px;
            }
            .management-carousel-track {
                gap: 20px;
                scroll-snap-align: center;
            }
            .management-course-card {
                width: 260px;
            }
            .prev-management-btn, .next-management-btn {
                display: none; /* Oculta as setas em mobile */
            }
        }

        @media (max-width: 480px) {
            .management-courses-section {
                padding: 40px 3%;
            }
            .management-course-card {
                width: 240px;
            }
            .management-course-info h3 {
                font-size: 1.3rem;
            }
            .management-course-info .management-course-description {
                font-size: 0.8rem;
            }
            .btn-management-details {
                padding: 8px 15px;
                font-size: 0.9rem;
            }
        }


          /* --- Excellence Section (Slider) --- */
        .excellence-section {
            background-color: #000; /* Fundo preto para a seção */
            padding: 80px 0; /* Padding vertical */
            position: relative;
            overflow: hidden;
            height: 500px; /* Altura fixa para o slider */
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .excellence-slider-container {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }

        .excellence-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0;
            transition: opacity 1s ease-in-out;
            pointer-events: none; /* Desabilita interações quando oculto */
        }

        .excellence-slide.active {
            opacity: 1;
            pointer-events: auto; /* Habilita interações quando ativo */
        }

        .excellence-image {
            position: relative;
            flex: 0 0 450px; /* Largura fixa para a imagem */
            height: 300px; /* Altura da imagem */
            margin-right: 50px; /* Espaçamento entre imagem e texto */
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.4);
            left: -5%; /* Move a imagem um pouco para fora para simular a imagem */
        }

        .excellence-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .excellence-image-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 50%); /* Gradiente escuro na parte inferior da imagem */
        }

        .excellence-image-text {
            position: absolute;
            bottom: 20px;
            left: 20px;
            color: white;
            z-index: 5;
            text-align: left;
        }

        .excellence-image-text p {
            font-size: 1.1rem;
            font-weight: 500;
            margin-bottom: 10px;
        }

        .btn-excellence-secondary {
            display: inline-block;
            background-color: transparent;
            color: white;
            border: 1px solid white;
            padding: 8px 15px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: 500;
            font-size: 0.9rem;
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        .btn-excellence-secondary:hover {
            background-color: white;
            color: var(--primary-hsm-red);
        }

        .excellence-content {
            color: white;
            text-align: left;
            max-width: 600px;
            padding-left: 3%; /* Padding para alinhar com o conteúdo principal */
            position: relative; /* Para posicionar o número */
        }

        .excellence-number {
            position: absolute;
            top: -60px; /* Ajuste para posicionar acima do título */
            left: 0;
            font-size: 4rem;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.1); /* Transparente para o efeito de "marca d'água" */
            pointer-events: none;
        }

        .excellence-content h2 {
            font-size: 3.5rem;
            font-weight: 700;
            margin-bottom: 20px;
            color: white;
            line-height: 1.1;
        }

        .excellence-content .excellence-description {
            font-size: 1.1rem;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.8);
        }

        /* Slider Navigation (Arrows) - Excellence Section */
        .excellence-slider-nav-arrows {
            position: absolute;
            width: 100%;
            top: 50%;
            transform: translateY(-50%);
            display: flex;
            justify-content: space-between;
            padding: 0 20px;
            z-index: 20;
        }

        .excellence-slider-nav-arrows button {
            background-color: rgba(0, 0, 0, 0.5);
            color: white;
            border: none;
            border-radius: 50%;
            width: 50px;
            height: 50px;
            font-size: 1.5rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background-color 0.3s ease;
        }

        .excellence-slider-nav-arrows button:hover {
            background-color: rgba(0, 0, 0, 0.8);
        }

        /* Slider Navigation (Dots) - Excellence Section */
        .excellence-slider-dots {
            position: absolute;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 10px;
            z-index: 20;
        }

        .excellence-slider-dots .excellence-dot {
            width: 10px;
            height: 10px;
            background-color: rgba(255, 255, 255, 0.5);
            border-radius: 50%;
            cursor: pointer;
            transition: background-color 0.3s ease, transform 0.3s ease;
        }

        .excellence-slider-dots .excellence-dot.active {
            background-color: var(--primary-hsm-red);
            transform: scale(1.2);
        }


        /* --- Responsive Adjustments for Excellence Section --- */
        @media (max-width: 1200px) {
            .excellence-image {
                flex: 0 0 380px;
                height: 280px;
                margin-right: 40px;
            }
            .excellence-content h2 {
                font-size: 3rem;
            }
            .excellence-number {
                font-size: 3.5rem;
                top: -50px;
            }
        }

        @media (max-width: 992px) {
            .excellence-section {
                height: auto; /* Altura flexível para telas menores */
                padding: 60px 3%;
            }
            .excellence-slide {
                flex-direction: column; /* Empilha imagem e conteúdo */
                padding: 20px 0;
            }
            .excellence-image {
                margin-right: 0;
                margin-bottom: 30px; /* Espaço entre imagem e conteúdo */
                width: 90%; /* Ocupa mais largura */
                max-width: 450px; /* Limita a largura máxima */
                left: auto; /* Remove o posicionamento negativo */
                height: 250px;
            }
            .excellence-content {
                text-align: center;
                padding-left: 0;
                max-width: 90%;
            }
            .excellence-number {
                position: static; /* Remove posicionamento absoluto */
                font-size: 2.5rem;
                margin-bottom: 15px;
                color: rgba(255, 255, 255, 0.2);
            }
            .excellence-content h2 {
                font-size: 2.5rem;
            }
            .excellence-content .excellence-description {
                font-size: 1rem;
            }
            .excellence-slider-nav-arrows {
                padding: 0 10px;
            }
            .excellence-slider-nav-arrows button {
                width: 40px;
                height: 40px;
                font-size: 1.2rem;
            }
            .excellence-slider-dots {
                bottom: 20px;
            }
        }

        @media (max-width: 768px) {
            .excellence-section {
                padding: 40px 2%;
            }
            .excellence-image {
                width: 100%;
                height: 200px;
            }
            .excellence-image-text p {
                font-size: 1rem;
            }
            .btn-excellence-secondary {
                padding: 6px 12px;
                font-size: 0.8rem;
            }
            .excellence-content h2 {
                font-size: 2rem;
            }
            .excellence-content .excellence-description {
                font-size: 0.9rem;
            }
        }

        @media (max-width: 480px) {
            .excellence-section {
                padding: 30px 1%;
            }
            .excellence-image {
                height: 180px;
            }
            .excellence-image-text {
                bottom: 15px;
                left: 15px;
            }
            .excellence-image-text p {
                font-size: 0.9rem;
            }
            .excellence-content h2 {
                font-size: 1.8rem;
            }
            .excellence-content .excellence-description {
                font-size: 0.85rem;
            }
        }

         /* --- Solutions Section (Horizontal Scroll) --- */
        .solutions-section {
            background-color: var(--primary-hsm-grey); /* Fundo cinza escuro */
            padding: 80px 0; /* Padding vertical, o horizontal virá do container */
            overflow: hidden; /* Importante para o carrossel */
        }

        .solutions-section .courses-header {
            max-width: 1300px;
            margin: 0 auto 40px auto;
            display: flex;
            align-items: flex-end;
            gap: 20px;
            flex-wrap: wrap;
            padding: 0 3%; /* Padding horizontal para o cabeçalho */
        }

        .solutions-section .courses-header .section-title {
            font-size: 2.2rem;
            font-weight: 700;
            color: #fff;
            margin: 0;
        }

        .solutions-section .courses-header .section-title .highlight {
            color: var(--primary-hsm-red); /* Destaque em vermelho para "empresas" */
        }

        .solutions-carousel-container {
            width: 100%;
            overflow-x: auto; /* Permite a rolagem horizontal */
            -webkit-overflow-scrolling: touch;
            padding: 0 3%; /* Padding horizontal para os cards */
            scroll-snap-type: x mandatory; /* Para "snapar" nos cards */
            scrollbar-width: thin;
            scrollbar-color: var(--primary-hsm-red) transparent;
        }

        /* Estilo da barra de rolagem para navegadores Webkit (Chrome, Safari) */
        .solutions-carousel-container::-webkit-scrollbar {
            height: 8px;
        }
        .solutions-carousel-container::-webkit-scrollbar-track {
            background: transparent;
        }
        .solutions-carousel-container::-webkit-scrollbar-thumb {
            background-color: var(--primary-hsm-red);
            border-radius: 10px;
            border: 2px solid var(--primary-hsm-grey);
        }

        .solutions-carousel-track {
            display: flex;
            gap: 30px; /* Espaçamento entre os cards */
            padding-bottom: 20px; /* Espaço para a scrollbar */
            /* Se estiver usando apenas CSS para scroll, remova a transição de transform */
            /* transition: transform 0.5s ease-in-out; */
        }

        .solution-card {
            background-color: #fff;
            color: var(--text-dark);
            border-radius: 8px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            overflow: hidden;
            flex-shrink: 0;
            width: 300px; /* Largura fixa para os cards */
            scroll-snap-align: start;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .solution-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
        }

        .solution-card img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            display: block;
        }

        .solution-info {
            padding: 20px;
            text-align: left;
        }

        .solution-info h3 {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--primary-hsm-red); /* Cor principal do HSM */
            margin-bottom: 10px;
            line-height: 1.2;
            text-transform: uppercase; /* Singularity Brazil está em maiúsculas */
        }

        .solution-info .solution-description {
            font-size: 0.95rem;
            color: #555;
            line-height: 1.5;
            margin-bottom: 15px;
            min-height: 60px; /* Para manter a altura consistente */
        }

        .solution-info .solution-date {
            font-size: 0.85rem;
            color: #777;
            margin-bottom: 20px;
        }

        .btn-solution-details {
            display: inline-block;
            background-color: #055f3c;
            color: white;
            padding: 10px 20px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: 500;
            font-size: 0.95rem;
            transition: background-color 0.3s ease;
        }

        .btn-solution-details:hover {
            background-color: #c90020;
        }

        /* Responsive Adjustments for Solutions Section */
        @media (max-width: 1024px) {
            .solution-card {
                width: 280px;
            }
        }

        @media (max-width: 768px) {
            .solutions-section {
                padding: 60px 0;
            }
            .solutions-section .courses-header {
                padding: 0 4%;
            }
            .solutions-carousel-container {
                padding: 0 4%;
            }
            .solution-card {
                width: 260px;
            }
            /* Se os botões de seta forem mantidos no HTML, ocultar aqui */
            /* .prev-solution-btn, .next-solution-btn { display: none; } */
        }

        @media (max-width: 480px) {
            .solutions-section {
                padding: 40px 0;
            }
            .solutions-section .courses-header {
                padding: 0 3%;
                flex-direction: column;
                align-items: center;
                text-align: center;
            }
            .solutions-section .courses-header .section-title {
                font-size: 1.8rem;
            }
            .solutions-carousel-container {
                padding: 0 3%;
            }
            .solution-card {
                width: 240px;
            }
            .solution-info h3 {
                font-size: 1.3rem;
            }
            .solution-info .solution-description {
                font-size: 0.8rem;
            }
            .btn-solution-details {
                padding: 8px 15px;
                font-size: 0.9rem;
            }
        }
        

         /* --- HSM+ Section --- */
        .hsmplus-section {
            background-color: var(--primary-hsm-grey); /* Fundo cinza escuro, como outras seções */
            padding: 80px 3%; /* Padding vertical e horizontal */
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .hsmplus-content-container {
            max-width: 1300px; /* Largura máxima do conteúdo */
            width: 100%;
            display: flex;
            align-items: center;
            gap: 50px; /* Espaçamento entre a imagem e o texto */
            flex-wrap: wrap; /* Permite que os itens quebrem linha em telas menores */
            justify-content: center; /* Centraliza itens quando quebram linha */
        }

        .hsmplus-image-wrapper {
            flex: 1; /* Ocupa o espaço disponível */
            min-width: 450px; /* Largura mínima para a imagem */
            max-width: 600px; /* Largura máxima para a imagem */
            position: relative;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
        }

        .hsmplus-image-wrapper img {
            width: 100%;
            height: auto;
            display: block;
        }

        .hsmplus-image-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to right, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0) 100%); /* Gradiente para dar profundidade */
        }

        .hsmplus-text-content {
            flex: 1; /* Ocupa o espaço disponível */
            min-width: 300px; /* Largura mínima para o texto */
            max-width: 600px; /* Largura máxima para o texto */
            color: white;
            text-align: left;
        }

        .hsmplus-title {
            font-size: 3.5rem;
            font-weight: 700;
            margin-bottom: 20px;
            color: white;
            line-height: 1;
        }

        .hsmplus-title .hsmplus-plus {
            color: var(--primary-hsm-red); /* Cor vermelha para o sinal de mais */
        }

        .hsmplus-description {
            font-size: 1.1rem;
            line-height: 1.6;
            margin-bottom: 25px;
            color: rgba(255, 255, 255, 0.9);
        }

        .hsmplus-date,
        .hsmplus-location {
            font-size: 1rem;
            font-weight: 500;
            margin-bottom: 5px;
            color: rgba(255, 255, 255, 0.7);
        }

        .hsmplus-location {
            margin-bottom: 30px; /* Mais espaço antes do botão */
        }

        .btn-hsmplus-details {
            display: inline-block;
            background-color:#055f3c;
            color: white;
            padding: 12px 30px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: 600;
            font-size: 1rem;
            transition: background-color 0.3s ease;
        }

        .btn-hsmplus-details:hover {
            background-color: #5d3581; /* Tom de roxo mais escuro no hover */
        }


        /* --- Responsive Adjustments for HSM+ Section --- */
        @media (max-width: 992px) {
            .hsmplus-content-container {
                flex-direction: column; /* Empilha a imagem e o texto */
                text-align: center;
                gap: 30px;
            }
            .hsmplus-image-wrapper {
                min-width: unset; /* Remove o min-width fixo */
                width: 90%; /* Ocupa mais largura */
                max-width: 500px; /* Limita a largura máxima */
            }
            .hsmplus-text-content {
                min-width: unset;
                width: 90%;
                max-width: 600px;
            }
            .hsmplus-title {
                font-size: 3rem;
            }
            .hsmplus-description {
                font-size: 1rem;
            }
            .btn-hsmplus-details {
                padding: 10px 25px;
                font-size: 0.95rem;
            }
        }

        @media (max-width: 768px) {
            .hsmplus-section {
                padding: 60px 4%;
            }
            .hsmplus-title {
                font-size: 2.5rem;
            }
            .hsmplus-description {
                font-size: 0.95rem;
            }
        }

        @media (max-width: 480px) {
            .hsmplus-section {
                padding: 40px 3%;
            }
            .hsmplus-image-wrapper {
                height: auto; /* Deixa a altura ser definida pela imagem */
            }
            .hsmplus-title {
                font-size: 2rem;
            }
            .hsmplus-description {
                font-size: 0.85rem;
            }
            .hsmplus-date,
            .hsmplus-location {
                font-size: 0.9rem;
            }
            .btn-hsmplus-details {
                padding: 8px 20px;
                font-size: 0.9rem;
            }
        }


        /* --- Recent Content Section (Horizontal Scroll - Centralizado) --- */
        .recent-content-section {
            background-color: #000; /* Fundo preto para esta seção */
            padding: 80px 0; /* Padding vertical, o horizontal virá do container */
            overflow: hidden;
            display: flex;
            flex-direction: column; /* Para empilhar o cabeçalho e o carrossel */
            align-items: center; /* Centraliza o conteúdo horizontalmente */
        }

        .recent-content-header {
            max-width: 1300px; /* Largura máxima do cabeçalho */
            width: 100%;
            display: flex;
            align-items: flex-start; /* Alinha o título e o subtítulo no topo */
            gap: 50px; /* Espaçamento entre título e subtítulo/cards */
            flex-wrap: wrap; /* Permite que os itens quebrem linha */
            margin-bottom: 40px; /* Espaço abaixo do cabeçalho */
            padding: 0 3%; /* Padding horizontal para o cabeçalho */
            justify-content: center; /* Centraliza em telas menores */
            text-align: left; /* Alinhamento padrão */
        }

        .recent-content-header .section-title-left {
            font-size: 2.2rem;
            font-weight: 700;
            color: #fff;
            margin: 0;
            line-height: 1.2;
            flex-shrink: 0; /* Evita que o título encolha */
        }

        .recent-content-header .recent-content-subtitle {
            font-size: 1.1rem;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.8);
            margin: 0;
            max-width: 500px; /* Limita a largura do subtítulo */
        }

        .recent-content-carousel-container {
            width: 100%;
            overflow-x: auto; /* Permite a rolagem horizontal */
            -webkit-overflow-scrolling: touch;
            scroll-snap-type: x mandatory; /* Para "snapar" nos cards */
            scrollbar-width: thin;
            scrollbar-color: var(--primary-hsm-red) transparent;
        }

        /* Estilo da barra de rolagem para navegadores Webkit (Chrome, Safari) */
        .recent-content-carousel-container::-webkit-scrollbar {
            height: 8px;
        }
        .recent-content-carousel-container::-webkit-scrollbar-track {
            background: transparent;
        }
        .recent-content-carousel-container::-webkit-scrollbar-thumb {
            background-color: var(--primary-hsm-red);
            border-radius: 10px;
            border: 2px solid #000; /* Borda preta, igual ao fundo da seção */
        }

        .recent-content-carousel-track {
            display: flex;
            gap: 30px; /* Espaçamento entre os cards */
            padding: 0 calc(50% - 150px); /* CENTRALIZAÇÃO PRINCIPAL: 50% - metade da largura do card (300px/2 = 150px) */
            padding-bottom: 20px; /* Espaço para a scrollbar */
        }

        .content-card {
            background-color: #222; /* Fundo mais escuro para os cards, como na imagem */
            color: white;
            border-radius: 8px;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
            overflow: hidden;
            flex-shrink: 0;
            width: 300px; /* Largura fixa para os cards */
            scroll-snap-align: center; /* Alinha o centro do card ao "snapar" */
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .content-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
        }

        .content-card img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            display: block;
        }

        .content-info {
            padding: 20px;
            text-align: left;
        }

        .content-info h3 {
            font-size: 1.4rem;
            font-weight: 700;
            color: white; /* Título branco */
            margin-bottom: 10px;
            line-height: 1.2;
        }

        .content-info .content-description {
            font-size: 0.95rem;
            color: rgba(255, 255, 255, 0.7);
            line-height: 1.5;
            margin-bottom: 20px;
            min-height: 90px; /* Para manter a altura consistente entre cards com descrições diferentes */
        }

        .btn-content-details {
            display: inline-block;
            background-color: var(--primary-hsm-red); /* Botão vermelho */
            color: white;
            padding: 10px 20px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: 500;
            font-size: 0.95rem;
            transition: background-color 0.3s ease;
        }

        .btn-content-details:hover {
            background-color: #c90020;
        }


        /* --- Responsive Adjustments for Recent Content Section --- */
        @media (max-width: 1024px) {
            .content-card {
                width: 280px;
            }
            .recent-content-carousel-track {
                padding: 0 calc(50% - 140px); /* Ajuste para 50% - metade da nova largura (280px/2) */
            }
        }

        @media (max-width: 992px) {
            .recent-content-header {
                flex-direction: column; /* Empilha o título e o subtítulo */
                text-align: center; /* Centraliza o texto */
                gap: 20px; /* Reduz o gap */
            }
            .recent-content-header .section-title-left {
                font-size: 2rem;
            }
            .recent-content-header .recent-content-subtitle {
                font-size: 1rem;
            }
        }

        @media (max-width: 768px) {
            .recent-content-section {
                padding: 60px 0;
            }
            .recent-content-header {
                padding: 0 4%; /* Ajusta padding do cabeçalho */
            }
            .recent-content-carousel-container {
                /* Padding já está no track para centralização */
            }
            .content-card {
                width: 260px;
            }
            .recent-content-carousel-track {
                padding: 0 calc(50% - 130px); /* Ajuste para 50% - metade da nova largura (260px/2) */
            }
        }

        @media (max-width: 480px) {
            .recent-content-section {
                padding: 40px 0;
            }
            .recent-content-header {
                padding: 0 3%;
            }
            .content-card {
                width: 240px;
            }
            .recent-content-carousel-track {
                padding: 0 calc(50% - 120px); /* Ajuste para 50% - metade da nova largura (240px/2) */
            }
            .content-info h3 {
                font-size: 1.2rem;
            }
            .content-info .content-description {
                font-size: 0.85rem;
                min-height: 80px; /* Ajuste para telas menores se necessário */
            }
            .btn-content-details {
                padding: 8px 15px;
                font-size: 0.9rem;
            }
        }

        /* --- Newsletter Section --- */
        .newsletter-section {
            background-color: #000; /* Fundo preto */
            padding: 80px 0;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .newsletter-card {
            background-color: #fff;
            border-radius: 15px; /* Bordas arredondadas fortes */
            padding: 50px 40px;
            max-width: 800px; /* Largura máxima do card */
            width: 90%;
            text-align: center;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
            position: relative; /* Para o efeito de fundo */
            overflow: hidden; /* Garante que o pseudo-elemento fique dentro */
        }

        /* Efeito de fundo com pseudo-elemento e gradiente */
        .newsletter-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, rgba(255,100,0,0.1) 0%, rgba(255,0,100,0.1) 50%, rgba(100,0,255,0.1) 100%); /* Cores vibrantes semi-transparentes */
            z-index: 0;
            filter: blur(100px); /* Efeito de blur para o gradiente */
            opacity: 0.8;
        }

        .newsletter-card * {
            position: relative; /* Garante que o conteúdo fique acima do pseudo-elemento */
            z-index: 1;
        }

        .newsletter-title {
            font-size: 2.8rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 10px;
            line-height: 1.1;
        }

        .newsletter-subtitle {
            font-size: 1.1rem;
            color: #555;
            margin-bottom: 30px;
        }

        .newsletter-form {
            display: flex;
            flex-wrap: wrap; /* Permite que os inputs quebrem linha */
            justify-content: center;
            gap: 15px; /* Espaçamento entre os campos */
            margin-bottom: 20px;
        }

        .newsletter-input {
            padding: 12px 20px;
            border: 1px solid #ddd;
            border-radius: 5px;
            font-size: 1rem;
            width: calc(50% - 10px); /* Duas colunas em telas maiores */
            box-sizing: border-box; /* Inclui padding e border na largura */
        }

        .newsletter-input::placeholder {
            color: #aaa;
        }

        .btn-newsletter-send {
            background-color: var(--primary-hsm-red);
            color: white;
            padding: 12px 30px;
            border: none;
            border-radius: 5px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            transition: background-color 0.3s ease;
            width: auto; /* Largura automática */
        }

        .btn-newsletter-send:hover {
            background-color: #c90020;
        }

        .newsletter-privacy {
            font-size: 0.85rem;
            color: #777;
            line-height: 1.5;
            max-width: 600px;
            margin: 0 auto; /* Centraliza o texto de privacidade */
        }

        /* --- HSM na Mídia Section --- */
        .media-section {
            background-color: var(--primary-hsm-grey); /* Fundo cinza escuro */
            padding: 80px 0;
            overflow: hidden; /* Importante para o carrossel */
            position: relative;
        }

        .media-content-container {
            max-width: 1300px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            gap: 40px; /* Espaçamento entre o título e o carrossel */
            padding: 0 3%; /* Padding horizontal */
        }

        .media-title {
            font-size: 2.5rem;
            font-weight: 700;
            color: white;
            line-height: 1.2;
            flex-shrink: 0; /* Evita que o título encolha */
            text-align: left;
        }

        .media-carousel-container {
            flex-grow: 1; /* Ocupa o restante do espaço */
            overflow: hidden; /* Oculta partes do track que estão fora */
            position: relative;
        }

        .media-carousel-track {
            display: flex;
            gap: 20px; /* Espaçamento entre os logos */
            transition: transform 0.5s ease-in-out; /* Transição para o JS do carrossel */
            padding: 10px 0; /* Pequeno padding para o caso de sombras ou bordas */
        }

        .media-logo-item {
            flex-shrink: 0;
            width: 150px; /* Largura fixa para cada logo */
            height: 60px; /* Altura fixa */
            display: flex;
            align-items: center;
            justify-content: center;
            /* background-color: rgba(255,255,255,0.05); /* Opcional: fundo sutil para os logos */
            border-radius: 5px;
            overflow: hidden;
        }

        .media-logo-item img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain; /* Garante que a imagem se ajuste sem cortar */
            filter: grayscale(100%) brightness(200%); /* Para deixar os logos brancos, como na imagem */
            opacity: 0.7;
            transition: opacity 0.3s ease;
        }

        .media-logo-item img:hover {
            opacity: 1;
        }

        /* Setas de navegação para o carrossel da mídia */
        .media-nav-arrows {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 100%;
            display: flex;
            justify-content: space-between;
            padding: 0 1%; /* Mais próximo das bordas */
            z-index: 10;
            pointer-events: none; /* Permite cliques através das setas no carrossel */
        }

        .media-nav-arrows button {
            background-color: rgba(0, 0, 0, 0.5); /* Fundo escuro semi-transparente */
            color: white;
            border: none;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            font-size: 1.2rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background-color 0.3s ease;
            pointer-events: auto; /* Habilita cliques nas setas */
        }

        .media-nav-arrows button:hover {
            background-color: rgba(0, 0, 0, 0.8);
        }

        /* --- Responsive Adjustments for Newsletter Section --- */
        @media (max-width: 768px) {
            .newsletter-section {
                padding: 60px 0;
            }
            .newsletter-card {
                padding: 40px 25px;
            }
            .newsletter-title {
                font-size: 2.2rem;
            }
            .newsletter-subtitle {
                font-size: 1rem;
            }
            .newsletter-form {
                flex-direction: column; /* Inputs empilham em telas menores */
                align-items: center;
            }
            .newsletter-input {
                width: 80%; /* Largura maior para inputs empilhados */
                max-width: 350px;
            }
            .btn-newsletter-send {
                width: 80%;
                max-width: 350px;
            }
            .newsletter-privacy {
                font-size: 0.75rem;
                padding: 0 10px;
            }
        }

        @media (max-width: 480px) {
            .newsletter-section {
                padding: 40px 0;
            }
            .newsletter-card {
                padding: 30px 15px;
            }
            .newsletter-title {
                font-size: 1.8rem;
            }
            .newsletter-subtitle {
                font-size: 0.9rem;
            }
            .newsletter-input,
            .btn-newsletter-send {
                width: 90%;
            }
        }

        /* --- Responsive Adjustments for Media Section --- */
        @media (max-width: 992px) {
            .media-content-container {
                flex-direction: column; /* Empilha título e carrossel */
                text-align: center;
                gap: 20px;
            }
            .media-title {
                font-size: 2rem;
            }
            .media-carousel-container {
                width: 100%;
            }
            .media-nav-arrows {
                padding: 0 1%; /* Ajusta o padding das setas */
            }
        }

        @media (max-width: 768px) {
            .media-section {
                padding: 60px 0;
            }
            .media-title {
                font-size: 1.8rem;
            }
            .media-logo-item {
                width: 120px; /* Reduz a largura do logo */
                height: 50px;
            }
            .media-carousel-track {
                gap: 15px; /* Reduz o gap */
            }
            .media-nav-arrows button {
                width: 35px;
                height: 35px;
                font-size: 1rem;
            }
        }

        @media (max-width: 480px) {
            .media-section {
                padding: 40px 0;
            }
            .media-title {
                font-size: 1.5rem;
            }
            .media-logo-item {
                width: 100px;
                height: 40px;
            }
            .media-carousel-track {
                gap: 10px;
            }
        }
        /* --- HSM na Mídia Section --- */
        .media-section {
            background-color: var(--primary-hsm-grey); /* Fundo cinza escuro */
            padding: 80px 0;
            overflow: hidden; /* Importante para o carrossel */
            position: relative; /* Necessário para posicionar as setas */
        }

        .media-content-container {
            max-width: 1300px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            gap: 40px; /* Espaçamento entre o título e o carrossel */
            padding: 0 3%; /* Padding horizontal */
        }

        .media-title {
            font-size: 2.5rem;
            font-weight: 700;
            color: white;
            line-height: 1.2;
            flex-shrink: 0; /* Evita que o título encolha */
            text-align: left;
        }

        .media-carousel-container {
            flex-grow: 1; /* Ocupa o restante do espaço */
            overflow: hidden; /* Oculta partes do track que estão fora */
            position: relative; /* Necessário para posicionar as setas ABSOLUTAMENTE dentro dele */
        }

        .media-carousel-track {
            display: flex;
            gap: 20px; /* Espaçamento entre os logos */
            transition: transform 0.5s ease-in-out; /* Transição para o JS do carrossel */
            padding: 10px 0; /* Pequeno padding para o caso de sombras ou bordas */
        }

        .media-logo-item {
            flex-shrink: 0;
            width: 150px; /* Largura fixa para cada logo */
            height: 60px; /* Altura fixa */
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 5px;
            overflow: hidden;
        }

        .media-logo-item img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            filter: grayscale(100%) brightness(200%);
            opacity: 0.7;
            transition: opacity 0.3s ease;
        }

        .media-logo-item img:hover {
            opacity: 1;
        }

        /* Setas de navegação para o carrossel da mídia - POSICIONAMENTO ATUALIZADO */
        .media-nav-arrows {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            /* Ajuste o 'left' e 'right' para posicioná-las nas extremidades do carrossel */
            left: 0;
            right: 0;
            width: 100%; /* Ocupa a largura do media-carousel-container */
            display: flex;
            justify-content: space-between; /* Mantém as setas nas extremidades */
            padding: 0 5px; /* Pequeno padding interno para não colar nas bordas do contêiner */
            z-index: 10;
            pointer-events: none; /* Permite cliques através das setas no carrossel */
        }

        .media-nav-arrows button {
            background-color: rgba(0, 0, 0, 0.5); /* Fundo escuro semi-transparente */
            color: white;
            border: none;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            font-size: 1.2rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background-color 0.3s ease;
            pointer-events: auto; /* Habilita cliques nas setas */
        }

        .media-nav-arrows button:hover {
            background-color: rgba(0, 0, 0, 0.8);
        }

        /* --- Responsive Adjustments for Media Section --- */
        @media (max-width: 992px) {
            .media-content-container {
                flex-direction: column; /* Empilha título e carrossel */
                text-align: center;
                gap: 20px;
            }
            .media-title {
                font-size: 2rem;
            }
            .media-carousel-container {
                width: 100%;
            }
            /* Setas devem continuar absolutas dentro do container do carrossel */
            .media-nav-arrows {
                position: absolute; /* Mantenha absoluto aqui também */
                left: 0;
                right: 0;
                top: 50%;
                transform: translateY(-50%);
                padding: 0 1%; /* Ajusta o padding das setas */
            }
        }

        @media (max-width: 768px) {
            .media-section {
                padding: 60px 0;
            }
            .media-title {
                font-size: 1.8rem;
            }
            .media-logo-item {
                width: 120px; /* Reduz a largura do logo */
                height: 50px;
            }
            .media-carousel-track {
                gap: 15px; /* Reduz o gap */
            }
            .media-nav-arrows button {
                width: 35px;
                height: 35px;
                font-size: 1rem;
            }
        }

        @media (max-width: 480px) {
            .media-section {
                padding: 40px 0;
            }
            .media-title {
                font-size: 1.5rem;
            }
            .media-logo-item {
                width: 100px;
                height: 40px;
            }
            .media-carousel-track {
                gap: 10px;
            }
        }

          /* --- Main Footer Section --- */
        .main-footer {
            background-color: #000; /* Fundo preto */
            color: white;
            padding: 60px 3%; /* Padding geral para o footer */
            font-family: 'Roboto', sans-serif; /* Consistente com outras seções */
        }

        .footer-container {
            display: flex;
            flex-wrap: wrap; /* Permite que as colunas quebrem linha */
            justify-content: space-between;
            max-width: 1300px;
            margin: 0 auto 50px auto; /* Espaço antes da seção de baixo */
            gap: 30px; /* Espaçamento entre as colunas */
        }

        .footer-column {
            flex: 1; /* Distribui o espaço igualmente */
            min-width: 180px; /* Largura mínima para cada coluna */
            padding: 10px 0; /* Pequeno padding para os itens da coluna */
        }

        .footer-column h3 {
            font-size: 1.1rem;
            font-weight: 700;
            margin-bottom: 20px;
            color: #fff;
            text-transform: uppercase;
        }

        .footer-column ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .footer-column ul li {
            margin-bottom: 10px;
        }

        .footer-column ul li a {
            color: rgba(255, 255, 255, 0.7);
            text-decoration: none;
            font-size: 0.9rem;
            transition: color 0.3s ease;
        }

        .footer-column ul li a:hover {
            color: var(--primary-hsm-red); /* Destaque vermelho no hover */
        }

        /* Footer Logo Column Specifics */
        .footer-logo-column {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            min-width: 200px; /* Pode precisar de mais espaço */
            flex-grow: 1.2; /* Dar um pouco mais de peso a esta coluna */
        }

        .footer-logo {
            max-width: 100px; /* Ajuste o tamanho do logo */
            height: auto;
            margin-bottom: 15px;
        }

        .footer-slogan {
            font-size: 0.85rem;
            color: rgba(255, 255, 255, 0.5);
            line-height: 1.4;
            margin-bottom: 25px;
            text-transform: uppercase;
            font-weight: 500;
        }

        .footer-social-icons {
            display: flex;
            gap: 15px;
        }

        .footer-social-icons a {
            color: rgba(255, 255, 255, 0.7);
            font-size: 1.5rem;
            transition: color 0.3s ease;
        }

        .footer-social-icons a:hover {
            color: var(--primary-hsm-red);
        }

        /* Footer Right Column (Ações Educação & Ecossistema Ânima) */
        .footer-right-column {
            min-width: 220px; /* Pode precisar de mais espaço */
        }

        .footer-link-red {
            color: var(--primary-hsm-red); /* Cor vermelha para o link */
            text-decoration: none;
            font-size: 0.9rem;
            font-weight: 500;
            display: block; /* Para quebrar linha */
            margin-top: 10px;
            margin-bottom: 20px;
            transition: text-decoration 0.3s ease;
        }

        .footer-link-red:hover {
            text-decoration: underline;
        }

        .footer-ecosystem-anima img {
            max-width: 150px;
            height: auto;
            filter: grayscale(100%) brightness(200%); /* Para deixar a imagem branca/clara */
            opacity: 0.8;
        }

        /* Footer Bottom Section (Pagamento e Segurança) */
        .footer-bottom {
            max-width: 1300px;
            margin: 0 auto;
            border-top: 1px solid rgba(255, 255, 255, 0.1); /* Linha divisória sutil */
            padding-top: 30px;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            gap: 30px;
        }

        .footer-payment-methods,
        .footer-security-seals {
            flex: 1;
            min-width: 250px; /* Largura mínima para cada bloco */
        }

        .footer-payment-methods p,
        .footer-security-seals p {
            font-size: 0.9rem;
            color: rgba(255, 255, 255, 0.8);
            margin-bottom: 10px;
            font-weight: 500;
        }

        .payment-icons,
        .security-icons {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

        .payment-icons img,
        .security-icons img {
            height: 30px; /* Altura padrão para os ícones */
            width: auto;
            object-fit: contain;
            filter: grayscale(100%) brightness(200%); /* Para deixar os ícones brancos/claros */
            opacity: 0.7;
        }

        /* --- Responsive Adjustments for Footer --- */
        @media (max-width: 992px) {
            .footer-container {
                flex-direction: column; /* Empilha as colunas */
                align-items: flex-start; /* Alinha tudo à esquerda */
                gap: 40px;
            }
            .footer-column {
                min-width: 100%; /* Ocupa a largura total */
                text-align: left;
            }
            .footer-logo-column {
                align-items: center; /* Centraliza logo e redes sociais */
                width: 100%;
                margin-bottom: 20px;
            }
            .footer-bottom {
                flex-direction: column; /* Empilha métodos de pagamento e segurança */
                align-items: flex-start;
                gap: 20px;
            }
            .footer-payment-methods,
            .footer-security-seals {
                min-width: 100%;
                text-align: left;
            }
            .payment-icons,
            .security-icons {
                justify-content: flex-start; /* Alinha ícones à esquerda */
            }
        }

        @media (max-width: 768px) {
            .main-footer {
                padding: 40px 4%;
            }
            .footer-column h3 {
                font-size: 1rem;
                margin-bottom: 15px;
            }
            .footer-column ul li a {
                font-size: 0.85rem;
            }
            .footer-logo-column {
                padding-bottom: 20px; /* Mais espaço para o logo e redes sociais */
            }
        }

        @media (max-width: 480px) {
            .main-footer {
                padding: 30px 3%;
            }
            .footer-slogan {
                font-size: 0.75rem;
            }
            .footer-social-icons a {
                font-size: 1.3rem;
            }
            .footer-link-red {
                font-size: 0.85rem;
            }
            .footer-payment-methods p,
            .footer-security-seals p {
                font-size: 0.8rem;
            }
            .payment-icons img,
            .security-icons img {
                height: 25px;
            }
        }