/* Final desktop service-card composition. The existing stage dimensions and
   article transforms remain owned by the native-scroll controller. Phone and
   tablet cards deliberately keep their previous layout. */
@media (min-width: 1025px) {
  #svcStage .svc-card {
    --svc-final-pad: clamp(22px, min(3.5vw, 5vh), 56px);
    --svc-final-icon-size: clamp(44px, min(5.15vw, 8.25vh), 88px);
    padding: var(--svc-final-pad);
  }

  #svcStage .svc-card-inner {
    width: 48%;
    max-width: 740px;
    margin-top: 0;
  }

  #svcStage .svc-card--2 .svc-card-inner { width: 51%; }
  #svcStage .svc-card--3 .svc-card-inner { width: 45%; }

  #svcStage .svc-visual-kicker {
    margin-bottom: clamp(14px, 2.75vh, 29px);
    font-size: clamp(11px, min(1.18vw, 2.1vh), 20px);
  }

  #svcStage .svc-card-title,
  #svcStage .svc-card--1 .svc-card-title {
    margin-bottom: clamp(12px, 2.1vh, 22px);
    font-size: clamp(42px, min(5.75vw, 9vh), 96px);
    line-height: .96;
    letter-spacing: -.065em;
  }

  #svcStage .svc-card--2 .svc-card-title {
    font-size: clamp(40px, min(4.75vw, 8.4vh), 86px);
    line-height: .98;
  }

  #svcStage .svc-card-lead {
    font-size: clamp(16px, min(1.6vw, 2.8vh), 27px);
    line-height: 1.25;
  }

  #svcStage .svc-card-desc {
    font-size: clamp(13px, min(1.23vw, 2.25vh), 21px);
    line-height: 1.4;
  }

  #svcStage .svc-visual-emphasis {
    font-size: clamp(13px, min(1.23vw, 2.15vh), 21px);
    line-height: 1.32;
  }

  #svcStage .svc-visual-feature-list:not(.svc-visual-feature-list--final) {
    display: none;
  }

  #svcStage .svc-visual-feature-list--final,
  #svcStage .svc-card--2 .svc-visual-feature-list--final,
  #svcStage .svc-card--3 .svc-visual-feature-list--final {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    left: var(--svc-final-pad);
    bottom: var(--svc-final-pad);
    width: 43.5%;
    max-width: 680px;
    gap: clamp(14px, 2.5vh, 27px) clamp(15px, 2vw, 36px);
  }

  #svcStage .svc-visual-feature,
  #svcStage .svc-card--1 .svc-visual-feature,
  #svcStage .svc-card--2 .svc-visual-feature,
  #svcStage .svc-card--3 .svc-visual-feature {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    min-width: 0;
    padding: 0;
    gap: clamp(12px, 1.25vw, 23px);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: clamp(15px, min(1.52vw, 2.8vh), 26px);
    font-weight: 800;
    line-height: 1.2;
    text-align: left;
    text-transform: none;
    white-space: normal;
  }

  #svcStage .svc-visual-feature-icon,
  #svcStage .svc-card--3 .svc-visual-feature-icon {
    width: var(--svc-final-icon-size);
    height: var(--svc-final-icon-size);
  }

  #svcStage .svc-visual-feature-icon .svc-final-icon,
  #svcStage .svc-visual-offer-icon .svc-final-icon {
    display: block;
    width: 56%;
    height: 56%;
    object-fit: contain;
    aspect-ratio: 1;
  }

  #svcStage .svc-card--3 .svc-visual-feature-list--final {
    bottom: calc(var(--svc-final-pad) + clamp(46px, 6.6vh, 72px));
  }

  #svcStage .svc-visual-offer {
    left: var(--svc-final-pad);
    bottom: var(--svc-final-pad);
    width: 48%;
    max-width: 700px;
    gap: clamp(9px, 1vw, 17px);
    font-size: clamp(13px, min(1.17vw, 2.25vh), 20px);
  }

  #svcStage .svc-visual-offer-icon {
    width: clamp(30px, min(3vw, 4.9vh), 49px);
    height: clamp(30px, min(3vw, 4.9vh), 49px);
  }

  #svcStage .svc-card-actions {
    width: auto;
    margin-top: 0;
    position: absolute;
    right: var(--svc-final-pad);
    bottom: var(--svc-final-pad);
    justify-content: flex-end;
  }

  #svcStage .svc-btn-cta {
    min-height: clamp(44px, 6.5vh, 65px);
    padding: 11px clamp(20px, 2.3vw, 40px);
    font-size: clamp(12px, min(1.22vw, 2.4vh), 21px);
  }

  #svcStage .svc-visual-show-christian {
    right: 4%;
    bottom: -14%;
    height: 100%;
  }

  #svcStage .svc-visual-program-christian {
    right: 8%;
    bottom: -19%;
    height: 100%;
  }
}

@media (min-width: 1025px) and (max-height: 820px) {
  /* Keep the two benefit rows clear of the copy on short laptop displays. */
  #svcStage .svc-card-title,
  #svcStage .svc-card--1 .svc-card-title {
    font-size: clamp(38px, min(5.2vw, 8vh), 72px);
    margin-bottom: 12px;
  }

  #svcStage .svc-card--2 .svc-card-title {
    font-size: clamp(37px, min(4.75vw, 7.8vh), 70px);
  }

  #svcStage .svc-visual-kicker { margin-bottom: clamp(12px, 2vh, 17px); }
  #svcStage .svc-card-lead { font-size: clamp(15px, min(1.48vw, 2.6vh), 21px); }
  #svcStage .svc-card-desc { font-size: clamp(12px, min(1.1vw, 2.05vh), 16px); }
  #svcStage .svc-visual-emphasis { font-size: clamp(12px, min(1.05vw, 2vh), 15px); }
  #svcStage .svc-visual-feature-list--final,
  #svcStage .svc-card--2 .svc-visual-feature-list--final,
  #svcStage .svc-card--3 .svc-visual-feature-list--final {
    gap: clamp(12px, 2vh, 18px) clamp(12px, 1.5vw, 23px);
  }
}

@media (min-width: 1025px) and (prefers-reduced-motion: reduce) {
  /* The static accessibility fallback already caps its articles at 760px.
     Size the same composition to that narrower surface, without widening it. */
  #svcStage .svc-card { --svc-final-pad: 28px; --svc-final-icon-size: 46px; }
  #svcStage .svc-visual-kicker { font-size: 11px; margin-bottom: 18px; }
  #svcStage .svc-card-title,
  #svcStage .svc-card--1 .svc-card-title,
  #svcStage .svc-card--2 .svc-card-title { font-size: 36px; margin-bottom: 14px; }
  #svcStage .svc-card-lead { font-size: 16px; }
  #svcStage .svc-card-desc,
  #svcStage .svc-visual-emphasis { font-size: 13px; }
  #svcStage .svc-visual-feature,
  #svcStage .svc-card--1 .svc-visual-feature,
  #svcStage .svc-card--2 .svc-visual-feature,
  #svcStage .svc-card--3 .svc-visual-feature { font-size: 13px; gap: 9px; }
  #svcStage .svc-visual-feature-list--final,
  #svcStage .svc-card--2 .svc-visual-feature-list--final,
  #svcStage .svc-card--3 .svc-visual-feature-list--final { gap: 16px 12px; }
  #svcStage .svc-btn-cta { font-size: 12px; min-height: 46px; padding: 11px 20px; }
  #svcStage .svc-visual-offer { font-size: 11px; gap: 8px; }
  #svcStage .svc-visual-offer-icon { width: 28px; height: 28px; }
}
