.gds-page--sales-partner {
  --vp-navy: #18324a;
  --vp-navy-2: #23425c;
  --vp-teal: #2f7f82;
  --vp-mist: #f4f7f8;
  --vp-line: #d6e0e5;
  --vp-ink: #102e49;
  --vp-copy: #51697d;
}
.gds-page--sales-partner main > section { padding: clamp(3.6rem, 7vw, 6.4rem) 5vw; }
.vp-wrap { width:min(1160px,100%); margin:0 auto; }
.vp-hero { background:var(--vp-navy); color:#fff; }
.vp-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.vp-kicker,.vp-label { display:block; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:#9bd5d5; margin-bottom:1rem; }
.vp-hero h1 { color:#fff; max-width:820px; font-size:clamp(2.35rem,5.5vw,4.9rem); line-height:1.03; margin:0 0 1.4rem; }
.vp-hero p { color:#e5edf2; max-width:780px; font-size:clamp(1rem,1.4vw,1.16rem); line-height:1.8; }
.vp-actions { display:flex; gap:.85rem; flex-wrap:wrap; margin-top:1.8rem; }
.vp-actions a { text-decoration:none; }
.vp-primary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.85rem 1.15rem; border-radius:5px; background:#fff !important; color:var(--vp-navy) !important; font-weight:700; }
.vp-secondary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.85rem 1.15rem; border:1px solid rgba(255,255,255,.5); border-radius:5px; color:#fff; font-weight:700; }
.vp-commission-card { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); border-radius:8px; padding:1.6rem; }
.vp-commission-card strong { color:#fff; }
.vp-commission-value { font-size:clamp(2.6rem,5vw,4.3rem); font-weight:800; line-height:1; color:#fff; margin:.45rem 0 .8rem; }
.vp-commission-card p { font-size:.95rem; line-height:1.65; margin:0; }
.vp-section--alt { background:var(--vp-mist); }
.vp-section--dark { background:var(--vp-navy); color:#fff; }
.vp-section--dark h2,.vp-section--dark h3,.vp-section--dark strong { color:#fff; }
.vp-section--dark p,.vp-section--dark li { color:#e4edf2; }
.vp-head { max-width:820px; margin-bottom:2rem; }
.vp-head h2 { font-size:clamp(2rem,4vw,3.35rem); line-height:1.12; margin:0 0 .9rem; color:var(--vp-ink); }
.vp-head p { color:var(--vp-copy); font-size:1.02rem; line-height:1.75; }
.vp-section--dark .vp-head h2 { color:#fff; }
.vp-section--dark .vp-head p { color:#e4edf2; }
.vp-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.vp-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.vp-card { background:#fff; border:1px solid var(--vp-line); border-radius:8px; padding:1.45rem; }
.vp-card h3 { color:var(--vp-ink); font-size:1.18rem; margin:0 0 .75rem; }
.vp-card p,.vp-card li { color:var(--vp-copy); line-height:1.7; }
.vp-card ul { margin:.75rem 0 0; padding-left:1.2rem; }
.vp-region { display:inline-block; margin-bottom:.8rem; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:#12696d; background:#e9f4f4; padding:.35rem .55rem; border-radius:999px; }
.vp-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.vp-panel { background:#fff; border:1px solid var(--vp-line); border-radius:8px; padding:1.55rem; }
.vp-panel h3 { color:var(--vp-ink); margin-top:0; }
.vp-checks { list-style:none; padding:0; margin:1rem 0 0; }
.vp-checks li { position:relative; padding-left:1.55rem; margin:.65rem 0; color:var(--vp-copy); }
.vp-checks li::before { content:"✓"; position:absolute; left:0; color:var(--vp-teal); font-weight:800; }
.vp-example { display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; background:#fff; border:1px solid var(--vp-line); border-radius:8px; padding:1.5rem; max-width:900px; }
.vp-example-block { min-width:0; }
.vp-example-label { color:var(--vp-copy); font-size:.85rem; margin-bottom:.35rem; }
.vp-example-value { color:var(--vp-ink); font-size:clamp(1.8rem,3vw,2.6rem); font-weight:800; }
.vp-example-arrow { color:var(--vp-teal); font-weight:900; font-size:1.8rem; }
.vp-note { border-left:4px solid var(--vp-teal); background:#fff; padding:1rem 1.15rem; color:var(--vp-copy); line-height:1.7; }
.vp-warning { border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.06); border-radius:8px; padding:1.4rem; }
.vp-warning + .vp-warning { margin-top:1rem; }
.vp-warning h3 { margin-top:0; }
.vp-form-wrap { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:2rem; align-items:start; }
.vp-contact-copy h2 { font-size:clamp(2rem,4vw,3.3rem); line-height:1.12; margin-top:0; color:var(--vp-ink); }
.vp-contact-copy p { color:var(--vp-copy); line-height:1.75; }
.vp-form { background:#fff; border:1px solid var(--vp-line); border-radius:8px; padding:1.5rem; box-shadow:0 14px 36px rgba(16,46,73,.06); }
.vp-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.vp-field { margin-bottom:1rem; }
.vp-field label { display:block; color:var(--vp-ink); font-size:.86rem; font-weight:700; margin-bottom:.4rem; }
.vp-field input,.vp-field select,.vp-field textarea { width:100%; box-sizing:border-box; border:1px solid #bccbd4; border-radius:5px; padding:.8rem .85rem; font:inherit; color:var(--vp-ink); background:#fff; }
.vp-field textarea { min-height:115px; resize:vertical; }
.vp-field input:focus,.vp-field select:focus,.vp-field textarea:focus { outline:3px solid rgba(47,127,130,.18); border-color:var(--vp-teal); }
.vp-field--full { grid-column:1/-1; }
.vp-checkbox { display:flex; gap:.65rem; align-items:flex-start; margin:1rem 0; color:var(--vp-copy); line-height:1.55; font-size:.9rem; }
.vp-checkbox input { margin-top:.25rem; }
.vp-submit { width:100%; border:0; border-radius:5px; padding:.95rem 1.1rem; background:var(--vp-navy); color:#fff; font-weight:800; cursor:pointer; }
.vp-submit:hover { background:#23465f; }
.vp-helper { color:var(--vp-copy); font-size:.82rem; line-height:1.6; margin-top:.8rem; }
.vp-form-notice { padding:.9rem 1rem; margin-bottom:1rem; border-radius:5px; font-weight:700; }
.vp-form-notice.success { background:#e7f4ef; color:#155b47; border:1px solid #a7d7c7; }
.vp-form-notice.error { background:#fff2f0; color:#8a2b22; border:1px solid #efc0ba; }
.hp-field { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }
@media (max-width: 900px) {
  .vp-hero-grid,.vp-form-wrap,.vp-grid-3,.vp-grid-2,.vp-split { grid-template-columns:1fr; }
  .vp-commission-card { max-width:620px; }
}
@media (max-width: 640px) {
  .gds-page--sales-partner main > section { padding:3.25rem 1.15rem; }
  .vp-form-grid { grid-template-columns:1fr; }
  .vp-field--full { grid-column:auto; }
  .vp-example { grid-template-columns:1fr; }
  .vp-example-arrow { transform:rotate(90deg); justify-self:start; }
  .vp-actions { flex-direction:column; align-items:stretch; }
  .vp-primary,.vp-secondary { width:100%; box-sizing:border-box; }
}

/* Hotfix 2026-08-23: GDS rollout alternation must not override the intentionally dark legal-boundaries section. */
.gds-page--rollout.gds-page--sales-partner main > section.vp-section--dark {
  background: var(--vp-navy) !important;
  color: #fff !important;
}

/* Hotfix 2026-08-23: the sales-partner footer uses the established multi-column
   footer markup from the main site. The shared GDS stylesheet only styles the
   legacy flat footer, so these page-scoped rules restore the intended footer
   grid and readable contrast without changing global GDS behavior. */
.gds-page--sales-partner footer {
  padding: 3.5rem 5vw 1.6rem;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  background: var(--vp-navy);
  color: #fff;
}
.gds-page--sales-partner .footer-inner {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
}
.gds-page--sales-partner .footer-main {
  display: grid;
  grid-template-columns: minmax(180px, 0.7fr) minmax(0, 2.3fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: start;
}
.gds-page--sales-partner .footer-brand .footer-logo {
  max-width: none;
  margin: 0;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}
.gds-page--sales-partner .footer-brand-text {
  max-width: 280px;
  margin: 0.8rem 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.82rem;
  line-height: 1.65;
}
.gds-page--sales-partner .footer-nav-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
}
.gds-page--sales-partner .footer-heading {
  margin: 0 0 1rem;
  color: #9bd5d5;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.gds-page--sales-partner .footer-links {
  display: grid;
  align-items: start;
  gap: 0.72rem;
  max-width: none;
  margin: 0;
  padding: 0;
  list-style: none;
}
.gds-page--sales-partner .footer-links a {
  color: rgba(255, 255, 255, 0.80);
  font-size: 0.82rem;
  line-height: 1.45;
  text-decoration: none;
}
.gds-page--sales-partner .footer-links a:hover,
.gds-page--sales-partner .footer-links a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.gds-page--sales-partner .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin-top: 2.2rem;
  padding-top: 1.3rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.gds-page--sales-partner .footer-copy {
  max-width: none;
  margin: 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.78rem;
  line-height: 1.5;
}
@media (max-width: 900px) {
  .gds-page--sales-partner .footer-main {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .gds-page--sales-partner .footer-brand-text {
    max-width: 520px;
  }
  .gds-page--sales-partner .footer-nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gds-page--sales-partner .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 640px) {
  .gds-page--sales-partner footer {
    padding: 3rem 1.15rem 1.5rem;
  }
  .gds-page--sales-partner .footer-nav-grid {
    grid-template-columns: 1fr;
    gap: 1.8rem;
  }
}
