/* ============ CONTACT ============ */
.contact__grid{ display: grid; grid-template-columns: minmax(0,1fr); gap: 40px; }
.contact__text h2{ font-size: clamp(28px, 3.2vw, 40px); margin-bottom: 16px; }
.contact__text p{ color: var(--ink-soft); font-size: 15.5px; line-height: 1.6; max-width: 40ch; }
.contact__info{ margin-top: 32px; display: flex; flex-direction: column; gap: 0; }
.contact__info li{
  display: flex; align-items: flex-start; gap: 14px;
  padding: 13px 0; border-top: 1px solid var(--line);
  font-size: 14.5px; font-weight: 600; color: var(--ink);
}
.contact__info li:last-child{ border-bottom: 1px solid var(--line); }
.contact__info svg{ width: 19px; height: 19px; color: var(--indigo); flex-shrink: 0; margin-top: 1px; }
.contact__info a{ color: var(--ink); transition: color .18s ease; }
.contact__info a:hover{ color: var(--indigo); }
.contact__info span{ color: var(--ink-soft); font-weight: 500; line-height: 1.5; }

.contact__form{
  background: #fff; border-radius: var(--radius); padding: 32px;
  border: 1px solid var(--line); box-shadow: 0 24px 56px rgba(16,13,43,.14);
}
@media (min-width: 861px){ .contact__grid{ grid-template-columns: minmax(0,0.9fr) minmax(0,1.1fr); gap: 64px; } }

/* ============ FOOTER (biała, granatowe napisy) ============ */
.footer{ background: #fff; color: var(--indigo-dark); padding: 56px 0 0; border-top: 1px solid var(--line); }
.footer__inner{ display: grid; grid-template-columns: minmax(0,1fr); gap: 32px; padding-bottom: 36px; position: relative; }
/* Linia podziału wyrównana do treści (nie do krawędzi .wrap z paddingiem). */
.footer__inner::after{ content: ""; position: absolute; left: var(--pad-mobile); right: var(--pad-mobile); bottom: 0; height: 1px; background: var(--line); }
@media (min-width: 861px){ .footer__inner::after{ left: var(--pad-desktop); right: var(--pad-desktop); } }
.footer__logo-img{ height: 34px; width: auto; display: block; }
.footer__brand p{ margin-top: 14px; font-size: 13.5px; line-height: 1.6; max-width: 280px; color: var(--indigo-dark); }
.footer__social{
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; margin-top: 16px;
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  color: var(--indigo); transition: color .18s ease, border-color .18s ease, background .18s ease;
}
.footer__social:hover{ color: var(--indigo-dark); border-color: var(--indigo); background: var(--indigo-tint); }
.footer__social svg{ width: 16px; height: 16px; }
.footer__title{ font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--indigo); margin-bottom: 14px; font-weight: 700; }
.footer__col a{ display: block; padding: 5px 0; font-size: 14px; font-weight: 600; color: var(--indigo-dark); transition: color .18s ease; }
.footer__col a:hover{ color: var(--indigo); text-decoration: underline; text-underline-offset: 3px; }
.footer__col--contact a{ display: flex; align-items: center; gap: 8px; }
.footer__col--contact a.iab-static{ align-items: flex-start; }
.footer__col--contact a.iab-static svg{ margin-top: 4px; }
.footer__lead{ margin: -8px 0 8px; font-size: 13px; line-height: 1.5; color: var(--ink-soft); }
.footer__col--contact a.iab-static{ cursor: default; pointer-events: none; }
.footer__col--contact a.iab-static:hover{ color: inherit; text-decoration: none; }
.footer__col--contact svg{ width: 15px; height: 15px; flex-shrink: 0; color: var(--indigo); }
.footer__bottom{ display: flex; flex-direction: column; gap: 6px; padding-top: 18px; padding-bottom: 18px; font-size: 12.5px; color: var(--ink-soft); }
.footer__bottom a{ color: var(--indigo); }
.footer__bottom a:hover{ text-decoration: underline; }
@media (min-width: 600px){
  .footer__inner{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer__brand{ grid-column: 1 / -1; }
}
@media (min-width: 861px){
  .footer__inner{ grid-template-columns: repeat(4, minmax(0,1fr)); column-gap: 40px; }
  .footer__bottom{ flex-direction: row; justify-content: space-between; }
}
@media (min-width: 1200px){
  .footer__inner{ grid-template-columns: minmax(0,1fr) minmax(0,0.8fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr); column-gap: 32px; }
  .footer__brand{ grid-column: auto; }
}
