/* ----------------------------------

Template Name: Edufix - Education HTML Template
Author: validtheme
Description:
Version: 1.0

Main Font    : Outfit
Main Color   : #2f57ef

-------------------------------------

[Typography]

Body copy:    15px 'Outfit', sans-serif
Header:     36px 'Outfit', sans-serif
Input, textarea:  15px 'Outfit', sans-serif
Sidebar heading:  20px 'Outfit', sans-serif

>>> TABLE OF CONTENTS:
=======================
        
    01. Template default css
        - Animations
        - General
        - Section Title
        - Video Button
        - Typography
        - Tables
        - Forms
        - Buttons
        - Pagination
        - Colors
        - Accordion
        - Tabs
    02. Preloader
    03. Topbar
    04 Navbar
        - Navbar Default
        - Navbar Transparent
        - Navbar Sticky
        - Navbar Box
    05. Banner
        - Banner Style One
        - Banner Style Two
        - Banner Style Three
        - Banner Style Four
        - Banner Style Five
        - Banner Style Six
        - Banner Style Seven
        - Banner Style Eight
    06. About Us
        - Version One
        - Version Two
        - Version Three
        - Version Four
    07. Category
        - Version One
        - Version Two
        - Version Three
    08. Courses
        - Version One
        - Version Two
        - Version Three
        - Version Four
        - Version Five
        - Version Six
        - Course Single
    09. Gallery
    10. Advisor
        - Version One
        - Version Two
        - Advisor Details
    11. Event
        - Version One
        - Version Two
        - Version Three
        - Version Four
        - Event Details
    12. Zoom Meeting
        - Version One
        - Zoom Meeting Details
    13. Testimonials
        - Version One
        - Version Two
        - Version Three
    14. Why Choose Us
    15. Privacy Policy
    16. Fun Factor
    17. FAQ
    18. Login
    19. Register
    20. Blog
        - Standard
        - Left Sidebar
        - Right Sidebar
        - Single
    21. Error 404
    22. Footer
    23. PHP Contact Form
    24. Others

*/

@font-face {
    font-family: 'BoonHome';
    src: url('assets/fonts/boonhome-400.woff') format('woff');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'BoonHome';
    src: url('assets/fonts/boonhome-400-oblique.woff') format('woff');
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'BoonHome';
    src: url('assets/fonts/boonhome-700.woff') format('woff');
    font-style: normal;
    font-weight: 600 700;
    font-display: swap;
}

@font-face {
    font-family: 'BoonHome';
    src: url('assets/fonts/boonhome-700-oblique.woff') format('woff');
    font-style: italic;
    font-weight: 600 700;
    font-display: swap;
}

html { scroll-behavior: smooth; }
.lba-contact { scroll-margin-top: 100px; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

:root {
    --font-default: 'Times New Roman', 'BoonHome', 'Noto Sans Lao', serif;
    --font-heading: 'Times New Roman', 'BoonHome', 'Noto Sans Lao', serif;
}

body,
button,
input,
textarea,
select {
    font-family: var(--font-default);
}

.theme-style-three .lba-introduction {
    padding: 64px 0 72px;
    background: radial-gradient(ellipse at 95% 15%, #e5ebf6, transparent 55%), #faf7f3;
    border-bottom: 1px solid #e2e3e8;
    font-family: 'BoonHome', Arial, sans-serif;
}

.lba-intro-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding-bottom: 22px;
    margin-bottom: 36px;
    border-bottom: 1px solid #dcdde3;
    font-family: Arial, sans-serif;
}

.lba-intro-eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #701b27;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}

.lba-intro-eyebrow::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #701b27;
}

.lba-intro-caption { color: #636b7b; font-size: 13px; }
.lba-intro-grid { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 56px; }
.lba-intro-grid > * { min-width: 0; }

.lba-intro-copy h2 {
    font-family: 'BoonHome', Arial, sans-serif;
    font-size: clamp(30px, 3.1vw, 46px);
    line-height: 1.4;
    color: #111d42;
    margin: 0 0 20px;
}

.lba-intro-copy h2 > span { color: #701b27; }
.lba-intro-copy .lba-intro-description { font-size: 17px; line-height: 1.9; color: #545d6e; margin: 0 0 25px; }
.lba-intro-link { display: inline-flex; align-items: center; gap: 20px; color: #701b27; font-size: 16px; font-weight: 700; padding: 10px 0; border-bottom: 1px solid #b88e93; }
.lba-intro-link:hover { color: #111d42; border-color: #111d42; }
.lba-intro-link:focus-visible { outline: 3px solid #701b27; outline-offset: 6px; }

.lba-learning-panel {
    position: relative;
    overflow: hidden;
    padding: 32px;
    border: 1px solid #273654;
    border-radius: 24px;
    background: radial-gradient(circle at 100% 0%, #384763, transparent 60%), #111e3b;
    color: #fff;
    box-shadow: 0 20px 45px -25px #17234280;
}

.lba-learning-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-family: Arial, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; color: #d3dbea; }
.lba-age-tag { padding: 6px 12px; border: 1px solid #67718a; border-radius: 30px; color: #fff; font-family: 'BoonHome', Arial, sans-serif; font-size: 14px; letter-spacing: 0; white-space: nowrap; }
.lba-learning-panel h3 { font-family: 'BoonHome', Arial, sans-serif; color: #fff; font-size: clamp(25px, 2.5vw, 35px); line-height: 1.5; margin: 28px 0; }
.lba-learning-panel h3 span { color: #ecd3a4; }
.lba-learning-method { display: flex; align-items: center; gap: 16px; padding: 18px; background: #ffffff0d; border: 1px solid #ffffff24; border-radius: 14px; }
.lba-learning-method > i { display: grid; place-items: center; width: 45px; height: 45px; flex-shrink: 0; border-radius: 12px; color: #ecd3a4; background: #ffffff0d; font-size: 23px; }
.lba-learning-method strong { display: block; font-family: Arial, sans-serif; font-size: 18px; color: #fff; }
.lba-learning-method div > span { display: block; color: #cbd2e1; font-size: 15px; margin-top: 5px; }
.lba-learning-outcomes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 26px; }
.lba-learning-outcomes > div + div { border-left: 1px solid #ffffff26; padding-left: 16px; }
.lba-learning-outcomes span, .lba-learning-outcomes strong { display: block; }
.lba-learning-outcomes .lba-outcome-number { color: #ecd3a4; font: 12px Arial, sans-serif; margin-bottom: 12px; }
.lba-learning-outcomes strong { color: #fff; font: 700 13px/1.5 Arial, sans-serif; margin-bottom: 4px; }
.lba-learning-outcomes span { color: #cbd2e1; font-size: 13px; line-height: 1.6; }
#lba-curriculum { scroll-margin-top: 100px; }

@media (max-width: 991px) {
    .lba-intro-grid { grid-template-columns: 1fr; gap: 32px; }
    .lba-intro-copy h2 { font-size: 36px; }
}

@media (max-width: 575px) {
    .theme-style-three .lba-introduction { padding: 40px 0 44px; }
    .lba-intro-heading { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 26px; }
    .lba-intro-copy h2 { font-size: 29px; }
    .lba-intro-copy .lba-intro-description { font-size: 16px; }
    .lba-learning-panel { padding: 24px 20px; border-radius: 20px; }
    .lba-learning-topline { font-size: 9px; letter-spacing: 1px; }
    .lba-learning-outcomes { gap: 10px; }
    .lba-learning-outcomes > div + div { padding-left: 10px; }
    .lba-learning-outcomes strong { font-size: 12px; }
}

/* Home: seven-brand logo dropdown */
nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu {
    width: 340px;
    max-height: calc(100vh - 105px);
    padding: 16px 18px 18px !important;
    overflow-y: auto;
    border: 0;
    border-top: 4px solid #ed1c24;
    border-radius: 0 0 17px 17px;
    background: #fff;
    box-shadow: 0 24px 60px -20px rgba(17, 29, 66, 0.28);
}

nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu > li.lba-brands-heading {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 0 3px 14px;
    color: #0d3972;
    line-height: 1;
}

.lba-brands-heading span {
    color: #ed1c24;
    font: 700 11px/1 Arial, sans-serif;
    letter-spacing: 2.2px;
    text-transform: uppercase;
}

.lba-brands-heading strong {
    font: 700 24px/1 Arial, sans-serif;
    letter-spacing: -1px;
}

nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu > li {
    margin: 0 0 8px;
}

nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu > li:last-child {
    margin-bottom: 0;
}

nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu > li > a.lba-brand-card {
    display: grid;
    grid-template-columns: 125px minmax(0, 1fr);
    align-items: center;
    column-gap: 12px;
    width: 100%;
    height: 66px;
    padding: 6px 14px !important;
    border: 1px solid #cfdbeb;
    border-radius: 11px;
    background: #f5f8fc;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}

nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu > li > a.lba-brand-card:hover,
nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu > li > a.lba-brand-card:focus-visible {
    border-color: #ed1c24;
    background: #fff;
    box-shadow: 0 10px 22px rgba(17, 29, 66, .09);
    transform: translateY(-2px);
}

nav.navbar.validnavs .navbar-collapse.collapse .lba-brand-logo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 125px;
    height: 50px;
    overflow: hidden;
}

nav.navbar.validnavs .navbar-collapse.collapse .lba-brand-card img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    border-radius: 0;
    object-fit: contain;
}

.lba-brand-name {
    color: #0d3972;
    font: 700 8px/1.35 Arial, sans-serif;
    letter-spacing: .8px;
    text-transform: uppercase;
}

nav.navbar.validnavs .navbar-collapse.collapse .lba-brand-card-algorithmics img {
    width: 230%;
    height: 230%;
    max-width: none;
}

nav.navbar.validnavs .navbar-collapse.collapse .lba-brand-card-izumi img {
    width: 315%;
    height: 315%;
    max-width: none;
}

nav.navbar.validnavs .navbar-collapse.collapse .lba-brand-card-ceo img {
    width: 155%;
    height: 155%;
    max-width: none;
}

nav.navbar.validnavs .navbar-collapse.collapse .lba-brand-card-laosangfanh img {
    width: 125%;
    height: 125%;
    max-width: none;
}

nav.navbar.validnavs .navbar-collapse.collapse .lba-brand-card-pingu img {
    width: 110%;
    height: 110%;
    max-width: none;
}

/* Primary LBA identity: give the wide logo a real layout box instead of
   enlarging it inside the template's small, centred logo slot. */
nav.navbar.validnavs .navbar-header,
nav.navbar.validnavs .navbar-brand {
    width: 320px;
    flex: 0 0 320px;
}

@media (min-width: 1024px) {
    nav.navbar.validnavs > .container {
        display: flex !important;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        min-height: 104px;
    }

    nav.navbar.validnavs .navbar-header {
        display: flex;
        align-items: center;
        align-self: stretch;
    }

    nav.navbar.validnavs .nav-item-box {
        display: flex !important;
        align-items: center;
        justify-content: flex-end !important;
        min-width: 0;
    }

    nav.navbar.validnavs .navbar-collapse,
    nav.navbar.validnavs ul.nav.navbar-right {
        margin-top: 0;
        margin-bottom: 0;
    }
}

nav.navbar.validnavs .nav-item-box,
nav.navbar.validnavs ul.nav.navbar-right {
    flex-wrap: nowrap;
    white-space: nowrap;
}

.navbar-brand img.lba-ceo-site-logo {
    width: 320px;
    height: 92px;
    max-width: none;
    max-height: none;
    object-fit: contain;
    object-position: left center;
}

@media (min-width: 1400px) {
    nav.navbar.validnavs .navbar-brand {
        transform: translateX(-55px);
    }
}

.lba-ceo-mobile-logo {
    width: 250px;
    height: auto;
    max-height: none;
    object-fit: contain;
}

/* Keep the full desktop menu on one row on laptops. The logo remains visually
   large, while its layout footprint is reduced and the optional search is hidden. */
@media (min-width: 1024px) and (max-width: 1399px) {
    nav.navbar.validnavs .navbar-header,
    nav.navbar.validnavs .navbar-brand {
        width: 235px;
        flex: 0 0 235px;
    }

    nav.navbar.validnavs .navbar-brand {
        transform: translateX(5px);
    }

    .navbar-brand img.lba-ceo-site-logo {
        width: 285px;
        height: 88px;
    }

    nav.navbar.validnavs ul.nav > li > a {
        padding-right: 10px;
        padding-left: 10px;
        font-size: 16px;
    }

    nav.navbar.validnavs .attr-right {
        display: none;
    }
}

@media (max-width: 1023px) {
    nav.navbar.validnavs .navbar-header {
        width: 100%;
        flex: 0 0 100%;
        min-height: 104px;
    }

    nav.navbar.validnavs a.navbar-brand {
        left: 18px;
        top: 50%;
        width: 285px;
        height: 92px;
        transform: translateY(-50%);
    }

    .navbar-brand img.lba-ceo-site-logo {
        width: 285px;
        height: 92px;
        max-height: none;
    }
}

@media (max-width: 420px) {
    nav.navbar.validnavs a.navbar-brand {
        left: 12px;
        width: 235px;
    }

    .navbar-brand img.lba-ceo-site-logo {
        width: 235px;
        height: 82px;
    }
}

.lba-ceo-footer-logo {
    width: 120px;
    height: 100px;
    object-fit: contain;
}

a.round-text.lba-curriculum-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

a.round-text.lba-curriculum-logo img {
    width: 104px;
    height: 118px;
    margin: 0;
    object-fit: contain;
    animation: none;
}

@media (max-width: 991px) {
    nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu {
        width: 100%;
        max-height: calc(100vh - 150px);
        padding: 14px 12px !important;
        border-radius: 0;
        box-shadow: none;
    }

    nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu > li.lba-brands-heading {
        gap: 10px;
        margin: 0 2px 12px;
    }

    .lba-brands-heading span { font-size: 10px; letter-spacing: 1.8px; }
    .lba-brands-heading strong { font-size: 21px; }

    nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu > li > a.lba-brand-card {
        grid-template-columns: minmax(105px, 40%) minmax(0, 1fr);
        column-gap: 10px;
        height: 64px;
        padding: 6px 12px !important;
        border-radius: 10px;
    }

    nav.navbar.validnavs .navbar-collapse.collapse .lba-brand-logo {
        width: 100%;
        height: 48px;
    }

    .lba-brand-name { font-size: 8px; letter-spacing: .7px; }
}

@media (max-width: 380px) {
    nav.navbar.validnavs ul.nav li.lba-brands-dropdown > ul.dropdown-menu.lba-brands-menu > li > a.lba-brand-card {
        grid-template-columns: minmax(105px, 44%) minmax(0, 1fr);
        padding-inline: 10px !important;
    }
}

/* About US mega menu */
nav.navbar.validnavs .megamenu-style-two ul.dropdown-menu.lba-about-menu {
    padding: 0 !important;
    max-width: 900px;
    border: none;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 60px -20px rgba(17, 29, 66, 0.28);
}

.lba-about-menu-wrap {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
}

.lba-about-menu-grid {
    display: grid;
    gap: 4px;
    padding: 22px;
    background: #fff;
}

.lba-about-menu-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 16px;
    border-radius: 12px;
    color: inherit;
    transition: background 0.2s;
}

.lba-about-menu-item:hover,
.lba-about-menu-item:focus-visible {
    background: #f7f3ed;
}

.lba-about-menu-icon {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #f3e7e9;
    color: #701b27;
    font-size: 18px;
}

.lba-about-menu-item:nth-child(2) .lba-about-menu-icon { background: #e8edf5; color: #111d42; }
.lba-about-menu-item:nth-child(3) .lba-about-menu-icon { background: #faf0ef; color: #701b27; }

.lba-about-menu-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lba-about-menu-text strong { font-family: 'BoonHome', Arial, sans-serif; font-size: 17px; color: #111d42; }
.lba-about-menu-text > span { font-size: 13px; line-height: 1.5; color: #636b7b; }
.lba-about-menu-arrow { margin-left: auto; flex-shrink: 0; color: #b3b8c4; font-size: 13px; transition: transform 0.2s, color 0.2s; }
.lba-about-menu-item:hover .lba-about-menu-arrow { color: #701b27; transform: translateX(4px); }

.lba-about-menu-promo {
    display: flex;
    flex-direction: column;
    padding: 28px 26px;
    background: radial-gradient(circle at 100% 0%, #384763, transparent 60%), #111e3b;
    color: #fff;
}

.lba-about-menu-promo-eyebrow { font: 700 10px/1.5 Arial, sans-serif; letter-spacing: 1.5px; color: #ecd3a4; margin-bottom: 14px; }
.lba-about-menu-promo h4 { font-family: 'BoonHome', Arial, sans-serif; font-size: 21px; line-height: 1.5; color: #fff; margin: 0 0 10px; }
.lba-about-menu-promo p { font-size: 13px; line-height: 1.7; color: #cbd2e1; margin: 0 0 20px; }
.lba-about-menu-cta { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding: 11px 18px; border-radius: 8px; background: #701b27; color: #fff; font-size: 14px; font-weight: 700; transition: background 0.2s; }
.lba-about-menu-cta:hover { background: #ecd3a4; color: #111d42; }

@media (max-width: 991px) {
    nav.navbar.validnavs .megamenu-style-two ul.dropdown-menu.lba-about-menu {
        max-width: none;
        box-shadow: none;
        border-radius: 0;
    }
    .lba-about-menu-wrap { grid-template-columns: 1fr; }
    .lba-about-menu-promo { padding: 22px; }
}

.about-style-six-info .top-info h2 {
    font-size: clamp(24px, 2.5vw, 40px);
    line-height: 1.2;
    white-space: nowrap;
}

.lba-skills-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.lba-skills-list li {
    position: relative;
    min-height: 76px;
    padding: 16px 16px 16px 66px;
    border: 1px solid rgba(15, 39, 79, 0.12);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.55);
}

.lba-skills-list .lba-skill-icon {
    position: absolute;
    top: 16px;
    left: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: #f3e7e9;
    color: #701b27;
    font-size: 17px;
}

.lba-skills-list li:nth-child(even) .lba-skill-icon {
    background: #e8edf5;
    color: #111d42;
}

.lba-skills-list strong,
.lba-skills-list span {
    display: block;
}

.lba-skills-list strong {
    color: #111827;
    font-size: 16px;
    line-height: 1.3;
}

.lba-skills-list span {
    margin-top: 5px;
    color: #5c6470;
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 767px) {
    .lba-skills-list {
        grid-template-columns: 1fr;
    }

}

.banner-style-seven .academy-brand {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 22px;
}

.banner-style-seven .academy-logo {
    width: 92px;
    height: 107px;
    flex: 0 0 92px;
    object-fit: contain;
}

.banner-style-seven .academy-name {
    font-size: 52px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    margin-bottom: 0;
    white-space: nowrap;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
}

.school-split-background {
    background-color: #0c1933;
    background-image:
        radial-gradient(ellipse at 83% 38%, rgba(213, 172, 112, 0.22), transparent 38%),
        radial-gradient(ellipse at 8% 90%, rgba(112, 27, 39, 0.48), transparent 52%),
        linear-gradient(90deg, rgba(9, 20, 43, 0.88) 0%, rgba(12, 25, 51, 0.62) 48%, rgba(12, 25, 51, 0.12) 100%),
        url("assets/img/home-banner-background.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    pointer-events: none;
}

.school-split-background::before {
    content: '';
    position: absolute;
    width: min(52vw, 780px);
    aspect-ratio: 1;
    right: -5%;
    top: 16%;
    border: 1px solid rgba(236, 211, 164, 0.4);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(236, 211, 164, 0.035),
        0 0 0 84px rgba(236, 211, 164, 0.025),
        inset 0 0 80px rgba(236, 211, 164, 0.05);
}

.school-split-background::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(0deg, rgba(8, 18, 38, 0.55), transparent 25%),
        radial-gradient(circle, rgba(236, 211, 164, 0.24) 1px, transparent 1.5px);
    background-size: 100% 100%, 28px 28px;
    mask-image: linear-gradient(90deg, transparent 48%, #000 100%);
}

.banner-area.zoom-effect .home-banner .school-split-background,
.banner-area.zoom-effect .home-banner.swiper-slide-active .school-split-background {
    transform: none;
    transition: none;
    animation: none;
}

@media (max-width: 991px) {
    .home-banner .school-split-background {
        background-position: center, center, center, 65% center;
    }

    .school-split-background::before {
        width: 75vw;
        right: -30%;
        top: 20%;
        opacity: 0.55;
    }
}

@media (max-width: 575px) {
    .home-banner .school-split-background {
        background-image:
            radial-gradient(ellipse at 100% 15%, rgba(213, 172, 112, 0.16), transparent 55%),
            radial-gradient(ellipse at 0% 100%, rgba(112, 27, 39, 0.5), transparent 65%),
            linear-gradient(rgba(9, 20, 43, 0.65), rgba(9, 20, 43, 0.8)),
            url("assets/img/home-banner-background.png");
    }

    .school-split-background::after { opacity: 0.45; }
}

.home-banner .fixed-thumb {
    bottom: -20px;
}

.banner-style-seven .academy-name-lao {
    color: #701B27;
    -webkit-text-stroke: 1px #ffffff;
    paint-order: stroke fill;
}

.banner-style-seven .academy-name-rest {
    color: #01004A;
    -webkit-text-stroke: 1px #ffffff;
    paint-order: stroke fill;
}

.banner-style-seven .content > h2 {
    margin-left: 60px;
}

.banner-style-seven .academy-headline,
.banner-style-seven .academy-headline > span {
    color: #ffffff !important;
}

.banner-style-seven .academy-headline {
    font-size: clamp(18px, 2.15vw, 30px);
    line-height: 1.4;
}

.banner-style-seven .academy-headline > span {
    display: block;
    white-space: nowrap;
}

.banner-style-seven .academy-headline > span:nth-child(2) {
    margin-left: -30px;
}

.banner-style-seven .academy-description {
    color: #ffffff;
    font-size: clamp(11px, 1.35vw, 18px) !important;
    line-height: 1.4;
    white-space: nowrap;
    transform: translateX(16px);
}

.lba-why { padding: 72px 0; background: #fffdfa; font-family: 'BoonHome', Arial, sans-serif; }
.lba-why-grid { display: grid; grid-template-columns: 0.95fr 1.05fr; align-items: center; gap: 48px; }
.lba-why-grid > * { min-width: 0; }
.lba-why-photo { position: relative; align-self: stretch; min-height: 470px; margin: 0; overflow: hidden; border-radius: 24px; background: #182540; }
.lba-why-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 52% center; }
.lba-why-photo::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, #101b35ed); pointer-events: none; }
.lba-why-photo-tag { position: absolute; top: 22px; left: 22px; display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 30px; background: #fffdf7; color: #182540; font: 700 10px/1.5 Arial, sans-serif; letter-spacing: 1.2px; }
.lba-why-photo-tag > span { width: 7px; height: 7px; border-radius: 50%; background: #701b27; }
.lba-why-photo figcaption { position: absolute; z-index: 1; bottom: 30px; left: 28px; right: 28px; color: white; }
.lba-why-photo figcaption > span { display: block; color: #ecd3a4; font: 700 11px/1.5 Arial, sans-serif; letter-spacing: 2px; margin-bottom: 10px; }
.lba-why-photo figcaption strong { display: block; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.5; }
.lba-why-kicker { display: block; color: #701b27; font-size: 15px; margin-bottom: 12px; }
.lba-why .lba-section-title { color: #111d42; font-family: 'BoonHome', Arial, sans-serif; font-size: clamp(30px, 3vw, 44px); font-weight: 700; line-height: 1.4; margin-bottom: 20px; }
.lba-why .lba-section-title > span { color: #701b27; }
.lba-why .lba-intro { color: #545d6e; font-size: 16px; line-height: 1.95; text-indent: 0; margin: 0; }
.lba-why-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 25px; padding-top: 22px; border-top: 1px solid #e4e1dd; }
.lba-why-students { display: flex; align-items: center; gap: 15px; }
.lba-why-students > strong { color: #111d42; font: 700 42px/1 Arial, sans-serif; letter-spacing: -2px; }
.lba-why-students strong > span { color: #701b27; font-size: 29px; vertical-align: top; }
.lba-why-students > span { color: #545d6e; font-size: 13px; line-height: 1.6; }
.lba-why-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 30px; }
.lba-why-pillar { padding: 24px 26px; border: 1px solid #e5e1dc; border-radius: 18px; background: #f7f3ed; }
.lba-why-pillar:nth-child(2) { background: #f0f3f8; border-color: #dfe5ee; }
.lba-why-pillar:nth-child(3) { background: #faf0ef; border-color: #ecdedd; }
.lba-pillar-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.lba-pillar-top > i { color: #701b27; font-size: 22px; }
.lba-pillar-top > span { color: #616979; font: 700 10px/1.5 Arial, sans-serif; letter-spacing: 1.2px; }
.lba-why-pillar h3 { font-family: 'BoonHome', Arial, sans-serif; color: #111d42; font-size: 24px; line-height: 1.4; margin: 0 0 8px; }
.lba-why-pillar p { color: #545d6e; font-size: 15px; line-height: 1.8; margin: 0; }

@media (max-width: 991px) {
    .lba-why-grid { grid-template-columns: 1fr; gap: 30px; }
    .lba-why-photo { min-height: 0; aspect-ratio: 1.3; }
    .lba-why-photo > img { object-position: center 40%; }
    .lba-why-pillars { gap: 12px; }
    .lba-why-pillar { padding: 20px; }
}

@media (max-width: 575px) {
    .lba-why { padding: 44px 0; }
    .lba-why-photo { aspect-ratio: 1; border-radius: 20px; }
    .lba-why-photo figcaption { left: 20px; right: 20px; bottom: 22px; }
    .lba-why-photo-tag { top: 16px; left: 16px; }
    .lba-why-pillars { grid-template-columns: 1fr; }
    .lba-why-pillar { padding: 22px; }
    .lba-pillar-top { margin-bottom: 12px; }
}

@media (max-width: 767px) {
    .banner-style-seven .academy-brand {
        gap: 12px;
        margin-bottom: 18px;
    }

    .banner-style-seven .academy-logo {
        width: 56px;
        height: 65px;
        flex-basis: 56px;
    }

    .banner-style-seven .academy-name {
        font-size: 22px;
        line-height: 1.25;
    }

    .banner-style-seven .content > h2 {
        margin-left: 16px;
    }

    .banner-style-seven .academy-headline {
        font-size: clamp(10px, 2.65vw, 18px);
    }

    .banner-style-seven .academy-description {
        font-size: clamp(8px, 2.35vw, 12px) !important;
    }
}

/*
** General Styles for HTML tags
*/

/* Contact: editorial heading and joined campus/contact panels. */
.lba-schedule { padding: 90px 0; background: #fff; font-family: 'BoonHome', Arial, sans-serif; }
.lba-schedule-card { display: grid; grid-template-columns: 34% 66%; overflow: hidden; border: 1px solid #ecdfe4; border-radius: 28px; background: #fff9fb; box-shadow: 0 22px 55px rgba(42, 22, 35, .08); }
.lba-schedule-intro { display: flex; flex-direction: column; justify-content: center; min-height: 500px; padding: 54px 46px; background: radial-gradient(circle at 10% 10%, rgba(112, 27, 39, .55), transparent 42%), #0d1d3b; color: #cbd3e1; }
.lba-schedule-calendar { display: inline-flex; align-items: center; justify-content: center; width: 68px; height: 68px; margin-bottom: 36px; border-radius: 20px; background: rgba(255,255,255,.1); color: #e4c38e; font-size: 30px; }
.lba-schedule-kicker { margin-bottom: 22px; color: #e4c38e; font: 700 12px/1.5 Arial, sans-serif; letter-spacing: 2.2px; }
.lba-schedule-intro h2 { margin: 0 0 16px; color: #fff; font-family: inherit; font-size: clamp(30px, 3vw, 44px); line-height: 1.25; }
.lba-schedule-intro > p { margin: 0; font-size: 17px; }
.lba-schedule-note { display: flex; align-items: center; gap: 12px; margin-top: 36px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.18); color: #cbd3e1; font-size: 15px; }
.lba-schedule-sessions { padding: 42px 46px; }
.lba-session + .lba-session { margin-top: 34px; padding-top: 34px; border-top: 1px solid #eadde2; }
.lba-session-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 25px; }
.lba-session-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 54px; width: 54px; height: 54px; border-radius: 15px; background: #f7dfe8; color: #c32f70; font-size: 21px; }
.lba-session-icon--gold { background: #fff0d8; color: #a96700; }
.lba-session-heading h3 { margin: 0 0 2px; color: #0d1d3b; font-family: inherit; font-size: 24px; line-height: 1.3; }
.lba-session-heading div > span { color: #86556a; font: 15px/1.4 Arial, sans-serif; }
.lba-session-count { margin-left: auto; color: #86556a; font: 13px/1.5 Arial, sans-serif; }
.lba-time-grid { display: grid; grid-template-columns: minmax(220px, 1fr); }
.lba-time { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 86px; border: 1px solid #e8d7de; border-radius: 15px; background: rgba(255,255,255,.78); color: #0d1d3b; font: 24px/1 Arial, sans-serif; }
.lba-time span { color: #a96b84; font-weight: 400; }
@media (max-width: 991px) {
    .lba-schedule-card { grid-template-columns: 38% 62%; }
    .lba-schedule-intro { padding: 38px 30px; }
    .lba-schedule-sessions { padding: 36px 30px; }
}
@media (max-width: 767px) {
    .lba-schedule { padding: 50px 0; }
    .lba-schedule-card { grid-template-columns: 1fr; border-radius: 22px; }
    .lba-schedule-intro { min-height: 0; padding: 34px 26px; }
    .lba-schedule-calendar { width: 58px; height: 58px; margin-bottom: 24px; border-radius: 16px; font-size: 25px; }
    .lba-schedule-kicker { margin-bottom: 13px; }
    .lba-schedule-note { margin-top: 24px; padding-top: 20px; }
    .lba-schedule-sessions { padding: 30px 24px; }
    .lba-session-heading { align-items: flex-start; }
    .lba-session-count { padding-top: 5px; }
    .lba-time { min-height: 76px; font-size: 21px; }
}

.lba-contact { background: #faf7f3; padding: 88px 0; font-family: 'BoonHome', Arial, sans-serif; }
.lba-contact-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 38px; }
.lba-contact-eyebrow { display: flex; align-items: center; gap: 12px; color: #701b27; font: 700 12px/1.5 Arial, sans-serif; letter-spacing: 2px; margin-bottom: 18px; }
.lba-contact-eyebrow::before { content: ''; width: 30px; height: 2px; background: #701b27; }
.lba-contact .lba-contact-title { margin: 0; color: #111d42; font-family: inherit; font-size: clamp(38px, 4vw, 58px); line-height: 1.35; font-weight: 700; }
.lba-contact-title span { color: #701b27; }
.lba-contact-intro { margin: 0 0 4px; color: #545d6e; font-size: 16px; line-height: 1.9; }
.lba-contact-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); border: 1px solid #e2e3e8; border-radius: 24px; overflow: hidden; box-shadow: 0 18px 48px rgb(17 29 66 / 7%); }
.lba-contact-details { padding: 34px; background: #111d42; color: #fff; }
.lba-contact-card-heading { display: flex; align-items: center; justify-content: space-between; padding-bottom: 25px; margin-bottom: 28px; border-bottom: 1px solid #35405e; color: #e1c7a1; font: 700 12px/1.5 Arial, sans-serif; letter-spacing: 2px; }
.lba-contact-card-heading i { font-size: 18px; }
.lba-contact-list { margin: 0; padding: 0; list-style: none; }
.lba-contact-list li { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 26px; }
.lba-contact-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 42px; width: 42px; height: 42px; border: 1px solid #46506c; border-radius: 50%; color: #e1c7a1; font-size: 17px; }
.lba-contact-list li > div { min-width: 0; }
.lba-contact-list h3 { margin: 0 0 8px; color: #bac2d4; font: 600 11px/1.5 Arial, sans-serif; letter-spacing: 1.5px; text-transform: uppercase; }
.lba-contact-list p, .lba-contact-list a { margin: 0; color: #fff; font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
.lba-contact-list a:hover { color: #e1c7a1; text-decoration: underline; }
.lba-contact-social { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 22px; margin-top: 30px; border-top: 1px solid #35405e; }
.lba-contact-social a { position: relative; display: flex; align-items: center; min-width: 0; min-height: 86px; padding: 16px 42px 16px 16px; border: 1px solid #e7e7e7; border-radius: 18px; background: #fff; color: #10142a; box-shadow: 0 9px 22px rgb(0 0 0 / 12%); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.lba-contact-social img { display: block; flex: 0 0 54px; width: 54px; height: 54px; margin-right: 14px; border-radius: 14px; object-fit: contain; }
.lba-social-copy { display: flex; min-width: 0; flex-direction: column; }
.lba-social-copy small { margin-bottom: 7px; color: #a18d91; font: 700 10px/1 Arial, sans-serif; letter-spacing: 1.3px; }
.lba-social-copy strong { overflow: hidden; color: #10142a; font: 700 18px/1.1 Arial, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.lba-social-arrow { position: absolute; top: 50%; right: 17px; color: #b9a9ad; font-size: 13px; transform: translateY(-50%) rotate(45deg); transition: color .2s ease, transform .2s ease; }
.lba-contact-social a:hover { border-color: #d7c9cc; background: #fff; color: #10142a; transform: translateY(-3px); box-shadow: 0 14px 28px rgb(0 0 0 / 18%); }
.lba-contact-social a:hover .lba-social-arrow { color: #701b27; transform: translate(2px, calc(-50% - 2px)) rotate(45deg); }
.footer-social img[src*="-official.svg"] { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; filter: none; }
.lba-contact-map { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 30px; background: #fff; }
.lba-map-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%; margin-bottom: 22px; }
.lba-map-heading > div > span { display: block; color: #701b27; font: 700 10px/1.5 Arial, sans-serif; letter-spacing: 1.8px; margin-bottom: 7px; }
.lba-map-heading h3 { color: #111d42; font-family: inherit; font-size: 26px; line-height: 1.5; margin: 0; }
.lba-location-tag { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #e2e3e8; border-radius: 30px; padding: 8px 12px; color: #545d6e; font: 12px/1.5 Arial, sans-serif; }
.lba-location-tag i { color: #701b27; }
.lba-contact-map iframe { display: block; width: 100%; min-height: 280px; flex: 1; border: 0; border-radius: 14px; background: #eef1f6; }
.lba-map-link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; margin-top: 20px; padding: 12px 22px; border-radius: 8px; background: #701b27; color: #fff; font-size: 16px; font-weight: 700; transition: background .2s; }
.lba-map-link:hover { background: #111d42; color: #fff; }
.lba-contact a:focus-visible { outline: 3px solid #bd965f; outline-offset: 5px; }
@media (max-width: 991px) {
    .lba-contact-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
    .lba-contact-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
    .lba-contact-details, .lba-contact-map { padding: 24px; }
    .lba-map-heading { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 767px) {
    .lba-contact { padding: 48px 0; }
    .lba-contact-grid { grid-template-columns: 1fr; border-radius: 18px; }
    .lba-contact-heading { margin-bottom: 26px; }
    .lba-contact-intro { font-size: 15px; }
    .lba-contact-details, .lba-contact-map { padding: 26px 22px; }
    .lba-contact-map iframe { flex: none; height: 300px; }
    .lba-map-link { width: 100%; }
    .lba-contact-social { grid-template-columns: 1fr; }
}

/* Classroom atmosphere gallery */
.lba-classroom-gallery {
    position: relative;
    overflow: hidden;
    padding: 92px 0 104px;
    background: #0d1d3b;
    font-family: 'BoonHome', Arial, sans-serif;
}

.lba-classroom-gallery::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 90% 10%, rgba(112, 27, 39, .42), transparent 33%),
        linear-gradient(135deg, transparent 65%, rgba(255, 255, 255, .035));
    pointer-events: none;
}

.lba-classroom-gallery .container { position: relative; }
.lba-classroom-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; margin-bottom: 42px; }
.lba-classroom-eyebrow { display: block; margin-bottom: 12px; color: #e4c38e; font: 700 12px/1.5 Arial, sans-serif; letter-spacing: 2.5px; }
.lba-classroom-heading h2 { margin: 0; color: #fff; font-family: inherit; font-size: clamp(38px, 4.2vw, 62px); line-height: 1.25; }
.lba-classroom-heading p { max-width: 390px; margin: 0 0 5px; padding-left: 22px; border-left: 2px solid #701b27; color: #cbd3e1; font-size: 16px; line-height: 1.8; }
.lba-classroom-grid { display: grid; grid-template-columns: 1.25fr .9fr 1.1fr; grid-template-rows: repeat(2, 240px); gap: 22px; }
.lba-classroom-photo { position: relative; min-height: 0; margin: 0; overflow: hidden; border: 8px solid #fff; border-radius: 16px; background: #fff; box-shadow: 0 18px 42px rgba(0, 0, 0, .2); transition: transform .25s ease, box-shadow .25s ease; }
.lba-classroom-photo:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
.lba-classroom-photo:nth-child(2) { grid-column: 2; grid-row: 1; }
.lba-classroom-photo:nth-child(3) { grid-column: 3; grid-row: 1; }
.lba-classroom-photo:nth-child(4) { grid-column: 2; grid-row: 2; }
.lba-classroom-photo:nth-child(5) { grid-column: 3; grid-row: 2; }
.lba-classroom-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.lba-classroom-photo::after { content: ''; position: absolute; inset: 0; border: 1px solid #edf0f5; border-radius: 9px; }
.lba-classroom-photo:hover { transform: translateY(-5px); box-shadow: 0 24px 54px rgba(0, 0, 0, .28); }
.lba-classroom-photo:hover img { transform: scale(1.035); }

@media (max-width: 991px) {
    .lba-classroom-gallery { padding: 70px 0 78px; }
    .lba-classroom-heading { align-items: flex-start; flex-direction: column; gap: 18px; }
    .lba-classroom-grid { grid-template-columns: 1.15fr .85fr; grid-template-rows: repeat(4, 190px); }
    .lba-classroom-photo:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
    .lba-classroom-photo:nth-child(2) { grid-column: 2; grid-row: 1; }
    .lba-classroom-photo:nth-child(3) { grid-column: 2; grid-row: 2; }
    .lba-classroom-photo:nth-child(4) { grid-column: 1 / 3; grid-row: 3; }
    .lba-classroom-photo:nth-child(5) { grid-column: 1 / 3; grid-row: 4; }
}

@media (max-width: 575px) {
    .lba-classroom-gallery { padding: 52px 0 58px; }
    .lba-classroom-heading { margin-bottom: 28px; }
    .lba-classroom-heading h2 { font-size: 34px; }
    .lba-classroom-heading p { padding-left: 15px; font-size: 14px; }
    .lba-classroom-grid { display: flex; flex-direction: column; gap: 16px; }
    .lba-classroom-photo { border-width: 6px; border-radius: 13px; }
    .lba-classroom-photo:nth-child(odd) { aspect-ratio: 4 / 3; }
    .lba-classroom-photo:nth-child(even) { aspect-ratio: 16 / 10; }
}
