:root{
  --bg:#050816;
  --bg-soft:#0b1020;
  --bg-light:#f4f5f9;
  --accent-start:#22d3ee;
  --accent-end:#2563eb;
  --accent:#2563eb;
  --text:#0f172a;
  --text-light:#e5e7eb;
  --muted:#9ca3af;
  --card-bg:#ffffff;
  --card-border:rgba(15,23,42,.06);
  --radius-lg:18px;
  --shadow-soft:0 18px 45px rgba(15,23,42,.32);
  --shadow-card:0 10px 30px rgba(15,23,42,.12);
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

a{
  color:var(--accent);
  text-decoration:none;
}

a:hover{
  text-decoration:underline;
}

.container{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  padding:0 1.5rem;
}

/* NAVBAR */

.navbar{
  position:sticky;
  top:0;
  z-index:40;
  background:linear-gradient(to right,rgba(5,8,22,.96),rgba(5,8,22,.96));
  border-bottom:1px solid rgba(148,163,184,.25);
  backdrop-filter:blur(18px);
}

.navbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.85rem 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:.6rem;
}

.brand-logo{
  display:block;
  height:32px;   /* ajuste fino se quiser maior/menor */
  width:auto;
}

.brand-mark{
  width:32px;
  height:32px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--accent-start),var(--accent-end));
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0b1120;
  font-weight:800;
  font-size:1.05rem;
}

.brand-text{
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.88rem;
  color:#e5e7eb;
}

.nav-links{
  display:flex;
  gap:1.25rem;
  align-items:center;
}

.nav-links a{
  font-size:.9rem;
  color:#cbd5f5;
  font-weight:500;
}

.nav-links a:hover{
  color:#ffffff;
}

.nav-cta{
  padding:.45rem .9rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--accent-start),var(--accent-end));
  color:#0b1120;
  font-weight:600;
  box-shadow:0 8px 25px rgba(37,99,235,.45);
}

/* HERO */

.hero{
  position:relative;
  overflow:hidden;
  padding:5.5rem 0 4.5rem;
  background:
    radial-gradient(900px 600px at 0% 0%, rgba(34,211,238,.28), transparent),
    radial-gradient(1100px 700px at 100% 0%, rgba(37,99,235,.35), transparent),
    radial-gradient(1200px 600px at 50% 120%, rgba(15,23,42,1), rgba(5,8,22,1));
  color:var(--text-light);
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1.1fr);
  gap:2.75rem;
  align-items:center;
}

.hero-kicker{
  font-size:.85rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#a5b4fc;
  margin:0 0 .75rem;
}

.hero-title{
  font-size:clamp(2.1rem,3.2vw,3.1rem);
  line-height:1.1;
  margin:0 0 1rem;
  font-weight:800;
}

.hero-sub{
  margin:0 0 1.75rem;
  max-width:34rem;
  color:#cbd5f5;
  font-size:.98rem;
}

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

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  font-size:.9rem;
  padding:.75rem 1.4rem;
  border-radius:999px;
  border:1px solid transparent;
  cursor:pointer;
  font-weight:600;
  text-decoration:none;
}

.btn-primary{
  background:linear-gradient(135deg,var(--accent-start),var(--accent-end));
  color:#0b1120;
  box-shadow:0 14px 35px rgba(37,99,235,.55);
}

.btn-ghost{
  background:transparent;
  border-color:rgba(148,163,184,.5);
  color:#e5e7eb;
}

.btn-full{
  width:100%;
}

.hero-panel{
  position:relative;
}

.hero-card{
  background:rgba(15,23,42,.92);
  border-radius:var(--radius-lg);
  padding:1.5rem 1.5rem 1.75rem;
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(148,163,184,.35);
  backdrop-filter:blur(18px);
}

.hero-card-title{
  margin:0 0 1rem;
  font-size:1.05rem;
  color:#e5e7eb;
}

.hero-form{
  display:flex;
  flex-direction:column;
  gap:.75rem;
}

.hero-form label span{
  display:block;
  font-size:.78rem;
  color:#9ca3af;
  margin-bottom:.15rem;
}

.hero-form input,
.hero-form textarea{
  width:100%;
  border-radius:.7rem;
  border:1px solid rgba(148,163,184,.55);
  background:rgba(15,23,42,.85);
  color:#e5e7eb;
  padding:.6rem .8rem;
  font-size:.9rem;
}

.hero-form textarea{
  resize:vertical;
  min-height:70px;
}

.hero-form input::placeholder,
.hero-form textarea::placeholder{
  color:#6b7280;
}

.helper-text{
  margin:.85rem 0 0;
  font-size:.78rem;
  color:#9ca3af;
}

/* SECTIONS */

.section{
  padding:4.5rem 0;
}

.section-light{
  background:var(--bg-light);
  color:var(--text);
}

.section-dark{
  background:var(--bg-soft);
  color:var(--text-light);
}

.section-title{
  font-size:1.8rem;
  margin:0 0 .6rem;
  text-align:center;
}

.section-sub{
  max-width:40rem;
  margin:0 auto 2.5rem;
  text-align:center;
  color:var(--muted);
  font-size:.97rem;
}

.section-sub-light{
  color:#cbd5f5;
}

/* CARDS */

.cards-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1.75rem;
}

.card{
  background:var(--card-bg);
  border-radius:1.1rem;
  padding:1.5rem 1.6rem 1.65rem;
  box-shadow:var(--shadow-card);
  border:1px solid var(--card-border);
}

.card h3{
  margin:0 0 .65rem;
  font-size:1.12rem;
}

.card p{
  margin:0 0 .75rem;
  font-size:.94rem;
  color:#4b5563;
}

.card-link{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  font-size:.86rem;
  font-weight:600;
}

/* SPLIT GRID */

.split-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr);
  gap:2.5rem;
  align-items:flex-start;
}

.body-text{
  margin:0;
  color:#e5e7eb;
  font-size:.96rem;
}

.pillars{
  display:grid;
  gap:1.1rem;
}

.mini-card{
  background:rgba(15,23,42,.96);
  border-radius:1rem;
  padding:1rem 1.1rem 1.1rem;
  border:1px solid rgba(148,163,184,.4);
}

.mini-card h3{
  margin:0 0 .45rem;
  font-size:1rem;
  color:#e5e7eb;
}

.mini-card p{
  margin:0;
  font-size:.88rem;
  color:#cbd5f5;
}

/* FORM CONTACT */

.form-card{
  max-width:430px;
  margin-left:auto;
}

.form{
  display:flex;
  flex-direction:column;
  gap:.85rem;
}

.form label span{
  display:block;
  font-size:.8rem;
  margin-bottom:.2rem;
  color:#4b5563;
}

.form input,
.form textarea{
  width:100%;
  border-radius:.7rem;
  border:1px solid #d1d5db;
  padding:.65rem .85rem;
  font-size:.92rem;
  font-family:inherit;
}

.form textarea{
  resize:vertical;
  min-height:90px;
}

.contact-block h3{
  margin:.2rem 0 .6rem;
}

.contact-block p{
  margin:.1rem 0;
  font-size:.92rem;
}

/* ================================
   CONTATO - ÍCONES DE REDES SOCIAIS
   ================================ */

.contact-socials {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.social-circle {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);
  transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

/* Cores específicas por rede */
.social-fb {
  background: #1877f2;
}

.social-ln {
  background: #0a66c2;
}

.social-ig {
  /*background: radial-gradient(circle at 30% 30%, #fdf497 0, #fd5949 40%, #d6249f 70%, #285aeb 100%);*/
  background: #d6249f;
}

.social-circle:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.45);
  opacity: 0.95;
}

/* WhatsApp */
.social-wa{
  background:#25D366;      /* verde clássico do WhatsApp */
}

/* E-mail */
.social-mail{
  background:#0EA5E9;      /* azul/ciano para diferenciar do FB/LI */
}

.social-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  box-shadow: 0 10px 20px rgba(0,0,0,0.25);
  font-size: 14px;
}


/* FOOTER */

.footer{
  background:#020617;
  color:#e5e7eb;
  padding:2.2rem 0;
  font-size:.88rem;
}

.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.1fr);
  gap:2rem;
  align-items:flex-start;
}

.footer-logo{
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.86rem;
}

.footer-text{
  margin:.4rem 0 0;
  color:#9ca3af;
  max-width:19rem;
}

.footer-links h4{
  margin:0 0 .4rem;
  font-size:.92rem;
}

.footer-links a{
  display:block;
  color:#cbd5f5;
  margin:.1rem 0;
  font-size:.86rem;
}

.footer-copy p{
  margin:.1rem 0;
  color:#9ca3af;
}

/* RESPONSIVE */

@media (max-width: 880px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .hero-panel{
    order:-1;
  }
  .split-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .navbar-inner{
    flex-wrap:wrap;
    gap:.75rem;
  }
}

@media (max-width: 640px){
  .nav-links{
    display:none;
  }
  .hero{
    padding:4.2rem 0 3.2rem;
  }
  .section{
    padding:3.3rem 0;
  }
  .footer-grid{
    grid-template-columns:minmax(0,1fr);
  }
}
