/* ═══════════════════════════════════════════════════════════════════════════
   SPP Site Components — consolidated from BB HTML modules
   Source of truth: config/design.yaml → site_content.marketing + site_content.lexicon

   ─── MOBILE GOTCHAS (from hard-won debugging, do not regress) ──────────────
   1. `.spp-page` MUST keep `overflow-x: hidden; max-width: 100vw;` — otherwise
      any full-bleed `calc(-50vw + 50%)` section can overflow the viewport on
      mobile (white strips on the right, cards bleeding off screen).
   2. Every `.spp-*-card` placed inside a CSS Grid MUST declare `min-width: 0`.
      Grid items default to `min-width: auto` which lets wide content force the
      cell wider than its `1fr` share — this caused scenario/result cards to
      bleed off the right on 2-col mobile layouts.
   3. Hero top padding on mobile MUST be ≥140px — Astra's sticky mobile header
      is ~120-130px tall. `.spp-hero { padding: 140px 20px 60px }` at ≤768px.
   4. 5-item horizontal grids (scenarios, pillars) MUST drop to 1-col at <600px.
      2-col with 5 cards leaves a single orphan on the last row — looks broken.
      Rule lives in the `@media (max-width: 600px)` block.
   5. Logo-strip images MUST cap both height AND width (currently 28px + 130px).
      Without max-width, wide logos (Acquia) render huge next to narrow (Alfresco).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Base / Layout ──────────────────────────────────────────────────────── */
.spp-page { color: #17343D; line-height: 1.6; padding: 0 !important; margin: 0 !important; overflow-x: hidden; max-width: 100vw; }

/* Global link styles for SPP pages */
.spp-page a { cursor: pointer; transition: color 0.15s ease, opacity 0.15s ease; }
.spp-page a:not([class]):hover,
.spp-page .spp-faq-a-static a:hover,
.spp-page .spp-ls-section-sub a:hover,
.spp-page .spp-ls-cap-card a:hover,
.spp-page .spp-ls-data-card a:hover { text-decoration: underline; opacity: 0.85; }
/* Dark-background links */
.spp-page .spp-ls-hero a:not(.spp-btn-primary):not(.spp-btn-secondary):hover,
.spp-page .spp-home-hero a:not(.spp-btn-primary):not(.spp-btn-secondary):hover { opacity: 0.8; }

/* Shared .spp-hero (about-us, outcomes, b2b-pricing-strategy) — inline links
   render teal on the dark teal hero background. Teal alone signals action. */
.spp-page .spp-hero a:not(.spp-btn-primary):not(.spp-btn-secondary) {
  color: #11dbab;
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.spp-page .spp-hero a:not(.spp-btn-primary):not(.spp-btn-secondary):hover {
  opacity: 0.8;
}
/* Buttons always show pointer */
.spp-btn-primary, .spp-btn-secondary { cursor: pointer; }
.spp-btn-primary:hover { background: #088a6a !important; color: #fff !important; }
/* Kill Astra's content wrapper padding on SPP template pages */
.spp-page .entry-content,
.spp-page .ast-container,
.spp-page #primary { padding: 0 !important; margin: 0 auto !important; max-width: none !important; }
.spp-container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.spp-section { padding: 48px 0; }

/* ── Hero ────────────────────────────────────────────────────────────────── */
.spp-hero {
  background: #0c1e21 url('https://softwarepricing.com/wp-content/uploads/2024/11/Ellipse-49-8.png') center/cover no-repeat;
  color: #fff;
  padding: 150px 40px 100px 20px;  /* design.yaml: hero_col_padding */
  text-align: center;
}
.spp-hero h1 {
  font-family: 'SUSE', sans-serif;
  font-size: 48px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin-bottom: 20px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.spp-hero-sub {
  font-family: 'SUSE', sans-serif;
  font-size: 20px;   /* marketing.hero_sub */
  font-weight: 400;
  color: rgba(255,255,255,0.7);
  max-width: 600px;
  margin: 0 auto 12px;
  line-height: 1.5;
}
.spp-hero-quiet {
  font-family: 'SUSE', sans-serif;
  font-size: 15px;   /* marketing.breadcrumb */
  color: rgba(255,255,255,0.4);
  margin-top: 24px;
  font-style: italic;
}

/* ── Metric Strip ────────────────────────────────────────────────────────── */
.spp-metric-strip {
  background: #f8faf9;
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
  padding: 24px 0;
}
.spp-metric-strip .spp-container {
  display: flex;
  align-items: center;
  justify-content: center;
}
.spp-metric-strip * {
  margin-bottom: 0;
}
.spp-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  text-align: center;
}
.spp-metric-num {
  font-family: 'SUSE', sans-serif;
  font-size: 40px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0c1e21;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.spp-metric-label {
  font-family: 'SUSE', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 8px;
}
.spp-metric-card { min-width: 0; }  /* grid-cell shrink, used as wrapper in outcomes */

/* ── Acquirer Cards ──────────────────────────────────────────────────────── */
.spp-acquirer-section { background: #fff; }
.spp-acquirer-label {
  font-family: 'SUSE', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
  text-align: center;
  margin-bottom: 40px;
}
/* Override Astra's default H2 margins inside spp-page */
.spp-page h2 {
  margin-top: 0;
  margin-bottom: 12px;
}
.spp-acquirer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.spp-acquirer-card {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 24px;
  text-align: center;
  transition: box-shadow 0.15s ease;
}
.spp-acquirer-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
.spp-acquirer-name {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;   /* marketing.section_h3 */
  font-weight: 800;
  color: #0c1e21;
  margin-bottom: 4px;
}
.spp-acquirer-amount {
  font-family: 'SUSE', sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: #11dbab;
  font-variant-numeric: tabular-nums;
  margin-bottom: 4px;
}
.spp-acquirer-client {
  font-family: 'SUSE', sans-serif;
  font-size: 12px;   /* marketing.label_upper */
  font-weight: 500;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ── Section Headers (shared) ────────────────────────────────────────────── */
.spp-section-h2,
.spp-page h2 {
  font-family: 'SUSE', sans-serif;
  font-size: 28px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 12px;
  letter-spacing: -0.01em;
  color: #0c1e21;
}
.spp-section-sub {
  font-family: 'SUSE', sans-serif;
  font-size: 17px;   /* marketing.section_sub */
  color: #64748b;
  text-align: center;
  margin-bottom: 48px;
}

/* ── Outcome Cards (featured case studies) ────────────────────────────────── */
.spp-outcome-section { background: #f8faf9; }
.spp-outcome-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.spp-outcome-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 32px 28px;
  transition: box-shadow 0.15s ease;
  display: flex;
  flex-direction: column;
}
.spp-outcome-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
.spp-outcome-company {
  font-family: 'SUSE', sans-serif;
  font-size: 13px;   /* marketing.label_meta */
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
.spp-outcome-headline {
  font-family: 'SUSE', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #0c1e21;
  line-height: 1.25;
  margin-bottom: 12px;
  letter-spacing: -0.01em;
  min-height: 50px;
}
.spp-outcome-detail {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;   /* marketing.card_body_lg */
  color: #475569;
  line-height: 1.5;
  margin-bottom: 16px;
  flex: 1;
}
.spp-outcome-link {
  font-family: 'SUSE', sans-serif;
  font-size: 15px;   /* marketing.nav_link */
  font-weight: 700;
  color: #11dbab;
  text-decoration: none;
}
.spp-outcome-link:hover { text-decoration: underline; }

/* ── Industry Depth ──────────────────────────────────────────────────────── */
.spp-industry-section { background: #fff; }
.spp-industry-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.spp-industry-card {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 20px;
}
.spp-ind-name {
  font-family: 'SUSE', sans-serif;
  font-size: 16px;   /* marketing.faq_q */
  font-weight: 700;
  color: #0c1e21;
  margin-bottom: 8px;
}
.spp-ind-stats {
  font-family: 'SUSE', sans-serif;
  font-size: 13px;   /* marketing.label_meta */
  color: #64748b;
}
.spp-ind-stats span {
  font-weight: 700;
  color: #0c1e21;
  font-variant-numeric: tabular-nums;
}
.spp-ind-bar {
  height: 3px;
  background: #e2e8f0;
  border-radius: 2px;
  margin-top: 10px;
  overflow: hidden;
}
.spp-ind-fill {
  height: 100%;
  background: #11dbab;
  border-radius: 2px;
}

/* ── Timeline ────────────────────────────────────────────────────────────── */
.spp-provenance {
  background: #0c1e21;
  color: #fff;
}
.spp-provenance h2,
.spp-provenance .spp-section-h2 { color: #fff; }
.spp-provenance p,
.spp-provenance .spp-section-sub { color: rgba(255,255,255,0.5); }
.spp-timeline {
  position: relative;
  padding-left: 92px;
  max-width: 640px;
  margin: 0 auto;
}
.spp-timeline::before {
  content: '' !important;
  display: block !important;
  position: absolute;
  left: 76px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(255,255,255,0.12);
  z-index: 1;
}
.spp-timeline-item {
  position: relative;
  margin-bottom: 32px;
  padding-left: 24px;
}
.spp-timeline-item::before {
  content: '' !important;
  display: block !important;
  position: absolute;
  left: -20px;
  top: 9px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #11dbab;
  border: 2px solid #0c1e21;
  z-index: 2;
}
.spp-timeline-year {
  position: absolute;
  left: -92px;
  top: 2px;
  font-family: 'SUSE', sans-serif;
  font-size: 18px;   /* marketing.card_body_lg */
  font-weight: 800;
  color: #11dbab;
  font-variant-numeric: tabular-nums;
  width: 52px;
  text-align: right;
}
.spp-timeline-text {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;   /* marketing.card_body_lg */
  color: rgba(255,255,255,0.8);
  line-height: 1.6;
}
.spp-timeline-text strong {
  color: #fff;
}
.spp-timeline-text a {
  color: #11dbab;
  text-decoration: none;
  word-break: normal;
  overflow-wrap: break-word;
}

/* ── Competitor Line ─────────────────────────────────────────────────────── */
.spp-competitor-line {
  background: #f8faf9;
  border-top: 1px solid #e2e8f0;
  border-bottom: 1px solid #e2e8f0;
  padding: 28px 0;
  text-align: center;
}
.spp-competitor-line p {
  font-family: 'SUSE', sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: #64748b;
  font-style: italic;
}

/* ── FAQ Accordion ───────────────────────────────────────────────────────── */
.spp-faq {
  max-width: 720px;
  margin: 0 auto;
}
.spp-faq-section { background: #fff; }
.spp-faq-item {
  border-bottom: 1px solid #e2e8f0;
  margin: 0;
  padding: 0;
}
.spp-faq-item * {
  margin-top: 0;
  margin-bottom: 0;
}
.spp-faq-toggle {
  display: none;
}
.spp-faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  font-family: 'SUSE', sans-serif !important;
  font-size: 18px !important;   /* marketing.cta_text — bumped for readability */
  font-weight: 700;
  color: #0c1e21;
  cursor: pointer;
}
.spp-faq-icon {
  font-size: 20px;
  color: #64748b;
  transition: transform 0.2s;
}
.spp-faq-toggle:checked ~ .spp-faq-q .spp-faq-icon {
  transform: rotate(45deg);
}
.spp-faq-a {
  font-family: 'SUSE', sans-serif !important;
  font-size: 16px !important;   /* marketing.faq_a */
  color: #64748b;
  line-height: 1.55;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0;
}
.spp-faq-toggle:checked ~ .spp-faq-a {
  max-height: 300px;
  padding: 0 0 20px 0;
}
.spp-faq-a a {
  color: #11dbab;
  text-decoration: none;
}
.spp-faq-a a:hover {
  text-decoration: underline;
}

/* ── CTA Section ─────────────────────────────────────────────────────────── */
.spp-cta-section {
  background: #fff;
  text-align: center;
  padding: 80px 0 112px;
}
.spp-cta-section .spp-btn-primary,
.spp-cta-section .spp-btn-secondary {
  padding: 14px 28px;
  font-size: 15px;
}
.spp-cta-section h2 {
  font-family: 'SUSE', sans-serif;
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 28px;
  color: #0c1e21;
}
.spp-cta-section p {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;   /* marketing.closing_body */
  color: #64748b;
  margin-bottom: 32px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.spp-cta-section p a {
  color: #0ec49a;
}
.spp-cta-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.spp-btn-primary {
  display: inline-block;
  padding: 16px 32px;
  background: #11dbab;
  color: #0c1e21;
  font-family: 'SUSE', sans-serif;
  font-weight: 800;
  font-size: 15px;
  border-radius: 10px;
  text-decoration: none;
  transition: background 0.15s ease;
}
.spp-btn-primary:hover { background: #088a6a; color: #fff; }
.spp-btn-secondary {
  display: inline-block;
  padding: 16px 32px;
  border: 2px solid #088a6a;
  color: #088a6a;
  font-family: 'SUSE', sans-serif;
  font-weight: 800;
  font-size: 15px;
  border-radius: 10px;
  text-decoration: none;
  background: transparent;
  transition: all 0.15s ease;
}
.spp-btn-secondary:hover { background: #088a6a; color: #fff; }

/* ── Dark section CTA variant ─────────────────────────────────────────────── */
.spp-cta-dark {
  background: #0c1e21;
  text-align: center;
  color: #fff;
}
.spp-cta-dark h2 { color: #fff; }
.spp-cta-dark p { color: rgba(255,255,255,0.5); }
.spp-cta-dark .spp-btn-secondary {
  border-color: rgba(255,255,255,0.25);
  color: #fff;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LEXICON — Hub + Term Pages
   Source: config/design.yaml → site_content.lexicon
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Lexicon shared ──────────────────────────────────────────────────────── */
.spp-lexicon-container { max-width: 960px; margin: 0 auto; padding: 0 24px; }
.spp-lexicon-narrow { max-width: 720px; margin: 0 auto; padding: 0 24px; }

/* ── Hub Header ──────────────────────────────────────────────────────────── */
.spp-lexicon-header { background: #0c1e21; padding: 56px 0 48px; }
.spp-lexicon-header h1 {
  font-family: 'SUSE', sans-serif;
  font-size: 36px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}
.spp-lexicon-subtitle {
  font-family: 'SUSE', sans-serif;
  font-size: 20px;   /* lexicon.hub_subtitle */
  color: #94a3b8;
  line-height: 1.7;
  max-width: 640px;
}
.spp-lexicon-subtitle strong { color: #11dbab; font-weight: 600; }

/* ── Filter Bar ──────────────────────────────────────────────────────────── */
.spp-filter-bar {
  padding: 16px 0;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 28px;
  margin-top: 24px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.spp-filter-btn {
  padding: 6px 14px;
  border-radius: 20px;
  border: 1px solid #e2e8f0;
  background: #fff;
  font-family: 'SUSE', sans-serif;
  font-size: 15px;   /* lexicon.filter_pill */
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  transition: all 0.15s;
}
.spp-filter-btn:hover { border-color: #11dbab; color: #0c1e21; }
.spp-filter-btn.active { background: #11dbab; color: #0c1e21; border-color: #11dbab; }
.spp-filter-count {
  font-size: 11px;
  color: #94a3b8;
  margin-left: auto;
  font-variant-numeric: tabular-nums;
}

/* ── Letter Group ────────────────────────────────────────────────────────── */
.spp-letter-group { margin-bottom: 28px; }
.spp-letter-heading {
  font-family: 'SUSE', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #11dbab;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding-bottom: 8px;
  border-bottom: 2px solid #f1f5f9;
  margin-bottom: 8px;
  margin-top: 8px;
}

/* ── Term Row (hub listing) ──────────────────────────────────────────────── */
.spp-term-row {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid #f1f5f9;
}
.spp-term-row:hover { background: #f8fafc; margin: 0 -12px; padding: 10px 12px; border-radius: 6px; }
.spp-term-name {
  font-family: 'SUSE', sans-serif;
  font-size: 20px;   /* lexicon.term_name */
  font-weight: 600;
  color: #0c1e21;
  text-decoration: none;
  min-width: 240px;
  flex-shrink: 0;
  line-height: 1.3;
}
.spp-term-name:hover { color: #11dbab; }
.spp-term-def {
  font-family: 'SUSE', sans-serif;
  font-size: 17px;   /* lexicon.term_definition */
  color: #64748b;
  flex: 1;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Badges (shared hub + term) ──────────────────────────────────────────── */
.spp-term-badges { display: flex; gap: 5px; flex-shrink: 0; flex-wrap: wrap; align-items: center; }
.spp-badge {
  font-family: 'SUSE', sans-serif;
  font-size: 9px;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  line-height: 1;
}
.spp-badge-license { background: #dbeafe; color: #1e40af; }
.spp-badge-licensing-model { background: #ede9fe; color: #5b21b6; }
.spp-badge-pricing { background: #d1fae5; color: #065f46; }
.spp-badge-packaging { background: #fef3c7; color: #92400e; }
.spp-badge-offering { background: #fce7f3; color: #9d174d; }
.spp-badge-spp { background: #0c1e21; color: #11dbab; }

/* ── Term Detail Page ────────────────────────────────────────────────────── */
.spp-breadcrumb {
  padding: 20px 0 16px;
  font-family: 'SUSE', sans-serif;
  font-size: 15px;   /* lexicon.breadcrumb */
  color: #94a3b8;
}
.spp-breadcrumb a { color: #11dbab; text-decoration: none; }
.spp-breadcrumb a:hover { text-decoration: underline; }
.spp-breadcrumb .sep { margin: 0 6px; }

.spp-term-header {
  padding: 32px 0 24px;
  border-bottom: 2px solid #11dbab;
  margin-bottom: 32px;
}
.spp-term-header h1 {
  font-family: 'SUSE', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: #0c1e21;
  margin-bottom: 12px;
}
.spp-term-definition {
  font-family: 'SUSE', sans-serif;
  font-size: 22px;   /* lexicon.term_page_definition */
  color: #0c1e21;
  font-weight: 400;
  line-height: 1.7;
}

/* ── Term Sections ───────────────────────────────────────────────────────── */
.spp-term-section { margin-bottom: 32px; }
.spp-section-heading {
  font-family: 'SUSE', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e2e8f0;
}
.spp-term-section p {
  font-family: 'SUSE', sans-serif;
  font-size: 20px;   /* lexicon.term_page_body */
  line-height: 1.8;
  color: #334155;
  margin-bottom: 12px;
}

/* ── Examples ────────────────────────────────────────────────────────────── */
.spp-example-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.spp-example-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px 18px; }
.spp-example-company {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;   /* lexicon.examples_heading */
  font-weight: 700;
  color: #0c1e21;
  margin-bottom: 6px;
}
.spp-example-detail {
  font-family: 'SUSE', sans-serif;
  font-size: 16px;   /* lexicon.examples_body */
  color: #64748b;
  line-height: 1.55;
}

/* ── Synonyms ────────────────────────────────────────────────────────────── */
.spp-synonym-list { display: flex; gap: 8px; flex-wrap: wrap; }
.spp-synonym {
  background: #f1f5f9;
  padding: 6px 12px;
  border-radius: 6px;
  font-family: 'SUSE', sans-serif;
  font-size: 16px;   /* lexicon.synonyms */
  color: #475569;
}

/* ── Related Terms ───────────────────────────────────────────────────────── */
.spp-related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.spp-related-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.15s;
}
.spp-related-link:hover { border-color: #11dbab; background: #f0fdfa; }
.spp-related-link .name { font-family: 'SUSE', sans-serif; font-size: 14px; font-weight: 600; color: #0c1e21; }
.spp-related-link .cat { font-family: 'SUSE', sans-serif; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: #94a3b8; margin-top: 2px; }
.spp-related-link .arrow { color: #11dbab; font-size: 14px; margin-left: auto; }

/* ── Why This Matters ────────────────────────────────────────────────────── */
.spp-matters-box {
  background: #f0fdfa;
  border-left: 3px solid #11dbab;
  padding: 24px 28px;
  border-radius: 0 8px 8px 0;
}
.spp-matters-box h3 {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;   /* lexicon.matters_heading */
  font-weight: 700;
  color: #0c1e21;
  margin-bottom: 8px;
}
.spp-matters-box p {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;   /* lexicon.matters_body */
  color: #334155;
  line-height: 1.7;
  margin-bottom: 8px;
}
.spp-matters-box p:last-child { margin-bottom: 0; }

/* ── Lexicon CTA ─────────────────────────────────────────────────────────── */
.spp-lexicon-cta {
  border-radius: 10px;
  padding: 24px 28px;
  margin: 40px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.spp-lexicon-cta.light { background: #f0fdfa; border: 1px solid rgba(17,219,171,0.2); }
.spp-lexicon-cta.dark { background: #0c1e21; }
.spp-lexicon-cta .spp-cta-text {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;   /* lexicon.cta_text */
  color: #0c1e21;
  font-weight: 500;
  line-height: 1.4;
}
.spp-lexicon-cta.dark .spp-cta-text { color: #94a3b8; }
.spp-lexicon-cta.dark .spp-cta-text strong { color: #fff; }

/* ── Term History ────────────────────────────────────────────────────────── */
.spp-history {
  list-style: none;
  padding: 0;
}
.spp-history li {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;   /* lexicon.history */
  color: #64748b;
  line-height: 1.7;
  padding: 6px 0;
  border-bottom: 1px solid #f1f5f9;
}
.spp-history li strong { color: #334155; }

/* ── Back Link ───────────────────────────────────────────────────────────── */
.spp-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 32px;
  margin-bottom: 48px;
  font-family: 'SUSE', sans-serif;
  font-size: 14px;
  color: #11dbab;
  text-decoration: none;
  font-weight: 600;
}
.spp-back-link:hover { text-decoration: underline; }

/* ── Lexicon Responsive ──────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .spp-term-row { flex-direction: column; gap: 4px; }
  .spp-term-name { min-width: 0; }
  .spp-example-grid, .spp-related-grid { grid-template-columns: 1fr; }
  .spp-lexicon-cta { flex-direction: column; gap: 12px; text-align: center; }
  .spp-filter-bar { gap: 6px; }
  .spp-filter-btn { font-size: 13px; padding: 4px 10px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════ */

html, body {
  overflow-x: hidden;
}

@media (max-width: 768px) {
  /* Grids → 2-col */
  .spp-metric-grid,
  .spp-acquirer-grid,
  .spp-industry-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .spp-outcome-grid {
    grid-template-columns: 1fr;
  }

  /* Hero — top padding must clear the Astra mobile sticky header (~120-130px).
     100px was too tight; H1 rendered partially behind the header on outcomes. */
  .spp-hero h1 { font-size: 28px; }
  .spp-hero { padding: 140px 20px 60px; }

  /* Metrics */
  .spp-metric-num { font-size: 28px; }

  /* Acquirer cards — tighten */
  .spp-acquirer-card { padding: 16px 12px; }
  .spp-acquirer-name { font-size: 16px; }
  .spp-acquirer-amount { font-size: 20px; }

  /* Industry cards — tighten */
  .spp-industry-card { padding: 14px; }
  .spp-ind-name { font-size: 15px; }

  /* Outcome cards */
  .spp-outcome-card { padding: 24px 20px; }

  /* Timeline → stacked flat (no vertical line) */
  .spp-timeline { padding-left: 0; }
  .spp-timeline::before { display: none; }
  .spp-timeline-year {
    position: static;
    width: auto;
    text-align: left;
    margin-bottom: 4px;
    font-size: 16px;
  }
  .spp-timeline-item {
    padding-left: 0;
    margin-bottom: 24px;
  }
  .spp-timeline-item::before { display: none; }
  .spp-timeline-text { font-size: 16px; }

  /* FAQ */
  .spp-faq { padding: 0 16px; }
  .spp-faq-q { font-size: 15px; }
  .spp-faq-a { font-size: 15px; }

  /* CTA buttons stack */
  .spp-cta-buttons { flex-direction: column; align-items: center; }
}

@media (max-width: 480px) {
  /* Grids → 1-col on phone */
  .spp-acquirer-grid,
  .spp-industry-grid {
    grid-template-columns: 1fr;
  }

  .spp-acquirer-amount { font-size: 18px; }
  .spp-metric-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Homepage — /home/
   ═══════════════════════════════════════════════════════════════════════════ */

/* Full-width breakout for sections that need edge-to-edge backgrounds */
.spp-home-full {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

/* Hero */
.spp-home-hero {
  background: #0c1e21 url('https://softwarepricing.com/wp-content/uploads/2024/11/Ellipse-49-8.png') center/cover no-repeat;
  color: #fff;
  padding: 140px 0 0;
  overflow: hidden;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
.spp-home-hero-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr minmax(0, 380px);
  align-items: end;
  gap: 32px;
}
.spp-home-hero-text { padding-bottom: 72px; }
.spp-home-hero h1 {
  font-family: 'SUSE', sans-serif;
  font-size: 44px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-bottom: 16px;
}
.spp-home-hero .spp-home-sub {
  font-family: 'SUSE', sans-serif;
  font-size: 20px;
  color: rgba(255,255,255,0.6);
  max-width: 540px;
  line-height: 1.55;
  margin-bottom: 20px;
}
.spp-home-hero .spp-home-credential {
  font-size: 15px;
  color: rgba(255,255,255,0.4);
  margin-bottom: 28px;
  max-width: 480px;
}
.spp-home-hero .spp-home-credential a {
  color: #11dbab;
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.spp-home-hero .spp-home-credential a:hover { opacity: 0.8; }
.spp-home-photo {
  position: relative;
  align-self: end;
  height: 420px;
  overflow: hidden;
  margin-right: -24px;
}
.spp-home-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 25% 10%;
  display: block;
  filter: brightness(1.1) contrast(1.05);
}
.spp-home-photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right, #0c1e21 0%, transparent 18%),
    linear-gradient(to bottom, #0c1e21 0%, transparent 8%),
    linear-gradient(to top, #0c1e21 0%, transparent 12%);
  pointer-events: none;
}

/* CTA rows — buttons use shared .spp-btn-primary / .spp-btn-secondary */
.spp-home-cta-row { display: flex; gap: 12px; flex-wrap: wrap; }
/* Dark-background secondary button override */
.spp-home-hero .spp-btn-secondary,
.spp-home-closing .spp-btn-secondary {
  border-color: rgba(255,255,255,0.4);
  color: #fff;
  background: rgba(255,255,255,0.06);
}
.spp-home-hero .spp-btn-secondary:hover,
.spp-home-closing .spp-btn-secondary:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.5);
}

/* Proof bar */
.spp-home-proof {
  background: #0c1e21;
  border-top: 1px solid rgba(255,255,255,0.15);
  padding: 28px 0 !important;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
.spp-home-proof-inner {
  max-width: 1140px; margin: 0 auto; padding: 0 24px;
}
.spp-home-proof-inner * { margin: 0 !important; padding: 0 !important; }
.spp-home-proof-grid { padding: 0 !important; }
.spp-home-proof-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 24px; text-align: center; align-items: end;
}
.spp-home-proof-num {
  font-size: 28px; font-weight: 800; color: rgba(255,255,255,0.7);
  font-variant-numeric: tabular-nums;
}
.spp-home-proof-label {
  font-size: 11px; font-weight: 600; color: rgba(255,255,255,0.4);
  text-transform: uppercase; letter-spacing: 0.06em; margin-top: 4px;
}
.spp-home-proof-anchor .spp-home-proof-num { font-size: 36px; color: #fff; }
.spp-home-proof-anchor .spp-home-proof-label { color: rgba(255,255,255,0.5); }

/* Acquirer row */
.spp-home-acquirers {
  background: #fff; border-bottom: 1px solid #e2e8f0;
  padding: 32px 0; text-align: center;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
.spp-home-acquirers-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.spp-home-acquirers p {
  font-size: 12px; font-weight: 600; color: #64748b;
  text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 16px;
}
.spp-home-acquirer-names {
  font-size: 15px; font-weight: 700; color: #17343D; letter-spacing: -0.01em;
}
.spp-home-acquirer-names span { color: #64748b; font-weight: 400; padding: 0 8px; }

/* Logo row */
.spp-home-logos {
  background: #fff; border-bottom: 1px solid #e2e8f0;
  padding: 32px 0; text-align: center;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
.spp-home-logos-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

/* Section base */
.spp-home-section {
  padding: 72px 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
.spp-home-section-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.spp-home-section h2 {
  text-align: center; font-size: 28px; font-weight: 800; margin-bottom: 8px !important;  /* spacing.2 — subtitle follows */
}
/* When no subtitle follows the H2, use full gap */
.spp-home-section h2.spp-home-h2-solo { margin-bottom: 40px !important; }  /* spacing.10 */
.spp-home-section .spp-home-section-sub {
  text-align: center; color: #64748b; font-size: 17px;
  margin-bottom: 40px; max-width: 520px; margin-left: auto; margin-right: auto;
}

/* Scenarios */
.spp-home-scenarios { background: #fff; }
.spp-home-scenario-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.spp-home-scenario-card {
  border: 1px solid #e2e8f0; border-radius: 10px; padding: 24px 20px;
  text-align: center; display: flex; flex-direction: column;
  min-width: 0;  /* allow grid cell to shrink below content width on mobile */
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.07), 0 1px 2px -1px rgb(0 0 0 / 0.07);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.spp-home-scenario-card:hover {
  box-shadow: 0 4px 12px 0 rgb(0 0 0 / 0.10), 0 2px 4px -2px rgb(0 0 0 / 0.06);
  transform: translateY(-2px);
}
.spp-home-scenario-card h3 {
  font-size: 18px; font-weight: 700; margin-bottom: 6px;
  min-height: 44px; display: flex; align-items: center; justify-content: center;
}
.spp-home-scenario-card p { font-size: 17px; color: #64748b; }

/* Results */
.spp-home-results { background: #f8faf9; }
.spp-home-result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.spp-home-result-card {
  background: #fff; border: 1px solid #e2e8f0; border-radius: 10px;
  padding: 28px; display: flex; flex-direction: column;
  min-width: 0;  /* allow grid cell to shrink below content width on mobile */
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.07), 0 1px 2px -1px rgb(0 0 0 / 0.07);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.spp-home-result-card:hover {
  box-shadow: 0 4px 12px 0 rgb(0 0 0 / 0.10), 0 2px 4px -2px rgb(0 0 0 / 0.06);
  transform: translateY(-2px);
}
.spp-home-result-card .spp-home-company {
  font-size: 12px; font-weight: 700; color: #64748b;
  text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 8px;
}
.spp-home-result-card .spp-home-outcome {
  font-size: 22px; font-weight: 800; color: #0c1e21;
  margin-bottom: 8px; letter-spacing: -0.01em; min-height: 56px;
}
.spp-home-result-card p { font-size: 18px; color: #475569; flex-grow: 1; }
.spp-home-case-link {
  font-size: 14px; font-weight: 700; color: #0edbab;
  text-decoration: none; margin-top: 16px; display: inline-block;
}
.spp-home-case-link:hover { text-decoration: underline; }

/* Credential */
.spp-home-credential-block {
  display: flex; gap: 24px; align-items: start;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 10px;
  padding: 32px; max-width: 720px; margin: 0 auto;
}
.spp-home-credential-avatar {
  width: 64px; height: 64px; background: #0c1e21; border-radius: 8px;
  flex-shrink: 0; display: flex; align-items: center; justify-content: center;
}
.spp-home-credential-name { font-size: 18px; font-weight: 800; margin-bottom: 2px; }
.spp-home-credential-title { font-size: 14px; color: #64748b; margin-bottom: 10px; }
.spp-home-credential-text { font-size: 18px; color: #475569; line-height: 1.55; }

/* Hub pillars */
.spp-home-pillars {
  background: #0c1e21; padding: 64px 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
.spp-home-pillars-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.spp-home-pillars h2 { color: #fff; text-align: center; font-size: 28px; font-weight: 800; margin-bottom: 8px; }
.spp-home-pillars .spp-home-section-sub { color: rgba(255,255,255,0.4); text-align: center; font-size: 17px; margin-bottom: 36px; }
.spp-home-pillar-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.spp-home-pillar-card {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px; padding: 24px 20px; text-decoration: none;
  transition: background 0.15s; display: flex; flex-direction: column;
  min-width: 0;  /* allow grid cell to shrink below content width on mobile */
}
.spp-home-pillar-card:hover { background: rgba(255,255,255,0.1); }
.spp-home-pillar-title { color: #fff; font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.spp-home-pillar-desc { color: rgba(255,255,255,0.5); font-size: 17px; flex-grow: 1; }
.spp-home-arrow { color: #11dbab; font-size: 14px; font-weight: 700; margin-top: 12px; display: block; text-decoration: none; }
.spp-home-arrow:hover { text-decoration: underline; }

/* Method */
.spp-home-method { background: #fff; }
.spp-home-method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.spp-home-method-card {
  border: 1px solid #e2e8f0; border-radius: 10px; padding: 28px;
  display: flex; flex-direction: column;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.07), 0 1px 2px -1px rgb(0 0 0 / 0.07);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.spp-home-method-card:hover {
  box-shadow: 0 4px 12px 0 rgb(0 0 0 / 0.10), 0 2px 4px -2px rgb(0 0 0 / 0.06);
  transform: translateY(-2px);
}
.spp-home-method-card .spp-home-num {
  font-size: 11px; font-weight: 700; color: #64748b;
  text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 8px;
}
.spp-home-method-card h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; min-height: 44px; }
.spp-home-method-card p { font-size: 18px; color: #64748b; }

/* FAQ — static expanded (no accordion), uses shared .spp-faq wrapper */
.spp-faq-q-static {
  font-family: 'SUSE', sans-serif;
  font-size: 18px; font-weight: 700; color: #0c1e21;
  padding: 20px 0 8px; margin: 0;
}
.spp-faq-a-static {
  font-family: 'SUSE', sans-serif;
  font-size: 18px; color: #64748b; line-height: 1.55;
  padding: 0 0 20px; margin: 0;
}
.spp-faq-a-static a {
  color: #088a6a;
  text-decoration: none;
  font-weight: 600;
  transition: opacity 0.15s ease;
}
.spp-faq-a-static a:hover { opacity: 0.75; }

/* Closing */
.spp-home-closing {
  background: #0c1e21; color: #fff; text-align: center; padding: 72px 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
.spp-home-closing-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.spp-home-closing h2 { font-size: 28px; font-weight: 800; margin-bottom: 12px; max-width: 640px; margin-left: auto; margin-right: auto; }
.spp-home-closing p { color: rgba(255,255,255,0.5); font-size: 18px; margin-bottom: 32px; }
.spp-home-closing .spp-home-cta-row { justify-content: center; }

/* Logo marquee — pure CSS infinite scroll */
.spp-home-logo-strip {
  background: #fff;
  border-bottom: 1px solid #e2e8f0;
  padding: 28px 0;
  overflow: hidden;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
.spp-home-logo-label {
  font-size: 12px; font-weight: 600; color: #94a3b8;
  text-transform: uppercase; letter-spacing: 0.06em;
  text-align: center; margin-bottom: 20px;
}
.spp-home-logo-track {
  display: flex;
  width: max-content;
  animation: spp-marquee 35s linear infinite;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.spp-home-logo-set {
  display: flex;
  align-items: center;
  gap: 56px;
  padding: 0 28px;
}
.spp-home-logo-set img {
  height: 28px;
  width: auto;
  max-width: 130px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.45;
  transition: opacity 0.2s, filter 0.2s;
}
.spp-home-logo-set img:hover {
  filter: grayscale(0%);
  opacity: 0.8;
}
@keyframes spp-marquee {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}
/* Pause on hover */
.spp-home-logo-track:hover { animation-play-state: paused; }

/* ═══════════════════════════════════════════════════════════════════════════
   LevelSetter — /levelsetter/
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hero */
.spp-ls-hero {
  background: #0c1e21 url('https://softwarepricing.com/wp-content/uploads/2024/11/Ellipse-49-8.png') center/cover no-repeat;
  color: #fff; padding: 140px 0 64px; overflow: hidden;
  margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%); padding-right: calc(50vw - 50%);
}
.spp-ls-hero-inner {
  max-width: 1140px; margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: 1fr minmax(0, 340px); align-items: center; gap: 48px;
}
.spp-ls-hero-img {
  position: relative;
}
.spp-ls-hero-img img {
  width: 100%; height: auto; display: block;
}
/* Label removed — teal only for CTAs */
.spp-ls-hero h1 {
  font-family: 'SUSE', sans-serif; font-size: 38px; font-weight: 800;
  color: #fff !important;
  letter-spacing: -0.02em; line-height: 1.15; max-width: 700px; margin-bottom: 20px;
}
.spp-ls-hero .spp-ls-sub {
  font-family: 'SUSE', sans-serif; font-size: 20px;
  color: rgba(255,255,255,0.6); max-width: 600px; line-height: 1.55; margin-bottom: 28px;
}

/* Proof strip */
.spp-ls-proof {
  background: #0c1e21; border-top: 1px solid rgba(255,255,255,0.15);
  padding: 28px 0 !important;
  margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%); padding-right: calc(50vw - 50%);
}
.spp-ls-proof-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.spp-ls-proof-inner * { margin: 0 !important; padding: 0 !important; }
.spp-ls-proof-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 24px; text-align: center; align-items: end;
}
.spp-ls-proof-num {
  font-size: 28px; font-weight: 800; color: rgba(255,255,255,0.7);
  font-variant-numeric: tabular-nums;
}
.spp-ls-proof-label {
  font-size: 11px; font-weight: 600; color: rgba(255,255,255,0.4);
  text-transform: uppercase; letter-spacing: 0.06em; margin-top: 4px;
}
.spp-ls-proof-anchor .spp-ls-proof-num { font-size: 36px; color: #fff; }
.spp-ls-proof-anchor .spp-ls-proof-label { color: rgba(255,255,255,0.5); }

/* Section base */
.spp-ls-section {
  padding: 72px 0;
  margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%); padding-right: calc(50vw - 50%);
}
.spp-ls-section-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.spp-ls-section h2 {
  font-size: 28px; font-weight: 800; margin-bottom: 8px !important;
}
.spp-ls-section h2.spp-ls-h2-solo { margin-bottom: 40px !important; }
.spp-ls-section-sub {
  color: #64748b; font-size: 17px; max-width: 660px;
  line-height: 1.55; margin-bottom: 32px;
}
.spp-ls-section-sub a { color: #11dbab; }

/* Replace cards */
.spp-ls-replace-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.spp-ls-replace-card {
  border: 1px solid #e2e8f0; border-radius: 10px; padding: 20px;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.07), 0 1px 2px -1px rgb(0 0 0 / 0.07);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.spp-ls-replace-card:hover {
  box-shadow: 0 4px 12px 0 rgb(0 0 0 / 0.10), 0 2px 4px -2px rgb(0 0 0 / 0.06);
  transform: translateY(-2px);
}
.spp-ls-replace-card h3 { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.spp-ls-replace-card p { font-size: 15px; color: #64748b; }

/* Capabilities (dark section) */
.spp-ls-capabilities {
  background: #0c1e21; color: #fff;
  margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%);
  padding: 72px calc(50vw - 50%);
}
.spp-ls-capabilities-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.spp-ls-capabilities h2 { font-size: 28px; font-weight: 800; color: #fff; margin-bottom: 8px !important; }
.spp-ls-cap-sub { color: rgba(255,255,255,0.5); font-size: 17px; margin-bottom: 40px; max-width: 600px; }
.spp-ls-cap-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.spp-ls-cap-card {
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px; padding: 28px;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.spp-ls-cap-card:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.2);
  transform: translateY(-2px);
}
.spp-ls-cap-label {
  font-size: 11px; font-weight: 700; color: #11dbab;
  text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 10px;
}
.spp-ls-cap-card h3 { color: #fff; font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.spp-ls-cap-card p { color: rgba(255,255,255,0.6); font-size: 15px; line-height: 1.5; }
.spp-ls-cap-card a { color: #11dbab; }

/* Sprint steps */
.spp-ls-sprint-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 32px; }
.spp-ls-sprint-step { text-align: center; }
.spp-ls-sprint-step * { margin-top: 0 !important; margin-bottom: 0 !important; }
.spp-ls-sprint-num {
  width: 40px; height: 40px; border-radius: 50%;
  background: #0c1e21; color: #fff;
  font-weight: 800; font-size: 16px;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 12px;
}
.spp-ls-sprint-label { font-size: 18px; font-weight: 800; padding-bottom: 6px; }
.spp-ls-sprint-num { margin-bottom: 12px !important; }
.spp-ls-sprint-step p { font-size: 15px; color: #64748b; padding-top: 4px; }

/* Result cards */
.spp-ls-result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.spp-ls-result-card {
  background: #f8faf9; border: 1px solid #e2e8f0; border-radius: 10px; padding: 28px;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.07), 0 1px 2px -1px rgb(0 0 0 / 0.07);
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.spp-ls-result-card:hover {
  box-shadow: 0 4px 12px 0 rgb(0 0 0 / 0.10), 0 2px 4px -2px rgb(0 0 0 / 0.06);
  transform: translateY(-2px);
}
.spp-ls-result-company {
  font-size: 12px; font-weight: 700; color: #64748b;
  text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 8px;
}
.spp-ls-result-outcome {
  font-size: 22px; font-weight: 800; color: #0c1e21;
  margin-bottom: 8px; letter-spacing: -0.01em;
}
.spp-ls-result-card p { font-size: 16px; color: #475569; }

/* Acquirer proof */
.spp-ls-acquirers {
  background: #f8faf9; border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0;
  padding: 48px 0; text-align: center;
  margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%); padding-right: calc(50vw - 50%);
}
.spp-ls-acquirers-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.spp-ls-acquirers-lead { font-size: 17px; color: #64748b; margin-bottom: 20px; }
.spp-ls-acquirer-names { font-size: 16px; font-weight: 700; color: #17343D; }
.spp-ls-acquirer-names span { color: #64748b; font-weight: 400; padding: 0 10px; }
.spp-ls-acquirers-note { font-size: 14px; color: #64748b; margin-top: 16px; font-style: italic; }
.spp-ls-acquirers-note a { color: #11dbab; text-decoration: none; transition: opacity 0.15s ease; }
.spp-ls-acquirers-note a:hover { opacity: 0.8; }

/* Data section cards */
.spp-ls-data-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.spp-ls-data-card {
  border: 1px solid #e2e8f0; border-radius: 10px; padding: 20px;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.07), 0 1px 2px -1px rgb(0 0 0 / 0.07);
}
.spp-ls-data-card h3 { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.spp-ls-data-card p { font-size: 15px; color: #64748b; }
.spp-ls-data-card a { color: #11dbab; }

/* Closing */
.spp-ls-closing {
  background: #0c1e21; color: #fff; text-align: center; padding: 72px 0;
  margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%); padding-right: calc(50vw - 50%);
}
.spp-ls-closing-inner { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.spp-ls-closing h2 {
  font-size: 28px; font-weight: 800; margin-bottom: 12px;
  max-width: 660px; margin-left: auto; margin-right: auto; line-height: 1.3;
}
.spp-ls-closing p { color: rgba(255,255,255,0.5); font-size: 18px; margin-bottom: 32px; max-width: 660px; margin-left: auto; margin-right: auto; }
.spp-ls-closing .spp-home-cta-row { justify-content: center; }
.spp-ls-closing .spp-btn-secondary {
  border-color: rgba(255,255,255,0.4); color: #fff; background: rgba(255,255,255,0.06);
}
.spp-ls-closing .spp-btn-secondary:hover {
  background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.5);
}

/* LevelSetter responsive */
@media (max-width: 768px) {
  .spp-ls-replace-grid,
  .spp-ls-cap-grid,
  .spp-ls-sprint-grid,
  .spp-ls-data-grid { grid-template-columns: 1fr 1fr; }
  .spp-ls-result-grid { grid-template-columns: 1fr; }
  .spp-ls-hero-inner { grid-template-columns: 1fr; }
  .spp-ls-hero-img { display: none; }
  .spp-ls-hero h1 { font-size: 28px; }
}

/* Homepage responsive */
@media (max-width: 1024px) {
  .spp-home-hero-inner { grid-template-columns: 1fr 280px; }
  .spp-home-photo { height: 360px; }
}
@media (max-width: 768px) {
  .spp-home-hero-inner { grid-template-columns: 1fr; }
  .spp-home-photo { display: none; }
  .spp-home-hero-text { padding-bottom: 72px; }
  .spp-home-proof-grid,
  .spp-home-scenario-grid,
  .spp-home-pillar-grid { grid-template-columns: 1fr 1fr; }
  .spp-home-result-grid,
  .spp-home-method-grid { grid-template-columns: 1fr; }
  .spp-home-hero h1 { font-size: 28px; }
  .spp-home-credential-block { flex-direction: column; }
  /* Proof grid on mobile: normalize all stats so numbers align horizontally.
     Desktop emphasises the anchor (bigger + brighter); mobile 2-col needs uniformity. */
  .spp-home-proof-grid { align-items: start; row-gap: 32px; }
  .spp-home-proof-anchor .spp-home-proof-num { font-size: 28px; color: rgba(255,255,255,0.7); }
  .spp-home-proof-anchor .spp-home-proof-label { color: rgba(255,255,255,0.4); }
}

/* Narrow mobile — avoid orphan cards in 5-item grids (scenarios, pillars).
   2-col with 5 cards leaves a single orphan in the last row, which looks broken
   even though it's technically correct grid behavior. 1-col gives each card the
   full viewport width, no orphans, better readability. */
@media (max-width: 600px) {
  .spp-home-scenario-grid,
  .spp-home-pillar-grid { grid-template-columns: 1fr; }
}

/* ── Service Page Components (how-we-help pages) ─────────────────────────── */
/* Trigger cards — 5-column scenario grid ("when this happens, call us") */
.spp-triggers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  padding: 48px 0 24px;
}
.spp-trigger-card {
  background: #f8faf9;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 24px 20px;
  text-align: center;
}
.spp-trigger-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(17, 219, 171, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  color: #0c1e21;
  font-size: 20px;
}
.spp-trigger-card h3 {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #17343D;
}
.spp-trigger-card p {
  font-size: 17px;
  color: #475569;
  line-height: 1.6;
  margin: 0;
}

/* Process steps — checkmark-prefixed numbered list for methodology */
.spp-process-steps {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-top: 24px;
}
.spp-step {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.spp-step-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(17, 219, 171, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
  color: #0c1e21;
  font-weight: 700;
  font-size: 14px;
}
.spp-step-content h3 {
  font-family: 'SUSE', sans-serif;
  font-size: 19px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #17343D;
}
.spp-step-content p {
  font-size: 17px;
  color: #475569;
  line-height: 1.65;
  margin: 0;
}

/* Choose-grid — 2-col cards with left teal border (decision criteria) */
.spp-choose-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px;
}
.spp-choose-card {
  border-left: 3px solid #11dbab;
  padding: 20px 20px 20px 24px;
  background: #f8faf9;
  border-radius: 0 10px 10px 0;
}
.spp-choose-card h3 {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #17343D;
  margin-bottom: 10px;
}
.spp-choose-card p {
  font-size: 17px;
  color: #475569;
  line-height: 1.6;
  margin: 0;
}

/* Results banner — dark stats callout with inline narrative */
.spp-results-banner {
  background: linear-gradient(135deg, #0c1e21 0%, #132d32 100%);
  border-radius: 12px;
  padding: 40px 48px;
  margin-top: 24px;
  color: #fff;
}
.spp-results-banner h2 {
  color: #fff;
  margin-bottom: 20px;
}
.spp-results-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
}
.spp-result-stat {
  text-align: center;
}
.spp-result-stat .spp-result-num {
  font-family: 'SUSE', sans-serif;
  font-size: 36px;
  font-weight: 800;
  color: #11dbab;
  line-height: 1;
  margin-bottom: 8px;
  font-variant-numeric: tabular-nums;
}
.spp-result-stat .spp-result-label {
  font-size: 15px;
  color: rgba(255,255,255,0.75);
  line-height: 1.45;
}
.spp-results-narrative {
  margin-top: 28px;
  color: rgba(255,255,255,0.9);
  font-size: 17px;
  line-height: 1.7;
  max-width: 720px;
}
.spp-results-banner a { color: #11dbab; }

/* Dark-bleed section variant — wraps .spp-section with full-width dark background */
.spp-section-dark {
  background: #0c1e21;
  color: #fff;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding: 72px calc(50vw - 50%) 72px;
  text-align: center;
}
.spp-section-dark .spp-section-h2 { color: #f1f5f9; } /* text_on_dark */
/* Higher specificity than baseline .spp-section > .spp-container > p rule */
.spp-section.spp-section-dark > .spp-container > p,
.spp-section-dark .spp-container > p {
  color: #f1f5f9;   /* text_on_dark — design.yaml token */
  font-size: 19px;
  font-weight: 500;
  line-height: 1.7;
  max-width: 820px;
  margin: 0 auto 20px;
  text-align: center;
}
.spp-section-dark .spp-container > p:last-of-type { margin-bottom: 0; }
.spp-section-dark p a { color: #11dbab; } /* text_link */
/* Baseline body size for bare <p> inside any .spp-section — matches design token card_body_lg */
.spp-section > .spp-container > p {
  font-size: 18px;
  line-height: 1.7;
  color: #475569;
}

/* Trifecta architecture visual — image inside The Problem section (now dark) */
.spp-trifecta-visual {
  margin: 44px auto 0;
  max-width: 1100px;
  border-radius: 14px;
  overflow: hidden;
}
.spp-trifecta-visual img {
  width: 100%;
  height: auto;
  display: block;
}

/* Methodology visual — full-width LevelSetter screenshot below the process steps */
.spp-methodology-visual {
  margin: 56px auto 0;
  max-width: 960px;
  text-align: center;
}
.spp-methodology-visual img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
.spp-methodology-visual-caption {
  margin-top: 14px;
  font-size: 14px;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}

/* Standout "bottom line" card in the Choose grid */
.spp-choose-card--key {
  grid-column: 1 / -1;
  background: #0c1e21;
  border-left: 3px solid #11dbab;
  color: #fff;
  padding: 28px 32px;
  border-radius: 0 10px 10px 0;
  margin-top: 8px;
}
.spp-choose-card-label {
  font-family: 'SUSE', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #11dbab;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
.spp-choose-card--key h3 {
  color: #fff;
  font-size: 22px;
  margin-bottom: 12px;
}
.spp-choose-card--key p {
  color: rgba(255,255,255,0.75);
  font-size: 17px;
}

/* Service-page responsive */
@media (max-width: 768px) {
  .spp-triggers { grid-template-columns: 1fr 1fr; }
  .spp-choose-grid { grid-template-columns: 1fr; }
  .spp-results-grid { grid-template-columns: 1fr; gap: 20px; }
  .spp-results-banner { padding: 28px 24px; }
  .spp-trifecta-visual { margin-top: 28px; border-radius: 10px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   About Us — /about-us/
   ═══════════════════════════════════════════════════════════════════════════ */

/* Intro: video thumbnail + text side-by-side */
.spp-about-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.spp-about-intro-video {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  aspect-ratio: 16 / 9;
  background: #0c1e21;
  min-width: 0;
}
.spp-about-intro-video img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.spp-about-play-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(12, 30, 33, 0.85);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.spp-about-intro-text { min-width: 0; }
.spp-about-intro-text h2 { margin-bottom: 20px; }
.spp-about-intro-text p {
  color: #475569;
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 16px;
}
.spp-about-stat-callout {
  margin-top: 28px;
  padding: 20px 24px;
  border-left: 3px solid #11dbab;
  background: #f8faf9;
  border-radius: 0 10px 10px 0;
  font-size: 14px;
  color: #64748b;
  line-height: 1.5;
}
.spp-about-stat-callout .spp-about-stat-num {
  display: block;
  font-family: 'SUSE', sans-serif;
  font-size: 18px;
  font-weight: 800;
  color: #17343D;
  margin-bottom: 4px;
  font-variant-numeric: tabular-nums;
}

/* Acquirers: inline text list with pipe separators */
.spp-about-acquirers-section { background: #fff; text-align: center; }
.spp-about-acquirers-label {
  font-family: 'SUSE', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
}
.spp-about-acquirers-names {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #17343D;
  line-height: 1.8;
  max-width: 900px;
  margin: 0 auto;
}
.spp-about-pipe { color: #cbd5e1; padding: 0 8px; font-weight: 400; }

/* Testimonial: dark-card blockquote */
.spp-about-testimonial-card {
  max-width: 820px;
  margin: 0 auto;
  padding: 40px 48px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  text-align: center;
}
.spp-about-testimonial-quote {
  font-family: 'SUSE', sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: #17343D;
  line-height: 1.5;
  margin-bottom: 24px;
  font-style: italic;
  border: 0;
  padding: 0;
}
.spp-about-attribution {
  font-size: 15px;
  font-weight: 700;
  color: #17343D;
}
.spp-about-attribution-role {
  font-weight: 400;
  color: #64748b;
  margin-left: 4px;
}

/* Leadership team grid */
.spp-about-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
}
.spp-about-team-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 28px 24px;
  min-width: 0;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.spp-about-team-card:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}
.spp-about-avatar {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  background: #0c1e21;
  color: #11dbab;
  font-family: 'SUSE', sans-serif;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  letter-spacing: 0.02em;
}
.spp-about-team-name {
  font-family: 'SUSE', sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #17343D;
  margin-bottom: 2px;
}
.spp-about-team-title {
  font-size: 13px;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}
.spp-about-team-card p {
  font-size: 15px;
  color: #475569;
  line-height: 1.6;
  margin: 0;
}
.spp-about-team-card p a {
  color: #088a6a;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.15s ease;
}
.spp-about-team-card p a:hover { opacity: 0.75; }

/* Logo row: text-only badges (simpler than home's image marquee) */
.spp-about-logos-label {
  font-family: 'SUSE', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
  margin-bottom: 24px;
}
.spp-about-logos-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 16px;
  max-width: 960px;
  margin: 0 auto;
}
.spp-about-logo-item {
  font-family: 'SUSE', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #64748b;
  padding: 8px 16px;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
}

/* How We Work: dark 3-step method section */
.spp-about-method-section {
  background: #0c1e21;
  color: #fff;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
.spp-about-method-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 32px;
}
.spp-about-method-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 28px 24px;
  min-width: 0;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.spp-about-method-card:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.2);
  transform: translateY(-2px);
}
.spp-about-step-label {
  font-family: 'SUSE', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #11dbab;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}
.spp-about-method-title {
  font-family: 'SUSE', sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  margin-bottom: 10px;
  min-height: calc(2 * 1.3em); /* reserve 2 lines so paragraphs align across cards */
}
.spp-about-method-card p {
  font-size: 15px;
  color: rgba(255,255,255,0.6);
  line-height: 1.6;
  margin: 0;
}
.spp-about-method-card p a { color: #11dbab; }
.spp-about-method-link { text-align: center; margin-top: 32px; }
.spp-about-method-link a {
  color: #11dbab;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
}
.spp-about-method-link a:hover { text-decoration: underline; }

/* Culture / careers block — centered narrow column */
.spp-about-culture-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.spp-about-culture-inner p {
  font-size: 17px;
  color: #475569;
  line-height: 1.7;
  margin-bottom: 16px;
}
.spp-about-culture-link {
  display: inline-block;
  margin-top: 16px;
  color: #0c1e21;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  border-bottom: 2px solid #11dbab;
  padding-bottom: 2px;
}
.spp-about-culture-link:hover { color: #11dbab; }

/* About-us responsive */
@media (max-width: 900px) {
  .spp-about-team-grid { grid-template-columns: repeat(2, 1fr); }
  .spp-about-method-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .spp-about-intro-grid { grid-template-columns: 1fr; gap: 32px; }
  .spp-about-testimonial-card { padding: 28px 24px; }
  .spp-about-testimonial-quote { font-size: 18px; }
  .spp-about-team-grid { grid-template-columns: 1fr; }
  .spp-about-acquirers-names { font-size: 15px; line-height: 2; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Author Archive — FL Builder rich-text bio links on /blog/author/*
   !important needed to override Astra dynamic CSS + FL Builder archive styles
   ═══════════════════════════════════════════════════════════════════════════ */
body.author .fl-rich-text a,
body.author .fl-rich-text p a {
  color: #088a6a !important;   /* accessible teal — teal alone signals action */
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: opacity 0.15s ease;
}
body.author .fl-rich-text a:hover,
body.author .fl-rich-text p a:hover { opacity: 0.75; }
