/* GKSchools site chrome — homepage, mega menus, footer, sitemap */

:root {
    --gks-header-h: 56px;
    --gks-ad-h: 0px;
    --gks-sticky-top: calc(var(--gks-header-h) + var(--gks-ad-h));
}
@media (min-width: 992px) {
    :root { --gks-header-h: 64px; }
}

html {
    overflow-x: clip;
}

.gks-ads-top {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 8px 16px 6px;
    text-align: center;
    box-sizing: border-box;
    overflow: hidden;
}
ins.adsbygoogle,
.gks-ads-top iframe {
    max-width: 100% !important;
}
.gks-ads-top ins.adsbygoogle,
.gks-ads-top iframe {
    display: block;
    min-height: 90px;
}
@media (max-width: 767px) {
    .gks-ads-top { padding: 4px 10px 2px; }
    .gks-ads-top ins.adsbygoogle { min-height: 50px; }
}

.exm-test-bar,
.upp-score,
.upb-score {
    top: var(--gks-sticky-top) !important;
    z-index: 900;
}

.upp-q h3,
.upb-q h3,
.nc-q h3,
.exm-radios label,
.upp-opt,
.upb-opt,
.gks-option-row,
.option-interactive-row,
.radiodiv1,
.option-text,
#display-question-text {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gks-skip {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 2000;
    background: #0f766e;
    color: #fff;
    padding: 8px 14px;
    border-radius: 0 0 8px 0;
    font-weight: 700;
}
.gks-skip:focus {
    left: 0;
}

.gks-premium-header {
    overflow: visible;
}
.header-container {
    position: relative;
}
.desktop-navbar .mega-dropdown {
    position: static;
}
.mega-menu-content,
.mega-menu-content.is-wide {
    left: 0;
    right: 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    transform: none;
    padding: 0;
    overflow: hidden;
    border: 1px solid #99f6e4;
    border-radius: 16px;
    background: linear-gradient(180deg, #f0fdfa 0%, #ffffff 28%);
    box-shadow: 0 18px 40px rgba(15, 118, 110, 0.14);
}
.mega-menu-content::before {
    content: "";
    display: block;
    height: 4px;
    background: linear-gradient(90deg, #0f766e, #14b8a6 45%, #f59e0b);
}
.mega-dropdown:hover .mega-menu-content,
.mega-dropdown:focus-within .mega-menu-content,
.mega-dropdown:hover .mega-menu-content.is-wide,
.mega-dropdown:focus-within .mega-menu-content.is-wide,
.mega-dropdown.is-open .mega-menu-content {
    opacity: 1;
    visibility: visible;
    transform: none;
}
.mega-grid {
    gap: 12px;
    padding: 14px;
}
.mega-grid.is-4,
.mega-grid.is-2 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.mega-column {
    min-width: 0;
    gap: 3px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 10px 10px 8px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
}
.column-title {
    font-size: 11px;
    letter-spacing: 0.05em;
    margin: 0 0 8px;
    padding: 7px 10px;
    border: 0;
    border-radius: 8px;
    background: #0f766e;
    color: #fff;
}
.mega-column a {
    display: block;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
    overflow-wrap: anywhere;
    padding: 7px 8px;
    border-radius: 8px;
    color: #1e293b;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}
.mega-column a:hover {
    background: #f0fdfa;
    color: #0f766e;
    transform: translateX(2px);
}
.mega-column a .mega-hint {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: #64748b;
    margin-top: 1px;
    line-height: 1.3;
}
@media (min-width: 992px) and (max-width: 1099px) {
    .mega-grid,
    .mega-grid.is-4,
    .mega-grid.is-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 991px) {
    .mega-grid.is-4,
    .mega-grid.is-2,
    .mega-grid {
        grid-template-columns: 1fr;
    }
}
.nav-item-link[aria-expanded="true"] {
    color: #0d9488;
}
.nav-police-link {
    color: #1b2a6b !important;
    font-weight: 800;
}
.nav-police-link:hover,
.nav-police-link[aria-expanded="true"] {
    color: #c41820 !important;
}
.nav-police-badge {
    width: 24px;
    height: 24px;
    object-fit: contain;
    border-radius: 6px;
    border: 1px solid #e8c547;
    flex-shrink: 0;
    background: transparent;
}
.nav-police-mega-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px 4px;
    border-bottom: 2px solid #e8c547;
    margin: 0 8px 8px;
}
.nav-police-mega-brand img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 8px;
    border: 2px solid #e8c547;
}
.nav-police-mega-brand strong {
    display: block;
    color: #1b2a6b;
    font-size: 0.95rem;
}
.nav-police-mega-brand span {
    display: block;
    color: #c41820;
    font-size: 0.75rem;
    font-weight: 700;
}
.mega-dropdown:has(.nav-police-link) .mega-menu-content {
    border: 2px solid #e8c547;
    box-shadow: 0 16px 32px rgba(27, 42, 107, .16);
}
.mega-dropdown:has(.nav-police-link) .column-title {
    color: #fff;
    background: #1b2a6b;
    border-bottom: 0;
    padding-bottom: 7px;
}

.gks-drawer-search-label {
    position: absolute;
    left: -9999px;
}
.gks-drawer-filter {
    width: 100%;
    box-sizing: border-box;
    border: 2px solid #cbd5e1;
    border-radius: 10px;
    padding: 11px 14px;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    background: #f8fafc;
    margin: 0 0 12px;
}
.gks-drawer-filter:focus {
    outline: 3px solid #d97706;
    outline-offset: 2px;
    border-color: #0d9488;
    background: #fff;
}
.gks-drawer-empty {
    margin: 0 0 12px;
    color: #b45309;
    font-weight: 700;
    font-size: 14px;
}
.gks-drawer-jumps {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}
.gks-drawer-jumps a {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #115e59;
    font-weight: 800;
    font-size: 13px;
    text-decoration: none;
    border: 1px solid #99f6e4;
}
.gks-drawer-jumps a:hover {
    background: #0d9488;
    color: #fff;
    border-color: #0d9488;
}
.mobile-nav-links .drawer-group-label {
    list-style: none;
    margin: 14px 0 4px;
    padding: 0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}
.mobile-navigation-drawer .collapse-toggle {
    width: 100%;
    background: none;
    border: 0;
    text-align: left;
    font: inherit;
    font-weight: 700;
    color: #1e293b;
    padding: 12px 0;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mobile-navigation-drawer .collapse-menu {
    display: none;
    list-style: none;
    padding: 0 0 8px 12px;
    margin: 0;
}
.drawer-item-collapse.active .collapse-menu {
    display: block;
}

/* Homepage */
.gks-home {
    font-family: var(--gks-font, Inter, "Segoe UI", sans-serif);
    color: #0f172a;
    background: #f8fafc;
}
.gks-home a {
    text-decoration: none;
}
.gks-home :focus-visible,
.gks-premium-header :focus-visible,
.gks-premium-footer a:focus-visible,
.gks-sitemap a:focus-visible,
.mobile-navigation-drawer :focus-visible {
    outline: 3px solid #d97706;
    outline-offset: 2px;
}
.gks-wrap {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 64px;
}
.gks-intent-hub {
    padding-top: 24px;
}
.gks-hub-prose {
    max-width: 720px;
    margin: 0 0 22px;
}
.gks-hub-prose p {
    margin: 0 0 12px;
    font-size: 16px;
    line-height: 1.65;
    color: #334155;
}
.gks-hub-faq {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px 16px;
    margin: 0 0 10px;
}
.gks-hub-faq summary {
    cursor: pointer;
    font-weight: 700;
    color: #0f172a;
}
.gks-hub-faq p {
    margin: 10px 0 0;
    color: #475569;
    line-height: 1.55;
}
.gks-jump {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 20px;
    padding: 0 0 16px;
    position: relative;
    z-index: 1;
    background: transparent;
}
.gks-jump a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #d6e4e2;
    color: #115e59;
    font-family: var(--gks-font);
    font-size: var(--gks-fs-small);
    font-weight: 700;
}
.gks-jump a:hover,
.gks-jump a:focus-visible {
    background: #ccfbf1;
    border-color: #0f766e;
    color: #134e4a;
}
.gks-map {
    margin: 0 0 36px;
    scroll-margin-top: calc(var(--gks-sticky-top, 56px) + 12px);
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 22px 20px 20px;
}
.gks-map-head {
    margin-bottom: 14px;
}
.gks-map-kicker {
    display: inline-block;
    font-family: var(--gks-font);
    font-size: var(--gks-fs-small);
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #0f766e;
    margin-bottom: 6px;
}
.gks-map h2 {
    margin: 0 0 6px;
    color: #115e59;
    font-size: var(--gks-fs-h2);
}
.gks-map .gks-lead {
    margin: 0;
    color: #475569;
    font-size: var(--gks-fs-body);
    max-width: 46rem;
}
.gks-tiles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
    gap: 10px;
    margin-top: 16px;
}
.gks-tile {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 92px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #0f172a;
    font-family: var(--gks-font);
}
.gks-tile:hover,
.gks-tile:focus-visible {
    background: #ecfdf5;
    border-color: #99f6e4;
    outline: 2px solid #99f6e4;
    outline-offset: 1px;
}
.gks-tile-ico {
    font-size: 1.15rem;
    line-height: 1;
}
.gks-tile strong {
    font-size: var(--gks-fs-small);
    font-weight: 800;
    line-height: 1.3;
}
.gks-tile span {
    color: #64748b;
    font-size: var(--gks-fs-small);
    line-height: 1.4;
}
.gks-finder {
    margin: 0 0 36px;
}
.gks-finder > summary {
    font-family: var(--gks-font);
    font-size: var(--gks-fs-body);
    font-weight: 800;
    color: #115e59;
    cursor: pointer;
    padding: 12px 4px;
}
.gks-finder .gks-prep {
    margin: 8px 0 0;
    box-shadow: none;
}
.gks-hero {
    background: #0f766e;
    color: #fff;
    border-radius: 0 0 28px 28px;
    padding: 36px 0 48px;
    margin-bottom: 36px;
}
.gks-hero .gks-wrap {
    padding-bottom: 0;
}
.gks-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, .75fr);
    gap: 20px;
    align-items: stretch;
}
.gks-today {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 18px;
    padding: 22px 20px;
}
.gks-today h2 {
    color: #fff;
    margin: 0 0 8px;
    font-size: var(--gks-fs-h3, 1.5rem);
}
.gks-today p {
    margin: 0 0 14px;
    opacity: .92;
    line-height: 1.5;
    font-size: .95rem;
}
.gks-count {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    background: rgba(0,0,0,.18);
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 14px;
    font-size: 13px;
}
.gks-count strong {
    font-variant-numeric: tabular-nums;
}
.gks-today-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.gks-today-links a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-weight: 800;
    background: #fdc800;
    color: #134e4a;
}
.gks-today-links a.ghost {
    background: transparent;
    color: #fff;
    border: 2px solid rgba(255,255,255,.4);
}
.gks-kicker {
    display: inline-block;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.22);
    padding: 6px 12px;
    border-radius: 999px;
    font-size: var(--gks-fs-small, 14px);
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.gks-hero h1 {
    font-size: var(--gks-fs-h1, clamp(1.875rem, 4vw, 3.125rem));
    line-height: 1.2;
    margin: 0 0 12px;
    font-weight: 800;
    max-width: 18ch;
}
.gks-hero p.lead {
    font-size: var(--gks-fs-sub, 1.125rem);
    line-height: 1.55;
    max-width: 40rem;
    margin: 0 0 22px;
    opacity: .95;
}
.gks-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}
.gks-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 10px;
    font-weight: 800;
    font-size: var(--gks-fs-btn, 16px);
    border: 2px solid transparent;
}
.gks-btn-solid {
    background: #fdc800;
    color: #134e4a;
}
.gks-btn-solid:hover {
    background: #f5c000;
    color: #134e4a;
}
.gks-btn-ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,.45);
}
.gks-btn-ghost:hover {
    background: rgba(255,255,255,.1);
    color: #fff;
}
.gks-search-hero {
    display: flex;
    gap: 8px;
    max-width: 520px;
    background: #fff;
    border-radius: 12px;
    padding: 6px;
}
.gks-search-hero input {
    flex: 1;
    border: 0;
    padding: 10px 12px;
    font-size: var(--gks-fs-body, 17px);
    outline: none;
    min-width: 0;
}
.gks-search-hero button {
    background: #0f766e;
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-weight: 800;
    padding: 10px 16px;
    cursor: pointer;
}
.gks-path {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
    font-size: var(--gks-fs-small, 14px);
    font-weight: 700;
    opacity: .92;
}
.gks-path span {
    background: rgba(255,255,255,.12);
    padding: 6px 10px;
    border-radius: 999px;
}

.gks-section {
    margin: 0 0 44px;
}
.gks-section h2 {
    font-size: var(--gks-fs-h2, clamp(1.625rem, 2.4vw, 2.25rem));
    margin: 0 0 8px;
    font-weight: 800;
    color: #115e59;
}
.gks-section .gks-lead {
    color: #475569;
    margin: 0 0 18px;
    max-width: 46rem;
    line-height: 1.5;
}
.gks-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}
.gks-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 1px 2px rgba(15,23,42,.04);
    color: inherit;
    display: flex;
    flex-direction: column;
    min-height: 168px;
    transition: transform .15s ease, box-shadow .15s ease;
}
.gks-card:hover,
.gks-card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(15,118,110,.12);
    outline: 2px solid #99f6e4;
    outline-offset: 2px;
}
.gks-card .ico {
    font-size: 1.4rem;
    margin-bottom: 8px;
}
.gks-card strong {
    font-size: var(--gks-fs-sub, 1.125rem);
    font-weight: 800;
    color: #0f172a;
}
.gks-card span {
    color: #64748b;
    font-size: var(--gks-fs-small, 0.9375rem);
    line-height: 1.5;
    margin-top: 6px;
    flex: 1;
}
.gks-card em {
    font-style: normal;
    font-size: var(--gks-fs-small, 14px);
    font-weight: 800;
    color: #0f766e;
    margin-top: 12px;
}
.gks-card .meta {
    font-size: var(--gks-fs-small, 14px);
    font-weight: 700;
    color: #0f766e;
    margin-top: 6px;
}
.gks-band {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 20px;
}
.gks-copy {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 22px;
    line-height: 1.65;
    color: #334155;
}
.gks-copy h2 {
    margin-top: 0;
}
.gks-copy h3 {
    font-size: var(--gks-fs-h4, 1.25rem);
    margin: 18px 0 8px;
    color: #115e59;
}
.gks-copy ul {
    margin: 0;
    padding-left: 18px;
}
.gks-copy a {
    color: #0f766e;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.gks-faq details {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0 16px;
    margin-bottom: 8px;
}
.gks-faq summary {
    cursor: pointer;
    font-weight: 700;
    padding: 14px 0;
    list-style: none;
}
.gks-faq summary::-webkit-details-marker { display: none; }
.gks-faq p {
    margin: 0 0 14px;
    color: #475569;
    line-height: 1.6;
}
body.dark-theme .gks-home,
html.dark-theme .gks-home {
    background: #0f172a;
    color: #f1f5f9;
}
body.dark-theme .gks-section h2,
html.dark-theme .gks-section h2 {
    color: #99f6e4;
}
body.dark-theme .gks-card,
body.dark-theme .gks-step,
body.dark-theme .gks-band,
body.dark-theme .gks-copy,
body.dark-theme .gks-faq details,
body.dark-theme .gks-chip,
html.dark-theme .gks-card,
html.dark-theme .gks-step,
html.dark-theme .gks-band,
html.dark-theme .gks-copy,
html.dark-theme .gks-faq details,
html.dark-theme .gks-chip {
    background: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}
body.dark-theme .gks-card strong,
html.dark-theme .gks-card strong {
    color: #f8fafc;
}
body.dark-theme .gks-jump,
html.dark-theme .gks-jump {
    background: transparent;
}
body.dark-theme .gks-jump a,
html.dark-theme .gks-jump a {
    background: #1e293b;
    border-color: #334155;
    color: #99f6e4;
}
body.dark-theme .gks-map,
body.dark-theme .gks-tile,
html.dark-theme .gks-map,
html.dark-theme .gks-tile {
    background: #1e293b;
    border-color: #334155;
    color: #e2e8f0;
}
body.dark-theme .gks-map h2,
html.dark-theme .gks-map h2 {
    color: #99f6e4;
}
body.dark-theme .gks-tile:hover,
html.dark-theme .gks-tile:hover {
    background: #134e4a;
}
.gks-steps {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
    counter-reset: none;
}
.gks-step {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px;
    color: inherit;
}
.gks-step b {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ccfbf1;
    color: #0f766e;
    font-size: 13px;
    margin-bottom: 8px;
}
.gks-step strong {
    display: block;
    font-size: var(--gks-fs-sub, 1.05rem);
}
.gks-step span {
    display: block;
    color: #64748b;
    font-size: var(--gks-fs-small, 14px);
    margin-top: 4px;
    line-height: 1.5;
}
.gks-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.gks-chip {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 8px 14px;
    font-weight: 700;
    font-size: var(--gks-fs-small, 15px);
    color: #134e4a;
}
.gks-chip:hover {
    border-color: #0f766e;
    color: #0f766e;
}

.gks-sitemap {
    max-width: 960px;
    margin: 0 auto;
    padding: 24px 20px 64px;
    font-family: var(--gks-font, Inter, "Segoe UI", sans-serif);
}
.gks-sitemap h1 {
    font-size: var(--gks-fs-h1, 2.25rem);
    margin: 0 0 8px;
    color: #115e59;
}
.gks-sitemap h2 {
    font-size: var(--gks-fs-h3, 1.5rem);
    margin: 28px 0 10px;
    color: #0f766e;
}
.gks-sitemap ul {
    columns: 2;
    gap: 24px;
    margin: 0;
    padding-left: 18px;
}
.gks-sitemap li {
    margin: 4px 0;
    break-inside: avoid;
}
.gks-sitemap a {
    color: #0f172a;
    font-weight: 600;
}
.gks-sitemap a:hover {
    color: #0f766e;
}
.gks-breadcrumb {
    max-width: 1120px;
    margin: 12px auto 0;
    padding: 0 20px;
    font-size: var(--gks-fs-small, 15px);
}
.gks-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
    color: #64748b;
}
.gks-breadcrumb li:not(:last-child)::after {
    content: "›";
    margin-left: 6px;
    color: #94a3b8;
}
.gks-breadcrumb a {
    color: #0f766e;
    font-weight: 700;
}

.gks-premium-footer .footer-heading {
    color: #ccfbf1;
}
@media (max-width: 900px) {
    .gks-hero-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .gks-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gks-jump {
        position: relative;
        top: auto;
        margin-bottom: 16px;
        padding-bottom: 12px;
    }
    .gks-map {
        padding: 16px 12px 14px;
        border-radius: 16px;
    }
    .gks-sitemap ul {
        columns: 1;
    }
    .mega-grid.is-4,
    .mega-grid.is-2 {
        grid-template-columns: 1fr;
    }
    .gks-hero {
        padding: 28px 0 36px;
        border-radius: 0 0 20px 20px;
    }
    .gks-cta-row .gks-btn,
    .gks-search-hero {
        width: 100%;
    }
}
@media (prefers-reduced-motion: reduce) {
    .gks-card,
    .mega-menu-content,
    .gks-prep-cat,
    .gks-class-chip,
    .gks-exam-card,
    .gks-prep-link,
    .gks-prep-panel,
    .gks-class-panel,
    .gks-exam-panel {
        transition: none;
    }
}

.gks-anchor {
    display: block;
    height: 0;
    scroll-margin-top: 88px;
}
#gks-prep {
    scroll-margin-top: 80px;
}

.gks-prep {
    margin: 8px 0 40px;
    padding: 28px 22px 26px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .05);
}
.gks-prep h2 {
    margin: 0 0 8px;
    font-size: clamp(1.4rem, 2vw, 1.85rem);
    color: #0f172a;
}
.gks-prep h3 {
    margin: 22px 0 8px;
    font-size: 1.15rem;
    color: #134e4a;
}
.gks-prep-cats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0 8px;
}
.gks-prep-cat,
.gks-exam-card,
.gks-class-chip,
.gks-prep-switch {
    font: inherit;
    cursor: pointer;
    text-align: left;
}
.gks-prep-cat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 108px;
    padding: 14px 14px 12px;
    border: 2px solid #e2e8f0;
    border-radius: 16px;
    background: #f8fafc;
    color: #0f172a;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.gks-prep-cat:hover {
    border-color: #99f6e4;
    box-shadow: 0 8px 20px rgba(15, 118, 110, .12);
    transform: translateY(-1px);
}
.gks-prep-cat[aria-selected="true"] {
    border-color: #0f766e;
    background: linear-gradient(180deg, #ecfdf5 0%, #fff 70%);
    box-shadow: 0 8px 22px rgba(15, 118, 110, .16);
}
.gks-prep-ico {
    font-size: 1.35rem;
    line-height: 1;
}
.gks-prep-cat strong,
.gks-exam-card strong,
.gks-prep-link strong {
    display: block;
    font-size: 15px;
    font-weight: 800;
}
.gks-prep-cat span,
.gks-exam-card span,
.gks-prep-link span {
    display: block;
    color: #64748b;
    font-size: 13px;
    line-height: 1.4;
}
.gks-prep-switch-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 0;
}
.gks-prep-switch {
    min-height: 40px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #0f766e;
    font-weight: 700;
    font-size: 13px;
}
.gks-prep-switch:hover,
.gks-prep-switch:focus-visible {
    border-color: #0f766e;
    background: #ecfdf5;
}
.gks-prep-panel {
    margin-top: 8px;
    animation: gks-prep-in .22s ease;
}
@keyframes gks-prep-in {
    from { opacity: .4; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}
.gks-class-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 16px;
}
.gks-class-chip {
    min-height: 44px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 2px solid #e2e8f0;
    background: #fff;
    color: #0f172a;
    font-weight: 800;
    font-size: 14px;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.gks-class-chip:hover {
    border-color: #99f6e4;
}
.gks-class-chip[aria-pressed="true"] {
    background: #0f766e;
    border-color: #0f766e;
    color: #fff;
}
.gks-class-panel,
.gks-exam-panel {
    margin-top: 8px;
    padding: 16px 16px 8px;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    animation: gks-prep-in .22s ease;
}
.gks-prep-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0 16px;
}
.gks-prep-link {
    display: block;
    padding: 12px 14px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #0f172a;
    min-height: 64px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.gks-prep-link:hover,
.gks-prep-link:focus-visible {
    border-color: #0f766e;
    box-shadow: 0 6px 16px rgba(15, 118, 110, .1);
    color: #0f172a;
}
.gks-exam-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 10px;
}
.gks-exam-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 120px;
    padding: 16px;
    border-radius: 16px;
    border: 2px solid #e2e8f0;
    background: #fff;
    color: #0f172a;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.gks-exam-card:hover {
    border-color: #99f6e4;
    transform: translateY(-1px);
}
.gks-exam-card[aria-pressed="true"] {
    border-color: #0f766e;
    background: #ecfdf5;
    box-shadow: 0 8px 20px rgba(15, 118, 110, .12);
}
.gks-exam-card em {
    margin-top: auto;
    font-style: normal;
    font-weight: 800;
    font-size: 13px;
    color: #0f766e;
}
.gks-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0 18px;
}
.gks-stat {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px 16px;
}
.gks-stat b {
    display: block;
    font-size: 1.4rem;
    color: #0f766e;
}
.gks-stat span {
    color: #64748b;
    font-size: 13px;
}
.gks-recent {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}
.gks-recent li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6px 12px;
    padding: 10px 0;
    border-bottom: 1px solid #e2e8f0;
    font-size: 14px;
}
.gks-recent a {
    color: #0f766e;
    font-weight: 700;
}

@media (max-width: 1024px) {
    .gks-prep-cats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 768px) {
    .gks-prep {
        padding: 20px 14px 18px;
        border-radius: 16px;
    }
    .gks-exam-row,
    .gks-prep-links,
    .gks-stats {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 560px) {
    .gks-prep-cats,
    .gks-exam-row,
    .gks-prep-links,
    .gks-stats {
        grid-template-columns: 1fr;
    }
    .gks-class-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .gks-class-chip {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

#gks-series,
#gks-kids {
    scroll-margin-top: 80px;
}
.gks-prep {
    margin-bottom: 24px;
}
.gks-section-tight {
    margin-bottom: 28px;
}
.gks-series {
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(0, 1.4fr);
    gap: 18px;
    align-items: stretch;
    margin: 0 0 32px;
    padding: 24px;
    border-radius: 20px;
    background: linear-gradient(145deg, #0f766e 0%, #115e59 55%, #134e4a 100%);
    color: #fff;
    box-shadow: 0 12px 32px rgba(15, 118, 110, .22);
}
.gks-series-top h2 {
    margin: 8px 0 8px;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    color: #fff;
}
.gks-series-top p {
    margin: 0 0 16px;
    opacity: .92;
    line-height: 1.5;
    max-width: 36rem;
}
.gks-series-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #fdc800;
    color: #134e4a;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.gks-series-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.gks-series-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 108px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    color: #fff;
    transition: background .15s ease, transform .15s ease;
}
.gks-series-card:hover,
.gks-series-card:focus-visible {
    background: rgba(255,255,255,.18);
    color: #fff;
    transform: translateY(-1px);
}
.gks-series-ico {
    font-size: 1.2rem;
}
.gks-series-card strong {
    font-size: 15px;
}
.gks-series-card span {
    color: rgba(255,255,255,.8);
    font-size: 12px;
}
.gks-series-card em {
    margin-top: auto;
    font-style: normal;
    font-weight: 800;
    font-size: 12px;
    color: #fde68a;
}
.gks-more {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 6px 16px 10px;
}
.gks-more summary {
    cursor: pointer;
    font-weight: 800;
    color: #0f766e;
    min-height: 48px;
    display: flex;
    align-items: center;
    list-style: none;
}
.gks-more summary::-webkit-details-marker {
    display: none;
}
.gks-more[open] summary {
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 12px;
}
.gks-card {
    min-height: 140px;
}
.gks-kids {
    margin: 0 0 32px;
    padding: 24px 22px 20px;
    border-radius: 20px;
    background: linear-gradient(180deg, #fff7ed 0%, #fff 42%);
    border: 1px solid #fed7aa;
    box-shadow: 0 10px 28px rgba(194, 65, 12, .06);
}
.gks-kids-top h2 {
    margin: 8px 0 8px;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    color: #9a3412;
}
.gks-kids-top p {
    margin: 0 0 14px;
    color: #7c2d12;
    line-height: 1.5;
    max-width: 40rem;
}
.gks-kids-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 2px 10px;
    border-radius: 999px;
    background: #f97316;
    color: #fff;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.gks-kids-classes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0 14px;
}
.gks-kids-class {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #fff;
    border: 2px solid #fdba74;
    color: #9a3412;
    font-weight: 800;
}
.gks-kids-class:hover,
.gks-kids-class:focus-visible {
    background: #ffedd5;
    border-color: #ea580c;
    color: #7c2d12;
}
.gks-kids-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.gks-kids-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 108px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #fed7aa;
    color: #0f172a;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.gks-kids-card:hover,
.gks-kids-card:focus-visible {
    border-color: #ea580c;
    box-shadow: 0 8px 18px rgba(234, 88, 12, .12);
    color: #0f172a;
}
.gks-kids-ico {
    font-size: 1.25rem;
}
.gks-kids-card strong {
    font-size: 14px;
    color: #9a3412;
}
.gks-kids-card span {
    color: #78716c;
    font-size: 12px;
    line-height: 1.4;
}
@media (max-width: 1024px) {
    .gks-kids-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    .gks-series {
        grid-template-columns: 1fr;
    }
    .gks-series-grid,
    .gks-kids-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 560px) {
    .gks-series-grid,
    .gks-kids-grid {
        grid-template-columns: 1fr;
    }
}

/* Kill the old quiz.css equal-height white column (blank space under sidebar) */
.row.content,
.row.content.my-content,
.container.site-wrap > .row.content {
    height: auto !important;
    min-height: 0 !important;
    background-color: transparent !important;
}
.sidenav,
.sidenav.my-content-div3,
.sidenav.my-content-right1,
.my-content-div3 {
    height: auto !important;
    min-height: 0 !important;
    background-color: transparent !important;
    align-self: flex-start;
}
.sidenav .widget,
.sidenav .gks-quiz-side-widget {
    background: #fff;
}

/* Legacy left/middle nav — never show beside the practice set */
#social_media_sharing_buttons,
.social-share-container,
.sidenav.my-content-div2,
.col-md-3.my-content-div2,
.my-content-div2 {
    display: none !important;
}

/* Practice set + related quizzes: two columns on tablet/desktop */
@media (min-width: 768px) {
    .row.content.my-content {
        display: flex !important;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 20px;
    }
    .row.content.my-content > .my-content-div1,
    .row.content.my-content > main,
    .row.content.my-content:has(> .my-content-div3) > .my-content-div1,
    .row.content.my-content:has(> .my-content-div3) > main {
        flex: 1 1 0%;
        width: auto !important;
        max-width: none !important;
        float: none !important;
        min-width: 0;
    }
    .row.content.my-content:has(> .my-content-div3) > .sidenav.my-content-div3,
    .row.content.my-content:has(> .my-content-div3) > .my-content-right1 {
        flex: 0 0 280px;
        width: 280px !important;
        max-width: 280px !important;
        float: none !important;
        display: block !important;
        margin-top: 0 !important;
        margin-left: 0 !important;
    }
}
@media (min-width: 992px) {
    .row.content.my-content {
        flex-wrap: nowrap;
    }
}
@media (max-width: 767px) {
    .row.content.my-content > .sidenav.my-content-div3,
    .row.content.my-content > .my-content-right1 {
        width: 100% !important;
        max-width: 100% !important;
        flex: none;
        margin-top: 16px !important;
    }
}
.gks-side-keepgoing {
    margin: 4px 8px 12px;
    padding: 12px;
    background: #f0fdfa;
    border: 1px solid #99f6e4;
    border-radius: 12px;
}
.gks-side-keepgoing p {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0f766e;
}
.gks-side-keepgoing a {
    display: block;
    padding: 8px 10px;
    margin-top: 6px;
    border-radius: 8px;
    background: #fff;
    color: #0f172a !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    border: 1px solid #e2e8f0;
}
.gks-side-keepgoing a:hover,
.gks-side-keepgoing a:focus-visible {
    border-color: #0f766e;
    color: #0f766e !important;
}
@media (min-width: 768px) {
    .sidenav.my-content-right1 {
        position: sticky;
        top: 88px;
        max-height: calc(100vh - 104px);
        overflow-y: auto;
        padding-bottom: 8px;
    }
}
@media (max-width: 600px) {
    .my-content-div3 {
        margin-top: 12px !important;
    }
}

/* Site announcement popup */
body.gks-popup-open {
    overflow: hidden;
}
.gks-popup {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.gks-popup[hidden] {
    display: none !important;
}
.gks-popup-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.62);
}
.gks-popup-box {
    position: relative;
    z-index: 1;
    width: min(520px, 100%);
    max-height: calc(100vh - 32px);
    overflow: auto;
    background: #fff;
    border-radius: 16px;
    padding: 0 0 20px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
    font-family: inherit;
    animation: gks-popup-in 0.22s ease-out;
}
@keyframes gks-popup-in {
    from { transform: translateY(12px) scale(0.98); opacity: 0; }
    to { transform: none; opacity: 1; }
}
.gks-popup-close {
    position: absolute;
    top: 8px;
    right: 10px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border: 0;
    background: #fff;
    color: #0f172a;
    border-radius: 999px;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18);
}
.gks-popup-close:hover,
.gks-popup-close:focus-visible {
    background: #f1f5f9;
}
.gks-popup-img-link {
    display: block;
}
.gks-popup-img {
    display: block;
    width: 100%;
    max-height: 260px;
    object-fit: cover;
    background: #0f766e;
    border-radius: 16px 16px 0 0;
}
.gks-popup-copy {
    padding: 16px 22px 0;
}
.gks-popup-box h2 {
    margin: 0 0 8px;
    font-size: 22px;
    color: #0f766e;
}
.gks-popup-box h2.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
.gks-popup-box p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.55;
    color: #334155;
}
.gks-popup-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.gks-popup-btn {
    display: inline-block;
    background: #0f766e;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    padding: 10px 16px;
    border-radius: 10px;
}
.gks-popup-btn:hover,
.gks-popup-btn:focus-visible {
    background: #0d9488;
}
.gks-popup-later {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    font-weight: 700;
    padding: 10px 16px;
    border-radius: 10px;
    cursor: pointer;
}
.gks-popup-later:hover,
.gks-popup-later:focus-visible {
    border-color: #0f766e;
    color: #0f766e;
}
@media (max-width: 600px) {
    .gks-popup-copy {
        padding: 14px 16px 0;
    }
    .gks-popup-img {
        max-height: 190px;
    }
}

/* In-page product cards (sidebar / content / kids) */
.gks-prod-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: inherit;
}
.gks-prod-card img {
    width: 250px;
    max-width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 12px;
    background: #ecfdf5;
    display: block;
}
.gks-prod-copy {
    display: grid;
    gap: 4px;
    width: 100%;
    min-width: 0;
}
.gks-prod-copy strong {
    font-size: 16px;
    line-height: 1.35;
    color: #0f172a;
}
.gks-prod-copy em {
    font-style: normal;
    font-weight: 800;
    color: #0f766e;
    font-size: 18px;
}
.gks-prod-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 36px;
    padding: 0 14px;
    margin-top: 4px;
    border-radius: 999px;
    background: #0f766e;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}
.gks-prod-card:hover .gks-prod-cta { background: #0d9488; }
.gks-prod--widget { margin-bottom: 16px; }
.gks-prod-pad { padding: 12px; }
.gks-prod--card { padding-bottom: 16px; }
.gks-prod--card > h3 { color: #0f766e; }
.gks-prod--inline {
    margin: 24px auto;
    max-width: 1120px;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-top: 3px solid #0f766e;
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}
.gks-prod-h,
.gks-prod--inline h2,
.gks-prod--kids h2 {
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 800;
    color: #0f766e;
}
.gks-prod-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.gks-prod--inline .gks-prod-card {
    flex-direction: row;
    align-items: center;
    gap: 16px;
    flex: 1 1 420px;
    max-width: 640px;
}
.gks-prod--inline .gks-prod-card img {
    flex: 0 0 250px;
}
.gks-prod--kids {
    margin: 18px 0 8px;
    padding: 16px;
    background: #fff;
    border: 3px solid #fde68a;
    border-radius: 22px;
    box-shadow: 0 8px 20px rgba(30, 27, 75, 0.08);
}
.gks-prod--kids h2 { color: #7c3aed; }
.gks-prod--kids .gks-prod-copy strong { color: #1e1b4b; }
.gks-prod--kids .gks-prod-copy em { color: #db2777; }
.gks-prod--kids .gks-prod-cta { background: #7c3aed; }
.gks-prod--kids .gks-prod-card:hover .gks-prod-cta { background: #6d28d9; }
body.dark-theme .gks-prod--inline,
body.dark-theme .gks-prod--kids,
body.dark-theme .gks-prod--card {
    background: #1e293b;
    border-color: #334155;
}
body.dark-theme .gks-prod-copy strong { color: #f1f5f9; }
body.dark-theme .gks-prod-copy em { color: #5eead4; }
@media (max-width: 640px) {
    .gks-prod--inline .gks-prod-card {
        flex-direction: column;
        align-items: flex-start;
    }
    .gks-prod--inline .gks-prod-card img {
        flex-basis: auto;
        width: 100%;
        max-width: 250px;
    }
}
