:root{
      --dark:#0a0d13;
      --primary:#48127b;
      --accent:#a849c0;
      --light:#f8f9fb;
    }
    body,html{margin:0;padding:0;height:100%;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;color:var(--light);}

    /* Hero */
    .hero{
      background:url("../img/fundo.jpg") center/cover no-repeat fixed;
      height:100vh;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:center;
      position:relative;
      text-align:center;
    }
    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(10,13,19,.6) 0%,rgba(10,13,19,.8) 40%,rgba(10,13,19,1) 100%);
    }
    .hero-content{position:relative;z-index:2;}
    .hero-logo{
      width:350px;height:auto;margin-bottom:1rem;
      filter:drop-shadow(0 0 6px rgba(0,0,0,.6));
      animation:float 4s ease-in-out infinite;
    }


    .hero h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;margin-bottom:.5rem;}
    .hero p{font-size:clamp(1rem,2.3vw,1.35rem);max-width:680px;margin:auto;margin-bottom:2rem;line-height:1.5;}

    .btn-cta{
      font-size:1.1rem;padding:.75rem 2rem;border-radius:50px;
      background:var(--accent);border:none;color:#fff;
      transition:transform .2s ease,box-shadow .2s ease;
    }
    .btn-cta:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.35);}

    /* Scroll indicator */
    .scroll-indicator{
      position:absolute;
      bottom:32px;
      left:50%;
      transform:translateX(-50%);
      z-index:2;
      font-size:1.5rem;
      color:var(--light);
      pointer-events:none;
    }
    .scroll-indicator i{
      display:block;
      animation:arrowBounce 1.6s infinite;
    }
    .scroll-indicator i:nth-child(2){animation-delay:.2s;}
    .scroll-indicator i:nth-child(3){animation-delay:.4s;}
    @keyframes arrowBounce{
      0%{opacity:0;transform:translateY(-6px);}
      50%{opacity:1;}
      100%{opacity:0;transform:translateY(6px);}
    }

    /* Navbar */
    .navbar{transition:background .3s ease, backdrop-filter .3s ease;}
    .navbar.scrolled{background:rgba(10,13,19,.85);backdrop-filter:blur(6px);}
    .navbar .nav-link{color:var(--light);}
    .navbar .nav-link:hover{color:var(--accent);}
    /* === SOBRE === */
.sobre-section{
  background:linear-gradient(180deg,rgba(63, 18, 123, 0.938) 0%,rgba(0, 0, 0, 0.95) 100%);
  color:var(--light);
  position:relative;
  padding:6rem 0;
}
.sobre-section h2{
  font-weight:700;
  letter-spacing:.5px;
}
.sobre-section h2::after{
  content:"";
  display:block;
  width:80px;
  height:4px;
  background:var(--accent);
  margin:16px auto 0;
  border-radius:4px;
}
.icon-wrapper{
  width:48px;
  height:48px;
  flex:0 0 48px;
  background:var(--accent);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
}
.feature-item small{opacity:.85;}
.about-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  padding:2rem;
  border-radius:1rem;
  height:100%;
  transition:transform .25s ease,box-shadow .25s ease;
}
.about-card:hover{
  transform:translateY(-6px);
  box-shadow:0 6px 22px rgba(0,0,0,.4);
}
.about-card i{
  color:var(--accent);
  margin-bottom:.75rem;
  font-size:2rem;
}
/* === METAS & OBJETIVOS === */
.metas-section{
  background:var(--dark);
  color:var(--light);
  padding:6rem 0;
  position:relative;
}
.metas-section h2{
  font-weight:700;
  letter-spacing:.5px;
}
.metas-section h2::after{
  content:"";
  display:block;
  width:80px;
  height:4px;
  background:var(--accent);
  margin:16px auto 0;
  border-radius:4px;
}
.goal-card{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:1rem;
  padding:2rem;
  text-align:center;
  height:100%;
  transition:transform .25s ease,box-shadow .25s ease;
}
.goal-card:hover{
  transform:translateY(-6px);
  box-shadow:0 6px 22px rgba(0,0,0,.4);
}
.goal-card i{
  font-size:2rem;
  color:var(--accent);
  margin-bottom:.75rem;
}
.goal-card h6{
  font-weight:600;
  margin-bottom:.5rem;
}
/* === NOSSOS SERVIÇOS & EXPERIÊNCIA === */
.servicos-section{
  position:relative;
  padding:6rem 0;
  overflow:hidden;
  color:var(--light);

  /* nova imagem de fundo */
  background:
    /* sobreposição para garantir contraste */
    linear-gradient(135deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.9) 70%),
    url("../img/fundo.jpg") center/cover no-repeat;
}

/* remove o antigo padrão listrado */
.servicos-section::before{display:none;}

.servicos-section h2,
.servicos-section .subheading{
  font-weight:700;
  letter-spacing:.5px;
  position:relative;
}
.servicos-section h2::after,
.servicos-section .subheading::after{
  content:"";
  display:block;
  width:90px;
  height:4px;
  background:var(--accent);
  margin:16px auto 0;
  border-radius:4px;
}

/* cards */
/* Ajuste visual dos cards de serviço */
.service-card{
  display:flex;                /* empilha conteúdo verticalmente */
  flex-direction:column;
  align-items:center;
  text-align:center;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:1rem;
  padding:2rem 1.5rem;
  height:100%;
  transition:transform .25s ease,box-shadow .25s ease;
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 6px 22px rgba(0,0,0,.4);
}

/* Imagem no topo do card */
.service-card .item-img{
  width:100%;              /* ocupa toda a largura interna do card */
  max-height:160px;        /* limita a altura */
  object-fit:cover;        /* cobre mantendo proporção */
  border-radius:.75rem;    /* cantos arredondados */
  margin-bottom:1rem;      /* espaçamento abaixo da imagem */
}

.projects-list{margin-top:4rem;}
.project-item{
  display:flex;
  align-items:center;
  gap:1.25rem;
  background:rgba(255,255,255,.05);
  border-left:4px solid var(--accent);
  border-radius:1rem;
  padding:1.5rem;
  height:100%;
  transition:transform .25s ease,box-shadow .25s ease;
}
.project-item:hover{
  transform:translateX(6px);
  box-shadow:0 6px 22px rgba(0,0,0,.4);
}
.project-thumb{
  width:56px;
  height:56px;
  object-fit:cover;
  border-radius:50%;
  flex:0 0 56px;
}
.project-item h6{
  font-weight:600;
  margin-bottom:.25rem;
}
.project-item p{margin-bottom:0;font-size:.875rem;opacity:.9;}
/* === ÍCONES PARA LISTA DE PROJETOS === */
.project-icon{
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  font-size:1.5rem;
  flex:0 0 56px;
  margin-right:1.25rem;
}

/* === CONTATO – VERSÃO PERSUASIVA NO ROXO === */
.contato-section{
  padding:6rem 0;
  background:linear-gradient(135deg,#2b114c 0%, #0a0615 100%);
  color:#f8f9fb;
}

.cta-wrapper{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:1rem;
  box-shadow:0 8px 26px rgba(0,0,0,.45);
  overflow:hidden;
  max-width:960px;
  margin-inline:auto;
}

/* Coluna de copy */
.cta-copy{
  background:rgba(255,255,255,.04);
  padding:2.5rem 2rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.cta-copy h3{
  font-weight:700;
  margin-bottom:1rem;
}
.cta-copy ul{
  padding-left:1.25rem;
  margin:0 0 1.5rem;
}
.cta-copy li::marker{color:#07b861;}
.cta-copy .lead{font-size:1.05rem;}

/* Formulário */
.form-container{
  padding:2.5rem 2rem;
}
.btn-accent{background:#07b861;border:none;}
.btn-accent:hover{background:#05a557;}
.form-label{color:#e5e5e5;}

@media (max-width:767px){
  .cta-copy{padding:2rem 1.5rem;text-align:center;}
}
/* === BOTÕES FLUTUANTES === */
.floating-btn{
  position:fixed;
  right:22px;
  width:48px;
  height:48px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,.35);
  z-index:999;
  transition:opacity .3s ease,visibility .3s ease,transform .2s ease;
}
.floating-btn:hover{transform:translateY(-2px);}

#btnWhatsapp{
  bottom:22px;
  background:#25d366;
}

#btnTop{
  bottom:92px;
  background:#05a557;
  opacity:0;
  visibility:hidden;
}
#btnTop.show{
  opacity:1;
  visibility:visible;
}


/* ================= RESPONSIVIDADE HERO ================ */
@media (max-width: 992px){          /* tablets */
  .hero-logo{width:280px;}
}

@media (max-width: 767.98px){       /* celulares “grandes” */
  .hero{
    height:auto;                    /* deixa a altura fluir */
    padding:6rem 1.5rem 4rem;       /* respiro lateral */
  }
  .hero-logo{width:240px;}
  .hero h1{font-size:clamp(2rem,8vw,2.75rem);}   /* reduz título */
  .hero p{font-size:1rem;margin-bottom:1.5rem;}
  .btn-cta{font-size:1rem;padding:.65rem 1.75rem;}
  .scroll-indicator{bottom:20px;font-size:1.25rem;}
}

@media (max-width: 575.98px){       /* celulares “pequenos” */
  .hero-logo{width:200px;}
  .hero h1{font-size:clamp(1.75rem,9vw,2.25rem);}
  .hero p{font-size:.95rem;}
  .btn-cta{font-size:.95rem;padding:.6rem 1.5rem;}
}

/* ====== SOBRE – foco só na descrição ====== */

@media (max-width: 767.98px){       /* celulares “grandes” */
#sobre ul.list-unstyled,
#sobre .about-card,
#sobre .about-card *,
#sobre .col-lg-6:last-child          /* coluna dos cards inteirinha */
{display:none !important;}

/* --- parágrafo principal refinado --- */
#sobre .lead{
  max-width:640px;       /* largura agradável em desktop */
  margin-inline:auto;    /* centraliza */
  font-size:1.15rem;
  line-height:1.6;
  letter-spacing:.2px;
}
}
/* tablets */
@media (max-width:992px){
  #sobre .lead{font-size:1.05rem;max-width:540px;}
}

/* celulares grandes */
@media (max-width:767.98px){
  #sobre{padding:3.5rem 0;text-align:center;}
  #sobre .lead{font-size:1rem;max-width:100%;}
}

/* celulares pequenos */
@media (max-width:575.98px){
  #sobre h2{font-size:1.5rem;}
  #sobre .lead{font-size:.95rem;}
}

/* ========== RESPONSIVIDADE — METAS & OBJETIVOS ========== */

/* ---------- base refinada (desktop) ---------- */
.metas-section{padding:6rem 0;}
.goal-card{
  padding:2rem;
  border-radius:1rem;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  transition:transform .25s ease,box-shadow .25s ease;
}
.goal-card:hover{transform:translateY(-6px);box-shadow:0 6px 22px rgba(0,0,0,.4);}
.goal-card i{font-size:2rem;color:var(--accent);margin-bottom:.75rem;}
.goal-card h6{font-weight:600;margin-bottom:.5rem}

/* ---------- tablets (≤ 992 px) ---------- */
@media (max-width:992px){
  .metas-section{padding:4.5rem 0;}
  .goal-card{padding:1.75rem;}
  .goal-card i{font-size:1.8rem;}
  .goal-card p{font-size:.9rem;}
}

/* ---------- celulares grandes (≤ 768 px) ---------- */
@media (max-width:767.98px){
  .metas-section{padding:4rem 0;text-align:center;}
  /* duas colunas para diminuir rolagem */
  #metas .row.g-4{row-gap:2rem;}
  #metas .col-md-6{flex:0 0 50%;max-width:50%;}
  .goal-card{margin-inline:auto;padding:1.6rem;max-width:280px;}
  .goal-card i{font-size:1.6rem;margin-bottom:.6rem;}
}

/* ---------- celulares pequenos (≤ 576 px) ---------- */
@media (max-width:575.98px){
  .metas-section{padding:3.5rem 0;}
  #metas .col-md-6{flex:0 0 100%;max-width:100%;}
  .goal-card{max-width:100%;padding:1.5rem;}
  .goal-card i{font-size:1.4rem;}
  .goal-card p{font-size:.85rem;}
}

/* ===== CAROUSEL – ajustes mobile (< 768 px) ===== */
@media (max-width: 767.98px){

  /* ---------- #servCarousel (serviços) ---------- */
  #servCarousel .service-card{width:85%;max-width:320px;}

  #servCarousel .carousel-item.active{
    display:flex;justify-content:center;padding:1rem 0;
  }
  #servCarousel .carousel-item:not(.active){display:none;}

  /* ---------- #projCarousel (projetos saúde) ---------- */
  #projCarousel .project-item{max-width:330px;}
  #projCarousel .carousel-item.active{
    display:flex;justify-content:center;
  }
  #projCarousel .carousel-item:not(.active){display:none;}

  /* ---------- setas brancas – ambos carrosséis ---------- */
  #servCarousel .carousel-control-prev-icon,
  #servCarousel .carousel-control-next-icon,
  #projCarousel .carousel-control-prev-icon,
  #projCarousel .carousel-control-next-icon{
    width:2rem;height:2rem;
    background-size:100% 100%!important;
    background-repeat:no-repeat!important;
    background-position:center!important;
  }

  /* seta ESQUERDA */
  #servCarousel .carousel-control-prev-icon,
  #projCarousel .carousel-control-prev-icon{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.146a.5.5 0 0 1 0 .708L6.207 8l5.147 5.146a.5.5 0 0 1-.708.708l-5.5-5.5a.5.5 0 0 1 0-.708l5.5-5.5a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") !important;
  }

  /* seta DIREITA */
  #servCarousel .carousel-control-next-icon,
  #projCarousel .carousel-control-next-icon{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.146a.5.5 0 0 1 .708 0l5.5 5.5a.5.5 0 0 1 0 .708l-5.5 5.5a.5.5 0 0 1-.708-.708L9.793 8l-5.147-5.146a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
  }

  /* área de clique confortável */
  #servCarousel .carousel-control-prev,
  #servCarousel .carousel-control-next{width:12%;}
  #projCarousel .carousel-control-prev,
  #projCarousel .carousel-control-next{width:14%;}
}

/* ========== CONTATO / CTA ========== */
.contato-section{
  padding:6rem 0;
  background:linear-gradient(135deg,#2b114c 0%, #0a0615 100%);
  color:#f8f9fb;
  position:relative;
  overflow:hidden;
}

/* decor faint texture */
.contato-section::before{
  content:"";
  position:absolute;inset:0;
  background:repeating-linear-gradient(
              45deg,
              rgba(255,255,255,.03) 0 10px,
              transparent 10px 20px);
  animation:moveStripes 25s linear infinite;
  pointer-events:none;
  opacity:.4;
}
@keyframes moveStripes{to{background-position:400px 0;}}

/* wrapper */
.cta-wrapper{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:1rem;
  box-shadow:0 8px 26px rgba(0,0,0,.45);
  overflow:hidden;
  max-width:980px;
  margin-inline:auto;
}

/* coluna copy */
.cta-copy{
  background:rgba(255,255,255,.04);
  padding:3rem 2.25rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.cta-copy h3{
  font-weight:700;
  margin-bottom:1.25rem;
  line-height:1.3;
}
.cta-copy ul{padding-left:1.25rem;margin:0 0 1.75rem;}
.cta-copy li{line-height:1.45;margin-bottom:.35rem;}
.cta-copy li::marker{color:var(--accent);font-size:.9rem;}
.cta-copy .lead{font-size:1.07rem;line-height:1.55;}

/* coluna form */
.form-container{padding:3rem 2.25rem;background:rgba(0,0,0,.12);}
.form-label{color:#e5e5e5;font-weight:500;}
.form-control{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
}
.form-control:focus{
  background:rgba(255,255,255,.12);
  border-color:#07b861;
  box-shadow:0 0 0 .15rem rgba(7,184,97,.25);
}
textarea.form-control{resize:none}
.btn-accent{
  background:#07b861;border:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
.btn-accent:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.35);}
.btn-accent:focus{box-shadow:0 0 0 .2rem rgba(7,184,97,.35);}

/* ======= RESPONSIVO ======= */
/* tablets */
@media (max-width:992px){
  .contato-section{padding:5rem 0;}
  .cta-copy{padding:2.5rem 2rem;}
  .form-container{padding:2.5rem 2rem;}
}

/* celulares grandes */
@media (max-width:767.98px){
  .contato-section{padding:4rem 0;text-align:center;}
  .cta-copy,
  .form-container{padding:2rem 1.5rem;}
  .cta-wrapper{border-radius:.75rem;}
  .cta-copy h3{font-size:1.4rem;}
  .cta-copy .lead{font-size:1rem;}
  .cta-copy ul{padding-left:1rem;margin-bottom:1.25rem;text-align:left;}
  .cta-copy li{font-size:.95rem;}
}

/* celulares pequenos */
@media (max-width:575.98px){
  .contato-section{padding:3.5rem 0;}
  .cta-copy h3{font-size:1.25rem;margin-bottom:1rem;}
  .cta-copy .lead{font-size:.95rem;}
  .form-control{font-size:.9rem;padding:.55rem .8rem;}
  .btn-accent{padding:.6rem 1.5rem;font-size:.95rem;}
}
/* ===== NAVBAR – ajuste mobile (≤ 991 px) ===== */
@media (max-width: 991.98px){

  /* painel quando aberto */
  .navbar-collapse{
    position:absolute;      /* fora do fluxo para cobrir o topo */
    top:100%;               /* logo abaixo da barra */
    right:0; left:0;
    background:rgba(10,13,19,.95);   /* fundo escuro c/ leve transparência */
    padding:1rem 1.25rem 1.5rem;
    backdrop-filter:blur(6px);
  }

  /* links centralizados e espaçados */
  .navbar-nav{
    flex-direction:column;
    gap:.75rem;
    align-items:center;
  }
  .navbar-nav .nav-link{
    color:#f8f9fb;
    font-weight:500;
  }
  .navbar-nav .nav-link:hover{
    color:var(--accent);    /* já existente no seu tema */
  }

  /* ícone do hambúrguer sempre branco */
  .navbar-toggler .fa-bars{
    color:#ffffff;
    font-size:1.35rem;
  }
}

