/* Patrocinadores 2026 — strictly bicromía azul + blanco
   Layout system reused from Entradas / Programa: chamfer cards,
   editorial heads with [n][h2][tail], azul/blanco section ping-pong. */
@import url('../assets/colors_and_type.css');

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { background: #fff; color: var(--si-azul-impact); font-family: var(--ff-body); }
body { overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; background: transparent; border: 0; cursor: pointer; color: inherit; }
img { display: block; max-width: 100%; }
::selection { background: var(--si-azul-impact); color: #fff; }
html { scroll-behavior: smooth; }

.si-wrap { max-width: 1440px; margin: 0 auto; padding: 0 48px; }

/* ─── Buttons (shared idiom) ────────────────────────────────── */
.si-btn {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--ff-display); font-weight: 600;
  font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase;
  padding: 16px 22px;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  transition: background var(--dur-sm) var(--ease-atlantic), color var(--dur-sm) var(--ease-atlantic);
  white-space: nowrap;
}
.si-btn--white { background: #fff; color: var(--si-azul-impact); }
.si-btn--white:hover { background: var(--si-azul-horizon); }
.si-btn--ghost-white { border: 1.5px solid #fff; color: #fff; }
.si-btn--ghost-white:hover { background: #fff; color: var(--si-azul-impact); }
.si-btn--blue { background: var(--si-azul-impact); color: #fff; }
.si-btn--blue:hover { background: var(--si-azul-deep); }
.si-btn--ghost-blue { border: 1.5px solid var(--si-azul-impact); color: var(--si-azul-impact); }
.si-btn--ghost-blue:hover { background: var(--si-azul-impact); color: #fff; }
.si-btn .ico { width: 14px; height: 14px; flex: 0 0 auto; }

/* Section head — same vocabulary across pages */
.si-section-head {
  display: grid; grid-template-columns: 100px 1fr auto;
  gap: 32px; align-items: baseline;
  border-top: 1.5px solid currentColor;
  padding-top: 28px; margin-bottom: 56px;
}
.si-section-head .n { font-family: var(--ff-display); font-weight: 600; font-size: 14px; letter-spacing: 0.22em; }
.si-section-head h2 { font-family: var(--ff-display); font-weight: 600; font-size: clamp(40px, 5vw, 72px); line-height: 0.95; letter-spacing: 0.04em; text-transform: uppercase; }
.si-section-head .tail { font-family: var(--ff-body); font-weight: 500; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; opacity: 0.6; }

/* ─── Header ────────────────────────────────────────────────── */
.si-header { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: var(--si-azul-impact); color: #fff; border-bottom: 1px solid rgba(255,255,255,0.2); }
.si-header.is-scrolled { background: var(--si-azul-deep); }
.si-header-inner { display: flex; align-items: center; gap: 40px; padding: 18px 48px; max-width: 1440px; margin: 0 auto; }
.si-header-logo { flex: 0 0 auto; display: inline-flex; }
.si-header-logo img { height: 22px; width: auto; display: block; }
.si-header-nav { display: flex; gap: 22px; margin-left: auto; font-family: var(--ff-display); font-weight: 500; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; }
.si-header-nav a { padding: 8px 0; opacity: 0.8; position: relative; }
.si-header-nav a:hover { opacity: 1; }
.si-header-nav a.is-active { opacity: 1; }
.si-header-nav a.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: #fff; }
.si-header-cta { padding: 10px 16px; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); background: #fff; color: var(--si-azul-impact); font-family: var(--ff-display); font-weight: 600; font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 10px; }
.si-header-cta:hover { background: var(--si-azul-horizon); }

/* ═══════════════════════════════════════════════════════════
   01 · HERO
   ═════════════════════════════════════════════════════════ */
.si-spons-hero {
  background: var(--si-azul-impact); color: #fff;
  padding: 180px 0 96px;
  position: relative; overflow: hidden;
}
.si-spons-hero::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 12.5% 100%;
  pointer-events: none;
}
@keyframes siHeroIn { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { @keyframes siHeroIn { from, to { opacity: 1; transform: none; } } }

.si-spons-hero-grid {
  display: grid; grid-template-columns: 1.6fr 1fr;
  gap: 72px; align-items: end;
  position: relative;
}
.si-spons-hero .eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 8px 14px;
  border: 1.5px solid rgba(255,255,255,0.6);
  clip-path: var(--chamfer-sm);
  font-family: var(--ff-display); font-weight: 500;
  font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase;
  margin-bottom: 28px;
}
.si-spons-hero h1 {
  font-family: var(--ff-display); font-weight: 600;
  font-size: clamp(56px, 7.6vw, 124px);
  line-height: 0.92;
  letter-spacing: 0.03em; text-transform: uppercase;
}
.si-spons-hero h1 em {
  font-style: normal; display: block;
  opacity: 0.45;
  font-size: 0.34em;
  margin-top: 24px;
  letter-spacing: 0.16em;
  line-height: 1.2;
}
.si-spons-hero .lede {
  margin-top: 32px;
  font-family: var(--ff-body); font-size: 17px; line-height: 1.55;
  max-width: 56ch; opacity: 0.92;
}
.si-spons-hero .lede strong { font-weight: 600; }
.si-spons-hero .actions {
  margin-top: 32px;
  display: flex; gap: 12px; flex-wrap: wrap;
}

/* Reach card — sits to the right of the hero claim */
.si-spons-reach {
  border: 1.5px solid rgba(255,255,255,0.5);
  clip-path: var(--chamfer-md);
  padding: 28px 28px 24px;
}
.si-spons-reach .hd {
  display: flex; justify-content: space-between; align-items: baseline;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.35);
  margin-bottom: 18px;
  font-family: var(--ff-display); font-weight: 500;
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
}
.si-spons-reach .hd strong { font-weight: 600; opacity: 0.85; }
.si-spons-reach .grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px;
}
.si-spons-reach .row {
  display: flex; flex-direction: column; gap: 6px;
}
.si-spons-reach .v {
  font-family: var(--ff-display); font-weight: 600;
  font-size: clamp(36px, 3vw, 48px); line-height: 0.95;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
}
.si-spons-reach .l {
  font-family: var(--ff-display); font-weight: 500;
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
  opacity: 0.7;
}

/* ═══════════════════════════════════════════════════════════
   02 · TIERS — Niveles de patrocinio
   ═════════════════════════════════════════════════════════ */
.si-tiers { background: #fff; color: var(--si-azul-impact); padding: 140px 0 120px; }
.si-tiers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

.si-tier {
  position: relative;
  border: 1.5px solid var(--si-azul-impact);
  padding: 36px 32px 32px;
  clip-path: var(--chamfer-md);
  display: flex; flex-direction: column; gap: 24px;
  min-height: 740px;
  transition: transform var(--dur-md) var(--ease-atlantic);
}
.si-tier .tag {
  position: absolute; top: -1px; right: 24px;
  background: var(--si-azul-impact); color: #fff;
  padding: 6px 12px;
  font-family: var(--ff-display); font-weight: 600;
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 8px 100%, 0 calc(100% - 8px));
}
.si-tier .roman {
  font-family: var(--ff-display); font-weight: 600;
  font-size: 12px; letter-spacing: 0.28em;
  opacity: 0.55;
}
.si-tier .name {
  font-family: var(--ff-display); font-weight: 600;
  font-size: clamp(36px, 3.4vw, 52px);
  line-height: 0.92;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.si-tier .sub {
  font-family: var(--ff-body); font-weight: 500;
  font-size: 13px; line-height: 1.55;
  opacity: 0.75;
  max-width: 32ch;
}
.si-tier .price {
  display: grid; grid-template-columns: auto 1fr;
  gap: 8px 16px; align-items: baseline;
  padding: 20px 0;
  border-top: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
}
.si-tier .price .now {
  font-family: var(--ff-display); font-weight: 600;
  font-size: clamp(48px, 4.8vw, 72px); line-height: 0.9;
  letter-spacing: 0.02em;
}
.si-tier .price .now .cur { font-size: 0.55em; opacity: 0.6; margin-right: 4px; vertical-align: top; }
.si-tier .price .unit {
  justify-self: end;
  font-family: var(--ff-display); font-weight: 500;
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
  opacity: 0.7; text-align: right; line-height: 1.4;
}
.si-tier .slots {
  grid-column: 1 / -1;
  font-family: var(--ff-body); font-weight: 500;
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  opacity: 0.6; padding-top: 4px;
  display: flex; gap: 12px; align-items: center;
}
.si-tier .slots .dot { width: 6px; height: 6px; background: currentColor; border-radius: 50%; }

.si-tier ul {
  list-style: none;
  display: flex; flex-direction: column; gap: 10px;
}
.si-tier li {
  font-family: var(--ff-body); font-size: 13.5px; line-height: 1.55;
  padding-left: 16px; position: relative;
}
.si-tier li::before {
  content: "·"; position: absolute; left: 2px; top: -2px;
  font-weight: 700; font-size: 18px;
}
.si-tier li strong { font-weight: 600; }
.si-tier .actions { margin-top: auto; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.si-tier .help { font-family: var(--ff-body); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.6; }

/* Featured / inverted tier — Impact Leader */
.si-tier--featured { background: var(--si-azul-impact); color: #fff; border-color: var(--si-azul-impact); }
.si-tier--featured .tag { background: #fff; color: var(--si-azul-impact); }
.si-tier--featured .price .unit { opacity: 0.85; }

/* ═══════════════════════════════════════════════════════════
   03 · PATROCINADORES 2026 — logo wall
   ═════════════════════════════════════════════════════════ */
.si-spons-wall { background: #fff; color: var(--si-azul-impact); padding: 0 0 140px; }
.si-spons-wall-tier {
  margin-top: 56px;
}
.si-spons-wall-tier:first-of-type { margin-top: 0; }
.si-spons-wall-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px; align-items: baseline;
  padding-bottom: 16px;
  margin-bottom: 24px;
  border-bottom: 1.5px solid currentColor;
}
.si-spons-wall-head .roman {
  font-family: var(--ff-display); font-weight: 600;
  font-size: 12px; letter-spacing: 0.28em;
}
.si-spons-wall-head .ttl {
  font-family: var(--ff-display); font-weight: 600;
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: 0.04em; text-transform: uppercase;
}
.si-spons-wall-head .count {
  font-family: var(--ff-body); font-weight: 500;
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  opacity: 0.6;
}
.si-spons-wall-grid {
  display: grid; gap: 0;
  border: 1.5px solid currentColor;
  clip-path: var(--chamfer-md);
}
.si-spons-wall-grid--leader { grid-template-columns: repeat(3, 1fr); }
.si-spons-wall-grid--growth { grid-template-columns: repeat(4, 1fr); }
.si-spons-wall-grid--supporter { grid-template-columns: repeat(6, 1fr); }

.si-spons-cell {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  padding: 32px 24px;
  min-height: 140px;
  border-right: 1px solid rgba(0,19,255,0.18);
  border-bottom: 1px solid rgba(0,19,255,0.18);
  font-family: var(--ff-display); font-weight: 600;
  font-size: clamp(15px, 1.4vw, 22px);
  letter-spacing: 0.06em; text-transform: uppercase;
  text-align: center; line-height: 1.05;
  transition: background var(--dur-sm) var(--ease-atlantic);
}
.si-spons-cell:hover { background: rgba(0,19,255,0.06); }
.si-spons-wall-grid--leader .si-spons-cell { min-height: 200px; font-size: clamp(20px, 1.8vw, 28px); }
.si-spons-wall-grid--supporter .si-spons-cell { min-height: 100px; font-size: clamp(11px, 1vw, 14px); letter-spacing: 0.08em; }

/* trim trailing borders for clean rectangle */
.si-spons-wall-grid--leader .si-spons-cell:nth-child(3n) { border-right: 0; }
.si-spons-wall-grid--leader .si-spons-cell:nth-last-child(-n+3) { border-bottom: 0; }
.si-spons-wall-grid--growth .si-spons-cell:nth-child(4n) { border-right: 0; }
.si-spons-wall-grid--growth .si-spons-cell:nth-last-child(-n+4) { border-bottom: 0; }
.si-spons-wall-grid--supporter .si-spons-cell:nth-child(6n) { border-right: 0; }
.si-spons-wall-grid--supporter .si-spons-cell:nth-last-child(-n+6) { border-bottom: 0; }

.si-spons-cell .placeholder {
  position: absolute; top: 8px; left: 10px;
  font-family: var(--ff-display); font-weight: 500;
  font-size: 9px; letter-spacing: 0.22em;
  opacity: 0.45;
}

/* ═══════════════════════════════════════════════════════════
   04 · POR QUÉ PATROCINAR
   ═════════════════════════════════════════════════════════ */
.si-spons-why { background: var(--si-azul-impact); color: #fff; padding: 140px 0; position: relative; overflow: hidden; }
.si-spons-why::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 16.6% 100%;
  pointer-events: none;
}
.si-spons-why-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  position: relative;
}
.si-spons-why-cell {
  border: 1.5px solid rgba(255,255,255,0.4);
  padding: 32px 28px 28px;
  clip-path: var(--chamfer-md);
  display: flex; flex-direction: column;
  min-height: 360px;
  transition: background var(--dur-md) var(--ease-atlantic), color var(--dur-md) var(--ease-atlantic), border-color var(--dur-md) var(--ease-atlantic);
}
.si-spons-why-cell:hover { background: #fff; color: var(--si-azul-impact); border-color: #fff; }
.si-spons-why-cell .roman {
  font-family: var(--ff-display); font-weight: 600;
  font-size: 11px; letter-spacing: 0.28em;
  opacity: 0.65;
}
.si-spons-why-cell .num {
  margin-top: 16px;
  font-family: var(--ff-display); font-weight: 600;
  font-size: clamp(48px, 5vw, 76px);
  line-height: 0.95; letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
}
.si-spons-why-cell .ttl {
  margin-top: 8px;
  font-family: var(--ff-display); font-weight: 600;
  font-size: 16px; letter-spacing: 0.16em; text-transform: uppercase;
}
.si-spons-why-cell .desc {
  margin-top: 14px;
  font-family: var(--ff-body); font-size: 13.5px; line-height: 1.55;
}
.si-spons-why-cell .src {
  margin-top: auto; padding-top: 24px;
  font-family: var(--ff-display); font-weight: 500;
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  opacity: 0.6;
  border-top: 1.5px solid currentColor;
}

/* ═══════════════════════════════════════════════════════════
   05 · CONTACTO + DOSSIER
   ═════════════════════════════════════════════════════════ */
.si-spons-contact { background: #fff; color: var(--si-azul-impact); padding: 140px 0; }
.si-spons-contact-inner {
  display: grid; grid-template-columns: 1fr 1.1fr;
  gap: 64px;
  align-items: stretch;
}

/* Left: dossier card */
.si-spons-dossier {
  border: 1.5px solid currentColor;
  padding: 40px 40px 32px;
  clip-path: var(--chamfer-lg);
  display: flex; flex-direction: column; gap: 24px;
  background: var(--si-azul-horizon);
}
.si-spons-dossier .roman {
  font-family: var(--ff-display); font-weight: 600;
  font-size: 12px; letter-spacing: 0.28em;
}
.si-spons-dossier h3 {
  font-family: var(--ff-display); font-weight: 600;
  font-size: clamp(32px, 3.4vw, 48px); line-height: 0.95;
  letter-spacing: 0.04em; text-transform: uppercase;
}
.si-spons-dossier p {
  font-family: var(--ff-body); font-size: 15px; line-height: 1.55;
  max-width: 36ch;
}
.si-spons-dossier .meta {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 14px 20px;
  padding-top: 20px;
  border-top: 1.5px solid currentColor;
}
.si-spons-dossier .meta .lbl {
  font-family: var(--ff-body); font-weight: 600;
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  opacity: 0.65; margin-bottom: 4px;
}
.si-spons-dossier .meta .v {
  font-family: var(--ff-display); font-weight: 600;
  font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase;
}
.si-spons-dossier .actions { margin-top: auto; display: flex; gap: 12px; flex-wrap: wrap; }

/* Right: form */
.si-spons-form {
  border: 1.5px solid currentColor;
  padding: 40px;
  clip-path: var(--chamfer-md);
  display: flex; flex-direction: column; gap: 22px;
  background: #fff;
}
.si-spons-form .hd { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 18px; border-bottom: 1.5px solid currentColor; }
.si-spons-form .hd .roman { font-family: var(--ff-display); font-weight: 600; font-size: 12px; letter-spacing: 0.28em; }
.si-spons-form .hd .ttl { font-family: var(--ff-display); font-weight: 600; font-size: clamp(22px, 2vw, 28px); letter-spacing: 0.04em; text-transform: uppercase; }
.si-spons-form .row { display: flex; flex-direction: column; gap: 8px; }
.si-spons-form .row.cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.si-spons-form label { font-family: var(--ff-body); font-weight: 600; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; opacity: 0.65; }
.si-spons-form input, .si-spons-form select, .si-spons-form textarea {
  font-family: var(--ff-body); font-size: 15px; letter-spacing: 0.02em;
  color: var(--si-azul-impact);
  background: #fff;
  border: 0; border-bottom: 1.5px solid currentColor;
  padding: 10px 0;
  outline: none;
  transition: border-color var(--dur-sm) var(--ease-atlantic);
}
.si-spons-form input:focus, .si-spons-form select:focus, .si-spons-form textarea:focus { border-bottom-color: var(--si-azul-deep); }
.si-spons-form select { appearance: none; -webkit-appearance: none; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 14px) 50%, calc(100% - 8px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 32px; cursor: pointer; }
.si-spons-form textarea { min-height: 90px; resize: vertical; }
.si-spons-form .check { display: flex; gap: 12px; align-items: flex-start; font-family: var(--ff-body); font-size: 12px; line-height: 1.5; opacity: 0.75; }
.si-spons-form .check input { width: 16px; height: 16px; accent-color: var(--si-azul-impact); border-bottom: 0; padding: 0; flex: 0 0 auto; margin-top: 2px; }
.si-spons-form .actions { margin-top: 8px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.si-spons-form .actions .help { font-family: var(--ff-body); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.6; }

/* ─── CTA band & foot (shared) ──────────────────────────────── */
.si-cta-band { background: #fff; color: var(--si-azul-impact); padding: 120px 0; }
.si-cta-band-inner { display: grid; grid-template-columns: 1fr auto; gap: 64px; align-items: center; padding: 56px 56px; border: 1.5px solid currentColor; clip-path: var(--chamfer-lg); background: var(--si-azul-impact); color: #fff; }
.si-cta-band-inner h3 { font-family: var(--ff-display); font-weight: 600; font-size: clamp(36px, 4.5vw, 64px); line-height: 0.95; letter-spacing: 0.03em; text-transform: uppercase; }
.si-cta-band-inner .meta { margin-top: 16px; font-family: var(--ff-display); font-weight: 500; font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase; opacity: 0.75; }

.si-foot { background: var(--si-azul-impact); color: #fff; padding: 56px 0 32px; border-top: 1.5px solid rgba(255,255,255,0.3); }
.si-foot-inner { display: flex; justify-content: space-between; align-items: center; font-family: var(--ff-display); font-weight: 500; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; opacity: 0.85; }

/* ─── data-reveal stub ──────────────────────────────────────── */
[data-reveal] { will-change: transform, opacity; }

/* ─── Responsive ────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .si-tiers-grid { grid-template-columns: 1fr; gap: 16px; }
  .si-tier { min-height: 0; }
  .si-spons-why-grid { grid-template-columns: 1fr 1fr; }
  .si-spons-wall-grid--leader { grid-template-columns: 1fr 1fr; }
  .si-spons-wall-grid--leader .si-spons-cell:nth-child(3n) { border-right: 1px solid rgba(0,19,255,0.18); }
  .si-spons-wall-grid--leader .si-spons-cell:nth-child(2n) { border-right: 0; }
  .si-spons-wall-grid--leader .si-spons-cell:nth-last-child(-n+3) { border-bottom: 1px solid rgba(0,19,255,0.18); }
  .si-spons-wall-grid--leader .si-spons-cell:nth-last-child(-n+2) { border-bottom: 0; }
  .si-spons-wall-grid--growth { grid-template-columns: 1fr 1fr; }
  .si-spons-wall-grid--supporter { grid-template-columns: 1fr 1fr 1fr; }
  .si-spons-contact-inner { grid-template-columns: 1fr; }
  .si-spons-hero-grid { grid-template-columns: 1fr; gap: 40px; align-items: start; }
}
@media (max-width: 720px) {
  .si-wrap { padding: 0 24px; }
  .si-header-inner { padding: 16px 24px; }
  .si-header-nav { display: none; }
  .si-spons-hero { padding: 140px 0 64px; }
  .si-tiers, .si-spons-why, .si-spons-contact, .si-cta-band, .si-spons-wall { padding: 80px 0; }
  .si-spons-why-grid { grid-template-columns: 1fr; }
  .si-spons-wall-grid--growth, .si-spons-wall-grid--supporter { grid-template-columns: 1fr 1fr; }
  .si-cta-band-inner { grid-template-columns: 1fr; padding: 36px 28px; gap: 24px; }
  .si-section-head { grid-template-columns: 56px 1fr; }
  .si-section-head .tail { grid-column: 2; }
  .si-spons-form { padding: 28px; }
  .si-spons-dossier { padding: 32px 28px; }
  .si-spons-form .row.cols { grid-template-columns: 1fr; }
}
