/* ==========================================================================
   JIST — FINAL CALL TO ACTION
   Dark full-bleed panel over a faint blueprint grid.
   ========================================================================== */

.jist-cta {
  position: relative;
  overflow: hidden;
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--line-strong);
  padding-block: var(--wp--custom--section-space);
  padding-inline: var(--wp--custom--gutter);
}

.jist-cta__inner { z-index: 1; }

/* --------------------------------------------------------------------------
   Headline + buttons
   -------------------------------------------------------------------------- */
.jist-cta__top {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--wp--custom--grid-gap);
  align-items: end;
  padding-block-end: var(--wp--preset--spacing--90);
}

.jist-cta__title {
  margin: 0;
  font-family: var(--wp--preset--font-family--heading);
  font-size: var(--wp--preset--font-size--htwo);
  font-weight: 700;
  line-height: var(--wp--custom--leading-snug);
  letter-spacing: var(--wp--custom--tracking-display);
  color: var(--wp--preset--color--base);
  max-inline-size: 18ch;
  text-wrap: balance;
}

.jist-cta__lead {
  margin: var(--wp--preset--spacing--40) 0 0;
  font-size: var(--wp--preset--font-size--lead);
  color: var(--wp--preset--color--line-strong);
  line-height: var(--wp--custom--leading-relaxed);
  max-inline-size: 48ch;
}

.jist-cta__actions {
  display: grid;
  gap: var(--wp--preset--spacing--40);
  justify-items: stretch;
}

/* --------------------------------------------------------------------------
   Contact details
   -------------------------------------------------------------------------- */
.jist-cta__details {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  border-block-start: var(--wp--custom--hairline) solid var(--wp--custom--alpha-white-light);
}

.jist-cta__detail {
  display: grid;
  gap: var(--wp--preset--spacing--20);
  align-content: start;
  padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--60) 0;
  border-inline-start: var(--wp--custom--hairline) solid var(--wp--custom--alpha-white-light);
}

.jist-cta__detail:first-child {
  border-inline-start: 0;
  padding-inline-start: 0;
}

.jist-cta__details dd { margin: 0; }

.jist-cta__detail-key {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 0.6875rem;
  letter-spacing: var(--wp--custom--tracking-label);
  text-transform: uppercase;
  color: var(--wp--preset--color--accent-lit);
}

.jist-cta__detail-value {
  display: inline-block;
  font-family: var(--wp--preset--font-family--heading);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 600;
  color: var(--wp--preset--color--base);
  line-height: var(--wp--custom--leading-normal);
  text-decoration: none;
  overflow-wrap: anywhere;
}

a.jist-cta__detail-value:hover { color: var(--wp--preset--color--accent-lit); }

.jist-cta__detail-note {
  font-size: var(--wp--preset--font-size--xs);
  color: var(--wp--preset--color--faint);
  line-height: var(--wp--custom--leading-normal);
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .jist-cta__top {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--wp--preset--spacing--70);
    align-items: start;
  }

  .jist-cta__actions { justify-items: start; }
  .jist-cta__actions .jist-btn { inline-size: auto; }

  .jist-cta__details { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .jist-cta__detail:nth-child(odd) {
    border-inline-start: 0;
    padding-inline-start: 0;
  }
}

@media (max-width: 480px) {
  .jist-cta__details { grid-template-columns: minmax(0, 1fr); }

  .jist-cta__detail {
    border-inline-start: 0;
    padding-inline: 0;
  }

  .jist-cta__actions { justify-items: stretch; }
  .jist-cta__actions .jist-btn { inline-size: 100%; }
}
