:root {
    --ctl-blue: #5579e9;
    --ctl-blue-dark: #3157c9;
    --ctl-red: #f7464e;
    --ctl-red-warm: #ff573f;
    --ctl-red-ink: #c92d37;
    --ctl-ink: #111318;
    --ctl-muted: #69707c;
    --ctl-line: #dfe3ea;
    --ctl-paper: #ffffff;
    --ctl-soft: #f5f7fa;
}

body {
    background: var(--ctl-paper);
    color: var(--ctl-ink);
}

#flashlight,
#cursor {
    display: none !important;
}

.ctl-inner-page .ctl-global-categories {
    display: none !important;
}

.ctl-inner-page main,
.ctl-inner-page #main-wrap,
.ctl-inner-page #detail-view {
    margin-top: 122px !important;
}

.ctl-inner-page main,
.ctl-inner-page .article-page {
    padding-top: 44px !important;
}

.ctl-inner-page #main-wrap > .bg-grid,
.ctl-inner-page #detail-view {
    padding-top: 44px !important;
}

.ctl-inner-page .reveal {
    opacity: 1 !important;
    transform: none !important;
}

.ctl-inner-page #main-wrap > .bg-grid > .px-6.max-w-7xl {
    display: none !important;
}

.ctl-inner-page .login-main {
    min-height: auto;
    place-items: start center;
}

.site-header-paper,
.site-header nav {
    min-height: 92px;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    background: var(--ctl-paper) !important;
    border-bottom: 0 !important;
}

.site-logo-link img,
.site-header-logo img {
    max-height: 58px;
    width: auto;
}

.site-header-actions {
    gap: 20px !important;
    font-size: 13px !important;
    letter-spacing: .01em;
}

.site-header-actions a {
    color: var(--ctl-ink) !important;
}

.site-header-actions a:hover {
    color: var(--ctl-blue) !important;
}

.site-header-search {
    width: 238px !important;
}

.site-header-search input {
    height: 42px;
    border: 1px solid #cfd5df !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-weight: 600 !important;
}

.site-outline-action {
    border-color: var(--ctl-blue) !important;
    color: var(--ctl-blue) !important;
    background: #fff;
}

.site-outline-action:hover {
    background: var(--ctl-blue) !important;
    color: #fff !important;
}

.marquee-container {
    min-height: 30px;
    padding: 5px 0 !important;
    background: var(--ctl-blue) !important;
    color: #fff !important;
    border: 0 !important;
}

.marquee-content {
    font-size: 12px !important;
    font-weight: 800;
}

.ctl-global-categories {
    position: relative;
    z-index: 80;
    display: flex;
    align-items: center;
    gap: 34px;
    width: 100%;
    min-height: 55px;
    margin-top: 122px;
    padding: 0 32px;
    overflow-x: auto;
    background: #fff;
    border-bottom: 1px solid var(--ctl-line);
    scrollbar-width: none;
}

.ctl-global-categories::-webkit-scrollbar {
    display: none;
}

.ctl-global-categories a {
    flex: 0 0 auto;
    padding: 16px 0 13px;
    color: var(--ctl-ink);
    border-bottom: 3px solid transparent;
    font-size: 15px;
    font-weight: 900;
    white-space: nowrap;
}

.ctl-global-categories a:hover,
.ctl-global-categories a.is-active {
    color: var(--ctl-blue);
    border-bottom-color: var(--ctl-blue);
}

.ctl-public-brand .site-header-paper,
.ctl-public-brand .site-header nav {
    min-height: 88px;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    border-bottom: 2px solid var(--ctl-red) !important;
}

.ctl-public-brand .site-logo-link img,
.ctl-public-brand .site-header-logo img,
.ctl-public-brand img.site-header-logo {
    max-width: 265px;
    max-height: 50px;
}

.ctl-public-brand .site-header-actions {
    gap: 18px !important;
}

.ctl-public-brand .site-header-actions a:hover {
    color: var(--ctl-red-ink) !important;
}

.ctl-public-brand .site-outline-action {
    border-color: var(--ctl-red) !important;
    color: var(--ctl-red-ink) !important;
}

.ctl-public-brand .site-outline-action:hover {
    border-color: var(--ctl-red-ink) !important;
    background: var(--ctl-red-ink) !important;
}

.ctl-public-brand .ctl-global-categories a:hover,
.ctl-public-brand .ctl-global-categories a.is-active {
    border-bottom-color: var(--ctl-red);
}

.ctl-site-footer {
    margin-top: 72px;
    padding: 52px 32px 28px !important;
    background: #111318 !important;
    color: #fff !important;
    text-align: left !important;
    border-top: 5px solid var(--ctl-blue) !important;
}

.ctl-footer-inner {
    max-width: 1220px;
    margin: 0 auto;
}

.ctl-footer-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.5fr) repeat(3, minmax(150px, 1fr));
    gap: 42px;
}

.ctl-footer-brand {
    font-size: 24px;
    font-weight: 900;
    line-height: 1.35;
}

.ctl-footer-brand span {
    display: block;
    margin-top: 8px;
    color: #aeb5c2;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .08em;
}

.ctl-footer-column h3 {
    margin-bottom: 14px;
    color: #89a5ff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
}

.ctl-footer-column a {
    display: block;
    margin: 9px 0;
    color: #e2e6ed;
    font-size: 14px;
}

.ctl-footer-column a:hover {
    color: #89a5ff;
}

.ctl-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-top: 38px;
    padding-top: 20px;
    color: #8f97a5;
    border-top: 1px solid #30343c;
    font-size: 12px;
}

@media (max-width: 900px) {
    .site-header-paper,
    .site-header nav {
        min-height: 76px;
        padding: 12px 20px !important;
    }

    .site-logo-link img,
    .site-header-logo img {
        max-height: 46px;
    }

    .ctl-public-brand .site-logo-link img,
    .ctl-public-brand .site-header-logo img,
    .ctl-public-brand img.site-header-logo {
        max-width: 225px;
        max-height: 42px;
    }

    .ctl-global-categories {
        gap: 24px;
        margin-top: 106px;
        padding: 0 20px;
    }

    .ctl-inner-page main,
    .ctl-inner-page .article-page,
    .ctl-inner-page #main-wrap > .bg-grid,
    .ctl-inner-page #detail-view {
        padding-top: 30px !important;
    }

    .ctl-inner-page main,
    .ctl-inner-page #main-wrap,
    .ctl-inner-page #detail-view {
        margin-top: 106px !important;
    }

    #mobile-menu a,
    #mobile-menu [data-lang-toggle] {
        font-size: 20px !important;
        line-height: 1.3 !important;
    }

    #mobile-menu > div,
    #mobile-menu .mobile-links {
        gap: 20px !important;
    }

    #mobile-menu a[href="/"],
    #mobile-menu a[href="index.html"],
    #mobile-menu a[href="/index.html"],
    #mobile-menu a[href="podcast.html"],
    #mobile-menu a[href="/podcast.html"],
    #mobile-menu a[href="Collaborators.html"],
    #mobile-menu a[href="/Collaborators.html"],
    #mobile-menu a[href="about.html"],
    #mobile-menu a[href="/about.html"] {
        color: #fff !important;
    }

    .ctl-global-categories a {
        padding: 13px 0 11px;
        font-size: 14px;
    }

    .ctl-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .ctl-site-footer {
        padding: 40px 22px 24px !important;
    }

    .ctl-footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .ctl-footer-bottom {
        flex-direction: column;
    }
}
