/* Biofit — verde predominante, navy de apoio, cantos retos */
:root{
  --verde:#95C11F; --verde-claro:#B0D157; --verde-escuro:#688716;
  --navy:#1D242C; --navy-claro:#3A424C; --navy-escuro:#10151A;
  --grafite:#2B3138; --cinza:#838B99; --cinza-claro:#E7E9EC;
  --verde-suave:#F1F7E6; --branco:#fff;
  --grad-institucional:linear-gradient(135deg,#10151A,#1D242C 55%,#688716);
  --grad-performance:linear-gradient(90deg,#688716,#95C11F,#B0D157);
  --ease:cubic-bezier(.22,.61,.36,1);
  --display:"Oxanium",system-ui,sans-serif;
  --sans:"Red Hat Display",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;border-radius:0!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--branco);color:var(--grafite);font-family:var(--sans);font-size:15px;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased}
img,video,iframe,svg{display:block;max-width:100%}
img,video{height:auto}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3{font-family:var(--display);margin:0;line-height:1.15;letter-spacing:-.01em}
h1{font-size:40px;font-weight:800}
h2{font-size:30px;font-weight:800}
h3{font-size:22px;font-weight:700}
p{margin:0}
.legenda{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin:0}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.secao{padding:80px 0;position:relative}
.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mt-12{margin-top:48px}
.max-2{max-width:640px}.max-3{max-width:760px}
.branco{color:var(--branco)}
.navy-txt{color:var(--navy)}
.verde-claro-txt{color:var(--verde-claro)}
.verde-escuro-txt{color:var(--verde-escuro)}
.texto{color:rgba(43,49,56,.88)}
.bg-branco{background:var(--branco)}
.bg-verde-suave{background:var(--verde-suave)}
.bg-cinza-suave{background:var(--cinza-claro)}
.bg-institucional{background:var(--grad-institucional)}
.bg-performance{background:var(--grad-performance)}

/* Botões */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;
  padding:14px 24px;font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.02em;
  border:1px solid transparent;cursor:pointer;transition:transform 200ms var(--ease),background-color 200ms var(--ease),color 200ms var(--ease),box-shadow 200ms var(--ease)}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);
  transition:left 650ms var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover::after{left:120%}
.btn-primario{background:var(--verde);color:var(--navy-escuro)}
.btn-primario:hover{animation:pulso-anel 1.4s var(--ease) infinite}
.btn-secundario{background:var(--navy);color:var(--branco)}
.btn-secundario:hover{background:var(--navy-claro)}
.btn-outline{background:transparent;border-color:var(--verde);color:var(--verde)}
.btn-outline:hover{background:rgba(149,193,31,.12)}
.btn-bloco{display:flex;width:100%;margin-top:28px}
@keyframes pulso-anel{0%{box-shadow:0 0 0 0 rgba(149,193,31,.5)}70%{box-shadow:0 0 0 14px rgba(149,193,31,0)}100%{box-shadow:0 0 0 0 rgba(149,193,31,0)}}

/* Cabeçalho */
.cabecalho{position:fixed;top:0;left:0;right:0;z-index:60;transition:background-color 200ms var(--ease),box-shadow 200ms var(--ease),backdrop-filter 200ms var(--ease)}
.cabecalho.rolou{background:rgba(16,21,26,.94);box-shadow:0 12px 30px -18px rgba(16,21,26,.9)}
.barra{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:20px}
.logo{height:100px;width:auto;background:var(--branco)}
.menu{display:none;align-items:center;gap:22px;margin-left:auto;font-family:var(--display);font-size:14px;font-weight:600}
.menu a{color:rgba(255,255,255,.86);transition:color 150ms var(--ease)}
.menu a:hover{color:var(--verde)}
.menu .btn{padding:11px 18px;font-size:13px;color:var(--navy-escuro)}
.abrir-menu{margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,.3);color:var(--branco);padding:8px;cursor:pointer;display:inline-flex}
.menu-mobile{display:none;flex-direction:column;gap:2px;background:rgba(16,21,26,.97);padding:12px 20px 20px;font-family:var(--display);font-weight:600}
.menu-mobile.aberto{display:flex}
.menu-mobile a{color:rgba(255,255,255,.9);padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.menu-mobile .btn{margin-top:14px;border-bottom:0;color:var(--navy-escuro)}
@media(min-width:1024px){.menu{display:flex}.abrir-menu{display:none}}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;padding:150px 0 110px;
  background:var(--grad-institucional);background-size:200% 200%;animation:desloca-grad 14s ease-in-out infinite}
@keyframes desloca-grad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.hero .pulso-svg{position:absolute;left:-5%;top:62%;width:110%;height:300px;opacity:.3;z-index:-1}
.hero-veu{position:absolute;inset:0;background:rgba(16,21,26,.45);z-index:-1}
.selo{display:inline-flex;align-items:center;gap:8px;color:var(--verde-claro);border:1px solid rgba(149,193,31,.4);padding:8px 14px}
.hero h1{margin-top:24px;max-width:820px}
.hero-sub{margin-top:20px;font-size:18px;color:rgba(255,255,255,.82);max-width:620px}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
@media(min-width:768px){.hero{padding:190px 0 140px}.hero h1{font-size:56px}}

/* A Biofit */
.video-fachada{width:100%;max-height:440px;object-fit:cover;background:var(--navy-escuro)}
.sobre-grade{display:grid;gap:40px;margin-top:48px}
.missao{margin-top:28px;border-left:3px solid var(--verde);background:var(--verde-suave);padding:20px 24px}
.fotos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fotos .larga{grid-column:1/-1}
.fotos img{width:100%;height:100%;object-fit:cover;border:1px solid var(--cinza-claro)}
@media(min-width:1024px){.sobre-grade{grid-template-columns:1fr 1fr;align-items:start;gap:56px}}

/* Cartões */
.grade{display:grid;gap:24px}
@media(min-width:768px){.grade-3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grade-3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--branco);border:1px solid var(--cinza-claro);padding:32px;transition:border-color 200ms var(--ease),box-shadow 200ms var(--ease),transform 200ms var(--ease)}
.card:hover{border-color:var(--verde);box-shadow:0 18px 40px -26px rgba(16,21,26,.45);transform:translateY(-2px)}
.icone{width:40px;height:40px;color:var(--verde)}
.icone-p{width:32px;height:32px;color:var(--verde)}

/* Diferenciais */
.diferenciais{overflow:hidden;isolation:isolate}
.diferenciais .pulso-svg{position:absolute;left:-5%;bottom:0;width:110%;height:260px;opacity:.4;z-index:-1}
.grade-dif{display:grid;gap:16px;grid-template-columns:1fr}
.card-dif{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);padding:24px;transition:border-color 200ms var(--ease),background-color 200ms var(--ease)}
.card-dif:hover{border-color:var(--verde);background:rgba(255,255,255,.1)}
.card-dif h3{margin-top:20px;font-size:17px;color:var(--branco);line-height:1.3}
@media(min-width:640px){.grade-dif{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grade-dif{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.grade-dif{grid-template-columns:repeat(5,1fr)}}

/* Planos */
.plano{position:relative;display:flex;flex-direction:column;padding:32px}
.plano-destaque{background:var(--grad-institucional);border:1px solid var(--verde);color:var(--branco);box-shadow:0 26px 60px -34px rgba(16,21,26,.7)}
.plano-destaque h3{color:var(--branco)}
.tag{display:inline-block;align-self:flex-start;margin-bottom:16px;padding:6px 12px;color:var(--navy-escuro)}
.valor{margin-top:16px;font-family:var(--display);font-size:34px;font-weight:800;color:var(--verde)}
.plano .itens{margin-top:24px;display:grid;gap:12px}
.plano .itens li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.plano .itens svg{width:20px;height:20px;flex:0 0 20px;margin-top:3px;color:var(--verde)}
.plano .btn-bloco{margin-top:auto}

/* Depoimentos */
.depos{display:grid;gap:24px;margin-top:48px}
@media(min-width:768px){.depos{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.depos{grid-template-columns:repeat(3,1fr)}}
.depo{display:flex;flex-direction:column}
.fala{margin-top:20px;color:rgba(43,49,56,.9);font-style:italic}
.depo-autor{display:flex;align-items:center;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid var(--cinza-claro)}
.depo-autor img{width:56px;height:56px;object-fit:cover;border:1px solid var(--cinza-claro)}
.depo-autor p{font-family:var(--display);font-weight:700;font-size:15px;color:var(--navy)}

/* Contato e rodapé */
.contato{padding:80px 0 32px;color:var(--branco)}
.contato-grade{display:grid;gap:40px}
@media(min-width:1024px){.contato-grade{grid-template-columns:1fr 1fr;gap:56px;align-items:start}}
.contato-lista{margin-top:32px;display:grid;gap:22px}
.contato-lista li{display:flex;gap:14px}
.contato-lista svg{width:24px;height:24px;flex:0 0 24px;color:var(--verde);margin-top:2px}
.contato-lista strong{display:block;font-family:var(--display);font-size:15px;color:var(--branco)}
.contato-lista span{display:block;margin-top:4px;color:rgba(255,255,255,.72)}
.contato-lista a:hover{color:var(--verde)}
.social{display:flex;align-items:center;gap:12px;margin-top:32px;flex-wrap:wrap}
.social-icone{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);color:var(--branco);transition:border-color 200ms var(--ease),color 200ms var(--ease)}
.social-icone:hover{border-color:var(--verde);color:var(--verde)}
.mapa{border:1px solid rgba(255,255,255,.16);min-height:380px}
.mapa iframe{width:100%;height:380px;border:0}
.rodape-base{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.rodape-base img{height:100px;width:auto;background:var(--branco)}

/* WhatsApp flutuante */
.zap{position:fixed;right:20px;bottom:20px;z-index:70;width:56px;height:56px;padding:0;box-shadow:0 16px 36px -18px rgba(16,21,26,.8)}
.zap svg{width:28px;height:28px}

/* Entrada das seções */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 350ms var(--ease),transform 350ms var(--ease)}
.reveal.visivel{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .hero{animation:none}
  .btn:hover{transform:none}
  .btn-primario:hover{animation:none}
}

/* alinhamento dos cartoes de depoimento */
.depos{align-items:start}
