/* Services page — intro band, boarding-pass grid, closing CTA.
   .boarding-pass / .boarding-row styling itself lives in css/base.css —
   only layout/positioning for this page is defined here. */

/* ---- Intro band ---- */
.services-intro-band h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  max-width: 22ch;
  color: var(--parchment);
  margin-top: 0.25rem;
}

.services-intro-band__lede {
  margin-top: var(--space-md);
  font-size: 1.05rem;
  max-width: 56ch;
  color: rgba(243, 237, 224, 0.75);
}

/* ---- Boarding-pass grid ---- */
.services-grid-section {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-md);
}

.services-grid .boarding-pass {
  flex: none;
  width: 100%;
}

@media (max-width: 640px) {
  .services-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- Closing CTA ---- */
.services-cta__inner {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--space-xl);
  align-items: center;
}

.services-cta__copy h2 {
  font-size: clamp(1.9rem, 3.2vw, 2.5rem);
  color: var(--parchment);
  margin: 0.5rem 0 var(--space-md);
  max-width: 18ch;
}

.services-cta__copy p {
  color: rgba(243, 237, 224, 0.75);
  max-width: 42ch;
}

.services-cta__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
}

.services-cta__office {
  flex-basis: 100%;
  font-family: var(--font-mono);
  font-size: 0.8rem;
  letter-spacing: 0.02em;
  color: rgba(243, 237, 224, 0.55);
  margin-top: 0.25rem;
}

@media (max-width: 900px) {
  .services-cta__inner {
    grid-template-columns: 1fr;
  }
}
