/* Service page v2 — embedded inquiry form, result-quote wall, credibility band.
   Used on service pages restructured after the reference services layout;
   class names stay in each page's own scp-* namespace. */

/* --- Split hero with embedded quote form --- */
.scp-hero-split { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) minmax(440px, 500px); gap: 48px; align-items: center; }
.scp-hero-copy, .scp-hero-form { min-width: 0; }
.scp-hero-split h1 { font-size: clamp(36px, 4.4vw, 56px); line-height: 1.08; overflow-wrap: anywhere; hyphens: auto; }

.scp-hero-form {
  background: #fff; border-radius: 18px; padding: 26px 24px 22px;
  box-shadow: 0 24px 60px -24px rgba(10, 22, 40, .45);
  display: flex; width: 100%; max-width: 500px; justify-self: end; flex-direction: column; gap: 10px;
}
.scp-hero-form-title { margin: 0 0 4px; font-size: 19px; font-weight: 800; color: #151b20; }
.scp-hero-form input, .scp-hero-form textarea, .scp-hero-form select {
  width: 100%; border: 1px solid #d7e0e5; border-radius: 10px;
  padding: 11px 13px; font: inherit; font-size: 14.5px; color: #151b20; background: #fff;
}
.scp-hero-form textarea { min-height: 76px; resize: vertical; }
.scp-hero-form input:focus, .scp-hero-form textarea:focus, .scp-hero-form select:focus {
  outline: none; border-color: #168cf0; box-shadow: 0 0 0 3px rgba(22, 140, 240, .15);
}
.scp-hero-form input[name="company_website"] { position: absolute; left: -9999px; }
.scp-hero-form .scp-button { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border: 0; margin-top: 4px; text-decoration: none; }
.scp-hero-form button[type="submit"] { display: flex; width: 100%; align-items: center; justify-content: center; cursor: pointer; border: 0; border-radius: 12px; padding: 14px 18px; font: inherit; font-size: 15px; font-weight: 700; color: #fff; background: #168cf0; margin-top: 4px; text-decoration: none; transition: background .2s ease; }
.scp-hero-form button[type="submit"]:hover { background: #0f6dc2; }
.scp-hero-form-note { margin: 2px 0 0; font-size: 12.5px; color: #59636b; text-align: center; }

.request-status { margin: 0; font-size: 13px; color: #59636b; }
.request-status.success { color: #15803d; }
.request-status.error { color: #b42318; }

@media (max-width: 920px) {
  .scp-hero-split { grid-template-columns: 1fr; gap: 28px; }
  .scp-hero-form { width: 100%; max-width: 560px; justify-self: start; }
}

@media (max-width: 640px) {
  .scp-hero-split { width: calc(100% - 32px); margin-inline: auto; }
  .scp-hero-copy, .scp-hero-form { width: 100%; max-width: 100%; }
  .scp-hero-form input, .scp-hero-form textarea, .scp-hero-form select {
    min-height: 46px; font-size: 16px;
  }
  .scp-hero-form textarea { min-height: 88px; }
  .scp-hero-form button[type="submit"] { min-height: 48px; font-size: 16px; }

  /* Each service hero already exposes a direct WhatsApp action. Removing the
     fixed shortcut here keeps it from covering fields on narrow screens. */
  .scp-page .scp-floating-whatsapp,
  .dsp-page .dsp-floating-whatsapp,
  .svc-v2 .sd-floating-whatsapp { display: none; }
}

/* --- Review-card wall --- */
.scp-quotes { padding: 96px 0; background: #f2f6f8; }
.scp-quote-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.scp-quote {
  margin: 0; background: #fff; border: 1px solid #e3eaf0;
  border-radius: 16px; padding: 26px 26px 22px;
  box-shadow: 0 1px 2px rgba(21, 27, 32, .04);
}
.scp-quote-stars { color: #f2a91e; font-size: 15px; letter-spacing: 3px; margin-bottom: 12px; }
.scp-star-off { color: #d5dee4; }
.scp-quote strong { display: block; font-size: 17.5px; font-weight: 800; line-height: 1.4; color: #151b20; margin-bottom: 8px; }
.scp-quote p { margin: 0; font-size: 15.5px; line-height: 1.7; color: #59636b; }
.scp-quote-who { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #eef2f5; }
.scp-quote-avatar { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; background: #eaf3fd; color: #0f6dc2; font-weight: 800; font-size: 15px; display: grid; place-items: center; }
.scp-quote:nth-of-type(2n) .scp-quote-avatar { background: #e7f5ee; color: #0d7a55; }
.scp-quote:nth-of-type(3n) .scp-quote-avatar { background: #fbf1e3; color: #9a6400; }
.scp-quote:nth-of-type(5n) .scp-quote-avatar { background: #eef0f7; color: #4a5390; }
.scp-quote-meta b { display: block; font-size: 14.5px; font-weight: 700; color: #151b20; }
.scp-quote-meta small { display: block; font-size: 12px; font-weight: 600; color: #59636b; letter-spacing: .02em; margin-top: 1px; line-height: 1.45; }
@media (max-width: 640px) { .scp-quote-grid { grid-template-columns: 1fr; } }

.dsp-benefits-grid p { font-size: 15px; }

/* --- Route comparison switcher --- */
.scp-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dsp-compare { padding: 96px 0; }
.dsp-compare-box { position: relative; margin: 40px 0 0; padding: clamp(26px, 3.4vw, 48px); border: 1px solid #d7e0e5; border-radius: 22px; background: #f2f6f8; min-width: 0; }
.dsp-compare-radio { position: absolute; opacity: 0; pointer-events: none; }
.dsp-compare-switch { display: inline-grid; grid-auto-flow: column; gap: 8px; margin-bottom: 26px; }
.dsp-compare-switch label { padding: 11px 22px; border: 1px solid #d7e0e5; border-radius: 999px; background: #fff; color: #59636b; font-size: 14px; font-weight: 800; cursor: pointer; transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease; }
#cmp-sur:checked ~ .dsp-compare-switch label[for="cmp-sur"],
#cmp-market:checked ~ .dsp-compare-switch label[for="cmp-market"] { background: #151b20; border-color: #151b20; color: #fff; box-shadow: 0 14px 30px -18px rgba(10, 22, 40, .4); }
#cmp-market:focus-visible ~ .dsp-compare-switch label[for="cmp-market"],
#cmp-sur:focus-visible ~ .dsp-compare-switch label[for="cmp-sur"] { outline: 2px solid #168cf0; outline-offset: 3px; }
.dsp-compare-row { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; align-items: baseline; padding: 20px 0; border-top: 1px solid #dde5ea; }
.dsp-compare-row:first-child { border-top: 0; padding-top: 0; }
.dsp-compare-row > span { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #59636b; }
.dsp-compare-val p { display: none; margin: 0; font-size: 16.5px; font-weight: 600; line-height: 1.5; animation: scp-v2-fade .4s both cubic-bezier(.22, 1, .36, 1); }
.dsp-compare-val .v-market { color: #7c8890; }
.dsp-compare-val .v-sur { color: #151b20; }
#cmp-market:checked ~ .dsp-compare-rows .v-market,
#cmp-sur:checked ~ .dsp-compare-rows .v-sur { display: block; }
.dsp-compare-val p::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 12px; border-radius: 50%; vertical-align: 2px; }
.dsp-compare-rows .v-market::before { background: #c9a34e; }
.dsp-compare-rows .v-sur::before { background: #168cf0; }
@keyframes scp-v2-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) {
  .dsp-compare-row { grid-template-columns: 1fr; gap: 8px; }
  .dsp-compare-switch { display: grid; grid-auto-flow: row; }
  .dsp-compare-switch label { text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .dsp-compare-val p { animation: none; }
  .dsp-compare-switch label { transition: none; }
}

/* --- Card spotlight hover --- */
@media (hover: hover) {
  .scp-case { position: relative; }
  .scp-case::after {
    content: ""; position: absolute; inset: 0; border-radius: inherit; opacity: 0; pointer-events: none;
    background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(22, 140, 240, .09), transparent 65%);
    transition: opacity 250ms ease;
  }
  .scp-case:hover::after { opacity: 1; }
  .dsp-benefits-grid article { transition: background-color 200ms ease; }
  .dsp-benefits-grid article:hover { background: #f2f6f8; }
}
@media (prefers-reduced-motion: reduce) {
  .scp-case::after { display: none; }
  .dsp-benefits-grid article { transition: none; }
}
.dsp-benefits { padding-top: 96px; }

/* --- Credibility band --- */
.scp-stats { padding: 72px 0; }
.scp-stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.scp-stats-grid > div { border-left: 3px solid #168cf0; padding-left: 18px; }
.scp-stats-grid strong { display: block; font-size: clamp(34px, 4vw, 46px); font-weight: 800; line-height: 1.05; color: #151b20; }
.scp-stats-grid span { font-size: 14px; color: #59636b; }
@media (max-width: 760px) { .scp-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* --- Problem section: copy + benefit checklist + trust chips --- */
.scp-problem { padding: 96px 0; }
.scp-problem-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(40px, 5vw, 72px); align-items: start; }
.scp-problem-copy h2 { text-wrap: balance; }
.scp-problem-copy p { text-wrap: pretty; }
.scp-problem-copy p { font-size: 16.5px; line-height: 1.7; color: #59636b; margin: 0 0 14px; }
.scp-checklist { list-style: none; margin: 36px 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
.scp-checklist li { display: flex; gap: 12px; align-items: center; min-height: 52px; background: #f8fafc; border: 1px solid #e3eaf0; border-radius: 12px; padding: 12px 18px; font-size: 16px; font-weight: 600; color: #151b20; line-height: 1.4; }
.scp-checklist li::before { content: "\2713"; flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; background: #168cf0; color: #fff; font-size: 12px; display: grid; place-items: center; margin-top: 1px; }
.scp-trust-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.scp-trust-chips span { font-size: 12.5px; font-weight: 700; letter-spacing: .04em; color: #0f6dc2; background: #eaf3fd; border-radius: 999px; padding: 7px 14px; }
@media (max-width: 920px) { .scp-problem-grid { grid-template-columns: 1fr; gap: 28px; } }


/* --- Operating promises: three columns with dot bullets --- */
.scp-ops { padding: 96px 0; background: #f2f6f8; }
.scp-ops--plain { background: transparent; }
.scp-ops-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.scp-ops-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .scp-ops-grid.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.scp-op { background: #fff; border: 1px solid #d7e0e5; border-radius: 18px; padding: 26px 24px; }
.scp-op h3 { margin: 0 0 12px; font-size: 19px; font-weight: 800; color: #151b20; }
.scp-op ul { list-style: none; margin: 0; padding: 0; }
.scp-op li { position: relative; padding: 0 0 10px 18px; font-size: 15.5px; line-height: 1.55; color: #59636b; }
.scp-op li::before { content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: #168cf0; }
.scp-op li:last-child { padding-bottom: 0; }
@media (max-width: 920px) { .scp-ops-grid { grid-template-columns: 1fr; } }

/* --- Case study cards with metric badges --- */
.scp-cases { padding: 96px 0; }
.scp-case-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.scp-case { background: #fff; border: 1px solid #d7e0e5; border-radius: 18px; padding: 24px 22px; display: flex; flex-direction: column; gap: 12px; }
.scp-case h3 { margin: 0; font-size: 17px; font-weight: 800; color: #151b20; }
.scp-case-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.scp-case-badges span { background: #eaf3fd; color: #0f6dc2; border-radius: 999px; padding: 6px 12px; font-size: 12.5px; font-weight: 700; }
.scp-case p { margin: 0; font-size: 15px; line-height: 1.62; color: #59636b; }
.scp-case footer { margin-top: auto; font-size: 13px; color: #151b20; font-weight: 700; }
@media (max-width: 1100px) { .scp-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .scp-case-grid { grid-template-columns: 1fr; } }

/* --- FAQ accordion --- */
.sv2-faq { padding: 96px 0; background: #f2f6f8; }
.sv2-acc { display: flex; flex-direction: column; gap: 10px; }
.sv2-acc details { background: #fff; border: 1px solid #d7e0e5; border-radius: 14px; padding: 0 20px; }
.sv2-acc summary { cursor: pointer; padding: 17px 0; font-size: 16px; font-weight: 700; color: #151b20; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.sv2-acc summary::-webkit-details-marker { display: none; }
.sv2-acc summary::after { content: "+"; font-size: 22px; font-weight: 600; color: #168cf0; flex: 0 0 auto; }
.sv2-acc details[open] summary::after { content: "\2212"; }
.sv2-acc details > div { padding: 0 0 18px; font-size: 15px; line-height: 1.65; color: #59636b; }
.sv2-acc details > div p { margin: 0 0 10px; }
.sv2-acc details > div p:last-child { margin: 0; }

/* --- Side quote inside the hero form card --- */
.scp-side-quote { margin: 12px 0 0; font-size: 13px; line-height: 1.55; color: #59636b; font-style: italic; text-align: center; }

/* --- Services link strip --- */
.scp-svcs { padding: 72px 0; }
.scp-svcs-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.scp-svcs-grid a { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #d7e0e5; border-radius: 999px; padding: 12px 20px; font-size: 15px; font-weight: 700; color: #151b20; text-decoration: none; transition: border-color .2s ease, color .2s ease; }
.scp-svcs-grid a:hover { border-color: #168cf0; color: #0f6dc2; }

/* --- Minimal numbered steps (no cards, varied vs card grids) --- */
.scp-steps-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.scp-steps-list.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.scp-step { position: relative; padding-top: 20px; border-top: 2px solid #d7e0e5; }
.scp-step b { display: block; font-size: clamp(30px, 3vw, 42px); font-weight: 800; color: #168cf0; letter-spacing: -.02em; line-height: 1; margin-bottom: 12px; }
.scp-step h3 { font-size: 16.5px; font-weight: 800; color: #151b20; margin: 0 0 8px; }
.scp-step p { font-size: 15.5px; line-height: 1.62; color: #59636b; margin: 0; }
@media (max-width: 980px) { .scp-steps-list, .scp-steps-list.cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .scp-steps-list, .scp-steps-list.cols-3 { grid-template-columns: 1fr; } }

/* --- Two-column content block without photos --- */
.scp-duo { padding: 96px 0; }
.scp-duo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
.scp-duo-grid h3 { font-size: 21px; font-weight: 800; color: #151b20; margin: 0 0 8px; }
.scp-duo-grid .scp-duo-sub { margin: 0 0 18px; font-size: 15px; color: #59636b; line-height: 1.6; max-width: 60ch; }
.scp-duo-grid ul { list-style: none; margin: 0; padding: 0; }
.scp-duo-grid li { position: relative; padding: 0 0 12px 22px; font-size: 15px; line-height: 1.55; color: #151b20; }
.scp-duo-grid li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 50%; background: #168cf0; }
.scp-duo-grid li:last-child { padding-bottom: 0; }
@media (max-width: 920px) { .scp-duo-grid { grid-template-columns: 1fr; gap: 32px; } }

/* --- Premium polish: quiet hover lift on cards (GPU transform only) --- */
@media (hover: hover) {
  .scp-quote, .scp-case, .scp-op, .hub-card { transition: transform 200ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 200ms cubic-bezier(0.22, 1, 0.36, 1), border-color 200ms ease; }
  .scp-quote:hover, .scp-case:hover, .scp-op:hover { transform: translateY(-3px); border-color: #c9d8e4; box-shadow: 0 14px 34px -18px rgba(10, 22, 40, .28); }
}

/* --- Reading measure for long copy columns --- */
.scp-problem-copy p { max-width: 62ch; }

/* --- Shared section headings + CTA row for v2 sections --- */
.scp-v2-h2 { text-wrap: balance;  margin: 10px 0 20px; font-size: clamp(30px, 4.4vw, 63px); font-weight: 800; line-height: 1.08; color: #151b20; letter-spacing: -.015em; }
.scp-v2-head { margin: 0 0 40px; }
.scp-v2-head .scp-v2-h2 { text-wrap: balance;  margin: 10px 0 0; }
.scp-v2-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.scp-stepnum { display: inline-block; margin: 0 0 12px; font-size: 13px; font-weight: 800; letter-spacing: .08em; color: #0f6dc2; background: #eaf3fd; border-radius: 999px; padding: 6px 12px; }

/* --- svc-v2 restyle layer (reference-inspired): deep-blue system band,
       tinted case band, pill CTAs, larger body copy. Opt-in per page via body.svc-v2 --- */
.svc-v2 .scp-problem-copy p { font-size: 17px; }
.svc-v2 .dsp-compare-val p { font-size: 17px; }
.svc-v2 .scp-op li { font-size: 16px; }
.svc-v2 .scp-case p { font-size: 15.5px; }
.svc-v2 .sv2-acc details > div { font-size: 15.5px; }

.svc-v2 .scp-ops--band { background: linear-gradient(150deg, #0b4f96 0%, #0f6dc2 52%, #168cf0 125%); }
.svc-v2 .scp-ops--band .sd-index, .svc-v2 .scp-ops--band .dsp-index, .svc-v2 .scp-ops--band .scp-stepnum { color: #a7d3ff; background: rgba(255, 255, 255, .12); }
.svc-v2 .scp-ops--band .scp-v2-head > p:not([class*="index"]), .svc-v2 .scp-ops--band .dsp-shell > p:not([class*="index"]) { color: rgba(255, 255, 255, .88); font-size: 17px; }
.svc-v2 .scp-ops--band .scp-v2-h2 { color: #fff; }
.svc-v2 .scp-ops--band .scp-op { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .24); }
.svc-v2 .scp-ops--band .scp-op h3 { color: #fff; }
.svc-v2 .scp-ops--band .scp-op li { color: rgba(255, 255, 255, .9); }
.svc-v2 .scp-ops--band .scp-op li::before { background: #9fd0ff; }
.svc-v2 .scp-ops--band .scp-step { border-top-color: rgba(255, 255, 255, .32); }
.svc-v2 .scp-ops--band .scp-step b { color: #fff; }
.svc-v2 .scp-ops--band .scp-step h3 { color: #fff; }
.svc-v2 .scp-ops--band .scp-step p { color: rgba(255, 255, 255, .88); }
.svc-v2 .scp-ops--band .scp-v2-cta .sd-button.primary { background: #fff; border-color: #fff; color: #0b4f96; }
.svc-v2 .scp-ops--band .scp-v2-cta .sd-button.secondary { border-color: rgba(255, 255, 255, .6); background: transparent; color: #fff; }
.svc-v2 .scp-cases--tint { background: #f2f6f8; }
.svc-v2 .scp-duo--band { background: linear-gradient(150deg, #0b4f96 0%, #0f6dc2 52%, #168cf0 125%); }
.svc-v2 .scp-duo--band .sd-index, .svc-v2 .scp-duo--band .dsp-index { color: #a7d3ff; }
.svc-v2 .scp-duo--band .scp-v2-h2 { color: #fff; }
.svc-v2 .scp-duo--band .scp-duo-grid h3 { color: #fff; }
.svc-v2 .scp-duo--band .scp-duo-sub { color: rgba(255, 255, 255, .88); font-size: 16.5px; }
.svc-v2 .scp-duo--band .scp-duo-grid li { color: rgba(255, 255, 255, .92); font-size: 16px; }
.svc-v2 .scp-duo--band .scp-duo-grid li::before { background: #9fd0ff; }

/* --- Quote card flip: quoted headline on the front, full quote on hover.
       Faces are stacked in one grid cell so the card height fits the longer side.
       Structure is built at load by service-quote-flip.js --- */
.scp-quote { perspective: 1400px; }
.scp-flip-inner { display: grid; transform-style: preserve-3d; transition: transform 500ms cubic-bezier(.2, .7, .2, 1); }
.scp-flip-front, .scp-flip-back { grid-area: 1 / 1; display: flex; flex-direction: column; backface-visibility: hidden; -webkit-backface-visibility: hidden; min-width: 0; }
.scp-flip-front strong { font-size: 19px; }
.scp-flip-front .scp-quote-who { margin-top: auto; }
.scp-flip-back { transform: rotateY(180deg); justify-content: center; }
.scp-flip-back .scp-quote p, .scp-flip-back > p { font-size: 16px; line-height: 1.7; }
@media (hover: hover) {
  .scp-quote:hover .scp-flip-inner { transform: rotateY(180deg); }
}
.scp-quote:focus-visible .scp-flip-inner, .scp-quote.is-flipped .scp-flip-inner { transform: rotateY(180deg); }
@media (prefers-reduced-motion: reduce) {
  .scp-flip-inner { display: block; transition: none; transform: none !important; }
  .scp-flip-back { transform: none; backface-visibility: visible; -webkit-backface-visibility: visible; }
}
@media (prefers-reduced-motion: reduce) { .svc-v2 .sd-button { transition: none; } }

/* --- Platform marquee strip (services hub) --- */
.hub-platforms { padding: 76px 0 82px; }
.hub-platforms .sd-heading { text-align: center; }
.hub-marquee { overflow: hidden; margin-top: 44px; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%); }
.hub-marquee-track { display: flex; width: max-content; animation: hub-marquee 60s linear infinite; }
.hub-marquee-track img { display: block; height: 64px; width: auto; margin-right: 104px; }
@keyframes hub-marquee { to { transform: translateX(-50%); } }
@media (max-width: 900px) { .hub-platforms { padding: 58px 0 64px; } .hub-platforms h2 { font-size: 34px; } .hub-marquee-track img { height: 48px; margin-right: 64px; } }
@media (prefers-reduced-motion: reduce) { .hub-marquee-track { animation: none; } .hub-marquee { -webkit-mask-image: none; mask-image: none; overflow-x: auto; } }
#hub-services .sd-heading, #hub-quotes .sd-heading { text-align: center; }
#hub-services .sd-heading h2, #hub-quotes .sd-heading h2, .hub-platforms .sd-heading h2 { margin-inline: auto; }

/* --- Merged closing CTA buttons (services hub): uniform, coordinated --- */
.sd-cta.hub-cta .sd-cta-actions { display: flex; flex-direction: column; align-items: stretch; justify-content: center; width: auto; min-width: 300px; gap: 10px; }
.sd-cta.hub-cta .sd-cta-actions { display: flex; flex-direction: column; align-items: stretch; justify-content: center; width: auto; min-width: 300px; gap: 12px; }
.sd-cta.hub-cta .sd-cta-actions .sd-button { padding: 0 24px; }
@media (max-width: 900px) { .sd-cta.hub-cta .sd-cta-actions { min-width: 0; width: 100%; } }
.sd-cta.hub-cta .sd-cta-actions .sd-button.primary { border-color: #fff; background: #fff; color: #0b4f96; }
.sd-cta.hub-cta .sd-cta-actions .sd-button.primary:hover { border-color: #eaf3fd; background: #eaf3fd; }

/* ===== Hero: single quote entry (form only) — 2026-09-01, shared by the five service pages ===== */
.scp-hero-split .scp-hero-rating { display: flex; align-items: center; gap: 10px; margin: 0 0 24px; color: rgba(255, 255, 255, .9); font-size: 14px; font-weight: 700; animation: scp-rise .65s .14s both cubic-bezier(.2, .7, .2, 1); }
.scp-hero-split .scp-hero-stars { color: #f2a91e; font-size: 15px; letter-spacing: 2px; line-height: 1; }
.scp-hero-split .scp-hero-lede { max-width: 560px; margin: 26px 0 0; color: rgba(255, 255, 255, .82); font-size: 17px; line-height: 1.7; animation: scp-rise .65s .43s both cubic-bezier(.2, .7, .2, 1); }
.scp-hero-split .scp-hero-trust { list-style: none; display: grid; gap: 12px; max-width: 560px; margin: 30px 0 0; padding: 0; }
.scp-hero-split .scp-hero-trust li { position: relative; padding-left: 28px; color: rgba(255, 255, 255, .88); font-size: 15px; line-height: 1.55; }
.scp-hero-split .scp-hero-trust li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: #ffb808; font-size: 15px; font-weight: 800; }
@media (max-width: 900px) {
  .scp-hero-split .scp-hero-rating { margin-bottom: 18px; }
  .scp-hero-split .scp-hero-trust { gap: 10px; margin-top: 24px; }
  .scp-hero-split .scp-hero-trust li { font-size: 14.5px; }
  .sd-hero-facts { width: 100%; }
}

/* private-labels process cards: larger card text */
.pl-process .sd-grid article > span { font-size: 14px; }
.pl-process .sd-grid h3 { font-size: 28px; }
.pl-process .sd-grid p { font-size: 16.5px; }

/* Steps band flows straight into FAQ (same tint): keep one continuous band, not two 96px pockets */
.scp-ops + .sv2-faq { padding-top: 28px; }
@media (max-width: 900px) { .scp-ops + .sv2-faq { padding-top: 0; } }

/* sourcing-purchase product development steps: larger card text */
#product-development .scp-step h3 { font-size: 21px; }
#product-development .scp-step p { font-size: 17px; }

/* FAQ heading centered (matches hub heading alignment) */
.sv2-faq .scp-v2-head { text-align: center; }

/* sourcing-purchase FAQ: sd-shell/sd-index parity (page does not load service-detail-page.css) */
.sv2-faq .sd-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.sv2-faq .sd-index { margin: 0; color: #168cf0; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 640px) { .sv2-faq .sd-shell { width: calc(100% - 36px); } }
