/* ============================================================
   Sections — .sec variants · sec-head · sec-mesh decorations
============================================================ */

/* ============================================================
   SECTION LAYOUT
============================================================ */
    .sec {
      padding: var(--sec-py) 0;
      position: relative;
    }

.sec-alt {
      background: linear-gradient(180deg, #F8FAFF 0%, var(--gray-50) 100%);
    }

.sec-white {
      background:
        radial-gradient(ellipse 70% 50% at 100% 0%, rgba(37, 99, 235, 0.05) 0%, transparent 60%),
        radial-gradient(ellipse 60% 60% at 0% 100%, rgba(8, 145, 178, 0.04) 0%, transparent 60%),
        #fff;
    }

.sec-soft {
      background: linear-gradient(180deg, #F0F7FF 0%, #FAFCFF 100%);
    }

.sec-cyan {
      background: linear-gradient(180deg, #ECFEFF 0%, #F8FAFF 100%);
    }

/* Atmospheric blob — opt-in for any section via .sec-mesh */
    .sec-mesh::before,
    .sec-mesh::after {
      content: '';
      position: absolute;
      border-radius: 50%;
      filter: blur(80px);
      pointer-events: none;
      z-index: 0;
    }

.sec-mesh::before {
      width: 360px;
      height: 360px;
      top: -100px;
      right: -100px;
      background: rgba(37, 99, 235, 0.08);
    }

.sec-mesh::after {
      width: 280px;
      height: 280px;
      bottom: -80px;
      left: -80px;
      background: rgba(8, 145, 178, 0.07);
    }

.sec-mesh > .container {
      position: relative;
      z-index: 1;
    }

.sec-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      margin-bottom: 32px;
      gap: 32px;
    }

.sec-head-center {
      text-align: center;
      margin-bottom: 36px;
    }

.sec-head-center .sec-sub {
      margin: 0 auto
    }

/* Padding shorthand — same as .sec rhythm */
.sec-pad {
  padding: var(--sec-py) 0;
}

/* ============================================================
   CTA BAND — full-width gradient call-to-action strip
============================================================ */
.cta-band {
  background: linear-gradient(100deg, var(--blue) 0%, var(--cyan) 100%);
  position: relative;
  overflow: hidden;
  padding: var(--sec-py) 0;
}

.cta-band::after {
  content: '';
  position: absolute;
  right: -100px;
  top: 50%;
  transform: translateY(-50%);
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}

.cta-band-inner {
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-xl);
  flex-wrap: wrap;
}

.cta-band-text h2 {
  font-family: 'Sora', sans-serif;
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 800;
  color: #fff;
  margin: 0 0 var(--sp-sm);
  letter-spacing: -.025em;
}

.cta-band-text p {
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--fs-body);
  margin: 0;
  line-height: var(--lh-body);
  max-width: 500px;
}

.cta-band-actions {
  display: flex;
  gap: var(--sp);
  flex-shrink: 0;
  flex-wrap: wrap;
}

/* ============================================================
   SEC-PILL — section eyebrow label
============================================================ */
.sec-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-sm);
  background: var(--blue-pale);
  color: var(--blue);
  border: 1px solid var(--blue-pale2);
  border-radius: var(--r-full);
  padding: 6px var(--sp-md);
  font-family: 'Sora', sans-serif;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: var(--sp);
}

/* ============================================================
   SEC-DESC — section subtitle under sec-title
============================================================ */
.sec-desc {
  font-size: var(--fs-body);
  color: var(--gray-500);
  line-height: var(--lh-body);
  max-width: 560px;
  margin: 0;
}

@media (max-width: 768px) {
  .cta-band-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .cta-band-actions {
    width: 100%;
  }
  .cta-band-actions .btn {
    flex: 1;
    justify-content: center;
  }
}
