.reseller-hero { position: relative; overflow: hidden; padding: 74px 0 92px; background: radial-gradient(620px 480px at 92% 0%, rgba(238,111,145,.12), transparent 70%), linear-gradient(180deg,#fbfbff,#fff); }
.reseller-hero::before { content: ""; position: absolute; left: -260px; bottom: -420px; width: 640px; height: 640px; border: 1px solid rgba(96,91,215,.09); border-radius: 50%; box-shadow: 0 0 0 100px rgba(96,91,215,.025),0 0 0 200px rgba(238,111,145,.018); }
.reseller-hero-grid { position: relative; display: grid; grid-template-columns: .92fr 1.08fr; gap: 68px; align-items: center; }
.reseller-copy h1 { max-width: 590px; }
.reseller-copy h1 span { color: transparent; background: var(--gradient); background-clip: text; -webkit-background-clip: text; }

.partner-visual { position: relative; min-height: 500px; padding: 34px 10px 38px 34px; }
.partner-visual::before { content: ""; position: absolute; inset: 70px 0 0 70px; border-radius: 28px; background: linear-gradient(145deg,#5f5bd7,#c260b3 75%,#ee6f91); transform: rotate(3deg); opacity: .16; }
.partner-window { position: relative; z-index: 2; overflow: hidden; min-height: 420px; padding: 22px; border: 1px solid rgba(224,226,237,.92); border-radius: 18px; background: rgba(255,255,255,.95); box-shadow: 0 30px 80px rgba(34,32,83,.18); }
.partner-window-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.mini-brand { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 9px; font-weight: 900; }
.mini-brand i { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 7px; color: #fff; background: var(--gradient); font-size: 7px; font-style: normal; }
.demo-pill { padding: 6px 9px; border-radius: 20px; color: var(--primary); background: #eeedff; font-size: 7px; font-weight: 900; text-transform: uppercase; }
.partner-greeting { padding: 19px 0 15px; }
.partner-greeting span { display: block; color: var(--primary); font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.partner-greeting b { display: block; max-width: 360px; margin-top: 5px; font-size: 15px; line-height: 1.35; }
.partner-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.partner-metrics article { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fafaff; }
.partner-metrics span,.partner-metrics small { display: block; color: var(--muted); font-size: 6px; }
.partner-metrics strong { display: block; margin: 5px 0 2px; font-size: 20px; }
.partner-metrics small { color: var(--success); font-weight: 800; }
.partner-flow { margin-top: 13px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
.flow-head { display: flex; justify-content: space-between; color: var(--muted); font-size: 7px; }
.flow-head b { color: var(--ink); font-size: 8px; }
.client-row { display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; margin-top: 12px; }
.client-row > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: #1a1d2e; font-size: 8px; font-style: normal; font-weight: 900; }
.client-row b,.client-row small { display: block; }
.client-row b { font-size: 8px; }
.client-row small { margin-top: 2px; color: var(--muted); font-size: 6px; }
.client-row em { color: var(--primary); font-size: 7px; font-style: normal; font-weight: 900; }
.flow-track { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; margin-top: 14px; }
.flow-track i { height: 5px; border-radius: 4px; background: #e8e9ef; }
.flow-track i:nth-child(-n+2) { background: var(--gradient); }
.flow-labels { display: flex; justify-content: space-between; margin-top: 5px; color: #98a0b1; font-size: 5.5px; }
.partner-float { position: absolute; z-index: 3; display: grid; grid-template-columns: 33px 1fr; column-gap: 9px; align-items: center; padding: 11px 14px; border: 1px solid var(--line); border-radius: 11px; background: #fff; box-shadow: 0 17px 38px rgba(16,24,40,.15); }
.partner-float > span { grid-row: 1 / 3; width: 33px; height: 33px; display: grid; place-items: center; border-radius: 9px; color: var(--success); background: var(--success-bg); font-size: 12px; font-weight: 900; }
.partner-float b,.partner-float small { display: block; }
.partner-float b { font-size: 8px; }
.partner-float small { color: var(--muted); font-size: 6px; }
.partner-float-one { left: -8px; bottom: 34px; }
.partner-float-two { right: -15px; top: 80px; }
.partner-float-two > span { color: var(--primary); background: #efeeff; }

.partner-models { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 48px; }
.partner-model { position: relative; display: flex; flex-direction: column; min-height: 470px; padding: 30px; border: 1px solid var(--line); border-radius: 15px; background: #fff; transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.partner-model:hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(16,24,40,.09); }
.partner-model.featured { border: 2px solid var(--primary); box-shadow: 0 24px 55px rgba(96,91,215,.14); }
.popular-label { position: absolute; top: -13px; right: 20px; padding: 6px 10px; border-radius: 20px; color: #fff; background: var(--gradient); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.model-number { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; color: var(--primary); background: #eeedff; font-size: 10px; font-weight: 900; }
.model-label { margin-top: 22px; color: var(--primary); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.partner-model h3 { margin-top: 8px; font-size: 21px; letter-spacing: -.03em; }
.partner-model p { margin-top: 11px; color: var(--muted); font-size: 12px; }
.partner-model ul { display: grid; gap: 10px; margin: 23px 0 27px; list-style: none; }
.partner-model li { display: flex; gap: 9px; color: #4e586d; font-size: 11.5px; }
.partner-model li::before { content: "✓"; color: var(--success); font-weight: 900; }
.partner-model button { min-height: 45px; margin-top: auto; border: 1px solid #d9dce6; border-radius: 8px; color: var(--primary); background: #fff; font-size: 11px; font-weight: 900; }
.partner-model.featured button { border-color: transparent; color: #fff; background: var(--gradient); }

.partner-benefits .split { gap: 64px; }
.benefit-list { display: grid; gap: 4px; margin-top: 28px; }
.benefit-list > div { display: grid; grid-template-columns: 36px 1fr; gap: 13px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.benefit-list > div > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; color: var(--primary); background: #eeedff; font-size: 8px; font-weight: 900; }
.benefit-list b,.benefit-list small { display: block; }
.benefit-list b { font-size: 13px; }
.benefit-list small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.partner-kit { padding: 35px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; color: #fff; background: radial-gradient(300px 220px at 100% 0%,rgba(238,111,145,.25),transparent 72%),#171a2b; box-shadow: 0 25px 60px rgba(16,24,40,.16); }
.kit-kicker { color: #aaa6ff; font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.partner-kit h3 { margin-top: 9px; font-size: 27px; }
.partner-kit > p { margin-top: 9px; color: #acb3c4; font-size: 12px; }
.kit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 25px; }
.kit-grid div { min-height: 125px; padding: 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.045); }
.kit-grid i { width: 38px; height: 30px; display: grid; place-items: center; border-radius: 7px; color: #c9c6ff; background: rgba(140,132,255,.13); font-size: 6px; font-style: normal; font-weight: 900; }
.kit-grid b,.kit-grid small { display: block; }
.kit-grid b { margin-top: 13px; font-size: 10px; }
.kit-grid small { margin-top: 3px; color: #9ea6b9; font-size: 8px; }

.process-line { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 55px; }
.process-line::before { content: ""; position: absolute; left: 10%; right: 10%; top: 26px; height: 1px; background: linear-gradient(90deg,#b9b5ef,#efacc0); }
.process-line article { position: relative; padding: 0 18px; text-align: center; }
.process-line article > span { position: relative; z-index: 1; width: 52px; height: 52px; display: grid; place-items: center; margin: 0 auto; border: 1px solid #c9c6f2; border-radius: 50%; color: var(--primary); background: #fff; box-shadow: 0 8px 20px rgba(96,91,215,.1); font-size: 12px; font-weight: 900; }
.process-line h3 { margin-top: 20px; font-size: 17px; }
.process-line p { margin-top: 7px; color: var(--muted); font-size: 11.5px; }

.section-dark { color: #fff; background: #151827; }
.section-dark .kicker { color: #aaa6ff; }
.partner-responsibilities { display: grid; grid-template-columns: .8fr 1.2fr; gap: 68px; align-items: center; }
.partner-responsibilities h2 { max-width: 500px; }
.partner-responsibilities > div > p { max-width: 480px; margin-top: 16px; color: #aab2c4; }
.responsibility-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.responsibility-grid article { padding: 29px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.045); }
.responsibility-grid article > span { color: #c7c4ff; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.responsibility-grid ul { display: grid; gap: 12px; margin-top: 24px; list-style: none; }
.responsibility-grid li { display: flex; gap: 9px; color: #c2c8d5; font-size: 11.5px; }
.responsibility-grid li::before { content: "✓"; color: #79d8bd; font-weight: 900; }
.responsibility-grid .teamsign-side { border-color: rgba(170,166,255,.35); background: linear-gradient(145deg,rgba(96,91,215,.15),rgba(238,111,145,.09)); }

.partner-faq { max-width: 850px; margin: 45px auto 0; border-top: 1px solid var(--line); }
.partner-faq details { border-bottom: 1px solid var(--line); }
.partner-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 21px 3px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 800; }
.partner-faq summary::-webkit-details-marker { display: none; }
.partner-faq summary span { color: var(--primary); font-size: 22px; font-weight: 500; transition: transform .2s ease; }
.partner-faq details[open] summary span { transform: rotate(45deg); }
.partner-faq details p { max-width: 760px; padding: 0 3px 22px; color: var(--muted); font-size: 12px; }

.reseller-form-section { border-top: 1px solid var(--line); background: linear-gradient(180deg,#f7f7fb,#fff); }
.reseller-form-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 55px; align-items: start; }
.form-intro { position: sticky; top: 135px; }
.form-intro h2 { max-width: 430px; }
.form-intro > p { margin-top: 16px; color: var(--muted); font-size: 14px; }
.form-reassurance { display: grid; gap: 17px; margin-top: 32px; }
.form-reassurance > div { display: grid; grid-template-columns: 33px 1fr; column-gap: 11px; }
.form-reassurance span { grid-row: 1 / 3; width: 33px; height: 33px; display: grid; place-items: center; border-radius: 50%; color: var(--primary); background: #eae9fc; font-size: 8px; font-weight: 900; }
.form-reassurance b,.form-reassurance small { display: block; }
.form-reassurance b { font-size: 12px; }
.form-reassurance small { margin-top: 2px; color: var(--muted); font-size: 9.5px; }
.reseller-form-card { padding: 37px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 22px 60px rgba(16,24,40,.09); }
.reseller-form-card form { display: grid; gap: 16px; }
.form-heading { margin-bottom: 7px; }
.form-heading > span { color: var(--primary); font-size: 9px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.form-heading h3 { margin-top: 6px; font-size: 27px; }
.form-heading p { margin-top: 5px; color: var(--muted); font-size: 10px; }
.reseller-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 4px; padding-top: 20px; border-top: 1px solid var(--line); }
.reseller-form-footer .form-error { flex: 1; margin: 0; }
.reseller-form-footer .btn { flex: none; }
.reseller-success { display: none; padding: 45px 20px; text-align: center; }
.reseller-success > span { width: 62px; height: 62px; display: grid; place-items: center; margin: 0 auto 19px; border-radius: 50%; color: var(--success); background: var(--success-bg); font-size: 24px; font-weight: 900; }
.reseller-success h3 { font-size: 25px; }
.reseller-success p { max-width: 530px; margin: 9px auto 24px; color: var(--muted); font-size: 12px; }
.reseller-form-card.sent form { display: none; }
.reseller-form-card.sent .reseller-success { display: block; }

@media(max-width:1120px) {
  .reseller-hero-grid { grid-template-columns: 1fr; }
  .partner-visual { width: min(760px,100%); }
}

@media(max-width:900px) {
  .partner-models { grid-template-columns: 1fr; }
  .partner-model { min-height: 0; }
  .partner-responsibilities,.reseller-form-layout { grid-template-columns: 1fr; }
  .form-intro { position: static; }
}

@media(max-width:780px) {
  .reseller-hero { padding: 52px 0 68px; }
  .partner-visual { min-height: 440px; padding: 24px 0 32px; }
  .partner-window { min-height: 390px; }
  .partner-float-one { left: -6px; }
  .partner-float-two { right: -5px; }
  .process-line { grid-template-columns: 1fr 1fr; row-gap: 38px; }
  .process-line::before { display: none; }
  .responsibility-grid { grid-template-columns: 1fr; }
  .reseller-form-card { padding: 27px 22px; }
  .reseller-form-footer { align-items: stretch; flex-direction: column; }
  .reseller-form-footer .btn { width: 100%; }
}

@media(max-width:560px) {
  .partner-visual { min-height: 390px; }
  .partner-window { min-height: 360px; padding: 15px; }
  .partner-metrics article:nth-child(3) { display: none; }
  .partner-metrics { grid-template-columns: 1fr 1fr; }
  .client-row { grid-template-columns: 30px 1fr; }
  .client-row em { display: none; }
  .partner-float { display: none; }
  .partner-model { padding: 25px; }
  .kit-grid,.process-line { grid-template-columns: 1fr; }
  .partner-kit { padding: 27px 22px; }
  .process-line { gap: 30px; }
  .reseller-form-card { padding: 24px 17px; }
}
