:root {
    --academic-navy: #102a56;
    --academic-blue: #2459a9;
    --academic-sky: #eaf3ff;
    --academic-gold: #c79a3b;
    --academic-ink: #18263d;
    --academic-muted: #52657f;
    --academic-line: #cbd9eb;
    --academic-paper: #ffffff;
    --academic-bg: #f3f7fc;
}

html,
body {
    overflow-x: hidden;
    background: var(--academic-bg);
    color: var(--academic-ink);
}

main,
.rbt-main-wrapper {
    background:
        radial-gradient(circle at 85% 8%, rgba(73, 142, 224, .13), transparent 26rem),
        linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
}

.ncc-hero-slider,
.uog-banner-carousel-section {
    background: #e9f1fb !important;
    border-bottom: 1px solid #c9d8eb;
    box-shadow: 0 18px 45px rgba(16, 42, 86, .12);
}

.ncc-hero-slider .ncc-hero-slide img,
.uog-banner-carousel-section .uog-slide,
.uog-banner-carousel-section .uog-slideshow-wrapper > img:last-of-type {
    width: 100% !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
}

.ncc-hero-slider .ncc-hero-arrow,
.uog-banner-carousel-section .uog-nav-btn {
    width: 54px !important;
    height: 54px !important;
    display: grid !important;
    place-items: center;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    background: rgba(16, 42, 86, .82) !important;
    color: #fff !important;
    box-shadow: 0 10px 28px rgba(16, 42, 86, .25);
}

.ncc-hero-slider .ncc-hero-dot.active,
.uog-indicator.active {
    background: var(--academic-gold) !important;
}

#bannerCarousel {
    display: none !important;
}

.academic-programme-summary {
    position: relative;
    z-index: 4;
    padding: 54px 20px 28px;
    background: linear-gradient(180deg, #fff 0%, #f5f9ff 100%);
}

.academic-programme-summary .academic-summary-inner {
    width: min(1180px, 100%);
    margin: 0 auto;
    border: 1px solid var(--academic-line);
    border-top: 5px solid var(--academic-gold);
    border-radius: 22px;
    padding: 34px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 55px rgba(16, 42, 86, .11);
}

.academic-summary-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 30px;
    align-items: end;
    margin-bottom: 28px;
}

.academic-summary-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: var(--academic-blue);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.academic-summary-eyebrow::before {
    content: "";
    width: 34px;
    height: 3px;
    border-radius: 99px;
    background: var(--academic-gold);
}

.academic-programme-summary h1 {
    max-width: 880px;
    margin: 0 0 12px;
    color: var(--academic-navy);
    font-size: clamp(32px, 4vw, 56px);
    line-height: 1.12;
    letter-spacing: -.025em;
}

.academic-programme-summary .academic-summary-lead {
    max-width: 900px;
    margin: 0;
    color: var(--academic-muted);
    font-size: clamp(17px, 1.55vw, 21px);
    line-height: 1.75;
}

.academic-summary-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.academic-summary-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 20px;
    border-radius: 12px;
    background: var(--academic-navy);
    color: #fff !important;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(16, 42, 86, .18);
}

.academic-summary-actions a.secondary {
    border: 1px solid #b9cbe2;
    background: #fff;
    color: var(--academic-navy) !important;
    box-shadow: none;
}

.academic-summary-actions a:hover {
    transform: translateY(-2px);
    background: var(--academic-blue);
    color: #fff !important;
}

.academic-fact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.academic-fact {
    min-height: 132px;
    padding: 20px;
    border: 1px solid #cfdded;
    border-radius: 16px;
    background: linear-gradient(145deg, #fff 20%, #eef5ff 100%);
}

.academic-fact .academic-fact-number {
    display: block;
    margin-bottom: 7px;
    color: var(--academic-blue);
    font-size: 26px;
    font-weight: 900;
    line-height: 1.1;
}

.academic-fact strong {
    display: block;
    margin-bottom: 5px;
    color: var(--academic-navy);
    font-size: 17px;
}

.academic-fact span:last-child {
    color: var(--academic-muted);
    font-size: 14px;
    line-height: 1.55;
}

.ncc-message-section,
.promo-assessment-banner,
.early-bird-banner {
    border-color: #cbd9eb !important;
}

.rbt-course-feature-box,
.details-wrapper,
.faq-section,
.course-sidebar,
.container.py-5.bg-white,
#overview,
#entry,
#coursestructure,
#video,
#support,
#qualification,
#interview {
    border: 1px solid #d4e0ef !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .97) !important;
    box-shadow: 0 12px 38px rgba(24, 51, 86, .08) !important;
}

.rbt-course-feature-box,
.details-wrapper,
.container.py-5.bg-white,
#overview,
#entry,
#coursestructure,
#video,
#support,
#qualification,
#interview {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
}

.rbt-course-feature-box h2,
.rbt-course-feature-box .title,
.details-wrapper h2,
.container.py-5 h1,
.container.py-5 h2,
#overview h1,
#entry h1,
#coursestructure h1,
#qualification h1,
.faq-section h2 {
    color: var(--academic-navy) !important;
    letter-spacing: -.015em;
}

.rbt-course-feature-box h2::after,
.details-wrapper > .title::after,
.container.py-5 > h1::after,
.faq-section h2::after {
    content: "";
    display: block;
    width: 64px;
    height: 4px;
    margin-top: 12px;
    border-radius: 99px;
    background: var(--academic-gold);
}

.rbt-course-feature-box p,
.rbt-course-feature-box li,
.details-wrapper p,
.details-wrapper li,
.container.py-5 p,
.container.py-5 li {
    color: #34465f;
    font-size: 16px;
    line-height: 1.8;
}

.rbt-course-feature-box table,
.details-wrapper table,
.container.py-5 table,
.compare-table {
    overflow: hidden;
    border: 1px solid #cbd9eb !important;
    border-radius: 14px;
    background: #fff;
}

table thead th,
.compare-table thead th {
    background: var(--academic-navy) !important;
    color: #fff !important;
    border-color: #284873 !important;
}

table tbody tr:nth-child(even) {
    background: #f2f7fd;
}

.accordion-item,
.rbt-default-accordion .accordion-item {
    overflow: hidden;
    margin-bottom: 12px;
    border: 1px solid #cbd9eb !important;
    border-radius: 14px !important;
    background: #fff;
}

.accordion-button,
.rbt-default-accordion .accordion-button {
    color: var(--academic-navy) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    background: #f4f8fd !important;
}

.accordion-button:not(.collapsed) {
    background: #e7f0fc !important;
    box-shadow: inset 4px 0 0 var(--academic-gold) !important;
}

.course-sidebar {
    top: 120px !important;
}

.course-sidebar .rbt-btn,
.pricing-section .rbt-btn,
.btn-primary {
    border-color: var(--academic-navy) !important;
    background: var(--academic-navy) !important;
    color: #fff !important;
}

.course-sidebar .rbt-btn:hover,
.pricing-section .rbt-btn:hover,
.btn-primary:hover {
    background: var(--academic-blue) !important;
    color: #fff !important;
}

.course-content-nav,
.rbt-course-details-area .rbt-course-content-list {
    border-color: #cbd9eb !important;
    background: rgba(255, 255, 255, .96) !important;
}

@media (max-width: 991px) {
    .academic-summary-head {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .academic-summary-actions {
        justify-content: flex-start;
    }
    .academic-fact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .academic-programme-summary {
        padding: 28px 12px 18px;
    }
    .academic-programme-summary .academic-summary-inner {
        padding: 24px 18px;
        border-radius: 16px;
    }
    .academic-fact-grid {
        grid-template-columns: 1fr;
    }
    .academic-fact {
        min-height: 0;
    }
    .ncc-hero-slider .ncc-hero-arrow,
    .uog-banner-carousel-section .uog-nav-btn {
        width: 42px !important;
        height: 42px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}
