.cts-atg { color: #172033; margin-block: 2rem; }
.cts-atg *, .cts-atg *::before, .cts-atg *::after { box-sizing: border-box; }
.cts-atg > h2, .cts-atg > h3, .cts-atg > h4 { margin-block: 0 .75rem; }
.cts-atg--align-center > h2, .cts-atg--align-center > h3, .cts-atg--align-center > h4, .cts-atg--align-center .cts-atg__intro { text-align: center; }
.cts-atg__intro { color: #526078; margin: 0 0 1.5rem; max-width: 50rem; }
.cts-atg--align-center .cts-atg__intro { margin-inline: auto; }
.cts-atg__intro p { margin: 0; }
.cts-atg__grid { display: grid; }
.cts-atg--gap-compact .cts-atg__grid { gap: .75rem; }
.cts-atg--gap-comfortable .cts-atg__grid { gap: 1.25rem; }
.cts-atg--gap-roomy .cts-atg__grid { gap: 2rem; }
.cts-atg--columns-1 .cts-atg__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.cts-atg--columns-2 .cts-atg__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cts-atg--columns-3 .cts-atg__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cts-atg--columns-4 .cts-atg__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cts-atg__member { color: inherit; margin: 0; min-width: 0; overflow: hidden; text-align: left; }
.cts-atg--align-center .cts-atg__member { text-align: center; }
.cts-atg--theme-cards .cts-atg__member { background: #fff; border: 1px solid #dbe3ec; border-radius: .8rem; box-shadow: 0 .35rem 1rem rgba(15,23,42,.07); }
.cts-atg--theme-bordered .cts-atg__member { background: transparent; border: 2px solid #cbd5e1; border-radius: .45rem; }
.cts-atg--theme-minimal .cts-atg__member { background: transparent; border: 0; }
.cts-atg__image { aspect-ratio: 1 / 1; display: block; height: auto; margin: 0; object-fit: cover; width: 100%; }
.cts-atg--image-rounded .cts-atg__image { border-radius: .8rem .8rem 0 0; }
.cts-atg--theme-minimal.cts-atg--image-rounded .cts-atg__image { border-radius: .8rem; }
.cts-atg--image-circle .cts-atg__image { aspect-ratio: 1 / 1; border-radius: 50%; margin: 1.25rem auto 0; max-width: 13rem; }
.cts-atg__content { padding: 1.1rem; }
.cts-atg--theme-minimal .cts-atg__content { padding-inline: 0; }
.cts-atg__content h3 { color: inherit; font-size: 1.2rem; margin: 0 0 .25rem; }
.cts-atg__role { color: #526078; font-weight: 700; margin: 0 0 .75rem; }
.cts-atg__bio { line-height: 1.6; }
.cts-atg__bio p:first-child { margin-top: 0; }
.cts-atg__bio p:last-child { margin-bottom: .85rem; }
.cts-atg__link { color: #1d4ed8; font-weight: 750; text-underline-offset: .18em; }
.cts-atg__link:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
@media (max-width: 900px) { .cts-atg--columns-3 .cts-atg__grid, .cts-atg--columns-4 .cts-atg__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .cts-atg__grid, .cts-atg--columns-2 .cts-atg__grid, .cts-atg--columns-3 .cts-atg__grid, .cts-atg--columns-4 .cts-atg__grid { grid-template-columns: 1fr; } }
