/* Layout moderno baseado na identidade do logo (azul + rosa) */
:root{
  --blue:#1f6bd6;
  --pink:#e53a7a;
  --ink:#0b1020;
  --text:#1f2937;
  --muted:#5b6475;
  --border:#e6eaf2;
  --shadow: 0 16px 45px rgba(10, 18, 40, .14);
  --shadow2: 0 10px 25px rgba(10, 18, 40, .10);
  --radius:18px;
  --radius2:26px;
  --container: 1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 12% 0%, rgba(229,58,122,.14), transparent 58%),
    radial-gradient(1200px 700px at 88% 10%, rgba(31,107,214,.18), transparent 58%),
    linear-gradient(180deg, #ffffff, #fbfcff 45%, #ffffff);
}
img{max-width:100%; display:block}
.container{ width:min(var(--container), calc(100% - 40px)); margin-inline:auto; }

.topbar{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(14px);
  border-bottom:1px solid rgba(230,234,242,.8);
}
.topbar__inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; }
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; }
.brand__logo{ width:44px;height:44px; border-radius:14px; object-fit:cover; box-shadow: 0 10px 25px rgba(10,18,40,.12); }
.brand__name{ font-weight:900; letter-spacing:.2px; }
.brand__tag{ font-size:12px; color:var(--muted); font-weight:750; }
.topbar__actions{ display:flex; align-items:center; gap:10px; }
@media (max-width: 960px){ .topbar__actions .link.soft{ display:none; } }

.link{ color:var(--blue); text-decoration:none; font-weight:800; }
.link.soft{ color: var(--muted); font-weight:750; }
.link:hover{ text-decoration:underline; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:10px 14px; border-radius:999px;
  border:1px solid transparent; cursor:pointer;
  text-decoration:none; font-weight:900;
  transition: transform .06s ease, box-shadow .25s ease, background .2s ease, border-color .2s ease;
}
.btn:active{ transform: translateY(1px); }
.btn--primary{ background: linear-gradient(135deg, var(--pink), var(--blue)); color:white; box-shadow: 0 14px 35px rgba(31,107,214,.20); }
.btn--primary:hover{ box-shadow: 0 18px 45px rgba(31,107,214,.26); }
.btn--ghost{ background: rgba(255,255,255,.55); border-color: rgba(230,234,242,.95); color: var(--text); }
.btn--ghost:hover{ background: rgba(255,255,255,.75); }
.btn--lg{ padding:14px 18px; font-size:16px; }
.w100{ width:100%; }

.hero{ position:relative; padding:60px 0 0; overflow:hidden; }
.heroBg{
  position:absolute; inset:-80px -40px auto -40px; height: 520px;
  background:
    radial-gradient(560px 360px at 18% 30%, rgba(229,58,122,.28), transparent 60%),
    radial-gradient(560px 360px at 78% 30%, rgba(31,107,214,.30), transparent 60%),
    linear-gradient(135deg, rgba(11,19,99,.06), rgba(255,255,255,0));
  pointer-events:none;
}
.grid2{ display:grid; grid-template-columns: 1.15fr .85fr; gap:26px; align-items:start; }
@media (max-width: 960px){ .grid2{ grid-template-columns: 1fr; } }

.pill{
  display:inline-flex; padding:8px 12px; border:1px solid rgba(230,234,242,.9); border-radius:999px;
  background: rgba(255,255,255,.60); color: var(--muted); font-weight:850; margin-bottom:14px;
}
h1{ font-size: clamp(30px, 3.2vw, 50px); line-height:1.06; margin:0 0 14px; letter-spacing:-.6px; color: var(--ink); }
.lead{ font-size: 18px; line-height:1.55; color: var(--muted); margin:0 0 18px; }
.ctaRow{ display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 10px; }
.trust{ margin-top:18px; display:flex; gap:14px; flex-wrap:wrap; }
.trust__item{ display:flex; align-items:center; gap:8px; font-weight:850; }
.trust__dot{ width:10px;height:10px;border-radius:50%; background: linear-gradient(135deg, var(--pink), var(--blue)); box-shadow: 0 10px 20px rgba(229,58,122,.22); }
.note{ margin-top:16px; padding:12px 14px; border:1px solid rgba(230,234,242,.9); border-radius: var(--radius); background: rgba(255,255,255,.65); color: var(--muted); font-weight:750; }

.heroCard{ border:1px solid rgba(230,234,242,.9); border-radius: var(--radius2); background: rgba(255,255,255,.70); overflow:hidden; box-shadow: var(--shadow); }
.heroCard__img{ position:relative; }
.heroCard__img img{ width:100%; height: 300px; object-fit: cover; }
.heroCard__badge{
  position:absolute; left:14px; bottom:14px;
  background: rgba(11,19,99,.72); color:white; padding:8px 10px; border-radius:999px;
  font-weight:900; font-size: 12px; border:1px solid rgba(255,255,255,.18); backdrop-filter: blur(10px);
}
.heroCard__body{ padding:18px; }
.heroCard__body h3{ margin:0 0 8px; color: var(--ink); }
.heroCard__body p{ margin:0 0 14px; color: var(--muted); line-height:1.5; }
.heroCard__actions{ display:grid; gap:10px; }

.heroStrip{
  margin-top:26px; display:grid; grid-template-columns: repeat(3, 1fr); gap:12px;
  padding:16px; border-radius: var(--radius2); border:1px solid rgba(230,234,242,.9);
  background: rgba(255,255,255,.60); box-shadow: var(--shadow2);
}
@media (max-width: 960px){ .heroStrip{ grid-template-columns: 1fr; } }
.stripItem{ display:flex; gap:12px; align-items:flex-start; }
.stripIcon{
  width:40px;height:40px; border-radius: 16px; display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(229,58,122,.20), rgba(31,107,214,.18));
  border:1px solid rgba(230,234,242,.9); font-weight:900; color: var(--ink);
}
.stripTitle{ font-weight:900; }
.stripText{ color: var(--muted); line-height:1.5; font-weight:700; }

.section{ padding:62px 0; }
.section--alt{
  background:
    radial-gradient(900px 500px at 12% 0%, rgba(229,58,122,.10), transparent 60%),
    radial-gradient(900px 500px at 88% 20%, rgba(31,107,214,.10), transparent 60%),
    rgba(244,247,255,.72);
  border-top: 1px solid rgba(230,234,242,.7);
  border-bottom: 1px solid rgba(230,234,242,.7);
}
.sectionHead{ margin-bottom:18px; }
.sectionHead h2{ margin:0 0 10px; font-size: clamp(24px, 2.2vw, 34px); letter-spacing:-.3px; color: var(--ink); }
.sectionHead p{ margin:0; color: var(--muted); max-width: 66ch; line-height:1.6; font-weight:700; }

.cards{ display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; margin-top:18px; }
@media (max-width: 960px){ .cards{ grid-template-columns: 1fr; } }
.card{ background: rgba(255,255,255,.78); border:1px solid rgba(230,234,242,.9); border-radius: var(--radius2); padding:18px; box-shadow: var(--shadow2); }
.card h3{ margin:0 0 8px; color: var(--ink); }
.card p{ margin:0; color: var(--muted); line-height:1.55; font-weight:700; }

.steps{ display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; margin-top:18px; }
@media (max-width: 960px){ .steps{ grid-template-columns: 1fr; } }
.step{ background: rgba(255,255,255,.82); border:1px solid rgba(230,234,242,.9); border-radius: var(--radius2); padding:18px; box-shadow: var(--shadow2); }
.step__icon{ width:44px;height:44px; border-radius: 18px; display:grid; place-items:center; font-weight:1000; color:white; background: linear-gradient(135deg, var(--blue), var(--pink)); margin-bottom:10px; box-shadow: 0 18px 35px rgba(31,107,214,.20); }

.highlights{ display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; margin-top:18px; }
@media (max-width: 960px){ .highlights{ grid-template-columns: 1fr; } }
.highlight{ padding:14px 16px; border-radius: var(--radius2); border:1px solid rgba(230,234,242,.9); background: rgba(255,255,255,.78); font-weight:900; box-shadow: var(--shadow2); }

.faq{ display:grid; gap:10px; margin-top:18px; }
details{ border:1px solid rgba(230,234,242,.9); border-radius: var(--radius2); background: rgba(255,255,255,.80); padding:14px 16px; box-shadow: var(--shadow2); }
summary{ cursor:pointer; font-weight:950; color: var(--ink); }
details p{ margin:10px 0 0; color: var(--muted); line-height:1.6; font-weight:700; }

.slider{ margin-top:18px; display:flex; gap:12px; overflow:auto; padding-bottom:8px; scroll-snap-type: x mandatory; }
.slide{ min-width: 320px; flex: 0 0 auto; scroll-snap-align: start; border-radius: var(--radius2); overflow:hidden; border:1px solid rgba(230,234,242,.9); box-shadow: var(--shadow2); background: rgba(255,255,255,.8); }
.slide img{ width:100%; height:220px; object-fit:cover; }
.sliderHint{ margin-top:10px; color: var(--muted); font-weight:750; }

.infoCards{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-top:14px; }
@media (max-width: 960px){ .infoCards{ grid-template-columns: 1fr; } }
.infoCard{ border:1px solid rgba(230,234,242,.9); border-radius: var(--radius2); background: rgba(255,255,255,.80); padding:14px 16px; box-shadow: var(--shadow2); }
.infoCard__title{ font-weight:950; color: var(--ink); margin-bottom:6px; }
.infoCard__text{ color: var(--muted); line-height:1.5; margin-bottom:8px; font-weight:700; }
.smallNote{ margin-top:14px; color: var(--muted); line-height:1.6; font-weight:700; }

.formCard{ border:1px solid rgba(230,234,242,.9); border-radius: var(--radius2); background: rgba(255,255,255,.88); padding:18px; box-shadow: var(--shadow); }
.form{ display:grid; gap:12px; }
label{ display:grid; gap:6px; font-weight:900; color: var(--ink); }
input, textarea{ width:100%; padding:12px 12px; border-radius:16px; border:1px solid rgba(230,234,242,.9); outline:none; font:inherit; background: rgba(255,255,255,.96); }
input:focus, textarea:focus{ border-color: rgba(31,107,214,.55); box-shadow: 0 0 0 4px rgba(31,107,214,.12); }
.formHint{ margin:0; color: var(--muted); font-size: 13px; line-height:1.5; font-weight:700; }
.formStatus{ font-weight:900; margin-top:4px; }

.waFloat{
  position:fixed; right:16px; bottom:16px; z-index:60;
  display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:999px;
  background: linear-gradient(135deg, #25D366, #128C7E);
  color:white; text-decoration:none; font-weight:950;
  box-shadow: 0 16px 45px rgba(18, 140, 126, .25);
}
.waFloat__dot{ width:10px;height:10px;border-radius:50%; background: rgba(255,255,255,.95); }

.footer{
  padding:26px 0;
  border-top:1px solid rgba(230,234,242,.9);
  background:
    radial-gradient(900px 350px at 15% 0%, rgba(229,58,122,.12), transparent 60%),
    radial-gradient(900px 350px at 85% 20%, rgba(31,107,214,.14), transparent 60%),
    rgba(255,255,255,.78);
}
.footer__inner{ display:flex; justify-content:space-between; gap:14px; align-items:center; flex-wrap:wrap; }
.footer__left{ display:flex; gap:12px; align-items:center; }
.footer__logo{ width:40px;height:40px;border-radius:14px; object-fit:cover; }
.footer__meta{ color: var(--text); font-weight:750; }

/* Rolo de fotos (Hero) */
.heroCarousel{
  display:flex;
  overflow:auto;
  scroll-snap-type:x mandatory;
}
.heroCarousel img{
  flex:0 0 100%;
  width:100%;
  height:300px;
  object-fit:cover;
  scroll-snap-align:start;
}
.heroCarousel::-webkit-scrollbar{ height:8px; }
.heroCarousel::-webkit-scrollbar-thumb{
  background: rgba(11,16,32,.18);
  border-radius:999px;
}

/* Fade effect carousel */
.heroCarousel{
  position: relative;
}
.heroCarousel img{
  position:absolute;
  inset:0;
  opacity:0;
  transition: opacity 1s ease-in-out;
}
.heroCarousel img.active{
  opacity:1;
  position:relative;
}

/* Fade ainda mais suave no celular */
@media (max-width: 768px){
  .heroCarousel img{
    transition: opacity 1.8s ease-in-out;
  }
}
