/* =====================================================
   VARIÁVEIS GLOBAIS
===================================================== */
:root {
  --sofclin-green: #54b39a;
  --sofclin-green-soft: #e6f4f0;
  --sofclin-beige: #f5e9dd;
  --sofclin-dark: #23313a;
  --sofclin-text: #4a5a60;
  --sofclin-radius-xl: 28px;
}

/* =====================================================
   RESET & BASE
===================================================== */
* { scroll-behavior: smooth; }

body{
  font-family:"Poppins", Arial, sans-serif;
  background:#f7faf9;
  color:var(--sofclin-text);
}

/* Acessibilidade */
.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:12px;
  top:12px;
  width:auto;
  height:auto;
  z-index:10000;
  background:#fff;
  padding:10px 14px;
  border-radius:12px;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  color:var(--sofclin-dark);
  text-decoration:none;
}

/* =====================================================
   NAVBAR
===================================================== */
.navbar{
  padding:1rem 0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
  box-shadow:0 4px 18px rgba(0,0,0,.04);
  transition:all .3s ease;
}

.navbar-brand img{ height:44px; }

.nav-link{
  font-size:.96rem;
  font-weight:500;
  color:var(--sofclin-dark);
}

.nav-link:hover,
.nav-link:focus{ color:var(--sofclin-green); }

.btn-whats-nav{
  border-radius:999px;
  padding:.4rem 1.1rem;
  font-size:.9rem;
  font-weight:600;
  background:var(--sofclin-green);
  color:#fff !important;
  border:none;
  box-shadow:0 8px 22px rgba(84,179,154,.4);
}
.btn-whats-nav:hover{ background:#3b8f7a; }

/* =====================================================
   HERO
===================================================== */
.hero-home{
  padding:7.5rem 0 4rem;
  background:
    radial-gradient(circle at 10% 10%, #e6f4f0 0%, transparent 40%),
    radial-gradient(circle at 90% 90%, #f5e9dd 0%, transparent 45%),
    #f7faf9;
}

.hero-left{ max-width:540px; }

.hero-tag{
  display:inline-block;
  background:#fff;
  color:var(--sofclin-green);
  font-size:.75rem;
  padding:6px 14px;
  border-radius:999px;
  font-weight:500;
  margin-bottom:1rem;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.hero-title{
  font-size:clamp(2.4rem, 3.2vw, 3.2rem);
  font-weight:700;
  line-height:1.15;
  color:var(--sofclin-dark);
  margin-bottom:1rem;
}

.hero-subtitle{
  font-size:1.05rem;
  color:var(--sofclin-text);
  margin-bottom:1.6rem;
}

.hero-actions{
  display:flex;
  gap:.9rem;
  flex-wrap:wrap;
  margin-bottom:1.6rem;
}

.hero-contact{
  font-size:.92rem;
  color:#7c8b92;
  font-style:normal;
  margin:0;
}

.hero-visual{
  position:relative;
  width:340px;
  height:340px;
}
.hero-visual-bg{
  position:absolute;
  inset:0;
  border-radius:50%;
  background:linear-gradient(135deg, #54b39a, #7fd1bb);
  opacity:.18;
  box-shadow:0 30px 70px rgba(0,0,0,.15);
}

/* =====================================================
   COMPONENTES
===================================================== */
.pill{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.2rem .7rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:500;
  background:var(--sofclin-green-soft);
  color:var(--sofclin-dark);
}

.card-soft{
  background:#fff;
  border-radius:var(--sofclin-radius-xl);
  border:none;
  box-shadow:0 14px 32px rgba(0,0,0,.05);
}

.shadow-soft{ box-shadow:0 18px 40px rgba(0,0,0,.08); }

/* =====================================================
   SEÇÕES
===================================================== */
.section-padding{ padding:3.5rem 0; }

.section-title{
  font-size:1.8rem;
  font-weight:700;
  color:var(--sofclin-dark);
  margin-bottom:.5rem;
}

.section-subtitle{
  max-width:520px;
  margin:0 auto 1.5rem;
  font-size:.95rem;
  color:#8b9aa0;
}

.bg-soft-green{ background:var(--sofclin-green-soft); }

/* Home trust */
.home-trust{
  background:#ffffff;
  padding:2rem 0;
  box-shadow:0 12px 30px rgba(0,0,0,.04);
}
.home-trust strong{
  font-size:.95rem;
  color:var(--sofclin-dark);
}

/* =====================================================
   EQUIPE
===================================================== */
.team-group-title{
  letter-spacing:.08em;
  color:#7c8b92;
}

.team-img{
  width:100%;
  height:380px;
  object-fit:cover;
  border-radius:22px;
}

.team-name{
  font-weight:600;
  color:var(--sofclin-dark);
  margin-bottom:.15rem;
}

.team-role{
  font-size:.9rem;
  color:#7c8b92;
  margin-bottom:.1rem;
}

.team-crm{
  font-size:.86rem;
  color:#9aa6ac;
}

.team-card{
  transition:transform .25s ease, box-shadow .25s ease;
}
.team-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 48px rgba(0,0,0,.12);
}

/* =====================================================
   BOTÕES
===================================================== */
.btn-sofclin-primary{
  background:var(--sofclin-green);
  color:#fff;
  border:none;
  border-radius:999px;
  font-weight:600;
  padding:.7rem 1.6rem;
  box-shadow:0 14px 36px rgba(84,179,154,.45);
}
.btn-sofclin-primary:hover{
  background:#3b8f7a;
  color:#fff;
}

.btn-outline-soft{
  background:rgba(255,255,255,.85);
  border:1px solid rgba(35,49,58,.16);
  border-radius:999px;
  font-size:.9rem;
  font-weight:500;
  padding:.6rem 1.4rem;
  color:var(--sofclin-dark);
}
.btn-outline-soft:hover{
  border-color:var(--sofclin-green);
  color:var(--sofclin-green);
  background:#fff;
}

/* =====================================================
   CTA FINAL
===================================================== */
.cta-final{
  background:linear-gradient(120deg, #54b39a, #3b8f7a);
  color:#fff;
  padding:3.5rem 0;
}
.cta-final h2{
  font-weight:700;
  margin-bottom:.5rem;
}

/* =====================================================
   WHATSAPP FLOAT
===================================================== */
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  background:#25d366;
  border-radius:50%;
  padding:12px;
  box-shadow:0 12px 30px rgba(37,211,102,.5);
  transition:transform .25s ease;
}
.whatsapp-float:hover{ transform:scale(1.08); }

/* =====================================================
   FOOTER
===================================================== */
footer{
  background:#fff;
  border-top:1px solid rgba(0,0,0,.04);
  padding:1.4rem 0;
  font-size:.85rem;
  color:#8a9599;
}

/* =====================================================
   RESPONSIVO
===================================================== */
@media (max-width: 991.98px){
  .hero-home{ padding:6.5rem 0 3rem; }
  .team-img{ height:320px; }
}

@media (max-width: 768px){
  .hero-title{ font-size:2rem; }
  .hero-actions a{ width:100%; text-align:center; }
  iframe{ height:260px; }
  .team-img{ height:240px; }
}
