    /* =========================================
       VARIÁVEIS DE COR E TEMA
       ========================================= */
    :root {
      --verde-ardosia: #405354;
      --terracota: #C86D5C;
      --grafite: #2F2A28;
      --granizo: #F5F0EA;
      --off-white: #FAF6F2;
      
      --bg-rose: #F5EFEB; 

      /* Modo Claro Padrão */
      --bg-primary: var(--off-white);
      --bg-secondary: var(--granizo);
      --text-primary: var(--grafite);
      --text-muted: #555555;
      --nav-bg: rgba(253, 251, 247, 0.85);
      --card-bg: var(--verde-ardosia);
      --card-text: var(--off-white);
      --border-color: rgba(74, 93, 94, 0.15);
    }

    /* Modo Escuro unificado */
    [data-theme="dark"] {
      --bg-primary: #1E2728;
      --bg-secondary: #171E1F; 
      --bg-rose: #1E2728; 
      --text-primary: #f5f5f7;
      --text-muted: #d1d1d6;
      --nav-bg: rgba(30, 39, 40, 0.9);
      --card-bg: #405354; 
      --card-text: #f5f5f7;
      --border-color: rgba(255, 255, 255, 0.12);
    }

    /* =========================================
       RESET E MOUSE SPOTLIGHT (TAMANHO REDUZIDO)
       ========================================= */
    * { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: 'Inter', sans-serif;
      background-color: var(--bg-primary);
      color: var(--text-primary);
      line-height: 1.6;
      transition: background-color 0.4s ease, color 0.4s ease;
      overflow-x: hidden;
    }

    .mouse-spotlight {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      pointer-events: none;
      z-index: 9998;
      transition: opacity 0.3s ease;
      will-change: transform;
    }

    :root:not([data-theme="dark"]) .mouse-spotlight {
      background: radial-gradient(circle 200px at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(200, 109, 92, 0.15), transparent 80%);
    }

    [data-theme="dark"] .mouse-spotlight {
      background: radial-gradient(circle 200px at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(200, 109, 92, 0.25), transparent 80%);
    }

    h1, h2, h3, h4, h5 { font-family: 'Playfair Display', serif; font-weight: 500; }
    a { text-decoration: none; color: inherit; }
    ul { list-style: none; }

    /* =========================================
       ESTRUTURA DAS SEÇÕES E ABAS
       ========================================= */
    section { padding: 4rem 1.5rem; width: 100%; position: relative; }
    @media (min-width: 768px) { section { padding: 4.5rem 2rem; } }

    .container { max-width: 1100px; margin: 0 auto; position: relative; z-index: 3; }
    
    .bg-alt { background-color: var(--bg-secondary); }
    .bg-rose-section { background-color: var(--bg-rose); }

    .dynamic-blur {
      opacity: 0;
      filter: blur(5px);
      transition: opacity 0.6s ease-out, filter 0.6s ease-out; 
    }

    /* =========================================
       NAVBAR MINIMALISTA & ENTRADA CINEMATOGRÁFICA
       ========================================= */
    .navbar-wrapper {
      position: fixed; top: 1.5rem; left: 50%; transform: translateX(-50%); width: 90%; max-width: 800px; z-index: 1000;
      animation: navSlideDown 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }
    @keyframes navSlideDown {
      0% { transform: translate(-50%, -40px); opacity: 0; }
      100% { transform: translate(-50%, 0); opacity: 1; }
    }

    .navbar {
      display: flex; justify-content: space-between; align-items: center;
      background: var(--nav-bg); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
      border: 1px solid var(--border-color); border-radius: 50px; padding: 0.6rem 1.5rem; box-shadow: 0 4px 20px rgba(0,0,0,0.03);
    }
    
    @media (max-width: 767px) {
      .navbar-wrapper {
        width: auto;
        left: auto;
        right: 1.5rem;
        transform: none;
        animation: navSlideDownMobile 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
      }
      @keyframes navSlideDownMobile {
        0% { transform: translateY(-40px); opacity: 0; }
        100% { transform: translateY(0); opacity: 1; }
      }
      .navbar {
        padding: 0.5rem 1rem;
        gap: 1.2rem;
        border-radius: 30px;
      }
    }

    .nav-links { display: none; gap: 1.5rem; }
    @media (min-width: 768px) { .nav-links { display: flex; } }
    .nav-links a { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 1px; transition: color 0.3s ease; }
    .nav-links a:hover { color: var(--terracota); }

    .menu-toggle-btn {
      background: none; border: none; cursor: pointer; color: var(--text-primary);
      display: flex; flex-direction: column; justify-content: space-between;
      width: 22px; height: 16px; z-index: 1002;
    }
    .menu-toggle-btn span {
      display: block; width: 100%; height: 2px; background-color: currentColor;
      border-radius: 2px; transition: transform 0.3s ease, opacity 0.3s ease;
    }
    @media (min-width: 768px) {
      .menu-toggle-btn { display: none; }
    }

    .mobile-menu-drawer {
      position: fixed; top: 0; right: -100%; width: 75%; max-width: 300px; height: 100vh;
      background: var(--bg-primary); border-left: 1px solid var(--border-color);
      box-shadow: -5px 0 30px rgba(0,0,0,0.1); z-index: 1001; display: flex; flex-direction: column;
      justify-content: center; padding: 2rem; transition: right 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    }
    .mobile-menu-drawer.open { right: 0; }
    .mobile-menu-drawer ul { display: flex; flex-direction: column; gap: 2rem; text-align: center; }
    .mobile-menu-drawer ul a { font-size: 1rem; text-transform: uppercase; letter-spacing: 2px; font-family: 'Montserrat', sans-serif; }

    .theme-toggle {
      background: none; border: none; cursor: pointer; color: var(--text-primary); display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease;
    }
    .theme-toggle:hover { transform: scale(1.1); color: var(--terracota); }
    .theme-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
    [data-theme="dark"] .icon-moon { display: none; }
    [data-theme="light"] .icon-sun { display: none; }
    :root:not([data-theme="dark"]) .icon-sun { display: none; }

    /* =========================================
       BOTÕES & REFINAMENTOS DE HOVER
       ========================================= */
    .btn {
      display: inline-flex; align-items: center; justify-content: center;
      padding: 0.8rem 2rem; background-color: var(--verde-ardosia); color: var(--off-white);
      border: 1px solid var(--verde-ardosia); border-radius: 50px; font-size: 0.85rem;
      text-transform: uppercase; letter-spacing: 2px; cursor: pointer; 
      transition: transform 250ms ease, background-color 250ms ease, border-color 250ms ease, box-shadow 250ms ease;
      box-shadow: 0 4px 15px rgba(0,0,0,0.05);
      position: relative;
      overflow: hidden;
    }
    .btn::after {
      content: '';
      position: absolute;
      top: 0; left: 0; width: 100%; height: 100%;
      background: linear-gradient(to bottom, rgba(255,255,255,0.15), transparent);
      opacity: 0;
      transition: opacity 250ms ease;
      pointer-events: none;
    }
    .btn:hover { 
      background-color: var(--terracota); 
      border-color: var(--terracota); 
      transform: translateY(-2px); 
      box-shadow: 0 6px 20px rgba(200, 109, 92, 0.25);
    }
    .btn:hover::after {
      opacity: 1;
    }
    .btn:active {
      transform: scale(0.98) translateY(0);
      box-shadow: 0 2px 10px rgba(0,0,0,0.05);
      transition: transform 100ms ease;
    }

    /* =========================================
       NOVA ARQUITETURA HERO & GRANULAÇÃO ESTÁTICA
       ========================================= */
    .hero {
      height: 250vh;
      position: relative;
      padding: 0;
      background-color: var(--bg-primary);
    }

    .hero-sticky-viewport {
      position: sticky;
      top: 0;
      height: 100vh;
      width: 100%;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* Granulação Editorial (Film Grain) Estática */
    .hero-sticky-viewport::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.22'/%3E%3C/svg%3E");
      opacity: 0.85;
      mix-blend-mode: overlay;
      pointer-events: none;
      z-index: 12;
    }

    .hero-container-inner {
      max-width: 1100px;
      width: 100%;
      margin: 0 auto;
      padding: 0 2rem;
      text-align: center;
      position: relative;
      z-index: 10;
    }

    .hero-content {
      max-width: 800px;
      margin: 0 auto;
      width: 100%;
      will-change: opacity, transform;
    }

    /* Animação Cinematográfica Sequencial dos Elementos da Hero */
    .hero-subtitle { 
      font-size: 0.75rem; 
      text-transform: uppercase; 
      letter-spacing: 3px; 
      color: var(--terracota); 
      display: block; 
      margin-bottom: 1rem; 
      opacity: 0;
      animation: heroFadeIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
    }
    
    .hero h1 { 
      font-size: 3rem; 
      line-height: 1.1; 
      margin-bottom: 2.5rem; 
      color: var(--text-primary); 
      opacity: 0;
      transform: translateY(25px);
      animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards;
    }
    @media (max-width: 768px) {
      .hero h1 { font-size: 2.2rem; }
    }

    .hero-buttons {
      opacity: 0;
      transform: translateY(20px);
      animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.45s forwards;
    }

    @keyframes heroFadeIn {
      0% { opacity: 0; }
      100% { opacity: 1; }
    }

    @keyframes heroFadeUp {
      0% { opacity: 0; transform: translateY(25px); }
      100% { opacity: 1; transform: translateY(0); }
    }

    /* Fotografia com respiração contínua e blur cinematográfico */
    .hero-image-large {
      position: absolute;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      z-index: 2;
      pointer-events: none;
      opacity: 0.35;
      filter: blur(14px) brightness(0.9);
      transform: scale(1.05);
      transition: filter 0.1s linear, opacity 0.1s linear, transform 0.1s linear;
      will-change: filter, opacity, transform;
    }

    .hero-image-large img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 30%; 
      animation: heroBreath 12s ease-in-out infinite;
    }

    @keyframes heroBreath {
      0%, 100% { transform: scale(1.0); }
      50% { transform: scale(1.015); }
    }

    /* Camada para suavizar o blur inicial */
    .hero-sticky-viewport::before {
      content: "";
      position: absolute;
      top: 0; left: 0; width: 100%; height: 100%;
      background-color: var(--bg-primary);
      opacity: var(--overlay-opacity, 0.18);
      z-index: 3;
      pointer-events: none;
      transition: opacity 0.4s ease;
    }

    @media (max-width: 768px) {
      .hero {
        height: 150vh;
      }
      .hero-image-large {
        width: 100%;
        height: 100%;
      }
      .hero-image-large img {
        object-position: center 8%;
        transform: scale(1.15);
      }
    }

    /* =========================================
       FOTO CENTRALIZADA NO ESCRITÓRIO
       ========================================= */
    .escritorio-foto-container {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 auto 2.5rem auto;
      position: relative;
      z-index: 4;
      opacity: 0;
      transform: translateY(20px) scale(0.95);
      transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .escritorio-foto-container.reveal-photo {
      opacity: 1;
      transform: translateY(0) scale(1);
    }

    .escritorio-circulo-foto {
      width: 170px;
      height: 170px;
      border-radius: 50%;
      overflow: hidden;
      border: 3px solid rgba(200, 109, 92, 0.25);
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
      background-color: var(--bg-secondary);
    }

    .escritorio-circulo-foto img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 25%;
    }

    @media (min-width: 768px) {
      .escritorio-circulo-foto {
        width: 200px;
        height: 200px;
      }
    }

    /* =========================================
       TÍTULOS DE SEÇÕES PADRONIZADOS
       ========================================= */
    .section-title { 
      font-size: 2.5rem; 
      margin-bottom: 2.5rem; 
      color: var(--text-primary); 
      font-family: 'Playfair Display', serif;
      font-weight: 500;
    }
    @media (max-width: 768px) {
      .section-title { font-size: 2rem; margin-bottom: 1.5rem; }
    }

    /* =========================================
       SOBRE & ESTATÍSTICAS
       ========================================= */
    #sobre {
      background: var(--bg-primary);
      position: relative;
      z-index: 4;
      padding-top: 6rem;
    }

    .sobre-wrapper {
      max-width: 900px;
      margin: 0 auto 3rem auto;
    }
    
    .sobre-grid {
      text-align: center;
    }

    .sobre-grid p {
      margin-bottom: 1.2rem;
      font-weight: 300;
      font-size: 1.15rem;
      text-align: center;
      max-width: 800px;
      margin-left: auto;
      margin-right: auto;
      color: var(--text-muted);
    }
    
    .stats-grid {
      display: grid;
      grid-template-columns: 1fr;
      border-top: 1px solid var(--border-color);
      border-left: 1px solid var(--border-color);
      margin-top: 4rem;
    }
    @media (min-width: 768px) {
      .stats-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (min-width: 1024px) {
      .stats-grid { grid-template-columns: repeat(4, 1fr); }
    }

    .stat-item-transparent {
      background-color: transparent;
      border-right: 1px solid var(--border-color);
      border-bottom: 1px solid var(--border-color);
      padding: 3rem 1.5rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      transition: background-color 0.4s ease;
      cursor: default;
    }

    .stat-item-transparent h6 {
      font-family: 'Inter', sans-serif;
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: var(--terracota);
      margin-bottom: 0.5rem;
    }

    .stat-item-transparent h4 {
      font-family: 'Playfair Display', serif;
      font-size: 1.8rem;
      color: var(--text-primary);
      margin-bottom: 0.5rem;
      line-height: 1.1;
    }

    .stat-item-transparent p {
      font-size: 0.9rem;
      color: var(--text-muted);
      font-weight: 300;
      margin: 0;
      line-height: 1.5;
    }

    .stat-item-transparent:hover {
      background-color: var(--bg-secondary); 
    }

    /* =========================================
       ÁREAS DE ATUAÇÃO
       ========================================= */
    .areas-list { display: flex; flex-direction: column; gap: 1rem; }
    .areas-item {
      border: 1px solid var(--border-color); border-radius: 12px; padding: 1.8rem 2rem;
      background-color: #FDFBF9; transition: all 0.4s ease; cursor: pointer;
      display: flex; flex-direction: column; justify-content: center;
    }
    [data-theme="dark"] .areas-item {
      background-color: rgba(255, 255, 255, 0.03);
    }
    .areas-item h3 { font-size: 1.4rem; color: var(--text-primary); margin: 0; transition: color 0.4s ease; }
    .areas-item p {
      font-size: 1rem; font-weight: 300; color: var(--text-muted);
      max-height: 0; opacity: 0; overflow: hidden; margin: 0;
      transition: max-height 0.6s ease, opacity 0.5s ease, margin-top 0.4s ease;
      text-align: justify;
    }
    .areas-item:hover { border-color: var(--terracota); transform: translateX(10px); }
    .areas-item:hover h3 { color: var(--terracota); }
    .areas-item:hover p { max-height: 300px; opacity: 1; margin-top: 1rem; }

    /* =========================================
       COMO FUNCIONA O ATENDIMENTO 
       ========================================= */
    .como-funciona-section { 
      position: relative; 
      height: 350vh; 
    }
    
    .sticky-container { 
      position: sticky; 
      top: 0; 
      height: 100vh; 
      display: flex; 
      flex-direction: column;
      align-items: center; 
      justify-content: center; 
      max-width: 1100px; 
      margin: 0 auto; 
      padding-top: 2rem;
    }

    .sticky-title-wrapper { width: 100%; text-align: center; margin-bottom: 2rem; z-index: 10; }
    .sticky-content-wrapper { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; }
    @media (min-width: 768px) { .sticky-content-wrapper { flex-direction: row; gap: 4rem; } }

    .svg-wrapper { position: relative; width: 260px; height: 260px; margin-bottom: 2rem; }
    @media (min-width: 768px) { .svg-wrapper { width: 400px; height: 400px; margin-bottom: 0; } }
    
    .logo-svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
    .base-svg { fill: var(--verde-ardosia); opacity: 0.3; }
    [data-theme="dark"] .base-svg { opacity: 0.5; }
    .animated-svg { fill: var(--terracota); clip-path: polygon(50% 50%, 50% 50%, 50% 50%); transition: clip-path 0.05s linear; }

    .steps-wrapper { 
      width: 100%; 
      max-width: 380px; 
      display: flex; 
      flex-direction: column; 
      position: relative; 
      min-height: 160px; 
    }
    @media (min-width: 768px) { .steps-wrapper { margin-top: 0; } }
    
    .step-text {
      position: absolute; 
      top: 0; 
      left: 0; 
      width: 100%;
      opacity: 0; 
      visibility: hidden;
      transform: translateY(12px); 
      transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
    }
    .step-text.active {
      opacity: 1; 
      visibility: visible;
      transform: translateY(0); 
    }

    .step-text span { font-size: 0.75rem; letter-spacing: 2px; color: var(--terracota); text-transform: uppercase; margin-bottom: 0.4rem; display: block; }
    .step-text h4 { font-size: 1.5rem; margin-bottom: 0.6rem; color: var(--text-primary); }
    .step-text p { 
      font-size: 1rem; 
      color: var(--text-muted); 
      font-weight: 300; 
      margin: 0; 
      text-align: justify; 
      line-height: 1.6;
      hyphens: auto; 
    }

    /* =========================================
       FRASE DE DESTAQUE
       ========================================= */
    .frase-destaque-section {
      background: var(--bg-primary);
      text-align: center;
      padding: 5rem 1.5rem 2rem;
    }
    
    .frase-destaque {
      font-family: 'Playfair Display', serif;
      font-size: 1.8rem;
      color: var(--terracota);
      line-height: 1.4;
      max-width: 800px;
      margin: 0 auto;
    }
    @media (min-width: 768px) {
      .frase-destaque { font-size: 2.5rem; }
    }

    /* =========================================
       O ESCRITÓRIO
       ========================================= */
    #escritorio {
      background: var(--bg-primary);
      position: relative;
      overflow: hidden;
      padding-top: 2rem;
    }
    #escritorio .container { position: relative; z-index: 2; }

    .escritorio-layout {
      display: grid;
      padding-bottom: 3rem;
      grid-template-columns: 1fr;
      gap: 3rem;
    }
    @media (min-width: 768px) {
      .escritorio-layout { grid-template-columns: 1fr 1fr; align-items: flex-start; }
    }

    .escritorio-texto h2 {
      font-size: 2.2rem;
      margin-bottom: 1rem;
      color: var(--text-primary);
      font-family: 'Playfair Display', serif;
    }

    .escritorio-texto p {
      text-align: justify;
      font-size: 1rem;
      color: var(--text-muted);
      font-weight: 300;
      line-height: 1.6;
      margin-bottom: 1.5rem;
    }

    /* =========================================
       ACCORDION (ESCRITÓRIO E FAQ)
       ========================================= */
    .accordion-item { border-bottom: 1px solid var(--border-color); margin-bottom: 1rem; }
    
    .accordion-header { 
      width: 100%; text-align: left; background: none; border: none; padding: 1.5rem 0; 
      font-size: 1.2rem; font-family: 'Playfair Display', serif; color: var(--text-primary); 
      cursor: pointer; display: flex; justify-content: space-between; align-items: center; 
      transition: color 0.3s ease; 
    }
    
    .faq-accordion .accordion-header {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1.1rem; 
    }
    
    .faq-accordion .accordion-content p { line-height: 1.4; }

    .accordion-header:hover { color: var(--terracota); }
    .accordion-icon { font-size: 1.5rem; font-weight: 300; transition: transform 0.4s ease; color: var(--text-primary); }
    .accordion-header.active .accordion-icon { transform: rotate(45deg); }
    .accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
    .accordion-content p { padding-bottom: 1.5rem; color: var(--text-muted); font-weight: 300; margin: 0; }

    /* =========================================
       CONTATO & RODAPÉ
       ========================================= */
    .contato-section { 
      text-align: center; 
      padding-top: 5rem; 
      padding-bottom: 5rem; 
      background-color: var(--verde-ardosia); 
      color: var(--off-white);
    }
    .contato-section .section-title{
      color: var(--off-white);
    }
    .contato-section p {
      margin-bottom: 2rem;
      font-size: 1.1rem;
      color: rgba(250,246,242,.92);
    }
    .contato-section .btn{
      background: var(--off-white);
      color: var(--verde-ardosia);
      border-color: var(--off-white);
    }
    .contato-section .btn:hover{
      background: var(--terracota);
      color: var(--off-white);
      border-color: var(--terracota);
    }

    footer { 
      background-color: var(--bg-secondary); 
      color: var(--text-primary); 
      padding: 70px 32px 24px; 
      border-top: 1px solid var(--border-color);
    }
    
    .footer-content { 
      max-width: 1200px; 
      margin: 0 auto; 
    }
    
    /* Logotipo maior e centralizado na primeira coluna */
    .footer-brand {
      text-align: center;
      margin-bottom: 40px;
    }

    .footer-logo {
      width: 320px;
      height: auto;
      margin: 0 auto;
      display: block;
      mix-blend-mode: multiply;
    }

    [data-theme="dark"] .footer-logo {
      mix-blend-mode: screen;
      filter: brightness(1.2) contrast(1.1);
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.1fr 1fr 1.1fr;
      gap: 60px;
      align-items: start;
    }

    .footer-column {
      text-align: left;
    }

    .footer-column h4 {
      font-family: 'Playfair Display', serif;
      color: var(--terracota);
      font-size: 1.25rem;
      margin-bottom: 18px;
    }

    .footer-column ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-column li {
      margin-bottom: 10px;
      color: var(--text-muted);
      line-height: 1.5;
      font-size: 0.95rem;
    }

    .footer-contact li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
    }

    .footer-contact i, .footer-atendimento-list i {
      color: var(--terracota);
      margin-top: 3px;
      min-width: 18px;
    }

    .footer-atendimento-list li {
      display: flex;
      gap: 10px;
      align-items: center;
    }
    
    .footer-atendimento-list i {
      margin-top: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .footer-column a {
      text-decoration: none;
      color: inherit;
    }

    .footer-column a:hover {
      color: var(--terracota);
    }
    
    .footer-bottom { 
      margin-top: 45px; 
      padding-top: 18px; 
      border-top: 1px solid var(--border-color); 
      display: flex; 
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 3px; 
      color: var(--text-muted); 
      font-size: 0.7rem; 
      line-height: 1.2;
    }

    @media(max-width:900px) {
      .footer-grid { grid-template-columns: 1fr; gap: 35px; }
      .footer-brand { text-align: center; }
      .footer-logo { margin: 0 auto; width: 250px; }
    }

    /* =========================================
       FLOATINGS (WHATSAPP & COOKIES)
       ========================================= */
    .fab-whatsapp {
      position: fixed; bottom: 2rem; right: 2rem; width: 50px; height: 50px; background-color: var(--verde-ardosia); color: var(--off-white);
      border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(0,0,0,0.1);
      z-index: 1000; transition: transform 0.3s ease, background-color 0.3s ease;
    }
    .fab-whatsapp:hover { transform: scale(1.1); background-color: var(--terracota); }
    .fab-whatsapp svg { width: 22px; height: 22px; fill: currentColor; display: block; margin: auto; }

    .cookie-banner {
      position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%) translateY(150%);
      width: 90%; max-width: 750px; background-color: var(--bg-secondary); color: var(--text-primary);
      border: 1px solid var(--border-color); border-radius: 12px;
      padding: 1.5rem 2rem; display: flex; flex-direction: column; gap: 1.5rem;
      z-index: 1001; box-shadow: 0 10px 30px rgba(0,0,0,0.3); transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    }
    .cookie-banner.show { transform: translateX(-50%) translateY(0); }
    @media (min-width: 768px) { .cookie-banner { flex-direction: row; align-items: center; justify-content: space-between; } }
    .cookie-banner p { font-size: 0.85rem; margin: 0; flex: 1; font-weight: 300; line-height: 1.5; color: var(--text-muted); }
    .cookie-banner p a { text-decoration: underline; color: inherit; transition: color 0.3s; }
    .cookie-banner p a:hover { color: var(--terracota); }
    
    .cookie-actions { display: flex; align-items: center; gap: 1.5rem; }
    .btn-cookie { 
      background-color: var(--verde-ardosia); color: var(--off-white); border: none; padding: 0.6rem 1.8rem; border-radius: 50px;
      font-size: 0.85rem; cursor: pointer; transition: background-color 0.3s; font-weight: 500;
    }
    .btn-cookie:hover { background-color: var(--terracota); }
    .cookie-banner .btn-close-cookie { color: var(--text-primary); } 
    .cookie-banner .btn-close-cookie:hover { color: var(--terracota); } 
    .btn-close-cookie { background: none; border: none; color: inherit; font-size: 1.2rem; cursor: pointer; transition: color 0.3s; padding: 0; }
  
    .fab-whatsapp i {
      font-size: 28px; line-height: 1; display: flex; align-items: center; justify-content: center;
    }
    .footer-links a i {
      font-size: 22px; line-height: 1;
    }


/* Mobile fix: always show service descriptions */
@media (max-width: 768px) {
  .areas-item p {
    max-height: none !important;
    opacity: 1 !important;
    margin-top: 1rem !important;
  }

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