:root {
  --partner-dark: #101018;
  --partner-wash: #f1eefb;
  --partner-card: #ffffff;
  --partner-line: #dfdbea;
}

.partner-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 0.78fr); gap: clamp(30px, 6vw, 92px); align-items: center; min-height: calc(100vh - 68px); }
.partner-hero-copy { max-width: 760px; }
.partner-hero h1 { max-width: 800px; font-size: clamp(48px, 7.2vw, 92px); }
.partner-hero .lead { max-width: 640px; }
.hero-fine { max-width: 570px; margin: 18px 0 0; color: rgba(21, 19, 29, 0.52); font-size: 13px; line-height: 1.6; }

.partner-proof { display: grid; gap: 16px; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(150deg, rgba(255, 255, 255, 0.96), rgba(248, 247, 253, 0.9)); box-shadow: var(--shadow); padding: clamp(20px, 3vw, 30px); }
.proof-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.proof-topline strong { color: var(--green); font-size: 11px; }
.proof-problem, .proof-outcome { border: 1px solid var(--line); border-radius: 14px; background: var(--paper); padding: 18px; box-shadow: 0 12px 28px rgba(39, 29, 75, 0.05); }
.proof-problem span, .proof-outcome span, .proof-grid span { display: block; color: var(--muted); font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.proof-problem p { margin: 9px 0 0; font-family: "IBM Plex Serif", Georgia, serif; font-size: clamp(22px, 2.5vw, 30px); line-height: 1.14; }
.proof-outcome { border-left: 4px solid var(--violet); }
.proof-outcome strong { display: block; margin-top: 9px; font-size: 16px; line-height: 1.5; }
.proof-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.proof-grid article { border-radius: 14px; background: var(--partner-dark); color: #fff; padding: 16px; }
.proof-grid span { color: rgba(255, 255, 255, 0.58); }
.proof-grid strong { display: block; margin-top: 6px; font-size: 14px; line-height: 1.35; }

.partner-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, 0.76); }
.partner-strip article { min-height: 178px; padding: 30px clamp(20px, 4vw, 50px); border-right: 1px solid var(--line); }
.partner-strip article:last-child { border-right: 0; }
.partner-strip span { display: block; color: var(--muted); font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.partner-strip strong { display: block; margin-top: 12px; font-family: "IBM Plex Serif", Georgia, serif; font-size: clamp(38px, 4vw, 56px); font-weight: 500; line-height: 0.9; }
.partner-strip p { max-width: 260px; margin: 12px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }

.partner-section { background: var(--paper-soft); }
.steps-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 40px; }
.steps-grid article { min-height: 245px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); padding: 22px; }
.steps-grid article > span { color: var(--violet); font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; font-size: 12px; font-weight: 600; }
.steps-grid h3 { margin-top: 42px; font-size: 27px; }
.steps-grid p { margin: 13px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }

.commission-section { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(350px, 0.8fr); gap: clamp(30px, 7vw, 110px); align-items: center; }
.commission-copy p:last-child { max-width: 640px; margin: 24px 0 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.commission-card { border-radius: 20px; background: var(--partner-dark); color: #fff; padding: clamp(26px, 4vw, 40px); box-shadow: 0 24px 70px rgba(39, 29, 75, 0.2); }
.commission-head { padding-bottom: 24px; border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
.commission-head span { display: block; color: rgba(255, 255, 255, 0.58); font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.commission-head strong { display: block; margin-top: 12px; font-family: "IBM Plex Serif", Georgia, serif; font-size: clamp(34px, 4vw, 52px); font-weight: 500; line-height: 0.94; }
.commission-card ul { display: grid; gap: 14px; margin: 25px 0; padding: 0; list-style: none; }
.commission-card li { display: flex; gap: 10px; color: rgba(255, 255, 255, 0.78); font-size: 14px; line-height: 1.5; }
.commission-card li::before { color: #fff; content: "✓"; font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; font-size: 12px; }
.commission-card > p { margin: 0; color: rgba(255, 255, 255, 0.52); font-size: 12px; line-height: 1.55; }

.assets-section { background: var(--partner-wash); }
.asset-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 38px; }
.asset-card { min-height: 290px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); padding: 26px; box-shadow: 0 14px 36px rgba(39, 29, 75, 0.06); }
.asset-card > span { color: var(--violet); font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.asset-card h3 { margin-top: 42px; font-size: clamp(27px, 3vw, 36px); }
.asset-card p { margin: 15px 0 0; color: var(--muted); line-height: 1.6; }
.asset-card.medspa { background: linear-gradient(145deg, #fff, #fff5fa); }
.asset-card.medspa > span { color: #9d3e72; }
.asset-card.home { background: linear-gradient(145deg, #fff, #f0f8f5); }
.asset-card.home > span { color: var(--green); }

.partner-apply { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(380px, 0.9fr); gap: clamp(30px, 7vw, 110px); align-items: start; }
.partner-apply-copy { position: sticky; top: 100px; }
.partner-apply-copy > p:last-child { max-width: 560px; margin: 24px 0 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.partner-form { border: 1px solid var(--line); border-radius: 20px; background: var(--paper); box-shadow: var(--shadow); padding: clamp(22px, 4vw, 34px); }
.partner-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.partner-form label { display: grid; gap: 7px; color: var(--ink); font-size: 13px; font-weight: 700; }
.partner-form label > span { display: block; }
.partner-form small { color: var(--muted); font-weight: 500; }
.partner-form input, .partner-form select, .partner-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); padding: 11px 12px; outline: none; }
.partner-form textarea { min-height: 112px; resize: vertical; line-height: 1.5; }
.partner-form input:focus, .partner-form select:focus, .partner-form textarea:focus { border-color: var(--violet); box-shadow: 0 0 0 4px var(--violet-soft); }
.partner-message { margin-top: 16px; }
.partner-form .consent-field { display: flex; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px; margin-top: 16px; color: var(--muted); font-size: 12px; font-weight: 500; line-height: 1.5; }
.partner-form .consent-field input { width: 16px; height: 16px; margin: 1px 0 0; padding: 0; }
.form-privacy { margin: 14px 0 18px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.form-privacy a { color: var(--violet); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.partner-form .button { width: 100%; }
.partner-status { min-height: 20px; margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.partner-status.error { color: #a53f3f; }
.honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 1080px) {
  .partner-hero, .commission-section, .partner-apply { grid-template-columns: 1fr; }
  .partner-hero { min-height: auto; }
  .partner-proof { max-width: 720px; }
  .steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-apply-copy { position: static; }
}

@media (max-width: 760px) {
  .partner-hero { padding-top: 70px; }
  .partner-hero h1 { font-size: clamp(46px, 14vw, 66px); }
  .partner-strip, .asset-grid { grid-template-columns: 1fr; }
  .partner-strip article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .partner-strip article:last-child { border-bottom: 0; }
  .steps-grid, .partner-form-grid { grid-template-columns: 1fr; }
  .steps-grid article { min-height: auto; }
  .steps-grid h3 { margin-top: 28px; }
  .asset-card { min-height: 220px; }
  .asset-card h3 { margin-top: 28px; }
}
