@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
.plus-jakarta-sans-thin {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
.plus-jakarta-sans-regular {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.plus-jakarta-sans-bold {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}
  :root{
    --brand:#0d47a1;
    --text:#3f3f3f;
    --whats:#25d366;
    --bg:#fff;
    --shadow:0 1px 2px rgba(0,0,0,.06);
    --radius:22px;
    --container:1200px;
    
    
    
     --hero-h: 70vh;           /* altura desktop */
    --hero-h-mobile: 58vh;    /* altura mobile */
    --gap-x: 20px;

    --text-hero:#e9eef6;
    --title:#fff;
  }
.f-logomobile{
    display: none;
}
.f-logomobile img{
    display: none;
}
  *{box-sizing:border-box}
  body{margin:0; font:500 15px/1.2 "Plus Jakarta Sans", system-ui, sans-serif;; color:var(--text)}

  /* HEADER */
  .gp-header{position:sticky; top:0; z-index:9999; background:var(--bg); box-shadow:var(--shadow); padding: 20px 0px;}
      .gp-container{max-width:var(--container); margin:0 auto; padding:10px 20px; display:flex; align-items:center; justify-content:space-between; gap:24px}

  /* LOGO */
  .gp-logo img{height:48px; display:block}

  /* NAV (desktop) */
  .gp-nav{display:flex; align-items:center; gap:28px}
  .gp-list{display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0}
  .gp-nav a{display:flex; align-items:center; gap:8px; text-decoration:none; color:var(--text); transition:.18s}
  .gp-nav a:hover{color:var(--brand)}

  /* AÇÕES */
  .gp-actions{display:flex; align-items:center; gap:12px}
  .gp-whats{display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:var(--radius); background:var(--whats); color:#fff; text-decoration:none; font-weight:600}
  .gp-icon{display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; color:var(--brand); text-decoration:none}

  /* HAMBURGUER */
  .gp-burger{display:none; width:44px; height:44px; border:0; background:transparent; cursor:pointer; position:relative}
  .gp-burger span{position:absolute; left:9px; right:9px; height:2px; background:#1e1e1e; transition:.3s}
  .gp-burger span:nth-child(1){top:13px}
  .gp-burger span:nth-child(2){top:21px}
  .gp-burger span:nth-child(3){top:29px}
  .gp-burger.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .gp-burger.is-open span:nth-child(2){opacity:0}
  .gp-burger.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  /* ===== MOBILE / TABLET ===== */
  @media (max-width: 992px){
    .gp-burger{display:block}
    .gp-nav{
      position:fixed; left:12px; right:12px; top:64px; bottom:12px;
      background:var(--bg); border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,.12);
      padding:18px; display:block; transform:translateY(-6px) scale(.98);
      opacity:0; pointer-events:none; transition:.25s; z-index:9998;
    }
    .gp-nav.is-open{opacity:1; pointer-events:auto; transform:none}
    .gp-list{flex-direction:column; align-items:flex-start; gap:14px; margin-bottom:16px}
    .gp-nav a{font-size:16px}
    .gp-actions{justify-content:flex-start; gap:10px}
    .gp-whats{width:100%; justify-content:center}
  }

  /* trava scroll quando aberto */
  .gp-no-scroll, .gp-no-scroll body{overflow:hidden}
  
  
  
  
  
  
 


  .gp-hero{position:relative; width:100%; overflow:hidden; background:#0a0f1a}
  .gp-hero-inner{position:relative; width:100%}

  .gp-slide{position:relative; width:100%; align-items:center; height:var(--hero-h); display:none}
  .gp-slide.is-active{display:block}
  .gp-slide > img{
    width:100%; height:100%; object-fit:cover; display:block;
    filter:brightness(.82); /* deixa o texto legível */
  }

  /* bloco de texto à esquerda, centralizado vertical */
  .gp-content{
    position:absolute; inset:0;
    max-width:var(--container); margin:0 auto; padding:0 24px;
    display:block; align-items:center;
    justify-content: center;
    margin-top: 7%;
  }
  .gp-content > *{pointer-events:auto}

  .gp-content h1{
    margin:0 0 14px 0;
    color:var(--title);
    font:800 clamp(28px,5vw,56px)/1.12 "Plus Jakarta Sans", system-ui, sans-serif;;
    text-shadow:0 2px 24px rgba(0,0,0,.35);
    max-width:min(820px, 70%);
  }
  .gp-content p{
    margin:0 0 22px 0;
    color:var(--title);
    font:300 clamp(14px,2.1vw,20px)/1.55 "Plus Jakarta Sans", system-ui, sans-serif;;
    max-width:min(760px, 50%);
  }

  .gp-ctas{display:flex; gap:16px; flex-wrap:wrap}
  .gp-btn{
    display:inline-flex; align-items:center; justify-content:center;
    padding:14px 22px; border-radius:14px; font:800 15px/1 "Plus Jakarta Sans", system-ui, sans-serif;;
    text-decoration:none; transition:.2s;
    box-shadow:0 10px 30px rgba(0,0,0,.18);
  }
  .gp-btn--ghost{
    background:#ffffff; color:#0f172a;
  }
  .gp-btn--ghost:hover{filter:brightness(.95)}
  .gp-btn--whats{
    background:var(--whats); color:#fff;
  }
  .gp-btn--whats:hover{filter:brightness(.95)}

  /* setas e bolinhas */
  .gp-arrow{
    position:absolute; top:50%; transform:translateY(-50%);
    width:46px; height:46px; border-radius:50%;
    border:0; background:rgba(255,255,255,.92); color:#0f172a;
    font-size:28px; cursor:pointer; display:grid; place-items:center;
    box-shadow:0 8px 28px rgba(0,0,0,.18)
  }
  .gp-prev{left:22px}
  .gp-next{right:22px}

  .gp-dots{position:absolute; left:0; right:0; bottom:14px; display:flex; gap:8px; justify-content:center}
  .gp-dots button{
    width:8px; height:8px; border-radius:999px; border:0; background:rgba(255,255,255,.6); cursor:pointer
  }
  .gp-dots button[aria-current="true"]{width:26px; background:#fff}










/** por que escolher? **/


.porque-escolher{
  --azul:#2d2d85;
  --texto:#333;
  --gap:48px;
  text-align:center;
  padding:72px 20px;
  background:#fff;
  font-family: "Plus Jakarta Sans", sans-serif;
}

.porque-escolher .container{
  max-width:1100px;
  margin:0 auto;
}

.porque-escolher h2{
  font-size:clamp(1.5rem,1.2rem + 1.2vw,4rem) "Plus Jakarta Sans";
  margin:0 0 40px;
  color:var(--azul);
  font-weight:400;
      font-size: 40px;
    margin-bottom: 100px;
}
.porque-escolher h2 span{ font-weight:700; }

.cards{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:var(--gap);
  align-items:start;
  margin-bottom:40px;
  
}

.card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-width:140px;
}

.ico{
  width:72px;                 /* tamanho do ícone */
  aspect-ratio:1/1;           /* sempre quadrado */
  display:grid;
  place-items:center;         /* centraliza o conteúdo */
  margin-bottom:14px;
}

/* imagem do ícone */
.ico img, .ico svg{
  max-width:100%;
  max-height:100%;
  display:block;              /* elimina “pulo” de baseline */
  object-fit:contain;
}

/* (opcional) cor azul nos PNG/SVG pretos via filtro */
.ico img{
  filter:contrast(0) brightness(0) invert(15%)
         sepia(53%) saturate(994%) hue-rotate(208deg)
         brightness(85%) contrast(93%);
}
/* 
.card img{
  width:64px;
  height:64px;
  object-fit:contain;
  margin-bottom:14px;
  display:block;
  filter:contrast(0) brightness(0) invert(15%) sepia(53%) saturate(994%) hue-rotate(208deg) brightness(85%) contrast(93%); /* deixa o ícone azul aproximado */
} */
.card p{
  color:var(--texto);
  font-size:15px;
  line-height:1.45;
}

/* Botão */
.btn{
  display:inline-block;
  background:var(--azul);
  color:#fff;
  padding:12px 22px;
  border-radius:8px;
  text-decoration:none;
  transition:transform .15s ease, opacity .2s ease;
}
.btn:hover{ transform:translateY(-1px); opacity:.92; }

/* ===== Responsivo ===== */
/* Tablet (<=1024px): 3 colunas */
@media (max-width:1024px){
  .cards{ grid-template-columns:repeat(3,1fr); gap:40px; }
}

/* Mobile (<=640px): 2 colunas */
@media (max-width:640px){
  .porque-escolher{ padding:56px 16px; }
  .cards{ grid-template-columns:repeat(2,1fr); gap:28px; }
  .card{ max-width:260px; }
  .card img{ width:56px; height:56px; }
  .btn{ width:100%; max-width:320px; }
  .f-logo, .f-brand{
      display:none;
  }
  .f-logomobile{
      display:block;
          margin: auto;
        margin-bottom: 50px;
      
  }
}


/** final porque escolher **/

/* ===== Base da seção (mantém o seu) ===== */
.sec-servicos{ --bg:#273487; --card-radius:22px; --text:#eaf2ff; --muted:#c7d3ff; --btn:#32c45a; --shadow:0 12px 24px rgba(0,0,0,.18);
  background:var(--bg); color:var(--text); padding:72px 16px; text-align:center; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; }
.srv-container{ max-width:1100px; margin:0 auto; }

/* ===== Carrossel (4 cards desktop + setas fora) ===== */
.srv-carousel{
  position:relative;
  /* cria “calhas” laterais para as setas ficarem fora das imagens */
  padding-inline:64px;             /* <<< move as setas para fora do track */
  margin:10px 0 22px;
}

.srv-track{
  display:grid;
  grid-auto-flow:column;
  gap:24px;
  /* 4 cards visíveis: 3 gaps x 24px = 72px */
  grid-auto-columns:calc((100% - 72px)/4);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:6px 0;                   /* sem padding lateral para o track */
  scrollbar-width:none;
}
.srv-track::-webkit-scrollbar{ display:none; }

/* Cards mais altos */
.srv-card{
  position:relative; display:block; height:380px;  /* <<< altura maior */
  border-radius:var(--card-radius); overflow:hidden; background:#111;
  box-shadow:var(--shadow); scroll-snap-align:center; transition:transform .2s ease;
}
.srv-card:hover{ transform:translateY(-2px); }
.srv-card img{ width:100%; height:100%; object-fit:cover; display:block; }

/* overlay */
.srv-info{
  position:absolute; inset:auto 0 0 0; padding:20px 18px 16px; color:#fff;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.45) 56%, rgba(0,0,0,.78) 100%);
}
.srv-info strong{ display:block; font-weight:700; font-size:1.08rem; text-align:left; margin-bottom:6px; }
.srv-info span{ display:inline-block; font-size:.8rem; padding:5px 12px; border-radius:999px; background:rgba(255,255,255,.14); }

/* Setas: ficam nas calhas laterais, não por cima dos cards */
.srv-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:999px; border:none;
  background:rgba(255,255,255,.16); color:#e4ebff; font-size:26px;
  cursor:pointer; display:grid; place-items:center; backdrop-filter:saturate(160%) blur(2px);
  transition:opacity .2s ease, transform .15s ease;
}
.srv-nav:hover{ opacity:.95; transform:translateY(-50%) scale(1.03); }
.srv-nav.prev{ left:10px; }    /* dentro da calha de 64px */
.srv-nav.next{ right:10px; }

/* ===== Responsivo ===== */
/* 2–3 cards em telas médias */
@media (max-width:1200px){
  .srv-track{ grid-auto-columns:calc((100% - 48px)/3); } /* 3 cards */
}
@media (max-width:900px){
  .srv-carousel{ padding-inline:48px; }
  .srv-track{ grid-auto-columns:calc((100% - 24px)/2); } /* 2 cards */
  .srv-card{ height:360px; }
}
/* 1 card no mobile */
@media (max-width:620px){
  .srv-carousel{ padding-inline:40px; }
  .srv-track{ grid-auto-columns:100%; }
  .srv-card{ height:320px; }
  .srv-nav.prev{ left:6px; } .srv-nav.next{ right:6px; }
}






/* quem somos */

.quem-somos{
  --azul:#273487;
  --texto:#1d2433;
  --muted:#465066;
  --bg:#ffffff;
 /*  padding:64px 16px; */
  background: #F0F0F0;;
    min-height:600px;   /* altura mínima da section */
    align-items: center;
}
.qs-container{
  max-width:1300px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1fr 1.2fr 1.2fr; /* esquerda | imagem | direita */
  gap:40px;
    align-items: center;   /* <<< força todas as colunas alinharem pelo fundo */

}

/* coluna esquerda */
.qs-left{
  display:flex;
  justify-content:center;
  align-items:center;
  padding: 64px 16px;
}
.qs-eyebrow{
  font-size:34px;
  line-height:1.1;
  font-weight:400;
  color:var(--azul);
}
.qs-eyebrow span{ font-weight:800; }

/* coluna do meio */
.qs-figure{
  margin:0; 
  display:flex; 
  justify-content:center; 
   align-items:flex-end; 
     height:100%;            /* ocupa altura total da section */

}
.qs-figure img{
  display:block;
    height:80%; 
      width:auto;
/* <<< sempre 90% da altura da section */
    
}

/* coluna direita */
.qs-content{ color:var(--texto);   padding: 64px 16px;
}
.qs-title{
  font-size:22px;
  color:var(--azul);
  margin:0 0 12px;
  font-weight:800;
}
.qs-text{
  color:var(--muted);
  line-height:1.6;
  margin:0 0 16px;
}
.qs-btn{
  display:inline-block;
  background:var(--azul);
  color:#fff;
  text-decoration:none;
  padding:12px 18px;
  border-radius:10px;
  font-weight:600;
  margin:6px 0 18px;
}
.qs-certificacoes h4{ margin:0 0 10px; color:var(--texto); font-size:16px; }
.qs-certificacoes ul{
  margin:0 0 18px 0;
  padding-left:18px;
  color:var(--muted);
  line-height:1.55;
}
.qs-certificacoes li{ margin-bottom:6px; }
.qs-logos{
  display:flex; gap:18px; align-items:center; flex-wrap:wrap;
}
.qs-logos img{
  width:116px; height:auto;
  border-radius:12px;
  padding:10px;
  background:#f6f7fb;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
}

/* responsivo */
@media (max-width:1024px){
  .qs-container{
    grid-template-columns: 1fr; 
    text-align:center;
  }
  .qs-left{ justify-content:center; margin-bottom:20px; }
  .qs-content{ margin-top:20px; }
}

/* fim quem somos */


/* depoimentos */

.sec-depoimentos{
  --azul:#2d2d85;
  --card:#ffffff;
  --txt:#2b2f3b;
  --muted:#6b7280;
  --shadow:0 10px 30px rgba(0,0,0,.10);
  padding:64px 16px 72px;
  background:#fff;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  text-align:center;
  z-index: 999;
    position: relative;
}
.deps-container{ max-width:1100px; margin:0 auto; }
.sec-depoimentos h2{
  color:var(--azul);
  font-size:clamp(1.8rem,1.2rem + 1.5vw,2.2rem);
  margin-bottom:22px;
}

/* carrossel */
.deps-carousel{
  position:relative;
  padding-inline:64px; /* calhas para as setas ficarem fora dos cards */
  margin:10px 0 26px;
}
.deps-track{
  display:grid;
  grid-auto-flow:column;
  gap:14px;
  grid-auto-columns:calc((100% - 48px)/3); /* 3 cards visíveis (2 gaps) */
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:6px 0;
  scrollbar-width:none;
}
.deps-track::-webkit-scrollbar{ display:none; }

/* card */
.dep-card{
  background:var(--card);
  border-radius:12px;
  box-shadow:var(--shadow);
  padding:26px 22px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  min-height:260px;
  scroll-snap-align:center;
}
.dep-avatar{
  width:64px; height:64px; padding-top: 5px; padding-left: 5px; padding-right: 5px; border-radius:999px; object-fit:cover;
  background:#2A3692;
}
.dep-text{
  margin:0;
  color:var(--muted);
  line-height:1.55;
  max-width:46ch;
}
.dep-author{ color:var(--muted); font-size:.92rem; }
.dep-name{ color:var(--azul); text-decoration:underline; text-underline-offset:3px; }

/* setas */
.deps-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:999px; border:none;
  background:#e6e7ea; color:#4b5563; font-size:24px;
  display:grid; place-items:center; cursor:pointer;
}
.deps-nav.prev{ left:10px; }
.deps-nav.next{ right:10px; }

/* botão */
.deps-btn{
  display:inline-block;
  background:var(--azul); color:#fff; text-decoration:none;
  padding:12px 20px; border-radius:10px; font-weight:600;
  box-shadow:var(--shadow);
}

/* responsivo */
@media (max-width:1024px){
  .deps-track{ grid-auto-columns:calc((100% - 24px)/2); } /* 2 cards */
}
@media (max-width:640px){
  .deps-carousel{ padding-inline:40px; }
  .deps-track{ grid-auto-columns:100%; }                    /* 1 card */
  .dep-card{ min-height:240px; }
  .deps-nav.prev{ left:6px; } .deps-nav.next{ right:6px; }
}


/* fim depoimentos */
/* rodape */

/* ===== Rodapé 4 colunas ===== */
.footer{
  --bg1:#273487; --bg2:#2f3e97;
  --white:#fff; --muted:#dbe5ff; --green:#25D366;
  background:linear-gradient(90deg,var(--bg1),var(--bg2));
  color:var(--white);
  font-family:system-ui,Arial,sans-serif;
  padding:38px 20px 0;
}
.footer-container{
  max-width:1200px; margin:0 auto;
  display:grid; gap:40px;
  grid-template-columns: 1fr 2fr 1fr 1fr; /* logo | CONTATOS (maior) | links | links */
  align-items:start;
}

/* Coluna 1 */
.f-logo{ max-width:190px; height:auto; display:block; }

/* Coluna 2 (contatos) */
.f-infos{ list-style:none; margin:10px 0 18px; padding:0; }
.f-infos li{
  display:flex; align-items:center; gap:8px;
  font-size:14px; margin-bottom:10px;
}
.icon{ width:18px; height:18px; object-fit:contain; }
.f-btns{ display:flex; flex-wrap:wrap; gap:12px; }
.btn{
  padding:10px 14px; font-size:14px; font-weight:600;
  border-radius:8px; text-decoration:none; display:inline-block;
}
.btn-light{ background:#fff; color:#273487; }
.btn-green{ background:var(--green); color:#fff; }

/* Colunas 3 e 4 (links) */
.f-links ul{ list-style:none; margin:0; padding:0; }
.f-links li{ margin-bottom:10px; }
.f-links a{ color:#fff; text-decoration:none; font-size:14px; }
.f-links a:hover{ text-decoration:underline; }

/* Bottom */
.footer-bottom{
  margin-top:22px; padding:14px 0;
  text-align:center; font-size:13px; color:var(--muted);
  border-top:1px solid rgba(255,255,255,.25);
}

/* ===== Responsivo ===== */
@media (max-width:992px){
  .footer-container{
    grid-template-columns: 1.2fr 1.8fr; /* logo + contatos em cima, dois blocos de links abaixo */
  }
  .f-links:nth-of-type(3), .f-links:nth-of-type(4){ /* garantem quebra para linha de baixo */
    margin-top:6px;
  }
}
@media (max-width:720px){
  .footer-container{ grid-template-columns: 1fr; text-align:center; }
  .f-infos li{ justify-content:center; }
  .f-btns{ justify-content:center; }
}



/* fim do rodape */


/* ===== tablets ===== */
@media (max-width: 1024px){
  .gp-content h1{ max-width: 90%; }
  .gp-content p{  max-width: 85%; }
}

/* ===== mobile ===== */
@media (max-width: 560px){
  .gp-content{ align-items:center; text-align: start; }
  .gp-content h1, .gp-content p{ max-width:100%; }
  .gp-ctas{ width:100%; }
  .gp-ctas .gp-btn{ width:100%; }     /* botões em coluna */
  .gp-arrow{ display:none; }           /* some com setas no celular */
  .gp-slide>img{ object-position:center top; } /* mostra melhor o topo da foto */
}








/* altura fluida do slide */
.gp-slide{ height: var(--hero-h); }

/* texto centralizado vertical e com limites fluidos */
.gp-content{
  position:absolute; inset:0;
  max-width: var(--container);
  margin: 0 auto;

  padding-inline: clamp(16px,4vw,32px);
  flex-direction:column;
  justify-content:center;
  gap:12px;
  margin-top:5%;                 /* remove margem fixa */
}
.gp-content h1{
  color:var(--title);
  font:800 clamp(24px, 6vw, 54px)/1.12 "Plus Jakarta Sans", system-ui, sans-serif;;
  text-shadow:0 2px 24px rgba(0,0,0,.35);
  max-width:min(820px, 80%);
  margin:0 0 12px;
}
.gp-content p{
  color:var(--title);
  font:300 clamp(14px, 3.2vw, 18px)/1.6 "Plus Jakarta Sans", system-ui, sans-serif;;
  max-width:min(760px, 70%);
  margin:0 0 18px;
}

/* botões fluidos */
.gp-ctas{ display:flex; gap:12px; flex-wrap:wrap; }
.gp-btn{ 
  padding: clamp(10px,2.2vw,14px) clamp(14px,3.2vw,22px);
  border-radius:12px;
  font-size: clamp(13px,1.8vw,15px);
}

/* setas e dots dimensionais */
.gp-arrow{
  width: clamp(36px,5vw,46px);
  height: clamp(36px,5vw,46px);
  font-size: clamp(22px,4.5vw,28px);
}
.gp-prev{ left: clamp(8px,3vw,22px); }
.gp-next{ right: clamp(8px,3vw,22px); }
.gp-dots{ bottom: clamp(8px,2.5vw,14px); }

/* ===== tablets ===== */
@media (max-width: 1024px){
  .gp-content h1{ 
        max-width: 90%;
        margin-top: auto;
        margin: auto;
        margin-top: 25%;
    } 
    .gp-btn--whats {
    margin-top: 10px;
    }
  .gp-content p{  max-width: 85%; }
}

/* ===== mobile ===== */
@media (max-width: 560px){
  .gp-content{ align-items:center; text-align:center; }
  .gp-content h1, .gp-content p{ max-width:100%; }
  .gp-ctas{ width:100%; }
  .gp-ctas .gp-btn{ width:100%; }     /* botões em coluna */
  .gp-arrow{ display:none; }           /* some com setas no celular */
  .gp-slide>img{ object-position:center top; } /* mostra melhor o topo da foto */
}






@media (max-width: 1024px){
  .quem-somos{ min-height: 520px; }

  .qs-container{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "left left"
      "image content";
    align-items: center;  /* não precisa mais “grudar” embaixo */
    gap: 28px;
  }

  /* imagem deixa de forçar 90% da altura */
  .qs-figure{ min-height: 360px; align-items: center; }
  .qs-figure img{
    height: auto;
    width: min(520px, 100%);
    align-items: end;
  }
}

/* ====== MOBILE (empilhado) ====== */
@media (max-width: 767px){
  .quem-somos{ min-height: unset; padding: 40px clamp(16px,5vw,28px); }

  .qs-container{
    grid-template-columns: 1fr;
    grid-template-areas:
      "left"
      "image"
      "content";
    gap: 20px;
    align-items: center;
  }

  .qs-left{ justify-content:flex-start; }
  .qs-figure{
    min-height: unset;
    height: auto;
align-items: end;  }
  .qs-figure img{
    width: 100%;
    height: auto;  /* evita “cortar” a imagem no celular */
  }
}

/* ===== pequenos refinamentos de tipografia responsiva (opcional) ===== */
.qs-eyebrow{ font-size: clamp(28px, 4.2vw, 36px); margin: 0; }
.qs-title  { font-size: clamp(18px, 2.4vw, 22px); }
.qs-text, .qs-content p, .qs-content li { font-size: clamp(14px, 2.1vw, 16px); line-height: 1.6; }


:root{
  --font-sans: "Plus Jakarta Sans", sans-serif;
}
div#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  z-index: 99999;
}
.loader .title {
  color: black;
  font-size: 14px;
  letter-spacing: 2px;
  font-weight: lighter;
  text-align: center;
  font-family: arial;
}
.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top:-50px; 
  margin-left:-50px;
}
/*Carregando*/
.carregando {
  font-size: 45px;
  color: #f00;
  text-indent: -9999em;
  overflow: hidden;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  display: block;
  transform: translateZ(0);
  animation: mltShdSpin 1.7s infinite ease, round 1.7s infinite ease;
  margin-bottom: 35px;
  margin-left: 20px;
}