/* LCERI homepage visual upgrade */
:root {
    --home-navy: #071834;
    --home-blue: #2563eb;
    --home-orange: #ff642e;
    --home-purple: #7c3aed;
    --home-cyan: #0891b2;
    --home-green: #059669;
    --home-card-shadow: 0 24px 65px rgba(15, 23, 42, .14);
}

.selection-home-hero {
    position: relative;
    overflow: hidden;
}

.selection-home-hero::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -220px;
    bottom: -250px;
    border-radius: 50%;
    background: rgba(255, 100, 46, .18);
    filter: blur(5px);
    pointer-events: none;
}

.selection-slide {
    min-height: 590px;
}

.selection-slide-copy > span {
    border: 1px solid rgba(255, 255, 255, .26);
    box-shadow: 0 10px 35px rgba(0, 0, 0, .12);
}

.selection-slide-copy h1 {
    text-shadow: 0 12px 35px rgba(0, 0, 0, .25);
}

.selection-home-hero .carousel-control-prev,
.selection-home-hero .carousel-control-next {
    width: 62px;
    height: 62px;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    border-radius: 50%;
    background: rgba(255, 255, 255, .17);
    border: 1px solid rgba(255, 255, 255, .25);
    backdrop-filter: blur(9px);
    opacity: 1;
}

.selection-home-hero .carousel-control-prev { left: 22px; }
.selection-home-hero .carousel-control-next { right: 22px; }
.selection-home-hero .carousel-control-prev:hover,
.selection-home-hero .carousel-control-next:hover { background: var(--home-orange); }

.home-statistics-strip {
    margin-top: -48px;
    position: relative;
    z-index: 5;
}

.home-stat-card {
    min-height: 152px;
    height: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.45rem;
    border-radius: 27px;
    color: #fff;
    box-shadow: var(--home-card-shadow);
    transition: transform .25s ease, box-shadow .25s ease;
}

.home-stat-card::before,
.home-stat-card::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, .13);
}

.home-stat-card::before {
    width: 145px;
    height: 145px;
    right: -65px;
    top: -72px;
}

.home-stat-card::after {
    width: 80px;
    height: 80px;
    right: 26px;
    bottom: -48px;
}

.home-stat-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 75px rgba(15, 23, 42, .22);
}

.home-stat-diplomas { background: linear-gradient(135deg, #ff5f2e, #ff9f1c); }
.home-stat-certifications { background: linear-gradient(135deg, #7c3aed, #db2777); }
.home-stat-students { background: linear-gradient(135deg, #0284c7, #06b6d4); }
.home-stat-instructors { background: linear-gradient(135deg, #2563eb, #4f46e5); }

.home-stat-icon {
    position: relative;
    z-index: 2;
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    font-size: 1.7rem;
    background: rgba(255, 255, 255, .2);
    border: 1px solid rgba(255, 255, 255, .25);
    backdrop-filter: blur(8px);
}

.home-stat-card > div:last-child {
    position: relative;
    z-index: 2;
}

.home-stat-card strong {
    display: block;
    color: #fff;
    font-size: 2.35rem;
    line-height: 1;
    font-weight: 900;
}

.home-stat-card span {
    display: block;
    color: #fff;
    font-weight: 800;
    margin-top: .45rem;
}

.home-stat-card small {
    display: block;
    color: rgba(255, 255, 255, .78);
    font-size: .78rem;
    margin-top: .12rem;
}

.home-path-section {
    background:
        radial-gradient(circle at 0 15%, rgba(37, 99, 235, .08), transparent 30%),
        radial-gradient(circle at 100% 85%, rgba(219, 39, 119, .08), transparent 32%),
        #fff;
}

.home-choice-card {
    position: relative;
    overflow: hidden;
    border: 0;
    min-height: 360px;
    padding: 2.6rem;
}

.home-choice-card.diploma {
    background: linear-gradient(145deg, #ffffff 0%, #eff6ff 100%);
    box-shadow: 0 25px 65px rgba(37, 99, 235, .14);
}

.home-choice-card.certification {
    background: linear-gradient(145deg, #ffffff 0%, #fdf2f8 100%);
    box-shadow: 0 25px 65px rgba(147, 51, 234, .14);
}

.home-choice-decoration {
    position: absolute;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    right: -105px;
    top: -105px;
    background: rgba(37, 99, 235, .08);
}

.home-choice-card.certification .home-choice-decoration {
    background: rgba(147, 51, 234, .08);
}

.home-choice-label {
    display: inline-flex;
    margin-top: 1.4rem;
    padding: .42rem .8rem;
    border-radius: 999px;
    background: rgba(37, 99, 235, .09);
    color: #1d4ed8;
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.home-choice-card.certification .home-choice-label {
    background: rgba(147, 51, 234, .09);
    color: #7e22ce;
}

.home-choice-card p {
    min-height: 90px;
    font-size: 1rem;
    line-height: 1.75;
}

.home-benefits-section {
    padding: 0 0 86px;
    background: #fff;
}

.home-benefit-card {
    height: 100%;
    min-height: 225px;
    padding: 1.7rem;
    border-radius: 26px;
    color: #fff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .15);
    transition: transform .25s ease, box-shadow .25s ease;
}

.home-benefit-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 28px 65px rgba(15, 23, 42, .22);
}

.home-benefit-card > i {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    font-size: 1.65rem;
    background: rgba(255, 255, 255, .2);
    border: 1px solid rgba(255, 255, 255, .25);
}

.home-benefit-card h3 {
    font-size: 1.18rem;
    font-weight: 850;
    margin: 1.15rem 0 .6rem;
}

.home-benefit-card p {
    color: rgba(255, 255, 255, .84);
    margin: 0;
    line-height: 1.65;
}

.benefit-orange { background: linear-gradient(135deg, #f97316, #ef4444); }
.benefit-purple { background: linear-gradient(135deg, #7c3aed, #a855f7); }
.benefit-blue { background: linear-gradient(135deg, #2563eb, #0891b2); }
.benefit-green { background: linear-gradient(135deg, #059669, #14b8a6); }

.home-catalog-section {
    position: relative;
    overflow: hidden;
}

.home-diploma-section {
    background:
        radial-gradient(circle at 8% 20%, rgba(37, 99, 235, .08), transparent 24%),
        #f8fafc !important;
}

.home-certification-section {
    background:
        radial-gradient(circle at 92% 25%, rgba(147, 51, 234, .08), transparent 24%),
        #fff;
}

.home-catalog-card {
    border: 0;
    box-shadow: 0 20px 55px rgba(15, 23, 42, .11);
}

.home-catalog-card::before {
    content: "";
    display: block;
    height: 5px;
    background: linear-gradient(90deg, #2563eb, #06b6d4);
}

.certification-catalog-card::before {
    background: linear-gradient(90deg, #7c3aed, #ec4899);
}

.home-catalog-card .selection-card-image {
    height: 225px;
}

.home-catalog-card .selection-card-image span {
    box-shadow: 0 8px 25px rgba(15, 23, 42, .16);
}

.home-instructors-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 5% 25%, rgba(255, 100, 46, .10), transparent 27%),
        radial-gradient(circle at 95% 75%, rgba(37, 99, 235, .10), transparent 30%),
        linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

.home-instructor-card {
    --instructor-accent-a: #2563eb;
    --instructor-accent-b: #06b6d4;
    height: 100%;
    min-height: 405px;
    position: relative;
    overflow: hidden;
    padding: 2rem 1.5rem 1.6rem;
    border-radius: 30px;
    background: #fff;
    text-align: center;
    border: 1px solid rgba(148, 163, 184, .16);
    box-shadow: 0 22px 58px rgba(15, 23, 42, .11);
    transition: transform .25s ease, box-shadow .25s ease;
}

.home-instructor-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 118px;
    background: linear-gradient(135deg, var(--instructor-accent-a), var(--instructor-accent-b));
}

.home-instructor-card::after {
    content: "";
    position: absolute;
    width: 135px;
    height: 135px;
    border-radius: 50%;
    top: -70px;
    right: -50px;
    background: rgba(255, 255, 255, .18);
}

.home-instructor-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 30px 72px rgba(15, 23, 42, .17);
}

.instructor-theme-2 { --instructor-accent-a: #7c3aed; --instructor-accent-b: #ec4899; }
.instructor-theme-3 { --instructor-accent-a: #f97316; --instructor-accent-b: #ef4444; }
.instructor-theme-4 { --instructor-accent-a: #059669; --instructor-accent-b: #14b8a6; }

.home-instructor-avatar-link {
    position: relative;
    z-index: 2;
    display: inline-block;
    text-decoration: none;
}

.home-instructor-avatar-ring {
    width: 142px;
    height: 142px;
    display: grid;
    place-items: center;
    padding: 5px;
    border-radius: 50%;
    background: linear-gradient(135deg, #fff, rgba(255, 255, 255, .72));
    box-shadow: 0 18px 38px rgba(15, 23, 42, .2);
}

.home-instructor-avatar,
.home-instructor-initials {
    width: 132px;
    height: 132px;
    border-radius: 50%;
}

.home-instructor-avatar {
    object-fit: cover;
    background: #fff;
}

.home-instructor-initials {
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 2.35rem;
    font-weight: 900;
    background: linear-gradient(135deg, var(--instructor-accent-a), var(--instructor-accent-b));
}

.home-instructor-card h3 {
    position: relative;
    z-index: 2;
    margin: 1.15rem 0 .35rem;
    font-size: 1.22rem;
    font-weight: 850;
}

.home-instructor-card h3 a {
    color: #0f172a;
    text-decoration: none;
}

.home-instructor-role {
    color: var(--instructor-accent-a);
    font-weight: 750;
    margin-bottom: .35rem;
}

.home-instructor-specialization {
    color: #64748b;
    font-size: .88rem;
    min-height: 38px;
    margin-bottom: .9rem;
}

.home-instructor-meta {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: 1rem;
}

.home-instructor-meta span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .42rem .7rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: .76rem;
    font-weight: 700;
}

.home-instructor-profile-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: 1.2rem;
    color: var(--instructor-accent-a);
    text-decoration: none;
    font-weight: 800;
}

.home-final-cta {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 13% 40%, rgba(255, 100, 46, .55), transparent 27%),
        radial-gradient(circle at 88% 20%, rgba(124, 58, 237, .52), transparent 30%),
        linear-gradient(135deg, #071834, #123a72);
}

.home-final-cta::before,
.home-final-cta::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
}

.home-final-cta::before {
    width: 320px;
    height: 320px;
    left: -150px;
    bottom: -180px;
}

.home-final-cta::after {
    width: 220px;
    height: 220px;
    right: -90px;
    top: -110px;
}

.home-final-cta .container {
    position: relative;
    z-index: 2;
}

.home-cta-kicker {
    display: inline-flex;
    padding: .5rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .2);
    color: #fff;
    font-size: .78rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .07em;
    margin-bottom: 1rem;
}

.home-final-cta h2 {
    font-size: clamp(2rem, 4vw, 3.45rem);
}

@media (max-width: 1199.98px) {
    .selection-home-hero .carousel-control-prev,
    .selection-home-hero .carousel-control-next {
        width: 50px;
        height: 50px;
    }
}

@media (max-width: 991.98px) {
    .home-statistics-strip {
        margin-top: -24px;
    }

    .selection-slide {
        min-height: 545px;
    }

    .home-choice-card {
        min-height: auto;
    }
}

@media (max-width: 767.98px) {
    .home-statistics-strip {
        margin-top: 0;
        padding-top: 1rem;
    }

    .home-stat-card {
        min-height: 135px;
    }

    .selection-home-hero .carousel-control-prev,
    .selection-home-hero .carousel-control-next {
        display: none;
    }

    .selection-slide-copy {
        padding: 68px 0 82px;
    }

    .home-benefits-section {
        padding-bottom: 65px;
    }

    .home-instructor-card {
        min-height: 380px;
    }
}
