.cts-atsg { color: #172033; margin-block: 2rem; }
.cts-atsg *, .cts-atsg *::before, .cts-atsg *::after { box-sizing: border-box; }
.cts-atsg > h2, .cts-atsg > h3, .cts-atsg > h4 { margin-block: 0 .75rem; }
.cts-atsg--align-center > h2, .cts-atsg--align-center > h3, .cts-atsg--align-center > h4, .cts-atsg--align-center .cts-atsg__intro { text-align: center; }
.cts-atsg__intro { color: #526078; margin: 0 0 1.5rem; max-width: 50rem; }
.cts-atsg--align-center .cts-atsg__intro { margin-inline: auto; }
.cts-atsg__intro p { margin: 0; }
.cts-atsg__items { display: grid; list-style: none; margin: 0; padding: 0; }
.cts-atsg--gap-compact .cts-atsg__items { gap: .75rem; }
.cts-atsg--gap-comfortable .cts-atsg__items { gap: 1.25rem; }
.cts-atsg--gap-roomy .cts-atsg__items { gap: 2rem; }
.cts-atsg--columns-1 .cts-atsg__items { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.cts-atsg--columns-2 .cts-atsg__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cts-atsg--columns-3 .cts-atsg__items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cts-atsg--columns-4 .cts-atsg__items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cts-atsg__item { color: inherit; margin: 0; min-width: 0; text-align: left; }
.cts-atsg--align-center .cts-atsg__item { text-align: center; }
.cts-atsg--theme-cards .cts-atsg__item { background: #fff; border: 1px solid #dbe3ec; border-radius: .8rem; box-shadow: 0 .35rem 1rem rgba(15,23,42,.07); padding: 1.5rem; }
.cts-atsg--theme-bordered .cts-atsg__item { background: transparent; border: 2px solid #cbd5e1; border-radius: .45rem; padding: 1.5rem; }
.cts-atsg--theme-minimal .cts-atsg__item { background: transparent; border: 0; border-top: 4px solid #2563eb; padding: 1.25rem 0 0; }
.cts-atsg__item--featured { border-color: #2563eb !important; }
.cts-atsg figure, .cts-atsg blockquote { margin: 0; }
.cts-atsg blockquote p { line-height: 1.65; margin: 0 0 1rem; }
.cts-atsg--quote-compact blockquote p { font-size: 1rem; }
.cts-atsg--quote-regular blockquote p { font-size: 1.125rem; }
.cts-atsg--quote-large blockquote p { font-size: clamp(1.2rem, 2.1vw, 1.55rem); line-height: 1.5; }
.cts-atsg__badge { color: #1d4ed8; font-size: .78rem; font-weight: 800; letter-spacing: .05em; margin: 0 0 .75rem; text-transform: uppercase; }
.cts-atsg__rating { color: #9a6700; font-size: 1.05rem; letter-spacing: .09em; margin: 0 0 1rem; }
.cts-atsg figcaption { border-top: 1px solid #dbe3ec; display: grid; gap: .15rem; padding-top: 1rem; }
.cts-atsg cite { font-style: normal; font-weight: 800; }
.cts-atsg__role, .cts-atsg__organization { color: #526078; }
.cts-atsg__source { color: #1d4ed8; font-weight: 750; justify-self: start; margin-top: .55rem; text-underline-offset: .18em; }
.cts-atsg--align-center .cts-atsg__source { justify-self: center; }
.cts-atsg__source:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
@media (max-width: 900px) { .cts-atsg--columns-3 .cts-atsg__items, .cts-atsg--columns-4 .cts-atsg__items { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .cts-atsg__items, .cts-atsg--columns-2 .cts-atsg__items, .cts-atsg--columns-3 .cts-atsg__items, .cts-atsg--columns-4 .cts-atsg__items { grid-template-columns: 1fr; } }
