.gt-programs { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 16px; }
.gt-programs a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 16px; border: 1px solid #a9c9c9; border-radius: 28px; background: #ffffffd9; color: var(--ns-ink); font-size: 14px; font-weight: 700; text-decoration: none; }
.gt-programs a:hover { border-color: var(--ns-teal); background: #eff9f5; }
.gt-programs a[aria-current="page"] { background: var(--ns-teal); border-color: var(--ns-teal); color: #fff; }
.gt-page :is(a, button, input, summary):focus-visible { outline: 3px solid #5c58b8; outline-offset: 4px; }
.gt-focus { border-left: 3px solid #82b9ac; padding-left: 14px; margin-bottom: 24px; }
.gt-focus p { font-size: 15px; line-height: 1.6; }
.gt-focus span, .gt-focus p + p { color: var(--ns-muted); }
.gt-page .gt-question { margin: 16px 0; font-weight: 700; font-size: 18px; line-height: 1.5; }
.gt-page .gt-pattern { font-size: 42px; letter-spacing: 1px; }
.gt-page .gt-passage { background: #f1f6f8; border-radius: 12px; padding: 14px; margin-top: 16px; line-height: 1.6; font-size: 16px; }
.gt-page fieldset { border: 0; margin: 0 0 16px; padding: 0; }
.gt-page legend { float: none; width: auto; font-size: 14px; font-weight: 650; margin-bottom: 8px; }
.gt-answers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.gt-answers--reading { grid-template-columns: 1fr; gap: 8px; }
.gt-page .gt-answers label { display: flex; align-items: center; gap: 9px; margin: 0; min-height: 46px; padding: 10px 14px; background: #fff; border: 1px solid #bdd4db; border-radius: 12px; cursor: pointer; font-size: 16px; }
.gt-answers label:has(input:checked) { border-color: var(--ns-teal); background: #e8f6f1; box-shadow: inset 0 0 0 1px var(--ns-teal); }
.gt-answers input { accent-color: var(--ns-teal); width: 17px; height: 17px; flex-shrink: 0; }
@media (max-width: 850px) { .gt-programs a { padding-inline: 12px; } }
@media (max-width: 420px) {
    .gt-programs { gap: 6px; }
    .gt-programs a { padding-inline: 10px; font-size: 13px; }
    .gt-page .gt-pattern { font-size: 35px; }
    .gt-page .gt-answers label { padding-inline: 10px; }
}
