
    :root {
      --ah-navy: #003366;
      --ah-g500: #6b7280;
      --ah-bg: #ffffff;
      --ah-border: #e5e7eb;
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
      color: #1f2937;
      background: var(--ah-bg);
      line-height: 1.5;
    }
    .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
    .text-center { text-align: center; }

    /* Page header */
    .page-header {
      background: linear-gradient(135deg, #003366 0%, #001f3f 100%);
      color: #fff;
      padding: 96px 20px 64px;
      text-align: center;
    }
    .page-header h1 { font-size: 2.75rem; margin: 0 0 12px; font-weight: 700; }
    .page-header p { font-size: 1.125rem; margin: 0; opacity: 0.9; }

    /* Buttons */
    .btn {
      display: inline-block;
      padding: 12px 28px;
      border-radius: 8px;
      font-weight: 600;
      font-size: 0.95rem;
      text-decoration: none;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .btn-primary { background: var(--ah-navy); color: #fff; }
    .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -8px rgba(0,51,102,0.5); }

    /* Speakers grid */
    .speakers-section { padding: 0 20px 80px; max-width: 1200px; margin: 0 auto; }
    .speakers-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 28px;
      margin-top: 48px;
    }
    .speaker-card {
      background: #fff;
      border: 1px solid var(--ah-border);
      border-radius: 12px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }
    .speaker-image { width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #f3f4f6; }
    .speaker-image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
    .speaker-info { padding: 18px 18px 22px; display: flex; flex-direction: column; }
    .speaker-name { font-size: 1.0625rem; font-weight: 700; margin: 0 0 4px; color: #111827; }
    .speaker-position { font-size: 0.875rem; font-weight: 600; color: var(--ah-navy); margin: 0 0 4px; }
    .speaker-org { font-size: 0.8125rem; color: var(--ah-g500); line-height: 1.4; }

    @media (max-width: 1024px) { .speakers-grid { grid-template-columns: repeat(3, 1fr); } }
    @media (max-width: 768px)  { .speakers-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 480px)  { .speakers-grid { grid-template-columns: 1fr; } }
  