/* =====================================================================
   Pug IT Solution — feature blocks: steps, stats, FAQ, call to action
   ===================================================================== */

/* Steps */
.step {
  display: flex;
  flex-direction: column;
  gap: 13px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.step--active { border-top: 2px solid transparent; border-image: var(--grad-accent) 1; }
.step__num {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
}
.step__title { font-family: var(--font-display); font-size: 22px; font-weight: 700; letter-spacing: -0.02em; }
.step__body { font-size: 15px; line-height: 1.62; color: var(--text-dim); }

/* Stats */
.stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 26px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(201, 162, 39, 0.035);
}
.stat__value {
  font-family: var(--font-display);
  font-size: clamp(34px, 3.4vw, 46px);
  font-weight: 700;
  letter-spacing: -0.03em;
  background: var(--grad-accent);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.stat__label {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.stat__value--sm { font-size: 30px; }

/* FAQ */
.faq {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(201, 162, 39, 0.03);
  overflow: hidden;
}
.faq + .faq { margin-top: 12px; }
.faq summary {
  padding: 20px 24px;
  cursor: pointer;
  font-size: 17px;
  font-weight: 600;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: color 0.2s ease;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: '+';
  font-family: var(--font-mono);
  font-size: 22px;
  color: var(--gold);
  transition: transform 0.25s ease;
}
.faq[open] summary::after { transform: rotate(45deg); }
.faq summary:hover { color: var(--gold-bright); }
/* The summary fills the clipped panel, so the focus ring is drawn inwards */
.faq summary:focus-visible { outline-offset: -3px; }
.faq p {
  padding: 0 24px 22px;
  font-size: 15.5px;
  line-height: 1.68;
  color: var(--text-dim);
}

/* Call to action band */
.cta {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid var(--line-strong);
  background:
    radial-gradient(620px 320px at 82% 18%, rgba(201, 162, 39, 0.22), transparent 70%),
    radial-gradient(520px 320px at 8% 88%, rgba(195, 203, 214, 0.08), transparent 68%),
    linear-gradient(180deg, rgba(24, 24, 31, 0.92), rgba(6, 6, 9, 0.96));
  padding: clamp(32px, 4.4vw, 64px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(24px, 4vw, 48px);
  flex-wrap: wrap;
}
/* The same band nested inside a panel, where the outer radius is smaller */
.cta--inset { border-radius: var(--radius-lg); }


/* ---------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------ */
@media (max-width: 900px) {
  .cta { flex-direction: column; align-items: flex-start; }
}
