/* ===== Base ===== */
:root{
  --brand-blue:#0C3C6E;
  --brand-blue-700:#0A315C;
  --brand-blue-900:#082849;
  --brand-orange:#FF7A00;
  --brand-orange-600:#E96E00;
  --text:#0F172A;
  --muted:#475569;
  --bg:#ffffff;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: 'Inter',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;display:block}
.container{width:min(1120px,92%);margin-inline:auto}
.center{text-align:center}
.break{display:none}
.section__title{font-size:clamp(24px,4vw,36px);line-height:1.2;margin:0 0 16px;font-weight:800;color:var(--brand-blue-900)}
.section__title--light{color:#fff}

/* ===== Buttons ===== */
.btn{
  display:inline-block;
  padding:14px 22px;
  border-radius:10px;
  font-weight:700;
  text-decoration:none;
  transition:.2s ease-in-out;
}
.btn--primary{background:var(--brand-orange);color:#fff;box-shadow:0 8px 20px rgba(255,122,0,.25)}
.btn--primary:hover{background:var(--brand-orange-600);transform:translateY(-1px)}
.btn--secondary{background:#fff;color:var(--brand-blue);border:2px solid #fff}
.btn--secondary:hover{opacity:.95;transform:translateY(-1px)}

/* ===== Hero ===== */
.hero{position:relative;min-height:88vh;display:grid;place-items:center;color:#fff;overflow:hidden}
.hero__bg{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,40,73,.85) 0%,rgba(8,40,73,.85) 100%), url('assets/bannerhero1.avif') center/cover no-repeat;
  z-index:-2;
  filter:brightness(.9);
}
.hero__overlay{
  position:absolute;inset:0;z-index:-1;
}
.hero__content{text-align:center;padding-top:64px;padding-bottom:64px}
.hero__logo{width:84px;margin-inline:auto;margin-bottom:16px}
.hero__title{font-size:clamp(30px,6vw,48px);letter-spacing:.5px;margin:0 0 12px;font-weight:900}
.hero__subtitle{max-width:720px;margin:8px auto 20px;color:#E2E8F0}
.badge{
  display:inline-block;
  background:#fff;
  color:var(--brand-blue);
  font-weight:800;
  padding:10px 16px;
  border-radius:10px;
  margin-bottom:8px;
}

/* ===== Sobre ===== */
.sobre{padding:64px 0;background:#fff}
.sobre__intro{color:var(--muted);max-width:860px;margin:0 auto 28px;text-align:center}
.cards{display:grid;gap:18px}
.cards--columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{
  background:#fff;
  border:1px solid #E2E8F0;
  border-radius:12px;
  padding:22px 24px;
  box-shadow:0 4px 12px rgba(2,6,23,.05);
}
.card__title{margin:0 0 10px;color:var(--brand-blue);font-size:20px}
.card__list{margin:0;padding-left:18px;color:var(--muted)}
.card__list li{margin:6px 0}

/* ===== Benefícios ===== */
.beneficios{padding:72px 0;background:linear-gradient(0deg,#0B3561,#0C3C6E)}
.beneficios .section__title{color:#fff}
.features{
  display:grid;gap:18px;margin-top:18px;margin-bottom:26px;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.feature{
  background:#0E447E;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:18px;
  color:#fff;
  min-height:140px;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
}
.feature__icon{font-size:24px;margin-bottom:6px}
.feature__title{margin:0 0 6px}
.feature__text{margin:0;color:#DAE3F0}

/* ===== CTA / Counter ===== */
.cta{
  padding:80px 0;background:linear-gradient(180deg,#0C3C6E,#082849);
  color:#fff;text-align:center;
}
.counter{
  display:flex;gap:14px;justify-content:center;align-items:center;
  margin:18px 0 28px;
}
.counter__item{
  width:78px;height:78px;border-radius:12px;
  background:#fff;color:var(--brand-blue);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 8px 20px rgba(255,255,255,.1);
}
.counter__item span{font-weight:900;font-size:26px;line-height:1}
.counter__item small{font-size:12px;margin-top:4px;color:var(--brand-blue-700)}
.badge--light{background:#fff;color:var(--brand-blue);}

/* ===== Footer ===== */
.footer{padding:28px 0;background:#041A32;color:#B6C2CF}
.footer__grid{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.footer__brand{display:flex;align-items:center;gap:12px}
.footer__logo{width:40px}

/* ===== Responsive ===== */
@media (max-width:920px){
  .features{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards--columns-2{grid-template-columns:1fr}
  .break{display:inline}
}
@media (max-width:560px){
  .hero{min-height:78vh}
  .counter__item{width:70px;height:70px}
  .hero__logo{width:72px}
}
