:root {
  --cgs-navy: #0c2b5c;
  --cgs-ink: #061224;
  --cgs-blue: #1189d5;
  --cgs-gold: #dca11c;
  --cgs-muted: #64748b;
  --cgs-line: #d9e5f2;
  --cgs-ease: cubic-bezier(.23, 1, .32, 1);
}

.cgs-leadership { padding: 78px 0 84px; background: #07182f; color: #fff; }
.cgs-leadership-heading { max-width: 760px; margin-bottom: 36px; }
.cgs-section-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #f2bd35; font-size: 12px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.cgs-leadership-heading h2 { margin: 10px 0 8px; color: #fff; font-size: 36px; font-weight: 800; letter-spacing: 0; }
.cgs-leadership-heading p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.7; }
.cgs-leadership-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.cgs-leader-card { min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.13); border-radius: 8px; background: #0b213e; transition: transform 220ms var(--cgs-ease), border-color 180ms ease, box-shadow 180ms ease; }
.cgs-leader-card:hover { transform: translateY(-5px); border-color: rgba(242,189,53,.7); box-shadow: 0 20px 42px rgba(0,0,0,.28); }
.cgs-leader-photo { position: relative; display: grid; width: 100%; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; background: #163b6a; color: #fff; font-size: 42px; font-weight: 900; }
.cgs-leader-photo::after { content: ""; position: absolute; inset: auto 0 0; height: 48%; background: linear-gradient(to top, rgba(7,24,47,.9), transparent); pointer-events: none; }
.cgs-leader-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform 360ms var(--cgs-ease); }
.cgs-leader-card:hover .cgs-leader-photo img { transform: scale(1.035); }
.cgs-leader-card-body { padding: 22px; }
.cgs-leader-role { color: #f2bd35; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.cgs-leader-card h3 { margin: 6px 0 10px; color: #fff; font-size: 20px; font-weight: 800; letter-spacing: 0; overflow-wrap: anywhere; }
.cgs-leader-card p { min-height: 96px; margin: 0 0 18px; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.7; }
.cgs-leader-read { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: transparent; color: #fff; font-weight: 800; cursor: pointer; }
.cgs-leader-read:hover { color: #f2bd35; }
.cgs-leader-read:focus-visible, .cgs-leader-dialog-close:focus-visible { outline: 3px solid rgba(17,137,213,.4); outline-offset: 4px; }
body.cgs-dialog-open { overflow: hidden; }
.cgs-leader-dialog[hidden] { display: none; }
.cgs-leader-dialog { position: fixed; z-index: 100100; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(3,13,29,.78); backdrop-filter: blur(12px); }
.cgs-leader-dialog-panel { position: relative; display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.7fr); width: min(1080px, 100%); max-height: min(820px, calc(100vh - 48px)); overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.42); }
.cgs-leader-dialog-close { position: absolute; z-index: 2; top: 16px; right: 16px; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(12,43,92,.15); border-radius: 50%; background: #fff; color: var(--cgs-navy); cursor: pointer; }
.cgs-leader-dialog-profile { padding: 40px 30px; background: #0b213e; color: #fff; }
.cgs-leader-dialog-photo { width: 100%; aspect-ratio: 4 / 5; display: grid; place-items: center; overflow: hidden; margin-bottom: 24px; border-radius: 8px; background: #163b6a; font-size: 64px; }
.cgs-leader-dialog-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.cgs-leader-dialog-profile span { color: #f2bd35; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.cgs-leader-dialog-profile h2 { margin: 8px 0 0; color: #fff; font-size: 28px; letter-spacing: 0; }
.cgs-leader-dialog-message { overflow-y: auto; padding: 60px 64px; }
.cgs-leader-rich-text { margin-top: 20px; color: #334155; font-size: 16px; line-height: 1.85; }
.cgs-leader-rich-text h1, .cgs-leader-rich-text h2, .cgs-leader-rich-text h3 { color: var(--cgs-navy); font-size: 24px; letter-spacing: 0; }

@media (max-width: 1199.98px) { .cgs-leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
  .cgs-leadership { padding: 58px 0 64px; }
  .cgs-leadership-heading h2 { font-size: 30px; }
  .cgs-leadership-grid { grid-template-columns: 1fr; }
  .cgs-leader-card { display: grid; grid-template-columns: 124px minmax(0, 1fr); }
  .cgs-leader-photo { height: 100%; aspect-ratio: auto; }
  .cgs-leader-card-body { padding: 18px; }
  .cgs-leader-card h3 { font-size: 18px; }
  .cgs-leader-card p { min-height: 0; }
  .cgs-leader-dialog { padding: 0; }
  .cgs-leader-dialog-panel { display: block; width: 100%; height: 100%; max-height: none; border-radius: 0; overflow-y: auto; }
  .cgs-leader-dialog-profile { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 4px 18px; align-items: end; padding: 58px 24px 26px; }
  .cgs-leader-dialog-photo { grid-row: 1 / 3; width: 96px; height: 112px; margin: 0; }
  .cgs-leader-dialog-profile h2 { font-size: 22px; }
  .cgs-leader-dialog-message { overflow: visible; padding: 34px 24px 60px; }
}
@media (max-width: 460px) {
  .cgs-leader-card { grid-template-columns: 102px minmax(0, 1fr); }
  .cgs-leader-card p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
}
@media (prefers-reduced-motion: reduce) { .cgs-leader-card, .cgs-leader-photo img { transition: none; } }

.cgs-vendor-footer-bar { border-top: 4px solid var(--cgs-gold); border-bottom: 1px solid rgba(255,255,255,.12); background: #0d315f; }
.cgs-vendor-footer-bar .container { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.cgs-vendor-footer-bar span { display: block; margin-bottom: 3px; color: #f2bd35; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.cgs-vendor-footer-bar strong { color: #fff; font-size: 16px; }
.cgs-vendor-footer-bar a { min-height: 46px; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; border: 1px solid rgba(255,255,255,.38); border-radius: 8px; color: #fff; font-weight: 800; text-decoration: none; transition: transform 160ms var(--cgs-ease), background-color 180ms ease; }
.cgs-vendor-footer-bar a:hover { transform: translateY(-2px); background: #1189d5; color: #fff; }

.cgs-vendors-directory { padding: 74px 0 92px; background: #f6f9fd; }
.cgs-vendors-heading { max-width: 800px; margin: 0 auto 58px; text-align: center; }
.cgs-vendors-heading .cgs-section-eyebrow { color: var(--cgs-blue); }
.cgs-vendors-heading h2 { margin: 10px 0 10px; color: var(--cgs-navy); font-size: 38px; font-weight: 800; letter-spacing: 0; }
.cgs-vendors-heading p { margin: 0; color: var(--cgs-muted); line-height: 1.75; }
.cgs-vendor-group + .cgs-vendor-group { margin-top: 64px; }
.cgs-vendor-group h3 { display: flex; align-items: center; gap: 14px; margin: 0 0 24px; color: var(--cgs-navy); font-size: 24px; font-weight: 800; letter-spacing: 0; }
.cgs-vendor-group h3::before { content: ""; width: 44px; height: 4px; background: var(--cgs-gold); }
.cgs-vendor-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.cgs-vendor-card { min-width: 0; display: flex; flex-direction: column; padding: 18px; border: 1px solid var(--cgs-line); border-radius: 8px; background: #fff; color: var(--cgs-navy); text-decoration: none; box-shadow: 0 12px 30px rgba(12,43,92,.07); transition: transform 190ms var(--cgs-ease), border-color 180ms ease, box-shadow 180ms ease; }
a.cgs-vendor-card:hover { transform: translateY(-4px); border-color: rgba(17,137,213,.45); color: var(--cgs-navy); box-shadow: 0 18px 38px rgba(12,43,92,.13); }
.cgs-vendor-logo { height: 142px; display: grid; place-items: center; margin-bottom: 16px; overflow: hidden; border-radius: 6px; background: #f8fafc; color: #aac0d8; font-size: 42px; }
.cgs-vendor-logo img { width: 100%; height: 100%; padding: 18px; object-fit: contain; }
.cgs-vendor-card strong { font-size: 16px; overflow-wrap: anywhere; }
.cgs-vendor-card span { margin-top: 7px; color: var(--cgs-blue); font-size: 12px; font-weight: 700; }
.cgs-vendors-empty { max-width: 620px; margin: 0 auto; padding: 58px 24px; border: 1px dashed #aec2d8; border-radius: 8px; background: #fff; text-align: center; }
.cgs-vendors-empty i { color: var(--cgs-blue); font-size: 42px; }
.cgs-vendors-empty h3 { margin: 12px 0 6px; color: var(--cgs-navy); font-size: 22px; }
.cgs-vendors-empty p { margin: 0; color: var(--cgs-muted); }

@media (max-width: 991.98px) { .cgs-vendor-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
  .cgs-vendor-footer-bar .container { min-height: 0; padding-top: 22px; padding-bottom: 22px; align-items: flex-start; }
  .cgs-vendor-footer-bar strong { font-size: 14px; line-height: 1.5; }
  .cgs-vendors-directory { padding: 58px 0 70px; }
  .cgs-vendors-heading h2 { font-size: 30px; }
  .cgs-vendor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .cgs-vendor-footer-bar .container { display: grid; }
  .cgs-vendor-footer-bar a { width: 100%; }
  .cgs-vendor-grid { grid-template-columns: 1fr; }
  .cgs-vendor-logo { height: 130px; }
}
