/* Selective Pay unified landing-page hero system
   Visual masters: homepage + /solutions/
   2026-10-13
*/

/* Standard Solutions-family hero: mirrors /solutions/ proportions. */
.sp-solution-template .b2b-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(72px,8vw,118px) 0 76px !important;
  background:
    radial-gradient(circle at 83% 22%,rgba(39,199,123,.16),transparent 27%),
    radial-gradient(circle at 10% 90%,rgba(78,149,183,.14),transparent 30%),
    linear-gradient(135deg,#f9fcfd 0%,#fff 50%,#effaf5 100%) !important;
  border-bottom: 1px solid #d7e3e8;
}
.sp-solution-template .b2b-hero::before {
  content:""; position:absolute; inset:0; opacity:.38;
  background-image:linear-gradient(rgba(8,43,63,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(8,43,63,.055) 1px,transparent 1px);
  background-size:42px 42px; mask-image:linear-gradient(to bottom,#000,transparent 88%); pointer-events:none;
}
.sp-solution-template .b2b-hero__inner {
  position:relative; z-index:1; display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(350px,.72fr) !important;
  gap:clamp(42px,7vw,92px) !important; align-items:center !important;
}
.sp-solution-template .b2b-hero h1 {
  max-width:780px !important; margin:0 !important;
  font-size:clamp(3rem,6.1vw,5.9rem) !important; line-height:.98 !important;
  letter-spacing:-.06em !important; color:#082b3f !important;
}
.sp-solution-template .b2b-hero h1 span { color:#11995b !important; }
.sp-solution-template .b2b-hero__lead { max-width:760px !important; margin:26px 0 0 !important; font-size:clamp(1.07rem,1.7vw,1.27rem) !important; line-height:1.72 !important; }
.sp-solution-template .b2b-hero__actions { margin-top:32px !important; }
.sp-solution-template .b2b-hero__proof { margin-top:26px !important; }

/* Child-page card stack: same visual family as /solutions/, sized for longer copy. */
.sp-solution-template .solution-stack { position:relative; min-height:500px; width:100%; max-width:590px; margin:0 auto; }
.sp-solution-template .solution-stack__frame { position:absolute; inset:34px 28px 18px 18px; border:1px solid rgba(8,43,63,.13); border-radius:28px; transform:rotate(-3deg); }
.sp-solution-template .solution-stack__card { position:absolute; width:min(270px,78%); min-width:0; padding:22px; color:#fff; background:#082b3f; border:1px solid rgba(255,255,255,.12); border-radius:18px; box-shadow:0 22px 55px rgba(8,35,52,.18); }
.sp-solution-template .solution-stack__card strong,.sp-solution-template .solution-stack__card span { display:block; }
.sp-solution-template .solution-stack__card strong { margin-top:13px; font-size:1.15rem; line-height:1.2; }
.sp-solution-template .solution-stack__card span { color:#bad0da; font-size:.86rem; line-height:1.45; }
.sp-solution-template .solution-stack__icon { width:43px; height:43px; display:grid; place-items:center; color:#082b3f; background:#5de19d; border-radius:12px; font-weight:900; }
.sp-solution-template .solution-stack__card--one { top:0; right:4%; }
.sp-solution-template .solution-stack__card--two { top:155px; left:0; background:#0d3b51; }
.sp-solution-template .solution-stack__card--three { top:310px; right:0; background:linear-gradient(145deg,#0a5841,#0b8d57); }
.sp-solution-template .solution-stack__card--four { display:none !important; }

.sp-solution-template .b2b-proofbar { padding:22px 0 !important; }
.sp-solution-template .b2b-proofbar + .b2b-section { padding-top:72px !important; }

/* About is a company page, not Why Selective Pay. */
.sp-solution-template.about-page .primary-nav a[href="/why-selective-pay.html"] { color:inherit !important; }
.sp-solution-template.about-page .primary-nav a[href="/why-selective-pay.html"]::after { transform:scaleX(0) !important; }

/* Interchange: homepage-style compact hero card; the real form follows the proof bar. */
.sp-interchange-template .b2b-hero { padding:clamp(72px,8vw,118px) 0 76px !important; }
.sp-interchange-template .b2b-hero__inner { grid-template-columns:minmax(0,1.08fr) minmax(350px,.72fr) !important; gap:clamp(42px,7vw,92px) !important; align-items:center !important; }
.sp-interchange-template .b2b-hero h1 { max-width:780px !important; font-size:clamp(3rem,6vw,5.7rem) !important; line-height:.98 !important; letter-spacing:-.06em !important; }
.sp-analysis-panel { position:relative; width:min(100%,470px); margin-left:auto; padding:34px; color:#fff; background:radial-gradient(circle at 88% 12%,rgba(93,225,157,.22),transparent 28%),linear-gradient(145deg,#082b3f,#0b4b54); border:1px solid rgba(255,255,255,.12); border-radius:28px; box-shadow:0 28px 70px rgba(8,35,52,.18); overflow:hidden; }
.sp-analysis-panel::after { content:""; position:absolute; width:220px; height:220px; right:-95px; bottom:-110px; border:38px solid rgba(93,225,157,.09); border-radius:50%; }
.sp-analysis-panel__eyebrow { margin:0 0 12px; color:#72edb0; font-size:.78rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.sp-analysis-panel h2 { position:relative; z-index:1; margin:0; color:#fff; font-size:clamp(2rem,3vw,3rem); line-height:1.02; letter-spacing:-.045em; }
.sp-analysis-panel p { position:relative; z-index:1; margin:16px 0 0; color:#c9dde4; line-height:1.65; }
.sp-analysis-panel__stats { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:24px; }
.sp-analysis-panel__stat { padding:14px 12px; background:rgba(255,255,255,.065); border:1px solid rgba(255,255,255,.1); border-radius:14px; }
.sp-analysis-panel__stat strong,.sp-analysis-panel__stat span { display:block; }
.sp-analysis-panel__stat strong { color:#68e6a5; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.sp-analysis-panel__stat span { margin-top:5px; color:#fff; font-weight:800; font-size:.9rem; }
.sp-analysis-panel .button { position:relative; z-index:1; margin-top:24px; }
.sp-lead-section { padding:82px 0 96px; background:linear-gradient(180deg,#f7fbfc,#eef7f9); border-bottom:1px solid #d7e4e9; }
.sp-lead-grid { display:grid; grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr); gap:clamp(44px,7vw,90px); align-items:start; }
.sp-lead-copy { position:sticky; top:120px; }
.sp-lead-copy h2 { margin:0; color:#082b3f; font-size:clamp(2.5rem,4.5vw,4.4rem); line-height:1.02; letter-spacing:-.052em; }
.sp-lead-copy p:not(.eyebrow) { margin:20px 0 0; color:#607783; font-size:1.06rem; line-height:1.72; }
.sp-lead-copy ul { display:grid; gap:10px; margin:26px 0 0; padding:0; list-style:none; }
.sp-lead-copy li { position:relative; padding-left:28px; color:#082b3f; font-weight:750; }
.sp-lead-copy li::before { content:"✓"; position:absolute; left:0; top:1px; width:20px; height:20px; display:grid; place-items:center; border-radius:50%; color:#087b49; background:#eaf8f1; font-size:.72rem; }
.sp-lead-form-wrap .review-form { padding:30px !important; border-radius:24px !important; background:#fff; box-shadow:0 24px 58px rgba(8,35,52,.1); }

@media (max-width:1040px) {
  .sp-solution-template .b2b-hero__inner,.sp-interchange-template .b2b-hero__inner,.sp-lead-grid { grid-template-columns:1fr !important; }
  .sp-solution-template .solution-stack { max-width:620px; margin-top:14px; }
  .sp-analysis-panel { margin:18px auto 0; }
  .sp-lead-copy { position:static; }
}
@media (max-width:760px) {
  .sp-solution-template .b2b-hero,.sp-interchange-template .b2b-hero { padding:52px 0 58px !important; }
  .sp-solution-template .b2b-hero h1,.sp-interchange-template .b2b-hero h1 { font-size:clamp(2.75rem,14vw,4.25rem) !important; }
  .sp-solution-template .solution-stack { min-height:0; display:grid; gap:12px; }
  .sp-solution-template .solution-stack__frame { display:none; }
  .sp-solution-template .solution-stack__card,.sp-solution-template .solution-stack__card--one,.sp-solution-template .solution-stack__card--two,.sp-solution-template .solution-stack__card--three,.sp-solution-template .solution-stack__card--four { position:static; width:100%; max-width:none; }
  .sp-analysis-panel { padding:26px; }
  .sp-analysis-panel__stats { grid-template-columns:1fr; }
  .sp-lead-section { padding:64px 0 72px; }
  .sp-lead-form-wrap .review-form { padding:22px !important; }
}
