/* partnership page */
.pt-hero { position: relative; z-index: 1; max-width: var(--max); margin: 0 auto; padding: 52px 28px 8px; }
.pt-hero h1 { font-size: clamp(30px, 4vw, 48px); color: #fff; letter-spacing: -0.03em; margin: 10px 0 14px; text-wrap: balance; }
.pt-hero .lead { max-width: 64ch; font-size: 18px; }
.pt-hero .cta-row { margin: 24px 0 8px; }

.pt-keys { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 18px 0 0; }
.pt-keys li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(249,115,22,.35); background: var(--accent-soft); font-size: 14px; font-weight: 600; }
.pt-keys li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); flex: none; }

.pt-models { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 20px; margin-top: 28px; align-items: stretch; }
.pt-model { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 30px 26px 26px; border-radius: 20px; border: 1px solid var(--border); background: linear-gradient(180deg, #141b25, #10161e); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.pt-model:hover { transform: translateY(-3px); border-color: rgba(249,115,22,.5); box-shadow: 0 20px 44px rgba(0,0,0,.45); }
.pt-model-main { border-color: rgba(249,115,22,.75); background: radial-gradient(90% 120% at 0% 0%, rgba(249,115,22,.14), transparent 60%), linear-gradient(180deg, #151c26, #0f141b); box-shadow: 0 24px 60px rgba(249,115,22,.14); }
.pt-no { position: absolute; top: 20px; inset-inline-end: 22px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 999px; border: 1px solid var(--border); color: var(--accent); font-size: 13px; font-weight: 700; }
.pt-badge { align-self: flex-start; margin-bottom: 14px; padding: 5px 12px; border-radius: 999px; background: var(--accent-soft); border: 1px solid rgba(249,115,22,.45); color: #fdba74; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pt-model h3 { font-size: 23px; margin: 0 0 6px; color: #fff; }
.pt-model-sub { margin: 0 0 14px; color: var(--accent); font-size: 14px; font-weight: 600; }
.pt-model-body { margin: 0 0 18px; color: #c3cedb; font-size: 15.5px; line-height: 1.65; }
.pt-list { list-style: none; padding: 0; margin: 0 0 22px; flex: 1; }
.pt-list li { position: relative; padding-inline-start: 26px; margin-bottom: 10px; color: var(--muted); font-size: 15px; line-height: 1.5; }
.pt-list li::before { content: "✓"; position: absolute; inset-inline-start: 0; color: var(--accent); font-weight: 700; }
.pt-list li strong { color: var(--text); font-weight: 600; }

.pt-brandbar { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; border: 1px dashed rgba(249,115,22,.45); background: rgba(249,115,22,.06); }
.pt-brandbar svg { width: 26px; height: 28px; flex: none; fill: none; stroke: var(--accent); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.pt-brandbar span { font-size: 13.5px; color: #c3cedb; line-height: 1.5; }
.pt-brandbar b { color: #fff; }

.pt-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; margin-top: 26px; }
.pt-col { padding: 24px; border-radius: 16px; border: 1px solid var(--border); background: var(--panel); }
.pt-col h3 { font-size: 17px; margin: 0 0 12px; }
.pt-col.us h3 { color: var(--accent); }
.pt-col.you h3 { color: var(--green); }
.pt-col ul { margin: 0; padding-inline-start: 20px; color: var(--muted); }
.pt-col li { margin-bottom: 8px; }

.pt-rules-strip { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px 22px; padding: 16px 20px; margin: 18px 0 0; border-radius: 14px; border: 1px solid var(--border); background: var(--panel); }
.pt-rules-strip li { position: relative; padding-inline-start: 24px; color: var(--muted); font-size: 14.5px; line-height: 1.5; }
.pt-rules-strip li::before { content: "✓"; position: absolute; inset-inline-start: 0; color: var(--green); font-weight: 700; }

.pt-steps { list-style: none; counter-reset: s; padding: 0; margin: 26px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.pt-steps li { counter-increment: s; padding: 22px 20px; border-radius: 16px; border: 1px solid var(--border); background: var(--panel); transition: border-color .18s ease; }
.pt-steps li:hover { border-color: rgba(249,115,22,.45); }
.pt-steps li::before { content: counter(s); display: grid; place-items: center; width: 28px; height: 28px; margin-bottom: 12px; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: 13px; font-weight: 700; box-shadow: 0 0 0 3px rgba(249,115,22,.08); }
.pt-steps h3 { font-size: 16px; margin: 0 0 6px; }
.pt-steps p { margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.55; }

.pt-money { margin-top: 26px; padding: 28px; border-radius: 20px; border: 1px solid rgba(249,115,22,.4); background: radial-gradient(80% 140% at 0% 0%, rgba(249,115,22,.14), transparent 60%), linear-gradient(180deg, #151c26, #0f141b); }
.pt-money h3 { margin: 0 0 10px; color: #fff; font-size: 21px; }
.pt-money p { margin: 0 0 14px; color: #c3cedb; line-height: 1.65; }
.pt-flow { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 0; margin: 18px 0 0; }
.pt-flow li { padding: 10px 16px; border-radius: 12px; border: 1px solid var(--border); background: #10161e; font-size: 14px; font-weight: 600; }
.pt-flow li.pt-flow-end { border-color: rgba(52,211,153,.5); color: var(--green); }
.pt-flow .pt-arrow { border: 0; background: none; color: var(--accent); padding: 0 2px; font-size: 18px; }
[dir="rtl"] .pt-flow .pt-arrow { transform: scaleX(-1); }

.pt-teaser { margin-top: 26px; display: grid; grid-template-columns: repeat(auto-fit, minmax(218px, 1fr)); gap: 16px; }
.pt-tease { padding: 22px 20px; border-radius: 16px; border: 1px solid var(--border); background: linear-gradient(180deg, #141b25, #10161e); }
.pt-tease h3 { font-size: 16px; margin: 0 0 8px; color: #fff; }
.pt-tease p { margin: 0; color: var(--muted); font-size: 14.5px; line-height: 1.6; }
.pt-tease-lock { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 10px; color: var(--accent); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pt-tease-lock svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }

/* application form */
.pt-form-section { max-width: 960px; margin: 0 auto; padding: 58px 28px 70px; }
.pt-form-wrap { padding: 30px; border-radius: 22px; border: 1px solid rgba(249,115,22,.35); background: radial-gradient(70% 120% at 100% 0%, rgba(249,115,22,.10), transparent 60%), linear-gradient(180deg, #151c26, #0f141b); box-shadow: 0 26px 70px rgba(0,0,0,.45); }
.pt-form-wrap h2 { margin: 0 0 8px; color: #fff; }
.pt-form-wrap .section-lead { margin: 0 0 24px; }
#partner-form .field-wide { grid-column: 1 / -1; }
#partner-form .cselect-list { max-height: 290px; overflow-y: auto; }
.pt-phone { display: grid; grid-template-columns: minmax(150px, 190px) 1fr; gap: 10px; }
.pt-phone .cselect-btn { font-weight: 600; gap: 6px; }
.pt-phone .cselect-val { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; direction: ltr; text-align: left; }
#partner-form .pt-phone .cselect-item { direction: ltr; text-align: left; }
.pt-phone input { min-width: 0; }
.pt-hint { margin: 6px 0 0; color: var(--muted); font-size: 12.5px; }
.pt-required { color: var(--accent); }
@media (max-width: 520px) {
  .pt-phone { grid-template-columns: 1fr; }
  .pt-form-wrap { padding: 22px 18px; }
}

/* home page teaser band */
.home-partner { text-align: left; }
.home-partner .pt-models { margin-top: 24px; }

.pt-hero-sub { padding-top: 26px; }
.pt-back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; color: var(--muted); font-size: 14px; text-decoration: none; }
.pt-back::before { content: "\2190"; }
.pt-back:hover { color: var(--text); }
.pt-list-wide { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px 26px; }
.section > .pt-brandbar { margin-top: 18px; }
