/* Governance listing and profile pages */
.gov,
.govp { color:#000; }

.gov .gov-head { margin:0 0 28px; }
.gov h1.gov-title { font-family:inherit; font-weight:700; font-size:40px; line-height:1.05; margin:0; }
.gov .gov-lead { max-width:720px; margin:16px 0 0; font-size:18px; line-height:1.6; }
.gov .gov-lead p { margin:0; }

.gov .gov-section { margin:0 0 48px; }
.gov .gov-section-head { margin:0 0 20px; }
.gov .gov-section-eyebrow,
.govp .govp-eyebrow { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#15599b; font-weight:700; margin:0; }
.gov h2.gov-section-title { font-family:inherit; font-weight:700; font-size:24px; color:#000; margin:4px 0 0; padding:0 0 12px; border-bottom:2px solid #123252; }

.gov .gov-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:18px; }
.gov .gov-card { position:relative; display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid #d7dee6; border-radius:12px; padding:20px; height:100%; transition:box-shadow .2s ease, border-color .2s ease; }
.gov .gov-card:hover { box-shadow:0 12px 28px rgba(18,50,82,.14); border-color:#15599b; }
.gov .gov-avatar { flex:0 0 auto; width:76px; height:76px; border-radius:50%; overflow:hidden; background:#dfe6ee; border:1px solid #d7dee6; display:flex; align-items:center; justify-content:center; }
.gov .gov-avatar img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.gov .gov-avatar .fa,
.govp .govp-photo .fa { color:#6f8296; }
.gov .gov-avatar .fa { font-size:30px; }
.gov .gov-card-body { min-width:0; }
.gov h3.gov-name { font-size:17px; font-weight:600; color:#123252; margin:2px 0 0; line-height:1.25; }
.gov .gov-card-link { color:inherit; text-decoration:none; }
.gov .gov-card:hover .gov-card-link,
.gov .gov-card-link:focus,
.gov .gov-card-link:focus-visible { text-decoration:underline; text-underline-offset:2px; }
.gov .gov-card-link::after { content:''; position:absolute; inset:0; border-radius:12px; }
.gov .gov-card:hover h3.gov-name { color:#15599b; }
.gov .gov-lines { margin:8px 0 0; }
.gov .gov-lines p { font-size:14px; margin:0 0 3px; line-height:1.45; }

/* Keyboard focus ring around the whole card. */
.gov .gov-card-link:focus { outline:none; }
.gov .gov-card-link:focus::after { outline:3px solid #15599b; outline-offset:3px; }
.gov .gov-card-link:focus:not(:focus-visible)::after { outline:none; }
.gov .gov-card-link:focus-visible::after { outline:3px solid #15599b; outline-offset:3px; }

.govp { margin-top:26px; }
.govp .govp-head { display:flex; gap:28px; align-items:flex-start; flex-wrap:wrap; }
.govp .govp-photo { flex:0 0 auto; width:150px; height:150px; border-radius:50%; overflow:hidden; background:#dfe6ee; border:1px solid #d7dee6; display:flex; align-items:center; justify-content:center; }
.govp .govp-photo img { width:100%; height:100%; object-fit:cover; object-position:top center; display:block; }
.govp .govp-photo .fa { font-size:60px; }
.govp .govp-headtext { min-width:0; flex:1 1 300px; }
.govp h1.govp-name { font-family:inherit; font-weight:700; font-size:40px; line-height:1.1; margin:8px 0 0; }
.govp .govp-lines { margin:14px 0 0; }
.govp .govp-lines p { font-size:16px; margin:0 0 4px; line-height:1.5; }
.govp .govp-bio { max-width:720px; margin:32px 0 0; font-size:17px; line-height:1.7; border-top:1px solid #d7dee6; padding-top:28px; }
.govp .govp-bio p { margin:0 0 16px; }

@media (max-width:767px) {
  .gov h1.gov-title { font-size:34px; }
  .gov .gov-grid { grid-template-columns:1fr; }
  .govp h1.govp-name { font-size:30px; }
  .govp .govp-photo { width:110px; height:110px; }
}
