/* =========================
   Partnerships Design Tokens
   ========================= */
:root{
  --pplp-navy:#102d6c;
  --pplp-navy-700:#1b3d86;
  --pplp-blue:#1c46a5;
  --pplp-lime:#dcf465;
  --pplp-orange:#ec9652;
  --pplp-cream:#fffbf6;
  --pplp-white:#ffffff;
  --pplp-peri:#a5b1f8;
  --pplp-ink:#14213d;
  --pplp-slate:#2a3550;
  --pplp-muted:#7a7f8c;
  --pplp-border:#e2e8f4;
  --pplp-soft-blue:#eef3ff;
  --pplp-soft-green:#e8f7ef;
  --pplp-radius:16px;
  --pplp-shadow:0 1px 2px rgba(16,45,108,.05),0 10px 26px rgba(16,45,108,.06);
}

/* =========================
   Partnerships Layout
   ========================= */
.ppl-partners{
  background:var(--pplp-cream);
  color:var(--pplp-ink);
  font-family:Raleway,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  margin-top:-1px;
}

.ppl-partners *,
.ppl-partners *::before,
.ppl-partners *::after{
  box-sizing:border-box;
}

.ppl-partnersWrap{
  margin:0 auto;
  max-width:1100px;
  padding:0 clamp(18px,3vw,28px);
}

.ppl-partnersHero{
  background:var(--pplp-navy);
  color:#fff;
  padding:50px 0 54px;
}

.ppl-partnersHero--compact{
  padding:38px 0 34px;
}

.ppl-partnersHero__grid{
  align-items:center;
  display:grid;
  gap:42px;
  grid-template-columns:minmax(0,1.15fr) 330px;
}

.ppl-partnersBack,
.ppl-partnersBadge{
  align-items:center;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  color:#fff;
  display:inline-flex;
  font-size:.78rem;
  font-weight:900;
  gap:7px;
  margin-bottom:14px;
  padding:7px 12px;
  text-decoration:none;
}

.ppl-partnersBack:hover,
.ppl-partnersBack:focus{
  background:rgba(255,255,255,.08);
  color:#fff;
}

.ppl-partnersBadge{
  background:rgba(255,255,255,.10);
  color:var(--pplp-lime);
}

.ppl-partnersBadge--lime{
  background:var(--pplp-lime);
  border-color:var(--pplp-lime);
  color:var(--pplp-navy);
}

.ppl-partnersHero h1,
.ppl-partnersInquiry h1,
.ppl-partnersThanks h1{
  color:#fff;
  font-size:clamp(2rem,4vw,2.75rem);
  font-weight:950;
  letter-spacing:-.025em;
  line-height:1.07;
  margin:0 0 12px;
}

.ppl-partnersHero--compact h1{
  font-size:clamp(1.85rem,3.5vw,2.35rem);
  max-width:700px;
}

.ppl-partnersHero p,
.ppl-partnersCta p,
.ppl-partnersInquiry .ppl-partnersHero p,
.ppl-partnersThanks p{
  color:#d7def2;
  font-size:.98rem;
  font-weight:650;
  line-height:1.65;
  margin:0;
  max-width:650px;
}

.ppl-partnersHero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.ppl-partnersHero__actions--center{
  justify-content:center;
}

.ppl-partnersBtn{
  align-items:center;
  border:0;
  border-radius:999px;
  display:inline-flex;
  font-size:.88rem;
  font-weight:900;
  justify-content:center;
  min-height:42px;
  padding:10px 18px;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}

.ppl-partnersBtn:hover,
.ppl-partnersBtn:focus{
  transform:translateY(-1px);
}

.ppl-partnersBtn--accent{
  background:var(--pplp-lime);
  color:var(--pplp-navy);
}

.ppl-partnersBtn--accent:hover,
.ppl-partnersBtn--accent:focus{
  background:#d2ef4a;
  color:var(--pplp-navy);
}

.ppl-partnersBtn--ghost{
  background:transparent;
  border:1px solid rgba(255,255,255,.45);
  color:#fff;
}

.ppl-partnersBtn--ghost:hover,
.ppl-partnersBtn--ghost:focus{
  background:rgba(255,255,255,.08);
  color:#fff;
}

.ppl-partnersBtn--soft{
  background:var(--pplp-white);
  border:1px solid var(--pplp-border);
  color:var(--pplp-navy);
}

.ppl-partnersBtn--soft:hover,
.ppl-partnersBtn--soft:focus{
  border-color:var(--pplp-blue);
  color:var(--pplp-blue);
}

.ppl-partnersHeroCard{
  background:#fff;
  border:1px solid rgba(255,255,255,.15);
  border-radius:var(--pplp-radius);
  box-shadow:var(--pplp-shadow);
  color:var(--pplp-ink);
  padding:22px;
}

.ppl-partnersHeroCard__tag{
  background:var(--pplp-soft-green);
  border-radius:999px;
  color:#20865b;
  display:inline-flex;
  font-size:.73rem;
  font-weight:950;
  margin-bottom:12px;
  padding:6px 10px;
}

.ppl-partnersHeroCard h2{
  color:var(--pplp-navy);
  font-size:1.05rem;
  font-weight:950;
  margin:0 0 8px;
}

.ppl-partnersHeroCard p{
  color:var(--pplp-muted);
  font-size:.9rem;
  line-height:1.55;
}

/* =========================
   Partnerships Cards
   ========================= */
.ppl-partnersBand{
  padding:46px 0;
}

.ppl-partnersBand--tint{
  background:var(--pplp-soft-blue);
}

.ppl-sectionHead{
  margin-bottom:22px;
}

.ppl-sectionHead--center{
  text-align:center;
}

.ppl-sectionHead h2{
  color:var(--pplp-navy);
  font-size:clamp(1.35rem,2.3vw,1.75rem);
  font-weight:950;
  letter-spacing:-.02em;
  margin:0 0 6px;
}

.ppl-sectionHead p{
  color:var(--pplp-muted);
  font-size:.94rem;
  font-weight:650;
  line-height:1.55;
  margin:0;
  max-width:660px;
}

.ppl-sectionHead--center p{
  margin-inline:auto;
}

.ppl-partnerGrid{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.ppl-partnerGrid--two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.ppl-partnerGrid--four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.ppl-partnerCard,
.ppl-partnerMini,
.ppl-partnerChecklist{
  background:#fff;
  border:1px solid var(--pplp-border);
  border-radius:14px;
  box-shadow:var(--pplp-shadow);
}

.ppl-partnerCard{
  align-items:flex-start;
  display:flex;
  gap:14px;
  padding:18px;
}

.ppl-partnerCard__icon,
.ppl-partnerMini span{
  align-items:center;
  background:#aecbff;
  border-radius:12px;
  color:var(--pplp-blue);
  display:inline-flex;
  flex:0 0 auto;
  height:40px;
  justify-content:center;
  width:40px;
}

.ppl-partnerCard--lime .ppl-partnerCard__icon,
.ppl-partnerMini--lime span{background:var(--pplp-lime);color:var(--pplp-navy)}
.ppl-partnerCard--orange .ppl-partnerCard__icon,
.ppl-partnerMini--orange span{background:#fbc388;color:#9a520e}
.ppl-partnerCard--peri .ppl-partnerCard__icon,
.ppl-partnerMini--peri span{background:#c0c8fb;color:#4b3fb0}

.ppl-partnerCard h3,
.ppl-partnerMini h3,
.ppl-partnerChecklist h3{
  color:var(--pplp-ink);
  font-size:.98rem;
  font-weight:950;
  line-height:1.25;
  margin:0 0 6px;
}

.ppl-partnerCard p,
.ppl-partnerMini p,
.ppl-partnerChecklist p{
  color:var(--pplp-muted);
  font-size:.88rem;
  font-weight:650;
  line-height:1.55;
  margin:0;
}

.ppl-partnerCard a{
  color:var(--pplp-blue);
  display:inline-flex;
  font-size:.82rem;
  font-weight:950;
  margin-top:10px;
  text-decoration:none;
}

.ppl-partnerMini,
.ppl-partnerChecklist{
  padding:18px;
}

.ppl-partnerMini span{
  margin-bottom:14px;
}

.ppl-partnerChecklist{
  border-top:3px solid var(--pplp-border);
}

/* =========================
   Bottom CTA
   ========================= */
.ppl-partnersCta{
  background:var(--pplp-navy);
  color:#fff;
  padding:48px 0;
}

.ppl-partnersCta__content{
  text-align:center;
}

.ppl-partnersCta h2{
  color:#fff;
  font-size:clamp(1.55rem,3vw,2rem);
  font-weight:950;
  letter-spacing:-.02em;
  margin:0 0 10px;
}

.ppl-partnersCta p{
  margin:0 auto 22px;
  max-width:560px;
}

/* =========================
   Full Inquiry Form
   ========================= */
.ppl-partnersFormSection{
  padding:30px 0 62px;
}

.ppl-partnersFormGrid{
  align-items:start;
  display:grid;
  gap:24px;
  grid-template-columns:minmax(0,1fr) 320px;
}

.ppl-partnerFullForm{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0;
}

.ppl-formCard,
.ppl-formAsideCard{
  background:#fff;
  border:1px solid var(--pplp-border);
  border-radius:16px;
  box-shadow:var(--pplp-shadow);
  padding:20px;
}

.ppl-formCard__head{
  align-items:center;
  display:flex;
  gap:12px;
  margin-bottom:16px;
}

.ppl-formCard__head span{
  align-items:center;
  background:var(--pplp-navy);
  border-radius:999px;
  color:#fff;
  display:inline-flex;
  flex:0 0 auto;
  font-size:.82rem;
  font-weight:950;
  height:30px;
  justify-content:center;
  width:30px;
}

.ppl-formCard__head h2{
  color:var(--pplp-navy);
  font-size:1.08rem;
  font-weight:950;
  margin:0;
}

.ppl-formTwo{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.ppl-formField{
  margin-bottom:14px;
}

.ppl-formField--full{
  width:100%;
}

.ppl-formField label,
.ppl-checkboxStack + .errorlist,
.ppl-formCard--terms label{
  font-size:.76rem;
  font-weight:950;
}

.ppl-formField label{
  color:var(--pplp-navy);
  display:block;
  letter-spacing:.04em;
  margin-bottom:7px;
}

.ppl-partnerInput,
.ppl-formField select,
.ppl-formField textarea{
  background:#fff;
  border:1.5px solid var(--pplp-border);
  border-radius:12px;
  color:var(--pplp-navy);
  font:inherit;
  font-size:.9rem;
  font-weight:650;
  outline:none;
  padding:12px 14px;
  width:100%;
}

.ppl-partnerInput:focus,
.ppl-formField select:focus,
.ppl-formField textarea:focus{
  border-color:var(--pplp-blue);
  box-shadow:0 0 0 3px rgba(28,70,165,.08);
}

.ppl-formField textarea{
  resize:vertical;
}

.ppl-checkboxStack{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.ppl-checkboxPill{
  align-items:flex-start;
  background:#fff;
  border:1.5px solid var(--pplp-border);
  border-radius:12px;
  color:var(--pplp-slate);
  cursor:pointer;
  display:flex;
  gap:10px;
  line-height:1.45;
  padding:11px 13px;
}

.ppl-checkboxPill:has(input:checked){
  background:var(--pplp-soft-blue);
  border-color:var(--pplp-blue);
}

.ppl-checkboxPill input,
.ppl-termsCheck input{
  accent-color:var(--pplp-blue);
  flex:0 0 auto;
  margin-top:3px;
}

.ppl-checkboxPill span{
  font-size:.88rem;
  font-weight:700;
}

.ppl-formCard--terms{
  padding:16px 18px;
}

.ppl-formCard--terms{
  padding: 16px 18px;
}

.ppl-termsCheck{
  align-items: flex-start;
  color: var(--pplp-slate);
  cursor: pointer;
  display: flex;
  gap: 10px;
  line-height: 1.5;
  margin: 0;
  max-width: 100%;
}

.ppl-termsCheck input[type="checkbox"]{
  appearance: auto;
  flex: 0 0 auto;
  height: 18px;
  margin: 3px 0 0;
  min-width: 18px;
  width: 18px !important;
}

.ppl-termsCheck span{
  display: block;
  flex: 1 1 auto;
  font-size: .9rem;
  font-weight: 650;
  min-width: 0;
}

.ppl-formActions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

.errorlist{
  color:#c04b3f;
  font-size:.8rem;
  font-weight:750;
  list-style:none;
  margin:7px 0 0;
  padding:0;
}

.ppl-formError--block{
  background:#fff5f3;
  border:1px solid #f3c8bf;
  border-radius:12px;
  color:#9b2c21;
  padding:12px 14px;
}

.ppl-formAside{
  display:flex;
  flex-direction:column;
  gap:16px;
  position:sticky;
  top:90px;
}

.ppl-formAsideCard h3{
  color:var(--pplp-navy);
  font-size:1rem;
  font-weight:950;
  margin:0 0 8px;
}

.ppl-formAsideCard ol{
  color:var(--pplp-slate);
  font-size:.9rem;
  font-weight:650;
  line-height:1.65;
  margin:0;
  padding-left:20px;
}

.ppl-formAsideCard p{
  color:var(--pplp-muted);
  font-size:.88rem;
  font-weight:650;
  line-height:1.55;
  margin:0 0 12px;
}

.ppl-formAsideCard--blue{
  background:var(--pplp-soft-blue);
  border-color:#dbe6fb;
}

/* =========================
   Thank You
   ========================= */
.ppl-partnersThanks{
  background:var(--pplp-navy);
  color:#fff;
  min-height:420px;
  padding:64px 0 58px;
  text-align:center;
}

.ppl-partnersThanks__icon{
  align-items:center;
  background:var(--pplp-lime);
  border-radius:999px;
  color:var(--pplp-navy);
  display:inline-flex;
  font-size:2rem;
  font-weight:950;
  height:82px;
  justify-content:center;
  margin-bottom:18px;
  width:82px;
}

.ppl-partnersThanks p{
  margin:0 auto 24px;
  max-width:560px;
}

/* =========================
   Responsive
   ========================= */
@media (max-width:980px){
  .ppl-partnersHero__grid,
  .ppl-partnersFormGrid{
    grid-template-columns:1fr;
  }

  .ppl-formAside{
    position:static;
  }

  .ppl-partnerGrid,
  .ppl-partnerGrid--four{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:720px){
  .ppl-partnerGrid,
  .ppl-partnerGrid--two,
  .ppl-partnerGrid--four,
  .ppl-formTwo{
    grid-template-columns:1fr;
  }

  .ppl-partnersHero{
    padding:38px 0 42px;
  }

  .ppl-partnersBand,
  .ppl-partnersCta{
    padding:38px 0;
  }

  .ppl-partnersFormSection{
    padding:22px 0 46px;
  }

  .ppl-partnerCard{
    padding:16px;
  }

  .ppl-formActions{
    justify-content:stretch;
  }

  .ppl-formActions .ppl-partnersBtn{
    width:100%;
  }
}

@media (max-width:420px){
  .ppl-partnersHero h1,
  .ppl-partnersInquiry h1,
  .ppl-partnersThanks h1{
    font-size:1.85rem;
  }

  .ppl-partnersBtn{
    width:100%;
  }

  .ppl-partnersHero__actions{
    width:100%;
  }
}

/* =========================
   Dark Mode
   ========================= */
html[data-theme="dark"] .ppl-partners{
  background:#0f1e3d;
  color:#f5f7ff;
}

html[data-theme="dark"] .ppl-partnersBand--tint,
html[data-theme="dark"] .ppl-formAsideCard--blue{
  background:#172b56;
}

html[data-theme="dark"] .ppl-partnerCard,
html[data-theme="dark"] .ppl-partnerMini,
html[data-theme="dark"] .ppl-partnerChecklist,
html[data-theme="dark"] .ppl-partnersHeroCard,
html[data-theme="dark"] .ppl-formCard,
html[data-theme="dark"] .ppl-formAsideCard{
  background:#172b56;
  border-color:rgba(245,247,255,.16);
  color:#f5f7ff;
}

html[data-theme="dark"] .ppl-sectionHead h2,
html[data-theme="dark"] .ppl-partnerCard h3,
html[data-theme="dark"] .ppl-partnerMini h3,
html[data-theme="dark"] .ppl-partnerChecklist h3,
html[data-theme="dark"] .ppl-partnersHeroCard h2,
html[data-theme="dark"] .ppl-formCard__head h2,
html[data-theme="dark"] .ppl-formAsideCard h3,
html[data-theme="dark"] .ppl-formField label{
  color:#f5f7ff;
}

html[data-theme="dark"] .ppl-sectionHead p,
html[data-theme="dark"] .ppl-partnerCard p,
html[data-theme="dark"] .ppl-partnerMini p,
html[data-theme="dark"] .ppl-partnerChecklist p,
html[data-theme="dark"] .ppl-partnersHeroCard p,
html[data-theme="dark"] .ppl-formAsideCard p,
html[data-theme="dark"] .ppl-formAsideCard ol,
html[data-theme="dark"] .ppl-termsCheck,
html[data-theme="dark"] .ppl-checkboxPill{
  color:#c8d1ea;
}

html[data-theme="dark"] .ppl-partnerInput,
html[data-theme="dark"] .ppl-formField select,
html[data-theme="dark"] .ppl-formField textarea,
html[data-theme="dark"] .ppl-checkboxPill{
  background:#0f1e3d;
  border-color:rgba(245,247,255,.16);
  color:#f5f7ff;
}

html[data-theme="dark"] .ppl-checkboxPill:has(input:checked){
  background:#1b3d86;
  border-color:#a5b1f8;
}
