/* =========================================================
   MOLAS EDUCATIONAL CONSULTS
   COMPLETE RESPONSIVE DESIGN SYSTEM
   CLEAN • PREMIUM • RESPONSIVE
   Desktop • Tablet • Mobile
========================================================= */


/* =========================================================
   ROOT VARIABLES
========================================================= */

:root {

    --brand-navy: #101B4D;
    --brand-navy-dark: #081235;
    --brand-navy-soft: #E9EEFA;

    --brand-cyan: #18BFFF;
    --brand-cyan-dark: #0796CC;
    --brand-cyan-soft: #E3F8FF;

    --brand-white: #FFFFFF;
    --brand-pale-blue: #F3FAFD;

    --brand-charcoal: #172033;
    --brand-slate: #526071;

    --bg: #F3FAFD;
    --bg-soft: #E8F5FA;

    --surface: #FFFFFF;
    --surface-2: #F8FCFF;

    --text: #172033;
    --text-soft: #344054;
    --muted: #667085;

    --accent: #18BFFF;
    --accent-dark: #0796CC;
    --accent-soft: #E3F8FF;

    --navy: #101B4D;
    --navy-dark: #081235;
    --navy-soft: #E9EEFA;

    --blue: #18BFFF;
    --blue-dark: #0796CC;
    --blue-soft: #E3F8FF;

    --green: #657A68;
    --green-dark: #4E6252;
    --green-soft: #E5ECE5;

    --brown: #756052;
    --brown-dark: #5C493D;
    --brown-soft: #EAE0D6;

    --cream: #F3EFE7;
    --cream-soft: #F8F4EC;
    --beige: #EDE6DA;

    --black: #101522;
    --white: #FFFFFF;

    --breaking-orange: #C97942;
    --breaking-orange-soft: #F3E1D4;

    --border: #D7E7EF;
    --border-soft: #E5EFF4;

    --border-blue: #CDECF8;
    --border-navy: #D5DDEF;

    --shadow-sm:
        0 2px 8px rgba(16, 27, 77, 0.05);

    --shadow-md:
        0 8px 24px rgba(16, 27, 77, 0.08);

    --shadow-lg:
        0 16px 40px rgba(16, 27, 77, 0.11);

    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 22px;
    --radius-xl: 28px;
    --radius-apple: 30px;

    --container: 1180px;
    --page-padding: 28px;

    --font:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Inter",
        "Segoe UI",
        sans-serif;
}


/* =========================================================
   RESET
========================================================= */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    min-width: 320px;
    overflow-x: hidden;

    background: var(--bg);
    color: var(--text);

    font-family: var(--font);
    font-size: 16px;
    line-height: 1.6;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

button {
    cursor: pointer;
}


/* =========================================================
   SHARED CONTAINER
========================================================= */

.header-inner,
.main-content,
.universities-section,
.services-section,
.resources-section,
.footer-inner,
.jamb-news-section {
    width: min(
        calc(100% - (var(--page-padding) * 2)),
        var(--container)
    );

    margin-inline: auto;
}


/* =========================================================
   HEADER
========================================================= */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    background: rgba(255, 255, 255, 0.96);

    border-bottom: 1px solid var(--border-soft);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.header-inner {
    position: relative;

    min-height: 76px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}


/* =========================================================
   BRAND / LOGO
========================================================= */

.brand {
    display: inline-flex;
    flex-direction: column;

    flex-shrink: 0;

    gap: 4px;
}

.brand-main {
    color: var(--brand-navy);

    font-size: 25px;
    line-height: 1;

    font-weight: 900;
    letter-spacing: -0.045em;
}

.brand-sub {
    color: var(--muted);

    font-size: 8px;
    line-height: 1.2;

    font-weight: 750;
    letter-spacing: 0.09em;

    text-transform: uppercase;
    white-space: nowrap;
}


/* =========================================================
   MAIN NAVIGATION
========================================================= */

.main-nav {
    display: flex;
    align-items: center;

    gap: 25px;
}

.main-nav > a,
.nav-dropdown > a {
    position: relative;

    display: inline-flex;
    align-items: center;

    gap: 4px;

    color: var(--text-soft);

    font-size: 14px;
    font-weight: 650;

    transition:
        color 0.2s ease,
        opacity 0.2s ease;
}

.main-nav > a:hover,
.nav-dropdown > a:hover,
.main-nav .active {
    color: var(--accent);
}


/* =========================================================
   NAV DROPDOWN
========================================================= */

.nav-dropdown {
    position: relative;

    display: inline-flex;
    align-items: center;
}

.nav-dropdown > a {
    white-space: nowrap;
}


/* =========================================================
   DROPDOWN — DESKTOP
========================================================= */

.dropdown-menu {
    position: absolute;

    top: calc(100% + 10px);
    left: 0;

    min-width: 190px;

    display: none;
    flex-direction: column;

    padding: 8px 0;

    background: var(--surface);

    border: 1px solid var(--border-soft);
    border-radius: 12px;

    box-shadow: 0 16px 35px rgba(16, 27, 77, 0.12);

    z-index: 9999;
}

.nav-dropdown:hover .dropdown-menu {
    display: flex;
}

.dropdown-menu a {
    display: block;

    width: 100%;

    padding: 10px 16px;

    color: var(--text);

    font-size: 13px;
    font-weight: 500;

    white-space: nowrap;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}

.dropdown-menu a:hover {
    background: var(--blue-soft);
    color: var(--accent-dark);
}


/* =========================================================
   MOBILE MENU BUTTON
========================================================= */

.mobile-menu-btn {
    display: none;

    width: 42px;
    height: 42px;

    align-items: center;
    justify-content: center;

    border: 1px solid var(--border);
    border-radius: 12px;

    background: transparent;
    color: var(--text);

    font-size: 21px;
}


/* =========================================================
   BREAKING NEWS TICKER
   WORKS WITH EXISTING HTML + JS
========================================================= */

.breaking-bar {
    position: relative;

    display: flex;
    align-items: center;

    width: 100%;
    min-height: 42px;

    overflow: hidden;

    background: var(--navy);
    color: var(--white);
}

.breaking-label {
    position: relative;
    z-index: 10;

    display: flex;
    align-items: center;

    flex-shrink: 0;

    gap: 8px;

    height: 42px;

    padding-left: max(
        var(--page-padding),
        calc((100vw - var(--container)) / 2)
    );

    padding-right: 20px;

    background: var(--navy);

    color: var(--white);

    font-size: 10px;
    font-weight: 850;

    letter-spacing: 0.1em;

    white-space: nowrap;
}

.breaking-dot {
    width: 7px;
    height: 7px;

    flex: 0 0 7px;

    border-radius: 50%;

    background: var(--breaking-orange);

    box-shadow:
        0 0 0 3px rgba(201, 121, 66, 0.12);
}

.ticker-wrapper {
    position: relative;

    flex: 1;
    min-width: 0;

    height: 42px;

    overflow: hidden;
}

.ticker-wrapper::before {
    content: "";

    position: absolute;

    z-index: 3;

    top: 0;
    left: 0;

    width: 35px;
    height: 100%;

    background:
        linear-gradient(
            to right,
            var(--navy),
            transparent
        );

    pointer-events: none;
}

.ticker-wrapper::after {
    content: "";

    position: absolute;

    z-index: 3;

    top: 0;
    right: 0;

    width: 35px;
    height: 100%;

    background:
        linear-gradient(
            to left,
            var(--navy),
            transparent
        );

    pointer-events: none;
}


/* =========================================================
   TICKER CONTENT — ACTUAL MOVING ELEMENT
========================================================= */

.ticker-content {
    display: inline-flex;
    align-items: center;

    width: max-content;
    max-width: none;

    height: 100%;

    gap: 42px;

    padding-right: 42px;

    white-space: nowrap;

    color: rgba(255, 255, 255, 0.94);

    font-size: 12px;
    font-weight: 600;

    will-change: transform;

    animation:
        molasTicker
        28s
        linear
        infinite;
}

.ticker-content span {
    display: inline-flex;
    align-items: center;

    flex-shrink: 0;

    white-space: nowrap;
}

.ticker-content span::before {
    content: "";

    width: 4px;
    height: 4px;

    margin-right: 14px;

    flex-shrink: 0;

    border-radius: 50%;

    background: var(--brand-cyan);
}


/* =========================================================
   TICKER ANIMATION
========================================================= */

@keyframes molasTicker {

    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

.ticker-content:hover {
    animation-play-state: paused;
}


/* =========================================================
   SECTION HEADINGS
========================================================= */

.section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 24px;

    margin-bottom: 30px;
}

.section-heading.centered {
    flex-direction: column;
    align-items: center;

    text-align: center;
}

.small-label {
    display: block;

    margin-bottom: 8px;

    color: var(--accent-dark);

    font-size: 10px;
    font-weight: 850;

    letter-spacing: 0.13em;
}

.section-heading h2 {
    color: var(--text);

    font-size: clamp(26px, 3vw, 40px);

    line-height: 1.08;

    font-weight: 850;

    letter-spacing: -0.04em;
}

.section-heading p {
    max-width: 620px;

    margin-top: 12px;

    color: var(--muted);

    font-size: 15px;
    line-height: 1.65;
}


/* =========================================================
   PREMIUM HERO
========================================================= */

.hero-background {
    position: relative;

    width: 100%;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 82% 20%,
            rgba(24, 191, 255, 0.25),
            transparent 30%
        ),
        radial-gradient(
            circle at 12% 90%,
            rgba(24, 191, 255, 0.12),
            transparent 28%
        ),
        linear-gradient(
            125deg,
            #081235 0%,
            #101B4D 38%,
            #153B78 67%,
            #087FB5 100%
        );

    border-bottom: 1px solid var(--border-soft);
}

.hero-background::before {
    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    top: -250px;
    right: -180px;

    border: 1px solid rgba(255, 255, 255, 0.08);

    border-radius: 50%;

    pointer-events: none;
}

.hero-background::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    right: 12%;
    bottom: -220px;

    border: 1px solid rgba(24, 191, 255, 0.14);

    border-radius: 50%;

    pointer-events: none;
}

.hero-section {
    position: relative;
    z-index: 2;

    width: min(
        calc(100% - (var(--page-padding) * 2)),
        var(--container)
    );

    margin-inline: auto;

    padding: 96px 0 84px;
}

.hero-content {
    max-width: 850px;
    display: flex;
    flex-direction: column;
}
/* =========================================================
   HERO EYEBROW + QUICK PILLS
========================================================= */

.hero-eyebrow {
    display: inline-flex;
    align-self: flex-start;
    
    width: fit-content;
    max-width: max-content;
    
    min-height: 29px;
    
    margin-bottom: 10px;
    
    padding: 6px 11px;
    
    border-radius: 999px;
    
    position: relative;
    top: -30px;
    
    font-size: 9px;
    line-height: 1;
}

/* Move the filter pills closer upward */
.quick-filters {
    display: flex;
    flex-wrap: wrap;
    
    gap: 8px;
    
    margin-top: -18px;
    
    position: relative;
    top: -2px;
}

.quick-filter {
    height: 33px;
    padding: 0 13px;
    
    font-size: 10px;
}
.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin-bottom: 23px;
    padding: 2px 5px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    color: var(--white);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.08);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.12em;
    line-height: 1;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    position: relative;
    top: -30px;
}

.hero-content h1 {
    max-width: 820px;

    color: var(--white);

    font-family:
        "Manrope",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: clamp(48px, 6.2vw, 78px);

    line-height: 0.97;

    font-weight: 900;

    letter-spacing: -0.065em;
}

.hero-content h1 span {
    display: inline-block;

    color: var(--brand-cyan);
}

.hero-content > p {
    max-width: 650px;

    margin-top: 26px;

    color: rgba(255, 255, 255, 0.84);

    font-size: 17px;
    line-height: 1.7;
}


/* =========================================================
   HERO SEARCH
========================================================= */

.search-box {
    width: min(100%, 680px);

    display: flex;
    align-items: center;

    gap: 8px;

    margin-top: 34px;
    padding: 7px;

    background: rgba(255, 255, 255, 0.98);

    border: 1px solid rgba(255, 255, 255, 0.35);

    border-radius: 13px;

    box-shadow:
        0 15px 40px rgba(8, 18, 53, 0.20);

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
        
        position: relative;
        top: -45px;
}

.search-box:focus-within {
    border-color: var(--brand-cyan);

    box-shadow:
        0 0 0 4px rgba(24, 191, 255, 0.18),
        0 15px 40px rgba(8, 18, 53, 0.20);
}

.search-box input {
    flex: 1;

    min-width: 0;
    height: 48px;

    padding: 0 15px;

    border: 0;
    outline: 0;

    background: transparent;
    color: var(--text);

    font-size: 14px;
}

.search-box input::placeholder {
    color: var(--muted);
}

.search-box button {
    height: 48px;

    padding: 0 23px;

    border: 0;
    border-radius: 13px;

    background: var(--navy);
    color: var(--white);

    font-size: 13px;
    font-weight: 750;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.search-box button:hover {
    background: var(--accent-dark);

    transform: translateY(-1px);
}


/* =========================================================
   QUICK FILTERS
========================================================= */

.quick-filters {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;

    margin-top: 18px;
}

.quick-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 36px;

    padding: 0 16px;

    border: 1px solid rgba(255, 255, 255, 0.24);

    border-radius: 999px;

    background: rgba(255, 255, 255, 0.08);

    color: var(--white);

    font-size: 12px;
    font-weight: 650;

    line-height: 1;

    text-decoration: none;

    white-space: nowrap;

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.quick-filter:hover {
    background: var(--white);

    border-color: var(--white);

    color: var(--navy);

    transform: translateY(-1px);
}


/* =========================================================
   MAIN NEWS CONTENT
========================================================= */

.main-content {
    padding-top: 82px;
    padding-bottom: 100px;
}

.content-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.65fr)
        minmax(280px, 0.75fr);

    gap: 52px;

    align-items: start;
}

.news-column {
    min-width: 0;
}

.news-feed {
    display: flex;
    flex-direction: column;

    gap: 18px;
}


/* =========================================================
   HOME NEWS CARD
========================================================= */

.news-card {
    display: grid;

    grid-template-columns:
        245px minmax(0, 1fr);

    min-height: 205px;

    overflow: hidden;

    background: var(--surface);

    border: 1px solid var(--border-soft);

    border-radius: var(--radius-apple);

    box-shadow: var(--shadow-sm);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.news-card:hover {
    transform: translateY(-3px);

    border-color: var(--border-blue);

    box-shadow: var(--shadow-md);
}

.news-image {
    position: relative;

    width: 100%;
    min-height: 205px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            var(--navy),
            var(--brand-cyan)
        );
}

.news-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.news-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(8, 18, 53, 0.62),
            rgba(8, 18, 53, 0.03) 65%
        );

    pointer-events: none;
}

.news-image span {
    position: absolute;

    z-index: 2;

    top: 14px;
    left: 14px;

    display: inline-flex;
    align-items: center;

    min-height: 27px;

    padding: 6px 10px;

    border-radius: 3px !important;

    background: rgba(255, 255, 255, 0.94);

    color: var(--navy);

    font-size: 9px;
    font-weight: 850;

    letter-spacing: 0.09em;
}

.news-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;

    padding: 26px 28px;
}

.news-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 10px;

    margin-bottom: 10px;

    color: var(--muted);

    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
}

.news-meta span {
    color: var(--accent-dark);
}

.news-meta time {
    color: var(--muted);

    font-weight: 550;

    text-transform: none;
}

.news-meta time::before {
    content: "•";

    margin-right: 10px;

    color: var(--border);
}

.news-content h3 {
    max-width: 620px;

    color: var(--text);

    font-size: 21px;
    line-height: 1.2;

    font-weight: 800;

    letter-spacing: -0.025em;
}

.news-content p {
    max-width: 610px;

    margin-top: 11px;

    color: var(--muted);

    font-size: 13px;
    line-height: 1.65;
}

.read-more,
.view-all {
    display: inline-flex;
    align-items: center;

    width: fit-content;

    color: var(--navy);

    font-size: 12px;
    font-weight: 750;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.read-more {
    margin-top: 17px;
}

.read-more:hover,
.view-all:hover {
    color: var(--accent-dark);
    transform: translateX(3px);
}

.view-all {
    white-space: nowrap;
}


/* =========================================================
   TRENDING / ADMISSION SIDEBAR
========================================================= */

.alerts-column {
    position: sticky;
    top: 95px;

    min-width: 0;
}

.trending-box {
    overflow: hidden;

    background: var(--surface);

    border: 1px solid var(--border-soft);

    border-radius: var(--radius-apple);

    box-shadow: var(--shadow-sm);
}

.box-title {
    display: flex;
    align-items: center;

    gap: 8px;

    padding: 21px 23px 17px;

    border-bottom: 1px solid var(--border-soft);

    color: var(--text);

    font-size: 14px;
    font-weight: 850;
}

.trending-fire {
    display: inline-block;

    transform-origin: center bottom;

    animation: trendingFire 1s ease-in-out infinite;
}

@keyframes trendingFire {
    0%, 100% {
        transform: scale(1) rotate(0deg);
    }

    25% {
        transform: scale(1.18) rotate(-8deg);
    }

    50% {
        transform: scale(1.28) rotate(8deg);
    }

    75% {
        transform: scale(1.15) rotate(-5deg);
    }
}

#admission-alerts-list {
    display: flex;
    flex-direction: column;
}

#admission-alerts-list > * {
    padding: 18px 23px;

    border-bottom: 1px solid var(--border-soft);

    transition:
        background 0.2s ease,
        padding-left 0.2s ease;
}

#admission-alerts-list > *:last-child {
    border-bottom: 0;
}

#admission-alerts-list > *:hover {
    background: var(--blue-soft);
    padding-left: 27px;
}

.news-loading,
.jamb-news-loading {
    color: var(--muted);

    font-size: 13px;

    text-align: center;
}


/* =========================================================
   ADMISSION STATUS BOX
========================================================= */

.status-box {
    margin-top: 18px;
    padding: 7px;
    background: var(--surface);

    border: 1px solid var(--border-soft);

    border-radius: var(--radius-apple);

    box-shadow: var(--shadow-sm);
}

.status-item {
    display: flex;
    align-items: center;

    gap: 14px;

    padding: 16px 14px;

    border-radius: 20px;

    transition: background 0.2s ease;
}

.status-item:hover {
    background: var(--blue-soft);
}

.status-icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 16px;
}

.status-icon span {
    display: inline-block;

    font-size: 20px;
    line-height: 1;

    filter: drop-shadow(
        0 3px 5px rgba(0, 0, 0, 0.18)
    );

    transform-origin: center;
}

.ongoing-icon {
    background: var(--blue-soft);
    color: var(--accent-dark);
}

.in-icon {
    background: var(--green-soft);
    color: var(--green-dark);
}

.deadline-icon {
    background: var(--cream-soft);
    color: var(--brown);
}

.ongoing-icon span {
    animation: hourglassFun 1.15s ease-in-out infinite;
}

@keyframes hourglassFun {
    0%, 100% {
        transform: scale(1) rotate(0deg);
    }

    20% {
        transform: scale(1.16) rotate(-10deg);
    }

    40% {
        transform: scale(1.22) rotate(10deg);
    }

    60% {
        transform: scale(1.16) rotate(-7deg);
    }

    80% {
        transform: scale(1.08) rotate(5deg);
    }
}

.in-icon span {
    animation: megaphoneFun 1s ease-in-out infinite;
}

@keyframes megaphoneFun {
    0%, 100% {
        transform: scale(1) rotate(0deg);
    }

    25% {
        transform: scale(1.18) rotate(-9deg);
    }

    50% {
        transform: scale(1.24) rotate(9deg);
    }

    75% {
        transform: scale(1.14) rotate(-6deg);
    }
}

.deadline-icon span {
    animation: clockFun 1.05s ease-in-out infinite;
}

@keyframes clockFun {
    0%, 100% {
        transform: scale(1) rotate(0deg);
    }

    20% {
        transform: scale(1.14) rotate(-10deg);
    }

    40% {
        transform: scale(1.22) rotate(10deg);
    }

    60% {
        transform: scale(1.15) rotate(-7deg);
    }

    80% {
        transform: scale(1.08) rotate(5deg);
    }
}

.status-content {
    display: flex;
    flex-direction: column;

    gap: 2px;

    min-width: 0;
}

.status-label {
    font-size: 11px;
    font-weight: 800;

    letter-spacing: 0.045em;
}

.ongoing-label {
    color: var(--accent-dark);
}

.in-label {
    color: var(--green-dark);
}

.deadline-label {
    color: var(--brown);
}

.status-text {
    display: block;

    margin-top: 4px;

    color: var(--text);

    font-size: 15px;
    font-weight: 650;

    line-height: 1.35;

    letter-spacing: -0.015em;
}


/* =========================================================
   UNIVERSITY HUB
========================================================= */

.universities-section {
    padding: 105px 0 115px;
}

.universities-section .section-heading {
    margin-bottom: 34px;
}

.universities-section .section-heading p {
    max-width: 650px;
}

.university-filters {
    width: 100%;

    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    gap: 10px;

    margin-inline: auto;
    margin-bottom: 34px;

    text-align: center;
}

.university-filters button {
    flex: 0 0 auto;

    min-height: 38px;

    padding: 0 17px;

    border: 1px solid var(--border);

    border-radius: 999px;

    background: transparent;

    color: var(--text-soft);

    font-size: 12px;
    font-weight: 700;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.university-filters button:hover {
    background: var(--surface);

    border-color: var(--accent);

    color: var(--accent-dark);

    transform: translateY(-1px);
}

.university-filters button.active {
    background: var(--navy);

    border-color: var(--navy);

    color: var(--white);
}

.university-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 16px;
}

.university-card {
    position: relative;

    min-width: 0;
    min-height: 205px;

    overflow: hidden;

    background: var(--surface);

    border: 1px solid var(--border-soft);

    border-radius: var(--radius-apple);

    box-shadow: var(--shadow-sm);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.university-card:hover {
    transform: translateY(-5px);

    border-color: var(--border-blue);

    box-shadow: var(--shadow-md);
}

.university-stripe {
    width: 100%;
    height: 5px;

    background: var(--navy);
}

.university-card:nth-child(2) .university-stripe {
    background: var(--brand-cyan);
}

.university-card:nth-child(3) .university-stripe {
    background: var(--brown);
}

.university-card:nth-child(4) .university-stripe {
    background: var(--navy-dark);
}

.university-card-body {
    min-height: 200px;

    display: flex;
    flex-direction: column;

    padding: 23px 21px 20px;
}

.university-type {
    display: inline-flex;

    width: fit-content;

    color: var(--muted);

    font-size: 9px;
    font-weight: 850;

    letter-spacing: 0.11em;
}

.university-logo {
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "SF Pro Display",
        "SF Pro Text",
        "Helvetica Neue",
        Arial,
        sans-serif;

    font-weight: 500;

    letter-spacing: -0.045em;
}

.university-card h3 {
    max-width: 220px;

    margin-top: 12px;

    color: var(--text);

    font-size: 21px;
    line-height: 1.15;

    font-weight: 800;

    letter-spacing: -0.035em;
}

.university-tags {
    display: flex;
    flex-wrap: wrap;

    gap: 7px;

    margin-top: 20px;
}

.university-tags span {
    display: inline-flex;
    align-items: center;

    min-height: 27px;

    padding: 5px 9px;

    background: var(--blue-soft);

    border: 1px solid var(--border-blue);

    border-radius: 999px;

    color: var(--text-soft);

    font-size: 10px;
    font-weight: 650;
}

.university-card-body > a {
    display: inline-flex;

    width: fit-content;

    margin-top: auto;
    padding-top: 20px;

    color: var(--navy);

    font-size: 12px;
    font-weight: 750;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.university-card-body > a:hover {
    color: var(--accent-dark);
    transform: translateX(3px);
}


/* =========================================================
   LOAD MORE UNIVERSITIES
========================================================= */

.load-more-universities {
    display: flex;
    align-items: center;
    justify-content: center;

    width: fit-content;
    min-height: 46px;

    margin: 30px auto 0;
    padding: 0 22px;

    border: 1px solid var(--border);

    border-radius: 14px;

    background: var(--surface);
    color: var(--navy);

    font-size: 12px;
    font-weight: 800;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.load-more-universities:active {
    transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {

    .load-more-universities:hover {
        background: var(--navy);

        border-color: var(--navy);

        color: var(--white);

        transform: translateY(-2px);

        box-shadow: var(--shadow-sm);
    }
}


/* =========================================================
   SERVICES
========================================================= */

.services-section {
    padding: 105px 0 115px;
}

.services-section .section-heading {
    margin-bottom: 38px;
}

.services-section .section-heading p {
    max-width: 600px;
}

.services-grid {
    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 16px;
}

.service-card {
    position: relative;

    min-width: 0;
    min-height: 260px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    padding: 26px 24px;

    border: 1px solid var(--border-soft);

    border-radius: var(--radius-apple);

    box-shadow: var(--shadow-sm);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.service-card:nth-child(1) {
    grid-column: span 3;
    background: #B8D9EA;
}

.service-card:nth-child(2) {
    grid-column: span 3;
    background: #D1B4A8;
}

.service-card:nth-child(3) {
    grid-column: span 2;
    background: #E5DED0;
}

.service-card:nth-child(4) {
    grid-column: span 2;
    background: #C1CDE8;
}

.service-card:nth-child(5) {
    grid-column: span 2;
    background: #B8DDE2;
}

.service-card:nth-child(6) {
    grid-column: 2 / 6;
    background: #D8CBB8;
}

.service-card:hover {
    transform: translateY(-4px);

    border-color: var(--border-blue);

    box-shadow: var(--shadow-md);
}

.service-card::before {
    content: "";

    position: absolute;

    top: -22px;
    right: 8px;

    font-size: 110px;
    line-height: 1;

    font-weight: 900;

    letter-spacing: -0.08em;

    color: rgba(16, 27, 77, 0.055);

    pointer-events: none;
}

.service-card:nth-child(1)::before {
    content: "01";
}

.service-card:nth-child(2)::before {
    content: "02";
}

.service-card:nth-child(3)::before {
    content: "03";
}

.service-card:nth-child(4)::before {
    content: "04";
}

.service-card:nth-child(5)::before {
    content: "05";
}

.service-card:nth-child(6)::before {
    content: "06";
}

.service-icon {
    position: relative;
    z-index: 2;

    width: 50px;
    height: 50px;

    display: grid;
    place-items: center;

    margin-bottom: 18px;

    border-radius: 16px;

    background: var(--blue-soft);
    color: var(--accent-dark);

    font-size: 20px;
}

.service-card:nth-child(2) .service-icon {
    background: var(--navy-soft);
    color: var(--navy);
}

.service-card:nth-child(3) .service-icon {
    background: var(--cream-soft);
    color: var(--brown);
}

.service-card:nth-child(4) .service-icon {
    background: var(--green-soft);
    color: var(--green-dark);
}

.service-card:nth-child(5) .service-icon {
    background: var(--blue-soft);
    color: var(--accent-dark);
}

.service-card:nth-child(6) .service-icon {
    background: var(--navy-soft);
    color: var(--navy);
}

.service-card h3,
.service-card p,
.service-card > a {
    position: relative;
    z-index: 2;
}

.service-card h3 {
    color: var(--text);

    font-size: 20px;
    line-height: 1.2;

    font-weight: 800;

    letter-spacing: -0.03em;
}

.service-card:hover h3 {
    color: var(--navy);
}

.service-card p {
    max-width: 310px;

    margin-top: 11px;

    color: var(--muted);

    font-size: 13px;
    line-height: 1.65;
}

.service-card > a {
    display: inline-flex;

    width: fit-content;

    margin-top: auto;
    padding-top: 22px;

    color: var(--navy);

    font-size: 12px;
    font-weight: 800;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.service-card > a:hover {
    color: var(--accent-dark);
    transform: translateX(4px);
}


/* =========================================================
   SERVICES CTA
========================================================= */

.services-cta {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    overflow: hidden;

    margin-top: 18px;
    padding: 32px 36px;

    background: var(--navy);

    border-radius: 28px;

    color: var(--white);

    box-shadow: 0 10px 30px rgba(16, 27, 77, 0.12);
}

.services-cta::after {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    right: -60px;
    bottom: -90px;

    border-radius: 50%;

    background: rgba(24, 191, 255, 0.18);

    pointer-events: none;
}

.services-cta h3,
.services-cta p,
.services-cta a {
    position: relative;
    z-index: 2;
}

.services-cta h3 {
    font-size: 21px;
    line-height: 1.2;

    font-weight: 800;

    letter-spacing: -0.025em;
}

.services-cta p {
    margin-top: 6px;

    color: #D8E6EF;

    font-size: 13px;
}

.primary-button {
    position: relative;
    z-index: 2;

    flex-shrink: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 45px;

    padding: 0 21px;

    border-radius: 13px;

    background: var(--brand-cyan);
    color: var(--navy);

    font-size: 12px;
    font-weight: 800;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.primary-button:hover {
    background: var(--white);
    transform: translateY(-2px);
}


/* =========================================================
   STUDENT RESOURCES
========================================================= */

.resources-section {
    padding: 105px 0 115px;
}

.resources-section .section-heading {
    margin-bottom: 42px;
}


/* =========================================================
   RESOURCE DECK
========================================================= */

.resource-deck {
    position: relative;

    width: min(100%, 700px);
    height: 390px;

    margin: 0 auto;

    perspective: 1400px;

    isolation: isolate;

    overflow: visible;
}

.resource-card {
    position: absolute;

    top: 0;
    left: 2%;

    width: 96%;
    height: 92%;

    overflow: hidden;

    background: var(--surface);

    border: 1px solid var(--border-soft);

    border-radius: var(--radius-apple);

    box-shadow: var(--shadow-lg);

    transform-origin: center center;

    will-change: transform, opacity;

    transition:
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.65s ease,
        box-shadow 0.6s ease,
        filter 0.6s ease;

    user-select: none;
    -webkit-user-select: none;

    touch-action: pan-y;

    cursor: grab;
}

.resource-card:active {
    cursor: grabbing;
}

.resource-deck .resource-card.resource-active {
    z-index: 10;

    transform:
        translateX(0)
        translateZ(0)
        rotateY(0deg)
        scale(1);

    opacity: 1;

    filter: brightness(1);

    pointer-events: auto;
}

.resource-deck .resource-card.resource-next-card {
    z-index: 5;

    transform:
        translateX(0)
        translateZ(-55px)
        rotateY(-7deg)
        scale(0.96);

    opacity: 0.45;

    filter: brightness(0.94);

    pointer-events: none;
}

.resource-deck .resource-card.resource-prev-card {
    z-index: 4;

    transform:
        translateX(0)
        translateZ(-80px)
        rotateY(7deg)
        scale(0.93);

    opacity: 0.28;

    filter: brightness(0.88);

    pointer-events: none;
}

.resource-deck .resource-card:not(
    .resource-active,
    .resource-next-card,
    .resource-prev-card
) {
    z-index: 1;

    transform:
        translateX(0)
        translateZ(-120px)
        scale(0.90);

    opacity: 0;

    pointer-events: none;
}


/* =========================================================
   RESOURCE CARD INNER
========================================================= */

.resource-card-inner {
    position: relative;

    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;

    padding: 22px 26px;

    background:
        linear-gradient(
            135deg,
            var(--surface),
            var(--surface-2)
        );
}


/* =========================================================
   RESOURCE HEADER
========================================================= */

.resource-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    flex-shrink: 0;

    gap: 20px;

    padding-bottom: 14px;

    border-bottom: 1px solid var(--border-soft);
}

.resource-number {
    color: var(--muted);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 0.1em;
}

.resource-category {
    display: inline-flex;
    align-items: center;

    min-height: 28px;

    padding: 6px 10px;

    border-radius: 999px;

    background: var(--blue-soft);

    color: var(--accent-dark);

    font-size: 9px;
    font-weight: 850;

    letter-spacing: 0.08em;
}


/* =========================================================
   RESOURCE BODY
========================================================= */

.resource-card-body {
    flex: 1;

    min-height: 0;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        220px;

    align-items: center;

    gap: 30px;

    padding-top: 22px;
}

.resource-information {
    min-width: 0;
}

.resource-eyebrow {
    display: block;

    margin-bottom: 6px;

    color: var(--accent-dark);

    font-size: 9px;
    font-weight: 850;

    letter-spacing: 0.12em;
}

.resource-information h3 {
    color: var(--text);

    font-size: clamp(27px, 4vw, 39px);

    line-height: 1.05;

    font-weight: 850;

    letter-spacing: -0.045em;
}

.resource-information p {
    max-width: 450px;

    margin-top: 13px;

    color: var(--muted);

    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
   RESOURCE LINKS
========================================================= */

.resource-links {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-top: 18px;
}

.resource-links a {
    display: inline-flex;
    align-items: center;

    min-height: 31px;

    padding: 6px 10px;

    background: var(--blue-soft);

    border: 1px solid var(--border-blue);

    border-radius: 999px;

    color: var(--text-soft);

    font-size: 10px;
    font-weight: 700;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.resource-links a:hover {
    background: var(--navy);

    color: var(--white);

    transform: translateY(-1px);
}


/* =========================================================
   RESOURCE CTA
========================================================= */

.resource-cta {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-top: 21px;

    color: var(--navy);

    font-size: 12px;
    font-weight: 800;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.resource-cta:hover {
    color: var(--accent-dark);
    transform: translateX(3px);
}


/* =========================================================
   RESOURCE VISUAL
========================================================= */

.resource-visual {
    position: relative;

    width: 200px;
    height: 200px;

    display: grid;
    place-items: center;

    justify-self: center;

    flex-shrink: 0;
}

.resource-visual-orbit {
    position: absolute;

    inset: 8px;

    border: 1px solid var(--border);

    border-radius: 50%;

    transform: rotate(-20deg);

    animation: resourceOrbitSpin 9s linear infinite;
}

.resource-visual-orbit::before,
.resource-visual-orbit::after {
    content: "";

    position: absolute;

    border-radius: 50%;
}

.resource-visual-orbit::before {
    width: 8px;
    height: 8px;

    top: 10px;
    left: 40px;

    background: var(--accent);
}

.resource-visual-orbit::after {
    width: 6px;
    height: 6px;

    right: 23px;
    bottom: 35px;

    background: var(--navy);
}

.resource-visual-card {
    position: relative;
    z-index: 2;

    width: 125px;
    height: 145px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 5px;

    background: var(--navy);

    border-radius: 22px;

    color: var(--white);

    box-shadow: 0 18px 35px rgba(16, 27, 77, 0.18);

    animation: resourceCardFloat 4s ease-in-out infinite;

    transform: rotate(-5deg);
}


/* =========================================================
   RESOURCE VISUAL CARD COLORS
========================================================= */

.resource-card:nth-child(1) .resource-visual-card {
    background: #008000;
}

.resource-card:nth-child(2) .resource-visual-card {
    background: #087FB5;
}

.resource-card:nth-child(3) .resource-visual-card {
    background: #722F37;
    color: var(--navy);
}

.resource-card:nth-child(4) .resource-visual-card {
    background: #756052;
}

.resource-card:nth-child(5) .resource-visual-card {
    background: #243766;
}

.resource-visual-icon {
    margin-bottom: 6px;

    font-size: 27px;
}

.resource-visual-label {
    font-size: 12px;

    font-weight: 850;

    letter-spacing: 0.08em;
}

.resource-visual-sub {
    color: #D8E6EF;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: 0.1em;
}


/* =========================================================
   RESOURCE CONTROLS
========================================================= */

.resource-deck-controls {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 24px;

    margin-top: 35px;
}

.resource-nav {
    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    padding: 0;

    border: 1px solid var(--border);

    border-radius: 50%;

    background: var(--surface);

    color: var(--navy);

    font-size: 18px;

    transition:
        transform 180ms ease,
        background 180ms ease,
        color 180ms ease;
}

.resource-nav:hover {
    background: var(--navy);

    color: var(--white);

    transform: translateY(-2px);
}

.resource-nav:active {
    transform: scale(0.94);
}


/* =========================================================
   RESOURCE DOTS
========================================================= */

.resource-dots {
    display: flex;
    align-items: center;

    gap: 8px;
}

.resource-dot {
    width: 7px;
    height: 7px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: var(--border);

    transition:
        width 0.25s ease,
        background 0.25s ease,
        transform 0.25s ease;
}

.resource-dot.active {
    width: 22px;

    border-radius: 999px;

    background: var(--accent);
}

.resource-dot:hover {
    transform: scale(1.15);
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer {
    background: var(--navy);

    color: var(--white);
}

.footer-inner {
    display: grid;

    grid-template-columns:
        1.7fr
        1fr
        1fr
        1fr;

    gap: 50px;

    padding-top: 70px;
    padding-bottom: 65px;
}

.footer-brand {
    max-width: 330px;
}

.footer-brand .brand-main {
    color: var(--white);
}

.footer-brand p {
    margin-top: 12px;

    color: #D8E6EF;

    font-size: 13px;
}

.footer-brand > span:last-child {
    display: block;

    margin-top: 9px;

    color: #91A1B4;

    font-size: 12px;

    line-height: 1.6;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 9px;
}

.footer-column h3 {
    margin-bottom: 7px;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 0.08em;

    text-transform: uppercase;
}

.footer-column a {
    color: #AFC0D0;

    font-size: 12px;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.footer-column a:hover {
    color: var(--brand-cyan);
    transform: translateX(2px);
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.footer-bottom p {
    width: min(
        calc(100% - (var(--page-padding) * 2)),
        var(--container)
    );

    margin-inline: auto;

    padding: 22px 0;

    color: #8393A8;

    font-size: 11px;

    text-align: center;
}


/* =========================================================
   SECTION DIVIDER
========================================================= */

.section-divider {
    border-top: 1px solid var(--border);
    margin: 32px 0 40px;
}


/* =========================================================
   JAMB & UTME NEWS
========================================================= */

.jamb-news-section {
    padding: 0 0 90px;
}

.jamb-news-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;
}


/* =========================================================
   JAMB NEWS CARD
========================================================= */

.jamb-news-card {
    display: flex;
    flex-direction: column;

    min-width: 0;

    overflow: hidden;

    background: var(--surface);

    border: 1px solid var(--border-soft);

    border-radius: var(--radius-apple);

    box-shadow: var(--shadow-sm);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.jamb-news-card:hover {
    transform: translateY(-4px);

    border-color: var(--border-blue);

    box-shadow: var(--shadow-md);
}


/* =========================================================
   JAMB IMAGE
========================================================= */

.jamb-news-image {
    position: relative;

    width: 100%;
    height: 205px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            var(--navy),
            var(--brand-cyan)
        );
}

.jamb-news-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform 0.6s cubic-bezier(.16, 1, .3, 1);
}

.jamb-news-card:hover .jamb-news-image img {
    transform: scale(1.04);
}

.jamb-news-image::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(8, 18, 53, 0.62),
            rgba(8, 18, 53, 0.03) 65%
        );

    pointer-events: none;
}

.jamb-news-image span {
    position: absolute;

    z-index: 2;

    top: 14px;
    left: 14px;

    display: inline-flex;
    align-items: center;

    min-height: 27px;

    padding: 6px 10px;

    border-radius: 999px;

    background: rgba(255, 255, 255, 0.94);

    color: var(--navy);

    font-size: 9px;
    font-weight: 850;

    letter-spacing: 0.09em;
}


/* =========================================================
   JAMB CONTENT
========================================================= */

.jamb-news-content {
    display: flex;
    flex-direction: column;

    flex: 1;

    min-width: 0;

    padding: 22px;
}

.jamb-news-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 10px;

    margin-bottom: 10px;

    color: var(--muted);

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
}

.jamb-news-meta span {
    color: var(--accent-dark);
}

.jamb-news-meta time {
    color: var(--muted);

    font-weight: 550;

    text-transform: none;
}

.jamb-news-meta time::before {
    content: "•";

    margin-right: 10px;

    color: var(--border);
}

.jamb-news-content h3 {
    color: var(--text);

    font-size: 19px;

    line-height: 1.22;

    font-weight: 800;

    letter-spacing: -0.025em;
}

.jamb-news-content p {
    margin-top: 10px;

    color: var(--muted);

    font-size: 13px;

    line-height: 1.65;

    display: -webkit-box;

    -webkit-line-clamp: 3;

    -webkit-box-orient: vertical;

    overflow: hidden;
}

.jamb-news-read {
    display: inline-flex;
    align-items: center;

    width: fit-content;

    margin-top: auto;
    padding-top: 17px;

    color: var(--navy);

    font-size: 12px;

    font-weight: 750;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.jamb-news-read:hover {
    color: var(--accent-dark);

    transform: translateX(3px);
}

.jamb-news-loading {
    grid-column: 1 / -1;

    padding: 45px 20px;
}


/* =========================================================
   TABLET
   769px — 1050px
========================================================= */

@media (max-width: 1050px) {

    :root {
        --page-padding: 22px;
    }


    /* HEADER — FULL NAV REMAINS */

    .main-nav {
        gap: 16px;
    }

    .main-nav > a,
    .nav-dropdown > a {
        font-size: 13px;
    }


    /* TICKER */

    .ticker-content {
        gap: 35px;
        padding-right: 35px;
        font-size: 11px;
    }


    /* HERO */

    .hero-section {
        padding: 82px 0 72px;
    }

    .hero-content {
        max-width: 760px;
    }

    .hero-content h1 {
        font-size: clamp(45px, 6vw, 68px);
    }


    /* NEWS */

    .content-grid {
        grid-template-columns:
            minmax(0, 1fr)
            300px;

        gap: 30px;
    }

    .news-card {
        grid-template-columns:
            200px minmax(0, 1fr);
    }

    .news-content {
        padding: 22px;
    }

    .news-content h3 {
        font-size: 19px;
    }


    /* UNIVERSITY */

    .university-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    /* SERVICES */

    .services-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .service-card:nth-child(n) {
        grid-column: span 1;
    }


    /* RESOURCES */

    .resource-deck {
        width: min(100%, 700px);

        height: 560px;
    }

    .resource-card-body {
        grid-template-columns:
            minmax(0, 1fr)
            180px;

        gap: 22px;
    }

    .resource-visual {
        width: 170px;
        height: 170px;
    }


    /* FOOTER */

    .footer-inner {
        grid-template-columns:
            1.5fr
            1fr
            1fr
            1fr;

        gap: 30px;
    }


    /* JAMB */

    .jamb-news-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   MOBILE
   768px AND BELOW
========================================================= */

@media (max-width: 768px) {

    :root {
        --page-padding: 18px;
    }


    /* HEADER */

    .header-inner {
        min-height: 68px;
    }

    .brand-main {
        font-size: 23px;
    }

    .brand-sub {
        font-size: 7px;
    }

    .mobile-menu-btn {
        display: flex;
    }

    .main-nav {
        position: absolute;

        top: calc(100% + 1px);
        left: 0;
        right: 0;

        display: none;

        flex-direction: column;
        align-items: stretch;

        gap: 2px;

        padding: 10px;

        background: var(--surface);

        border: 1px solid var(--border-soft);

        border-radius: 18px;

        box-shadow: var(--shadow-lg);
    }

    .main-nav.open,
    .main-nav.show {
        display: flex;
    }

    .main-nav > a,
    .nav-dropdown > a {
        width: 100%;

        min-height: 44px;

        display: flex;
        align-items: center;

        padding: 0 12px;

        border-radius: 10px;

        font-size: 13px;
    }

    .main-nav > a:hover,
    .nav-dropdown > a:hover {
        background: var(--blue-soft);
    }

    .nav-dropdown {
        display: block;

        width: 100%;
    }


    /* MOBILE DROPDOWN */

    .dropdown-menu {
        position: static;

        width: 100%;
        min-width: 0;

        display: none;

        padding: 0 0 4px;

        border: 0;
        border-radius: 0;

        background: transparent;

        box-shadow: none;
    }

    .nav-dropdown:hover .dropdown-menu {
        display: none;
    }

    .nav-dropdown.open .dropdown-menu {
        display: flex;
    }

    .dropdown-menu a {
        padding: 9px 24px;

        font-size: 12px;
    }


    /* =====================================================
       BREAKING BAR
    ===================================================== */

    .breaking-bar {
        min-height: 38px;
    }

    .breaking-label {
        height: 38px;

        padding-left: var(--page-padding);
        padding-right: 12px;

        font-size: 9px;
    }

    .breaking-dot {
        width: 6px;
        height: 6px;

        flex-basis: 6px;
    }

    .ticker-wrapper {
        height: 38px;
    }

    .ticker-wrapper::before,
    .ticker-wrapper::after {
        width: 20px;
    }

    .ticker-content {
        gap: 30px;

        padding-right: 30px;

        font-size: 10px;

        animation-duration: 30s;
    }

    .ticker-content span::before {
        margin-right: 10px;
    }


    /* =====================================================
       HERO
    ===================================================== */

    .hero-section {
        padding: 62px 0 58px;
    }

    

    .hero-content h1 {
        max-width: 100%;

        font-size: clamp(
            40px,
            12vw,
            57px
        );

        line-height: 0.99;
    }

    .hero-content > p {
        margin-top: 20px;

        font-size: 15px;

        line-height: 1.65;
    }

    .search-box {
        margin-top: 26px;
        padding: 6px;

        border-radius: 13px;
    }

    .search-box input {
        height: 45px;

        padding: 0 11px;

        font-size: 12px;
    }

    .search-box button {
        height: 45px;

        padding: 0 16px;

        border-radius: 11px;

        font-size: 11px;
    }

    .quick-filters {
        gap: 7px;

        margin-top: 15px;
    }

    .quick-filter {
        height: 32px;

        padding: 0 11px;

        font-size: 10px;
    }


    /* MAIN NEWS */

    .main-content {
        padding-top: 60px;
        padding-bottom: 70px;
    }

    .content-grid {
        display: block;
    }

    .section-heading {
        align-items: flex-end;

        gap: 14px;

        margin-bottom: 22px;
    }

    .small-label {
        margin-bottom: 6px;

        font-size: 9px;
    }

    .section-heading h2 {
        font-size: 26px;
    }

    .section-heading p {
        font-size: 13px;
    }

    .view-all {
        font-size: 10px;
    }

    .news-feed {
        gap: 14px;
    }


    /* HOME NEWS CARD */

    .news-card {
        display: block;

        min-height: 0;

        border-radius: 22px;
    }

    .news-image {
        width: 100%;

        height: 190px;
        min-height: 190px;
    }

    .news-content {
        padding: 20px;
    }

    .news-meta {
        margin-bottom: 8px;

        font-size: 9px;
    }

    .news-content h3 {
        font-size: 18px;

        line-height: 1.2;
    }

    .news-content p {
        margin-top: 9px;

        font-size: 12px;
    }

    .read-more {
        margin-top: 14px;

        font-size: 11px;
    }


    /* ALERTS */

    .alerts-column {
        position: static;

        margin-top: 55px;
    }

    .trending-box,
    .status-box {
        border-radius: 22px;
    }

    .status-box {
        width: 75%;
    }


    /* UNIVERSITY */

    .universities-section {
        padding: 72px 0 80px;
    }

    .universities-section .section-heading {
        align-items: center;

        text-align: center;
    }

    .universities-section .section-heading p {
        margin-top: 10px;
    }

    .university-filters {
        justify-content: center;

        padding: 0 12px;

        margin-bottom: 22px;
    }

    .university-filters button {
        min-height: 35px;

        padding: 0 14px;

        font-size: 10px;
    }

    .university-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .university-card {
        min-height: 190px;

        border-radius: 22px;
    }

    .university-card-body {
        min-height: 185px;

        padding: 20px;
    }

    .university-card h3 {
        max-width: 100%;

        font-size: 20px;
    }

    .load-more-universities {
        width: 100%;

        min-height: 45px;

        margin-top: 22px;
    }


    /* SERVICES */

    .services-section {
        padding: 72px 0 80px;
    }

    .services-section .section-heading {
        align-items: center;

        text-align: center;
    }

    .services-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .service-card:nth-child(n) {
        grid-column: span 1;

        min-height: 225px;

        padding: 23px 21px;

        border-radius: 22px;
    }

    .service-card h3 {
        font-size: 19px;
    }

    .service-card p {
        font-size: 12px;
    }

    .services-cta {
        flex-direction: column;

        align-items: flex-start;

        gap: 15px;

        margin-top: 12px;

        padding: 25px 22px;

        border-radius: 22px;
    }

    .services-cta h3 {
        font-size: 19px;
    }

    .services-cta p {
        font-size: 12px;
    }

    .primary-button {
        width: 100%;
    }


    /* RESOURCES */

    .resources-section {
        padding: 72px 0 80px;
    }

    .resources-section .section-heading {
        align-items: center;

        text-align: center;

        margin-bottom: 30px;
    }

    .resources-section .section-heading p {
        max-width: 100%;
    }

    .resource-deck {
        width: 100%;

        height: 540px;
    }

    .resource-card {
        left: 1.5%;

        width: 97%;

        border-radius: 25px;
    }

    .resource-card-inner {
        padding: 22px;
    }

    .resource-card-header {
        padding-bottom: 15px;
    }

    .resource-number {
        font-size: 9px;
    }

    .resource-category {
        min-height: 25px;

        padding: 5px 8px;

        font-size: 8px;
    }

    .resource-card-body {
        display: flex;

        flex-direction: column;

        align-items: stretch;
        justify-content: flex-start;

        gap: 18px;

        padding-top: 18px;
    }

    .resource-eyebrow {
        margin-bottom: 7px;

        font-size: 8px;
    }

    .resource-information h3 {
        font-size: 30px;

        line-height: 1.04;
    }

    .resource-information p {
        margin-top: 10px;

        font-size: 12px;

        line-height: 1.55;
    }

    .resource-links {
        gap: 6px;

        margin-top: 15px;
    }

    .resource-links a {
        min-height: 29px;

        padding: 5px 8px;

        font-size: 9px;
    }

    .resource-cta {
        margin-top: 16px;

        font-size: 11px;
    }

    .resource-visual {
        width: 135px;
        height: 135px;

        align-self: center;
    }

    .resource-visual-card {
        width: 95px;
        height: 110px;

        border-radius: 18px;
    }

    .resource-visual-icon {
        font-size: 22px;
    }

    .resource-visual-label {
        font-size: 9px;
    }

    .resource-visual-sub {
        font-size: 7px;
    }

    .resource-deck-controls {
        gap: 17px;

        margin-top: 28px;
    }

    .resource-nav {
        width: 42px;
        height: 42px;

        font-size: 16px;
    }

    .resource-dots {
        gap: 6px;
    }

    .resource-dot {
        width: 6px;
        height: 6px;
    }

    .resource-dot.active {
        width: 19px;
    }


    /* FOOTER */

    .footer-inner {
        grid-template-columns: 1fr 1fr;

        gap: 42px 25px;

        padding-top: 55px;
        padding-bottom: 50px;
    }

    .footer-brand {
        grid-column: 1 / -1;

        max-width: 100%;
    }

    .footer-column h3 {
        font-size: 10px;
    }

    .footer-column a {
        font-size: 11px;
    }

    .footer-bottom p {
        padding: 18px var(--page-padding);

        font-size: 9px;
    }


    /* JAMB */

    .jamb-news-section {
        padding-bottom: 70px;
    }

    .jamb-news-grid {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .jamb-news-card {
        border-radius: 22px;
    }

    .jamb-news-image {
        height: 190px;
    }

    .jamb-news-content {
        padding: 20px;
    }

    .jamb-news-meta {
        font-size: 9px;
    }

    .jamb-news-content h3 {
        font-size: 18px;
    }

    .jamb-news-content p {
        font-size: 12px;
    }

    .jamb-news-read {
        font-size: 11px;
    }
}


/* =========================================================
   SMALL PHONES
   480px AND BELOW
========================================================= */

@media (max-width: 480px) {

    :root {
        --page-padding: 15px;
    }

    .header-inner {
        min-height: 64px;
    }

    .brand-main {
        font-size: 22px;
    }

    .hero-section {
        padding-top: 54px;
        padding-bottom: 50px;
    }

    .hero-content h1 {
        font-size: 42px;
    }

    .hero-content > p {
        font-size: 14px;
    }

    .search-box {
        gap: 4px;
    }

    .search-box input {
        font-size: 11px;
    }

    .search-box button {
        padding: 0 13px;
    }

    .news-image {
        height: 175px;
        min-height: 175px;
    }

    .news-content {
        padding: 18px;
    }

    .news-content h3 {
        font-size: 17px;
    }

    .section-heading h2 {
        font-size: 24px;
    }

    .university-card-body {
        padding: 18px;
    }

    .service-card:nth-child(n) {
        min-height: 215px;

        padding: 21px 19px;
    }

    .resource-deck {
        height: 520px;
    }

    .resource-card-inner {
        padding: 19px;
    }

    .resource-information h3 {
        font-size: 27px;
    }

    .resource-information p {
        font-size: 11px;
    }

    .resource-visual {
        width: 120px;
        height: 120px;
    }

    .resource-visual-card {
        width: 88px;
        height: 102px;
    }

    .footer-inner {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .footer-brand {
        grid-column: auto;
    }


    /* JAMB */

    .jamb-news-section {
        padding-bottom: 60px;
    }

    .jamb-news-image {
        height: 175px;
    }

    .jamb-news-content {
        padding: 18px;
    }

    .jamb-news-content h3 {
        font-size: 17px;
    }
}


/* =========================================================
   VERY SMALL PHONES
   360px AND BELOW
========================================================= */

@media (max-width: 360px) {

    .hero-content h1 {
        font-size: 38px;
    }

    .search-box input {
        padding-left: 8px;

        font-size: 10px;
    }

    .search-box button {
        padding: 0 11px;

        font-size: 10px;
    }

    .resource-deck {
        height: 505px;
    }

    .resource-information h3 {
        font-size: 25px;
    }

    .resource-links a {
        font-size: 8px;
    }
}


/* =========================================================
   PHONE LANDSCAPE
   481px — 768px
========================================================= */

@media (
    min-width: 481px
) and (
    max-width: 768px
) and (
    orientation: landscape
) {

    /* NEWS */

    .news-feed {
        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 14px;
    }

    .news-card {
        display: block;

        min-height: 0;

        border-radius: 20px;
    }

    .news-image {
        width: 100%;

        height: 145px;
        min-height: 145px;
    }

    .news-content {
        padding: 16px;
    }

    .news-content h3 {
        font-size: 16px;

        line-height: 1.18;
    }

    .news-content p {
        font-size: 11px;
    }


    /* UNIVERSITY */

    .university-filters {
        justify-content: center;

        padding-inline: 16px;
    }

    .university-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 12px;
    }

    .university-card {
        min-height: 180px;

        border-radius: 20px;
    }

    .university-card-body {
        min-height: 175px;

        padding: 18px;
    }

    .university-card h3 {
        font-size: 18px;
    }


    /* SERVICES */

    .services-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 12px;
    }

    .service-card:nth-child(n) {
        grid-column: span 1;

        min-height: 205px;

        padding: 20px;

        border-radius: 20px;
    }

    .service-card h3 {
        font-size: 18px;
    }

    .service-card p {
        font-size: 11px;
    }


    /* RESOURCES */

    .resource-deck {
        width: min(100%, 600px);

        height: 340px;
    }

    .resource-card {
        left: 1.5%;

        width: 97%;
    }

    .resource-card-inner {
        padding: 20px 24px;
    }

    .resource-card-body {
        display: grid;

        grid-template-columns:
            minmax(0, 1fr)
            150px;

        align-items: center;

        gap: 15px;

        padding-top: 18px;
    }

    .resource-information h3 {
        font-size: 27px;
    }

    .resource-information p {
        font-size: 11px;
    }

    .resource-visual {
        width: 145px;
        height: 145px;
    }

    .resource-visual-card {
        width: 95px;
        height: 110px;
    }


    /* TRENDING / ALERTS */

    #admission-alerts-list > * {
        padding: 9px 14px;
    }

    #admission-alerts-list > * h3 {
        font-size: 13px;

        line-height: 1.25;
    }

    #admission-alerts-list > * p {
        font-size: 10px;

        line-height: 1.35;
    }

    #admission-alerts-list > * span {
        font-size: 9px;
    }


    /* JAMB */

    .jamb-news-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 12px;
    }

    .jamb-news-card {
        border-radius: 20px;
    }

    .jamb-news-image {
        height: 145px;
    }

    .jamb-news-content {
        padding: 16px;
    }

    .jamb-news-content h3 {
        font-size: 16px;
    }

    .jamb-news-content p {
        font-size: 11px;
    }
}


/* =========================================================
   ACCESSIBILITY / REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;
    }

    .status-icon span,
    .trending-fire,
    .resource-visual-orbit,
    .resource-visual-card,
    .ticker-content {
        animation: none !important;
    }
}


/* =========================================================
   RESOURCE VISUAL ANIMATIONS
========================================================= */

@keyframes resourceOrbitSpin {

    from {
        transform: rotate(-20deg);
    }

    to {
        transform: rotate(340deg);
    }
}

@keyframes resourceCardFloat {

    0%,
    100% {
        transform: rotate(-5deg) translateY(0);
    }

    25% {
        transform: rotate(-2deg) translateY(-6px);
    }

    50% {
        transform: rotate(2deg) translateY(-9px);
    }

    75% {
        transform: rotate(-1deg) translateY(-5px);
    }
}

.resource-card:nth-child(2) .resource-visual-orbit {
    animation-duration: 10s;
}

.resource-card:nth-child(3) .resource-visual-orbit {
    animation-duration: 8s;
}

.resource-card:nth-child(4) .resource-visual-orbit {
    animation-duration: 11s;
}

.resource-card:nth-child(5) .resource-visual-orbit {
    animation-duration: 9.5s;
}

.resource-card:nth-child(2) .resource-visual-card {
    animation-delay: -0.8s;
}

.resource-card:nth-child(3) .resource-visual-card {
    animation-delay: -1.5s;
}

.resource-card:nth-child(4) .resource-visual-card {
    animation-delay: -2.2s;
}

.resource-card:nth-child(5) .resource-visual-card {
    animation-delay: -2.9s;
}


/* =========================================================
   MOLAS LOGO — FAR LEFT HEADER
========================================================= */

.site-header .header-inner {
    width: 100%;
    max-width: none;

    padding-left: 0 !important;
    padding-right: 24px !important;

    display: flex;
    align-items: center;
}

.site-header .brand {
    margin-left: -15px !important;

    padding-left: 0 !important;

    display: flex;
    align-items: center;

    flex-shrink: 0;
}

.site-header .brand img {
    display: block;

    width: 160px;
    height: auto;

    max-height: 52px;

    object-fit: contain;
}

.site-header .brand {
    text-decoration: none !important;

    border: none !important;
    border-bottom: 0 !important;

    box-shadow: none !important;
    outline: none !important;
}

.site-header .brand::before,
.site-header .brand::after {
    display: none !important;

    content: none !important;
}


/* =========================================================
   MOLAS LOGO — PREMIUM ZOOM
========================================================= */

.site-header .brand img {
    animation:
        molasPremiumZoom 4.5s ease-in-out infinite;

    transform-origin: center center;

    will-change: transform;
}

@keyframes molasPremiumZoom {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.10);
    }
}


/* =========================================================
   MOLAS HERO — EDITORIAL REVEAL
========================================================= */

.hero-content > * {
    opacity: 0;

    transform: translateY(28px);

    animation:
        molasHeroReveal
        0.9s
        cubic-bezier(0.22, 1, 0.36, 1)
        forwards;
}

.hero-content h1 {
    animation-delay: 0.30s !important;
}

.hero-content h1 span {
    opacity: 0;

    transform: translateY(18px);

    animation:
        molasHeroHighlight
        0.8s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.55s
        forwards;
}

.hero-content > p {
    animation-delay: 0.65s !important;
}

.hero-content .search-box {
    animation-delay: 0.80s !important;
}

.hero-content .quick-filters {
    animation-delay: 0.95s !important;
}


/* =========================================================
   HERO REVEAL
========================================================= */

@keyframes molasHeroReveal {

    from {
        opacity: 0;

        transform: translateY(28px);
    }

    to {
        opacity: 1;

        transform: translateY(0);
    }
}


/* =========================================================
   HERO HIGHLIGHT
========================================================= */

@keyframes molasHeroHighlight {

    from {
        opacity: 0;

        transform: translateY(18px);

        clip-path: inset(0 0 100% 0);
    }

    to {
        opacity: 1;

        transform: translateY(0);

        clip-path: inset(0 0 0 0);
    }
}


/* =========================================================
   REDUCED MOTION — HERO
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .site-header .brand img {
        animation: none;
    }

    .hero-content > *,
    .hero-content h1 span {
        opacity: 1;

        transform: none;

        animation: none;

        clip-path: none;
    }
}


/* =========================================================
   MOBILE PORTRAIT ONLY
   SEARCH + EDUCATION NEWS + JAMB NEWS
========================================================= */

@media (max-width: 768px) and (orientation: portrait) {

    /* =====================================================
       MOBILE PORTRAIT SEARCH BAR
    ===================================================== */

    .search-box {
        width: 100%;

        display: flex;
        align-items: center;

        gap: 7px;

        margin-top: 24px;
        padding: 5px;

        border-radius: 1x;

        background: var(--white);

        box-shadow:
            0 8px 24px rgba(8, 18, 53, 0.16);
    }

    .search-box input {
        flex: 1;

        min-width: 0;
        height: 46px;

        padding: 0 13px;

        font-size: 12px;
    }

    .search-box button {
        flex-shrink: 0;

        height: 46px;

        padding: 0 17px;

        border-radius: 12px;

        font-size: 11px;
        font-weight: 750;
    }



      

       

   





/* KEEP THE EXACT EXISTING BENTO SIZE */



/* EXACT EXISTING BENTO IMAGE SIZE */



/* EXACT EXISTING BENTO CONTENT */





/* =========================================================
   LATEST EDUCATION NEWS
========================================================= */

.news-feed {
    display: block;
    width: 100%;
}


/* =========================================================
   6 BENTO CARDS
========================================================= */

.news-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

.news-track>.news-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 225px;
    overflow: hidden;
    border-radius: 16px;
}

.news-track>.news-card .news-image {
    width: 100%;
    height: 125px;
    min-height: 125px;
    flex-shrink: 0;
}

.news-track>.news-card .news-content {
    min-width: 0;
    padding: 11px 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-track>.news-card .news-meta {
    margin-bottom: 5px;
    font-size: 8px;
    gap: 5px;
}

.news-track>.news-card .news-content h3 {
    font-size: 13px;
    line-height: 1.25;
    letter-spacing: -0.02em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-track>.news-card .news-content p {
    display: none;
}

.news-track>.news-card .read-more {
    margin-top: 7px;
    font-size: 9px;
}


/* =========================================================
   2 NORMAL CARDS BELOW
========================================================= */

.news-rest {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 14px;
}

.news-rest>.news-card {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    min-height: 112px;
    overflow: hidden;
    border-radius: 16px;
}

.news-rest>.news-card .news-image {
    width: 100%;
    height: 100%;
    min-height: 112px;
}

.news-rest>.news-card .news-content {
    min-width: 0;
    padding: 12px 13px;
}

.news-rest>.news-card .news-meta {
    margin-bottom: 5px;
    font-size: 8px;
    gap: 5px;
}

.news-rest>.news-card .news-content h3 {
    font-size: 13px;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-rest>.news-card .news-content p {
    display: none;
}

.news-rest>.news-card .read-more {
    margin-top: 6px;
    font-size: 9px;
}


/* =========================================================
   MOBILE — 6 BENTOS SWIPE HORIZONTALLY
========================================================= */

@media (max-width: 768px) {
    
    .news-track {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        
        width: 100% !important;
        
        overflow-x: auto !important;
        overflow-y: hidden !important;
        
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        
        scrollbar-width: none;
    }
    
    .news-track::-webkit-scrollbar {
        display: none;
    }
    
    .news-track>.news-card {
        flex: 0 0 calc(50% - 5px) !important;
        width: calc(50% - 5px) !important;
        min-width: calc(50% - 5px) !important;
        max-width: calc(50% - 5px) !important;
        
        scroll-snap-align: start;
    }
    
}
  


 


   






   

    
  

     








    /* =====================================================
       LATEST JAMB NEWS
       HORIZONTAL
    ===================================================== */

    .jamb-news-grid {
        display: grid;

        grid-template-columns: 1fr;

        gap: 12px;
    }

    .jamb-news-card {
        display: grid;

        grid-template-columns:
            105px minmax(0, 1fr);

        min-height: 112px;

        overflow: hidden;

        border-radius: 16px;
    }

    .jamb-news-image {
        width: 100%;

        height: 100%;
        min-height: 112px;
    }

    .jamb-news-content {
        min-width: 0;

        padding: 12px 13px;
    }

    .jamb-news-meta {
        margin-bottom: 5px;

        font-size: 8px;

        gap: 5px;
    }

    .jamb-news-content h3 {
        font-size: 13px;

        line-height: 1.25;

        display: -webkit-box;

        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;

        overflow: hidden;
    }

    .jamb-news-content p {
        display: none;
    }

    .jamb-news-read {
        padding-top: 6px;

        font-size: 9px;
    }
}


/* =========================================================
   MOBILE IMAGE LABEL POSITION
========================================================= */

@media (max-width: 768px) and (orientation: portrait) {

    .news-image span,
    .jamb-news-image span {
        top: 0 !important;
        left: 0 !important;

        right: auto !important;
        bottom: auto !important;

        font-size: 7px !important;

        padding: 3px 6px !important;

        border-radius: 4px !important;

        line-height: 1 !important;
    }
}


/* =========================================================
   MOLAS HERO CAROUSEL
========================================================= */

.hero-carousel {
    position: relative;
    width: min(100%, 820px);
    margin-top: 24px;

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 22px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.12),
            rgba(255, 255, 255, 0.045)
        );

    box-shadow:
        0 20px 50px rgba(8, 18, 53, 0.22);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}


/* =========================================================
   CAROUSEL TRACK
========================================================= */

.hero-carousel-track {
    display: flex;
    width: 100%;

    transition:
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);

    will-change: transform;
}


/* =========================================================
   HERO SLIDE
========================================================= */

.hero-slide {
    position: relative;

    flex: 0 0 100%;
    min-width: 100%;

    min-height: 245px;

    padding: 28px 32px 58px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    overflow: hidden;
}


/* Decorative glow */

.hero-slide::before {
    content: "";

    position: absolute;

    width: 240px;
    height: 240px;

    right: -90px;
    top: -110px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(24, 191, 255, 0.22),
            transparent 68%
        );

    pointer-events: none;
}


/* Bottom glow */

.hero-slide::after {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    left: -80px;
    bottom: -110px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.08),
            transparent 70%
        );

    pointer-events: none;
}


/* =========================================================
   CATEGORY
========================================================= */

.hero-slide-category {
    position: relative;
    z-index: 2;

    align-self: flex-start;

    display: inline-flex;
    align-items: center;

    min-height: 25px;

    margin-bottom: 13px;

    padding: 5px 10px;

    border-radius: 999px;

    background: rgba(24, 191, 255, 0.14);

    border: 1px solid rgba(24, 191, 255, 0.25);

    color: var(--brand-cyan);

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 0.08em;
    line-height: 1;

    text-transform: uppercase;
}


/* =========================================================
   SLIDE TITLE
========================================================= */

.hero-slide h2 {
    position: relative;
    z-index: 2;

    max-width: 690px;

    margin: 0;

    color: var(--white);

    font-family:
        "Manrope",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    font-size: clamp(25px, 3.2vw, 40px);

    line-height: 1.08;

    font-weight: 850;

    letter-spacing: -0.045em;
}


/* =========================================================
   SLIDE DESCRIPTION
========================================================= */

.hero-slide p {
    position: relative;
    z-index: 2;

    max-width: 620px;

    margin: 13px 0 0;

    color: rgba(255, 255, 255, 0.72);

    font-size: 13px;

    line-height: 1.55;
}


/* =========================================================
   READ UPDATE
========================================================= */

.hero-slide-link {
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;

    width: fit-content;

    margin-top: 17px;

    padding: 9px 14px;

    border-radius: 10px;

    background: var(--white);
    color: var(--navy);

    font-size: 11px;
    font-weight: 800;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.hero-slide-link:hover {
    background: var(--brand-cyan);

    color: var(--white);

    transform: translateY(-1px);
}


/* =========================================================
   CAROUSEL CONTROLS
========================================================= */

.hero-carousel-controls {
    position: absolute;

    z-index: 5;

    left: 0;
    right: 0;
    bottom: 15px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 18px;
}


/* Arrows */

.hero-carousel-arrow {
    width: 30px;
    height: 30px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.08);

    color: var(--white);

    font-size: 12px;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}

.hero-carousel-arrow:hover {
    background: rgba(255, 255, 255, 0.18);

    transform: translateY(-1px);
}


/* =========================================================
   DOTS
========================================================= */

.hero-carousel-dots {
    display: flex;
    align-items: center;

    gap: 6px;
}

.hero-carousel-dot {
    width: 6px;
    height: 6px;

    padding: 0;

    border: 0;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.30);

    cursor: pointer;

    transition:
        width 0.25s ease,
        background 0.25s ease;
}

.hero-carousel-dot.active {
    width: 20px;

    border-radius: 999px;

    background: var(--brand-cyan);
}


/* =========================================================
   LOADING STATE
========================================================= */

.hero-slide-loading {
    min-height: 245px;
}

.hero-slide-loading h2 {
    font-size: 24px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 768px) {

    .hero-carousel {
        width: 100%;

        margin-top: 20px;

        border-radius: 18px;
    }

    .hero-slide {
        min-height: 220px;

        padding: 23px 20px 54px;
    }

    .hero-slide h2 {
        font-size: clamp(22px, 6vw, 30px);

        line-height: 1.08;
    }

    .hero-slide p {
        margin-top: 10px;

        font-size: 12px;

        line-height: 1.5;

        max-width: 95%;
    }

    .hero-slide-link {
        margin-top: 13px;

        padding: 8px 12px;

        font-size: 10px;
    }

    .hero-carousel-controls {
        bottom: 12px;

        padding: 0 13px;
    }

    .hero-carousel-arrow {
        width: 27px;
        height: 27px;

        font-size: 11px;
    }
}


/* =========================================================
   SMALL PHONES
========================================================= */

@media (max-width: 480px) {

    .hero-carousel {
        margin-top: 17px;

        border-radius: 16px;
    }

    .hero-slide {
        min-height: 205px;

        padding: 20px 16px 51px;
    }

    .hero-slide-category {
        min-height: 22px;

        margin-bottom: 10px;

        padding: 4px 8px;

        font-size: 8px;
    }

    .hero-slide h2 {
        font-size: 21px;

        letter-spacing: -0.035em;
    }

    .hero-slide p {
        font-size: 11px;

        margin-top: 9px;

        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;

        overflow: hidden;
    }

    .hero-slide-link {
        margin-top: 11px;

        padding: 7px 11px;

        font-size: 9px;
    }

    .hero-carousel-controls {
        padding: 0 11px;
    }
}

/* =========================================================
   COMPACT MOLAS HERO
========================================================= */

.hero-section {
    padding: 52px 0 48px;
}

.hero-content {
    max-width: 900px;
}


/* MOLAS EDUCATION UPDATE */

.hero-eyebrow {
    width: fit-content;
    max-width: max-content;
    
    margin-bottom: 0;
    
    position: relative;
    top: -20px;
}


/* SEARCH DIRECTLY UNDER EYEBROW */

.hero-content .search-box {
    width: min(100%, 680px);
    
    margin-top: -7px;
    
    position: relative;
    top: 0;
}


/* PILLS BETWEEN SEARCH AND CAROUSEL */

.hero-content .quick-filters {
    margin-top: 11px;
    
    gap: 7px;
    
    position: relative;
    top: 0;
}


/* CAROUSEL */

.hero-content .hero-carousel {
    margin-top: 15px;
    
    width: min(100%, 820px);
}

.hero-slide {
    min-height: 205px;
    
    padding: 22px 28px 50px;
}

.hero-slide h2 {
    font-size: clamp(24px, 3vw, 36px);
}

.hero-slide p {
    margin-top: 9px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {
    
    .hero-section {
        padding: 40px 0 38px;
    }
  
    
    .hero-content .search-box {
        margin-top: -2px;
    }
    
    .hero-content .quick-filters {
        margin-top: 9px;
    }
    
    .hero-content .hero-carousel {
        margin-top: 12px;
    }
    
    .hero-slide {
        min-height: 190px;
        
        padding: 19px 17px 48px;
    }
}


@media (max-width: 480px) {
    
    .hero-section {
        padding: 34px 0 32px;
    }
    
 
    
    .hero-content .search-box {
        margin-top: 0;
    }
    
    .hero-content .quick-filters {
        margin-top: 8px;
    }
    
    .hero-content .hero-carousel {
        margin-top: 10px;
    }
    
    .hero-slide {
        min-height: 180px;
        
        padding: 17px 15px 46px;
    }
    
    .hero-slide h2 {
        font-size: 20px;
    }
}


 /* =========================================================
    MOLAS HERO — LIVE CONTENT STYLING
 ========================================================= */
 
 .hero-slide-inner {
     position: relative;
     z-index: 3;
     width: 100%;
     max-width: 690px;
 }
 
 .hero-slide-top {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-bottom: 8px;
 }
 
 .hero-slide-category {
     display: inline-flex;
     align-items: center;
     width: fit-content;
     min-height: 24px;
     padding: 5px 9px;
     border-radius: 999px;
     background: rgba(24, 191, 255, 0.14);
     border: 1px solid rgba(24, 191, 255, 0.24);
     color: var(--brand-cyan);
     font-size: 9px;
     font-weight: 800;
     letter-spacing: 0.07em;
     line-height: 1;
     text-transform: uppercase;
 }
 
 .hero-slide-date {
     color: rgba(255, 255, 255, 0.58);
     font-size: 10px;
     font-weight: 600;
     white-space: nowrap;
 }
 
 .hero-slide-source {
     margin: 0 0 8px;
     color: rgba(255, 255, 255, 0.62);
     font-size: 10px;
     font-weight: 750;
     letter-spacing: 0.08em;
     text-transform: uppercase;
 }
 
 .hero-slide h2 {
     position: relative;
     z-index: 3;
     max-width: 680px;
     margin: 0;
     color: var(--white);
     font-family:
         "Manrope",
         -apple-system,
         BlinkMacSystemFont,
         "Segoe UI",
         sans-serif;
     font-size: clamp(24px, 3vw, 38px);
     line-height: 1.08;
     font-weight: 850;
     letter-spacing: -0.045em;
 }
 
 .hero-slide p {
     position: relative;
     z-index: 3;
     max-width: 600px;
     margin: 11px 0 0;
     color: rgba(255, 255, 255, 0.70);
     font-size: 12px;
     line-height: 1.55;
 }
 
 .hero-slide-link {
     position: relative;
     z-index: 3;
     display: inline-flex;
     align-items: center;
     width: fit-content;
     margin-top: 15px;
     padding: 8px 13px;
     border-radius: 10px;
     background: var(--white);
     color: var(--navy);
     font-size: 10px;
     font-weight: 800;
     text-decoration: none;
     transition:
         transform 0.2s ease,
         background 0.2s ease;
 }
 
 .hero-slide-link:hover {
     background: var(--brand-cyan);
     color: var(--white);
     transform: translateY(-1px);
 }
 
 
 /* =========================================================
   MOBILE
 ========================================================= */
 
 @media (max-width: 768px) {
     
     .hero-slide-inner {
         max-width: 100%;
     }
     
     .hero-slide-top {
         gap: 8px;
         margin-bottom: 7px;
     }
     
     .hero-slide-category {
         min-height: 22px;
         padding: 4px 8px;
         font-size: 8px;
     }
     
     .hero-slide-date {
         font-size: 9px;
     }
     
     .hero-slide-source {
         margin-bottom: 7px;
         font-size: 9px;
     }
     
     .hero-slide h2 {
         font-size: clamp(21px, 5.8vw, 29px);
         line-height: 1.08;
     }
     
     .hero-slide p {
         max-width: 95%;
         margin-top: 9px;
         font-size: 11px;
         line-height: 1.5;
     }
     
     .hero-slide-link {
         margin-top: 12px;
         padding: 7px 11px;
         font-size: 9px;
     }
 }
 
 
 /* =========================================================
   SMALL PHONES
 ========================================================= */
 
 @media (max-width: 480px) {
     
     .hero-slide-inner {
         max-width: 100%;
     }
     
     .hero-slide-top {
         gap: 7px;
     }
     
     .hero-slide-category {
         min-height: 21px;
         padding: 4px 7px;
         font-size: 7px;
     }
     
     .hero-slide-date {
         font-size: 8px;
     }
     
     .hero-slide-source {
         margin-bottom: 6px;
         font-size: 8px;
     }
     
     .hero-slide h2 {
         font-size: 20px;
         letter-spacing: -0.035em;
     }
     
     .hero-slide p {
         margin-top: 8px;
         font-size: 10px;
         -webkit-line-clamp: 2;
         display: -webkit-box;
         -webkit-box-orient: vertical;
         overflow: hidden;
     }
     
     .hero-slide-link {
         margin-top: 10px;
         padding: 7px 10px;
         font-size: 8px;
     }
 }
 
 
 
 
  /* =========================================================
    MOLAS — EXTRA COMPACT HERO
 ========================================================= */
 
 .hero-section {
     padding: 32px 0 30px !important;
 }
 
 .hero-content {
     max-width: 850px;
 }
 
 /* MOLAS EDUCATION UPDATES */
 .hero-eyebrow {
     min-height: 28px;
     padding: 6px 11px;
     font-size: 9px;
     top: -18px;
     margin-bottom: -8px;
 }
 
 /* SEARCH */
 .hero-content .search-box {
     margin-top: 0 !important;
     top: -8px;
 }
 
 /* QUICK FILTERS */
 .hero-content .quick-filters {
     margin-top: 0 !important;
     gap: 6px;
 }
 
 /* FILTER PILLS */
 .hero-content .quick-filter {
     height: 31px;
     padding: 0 11px;
     font-size: 10px;
 }
 
 /* CAROUSEL */
 .hero-content .hero-carousel {
     margin-top: 9px !important;
     width: min(100%, 820px);
     border-radius: 17px;
 }
 
 /* SLIDE */
 .hero-content .hero-slide {
     min-height: 165px !important;
     padding: 17px 23px 43px !important;
 }
 
 /* CONTENT */
 .hero-slide-inner {
     max-width: 650px;
 }
 
 .hero-slide-top {
     margin-bottom: 5px;
 }
 
 .hero-slide-source {
     margin-bottom: 5px;
     font-size: 9px;
 }
 
 .hero-slide h2 {
     font-size: clamp(21px, 2.7vw, 32px);
     line-height: 1.06;
 }
 
 .hero-slide p {
     margin-top: 7px;
     font-size: 11px;
     line-height: 1.4;
 }
 
 .hero-slide-link {
     margin-top: 9px;
     padding: 7px 11px;
     font-size: 9px;
 }
 
 /* CONTROLS */
 .hero-carousel-controls {
     bottom: 9px;
     padding: 0 13px;
 }
 
 .hero-carousel-arrow {
     width: 25px;
     height: 25px;
     font-size: 10px;
 }
 
 .hero-carousel-dot {
     width: 5px;
     height: 5px;
 }
 
 .hero-carousel-dot.active {
     width: 17px;
 }
 
 
 /* =========================================================
   MOBILE
 ========================================================= */
 
 @media (max-width: 768px) {
     
     .hero-section {
         padding: 25px 0 24px !important;
     }
     
     .hero-eyebrow {
         top: -12px;
         margin-bottom: 6px;
     }
     
     .hero-content .search-box {
         top: -5px;
     }
     
     .hero-content .quick-filters {
         margin-top: 0 !important;
     }
     
     .hero-content .hero-carousel {
         margin-top: 7px !important;
     }
     
     .hero-content .hero-slide {
         min-height: 155px !important;
         padding: 15px 15px 40px !important;
     }
     
     .hero-slide h2 {
         font-size: 19px;
     }
     
     .hero-slide p {
         font-size: 10px;
         margin-top: 6px;
     }
     
     .hero-slide-link {
         margin-top: 8px;
         padding: 6px 10px;
         font-size: 8px;
     }
 }
 
 
 /* =========================================================
   SMALL PHONES
 ========================================================= */
 
 @media (max-width: 480px) {
     
     .hero-section {
         padding: 21px 0 21px !important;
     }
     
     .hero-eyebrow {
         top: -9px;
         min-height: 25px;
         padding: 5px 9px;
         font-size: 8px;
     }
     
     .hero-content .search-box {
         top: -3px;
     }
     
     .hero-content .quick-filter {
         height: 29px;
         padding: 0 9px;
         font-size: 9px;
     }
     
     .hero-content .hero-carousel {
         margin-top: 6px !important;
         border-radius: 15px;
     }
     
     .hero-content .hero-slide {
         min-height: 145px !important;
         padding: 13px 13px 38px !important;
     }
     
     .hero-slide-category {
         min-height: 20px;
         padding: 4px 7px;
         font-size: 7px;
     }
     
     .hero-slide-date {
         font-size: 8px;
     }
     
     .hero-slide-source {
         font-size: 8px;
         margin-bottom: 5px;
     }
     
     .hero-slide h2 {
         font-size: 18px;
     }
     
     .hero-slide p {
         font-size: 9px;
         line-height: 1.35;
         margin-top: 5px;
     }
     
     .hero-slide-link {
         margin-top: 7px;
         padding: 6px 9px;
         font-size: 8px;
     }
 }
 
 
 .search-box {
    padding: 4px !important;
    border-radius: 13px !important;
}

.search-box input,
.search-box button {
    height: 38px !important;
}

.search-box input {
    font-size: 12px;
}

.search-box button {
    padding: 0 16px !important;
    border-radius: 10px !important;
    font-size: 11px;
}








/* =========================================================
   MOLAS HERO — CONTINUOUS PILL SHINE + SILVER WAVE
========================================================= */

/* ---------- MOLAS PILL ---------- */

.hero-eyebrow {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

/* Continuous light travelling across the pill */
.hero-eyebrow::after {
    content: "";
    position: absolute;
    top: -60%;
    left: -80%;
    width: 45%;
    height: 220%;

    background: linear-gradient(
        110deg,
        transparent 0%,
        rgba(255,255,255,0.08) 35%,
        rgba(255,255,255,0.65) 50%,
        rgba(255,255,255,0.08) 65%,
        transparent 100%
    );

    transform: skewX(-20deg);
    animation: molasPillShine 3.8s ease-in-out infinite;
    pointer-events: none;
    z-index: 2;
}

@keyframes molasPillShine {
    0% {
        left: -80%;
    }

    55% {
        left: 140%;
    }

    100% {
        left: 140%;
    }
}


/* ---------- HERO SILVER WAVE ---------- */

.hero-background {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.hero-background::before {
    content: "";
    position: absolute;
    top: -30%;
    left: -45%;

    width: 65%;
    height: 160%;

    background: linear-gradient(
        110deg,
        transparent 0%,
        rgba(255,255,255,0.02) 25%,
        rgba(255,255,255,0.12) 42%,
        rgba(255,255,255,0.22) 50%,
        rgba(255,255,255,0.08) 58%,
        rgba(255,255,255,0.02) 72%,
        transparent 100%
    );

    filter: blur(18px);
    transform: skewX(-18deg);
    animation: molasSilverWave 8s ease-in-out infinite;
    pointer-events: none;
    z-index: 0;
}

.hero-section {
    position: relative;
    z-index: 1;
}

@keyframes molasSilverWave {
    0% {
        transform: translateX(-35%) skewX(-18deg);
        opacity: 0;
    }

    20% {
        opacity: 0.7;
    }

    50% {
        transform: translateX(120%) skewX(-18deg);
        opacity: 0.9;
    }

    75% {
        opacity: 0.45;
    }

    100% {
        transform: translateX(180%) skewX(-18deg);
        opacity: 0;
    }
}


/* =========================================================
   HERO NOTIFICATION PROMPT
========================================================= */

.hero-notification {
    width: fit-content;
    max-width: 100%;
    margin: -18px auto 0;
    padding: 6px 7px 6px 8px;
    
    display: flex;
    align-items: center;
    gap: 10px;
    
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 700;
    
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.hero-notification-icon {
    width: 30px;
    height: 30px;
    
    display: inline-flex;
    align-items: center;
    justify-content: center;
    
    border-radius: 50%;
    background: rgba(24, 191, 255, 0.16);
    color: #18BFFF;
    
    font-size: 14px;
    flex-shrink: 0;
    
    box-shadow: 0 0 16px rgba(24, 191, 255, 0.18);
}

.hero-notification button {
    border: 0;
    padding: 9px 14px;
    
    border-radius: 999px;
    background: #FFFFFF;
    color: #101B4D;
    
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    
    cursor: pointer;
    transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.hero-notification button:hover {
    background: #18BFFF;
    color: #081235;
    transform: translateY(-1px);
}

.hero-notification button:active {
    transform: scale(0.97);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {
    
    .hero-notification {
        width: calc(100% - 20px);
        justify-content: space-between;
        gap: 8px;
        margin-top: -3px;
        padding: 6px;
    }
    
    .hero-notification-icon {
        width: 28px;
        height: 28px;
        font-size: 13px;
    }
    
    .hero-notification button {
        padding: 8px 11px;
        font-size: 10px;
    }
}


/* =========================================================
   MOLAS LESSON ANNOUNCEMENT
   SMALL HOMEPAGE ANNOUNCEMENT
========================================================= */

.lesson-announcement {
    padding: 18px 28px;
    background: var(--pale, #F3FAFD);
}

.lesson-announcement-trigger {
    max-width: 1180px;
    margin: 0 auto;
    
    display: flex;
    align-items: center;
    
    gap: 14px;
    
    padding: 15px 18px;
    
    background: #ffffff;
    
    border: 1px solid rgba(16, 27, 77, 0.08);
    
    border-radius: 18px;
    
    box-shadow:
        0 8px 24px rgba(16, 27, 77, 0.06);
    
    text-decoration: none;
    
    color: var(--brand-navy, #101B4D);
    
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.lesson-announcement-trigger:hover {
    transform: translateY(-1px);
    
    box-shadow:
        0 12px 30px rgba(16, 27, 77, 0.09);
}


/* ICON */

.lesson-announcement-icon {
    flex: 0 0 auto;
    
    width: 38px;
    height: 38px;
    
    display: flex;
    align-items: center;
    justify-content: center;
    
    border-radius: 12px;
    
    background: var(--pale, #F3FAFD);
    
    font-size: 20px;
}


/* TEXT */

.lesson-announcement-text {
    min-width: 0;
    
    display: flex;
    flex-direction: column;
    
    gap: 2px;
}

.lesson-announcement-text strong {
    font-size: 14px;
    
    font-weight: 800;
    
    line-height: 1.3;
    
    color: var(--brand-navy, #101B4D);
}

.lesson-announcement-text span {
    font-size: 12px;
    
    line-height: 1.4;
    
    color: var(--charcoal, #172033);
}


/* ARROW */

.lesson-announcement-arrow {
    margin-left: auto;
    
    flex: 0 0 auto;
    
    font-size: 18px;
    
    font-weight: 800;
    
    color: var(--cyan-dark, #0796CC);
    
    transition: transform 0.2s ease;
}

.lesson-announcement-trigger:hover .lesson-announcement-arrow {
    transform: translateX(3px);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {
    
    .lesson-announcement {
        padding: 12px 14px;
    }
    
    .lesson-announcement-trigger {
        padding: 13px 14px;
        
        gap: 10px;
        
        border-radius: 16px;
    }
    
    .lesson-announcement-icon {
        width: 34px;
        height: 34px;
        
        border-radius: 10px;
        
        font-size: 18px;
    }
    
    .lesson-announcement-text strong {
        font-size: 12px;
    }
    
    .lesson-announcement-text span {
        font-size: 11px;
    }
    
    .lesson-announcement-arrow {
        font-size: 16px;
    }
    
}