/* вынесен из inline-<style> страницы contacts.html (SEC-11: style-src без unsafe-inline) */
    .contacts-layout {
      display: grid; grid-template-columns: 1fr 420px;
      gap: 24px; padding: 40px 0 80px; align-items: start;
    }
    .contact-card {
      background: linear-gradient(160deg,rgba(20,12,44,.96),rgba(8,5,20,.98));
      border: 1px solid var(--stroke); border-radius: var(--radius);
      padding: 28px; margin-bottom: 16px;
    }
    .contact-card__title {
      font-size: .72rem; font-weight: 800; text-transform: uppercase;
      letter-spacing: .08em; color: var(--muted); margin-bottom: 16px;
    }
    .contact-row {
      display: flex; align-items: center; gap: 14px;
      padding: 13px 0; border-bottom: 1px solid var(--stroke);
    }
    .contact-row:last-child { border-bottom: none; }
    .contact-row__icon {
      width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center; font-size: 1.1rem;
      background: rgba(139,47,255,.1); border: 1px solid rgba(139,47,255,.2);
    }
    .contact-row__label { font-size: .74rem; color: var(--muted); margin-bottom: 2px; }
    .contact-row__value { font-size: .9rem; font-weight: 600; }
    .contact-row__value a { color: var(--cyan); text-decoration: none; }
    .contact-row__value a:hover { text-decoration: underline; }

    .form-card {
      background: linear-gradient(160deg,rgba(20,12,44,.96),rgba(8,5,20,.98));
      border: 1px solid var(--stroke); border-radius: var(--radius);
      padding: 28px; position: sticky; top: 96px;
    }
    .form-card h2 { font-size: 1.2rem; margin-bottom: 6px; }
    .form-card p  { font-size: .84rem; color: var(--muted); margin-bottom: 20px; }
    .contact-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
    .contact-field label { font-size: .74rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
    .contact-field input, .contact-field textarea, .contact-field select {
      background: var(--bg-2); border: 1px solid var(--stroke); border-radius: 10px;
      color: var(--text); padding: 11px 14px; font-family: inherit; font-size: .88rem;
      transition: border-color var(--tr), box-shadow var(--tr);
    }
    .contact-field input:focus, .contact-field textarea:focus {
      outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(139,47,255,.12);
    }
    .contact-field textarea { resize: vertical; min-height: 90px; }
    .btn-contact-submit {
      width: 100%; background: linear-gradient(135deg,var(--primary),var(--primary-2));
      color: #fff; border: none; border-radius: 12px; padding: 14px;
      font-size: .93rem; font-weight: 800; cursor: pointer; font-family: inherit;
      transition: all var(--tr); box-shadow: 0 4px 18px rgba(139,47,255,.38);
    }
    .btn-contact-submit:hover { box-shadow: 0 6px 28px rgba(139,47,255,.55); transform: translateY(-1px); }
    .btn-contact-submit:disabled { opacity: .6; cursor: not-allowed; transform: none; }

    .partners-grid {
      display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 20px;
    }
    .partner-city {
      background: rgba(24,216,240,.05); border: 1px solid rgba(24,216,240,.15);
      border-radius: 12px; padding: 14px; text-align: center;
      transition: border-color var(--tr), transform var(--tr);
    }
    .partner-city:hover { border-color: rgba(24,216,240,.35); transform: translateY(-2px); }
    .partner-city__name { font-size: .88rem; font-weight: 700; margin-bottom: 2px; }
    .partner-city__info { font-size: .75rem; color: var(--muted); }

    @media (max-width: 900px) {
      .contacts-layout { grid-template-columns: 1fr; }
      .form-card { position: static; }
    }
    @media (max-width: 540px) {
      .partners-grid { grid-template-columns: repeat(2,1fr); }
    }
  
