    /* ── CONTACT PAGE ── */
    .contact-header { margin-bottom: 32px; }
    .contact-header h1 {
      font-size: clamp(26px, 4vw, 38px);
      font-weight: 700; line-height: 1.12; letter-spacing: -0.02em;
      color: var(--text);
      margin-bottom: 12px;
    }
    .contact-header .contact-sub {
      font-size: 13px; font-weight: 600; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--accent);
    }
    .contact-intro {
      background: var(--white);
      border: 1px solid var(--border-light);
      border-radius: 4px;
      padding: 24px;
      margin-bottom: 32px;
      font-size: 14px; font-weight: 300; line-height: 1.7;
      color: var(--text2);
    }

    .contact-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin-bottom: 32px;
    }
    .contact-card {
      background: var(--white);
      border: 1px solid var(--border-light);
      border-radius: 4px;
      padding: 24px;
    }
    .contact-card h3 {
      font-size: 12px; font-weight: 600; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--muted);
      margin-bottom: 14px;
    }
    .contact-card .contact-line {
      font-family: var(--mono);
      font-size: 13px; color: var(--text);
      line-height: 1.9;
    }
    .contact-card .contact-line a {
      color: var(--accent); text-decoration: none;
    }
    .contact-card .contact-line a:hover { text-decoration: underline; }

    .contact-form {
      background: var(--white);
      border: 1px solid var(--border-light);
      border-radius: 4px;
      overflow: hidden;
      margin-bottom: 32px;
    }
    .contact-form-header {
      padding: 16px 24px;
      background: var(--navy);
    }
    .contact-form-header h2 {
      font-size: 12px; font-weight: 600; letter-spacing: 0.14em;
      text-transform: uppercase; color: rgba(255,255,255,0.9);
    }
    .contact-form-body { padding: 24px; }
    .form-row {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-bottom: 16px;
    }
    .form-field { display: flex; flex-direction: column; gap: 6px; }
    .form-field.full { grid-column: 1 / -1; }
    .form-field label {
      font-size: 9px; font-weight: 600; letter-spacing: 0.12em;
      text-transform: uppercase; color: var(--muted);
    }
    .form-field input,
    .form-field select,
    .form-field textarea {
      font-family: inherit;
      font-size: 13px;
      color: var(--text);
      background: var(--off);
      border: 1px solid var(--border-light);
      border-radius: 3px;
      padding: 10px 12px;
      transition: border-color 0.2s;
    }
    .form-field input:focus,
    .form-field select:focus,
    .form-field textarea:focus {
      outline: none;
      border-color: var(--accent);
    }
    .form-field textarea { resize: vertical; min-height: 120px; }
    .form-submit {
      display: inline-flex; align-items: center; gap: 8px;
      background: var(--accent);
      color: var(--white);
      font-family: 'Inter', sans-serif;
      font-size: 11px; font-weight: 600; letter-spacing: 0.1em;
      text-transform: uppercase;
      border: none; border-radius: 2px;
      padding: 12px 24px; cursor: pointer; white-space: nowrap;
      transition: background 0.2s;
    }
    .form-submit:hover { background: var(--accent2); }
    .form-submit:disabled { opacity: 0.6; cursor: default; }
    .form-field-error { border-color: #d33 !important; }
    .form-field-err {
      font-size: 11px; color: #d33; margin-top: 2px;
      line-height: 1.4; min-height: 0;
    }
    .form-message { font-size: 13px; margin-top: 16px; line-height: 1.5; }
    .form-message.form-message--success {
      color: #147d3f; font-weight: 600;
      background: rgba(20, 125, 63, 0.08);
      border: 1px solid rgba(20, 125, 63, 0.25);
      border-radius: 3px; padding: 12px 14px;
    }
    .form-note {
      font-size: 11px; color: var(--muted);
      margin-top: 16px;
      line-height: 1.6;
    }

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