/* dznir.com/partnerships (partnerships.php): who dznir works with and the form. Built on styles.css (tokens, .wrap,
   .btn, .kicker, .sec-title, .hp); fields match the home page's sign-up fields (48 px, round). 4 / 8 px spacing. */
.pt-hero { padding: 64px 0 48px; }
.pt-hero .sec-title { max-width: 14ch; }
.pt-lede { max-width: 56ch; margin: 24px 0 0; color: var(--ink-2); font-size: 18px; line-height: 1.6; }
.pt-hero__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 32px; }
.pt-mail { color: var(--muted); font-size: 15px; font-weight: 500; text-underline-offset: 3px; }
.pt-mail:hover { color: var(--ink); }

.pt-h2 { margin: 0 0 24px; font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.2; letter-spacing: -0.03em; }

/* Who we work with: a card per kind; a tap picks that kind in the form */
.pt-kinds { padding: 48px 0; }
.pt-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pt-card { display: grid; grid-template-rows: auto auto 1fr auto; gap: 8px; padding: 24px; border-radius: 24px; background: var(--card); border: 1px solid var(--line); color: inherit; text-decoration: none; transition: transform 0.4s var(--ease-out), border-color 0.2s, box-shadow 0.4s var(--ease-out); }
.pt-card:hover, .pt-card:focus-visible { transform: translateY(-2px); border-color: rgba(17, 17, 16, 0.18); box-shadow: 0 24px 48px -32px rgba(17, 17, 16, 0.35); }
.pt-card__ico { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 8px; border-radius: 12px; background: var(--paper-2); color: var(--accent-ink); }
.pt-card__ico svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pt-card h3 { margin: 0; font-size: 18px; font-weight: 600; line-height: 1.3; letter-spacing: -0.015em; }
.pt-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.pt-card__go { margin-top: 8px; color: var(--accent-ink); font-size: 14px; font-weight: 600; }

/* Tell us about it: steps on the left, the form on the right */
.pt-talk { padding: 48px 0 96px; scroll-margin-top: 88px; }
.pt-talk__grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
.pt-talk__side { position: sticky; top: 112px; }
.pt-talk__text { max-width: 40ch; margin: 0 0 32px; color: var(--ink-2); font-size: 16px; line-height: 1.6; }
.pt-steps { display: grid; gap: 24px; margin: 0 0 32px; padding: 0; list-style: none; counter-reset: pt; }
.pt-steps li { position: relative; display: grid; gap: 4px; padding-left: 48px; counter-increment: pt; }
.pt-steps li::before { content: counter(pt); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--ink); color: #FFFFFF; font: 600 14px/1 var(--sans); }
.pt-steps b { font-size: 16px; font-weight: 600; line-height: 32px; }
.pt-steps span { margin-top: -4px; color: var(--muted); font-size: 15px; line-height: 1.5; }
.pt-talk__mail { margin: 0; color: var(--muted); font-size: 15px; }
.pt-talk__mail a { color: var(--ink); font-weight: 600; text-underline-offset: 3px; }

.pt-box { padding: 32px; border-radius: 28px; background: var(--card); border: 1px solid var(--line); box-shadow: 0 32px 64px -48px rgba(17, 17, 16, 0.4); }
.pt-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.pt-field { display: grid; gap: 8px; align-content: start; font-size: 13px; font-weight: 600; color: var(--ink-2); }
.pt-field--wide { grid-column: 1 / -1; }
.pt-field small { font-weight: 500; color: var(--muted); }
.pt-field input, .pt-field select, .pt-field textarea { width: 100%; border: 1px solid rgba(17, 17, 16, 0.14); background: var(--paper); font: 500 16px var(--sans); color: var(--ink); outline: 0; transition: border-color 0.2s, box-shadow 0.2s, background 0.2s; }
.pt-field input, .pt-field select { height: 48px; padding: 0 16px; border-radius: 999px; }
.pt-field textarea { min-height: 136px; padding: 12px 16px; border-radius: 20px; line-height: 1.5; resize: vertical; }
.pt-field input:focus, .pt-field select:focus, .pt-field textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(17, 17, 16, 0.06); background: #FFFFFF; }
.pt-field input::placeholder, .pt-field textarea::placeholder { color: #A39E94; }
.pt-field .is-bad { border-color: #C8350C; box-shadow: 0 0 0 3px rgba(200, 53, 12, 0.12); }
.pt-select { position: relative; display: block; }
.pt-select select { appearance: none; padding-right: 48px; cursor: pointer; }
.pt-select select:invalid { color: #A39E94; }
.pt-select svg { position: absolute; right: 16px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); fill: none; stroke: var(--muted); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.pt-count { justify-self: end; font-weight: 500; color: var(--muted); }
.pt-count.is-near { color: #7A4F00; }
.pt-hint { margin: 0 0 16px; font-size: 14px; color: #C8350C; }
.pt-hint:empty { display: none; }
.pt-legal { margin: 16px 0 0; font-size: 12px; line-height: 1.6; color: var(--muted); text-align: center; }
.pt-legal a { color: inherit; }

.pt-done, .pt-off { display: grid; justify-items: center; gap: 8px; padding: 32px 8px; text-align: center; }
.pt-done[hidden] { display: none; }
.pt-done:focus { outline: none; }
.pt-done__ico { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 8px; border-radius: 50%; background: #E3F6E8; color: var(--ok); }
.pt-done__ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.pt-done__title { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -0.02em; }
.pt-done__text { max-width: 36ch; margin: 0 0 16px; color: var(--muted); font-size: 15px; line-height: 1.55; }
.pt-again { height: 40px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--card); color: var(--ink); font: 600 14px var(--sans); cursor: pointer; }
.pt-again:hover { border-color: rgba(17, 17, 16, 0.24); }

@media (max-width: 1000px) {
  .pt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pt-talk__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .pt-talk__side { position: static; }
}
@media (max-width: 640px) {
  .pt-hero { padding: 40px 0 32px; }
  .pt-lede { font-size: 16px; }
  .pt-hero__acts .btn { width: 100%; }
  .pt-hero__acts { justify-content: center; }
  .pt-kinds { padding: 32px 0; }
  .pt-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pt-card { padding: 20px; }
  .pt-talk { padding: 32px 0 64px; }
  .pt-box { padding: 24px 16px; border-radius: 24px; }
  .pt-form__grid { grid-template-columns: minmax(0, 1fr); }
}
