/* Strategic Partnership Guide. Page-scoped design from the client-supplied PDF.
   This stylesheet deliberately does not alter global navigation or footer. */
.sp-guide { --sp-navy:#112946;--sp-dark:#101b2d;--sp-blue:#499dbf;--sp-muted:#687991;--sp-line:#e1e7ec;--sp-soft:#f5f7f9; font-family:'Manrope',Arial,sans-serif;color:var(--sp-dark);background:#fff;line-height:1.6; }
.sp-guide * { box-sizing:border-box; }
.sp-guide h1,.sp-guide h2,.sp-guide h3,.sp-guide h4,.sp-guide p,.sp-guide ul,.sp-guide figure { margin-top:0; }
.sp-guide h2 {font-size:clamp(1.65rem,2.55vw,2.65rem);font-weight:800;letter-spacing:-.045em;line-height:1.2;margin-bottom:17px;color:var(--sp-dark)}
.sp-guide h3 {font-size:1rem;font-weight:800;line-height:1.35;color:var(--sp-dark)}
.sp-guide p {color:var(--sp-muted)}
.sp-wrap {max-width:1210px;width:calc(100% - 64px);margin:0 auto}
.sp-overline {display:block;letter-spacing:.17em;font-size:.69rem;font-weight:800;text-transform:uppercase;color:var(--sp-blue);line-height:1.6}
.sp-rule:before {content:"";display:inline-block;vertical-align:middle;width:16px;height:2px;background:var(--sp-blue);margin-right:10px}
.sp-section {padding:94px 0;border-bottom:1px solid #e8edf1;background:#fff}
.sp-alt {background:#fcfcfd}
.sp-section-lead {max-width:660px;font-size:1.04rem;line-height:1.85;margin:0 0 39px;color:var(--sp-muted)}
/* Hero */
.sp-hero {position:relative;isolation:isolate;background:#183855 url('strategic-partnership-hero.webp') center / cover no-repeat;color:#fff;min-height:840px;padding:145px 0 115px}
.sp-hero:before {content:"";position:absolute;inset:0;background:rgba(18,45,73,.90);z-index:-1}
.sp-hero-inner {display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.sp-hero-copy {max-width:565px}
.sp-hero-tag {display:inline-block;padding:9px 16px;color:#60bedc;border:1px solid var(--sp-blue);font-size:.7rem;letter-spacing:.19em;font-weight:800;text-transform:uppercase;border-radius:3px;margin-bottom:42px}
.sp-hero h1 {font-size:clamp(4.2rem,6.9vw,7rem);line-height:.98;letter-spacing:-.065em;color:#fff;font-weight:800;margin:0 0 28px}
.sp-hero h1 em {font-style:normal;color:var(--sp-blue)}
.sp-hero-sub {font-size:1.13rem;color:#fff!important;font-weight:700;margin-bottom:4px}
.sp-hero-capline {font-size:.81rem!important;letter-spacing:.13em;text-transform:uppercase;color:#95a9bc!important;line-height:1.6}
.sp-hero-intro {border-top:1px solid rgba(255,255,255,.11);margin-top:31px;padding-top:27px}
.sp-hero-intro p {color:#bdcbd7!important;font-style:italic;font-size:.91rem;line-height:1.8;margin:0}
.sp-hero-link {display:inline-block;color:#60bada!important;margin-top:35px;font-size:.89rem;text-decoration:none}
.sp-hero-link:hover,.sp-final-actions a:hover {text-decoration:underline}
.sp-hero-capabilities {background:#fff;border-radius:12px;padding:32px 28px 22px;box-shadow:0 18px 30px rgba(0,0,0,.13)}
.sp-hero-capabilities>.sp-overline {margin:0 0 16px}
.sp-cap {display:flex;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid #edf1f4}
.sp-cap-icon,.sp-small-icon {color:#319bc2;background:#dbf4f6;border-radius:7px;display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;font-weight:700}
.sp-cap h2 {font-size:.95rem!important;letter-spacing:0!important;margin:0 0 3px;color:#111b2a;line-height:1.3}
.sp-cap p {font-size:.78rem;color:#667993;margin:0}
.sp-alliance {font-size:.71rem;font-weight:800;letter-spacing:.07em;padding-top:17px;margin:0!important}
.sp-alliance span {color:#499dbf;letter-spacing:3px}
/* About and stats */
.sp-stat-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:45px 0 44px}
.sp-stat {padding:25px 12px;text-align:center;border:1px solid #dce5eb;border-top:2px solid #54acd0;border-radius:10px;background:#fff;min-height:137px}
.sp-stat strong {display:block;color:#499dbf;font-size:2.55rem;line-height:1.2;font-weight:800}
.sp-stat span {display:block;font-size:.76rem;font-weight:800;color:#1c2c40}
.sp-stat small {display:block;color:#7b899c;font-size:.7rem;margin-top:5px}
.sp-two-col {display:grid;grid-template-columns:1fr 1fr;gap:36px}
.sp-about-cols>div {padding:9px 0}
.sp-about-cols h3 {margin-bottom:17px}
.sp-about-cols p {font-size:.88rem;line-height:1.9}
/* Operational problem */
.sp-problem-cols {gap:35px;align-items:start}
.sp-list-panel,.sp-solution-panel {padding:28px 30px;border-radius:8px;background:#f6f8fa;border:1px solid #e8eef2}
.sp-list-panel h3,.sp-solution-panel h3 {margin-bottom:22px}
.sp-vendor-list,.sp-check-list {padding:0;list-style:none}
.sp-vendor-list li {background:#fff;border:1px solid #e6ebf0;margin-bottom:8px;padding:11px 15px;border-radius:4px;color:#415267;font-size:.86rem}
.sp-list-panel>p {font-size:.83rem;line-height:1.8;margin:20px 0 0}
.sp-solution-panel {background:#f2f8fa}
.sp-solution-panel h4 {font-size:1.08rem;line-height:1.55;color:#14293e;margin-bottom:22px}
.sp-check-list li {position:relative;padding:0 0 0 24px;color:#51667b;font-size:.87rem;line-height:1.55;margin-bottom:13px}
.sp-check-list li:before {content:'✓';position:absolute;left:0;top:0;color:#45a2c2;font-weight:800}
/* Challenge grid */
.sp-challenge-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:35px}
.sp-challenge {border:1px solid #e4eaf0;border-top:2px solid #4daccf;border-radius:8px;padding:22px 19px;background:#fff;min-height:170px}
.sp-challenge h3 {font-size:.86rem;margin:14px 0 8px}
.sp-challenge p {font-size:.77rem;line-height:1.7;margin:0}
.sp-answer {background:#102b4a;color:#fff;border-radius:8px;padding:26px 33px;display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:24px;align-items:center}
.sp-answer strong {display:block;color:#fff;font-size:.98rem;line-height:1.5;margin-top:8px}
.sp-answer p {color:#b5cadb;font-size:.83rem;line-height:1.75;margin:0}
/* Services */
.sp-services {margin-top:36px}
.sp-service {display:grid;grid-template-columns:54px minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start;padding:27px 0;border-bottom:1px solid #e4e9ed}
.sp-service:first-child {border-top:1px solid #e4e9ed}
.sp-service-num {font-size:1.1rem;color:#4ca8cd;font-weight:800;line-height:1.5}
.sp-service-info h3 {font-size:1.07rem;margin-bottom:6px}
.sp-service-info p {font-size:.81rem;line-height:1.8;max-width:460px;margin:0}
.sp-service-items {margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.sp-service-items li {font-size:.75rem;color:#55677a;line-height:1.5;padding-left:10px;position:relative}
.sp-service-items li:before {content:'•';position:absolute;left:0;color:#4ca8cd}
/* Difference cards */
.sp-difference-grid {display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:36px}
.sp-difference {background:#f5f7f9;border:1px solid #e8edf1;border-top:2px solid #4da9cc;border-radius:11px;padding:28px 27px 25px;min-height:190px}
.sp-difference h3 {margin:15px 0 11px;font-size:.99rem}
.sp-difference p {font-size:.87rem;line-height:1.9;margin:0}
.sp-industry-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:37px}
.sp-industry-grid div {padding:15px 8px;text-align:center;background:#f5f7f9;border:1px solid #e2e8ec;border-radius:7px;font-size:.77rem;color:#1a2839;font-weight:700}
/* Partner benefits */
.sp-partner-cols {align-items:start;gap:27px;margin-top:39px}
.sp-benefit {display:flex;align-items:flex-start;gap:17px;padding:18px 15px;border-bottom:1px solid #dfe6eb}
.sp-benefit h3 {font-size:.91rem;margin-bottom:5px}
.sp-benefit p {font-size:.82rem;line-height:1.75;margin:0}
.sp-mini-stats {display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin:22px 0}
.sp-mini-stats strong {display:block;color:#499dbf;font-size:1.8rem;line-height:1.3}
.sp-mini-stats span {font-size:.74rem;color:#748598}
.sp-needs {background:#173e65;border-radius:8px;padding:27px 27px 17px;color:white}
.sp-needs>.sp-overline {color:#78bdd4;margin-bottom:14px}
.sp-needs-row {display:grid;grid-template-columns:26px 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.sp-needs-row span {color:#61afd1;font-size:.72rem;font-weight:800}
.sp-needs-row p {color:#d2e0eb;font-size:.78rem;margin:0}
.sp-needs-row b {color:#78bcd8;font-size:.76rem;font-weight:700}
.sp-process {background:#123555;border-radius:8px;padding:28px 29px;margin-top:17px;color:white}
.sp-process>.sp-overline {margin-bottom:20px}
.sp-process-row {display:grid;grid-template-columns:36px 1fr;gap:10px;margin-bottom:17px}
.sp-process-row>span {color:#63bcdb;font-size:.81rem;font-weight:800}
.sp-process h3 {color:#fff;margin:0 0 4px;font-size:.86rem}
.sp-process-row p,.sp-process-note {color:#b8cfe0;font-size:.75rem;margin:0;line-height:1.65}
.sp-process-note {border-top:1px solid rgba(255,255,255,.18);padding-top:15px}
/* Testimonials */
.sp-testimonials {background:#102a49;color:#fff}
.sp-testimonials h2 {color:#fff}
.sp-testimonials .sp-section-lead {color:#b5c7d9}
.sp-quote-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:33px}
.sp-quote {background:#fff;padding:23px 25px 24px;border-radius:8px;display:flex;flex-direction:column;min-height:235px;margin:0}
.sp-quote-mark {font-size:2rem;font-weight:800;color:#499dbf;line-height:1}
.sp-quote blockquote {font-size:.83rem;line-height:1.85;color:#52657a;margin:13px 0 25px;flex:1}
.sp-quote figcaption strong {display:block;font-size:.8rem;color:#17253a}
.sp-quote figcaption span {display:block;color:#668097;font-size:.72rem}
/* Final CTA and real Close CRM partnership form */
.sp-final {text-align:center;padding:83px 0 110px;background:#163957;color:#fff}
.sp-final h2 {font-size:clamp(2.3rem,4.3vw,4.2rem);letter-spacing:-.045em;line-height:1.12;color:white;margin:19px auto 20px}
.sp-final h2 span {color:#fff}
.sp-final>.sp-wrap>p:not(.sp-final-line) {max-width:640px;margin:0 auto 27px;color:#b6cbd9;font-size:.94rem;line-height:1.9}
.sp-final-actions {display:flex;justify-content:center;gap:40px;margin:34px auto}
.sp-final-actions>div {text-align:left;background:#1d456b;padding:22px 25px;border-radius:7px;min-width:250px}
.sp-final-actions .sp-overline {font-size:.7rem;margin-bottom:12px}
.sp-final-actions a {color:#fff;text-decoration:none;font-weight:700;font-size:.93rem}
.sp-final-line {color:#9bb7c8!important;text-transform:uppercase;letter-spacing:.17em;font-size:.71rem!important;margin:35px auto!important}
.sp-form-box {max-width:690px;margin:37px auto 0;background:#fff;padding:22px;border-radius:12px;text-align:left;min-height:250px}
.sp-form-box close-form {display:block;min-height:200px;color:#13263d}
/* Avoid global inherited dark-background styles in light sections. */
.sp-guide .sp-section a {color:#277ca2}
@media (max-width: 1000px) {
 .sp-wrap {width:calc(100% - 48px)}
 .sp-hero {padding:115px 0 85px;min-height:auto}
 .sp-hero-inner {gap:30px}
 .sp-hero h1 {font-size:clamp(3.4rem,7vw,5.7rem)}
 .sp-section {padding:75px 0}
 .sp-challenge-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .sp-service {grid-template-columns:44px minmax(0,1fr)}
 .sp-service-items {grid-column:2}
}
@media (max-width: 700px) {
 .sp-wrap {width:calc(100% - 36px)}
 .sp-section {padding:62px 0}
 .sp-hero {padding:100px 0 65px}
 .sp-hero-inner,.sp-two-col,.sp-difference-grid,.sp-partner-cols,.sp-answer {grid-template-columns:1fr}
 .sp-hero h1 {font-size:clamp(3.6rem,12vw,5.5rem)}
 .sp-hero-tag {margin-bottom:23px}
 .sp-hero-capabilities {margin-top:16px;padding:24px 19px}
 .sp-stat-grid,.sp-industry-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .sp-stat strong {font-size:2.1rem}
 .sp-challenge-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .sp-challenge {padding:16px 13px;min-height:166px}
 .sp-answer {gap:15px;padding:22px}
 .sp-service {gap:8px;grid-template-columns:32px 1fr}
 .sp-service-items {grid-template-columns:1fr 1fr;gap:7px}
 .sp-quote-grid {grid-template-columns:1fr}
 .sp-quote {min-height:auto}
 .sp-final-actions {flex-direction:column;gap:10px}
 .sp-final-actions>div {text-align:center;min-width:0}
 .sp-form-box {padding:11px}
}
@media (max-width: 390px) {
 .sp-service-items {grid-template-columns:1fr}
 .sp-challenge-grid {grid-template-columns:1fr}
 .sp-needs {padding:20px 13px}
 .sp-needs-row {grid-template-columns:20px 1fr auto;gap:6px}
 .sp-needs-row p,.sp-needs-row b {font-size:.7rem}
}

/* The supplied guide uses its own slim branded footer, not the site's full footer. */
body:has(.sp-guide) .footer-modern { display:none; }
.sp-document-footer {background:#0b2038;color:white;padding:17px 0}
.sp-document-footer .sp-wrap {display:flex;align-items:center;justify-content:space-between;gap:25px}
.sp-document-footer strong {font-size:.9rem;letter-spacing:.2em}
.sp-document-footer strong span {color:#499dbf}
.sp-document-footer small {color:#8296a9;font-size:.7rem}
.sp-document-footer .sp-wrap>span {color:#57acd0;font-size:.76rem}
body:has(.sp-guide) .page-shell {background:#fff}
@media(max-width:700px){.sp-document-footer .sp-wrap{flex-direction:column;gap:9px;text-align:center}}

/* The guide's own hero replaces the sitewide hero, so collapse the global
   header (navy block + hero image) that would otherwise stack on top of it. */
body:has(.sp-guide) header.hero { background: transparent !important; }
body:has(.sp-guide) header.hero::before { display: none !important; }
body:has(.sp-guide) header.hero.hero-bare { min-height: 0; padding: 0 !important; }

/* Overline labels placed on <h3> keep their small blue overline look instead
   of inheriting the larger .sp-guide h3 heading size/colour. */
.sp-guide h3.sp-overline { font-size: .69rem; line-height: 1.6; color: var(--sp-blue); }

/* "Partner With Us" hero button (site-standard styling, scrolls to the form). */
.sp-hero-btn { display: flex; width: fit-content; margin-top: 30px; }

/* Keep the anchor target clear of the fixed nav when the form is scrolled to. */
#partnership-form { scroll-margin-top: 90px; }

/* Respect reduced-motion preferences for the smooth scroll. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
