        /* Variáveis de Tema Globais */
        :root {
            --primary-color: #004d40; /* Verde Escuro */
            --primary-color-darker: #00382e;
            --secondary-color: #00796b; /* Verde Médio */
            --cream-background: #fdfaf6; /* Fundo Creme */
            --text-dark: #333;
            --text-muted: #6c757d;
            --background-light: #f8f9fa;
            --border-radius-lg: 16px;
        }

        body {
            font-family: 'Poppins', sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f4f4f4; /* Fundo geral da página */
        }

        /* Estilos Comuns para Seções com Canvas */
        .section-with-canvas {
            position: relative;
            padding: 100px 20px;
            background-color: var(--cream-background);
            overflow: hidden;
        }
        .section-with-canvas .canvas-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
        }
        .section-with-canvas .container {
            position: relative;
            z-index: 1;
        }        
        /* --- Estilos da Seção "Quem Somos" --- */
        .quem-somos-section {
             background-color: var(--cream-background); /* Fundo atualizado */
        }
        .qs-container {
            max-width: 1200px; margin: 0 auto; display: grid;
            grid-template-columns: 1fr 1.2fr; align-items: center; gap: 60px;
        }
        .qs-logo-pane {
            position: relative; border-radius: var(--border-radius-lg);
            display: flex; align-items: center; justify-content: center;
            height: 450px; perspective: 1000px;
            background:url(./assets/_images/mm.jp)no-repeat center/cover; /* Fundo para o placeholder */
        }
        .qs-logo-pane img { width: 70%; max-width: 300px; transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); border-radius: 8px; }
        .qs-content-pane { text-align: left; }
        #quem-somos-title { font-size: 2.8rem; font-weight: 700; color: var(--primary-color); margin: 0; }
        .qs-subtitle { font-size: 1.2rem; font-weight: 400; color: var(--secondary-color); margin: 5px 0 25px 0; }
        .qs-description { font-size: 1rem; line-height: 1.7; color: var(--text-dark); margin-bottom: 40px; }
        .qs-mission-values { display: flex; gap: 30px; margin-bottom: 40px; }
        .qs-box { flex: 1; }
        .qs-box h4 { font-size: 1.3rem; font-weight: 600; color: var(--text-dark); margin: 0 0 10px 0; position: relative; padding-bottom: 8px; }
        .qs-box h4::after { content: ''; position: absolute; bottom: 0; left: 0; width: 30px; height: 3px; background-color: var(--primary-color); }
        .qs-box p, .qs-box ul { font-size: 0.95rem; color: var(--text-muted); margin: 0; padding: 0; list-style: none; }
        .qs-box ul li { margin-bottom: 5px; }
        .qs-cta-button {
            display: inline-block; background-color: var(--primary-color); color: #fff;
            padding: 14px 35px; border-radius: 50px; text-decoration: none; font-weight: 600;
            transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0, 77, 64, 0.2);
        }
        .qs-cta-button:hover { transform: translateY(-3px); background-color: var(--secondary-color); box-shadow: 0 7px 20px rgba(0, 77, 64, 0.3); }

        /* Animações Globais */
        @keyframes shake { 10%, 90% { transform: translate3d(-1px, 0, 0); } 20%, 80% { transform: translate3d(2px, 0, 0); } 30%, 50%, 70% { transform: translate3d(-4px, 0, 0); } 40%, 60% { transform: translate3d(4px, 0, 0); } }
        .shake { animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both; }
        .anim-reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
        .anim-reveal.visible { opacity: 1; transform: translateY(0); }

        /* Responsividade */
        @media (max-width: 992px) {
            .qs-container { grid-template-columns: 1fr; gap: 40px; }
            .qs-logo-pane { height: 300px; max-width: 400px; margin: 0 auto; }
        }
        @media (max-width: 576px) {
            .newsletter-panel { padding: 40px 25px; }
            .newsletter-input { padding: 0 25px; text-align: center; }
            .newsletter-button { position: static; width: 100%; margin-top: 15px; height: 55px; }
            #quem-somos-title { font-size: 2.2rem; }
            .qs-mission-values { flex-direction: column; }
        }