/* =========================================================================
   page-partners.css — styles unique to partners/index.html
   All canonical tokens, .card, .btn, .pill, .tag-row, .card-grid,
   .section-head, .container come from foundation.css, layout.css,
   and design-system.css.
   ========================================================================= */

main a { color: var(--hvb-teal); text-decoration: none; }
main a:hover { text-decoration: underline; }

/* ── Secondary paragraph ─────────────────────────────────────────────────── */
.sub {
  margin: 6px 0 0;
  color: var(--hvb-slate);
  font-size: 15px;
  line-height: 1.5;
}

/* ── Inline button/tag group inside cards ────────────────────────────────── */
.mini {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* ── Partner lanes grid ──────────────────────────────────────────────────── */
.lanes {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 14px;
  align-items: start;
}

@media (max-width: 980px) {
  .lanes { grid-template-columns: 1fr; }
}

/* ── Individual lane card ────────────────────────────────────────────────── */
.lane {
  border: 1px solid rgba(14, 59, 46, 0.10);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.lane-head {
  padding: 14px;
  background:
    linear-gradient(90deg, rgba(31, 111, 98, 0.08), rgba(31, 111, 98, 0.02)),
    url("../textures/tx_topo-hudson-lines_tile.svg");
  background-repeat: no-repeat, repeat;
  background-size: cover, 520px 520px;
  border-bottom: 1px solid rgba(14, 59, 46, 0.10);
}

.lane-head strong {
  font-family: var(--font-head);
  color: var(--hvb-green);
  font-size: 16px;
}

.lane-body {
  padding: 14px;
  color: var(--hvb-slate);
}

.lane-body ul {
  margin: 10px 0 0;
  padding-left: 18px;
}

.lane-body li { margin: 6px 0; }

/* ── Partner pledge block ────────────────────────────────────────────────── */
.pledge {
  background:
    linear-gradient(180deg, rgba(14, 59, 46, 0.06), rgba(14, 59, 46, 0.02)),
    url("../textures/tx_circular-flow_tile.svg");
  background-repeat: no-repeat, repeat;
  background-size: cover, 560px 560px;
  border: 1px solid rgba(14, 59, 46, 0.10);
  border-radius: 14px;
  padding: 16px;
}

.pledge ol {
  margin: 12px 0 0;
  padding-left: 18px;
  color: var(--hvb-slate);
}

.pledge li { margin: 8px 0; }

/* ── Plain list (no markers) ─────────────────────────────────────────────── */
.list {
  margin: 0;
  padding-inline-start: 0;
  list-style: none;
}

/* ── Partner intake form ─────────────────────────────────────────────────── */
form { margin-top: 12px; }

.row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}

@media (max-width: 720px) {
  .row { grid-template-columns: 1fr; }
}

label {
  display: block;
  font-weight: 700;
  font-size: 13px;
  color: var(--hvb-black);
  margin-bottom: 6px;
}

input[type="text"],
input[type="email"],
input[type="url"],
select,
textarea {
  width: 100%;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(14, 59, 46, 0.18);
  outline: none;
  font-size: 14px;
  background: #fff;
}

textarea { min-height: 110px; resize: vertical; }

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(31, 111, 98, 0.55);
  box-shadow: 0 0 0 4px rgba(31, 111, 98, 0.16);
}

.hint {
  margin-top: 6px;
  font-size: 12.5px;
  color: rgba(57, 74, 74, 0.88);
}

.actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 12px;
}

.status {
  margin-top: 10px;
  font-size: 13px;
  color: rgba(18, 22, 23, 0.72);
}

.status.error { color: #B42318; }
.status.success { color: #1F8A5B; }
