/* ============================================================
   solutions.css — estilos específicos da página Soluções
   ============================================================ */

:root{
  --violet:#9d63ff;
  --violet-soft:rgba(157,99,255,.18);
  --blue-soft:rgba(33,109,255,.18);
  --cyan:#25c7ff;
  --pink:#ff58c7;
}

/* --- Hero overrides --- */
.page-hero{padding:54px 0 34px}

.hero-wrap{max-width:980px}

.page-title{
  margin:24px 0 20px;
  font-size:clamp(3.4rem, 7vw, 5.9rem);
  font-weight:500;
  letter-spacing:-.075em;
  max-width:940px;
}

.page-sub{
  max-width:840px;
  margin:0;
  font-size:1.34rem;
  line-height:1.52;
}

/* --- Sections --- */
.section{padding:24px 0}

.lead-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:24px;
  margin-top:14px;
}

/* --- Feature cards --- */
.feature-card{
  position:relative;
  border-radius:var(--radius-xl);
  padding:30px 28px 24px;
  min-height:420px;
  background:linear-gradient(180deg, rgba(8,13,24,.82), rgba(8,13,24,.95));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.feature-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 20% 10%, rgba(255,255,255,.06), transparent 26%);
}

.feature-card.blue{
  border-color:rgba(33,109,255,.9);
  box-shadow:0 0 0 1px rgba(33,109,255,.18), var(--shadow);
}

.feature-card.violet{
  border-color:rgba(157,99,255,.85);
  box-shadow:0 0 0 1px rgba(157,99,255,.16), var(--shadow);
}

.card-label{
  position:absolute;
  top:-1px;
  left:22px;
  padding:10px 16px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#fff;
}

.blue .card-label{background:linear-gradient(90deg, #225eff, #3b86ff)}
.violet .card-label{background:linear-gradient(90deg, #8b56f8, #b277ff)}

.feature-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:62px;
  height:62px;
  border-radius:16px;
  margin:18px 0;
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:-.04em;
  border:1px solid rgba(255,255,255,.08);
}

.blue .feature-number{background:linear-gradient(180deg, rgba(33,109,255,.34), rgba(33,109,255,.18));color:#cfe1ff}
.violet .feature-number{background:linear-gradient(180deg, rgba(157,99,255,.34), rgba(157,99,255,.18));color:#e7d9ff}

.feature-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:18px;
  margin-bottom:24px;
  border:1px solid rgba(255,255,255,.08);
  font-size:1.6rem;
}

.blue .feature-icon{background:linear-gradient(180deg, #206bff, #2451dd)}
.violet .feature-icon{background:linear-gradient(180deg, #a46eff, #7d4cf3)}

.feature-card h3{
  margin:0 0 14px;
  font-size:1.08rem;
  color:var(--muted-2);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.feature-card h2{
  margin:0 0 16px;
  font-size:2.35rem;
  line-height:1.04;
  letter-spacing:-.06em;
}

.feature-card p{
  margin:0;
  max-width:520px;
  color:var(--muted);
  font-size:1.28rem;
  line-height:1.52;
}

.pill-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

.pill{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  font-size:1rem;
  color:#dfe9ff;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.05);
}

.blue .pill{background:var(--blue-soft);color:#cfe1ff}
.violet .pill{background:var(--violet-soft);color:#ebddff}

/* --- Section title override (centered on this page) --- */
.section-title{
  margin:34px 0 22px;
  font-size:clamp(2rem, 4vw, 3rem);
  line-height:1.02;
  letter-spacing:-.06em;
  text-align:center;
}

/* --- Mini cards grid --- */
.mini-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:22px;
}

.mini-card{
  position:relative;
  min-height:218px;
  border-radius:24px;
  padding:28px 24px 24px;
  background:linear-gradient(180deg, rgba(10,16,29,.88), rgba(9,14,24,.96));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}

.mini-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 10%, rgba(255,255,255,.05), transparent 24%);
  pointer-events:none;
}

.mini-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}

.mini-icon{
  width:52px;
  height:52px;
  border-radius:15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.25rem;
  font-weight:700;
  border:1px solid rgba(255,255,255,.08);
  flex-shrink:0;
}

.tone-orange .mini-icon{background:rgba(255,138,42,.14);color:#ffb066}
.tone-green .mini-icon{background:rgba(51,214,159,.14);color:#84f0c7}
.tone-pink .mini-icon{background:rgba(255,88,199,.14);color:#ff9bdc}
.tone-cyan .mini-icon{background:rgba(37,199,255,.14);color:#8ee7ff}
.tone-blue .mini-icon{background:rgba(33,109,255,.14);color:#a9c8ff}
.tone-violet .mini-icon{background:rgba(157,99,255,.14);color:#d8bbff}

.mini-card h3{
  margin:2px 0 0;
  font-size:1.65rem;
  line-height:1.04;
  letter-spacing:-.05em;
}

.mini-card p{
  margin:0;
  color:var(--muted);
  font-size:1.12rem;
  line-height:1.6;
  max-width:500px;
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 980px){
  .page-sub{font-size:1.16rem}
  .lead-grid,.mini-grid{grid-template-columns:1fr}
  .feature-card{min-height:auto}
  .section-title{text-align:left}
}

@media (max-width: 640px){
  .page-hero{padding-top:34px}
  .page-title{font-size:clamp(2.6rem, 13vw, 4rem);line-height:.98}
  .page-sub{font-size:1.03rem}
  .feature-card{padding:28px 22px 22px}
  .feature-card h2{font-size:1.95rem}
  .feature-card p{font-size:1.08rem}
  .mini-card h3{font-size:1.42rem}
  .mini-card p{font-size:1rem}
}
