  /* Contact page — local layout only. Uses existing components. */

  /* Primary contact channels — 4-up grid of big channel cards */
  .channels-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-5);
  }
  @media (max-width: 1100px) { .channels-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .channels-grid { grid-template-columns: 1fr; } }

  .channel-card {
    background: var(--color-surface);
    border: 1px solid var(--color-rule);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    transition: border-color 0.15s ease, transform 0.15s ease;
  }
  .channel-card:hover {
    border-color: var(--color-blue);
  }
  .channel-card__eyebrow {
    font-size: var(--text-xs);
    font-weight: var(--weight-bold);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-sky);
  }
  .channel-card__title {
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: var(--weight-extrabold);
    letter-spacing: -0.01em;
    color: var(--color-text-1);
    margin-bottom: var(--space-1);
  }
  .channel-card__value {
    font-size: var(--text-lg);
    font-weight: var(--weight-semibold);
    color: var(--color-text-1);
    word-break: break-word;
  }
  .channel-card__value a {
    color: var(--color-text-1);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
  }
  .channel-card__value a:hover {
    color: var(--color-sky);
    border-bottom-color: var(--color-sky);
  }
  .channel-card__meta {
    font-size: var(--text-sm);
    color: var(--color-text-2);
    line-height: var(--leading-relaxed);
    margin-top: var(--space-1);
  }

  /* ── Contact cards — HQ / SOC / Follow internals ─── */
  .contact-card__address {
    margin-bottom: var(--space-4);
  }
  .contact-card__meta-label {
    display: block;
    font-size: var(--text-xs);
    font-weight: var(--weight-bold);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-3);
    margin-top: var(--space-5);
    margin-bottom: var(--space-1);
  }

  .soc-number {
    display: block;
    font-family: var(--font-heading);
    font-size: var(--text-3xl);
    font-weight: var(--weight-extrabold);
    letter-spacing: -0.02em;
    line-height: 1;
    color: var(--color-text-1);
    text-decoration: none;
    margin: var(--space-5) 0 var(--space-4);
  }
  .soc-number:hover { color: var(--color-amber); }

  .soc-note {
    border-top: 1px solid var(--color-rule);
    padding-top: var(--space-4);
    margin-top: var(--space-2);
    font-size: var(--text-sm);
    color: var(--color-text-2);
    line-height: var(--leading-relaxed);
  }
  .soc-note strong { color: var(--color-text-1); }

  .social-chip-row {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin-top: var(--space-4);
  }
  .social-chip {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4);
    background: var(--color-surface-2);
    border: 1px solid var(--color-rule);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    color: var(--color-text-1);
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
  }
  .social-chip:hover {
    border-color: var(--color-sky);
    color: var(--color-sky);
  }
  .social-chip svg {
    flex-shrink: 0;
    color: var(--color-sky);
  }

  /* ── Two-column page hero (title left, form right) ── */
  .page-hero--split {
    padding: calc(var(--space-20) + var(--space-16)) var(--space-8) var(--space-20);
    justify-content: flex-start;
    text-align: left;
  }
  .page-hero--split .page-hero__inner {
    max-width: var(--max-width-page);
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    gap: var(--space-12);
    align-items: center;
  }
  .page-hero--split .page-hero__overline {
    padding-top: 0;
  }
  .page-hero--split .page-hero__subheadline {
    margin-bottom: 0;
  }
  .page-hero__cta {
    margin-top: var(--space-6);
  }
  @media (max-width: 960px) {
    .page-hero--split {
      padding: var(--space-16) var(--space-4) var(--space-12);
    }
    .page-hero--split .page-hero__inner {
      grid-template-columns: 1fr;
      gap: var(--space-8);
    }
  }

  /* ── Contact form card ──────────────────────────── */
  .contact-form-card {
    background: var(--color-surface);
    border: 1px solid var(--color-rule);
    border-radius: var(--radius-lg);
    padding: var(--space-10);
    max-width: 720px;
    margin: 0 auto;
  }
  .page-hero--split .contact-form-card {
    max-width: none;
    margin: 0;
    padding: var(--space-12);
  }
  @media (max-width: 960px) {
    .page-hero--split .contact-form-card {
      padding: var(--space-10);
    }
  }
  .contact-form-card__title {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: var(--weight-extrabold);
    letter-spacing: -0.01em;
    color: var(--color-text-1);
    line-height: var(--leading-tight);
    margin-bottom: var(--space-2);
  }
  .contact-form-card__subtitle {
    font-size: var(--text-base);
    color: var(--color-text-2);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-8);
  }
  .contact-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
    margin-bottom: var(--space-5);
  }
  @media (max-width: 640px) {
    .contact-form-row { grid-template-columns: 1fr; }
  }
  .contact-form-card .form-group {
    margin-bottom: var(--space-5);
  }
  .contact-form-card .contact-form-row .form-group {
    margin-bottom: 0;
  }
  .contact-form__actions {
    margin-top: var(--space-6);
    display: flex;
    align-items: center;
    gap: var(--space-4);
    flex-wrap: wrap;
  }
  .contact-form__note {
    font-size: var(--text-sm);
    color: var(--color-text-3);
  }

  /* ── Submission status (success / error) ───────── */
  .contact-form__status {
    margin-top: var(--space-4);
    padding: var(--space-4) var(--space-5);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
    display: none;
  }
  .contact-form__status--success {
    display: block;
    background: var(--color-emerald-bg);
    border: 1px solid var(--color-emerald);
    color: var(--color-emerald);
  }
  .contact-form__status--error {
    display: block;
    background: var(--color-red-bg);
    border: 1px solid var(--color-red);
    color: var(--color-red);
  }
  .btn[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
  }

  /* ── CLOSING CTA — navy banner (matches FCI Portal + FCI & AI) ── */
  .cta-section {
    background: var(--color-deep-navy);
  }
  [data-theme="light"] .cta-section {
    background: var(--color-blue);
  }
  .cta-section .cta {
    max-width: var(--max-width-content);
    margin: 0 auto;
    text-align: center;
  }
  .cta__title {
    font-family: var(--font-heading);
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: var(--weight-bold);
    color: var(--color-white);
    letter-spacing: var(--tracking-tight);
    line-height: var(--leading-tight);
    margin-bottom: var(--space-4);
  }
  .cta__body {
    font-size: var(--text-lg);
    color: rgba(255,255,255,0.72);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-8);
  }
  .cta__actions {
    display: flex;
    gap: var(--space-4);
    justify-content: center;
    flex-wrap: wrap;
  }
  .cta-section .btn--ghost {
    color: var(--color-white);
  }
  .cta-section .btn--ghost:hover {
    background: rgba(255,255,255,0.08);
    color: var(--color-white);
  }
