/* Extracted from resources/views/landing/home.blade.php — edit here, not inline. */
        /* =========================================================
           MOBILE TEXT CENTER ALIGNMENT OVERRIDE
           Keeps desktop/tablet layout unchanged and centers content
           only on phones up to 575.98px.
        ========================================================== */
        @media (max-width: 575.98px) {

            body,
            .lp-page,
            .lp-hero-content,
            .lp-hero h1,
            .lp-hero p,
            .lp-section-head,
            .lp-section-title,
            .lp-section-copy,
            .lp-card,
            .lp-card h3,
            .lp-card p,
            .lp-how-copy,
            .lp-how-description,
            .lp-how-step,
            .lp-how-step-copy,
            .lp-how-step-copy h3,
            .lp-how-step-copy p,
            .lp-subjects-head,
            .lp-subjects-panel,
            .lp-subject-card,
            .lp-subject-name,
            .lp-subject-meta,
            .lp-subject-badge,
            .lp-subject-open,
            .lp-course,
            .lp-course-body,
            .lp-course h3,
            .lp-course p,
            .lp-testimonial,
            .lp-testimonial p,
            .lp-testimonial-user,
            .lp-testimonial-user strong,
            .lp-testimonial-user span,
            .lp-cta-inner,
            .lp-cta h2,
            .lp-cta p,
            .lp-footer,
            .lp-footer-grid,
            .lp-footer h3,
            .lp-footer p,
            .lp-footer ul,
            .lp-footer li,
            .lp-footer a,
            .lp-footer-bottom {
                text-align: center !important;
            }

            .lp-section-head,
            .lp-cta-inner {
                align-items: center !important;
            }

            .lp-hero-content,
            .lp-hero h1,
            .lp-hero p,
            .lp-section-copy,
            .lp-cta p,
            .lp-footer p {
                margin-inline: auto;
            }

            .lp-hero-actions,
            .lp-stars,
            .lp-testimonial-user,
            .lp-course-footer,
            .lp-teacher,
            .lp-subject-top,
            .lp-subject-open,
            .lp-subjects-route-step,
            .lp-stage-strip span {
                justify-content: center !important;
            }

            .lp-testimonial-user,
            .lp-teacher {
                width: 100%;
            }

            .lp-course-footer {
                flex-direction: column;
                align-items: center;
            }

            .lp-subject-top {
                align-items: center;
            }

            .lp-subjects-panel .lp-stage-strip span {
                align-items: center !important;
            }

            .lp-subjects-panel .lp-stage-strip small,
            .lp-stage-strip small,
            .lp-subject-badge {
                max-width: none;
                text-align: center !important;
            }

            .lp-stat {
                justify-content: center;
                text-align: center !important;
            }

            .lp-stat-copy,
            html[dir="rtl"] .lp-stat-copy,
            html[dir="ltr"] .lp-stat-copy {
                direction: inherit !important;
                text-align: center !important;
            }

            .lp-how-title::after {
                inset-inline-start: 50%;
                transform: translateX(50%);
            }

            html[dir="ltr"] .lp-how-title::after {
                transform: translateX(-50%);
            }

            .lp-footer-logo-wrap {
                display: flex;
                width: max-content;
                margin-inline: auto;
            }

            .lp-newsletter input {
                text-align: center;
            }
        }

        /* =========================================================
           DROSAT FOOTER — PROFESSIONAL COMPACT REDESIGN
           Works with the existing landing_footer partial markup.
        ========================================================== */
        .lp-footer {
            position: relative;
            overflow: hidden;
            padding: 0;
            color: rgba(255, 255, 255, .76);
            background:
                radial-gradient(circle at 9% 5%, rgba(19, 132, 227, .16), transparent 27%),
                radial-gradient(circle at 91% 92%, rgba(244, 180, 26, .07), transparent 24%),
                linear-gradient(145deg, #041633 0%, #06214b 52%, #051d43 100%);
            border-top: 1px solid rgba(255, 255, 255, .08);
        }

        .lp-footer::before {
            content: "";
            position: absolute;
            z-index: 1;
            top: 0;
            right: 0;
            left: 0;
            height: 3px;
            background: linear-gradient(90deg,
                    var(--lp-primary) 0%,
                    var(--lp-secondary) 72%,
                    var(--lp-accent) 72%,
                    var(--lp-accent) 100%);
        }

        .lp-footer::after {
            content: "";
            position: absolute;
            width: 360px;
            height: 360px;
            top: -225px;
            inset-inline-end: -160px;
            border-radius: 50%;
            border: 1px solid rgba(255, 255, 255, .045);
            box-shadow:
                0 0 0 48px rgba(19, 132, 227, .018),
                0 0 0 96px rgba(19, 132, 227, .012);
            pointer-events: none;
        }

        .lp-footer>.lp-container {
            position: relative;
            z-index: 2;
            padding-top: 46px;
            padding-bottom: 18px;
        }

        .lp-footer-grid {
            display: grid;
            grid-template-columns: minmax(260px, 1.35fr) minmax(145px, .68fr) minmax(145px, .68fr) minmax(290px, 1.2fr);
            gap: clamp(24px, 3vw, 46px);
            align-items: start;
        }

        .lp-footer-grid>* {
            min-width: 0;
        }

        .lp-footer-grid> :first-child {
            padding-inline-end: 10px;
        }

        .lp-footer-logo-wrap {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: max-content;
            max-width: 100%;
            margin: 0 0 16px;
            padding: 9px 13px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, .9);
            border-radius: 13px;
            background: #fff;
            box-shadow:
                0 13px 28px rgba(0, 0, 0, .15),
                inset 0 1px 0 rgba(255, 255, 255, .96);
        }

        .lp-footer-logo {
            display: block;
            width: 112px;
            height: auto;
            border-radius: 0;
        }

        .lp-footer p {
            max-width: 390px;
            margin: 0;
            color: rgba(255, 255, 255, .66);
            font-size: 13px;
            font-weight: 500;
            line-height: 1.85;
        }

        .lp-footer-grid> :first-child::after {
            content: "";
            display: block;
            width: 42px;
            height: 3px;
            margin-top: 17px;
            border-radius: 999px;
            background: linear-gradient(90deg, var(--lp-secondary), var(--lp-accent));
        }

        .lp-footer h3 {
            position: relative;
            margin: 3px 0 14px;
            padding-bottom: 10px;
            color: #fff;
            font-size: 14px;
            font-weight: 800;
            line-height: 1.45;
        }

        .lp-footer h3::after {
            content: "";
            position: absolute;
            inset-inline-start: 0;
            bottom: 0;
            width: 27px;
            height: 2px;
            border-radius: 999px;
            background: var(--lp-accent);
        }

        .lp-footer ul {
            display: grid;
            gap: 2px;
            padding: 0;
            margin: 0;
            list-style: none;
        }

        .lp-footer li,
        .lp-footer li+li {
            margin: 0;
        }

        .lp-footer ul a {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 32px;
            padding: 3px 0;
            color: rgba(255, 255, 255, .68);
            font-size: 12.5px;
            font-weight: 600;
            line-height: 1.45;
            transition: color .18s ease, transform .18s ease;
        }

        .lp-footer ul a::before {
            content: "";
            width: 5px;
            height: 5px;
            flex: 0 0 auto;
            border-radius: 50%;
            background: rgba(85, 172, 247, .72);
            box-shadow: 0 0 0 3px rgba(19, 132, 227, .07);
            transition: background .18s ease, transform .18s ease;
        }

        .lp-footer ul a:hover,
        .lp-footer ul a:focus {
            color: #fff;
            transform: translateX(-3px);
            outline: none;
        }

        html[dir="ltr"] .lp-footer ul a:hover,
        html[dir="ltr"] .lp-footer ul a:focus {
            transform: translateX(3px);
        }

        .lp-footer ul a:hover::before,
        .lp-footer ul a:focus::before {
            background: var(--lp-accent);
            transform: scale(1.25);
        }

        .lp-footer-grid> :last-child {
            position: relative;
            overflow: hidden;
            padding: 18px;
            border: 1px solid rgba(255, 255, 255, .11);
            border-radius: 18px;
            background:
                linear-gradient(145deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .035));
            box-shadow:
                0 18px 36px rgba(0, 0, 0, .09),
                inset 0 1px 0 rgba(255, 255, 255, .07);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .lp-footer-grid> :last-child::before {
            content: "";
            position: absolute;
            top: 0;
            inset-inline-start: 18px;
            width: 42px;
            height: 3px;
            border-radius: 0 0 999px 999px;
            background: var(--lp-accent);
        }

        .lp-footer-grid> :last-child h3 {
            margin-top: 0;
            margin-bottom: 8px;
            padding-bottom: 0;
        }

        .lp-footer-grid> :last-child h3::after {
            display: none;
        }

        .lp-footer-grid> :last-child p {
            margin-bottom: 13px;
            color: rgba(255, 255, 255, .58);
            font-size: 11.5px;
            line-height: 1.7;
        }

        .lp-newsletter {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 7px;
            padding: 5px;
            border: 1px solid rgba(255, 255, 255, .13);
            border-radius: 12px;
            background: rgba(0, 15, 42, .24);
            box-shadow: none;
        }

        .lp-newsletter input {
            width: 100%;
            min-width: 0;
            min-height: 42px;
            padding: 0 11px;
            border: 0;
            border-radius: 8px;
            background: #fff;
            color: var(--lp-ink);
            font-family: inherit;
            font-size: 11.5px;
            text-align: start;
            outline: 0;
        }

        .lp-newsletter input::placeholder {
            color: #8b96a8;
        }

        .lp-newsletter input:focus {
            outline: none;
            box-shadow: 0 0 0 3px rgba(19, 132, 227, .18);
        }

        .lp-newsletter .lp-btn {
            min-width: 86px;
            min-height: 42px;
            padding: 7px 13px;
            border-radius: 8px;
            font-size: 11.5px;
        }

        .lp-footer-bottom {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 7px 18px;
            margin-top: 28px;
            padding-top: 15px;
            border-top: 1px solid rgba(255, 255, 255, .09);
            color: rgba(255, 255, 255, .47);
            font-size: 11.5px;
            line-height: 1.65;
            text-align: center;
        }

        .lp-footer-bottom a {
            color: rgba(255, 255, 255, .62);
            font-size: 11.5px;
            font-weight: 600;
        }

        .lp-footer-bottom a:hover,
        .lp-footer-bottom a:focus {
            color: var(--lp-accent);
        }

        @media (max-width: 991.98px) and (min-width: 576px) {
            .lp-footer-grid {
                grid-template-columns: 1.15fr .65fr .65fr !important;
                gap: 24px !important;
            }

            .lp-footer-grid> :last-child {
                grid-column: 1 / -1;
                width: min(100%, 680px);
            }
        }

        @media (max-width: 575.98px) {
            .lp-footer {
                padding: 0 !important;
                text-align: initial !important;
            }

            .lp-footer>.lp-container {
                width: calc(100% - 28px);
                padding-top: 30px;
                padding-bottom: 13px;
            }

            .lp-footer-grid {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 24px 18px !important;
                text-align: start !important;
            }

            .lp-footer-grid> :first-child {
                grid-column: 1 / -1;
                display: flex;
                flex-direction: column;
                align-items: center;
                padding: 0;
                text-align: center !important;
            }

            .lp-footer-logo-wrap {
                display: flex !important;
                width: max-content;
                margin: 0 auto 12px !important;
                padding: 7px 11px;
                border-radius: 11px;
            }

            .lp-footer-logo {
                width: 101px;
            }

            .lp-footer-grid> :first-child p {
                max-width: 340px;
                margin-inline: auto !important;
                font-size: 11.5px;
                line-height: 1.75;
                text-align: center !important;
            }

            .lp-footer-grid> :first-child::after {
                width: 34px;
                height: 2px;
                margin-top: 12px;
            }

            .lp-footer-grid> :nth-child(2),
            .lp-footer-grid> :nth-child(3) {
                grid-column: auto;
                min-width: 0;
                text-align: start !important;
            }

            .lp-footer-grid> :nth-child(2) h3,
            .lp-footer-grid> :nth-child(3) h3,
            .lp-footer-grid> :nth-child(2) ul,
            .lp-footer-grid> :nth-child(3) ul,
            .lp-footer-grid> :nth-child(2) li,
            .lp-footer-grid> :nth-child(3) li,
            .lp-footer-grid> :nth-child(2) a,
            .lp-footer-grid> :nth-child(3) a {
                text-align: start !important;
            }

            .lp-footer h3 {
                margin: 0 0 10px;
                padding-bottom: 8px;
                font-size: 12.5px;
            }

            .lp-footer h3::after {
                width: 22px;
            }

            .lp-footer ul {
                gap: 0;
            }

            .lp-footer ul a {
                min-height: 29px;
                gap: 6px;
                padding: 2px 0;
                font-size: 10.8px;
                text-align: start !important;
            }

            .lp-footer ul a::before {
                width: 4px;
                height: 4px;
                box-shadow: 0 0 0 2px rgba(19, 132, 227, .07);
            }

            .lp-footer-grid> :last-child {
                grid-column: 1 / -1;
                width: 100%;
                padding: 15px;
                border-radius: 15px;
                text-align: start !important;
            }

            .lp-footer-grid> :last-child h3,
            .lp-footer-grid> :last-child p {
                text-align: start !important;
            }

            .lp-footer-grid> :last-child h3 {
                margin-bottom: 4px;
            }

            .lp-footer-grid> :last-child p {
                max-width: none;
                margin: 0 0 10px !important;
                font-size: 10.5px;
                line-height: 1.6;
            }

            .lp-newsletter {
                display: grid !important;
                grid-template-columns: minmax(0, 1fr) 84px !important;
                gap: 6px;
                padding: 5px;
                border-radius: 11px;
            }

            .lp-newsletter input {
                min-height: 40px !important;
                padding-inline: 9px;
                font-size: 10.5px;
                text-align: start !important;
            }

            .lp-newsletter .lp-btn {
                width: auto !important;
                min-width: 0;
                min-height: 40px !important;
                padding: 5px 8px;
                font-size: 10.5px;
            }

            .lp-footer-bottom {
                display: flex;
                justify-content: center;
                gap: 5px 13px;
                margin-top: 19px;
                padding-top: 13px;
                font-size: 10px;
                line-height: 1.55;
                text-align: center !important;
            }

            .lp-footer-bottom a {
                font-size: 10px;
            }
        }

        @media (max-width: 360px) {
            .lp-footer>.lp-container {
                width: calc(100% - 22px);
            }

            .lp-footer-grid {
                gap: 22px 14px !important;
            }

            .lp-footer ul a {
                font-size: 10.2px;
            }

            .lp-newsletter {
                grid-template-columns: 1fr !important;
            }

            .lp-newsletter .lp-btn {
                width: 100% !important;
            }
        }

        /* =========================================================
           SUBJECT LIBRARY — REDESIGNED
           Cleaner desktop composition + compact premium mobile UI.
        ========================================================== */

        #subjects.lp-subjects-section {
            position: relative;
            isolation: isolate;
            overflow: hidden;
            padding-block: 68px;
            border-top: 1px solid #e3edf8;
            border-bottom: 1px solid #dce8f5;
            background:
                radial-gradient(circle at 8% 10%, rgba(19, 132, 227, .09), transparent 26%),
                radial-gradient(circle at 92% 88%, rgba(244, 180, 26, .055), transparent 23%),
                linear-gradient(180deg, #f9fcff 0%, #edf6ff 100%);
        }

        #subjects.lp-subjects-section::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            opacity: .42;
            background-image:
                linear-gradient(rgba(19, 132, 227, .055) 1px, transparent 1px),
                linear-gradient(90deg, rgba(19, 132, 227, .055) 1px, transparent 1px);
            background-size: 48px 48px;
            mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
            pointer-events: none;
        }

        #subjects .lp-subjects-showcase {
            display: grid;
            grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
            gap: 28px;
            align-items: stretch;
        }

        /* ===== Intro / navigation panel ===== */
        #subjects .lp-subjects-panel {
            position: relative;
            top: auto;
            align-self: stretch;
            display: flex;
            flex-direction: column;
            height: 100%;
            min-width: 0;
            padding: 26px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, .17);
            border-radius: 24px;
            background:
                radial-gradient(circle at 16% 8%, rgba(255, 255, 255, .13), transparent 28%),
                radial-gradient(circle at 90% 90%, rgba(19, 132, 227, .22), transparent 34%),
                linear-gradient(155deg, #073d86 0%, #063474 42%, #05295f 100%);
            box-shadow:
                0 24px 55px rgba(0, 51, 124, .17),
                inset 0 1px 0 rgba(255, 255, 255, .09);
        }

        #subjects .lp-subjects-panel::before {
            content: "";
            position: absolute;
            inset: 0 auto 0 0;
            width: 4px;
            border-radius: 0 999px 999px 0;
            background: linear-gradient(180deg, var(--lp-accent), var(--lp-secondary));
        }

        html[dir="rtl"] #subjects .lp-subjects-panel::before {
            right: 0;
            left: auto;
            border-radius: 999px 0 0 999px;
        }

        #subjects .lp-subjects-panel::after {
            content: "";
            position: absolute;
            width: 260px;
            height: 260px;
            inset-inline-end: -130px;
            top: -120px;
            border: 1px solid rgba(255, 255, 255, .06);
            border-radius: 50%;
            box-shadow:
                0 0 0 42px rgba(255, 255, 255, .018),
                0 0 0 84px rgba(255, 255, 255, .012);
            background: transparent;
            pointer-events: none;
        }

        #subjects .lp-subjects-head {
            position: relative;
            z-index: 2;
            display: block;
            margin: 0;
        }

        #subjects .lp-subjects-head .lp-pill {
            min-height: 30px;
            padding-inline: 11px;
            border: 1px solid rgba(244, 180, 26, .32);
            border-radius: 999px;
            background: rgba(244, 180, 26, .13);
            color: #fff4c6;
            box-shadow: none;
            font-size: 11px;
            font-weight: 800;
        }

        #subjects .lp-subjects-head .lp-section-title {
            max-width: 290px;
            margin: 15px 0 0;
            color: #fff;
            font-size: clamp(27px, 2.3vw, 36px);
            font-weight: 800;
            line-height: 1.3;
            letter-spacing: -.02em;
        }

        #subjects .lp-subjects-head .lp-section-title::after {
            content: "";
            display: block;
            width: 42px;
            height: 3px;
            margin-top: 13px;
            border-radius: 999px;
            background: var(--lp-accent);
        }

        #subjects .lp-subjects-head .lp-section-copy {
            max-width: 290px;
            margin: 13px 0 0;
            color: rgba(255, 255, 255, .72);
            font-size: 12.5px;
            line-height: 1.8;
        }

        #subjects .lp-subjects-panel-metrics {
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 8px;
            margin: 20px 0 0;
        }

        #subjects .lp-subjects-panel-metric {
            min-width: 0;
            min-height: 72px;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
            padding: 11px 12px;
            border: 1px solid rgba(255, 255, 255, .12);
            border-radius: 14px;
            background: rgba(255, 255, 255, .075);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
        }

        #subjects .lp-subjects-panel-metric strong {
            color: #fff;
            font-size: 23px;
            font-weight: 800;
            line-height: 1;
        }

        #subjects .lp-subjects-panel-metric small {
            margin-top: 7px;
            color: rgba(255, 255, 255, .59);
            font-size: 9.5px;
            font-weight: 700;
            line-height: 1.35;
        }

        #subjects .lp-subjects-login {
            position: relative;
            z-index: 2;
            width: 100%;
            min-height: 44px;
            margin: 14px 0 0;
            border: 0;
            border-radius: 12px;
            background: #fff;
            color: #073978;
            box-shadow: 0 12px 25px rgba(0, 15, 45, .15);
            font-size: 12px;
            font-weight: 800;
        }

        #subjects .lp-subjects-login:hover,
        #subjects .lp-subjects-login:focus {
            background: var(--lp-accent);
            color: #05316d;
            transform: translateY(-1px);
        }

        #subjects .lp-subjects-route {
            position: relative;
            z-index: 2;
            display: grid;
            gap: 7px;
            margin: 18px 0 0;
            counter-reset: subject-route;
        }

        #subjects .lp-subjects-route-step {
            counter-increment: subject-route;
            min-height: 38px;
            display: flex;
            align-items: center;
            gap: 9px;
            padding: 8px 10px;
            border: 1px solid rgba(255, 255, 255, .10);
            border-radius: 11px;
            background: rgba(255, 255, 255, .055);
            color: rgba(255, 255, 255, .72);
            font-size: 10.5px;
            font-weight: 700;
        }

        #subjects .lp-subjects-route-step::before {
            content: counter(subject-route);
            width: 22px;
            height: 22px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            border: 1px solid rgba(191, 219, 254, .20);
            border-radius: 8px;
            background: rgba(191, 219, 254, .11);
            color: #dbeafe;
            box-shadow: none;
            font-size: 9px;
            font-weight: 800;
        }

        #subjects .lp-stage-strip {
            position: relative;
            z-index: 2;
            display: grid;
            flex: 1 1 auto;
            grid-template-rows: repeat(3, minmax(64px, 1fr));
            gap: 7px;
            margin: 18px 0 0;
        }

        #subjects .lp-stage-strip span {
            min-height: 64px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 13px 14px;
            border: 1px solid rgba(255, 255, 255, .10);
            border-radius: 12px;
            background:
                linear-gradient(135deg, rgba(255, 255, 255, .105), rgba(255, 255, 255, .055));
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055);
        }

        #subjects .lp-stage-strip span:hover {
            border-color: rgba(244, 180, 26, .25);
            background: rgba(255, 255, 255, .095);
            transform: none;
        }

        #subjects .lp-stage-strip strong {
            color: #fff;
            font-size: 11.5px;
            font-weight: 800;
        }

        #subjects .lp-stage-strip small {
            max-width: 138px;
            color: rgba(255, 255, 255, .55);
            font-size: 9.5px;
            line-height: 1.45;
        }

        /* ===== Subject cards ===== */
        #subjects .lp-subjects-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 14px;
            align-content: start;
        }

        #subjects .lp-subject-card {
            --subject-accent: var(--lp-primary);
            position: relative;
            min-width: 0;
            min-height: 196px;
            display: flex;
            flex-direction: column;
            padding: 17px;
            overflow: hidden;
            isolation: isolate;
            border: 1px solid #dfe9f4;
            border-radius: 18px;
            background:
                radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--subject-accent) 7%, transparent), transparent 34%),
                linear-gradient(155deg, #fff 0%, #fbfdff 70%, #f7fbff 100%);
            box-shadow:
                0 12px 28px rgba(15, 23, 42, .045),
                0 1px 2px rgba(15, 23, 42, .025);
            text-decoration: none;
            transition:
                transform .22s ease,
                border-color .22s ease,
                box-shadow .22s ease;
        }

        #subjects .lp-subject-card::before {
            content: "";
            position: absolute;
            inset-inline: 17px;
            top: 0;
            height: 3px;
            border-radius: 0 0 999px 999px;
            background: color-mix(in srgb, var(--subject-accent) 78%, #8ea4bb);
            z-index: 3;
        }

        #subjects .lp-subject-card::after {
            content: "";
            position: absolute;
            width: 90px;
            height: 90px;
            top: -45px;
            inset-inline-end: -38px;
            border-radius: 50%;
            background: color-mix(in srgb, var(--subject-accent) 5%, transparent);
            opacity: 1;
            pointer-events: none;
        }

        #subjects .lp-subject-card:hover,
        #subjects .lp-subject-card:focus-visible {
            transform: translateY(-4px);
            border-color: color-mix(in srgb, var(--subject-accent) 24%, #d7e4f1);
            box-shadow:
                0 20px 42px rgba(0, 51, 124, .09),
                0 4px 12px rgba(15, 23, 42, .035);
            outline: none;
        }

        #subjects .lp-subject-top {
            position: relative;
            z-index: 2;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin: 0 0 15px;
        }

        #subjects .lp-subject-icon {
            width: 42px;
            height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            border: 1px solid color-mix(in srgb, var(--subject-accent) 13%, #e2ebf5);
            border-radius: 13px;
            background: color-mix(in srgb, var(--subject-accent) 6%, #fff);
            color: color-mix(in srgb, var(--subject-accent) 86%, #27496b);
            box-shadow: 0 8px 18px color-mix(in srgb, var(--subject-accent) 5%, transparent);
            font-size: 18px;
            transition: .22s ease;
        }

        #subjects .lp-subject-card:hover .lp-subject-icon {
            background: color-mix(in srgb, var(--subject-accent) 86%, #27496b);
            color: #fff;
            transform: none;
        }

        #subjects .lp-subject-badge {
            max-width: 112px;
            padding: 5px 8px;
            border: 1px solid #e5edf6;
            border-radius: 999px;
            background: rgba(248, 251, 255, .96);
            color: #55657a;
            box-shadow: none;
            font-size: 9.5px;
            font-weight: 700;
            line-height: 1.25;
            text-align: end;
        }

        #subjects .lp-subject-name {
            position: relative;
            z-index: 2;
            display: block;
            margin: 0;
            color: #0b1f3b;
            font-size: 17px;
            font-weight: 800;
            line-height: 1.35;
        }

        #subjects .lp-subject-name::after {
            content: "";
            display: block;
            width: 28px;
            height: 2px;
            margin-top: 9px;
            border-radius: 999px;
            background: color-mix(in srgb, var(--subject-accent) 16%, #d4dfeb);
            transition: width .2s ease, background .2s ease;
        }

        #subjects .lp-subject-card:hover .lp-subject-name::after {
            width: 44px;
            background: color-mix(in srgb, var(--subject-accent) 64%, #9fb1c5);
        }

        #subjects .lp-subject-meta {
            position: relative;
            z-index: 2;
            display: -webkit-box;
            flex: 1 1 auto;
            margin: 10px 0 14px;
            overflow: hidden;
            color: #718096;
            font-size: 11.5px;
            line-height: 1.65;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }

        #subjects .lp-subject-open {
            position: relative;
            z-index: 2;
            width: 100%;
            min-height: 33px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            margin-top: auto;
            padding-top: 11px;
            border-top: 1px solid #e8eff6;
            color: #0a4b95;
            font-size: 10.5px;
            font-weight: 800;
        }

        #subjects .lp-subject-open i {
            width: 27px;
            height: 27px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 9px;
            background: #edf5fd;
            color: #0a4b95;
            font-size: 13px;
            transition: background .2s ease, color .2s ease;
        }

        #subjects .lp-subject-card:hover .lp-subject-open i {
            background: color-mix(in srgb, var(--subject-accent) 82%, #27496b);
            color: #fff;
            transform: none;
        }

        /* ===== Medium screens ===== */
        @media (max-width: 1199.98px) {
            #subjects .lp-subjects-showcase {
                grid-template-columns: 300px minmax(0, 1fr);
                gap: 20px;
            }

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

        @media (max-width: 991.98px) {
            #subjects.lp-subjects-section {
                padding-block: 50px;
            }

            #subjects .lp-subjects-showcase {
                display: block;
            }

            #subjects .lp-subjects-panel {
                position: relative;
                top: auto;
                width: 100%;
                height: auto;
                min-height: 0;
                margin: 0 0 18px;
                padding: 22px;
            }

            #subjects .lp-subjects-head .lp-section-title,
            #subjects .lp-subjects-head .lp-section-copy {
                max-width: 720px;
            }

            #subjects .lp-subjects-route {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            #subjects .lp-stage-strip {
                flex: none;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                grid-template-rows: none;
                margin-top: 18px;
            }

            #subjects .lp-stage-strip span {
                min-height: 66px;
                flex-direction: column;
                align-items: flex-start;
                justify-content: center;
            }

            #subjects .lp-stage-strip small {
                max-width: none;
                text-align: start;
            }
        }

        /* =========================================================
           MOBILE
           - intro panel becomes a clean light card
           - route/stage items become compact chips
           - subjects become a 2-column compact grid
        ========================================================== */
        @media (max-width: 575.98px) {
            #subjects.lp-subjects-section {
                padding-block: 34px !important;
                background:
                    radial-gradient(circle at 10% 0%, rgba(19, 132, 227, .07), transparent 24%),
                    linear-gradient(180deg, #f9fcff 0%, #eef6ff 100%);
            }

            #subjects.lp-subjects-section::before {
                opacity: .25;
                background-size: 36px 36px;
            }

            #subjects .lp-container {
                width: calc(100% - 24px);
            }

            #subjects .lp-subjects-showcase {
                display: block !important;
            }

            #subjects .lp-subjects-panel {
                position: relative !important;
                top: auto !important;
                margin: 0 0 14px !important;
                padding: 18px !important;
                overflow: hidden;
                border: 1px solid rgba(255, 255, 255, .16) !important;
                border-radius: 20px !important;
                background:
                    radial-gradient(circle at 92% 5%, rgba(255, 255, 255, .13), transparent 30%),
                    radial-gradient(circle at 8% 96%, rgba(19, 132, 227, .22), transparent 32%),
                    linear-gradient(155deg, #073d86 0%, #063474 44%, #05295f 100%) !important;
                color: #fff;
                box-shadow:
                    0 18px 38px rgba(0, 51, 124, .16),
                    inset 0 1px 0 rgba(255, 255, 255, .08) !important;
                text-align: start !important;
            }

            #subjects .lp-subjects-panel::before {
                inset: 0 0 auto 0 !important;
                width: auto !important;
                height: 3px !important;
                border-radius: 0 0 999px 999px !important;
                background: linear-gradient(90deg, var(--lp-primary), var(--lp-secondary) 78%, var(--lp-accent)) !important;
            }

            #subjects .lp-subjects-panel::after {
                width: 170px;
                height: 170px;
                top: -105px;
                inset-inline-end: -85px;
                border-color: rgba(255, 255, 255, .06);
                box-shadow:
                    0 0 0 34px rgba(255, 255, 255, .025),
                    0 0 0 68px rgba(255, 255, 255, .015);
            }

            #subjects .lp-subjects-head,
            #subjects .lp-subjects-head>div,
            #subjects .lp-subjects-head .lp-section-title,
            #subjects .lp-subjects-head .lp-section-copy {
                text-align: start !important;
            }

            #subjects .lp-subjects-head .lp-pill {
                min-height: 27px;
                padding-inline: 9px;
                border-color: rgba(244, 180, 26, .42);
                background: rgba(255, 255, 255, .08);
                color: #fff;
                font-size: 9.5px;
            }

            #subjects .lp-subjects-head .lp-section-title {
                max-width: none;
                margin: 11px 0 0 !important;
                color: #fff !important;
                font-size: clamp(23px, 7.5vw, 30px) !important;
                line-height: 1.35 !important;
            }

            #subjects .lp-subjects-head .lp-section-title::after {
                width: 36px;
                height: 3px;
                margin-top: 9px;
                background: var(--lp-accent);
            }

            #subjects .lp-subjects-head .lp-section-copy {
                max-width: none;
                margin: 9px 0 0 !important;
                color: rgba(255, 255, 255, .72) !important;
                font-size: 10.7px !important;
                line-height: 1.7 !important;
            }

            #subjects .lp-subjects-panel-metrics {
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
                gap: 7px !important;
                margin: 15px 0 0 !important;
            }

            #subjects .lp-subjects-panel-metric {
                min-height: 58px !important;
                align-items: center !important;
                padding: 8px 5px !important;
                border: 1px solid rgba(255, 255, 255, .13) !important;
                border-radius: 12px !important;
                background: rgba(255, 255, 255, .075) !important;
                box-shadow: inset 0 1px 0 rgba(255, 255, 255, .055) !important;
                text-align: center !important;
            }

            #subjects .lp-subjects-panel-metric strong {
                color: #fff !important;
                font-size: 18px !important;
            }

            #subjects .lp-subjects-panel-metric small {
                margin-top: 5px !important;
                color: rgba(255, 255, 255, .60) !important;
                font-size: 8.5px !important;
                text-align: center !important;
            }

            #subjects .lp-subjects-login {
                min-height: 41px !important;
                margin-top: 10px !important;
                border: 1px solid #d7e5f2 !important;
                border-radius: 11px !important;
                background: linear-gradient(180deg, #fff, #f8fbff) !important;
                color: #083f83 !important;
                box-shadow: 0 8px 18px rgba(0, 51, 124, .06) !important;
                font-size: 10.8px !important;
            }

            #subjects .lp-subjects-route {
                display: grid !important;
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
                gap: 6px !important;
                margin: 12px 0 0 !important;
                counter-reset: subject-route;
            }

            #subjects .lp-subjects-route-step {
                min-width: 0;
                min-height: 54px !important;
                flex-direction: column;
                justify-content: center !important;
                gap: 5px !important;
                padding: 7px 5px !important;
                border: 1px solid rgba(255, 255, 255, .11) !important;
                border-radius: 11px !important;
                background: rgba(255, 255, 255, .07) !important;
                color: rgba(255, 255, 255, .82) !important;
                font-size: 8.3px !important;
                font-weight: 700 !important;
                line-height: 1.35 !important;
                text-align: center !important;
            }

            #subjects .lp-subjects-route-step::before {
                width: 20px !important;
                height: 20px !important;
                border: 0 !important;
                border-radius: 7px !important;
                background: rgba(191, 219, 254, .14) !important;
                color: #dbeafe !important;
                box-shadow: none !important;
                font-size: 8px !important;
            }

            #subjects .lp-stage-strip {
                display: grid !important;
                grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
                gap: 6px !important;
                margin: 7px 0 0 !important;
            }

            #subjects .lp-stage-strip span {
                min-width: 0;
                min-height: 38px !important;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                padding: 7px 5px !important;
                border: 1px solid rgba(255, 255, 255, .11) !important;
                border-radius: 10px !important;
                background: rgba(255, 255, 255, .075) !important;
                box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045) !important;
                text-align: center !important;
            }

            #subjects .lp-stage-strip strong {
                color: #fff !important;
                font-size: 8.8px !important;
                line-height: 1.35 !important;
                text-align: center !important;
            }

            #subjects .lp-stage-strip small {
                display: none !important;
            }

            #subjects .lp-subjects-grid {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
                gap: 10px !important;
                align-content: start !important;
            }

            #subjects .lp-subject-card {
                min-height: 164px !important;
                padding: 13px !important;
                border: 1px solid #dfe9f3 !important;
                border-radius: 16px !important;
                background:
                    radial-gradient(circle at 92% 7%, color-mix(in srgb, var(--subject-accent) 6%, transparent), transparent 33%),
                    linear-gradient(155deg, #fff 0%, #fbfdff 100%) !important;
                box-shadow:
                    0 9px 22px rgba(15, 23, 42, .04),
                    0 1px 2px rgba(15, 23, 42, .02) !important;
                text-align: start !important;
            }

            #subjects .lp-subject-card::before {
                inset-inline: 13px !important;
                height: 2px !important;
            }

            #subjects .lp-subject-top {
                align-items: center !important;
                justify-content: space-between !important;
                gap: 6px !important;
                margin-bottom: 10px !important;
            }

            #subjects .lp-subject-icon {
                width: 36px !important;
                height: 36px !important;
                border-radius: 11px !important;
                font-size: 15px !important;
            }

            #subjects .lp-subject-badge {
                max-width: 82px !important;
                padding: 4px 6px !important;
                border-radius: 999px !important;
                color: #607188 !important;
                font-size: 7.8px !important;
                line-height: 1.25 !important;
                text-align: end !important;
            }

            #subjects .lp-subject-name {
                margin: 0 !important;
                color: #0b203d !important;
                font-size: 13.5px !important;
                font-weight: 800 !important;
                line-height: 1.35 !important;
                text-align: start !important;
            }

            #subjects .lp-subject-name::after {
                width: 23px !important;
                height: 2px !important;
                margin: 7px 0 0 !important;
            }

            #subjects .lp-subject-meta {
                display: -webkit-box !important;
                margin: 7px 0 9px !important;
                overflow: hidden !important;
                color: #718197 !important;
                font-size: 8.9px !important;
                line-height: 1.55 !important;
                text-align: start !important;
                -webkit-line-clamp: 2 !important;
                -webkit-box-orient: vertical !important;
            }

            #subjects .lp-subject-open {
                min-height: 27px !important;
                justify-content: flex-end !important;
                margin-top: auto !important;
                padding-top: 8px !important;
                border-top: 1px solid #e9eff6 !important;
                text-align: start !important;
            }

            #subjects .lp-subject-open>span {
                display: none !important;
            }

            #subjects .lp-subject-open i {
                width: 25px !important;
                height: 25px !important;
                margin: 0 !important;
                border-radius: 8px !important;
                background: #edf5fd !important;
                color: #0a4b95 !important;
                font-size: 12px !important;
            }
        }

        @media (max-width: 390px) {
            #subjects .lp-subjects-grid {
                grid-template-columns: 1fr !important;
            }

            #subjects .lp-subject-card {
                min-height: 142px !important;
            }

            #subjects .lp-subject-meta {
                -webkit-line-clamp: 1 !important;
            }
        }
