:root{
  --navy:#052F5F;
  --deep:#071A3A;
  --blue:#4B6CB7;
  --ice:#EAF2FF;
  --text:#0F172A;
  --muted:#64748B;
  --card:#FFFFFF;
  --shadow: 0 18px 45px rgba(2,6,23,.12);
  --radius: 22px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background: radial-gradient(1000px 550px at 15% 10%, rgba(75,108,183,.16), transparent 55%),
              radial-gradient(900px 520px at 85% 0%, rgba(5,47,95,.22), transparent 60%),
              linear-gradient(180deg, #fbfdff 0%, #f6f9ff 38%, #ffffff 100%);
}
.navbar{
  backdrop-filter:saturate(180%) blur(10px);
  background: rgba(255,255,255,.78) !important;
  border-bottom: 1px solid rgba(15, 23, 42, .06);
}
.navbar .nav-link{font-weight:600;color:#0b1220}
.navbar .nav-link:hover{color:var(--blue)}
.navbar .nav-link.active{color:var(--blue);border-bottom:2px solid var(--blue)}
.brand-badge{
  display:inline-flex;align-items:center;gap:.75rem;
}
.brand-badge img{height:38px;width:auto}
.btn-primary{
  background: linear-gradient(135deg, var(--navy), var(--blue));
  border:0;
  box-shadow: 0 14px 30px rgba(75,108,183,.25);
}
.btn-primary:hover{filter:brightness(1.05)}
.btn-outline-primary{
  border-color: rgba(75,108,183,.55);
  color:var(--navy);
}
.btn-outline-primary:hover{
  background: rgba(75,108,183,.10);
  color:var(--navy);
  border-color: rgba(75,108,183,.65);
}
.hero{
  position:relative;
  padding: 6.2rem 0 4.4rem;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(850px 420px at 18% 15%, rgba(75,108,183,.25), transparent 60%),
    radial-gradient(950px 520px at 85% 30%, rgba(5,47,95,.18), transparent 65%);
  z-index:0;
}
.hero .container{position:relative; z-index:1}
.hero-card{
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(15,23,42,.06);
  border-radius: calc(var(--radius) + 6px);
  box-shadow: var(--shadow);
  padding: 2.2rem;
}
.kicker{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.45rem .75rem;
  border-radius:999px;
  background: rgba(75,108,183,.10);
  color: var(--navy);
  font-weight:700;
  letter-spacing:.2px;
  font-size: .9rem;
}
.kicker .dot{
  width:10px;height:10px;border-radius:999px;
  background: linear-gradient(135deg, var(--navy), var(--blue));
  box-shadow: 0 0 0 6px rgba(75,108,183,.14);
}
.display-5{letter-spacing:-.7px}
.lead{color:var(--muted)}
.section{
  padding: 4.2rem 0;
}
.section-title{
  font-weight:800; letter-spacing:-.4px;
}
.section-subtitle{
  color:var(--muted);
  max-width: 62ch;
}
.card-soft{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.06);
  border-radius: var(--radius);
  box-shadow: 0 14px 35px rgba(2,6,23,.08);
}
.icon-bubble{
  width:48px;height:48px;border-radius:16px;
  display:grid; place-items:center;
  background: rgba(75,108,183,.12);
  color: var(--navy);
}
.feature{
  padding: 1.35rem 1.35rem;
}
.feature h5{font-weight:800; margin-bottom:.35rem}
.feature p{color:var(--muted); margin:0}
.grid-2{
  display:grid; grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1rem;
}
@media (max-width: 991px){
  .hero{padding:5.2rem 0 4.2rem}
  .grid-2{grid-template-columns:1fr}
}
.wave-divider{
  height:120px; background: url("../img/waves.svg") center/cover no-repeat;
  opacity:.95;
}
.footer{
  background: linear-gradient(135deg, #071A3A, #052F5F);
  color: rgba(255,255,255,.86);
}
.footer a{color: rgba(255,255,255,.92); text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer .mini{
  color: rgba(255,255,255,.65);
}
.badge-soft{
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
  border-radius: 999px;
  padding: .45rem .75rem;
  font-weight: 700;
  font-size: .85rem;
}
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:999;
  width:56px;height:56px;border-radius:18px;
  display:grid;place-items:center;
  background: #25D366;
  box-shadow: 0 18px 40px rgba(2,6,23,.22);
  color:#fff;
  text-decoration:none;
}
.whatsapp-float:hover{filter:brightness(1.05)}
.page-header{
  padding: 4.5rem 0 2rem;
}
.page-header .title{
  font-weight:900; letter-spacing:-.6px;
}
.breadcrumb{
  --bs-breadcrumb-divider: '›';
}
.logo-cloud{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 2.5rem;
  align-items: center;
  justify-items: center;
  padding: 2rem 0;
}
.logo-cloud img{
  max-height: 60px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  opacity: 0.8;
  transition: opacity 0.3s ease;
  filter: grayscale(30%);
}
.logo-cloud img:hover{
  opacity: 1;
  filter: grayscale(0%);
}
@media (max-width: 991px){
  .logo-cloud{grid-template-columns: repeat(3, minmax(0,1fr))}
}
@media (max-width: 575px){
  .logo-cloud{grid-template-columns: repeat(2, minmax(0,1fr))}
}
.timeline-step{
  display:flex; gap: 1rem; align-items:flex-start;
  padding: 1.1rem 1.1rem;
}
.step-num{
  width:42px;height:42px;border-radius:16px;
  display:grid;place-items:center;
  background: linear-gradient(135deg, rgba(5,47,95,.95), rgba(75,108,183,.95));
  color:white;font-weight:900;
  box-shadow: 0 14px 30px rgba(75,108,183,.20);
  flex:0 0 auto;
}