
    :root { --blue: #102b52; --red: #b21f2d; --gold: #c49a32; }
    body { margin: 0; background: #f4f6f9; color: #172b4d; }
    .navbar { background: var(--blue) !important; box-shadow: 0 2px 12px rgba(16,43,82,.2); }
    .navbar-brand { font-weight: 700; letter-spacing: .03em; }
    .hero { margin-top: 56px; background: #fff; border-bottom: 4px solid var(--gold); }
    .hero img { display: block; width: 100%; height: auto; max-height: 460px; object-fit: cover; }
    .search-card { margin: 28px 0; padding: 26px; background: #fff; border-radius: 16px; box-shadow: 0 8px 28px rgba(16,43,82,.1); }
    .search-title { color: var(--blue); font-size: clamp(1.35rem, 2.6vw, 2rem); font-weight: 700; }
    .btn-primary { background: var(--blue); border-color: var(--blue); }
    .table-wrap { overflow-x: auto; background: #fff; border-radius: 14px; box-shadow: 0 7px 24px rgba(16,43,82,.09); }
    .table { margin: 0; }
    .table thead th { border: 0; background: var(--blue); color: #fff; white-space: nowrap; }
    .results-title { color: var(--blue); font-weight: 700; margin: 26px 0 14px; }
    .person-summary { background: #eef4fb; border-radius: 12px; padding: 14px; }
    .footer { margin-top: 44px; padding: 20px 0; background: var(--blue); color: #fff; }
    .footer p { margin: 0; }
    @media (max-width: 767px) {
      .search-card { margin: 18px 0; padding: 18px; }
      .hero { margin-top: 56px; }
    }
  
#mainNav.open{display:block}.pagination{display:flex;gap:18px;align-items:center;margin-top:20px}.pagination a{padding:8px 14px;background:white;border-radius:5px}.search-card input{min-width:0}@media(max-width:767px){.hero img{object-fit:contain}.navbar-brand{font-size:1.1rem}}
