/* ============================================================
   VOICE OF VISIONS ACADEMY — GLOBAL STYLESHEET
   File: vova-global.css  |  Version: 4.0 — Deduplicated & Complete

   Covers ALL pages:
     index.html · basic-english.html · advanced-english.html
     interview-prep.html · soft-skills.html
     public-speaking.html · ielts-prep.html
     privacy-policy.html · terms-and-conditions.html · disclaimer.html

   Include in every HTML page <head>:
     <link rel="stylesheet" href="vova-global.css">

   A Unit of Mr. & Mrs. Happiness Initiatives
   www.voiceofvisionsacademy.in  |  © 2026 All Rights Reserved
============================================================ */


/* ══════════════════════════════════════════════════════════════
   PART 1 — BASE STYLES
   Design tokens · Reset · Typography · Buttons · Layout ·
   Scroll animations · Shloka header · Sticky nav · WhatsApp ·
   Footer · Global responsive rules
══════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════
   DESIGN TOKENS — MASTER THEME
══════════════════════════════════════════════ */
:root {
    --bg-main:              #080f24;
    --bg-card:              rgba(255,255,255,0.06);
    --bg-card-hover:        rgba(255,255,255,0.10);
    --text-main:            #e8f0ff;
    --text-muted:           #1a237e;
    --academy-blue:         #1a237e;
    --academy-blue-hover:   #4169e1;
    --academy-blue-glow:    rgba(65, 105, 225, 0.4);
    --deep-ink:             #050c1a;
    --navy:                 #080f24;
    --saffron:              #FF9933;
    --india-green:          #138808;
    --gold:                 #e6a817;
    --font-headings:        'Outfit', sans-serif;
    --font-body:            'Inter', sans-serif;
    --spacing-section:      72px;
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

/* ── BASE ── */
body {
    background-color: #080f24;
    color: #e8f0ff;
    font-family: var(--font-body);
    line-height: 1.6;
    overflow-x: hidden;
    font-size: 18px;
}
h1, h2, h3, h4 {
    font-family: var(--font-headings);
    line-height: 1.2;
    color: #e8f0ff;
}
a { text-decoration: none; color: inherit; transition: color 0.3s ease; }

/* ── BUTTONS ── */
.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 36px;
    background-color: var(--academy-blue);
    color: #fff;
    font-family: var(--font-headings);
    font-weight: 700;
    font-size: 1rem;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 20px var(--academy-blue-glow);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    animation: btn-pulse 2s ease-in-out infinite;
}
@keyframes btn-pulse {
    0%, 100% { box-shadow: 0 4px 20px var(--academy-blue-glow), 0 0 0 0 rgba(141,236,16,0.65); }
    50%       { box-shadow: 0 4px 20px var(--academy-blue-glow), 0 0 0 12px rgba(141,236,16,0); }
}
.btn-primary:hover {
    background-color: var(--academy-blue-hover);
    color: #fff;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 30px rgba(141,236,16,0.55);
    animation: none;
}
.btn-secondary-white {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 36px;
    background-color: var(--academy-blue);
    color: #fff;
    font-family: var(--font-headings);
    font-weight: 700;
    font-size: 1rem;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 20px var(--academy-blue-glow);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    position: relative;
    animation: btn-secondary-pulse 2s ease-in-out infinite;
}
@keyframes btn-secondary-pulse {
    0%, 100% { box-shadow: 0 4px 20px var(--academy-blue-glow), 0 0 0 0 rgba(141,236,16,0.65); }
    50%       { box-shadow: 0 4px 20px var(--academy-blue-glow), 0 0 0 12px rgba(141,236,16,0); }
}
.btn-secondary-white:hover {
    background-color: var(--academy-blue-hover);
    transform: translateY(-3px) scale(1.02);
    animation: none;
    box-shadow: 0 8px 30px rgba(141,236,16,0.55);
}

/* ── LAYOUT ── */
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
section { padding: var(--spacing-section) 0; position: relative; }

/* ── SCROLL ANIMATIONS ── */
.fade-in-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.25, 0.8, 0.25, 1),
                transform 0.8s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.fade-in-up.in-view { opacity: 1; transform: translateY(0); }
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }

/* ══════════════════════════════════════════════
   BLOCK 1 — SHLOKA HEADER
══════════════════════════════════════════════ */
.spiritual-anchor {
    padding: 48px 24px;
    text-align: center;
    background: linear-gradient(135deg, #0a1628 0%, #1a237e 35%, #1a4d2e 65%, #2d7a42 100%);
    box-shadow: 0 4px 24px rgba(0,0,0,0.5);
}
.spiritual-sanskrit {
    font-size: 1.45rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 28px;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.2);
    line-height: 1.55;
}
.spiritual-roman {
    font-size: 0.92rem;
    color: #e8f0ff;
    font-weight: 500;
    letter-spacing: 0.5px;
    line-height: 1.55;
    margin-bottom: 28px;
}
.spiritual-english {
    font-style: italic;
    color: #e8f0ff;
    font-size: 1.05rem;
    line-height: 1.75;
    margin-bottom: 8px;
    font-weight: 400;
}
.anchor-brand {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,0.25);
}
.anchor-unit {
    font-family: var(--font-headings);
    font-size: 0.82rem;
    font-weight: 500;
    color: #e8f0ff;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.anchor-brand-name {
    font-family: var(--font-headings);
    font-size: clamp(2.4rem, 5.5vw, 4rem);
    font-weight: 800;
    background: linear-gradient(180deg, #fff5c0 0%, #FFE066 15%, #F0C040 35%, #E6A817 55%, #B8790A 75%, #F0C040 90%, #FFE066 100%);
    background-size: 100% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: brand-glow-pulse 3.5s ease-in-out infinite;
    letter-spacing: -1px;
    filter:
        drop-shadow(0 0 10px rgba(255,255,255,0.3))
        drop-shadow(0 3px 8px rgba(0,0,0,0.55));
    margin-bottom: 12px;
}
@keyframes brand-glow-pulse {
    0%, 100% { filter: drop-shadow(0 0 8px rgba(255,255,255,0.25)) drop-shadow(0 3px 8px rgba(0,0,0,0.55)); }
    50%       { filter: drop-shadow(0 0 14px rgba(255,255,255,0.40)) drop-shadow(0 3px 8px rgba(0,0,0,0.55)); }
}
.anchor-motto {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-headings);
    font-weight: 800;
    font-size: clamp(0.85rem, 2vw, 1.15rem);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #D4A017;
    -webkit-text-fill-color: #D4A017;
    background: none;
    padding: 12px 32px;
    border-top: 1px solid rgba(212,160,23,0.5);
    border-bottom: 1px solid rgba(212,160,23,0.5);
    min-height: 48px;
}

.anchor-typewriter-cursor {
    display: inline-block;
    width: 2px; height: 1em;
    background: #D4A017;
    vertical-align: middle;
    margin-left: 4px;
    animation: blink-caret 0.75s step-end infinite;
}
@keyframes blink-caret { from,to{opacity:1} 50%{opacity:0} }

/* ── BLOCK 2 — STICKY NAV BAR ── */
.page-nav {
    background: #0d1640;
    border-bottom: 2px solid rgba(65,105,225,0.3);
    padding: 14px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    position: sticky;
    top: 0;
    z-index: 200;
    box-shadow: 0 2px 16px rgba(0,0,0,0.4);
}
.page-nav .page-title {
    font-family: var(--font-headings);
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    font-weight: 800;
    color: #a8d0ff;
}
.back-link {
    font-family: var(--font-headings);
    font-size: 0.9rem;
    font-weight: 600;
    color: #a8d0ff;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 18px;
    border: 2px solid rgba(65,105,225,0.4);
    border-radius: 50px;
    background: rgba(65,105,225,0.12);
    transition: all 0.3s ease;
    white-space: nowrap;
    animation: back-link-border 3s ease-in-out infinite;
}
@keyframes back-link-border {
    0%,100% { border-color: rgba(65,105,225,0.4);  box-shadow: 0 0 0px rgba(65,105,225,0); }
    33%      { border-color: rgba(120,150,255,0.85); box-shadow: 0 0 10px rgba(100,130,255,0.45); }
    66%      { border-color: rgba(230,168,23,0.75);  box-shadow: 0 0 10px rgba(230,168,23,0.35); }
}
.back-link:hover {
    background: #1a237e;
    color: #e8f0ff;
    border-color: #7fa8ff;
    animation: none;
}

/* ── SECTION EYEBROW ── */
.section-eyebrow {
    display: inline-block;
    font-family: var(--font-headings);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #a8d0ff;
    background: rgba(65,105,225,0.15);
    padding: 6px 20px;
    border-radius: 50px;
    margin-bottom: 20px;
}

/* ── WHATSAPP FLOAT ── */
.whatsapp-float {
    position: fixed;
    bottom: 28px; right: 28px;
    z-index: 999;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #25D366;
    color: #fff;
    font-family: var(--font-headings);
    font-weight: 700;
    font-size: 0.88rem;
    padding: 12px 20px 12px 14px;
    border-radius: 50px;
    box-shadow: 0 6px 24px rgba(37,211,102,0.45);
    transition: all 0.3s ease;
    text-decoration: none;
}
.whatsapp-float:hover {
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 12px 32px rgba(37,211,102,0.55);
}
.whatsapp-float svg { width: 22px; height: 22px; fill: #fff; flex-shrink: 0; }

/* ══════════════════════════════════════════════
   FOOTER — shared across all pages
══════════════════════════════════════════════ */
.footer {
    padding: 70px 24px 40px;
    text-align: center;
    background: var(--deep-ink);
    color: #fff;
    border-top: 3px solid #1a237e;
    margin-bottom: 0;
}
.footer-logo {
    font-family: var(--font-headings);
    font-size: 2rem;
    font-weight: 800;
    background: linear-gradient(180deg, #fff5c0 0%, #FFE066 15%, #F0C040 35%, #E6A817 55%, #B8790A 75%, #F0C040 90%, #FFE066 100%);
    background-size: 100% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 6px;
    display: inline-block;
    letter-spacing: -1px;
    padding: 8px 24px;
    border: 2px solid rgba(230,168,23,0.6);
    border-radius: 8px;
    animation: brand-glow-pulse 3.5s ease-in-out infinite;
}
.footer-unit {
    font-size: 0.8rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #B8790A 0%, #F0C040 40%, #FFE066 60%, #B8790A 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 14px;
}
.footer-motto {
    font-family: var(--font-headings);
    font-weight: 800;
    font-size: clamp(0.78rem, 1.6vw, 0.95rem);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #D4A017 0%, #FFE066 25%, #fff5c0 50%, #FFE066 75%, #D4A017 100%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 8px;
}
.footer-tagline {
    color: #a8d0ff;
    font-style: italic;
    margin-bottom: 36px;
    font-size: 0.97rem;
}
.footer-info {
    display: flex;
    justify-content: center;
    gap: 32px;
    flex-wrap: wrap;
    color: #e8f0ff;
    font-size: 0.95rem;
    margin-bottom: 28px;
}
.footer-info a { color: var(--academy-blue-hover); transition: color 0.3s; }
.footer-info a:hover { color: #fff; }
.footer-links {
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}
.footer-links a { color: #e8f0ff; font-size: 0.88rem; transition: color 0.3s; }
.footer-links a:hover { color: #a8d0ff; }
.footer-copy { color: #e8f0ff; font-size: 0.82rem; }

/* ══════════════════════════════════════════════
   GLOBAL RESPONSIVE RULES
══════════════════════════════════════════════ */
/* ══════════════════════════════════════════════
   TABLET — max 1024px
══════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .container { padding: 0 20px; }
}

/* ══════════════════════════════════════════════
   MOBILE — max 768px
══════════════════════════════════════════════ */
@media (max-width: 768px) {
    :root { --spacing-section: 56px; }

    /* Typography */
    body { font-size: 16px; }

    /* Shloka header */
    .spiritual-anchor { padding: 32px 16px; }
    .spiritual-sanskrit { font-size: 1.1rem; line-height: 1.7; }
    .spiritual-roman { font-size: 0.82rem; line-height: 1.7; }
    .spiritual-english { font-size: 0.88rem; line-height: 1.8; }
    .anchor-brand-name { font-size: clamp(1.8rem, 6vw, 2.8rem); letter-spacing: -0.5px; }
    .anchor-motto { font-size: 0.72rem; letter-spacing: 1.5px; padding: 10px 16px; text-align: center; }

    /* Nav bar */
    .page-nav { padding: 12px 16px; gap: 8px; }
    .page-nav .page-title { font-size: 0.95rem; order: 1; }
    .page-nav:has(button.back-link) a.back-link,
    .page-nav:has(button.back-link) button.back-link { order: 3; }
    .page-nav:has(button.back-link)::after { content: ''; order: 2; flex-basis: 100%; }
    .back-link { font-size: 0.78rem; padding: 6px 14px; }

    /* Hero */
    .hero { padding-bottom: 64px; }
    .hero-content-glass { padding: 36px 20px 14px; border-radius: 20px; margin: 0 12px; }
    .hero h1 { font-size: clamp(1.6rem, 5vw, 2.4rem); letter-spacing: -0.5px; }
    .hero-sub { font-size: 0.95rem; margin-bottom: 28px; }
    .hero-actions { flex-direction: column; align-items: center; gap: 12px; }
    .hero-actions a,
    .hero-actions button { width: 100%; max-width: 320px; justify-content: center; }
    .hero-badges { gap: 8px; }
    .hero-badge { font-size: 0.75rem; padding: 6px 14px; }

    /* Buttons */
    .btn-primary,
    .btn-secondary-white { padding: 14px 28px; font-size: 0.9rem; }

    /* Sections */
    section { padding: var(--spacing-section) 0; }
    .container { padding: 0 20px; }

    /* Footer */
    .footer { padding: 52px 16px 32px; }
    .footer-logo { font-size: 1.4rem; padding: 6px 16px; }
    .footer-motto { font-size: 0.72rem; letter-spacing: 1px; text-align: center; }
    .footer-tagline { font-size: 0.85rem; }
    .footer-info { flex-direction: column; gap: 10px; align-items: center; font-size: 0.88rem; }
    .footer-links { gap: 16px; flex-wrap: wrap; justify-content: center; }
    .footer-copy { font-size: 0.75rem; }

    /* WhatsApp float */
    .whatsapp-float { bottom: 16px; right: 16px; padding: 10px 16px; font-size: 0.8rem; }
    .whatsapp-float svg { width: 18px; height: 18px; }

    /* Brand logo */
    .brand-logo { width: 110px; height: 110px; }
    .footer-brand-logo { width: 80px; height: 80px; }

    /* Eyebrow */
    .section-eyebrow { font-size: 0.72rem; letter-spacing: 2px; padding: 5px 14px; }
}

/* ══════════════════════════════════════════════
   SMALL MOBILE — max 480px
══════════════════════════════════════════════ */
@media (max-width: 480px) {
    :root { --spacing-section: 44px; }

    body { font-size: 15px; }

    /* Shloka */
    .spiritual-anchor { padding: 24px 12px; }
    .spiritual-sanskrit { font-size: 1rem; }
    .anchor-brand-name { font-size: clamp(1.5rem, 7vw, 2.2rem); }
    .anchor-motto { font-size: 0.68rem; padding: 8px 12px; }

    /* Hero */
    .hero-content-glass { padding: 28px 16px 12px; margin: 0 8px; }
    .hero h1 { font-size: clamp(1.4rem, 6vw, 2rem); }
    .hero-sub { font-size: 0.88rem; }

    /* Buttons */
    .btn-primary,
    .btn-secondary-white { padding: 13px 22px; font-size: 0.85rem; }

    /* Footer */
    .footer-logo { font-size: 1.1rem; }
    .footer-motto { font-size: 0.68rem; }
    .whatsapp-float { padding: 8px 12px; font-size: 0.75rem; }
}


/* ══════════════════════════════════════════════════════════════
   PART 2 — HOME PAGE (index.html)
══════════════════════════════════════════════════════════════ */

@keyframes float-logo-main {
            0%, 100% { transform: translateY(0px); }
            50%       { transform: translateY(-10px); }
        }
@keyframes float-logo-footer {
            0%, 100% { transform: translateY(0px); }
            50%       { transform: translateY(-10px); }
        }
.brand-logo {
            width: 150px;
            height: 150px;
            object-fit: cover;
            border-radius: 50%;
            margin: 0 auto 20px;
            display: block;
            background-color: #fff;
            border: 4px solid #FF9933;
            box-shadow:
        0 0 0 2px #FFE066,
        0 0 0 4px #FF9933,
        0 0 0 6px #138808,
        0 0 20px 8px rgba(255,153,51,0.55),
        0 0 38px 12px rgba(19,136,8,0.30),
        0 8px 20px rgba(255,153,51,0.28);
            image-rendering: -webkit-optimize-contrast;
            animation: float-logo-main 2.2s ease-in-out infinite;
            transition: transform 0.3s ease;
        }
.brand-logo:hover {
            transform: scale(1.07) translateY(-12px);
            animation-play-state: paused;
            box-shadow:
                0 0 0 2px #7ba7ff,
                0 0 0 4px #4169e1,
                0 0 0 6px #1a237e,
                0 0 38px 16px rgba(65,105,225,0.85),
                0 0 65px 24px rgba(65,105,225,0.45),
                0 22px 40px rgba(123,167,255,0.5);
        }
.footer-brand-logo {
            width: 110px;
            height: 110px;
            object-fit: cover;
            border-radius: 50%;
            margin: 0 auto 18px;
            display: block;
            background-color: #fff;
            border: 4px solid #FF9933;
            box-shadow:
        0 0 0 2px #FFE066,
        0 0 0 4px #FF9933,
        0 0 0 6px #138808,
        0 0 22px 8px rgba(255,153,51,0.55),
        0 0 40px 14px rgba(19,136,8,0.30),
        0 8px 22px rgba(255,153,51,0.35);
            image-rendering: -webkit-optimize-contrast;
            animation: float-logo-footer 2.2s ease-in-out infinite;
            transition: transform 0.3s ease;
        }
.footer-brand-logo:hover {
            transform: scale(1.07) translateY(-8px);
            animation-play-state: paused;
            box-shadow:
                0 0 0 2px #7ba7ff,
                0 0 0 4px #4169e1,
                0 0 0 6px #1a237e,
                0 0 42px 16px rgba(65,105,225,0.85),
                0 0 70px 26px rgba(123,167,255,0.55),
                0 22px 44px rgba(65,105,225,0.7);
        }
.hero {
            min-height: 92vh;
            display: flex;
            align-items: center;
            text-align: center;
            background: linear-gradient(160deg, #0a2818 0%, #0d3a22 20%, #0e2e40 45%, #102060 70%, #0f1a50 100%);
            position: relative;
            overflow: hidden;
        }
.hero::before {
            content: '';
            position: absolute; top: -30%; left: -20%;
            width: 80vw; height: 80vw;
            background: radial-gradient(circle, rgba(40,180,100,0.18) 0%, rgba(30,120,80,0.08) 50%, transparent 70%);
            pointer-events: none;
        }
.hero::after {
            content: '';
            position: absolute; bottom: -20%; right: -10%;
            width: 60vw; height: 60vw;
            background: radial-gradient(circle, rgba(65,105,225,0.18) 0%, rgba(40,80,200,0.08) 50%, transparent 70%);
            pointer-events: none;
        }
.hero-particles { position: fixed; inset: 0; pointer-events: none; z-index: 5; }
.particle {
            position: absolute; border-radius: 50%;
            background: rgba(65,105,225,0.55);
            box-shadow: 0 0 8px 2px rgba(65,105,225,0.35);
            animation: float-particle linear infinite;
            animation-fill-mode: backwards;
        }
@keyframes float-particle {
            0% { transform: translateY(100vh) scale(0); opacity: 0; }
            10% { opacity: 1; }
            90% { opacity: 0.5; }
            100% { transform: translateY(-20vh) scale(1); opacity: 0; }
        }
.hero-content-glass {
            background: rgba(255,255,255,0.03);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 32px;
            padding: 72px 64px;
            max-width: 960px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }
.hero h1 {
            font-size: clamp(1.8rem, 3.5vw, 2.8rem);
            font-weight: 800;
            color: #fff;
            margin-bottom: 20px;
            letter-spacing: -0.5px;
        }
.hero-sub {
            max-width: 760px;
            margin: 0 auto 42px;
            font-size: clamp(1rem, 2vw, 1.2rem);
            color: #e8f0ff;
            line-height: 1.8;
        }
.hero-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.scroll-hint {
            position: absolute; bottom: 10px; left: 50%;
            transform: translateX(-50%);
            display: flex; flex-direction: column; align-items: center; gap: 6px;
            color: #e8f0ff;
            font-size: 0.75rem; letter-spacing: 2px; text-transform: uppercase;
            animation: bob 2s ease-in-out infinite;
        }
.scroll-hint::after { content: '↓'; font-size: 1.2rem; }
@keyframes bob { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }
.challenge-section { background: linear-gradient(180deg, #080f24 0%, #0d1640 100%); }
.challenge-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.challenge-section h2 {
            font-size: clamp(2rem, 3.5vw, 2.8rem);
            font-weight: 800; margin-bottom: 36px; letter-spacing: -0.5px; color: #e8f0ff;
        }
.challenge-body {
            background: rgba(255,255,255,0.05);
            border: 1px solid rgba(65,105,225,0.2);
            border-radius: 32px 8px 32px 8px;
            padding: 48px 56px;
        }
.challenge-body p {
            font-size: 1.1rem; color: #e8f0ff;
            font-weight: 400; line-height: 1.95; margin-bottom: 22px; text-align: justify;
        }
.challenge-body p:last-child { margin-bottom: 0; }
.challenge-body strong { font-weight: 700; color: #a8d0ff; }
.why-section {
            background: #050c1a;
            padding: var(--spacing-section) 0;
        }
.why-section .section-eyebrow { background: rgba(96,165,250,0.15); color: #7fa8ff; }
.why-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.why-section h2 { font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 800; color: #e8f0ff; margin-bottom: 36px; }
.why-body {
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(65,105,225,0.2);
            border-radius: 32px 8px 32px 8px;
            padding: 52px 60px;
        }
.why-body p {
            font-size: 1.1rem; color: #e8f0ff;
            font-weight: 400; line-height: 1.95; margin-bottom: 22px; text-align: justify;
        }
.why-body p:last-child { margin-bottom: 0; }
.why-body strong { font-weight: 700; color: #a8d0ff; }
.foundation-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.foundation-section h2 {
            text-align: center; font-size: clamp(2rem, 3.5vw, 2.8rem);
            font-weight: 800; margin-bottom: 52px; color: #e8f0ff;
        }
.foundation-grid {
            display: grid; grid-template-columns: 1fr 1fr;
            gap: 28px; max-width: 1000px; margin: 0 auto 28px;
        }
.foundation-card {
            background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%);
            border-radius: 24px; padding: 44px 40px;
            border: 1px solid rgba(123,167,255,0.35);
            position: relative; overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s;
        }
.foundation-card::before {
            content: '';
            position: absolute; top: 0; left: 0; right: 0;
            height: 3px;
            background: linear-gradient(90deg, #4169e1, #7ba7ff, #4169e1);
        }
.foundation-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 52px rgba(65,105,225,0.3);
            border-color: #e8f0ff;
        }
.foundation-card h3 {
            font-size: 1.4rem; font-weight: 800;
            color: #ffffff; margin-bottom: 18px;
            letter-spacing: -0.3px;
        }
.foundation-card p {
            font-size: 1rem; color: #e8f0ff;
            font-weight: 400; line-height: 1.9; text-align: justify;
        }
.foundation-card p strong {
            color: #a8d0ff;
            font-weight: 700;
            background: rgba(65,105,225,0.25);
            padding: 1px 6px;
            border-radius: 4px;
            -webkit-text-fill-color: #a8d0ff;
        }
.values-card { max-width: 1000px; margin: 0 auto; }
.values-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 16px;
            margin-top: 28px;
        }
.value-card {
            background: rgba(8,15,36,0.7);
            border: 1px solid rgba(123,167,255,0.22);
            border-radius: 20px;
            padding: 24px 20px 22px;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 0;
            position: relative;
            overflow: hidden;
            transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s;
        }
.value-card::before {
            content: '';
            position: absolute; top: 0; left: 0; right: 0;
            height: 3px;
        }
.value-card:nth-child(1)::before { background: linear-gradient(90deg, #f59e0b, #fbbf24); }
.value-card:nth-child(2)::before { background: linear-gradient(90deg, #10b981, #34d399); }
.value-card:nth-child(3)::before { background: linear-gradient(90deg, #3b82f6, #60a5fa); }
.value-card:nth-child(4)::before { background: linear-gradient(90deg, #8b5cf6, #a78bfa); }
.value-card:nth-child(5)::before { background: linear-gradient(90deg, #ef4444, #f87171); }
.value-card:nth-child(6)::before { background: linear-gradient(90deg, #f59e0b, #fbbf24); }
.value-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 36px rgba(0,0,0,0.4);
            border-color: rgba(123,167,255,0.5);
        }
.value-icon {
            font-size: 2rem;
            margin-bottom: 14px;
            display: block;
        }
.value-text strong {
            display: block;
            font-family: var(--font-headings);
            font-size: 0.95rem;
            font-weight: 800;
            color: #ffffff;
            margin-bottom: 8px;
            letter-spacing: 0.3px;
        }
.value-text span {
            font-size: 0.83rem;
            color: #e8f0ff;
            font-weight: 400;
            line-height: 1.6;
        }
@media(max-width:900px){ .values-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:480px){ .values-grid { grid-template-columns: 1fr; } }
.philosophy-section { background: #050c1a; padding: var(--spacing-section) 0; }
.philosophy-section .section-eyebrow { background: rgba(96,165,250,0.12); color: #7fa8ff; }
.philosophy-header { text-align: center; margin-bottom: 60px; }
.philosophy-header h2 { font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 800; color: #e8f0ff; margin-bottom: 10px; }
.philosophy-subtitle { font-family: var(--font-headings); font-size: 1rem; font-weight: 500; color: #e8f0ff; letter-spacing: 2px; text-transform: uppercase; display: block; }
.philosophy-principles { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; max-width: 1100px; margin: 0 auto; }
.philosophy-principle {
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(65,105,225,0.2);
            border-radius: 24px; padding: 36px 36px 36px 28px;
            display: flex; align-items: flex-start; gap: 24px;
            transition: transform 0.3s ease, border-color 0.3s ease;
            position: relative; overflow: hidden;
            flex: 0 1 calc((100% - 24px) / 2);
        }
.philosophy-principle::before {
            content: ''; position: absolute; top: 0; left: 0;
            width: 4px; height: 100%;
            background: linear-gradient(180deg, var(--academy-blue-hover), #1e40af);
            border-radius: 4px 0 0 4px;
        }
.philosophy-principle:hover { transform: translateY(-4px); border-color: rgba(96,165,250,0.4); }
.principle-number {
            flex-shrink: 0; width: 48px; height: 48px;
            background: linear-gradient(135deg, #4169e1, #1a237e);
            border-radius: 14px; display: flex; align-items: center; justify-content: center;
            font-family: var(--font-headings); font-size: 1.15rem; font-weight: 800;
            color: #fff; box-shadow: 0 4px 16px rgba(96,165,250,0.25); margin-top: 2px;
        }
.principle-body { flex: 1; }
.principle-title { font-family: var(--font-headings); font-size: 1.05rem; font-weight: 700; color: #7fa8ff; margin-bottom: 10px; line-height: 1.4; }
.principle-title span { font-weight: 400; color: #a8d0ff; font-size: 0.9rem; }
.principle-text { font-size: 0.96rem; color: #e8f0ff; font-weight: 400; line-height: 1.85; text-align: justify; }
.principle-text strong { color: #a8d0ff; }
.promise-section { background: linear-gradient(135deg, #0d1640 0%, #080f24 100%); }
.promise-inner {
            max-width: 900px; margin: 0 auto;
            display: flex; align-items: flex-start; gap: 52px;
            background: rgba(255,255,255,0.05); border-radius: 32px; padding: 52px 56px;
            border: 1px solid rgba(65,105,225,0.22);
        }
.promise-avatar {
            flex-shrink: 0; width: 120px; height: 120px;
            background: linear-gradient(135deg, var(--academy-blue), var(--academy-blue-hover));
            border-radius: 50%; display: flex; align-items: center; justify-content: center;
            font-size: 3rem; box-shadow: 0 8px 32px rgba(30,64,175,0.25);
        }
.promise-content { flex: 1; }
.promise-content h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; color: #a8d0ff; margin-bottom: 20px; }
.promise-content p { font-size: 1rem; color: #e8f0ff; font-weight: 400; line-height: 1.9; margin-bottom: 16px; text-align: justify; }
.promise-content p:last-of-type { margin-bottom: 24px; }
.promise-content strong { color: #a8d0ff; font-weight: 700; }
.promise-signature { font-family: var(--font-headings); font-weight: 800; font-size: 1.1rem; color: #a8d0ff; }
.promise-title { font-size: 0.82rem; color: #e8f0ff; letter-spacing: 1px; text-transform: uppercase; }
.courses-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); padding: var(--spacing-section) 0; }
.courses-section .section-eyebrow { background: rgba(65,105,225,0.15); color: #a8d0ff; }
.courses-header { text-align: center; margin-bottom: 56px; }
.courses-header h2 { font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 800; color: #e8f0ff; }
.courses-grid {
            display: grid; grid-template-columns: repeat(3, 1fr);
            gap: 24px; max-width: 1100px; margin: 0 auto;
        }
@media (max-width: 900px) { .courses-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { .courses-grid { grid-template-columns: 1fr !important; gap: 16px !important; } }
.course-card {
            background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%);
            border: 1px solid rgba(123,167,255,0.35);
            border-radius: 24px; overflow: hidden;
            display: flex; flex-direction: column;
            position: relative;
            transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s;
        }
.course-card::before {
            content: '';
            position: absolute; top: 0; left: 0; right: 0;
            height: 3px;
            background: linear-gradient(90deg, #4169e1, #7ba7ff, #4169e1);
        }
.course-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 52px rgba(65,105,225,0.3);
            border-color: rgba(168,210,255,0.6);
        }
.course-card-top { padding: 32px 30px 20px; border-bottom: 1px solid rgba(123,167,255,0.18); }
.course-icon { font-size: 2.8rem; display: block; margin-bottom: 14px; }
.course-num {
            font-family: var(--font-headings); font-size: 0.72rem; font-weight: 700;
            letter-spacing: 3px; text-transform: uppercase; color: #e8f0ff; margin-bottom: 8px;
        }
.course-card h3 { font-size: 1.15rem; font-weight: 800; color: #ffffff; line-height: 1.3; }
.course-card-body { padding: 20px 30px; flex: 1; }
.course-card-body p { font-size: 0.95rem; color: #e8f0ff; font-weight: 400; line-height: 1.8; text-align: justify; }
.course-card-body strong { color: #a8d0ff; font-weight: 700; }
.course-card-footer { padding: 20px 30px 30px; }
.course-card-footer .btn-primary { width: 100%; justify-content: center; font-size: 0.88rem; padding: 13px 20px; }
.journey-section { background: linear-gradient(180deg, #080f24 0%, #0a1232 100%); text-align: center; }
.journey-section h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; margin-bottom: 56px; color: #e8f0ff; }
.journey-steps {
            display: grid; grid-template-columns: repeat(4,1fr);
            gap: 0; max-width: 1100px; margin: 0 auto; position: relative;
        }
.journey-steps::before {
            content: ''; position: absolute; top: 52px; left: 12.5%; right: 12.5%;
            height: 2px; background: linear-gradient(90deg, var(--academy-blue-hover), rgba(96,165,250,0.3)); z-index: 0;
        }
.journey-step { text-align: center; padding: 20px 20px 0; position: relative; z-index: 1; }
.step-number {
            width: 110px; height: 110px;
            background: linear-gradient(135deg, #0d1b5e 0%, #1a237e 100%);
            border-radius: 50%; display: flex; align-items: center; justify-content: center;
            font-family: var(--font-headings); font-size: 2.6rem; font-weight: 800;
            color: #FFE066; margin: 0 auto 20px;
            text-shadow: 0 0 16px rgba(255,224,102,0.8), 0 2px 4px rgba(0,0,0,0.5);
            box-shadow:
                0 0 0 3px rgba(255,224,102,0.35),
                0 0 0 6px rgba(65,105,225,0.2),
                0 8px 32px rgba(65,105,225,0.5);
            border: 3px solid rgba(255,224,102,0.25);
        }
.step-label { font-family: var(--font-headings); font-size: 1.05rem; font-weight: 800; color: #a8d0ff; margin-bottom: 10px; }
.step-desc { font-size: 0.93rem; color: #e8f0ff; line-height: 1.7; }
.cta-section {
            background: linear-gradient(135deg, #2d52c4 0%, #0d1b5e 100%);
            border-radius: 32px;
            max-width: 1200px; width: calc(100% - 64px); margin: 0 auto 80px;
            padding: 68px 40px; text-align: center;
            box-shadow: 0 20px 60px rgba(30,64,175,0.3);
        }
.cta-section h2 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; color: #ffffff; text-shadow: 0 2px 24px rgba(255,255,255,0.2); margin-bottom: 20px; letter-spacing: -0.5px; }
.cta-section p { font-size: 1.1rem; color: #e8f0ff; margin-bottom: 40px; max-width: 600px; margin-left: auto; margin-right: auto; line-height: 1.8; }
.cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.cta-section .btn-primary { background: #0a0f1e; color: #7fa8ff; }
.cta-section .btn-primary:hover { background: #fff; color: #0a0f1e; }
.cta-section .btn-secondary-white { border-color: rgba(96,165,250,0.45); color: #7fa8ff; }
.cta-section .btn-secondary-white:hover { background: rgba(254,250,224,0.1); border-color: #7fa8ff; }
.hubs-mini-grid { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important; }
.hubs-mini-grid > div { flex: 0 1 calc((100% - 16px) / 3); }
@media(max-width:768px){
        .tbh-card { padding:32px 20px !important; border-radius:20px !important; }
        .hubs-mini-grid { gap:6px !important; }
        .hubs-mini-grid > div { flex-basis: calc((100% - 6px) / 2); }
        .tbh-card a[style*="min-width:200px"] { min-width:unset !important; width:100% !important; justify-content:center !important; }
    }


/* ══════════════════════════════════════════════════════════════
   PART 3 — BASIC COMMUNICATIVE ENGLISH — Course 01
══════════════════════════════════════════════════════════════ */

.hero-page-label { font-family: var(--font-headings); font-size: 0.82rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; background: linear-gradient(90deg, #FFE066 0%, #F0C040 50%, #D4A017 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; background-color: rgba(230,168,23,0.10); padding: 6px 20px; border-radius: 50px; display: inline-block; margin-bottom: 24px; border: 1px solid rgba(230,168,23,0.30); }
.hero h1 em { color: var(--academy-blue-hover); font-style: normal; }
.hero-badges { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 36px; }
.hero-badge { background: rgba(65,105,225,0.15); border: 1px solid rgba(65,105,225,0.30); border-radius: 50px; padding: 7px 18px; font-family: var(--font-headings); font-size: 0.82rem; font-weight: 600; color: #a8d0ff; letter-spacing: 0.5px; }
.section-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.section-inner h2 { font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 800; margin-bottom: 36px; letter-spacing: -0.5px; color: #e8f0ff; }
.text-card { padding: 52px 60px; text-align: left; }
.text-card p { font-size: 1.1rem; font-weight: 400; color: #e8f0ff; line-height: 1.95; margin-bottom: 22px; text-align: justify; }
.text-card p:last-child { margin-bottom: 0; }
.text-card strong { font-weight: 700; color: #a8d0ff; }
.natural-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.natural-section .section-eyebrow { background: rgba(65,105,225,0.15); color: #a8d0ff; }
.natural-section .text-card { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); border: 1px solid rgba(123,167,255,0.35); border-radius: 8px 48px 8px 48px; color: #e8f0ff; position: relative; overflow: hidden; }
.natural-section .text-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #4169e1, #7ba7ff, #4169e1); }
.expert-section { background: var(--deep-ink); }
.expert-section .section-eyebrow { background: rgba(65,105,225,0.18); color: var(--academy-blue-hover); }
.expert-section .section-inner h2 { color: #fff; }
.expert-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(65,105,225,0.22); border-radius: 32px 8px 32px 8px; padding: 52px 60px; text-align: left; max-width: 900px; margin: 0 auto; }
.expert-card p { font-size: 1.1rem; color: #e8f0ff; font-weight: 400; line-height: 1.95; margin-bottom: 22px; text-align: justify; }
.expert-card p:last-child { margin-bottom: 0; }
.expert-card strong { font-weight: 700; color: #a8d0ff; }
.expert-stats { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-top: 36px; }
.stat-item { text-align: center; padding: 24px 16px; background: rgba(65,105,225,0.10); border: 1px solid rgba(65,105,225,0.20); border-radius: 20px; flex: 0 1 calc((100% - 40px) / 3); }
@media (max-width: 900px) { .stat-item { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 600px) { .expert-stats { gap: 12px; } .stat-item { flex-basis: 100%; } }
.stat-number { font-family: var(--font-headings); font-size: 2.4rem; font-weight: 800; color: #a8d0ff; display: block; line-height: 1; margin-bottom: 8px; }
.stat-label { font-size: 0.88rem; color: #e8f0ff; font-weight: 400; }
.method-section { background: linear-gradient(145deg, #0c1538 0%, #14215c 35%, #080f24 100%); }
.method-section .section-eyebrow { background: rgba(65,105,225,0.15); color: #a8d0ff; }
.method-section .section-inner h2 { margin-bottom: 12px; }
.method-intro { font-size: 1.1rem; color: #e8f0ff; font-weight: 400; max-width: 700px; margin: 0 auto 48px; text-align: center; font-style: italic; }
.method-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; max-width: 1100px; margin: 0 auto; }
.method-card { border-radius: 24px; overflow: hidden; flex: 0 1 calc((100% - 48px) / 3); }
@media (max-width: 900px) { .method-card { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 600px) { .method-grid { gap: 16px; } .method-card { flex-basis: 100%; } }
.method-card-header { padding: 28px 28px 20px; }
.method-card-body { padding: 0 28px 28px; }
.method-card.routine { background: rgba(255,255,255,0.04); border: 1px solid rgba(65,105,225,0.22); }
.method-card.routine .method-card-header { background: linear-gradient(135deg, #1a237e, #283fa3); }
.method-card.routine .method-icon { font-size: 2.2rem; display: block; margin-bottom: 10px; }
.method-card.routine .method-title { font-family: var(--font-headings); font-size: 1.1rem; font-weight: 800; color: #fff; }
.method-card.routine .method-subtitle { font-size: 0.82rem; color: #e8f0ff; font-weight: 400; margin-top: 4px; }
.tense-item { padding: 14px 0; border-bottom: 1px solid rgba(65,105,225,0.2); }
.tense-item:last-child { border-bottom: none; }
.tense-name { font-family: var(--font-headings); font-weight: 700; font-size: 0.88rem; color: #a8d0ff; margin-bottom: 4px; text-transform: uppercase; letter-spacing: 1px; }
.tense-method { font-size: 0.92rem; color: #e8f0ff; font-weight: 400; line-height: 1.6; }
.method-card.visual { background: var(--deep-ink); border: 1px solid rgba(65,105,225,0.22); }
.method-card.visual .method-card-header { background: rgba(65,105,225,0.15); }
.method-card.visual .method-icon { font-size: 2.2rem; display: block; margin-bottom: 10px; }
.method-card.visual .method-title { font-family: var(--font-headings); font-size: 1.1rem; font-weight: 800; color: var(--academy-blue-hover); }
.method-card.visual .method-subtitle { font-size: 0.82rem; color: rgba(232,240,255,0.80); margin-top: 4px; }
.visual-item { padding: 14px 0; border-bottom: 1px solid rgba(141,236,16,0.1); }
.visual-item:last-child { border-bottom: none; }
.visual-name { font-family: var(--font-headings); font-weight: 700; font-size: 0.88rem; color: var(--academy-blue-hover); margin-bottom: 4px; text-transform: uppercase; letter-spacing: 1px; }
.visual-desc { font-size: 0.92rem; color: #e8f0ff; font-weight: 300; line-height: 1.6; }
.method-card.sound { background: rgba(255,255,255,0.04); border: 1px solid rgba(65,105,225,0.22); }
.method-card.sound .method-card-header { background: linear-gradient(135deg, #1a237e, #283fa3); }
.method-card.sound .method-icon { font-size: 2.2rem; display: block; margin-bottom: 10px; }
.method-card.sound .method-title { font-family: var(--font-headings); font-size: 1.1rem; font-weight: 800; color: #fff; }
.method-card.sound .method-subtitle { font-size: 0.82rem; color: #e8f0ff; margin-top: 4px; }
.sound-item { padding: 14px 0; border-bottom: 1px solid rgba(66,114,4,0.15); }
.sound-item:last-child { border-bottom: none; }
.sound-name { font-family: var(--font-headings); font-weight: 700; font-size: 0.88rem; color: #a8d0ff; margin-bottom: 4px; text-transform: uppercase; letter-spacing: 1px; }
.sound-desc { font-size: 0.92rem; color: #e8f0ff; font-weight: 300; line-height: 1.6; }
.comfort-section { background: var(--deep-ink); }
.comfort-section .section-eyebrow { background: rgba(65,105,225,0.18); color: var(--academy-blue-hover); }
.comfort-section .section-inner h2 { color: #fff; }
.comfort-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; max-width: 1000px; margin: 0 auto; }
.comfort-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(65,105,225,0.20); border-radius: 24px; padding: 36px 28px; text-align: center; transition: transform 0.3s ease, border-color 0.3s ease; flex: 0 1 calc((100% - 48px) / 3); }
@media (max-width: 900px) { .comfort-card { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 600px) { .comfort-grid { gap: 16px; } .comfort-card { flex-basis: 100%; } }
.comfort-card:hover { transform: translateY(-6px); border-color: rgba(141,236,16,0.45); }
.comfort-icon { font-size: 2.8rem; display: block; margin-bottom: 16px; }
.comfort-card h3 { font-size: 1.1rem; font-weight: 800; color: var(--academy-blue-hover); margin-bottom: 12px; }
.comfort-card p { font-size: 0.95rem; color: #e8f0ff; font-weight: 300; line-height: 1.8; text-align: justify; }
.admission-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.admission-section .section-eyebrow { background: rgba(65,105,225,0.15); color: #a8d0ff; }
.admission-section .section-inner h2 { margin-bottom: 48px; }
.admission-steps { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; max-width: 960px; margin: 0 auto; }
.admission-step { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); border: 1px solid rgba(123,167,255,0.35); border-radius: 24px; padding: 36px 28px; text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease; flex: 0 1 calc((100% - 48px) / 3); }
@media (max-width: 900px) { .admission-step { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 600px) { .admission-steps { gap: 16px; } .admission-step { flex-basis: 100%; } }
.admission-step:hover { transform: translateY(-6px); box-shadow: 0 14px 36px rgba(66,114,4,0.15); }
.admission-step h3 { font-size: 1.05rem; font-weight: 800; color: #a8d0ff; margin-bottom: 12px; }
.admission-step p { font-size: 0.93rem; color: #e8f0ff; font-weight: 300; line-height: 1.8; text-align: justify; }
.cta-section::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at center, rgba(255,255,255,0.08) 0%, transparent 70%); pointer-events: none; }


/* ══════════════════════════════════════════════════════════════
   PART 4 — ADVANCED ENGLISH COMMUNICATION — Course 02
══════════════════════════════════════════════════════════════ */

.bio-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.bio-section .section-eyebrow { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); color: #a8d0ff; }
.bio-card { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); border-radius: 8px 48px 8px 48px; padding: 52px 60px; text-align: left; max-width: 900px; margin: 0 auto; }
.bio-card p { font-size: 1.1rem; color: #e8f0ff; font-weight: 300; line-height: 1.95; margin-bottom: 22px; text-align: justify; }
.bio-card p:last-child { margin-bottom: 0; }
.bio-card strong { font-weight: 700; color: #a8d0ff; }
.brain-chips { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 28px; }
.brain-chip { background: rgba(65,105,225,0.18); border: 1.5px solid rgba(123,167,255,0.45); border-radius: 50px; padding: 8px 18px; font-family: var(--font-headings); font-weight: 700; font-size: 0.85rem; color: #ffffff; }
.method-card.light { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); }
.method-card.light .mc-header { background: var(--academy-blue); padding: 28px 32px 22px; }
.method-card.light .mc-icon { font-size: 2.2rem; display: block; margin-bottom: 10px; }
.method-card.light .mc-title { font-family: var(--font-headings); font-weight: 800; font-size: 1.15rem; color: #fff; }
.method-card.light .mc-body { padding: 28px 32px; flex: 1; }
.method-card.light .mc-body p { font-size: 0.97rem; color: #e8f0ff; font-weight: 300; line-height: 1.85; text-align: justify; }
.method-card.light .mc-body strong { font-weight: 700; color: #a8d0ff; }
.method-card.dark { background: #050c1a; border: 1px solid rgba(65,105,225,0.20); }
.method-card.dark .mc-header { background: rgba(141,236,16,0.1); border-bottom: 1px solid rgba(65,105,225,0.18); padding: 28px 32px 22px; }
.method-card.dark .mc-icon { font-size: 2.2rem; display: block; margin-bottom: 10px; }
.method-card.dark .mc-title { font-family: var(--font-headings); font-weight: 800; font-size: 1.15rem; color: #a8d0ff; }
.method-card.dark .mc-body { padding: 28px 32px; flex: 1; }
.method-card.dark .mc-body p { font-size: 0.97rem; color: rgba(255,255,255,0.68); font-weight: 300; line-height: 1.85; text-align: justify; }
.method-card.dark .mc-body strong { font-weight: 700; color: #a8d0ff; }
.method-card.full-width { flex-basis: 100%; flex-direction: row; }
.method-card.full-width .mc-header { width: 320px; flex-shrink: 0; display: flex; flex-direction: column; justify-content: center; }
.method-card.full-width .mc-body { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
@media (max-width: 600px) { .method-card.full-width .mc-body { grid-template-columns: 1fr !important; } }
.phonetic-item { padding: 24px 28px; border-left: 1px solid rgba(65,105,225,0.15); }
.phonetic-name { font-family: var(--font-headings); font-weight: 700; font-size: 0.88rem; color: #a8d0ff; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.phonetic-desc { font-size: 0.95rem; color: #e8f0ff; font-weight: 300; line-height: 1.75; text-align: justify; }
.lab-section { background: #050c1a; }
.lab-section .section-eyebrow { background: rgba(65,105,225,0.18); color: #a8d0ff; }
.lab-section .section-inner h2 { color: #fff; margin-bottom: 12px; }
.lab-intro { font-size: 1.05rem; color: rgba(255,255,255,0.55); font-style: italic; max-width: 680px; margin: 0 auto 48px; text-align: center; }
.lab-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; max-width: 1000px; margin: 0 auto; }
@media (max-width: 600px) { .lab-grid { grid-template-columns: 1fr !important; gap: 16px !important; } }
.lab-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(65,105,225,0.20); border-radius: 22px; padding: 32px 28px; transition: transform 0.3s ease, border-color 0.3s ease; }
.lab-card:hover { transform: translateY(-6px); border-color: rgba(141,236,16,0.45); box-shadow: 0 14px 40px rgba(65,105,225,0.10); }
.lab-icon { font-size: 2.4rem; display: block; margin-bottom: 14px; }
.lab-card h3 { font-size: 1.1rem; font-weight: 800; color: #a8d0ff; margin-bottom: 10px; }
.lab-card p { font-size: 0.95rem; color: #e8f0ff; font-weight: 300; line-height: 1.8; text-align: justify; }


/* ══════════════════════════════════════════════════════════════
   PART 5 — INTERVIEW PREPARATION — Course 03
══════════════════════════════════════════════════════════════ */

.reality-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.reality-section .section-eyebrow { background: rgba(65,105,225,0.15); color: #a8d0ff; }
.reality-card { background: rgba(65,105,225,0.15); border-radius: 8px 48px 8px 48px; padding: 52px 60px; max-width: 900px; margin: 0 auto; text-align: left; }
.reality-card p { font-size: 1.1rem; color: #e8f0ff; font-weight: 300; line-height: 1.95; margin-bottom: 22px; text-align: justify; }
.reality-card p:last-child { margin-bottom: 0; }
.reality-card strong { font-weight: 700; color: #a8d0ff; }
.duo-badge { display: inline-flex; align-items: center; gap: 10px; background: rgba(141,236,16,0.1); border: 1px solid rgba(141,236,16,0.22); border-radius: 16px; padding: 16px 24px; margin-top: 28px; }
.duo-badge-text { font-family: var(--font-headings); font-size: 0.9rem; color: #e8f0ff; font-weight: 400; line-height: 1.5; }
.duo-badge-text strong { color: #a8d0ff; font-weight: 700; }
.quotient-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.quotient-section .section-eyebrow { background: rgba(65,105,225,0.15); color: #a8d0ff; }
.quotient-intro { font-size: 1.05rem; color: #e8f0ff; font-weight: 300; max-width: 680px; margin: -16px auto 48px; font-style: italic; text-align: center; }
.quotient-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; max-width: 1050px; margin: 0 auto; }
.quotient-card { border-radius: 28px; overflow: hidden; display: flex; flex-direction: column; flex: 0 1 calc((100% - 48px) / 3); }
@media (max-width: 900px) { .quotient-card { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 600px) { .quotient-grid { gap: 16px; } .quotient-card { flex-basis: 100%; } }
.qc-header { padding: 32px 28px 22px; }
.qc-letter { font-family: var(--font-headings); font-size: 3.8rem; font-weight: 800; line-height: 1; margin-bottom: 8px; }
.qc-name { font-family: var(--font-headings); font-weight: 800; font-size: 1rem; }
.qc-full { font-size: 0.82rem; font-weight: 400; opacity: 0.75; margin-top: 2px; }
.qc-body { padding: 24px 28px 32px; flex: 1; }
.qc-body p { font-size: 0.97rem; font-weight: 300; line-height: 1.85; text-align: justify; }
.quotient-card.eq .qc-header { background: linear-gradient(135deg,#1a237e,#2d52c4); }
.quotient-card.eq .qc-letter { color: rgba(255,255,255,0.25); }
.quotient-card.eq .qc-name, .quotient-card.eq .qc-full { color: #fff; }
.quotient-card.eq .qc-body { background: rgba(65,105,225,0.15); }
.quotient-card.eq .qc-body p { color: #e8f0ff; }
.quotient-card.sq .qc-header { background: linear-gradient(135deg,rgba(65,105,225,0.18),rgba(26,35,126,0.28)); border: 1px solid rgba(123,167,255,0.35); border-bottom: none; }
.quotient-card.sq .qc-letter { color: rgba(123,167,255,0.55); }
.quotient-card.sq .qc-name { color: #ffffff; font-weight: 800; }
.quotient-card.sq .qc-full { color: #e8f0ff; }
.quotient-card.sq .qc-body { background: rgba(26,35,126,0.20); border: 1px solid rgba(123,167,255,0.30); border-top: none; }
.quotient-card.sq .qc-body p { color: #e8f0ff; }
.quotient-card.aq .qc-header { background: linear-gradient(135deg,#1a237e,#2d52c4); }
.quotient-card.aq .qc-letter { color: rgba(255,255,255,0.25); }
.quotient-card.aq .qc-name, .quotient-card.aq .qc-full { color: #fff; }
.quotient-card.aq .qc-body { background: rgba(65,105,225,0.15); }
.quotient-card.aq .qc-body p { color: #e8f0ff; }
.curriculum-section { background: #050c1a; }
.curriculum-section .section-eyebrow { background: rgba(65,105,225,0.18); color: #a8d0ff; }
.curriculum-section .section-inner h2 { color: #fff; }
.curriculum-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; max-width: 1100px; margin: 0 auto; }
.curriculum-item { background: linear-gradient(145deg,rgba(65,105,225,0.15),rgba(26,35,126,0.25)); border: 1px solid rgba(123,167,255,0.30); border-radius: 22px; padding: 30px 28px; display: flex; gap: 18px; align-items: flex-start; transition: transform 0.3s ease, border-color 0.3s ease; flex: 0 1 calc((100% - 40px) / 3); }
@media (max-width: 900px) { .curriculum-item { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 600px) { .curriculum-grid { gap: 16px; } .curriculum-item { flex-basis: 100%; } }
.curriculum-item:hover { transform: translateY(-5px); border-color: rgba(65,105,225,0.40); }
.ci-icon { font-size: 2.2rem; flex-shrink: 0; }
.ci-content h3 { font-size: 1rem; font-weight: 800; color: #a8d0ff; margin-bottom: 8px; }
.ci-content p { font-size: 0.93rem; color: #e8f0ff; font-weight: 400; line-height: 1.75; text-align: justify; }
.journey-section .section-eyebrow { background: rgba(65,105,225,0.15); color: #a8d0ff; }
.journey-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; max-width: 1000px; margin: 0 auto; }
.journey-card { background: rgba(65,105,225,0.15); border-radius: 24px; padding: 36px 28px; text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease; flex: 0 1 calc((100% - 48px) / 3); }
@media (max-width: 900px) { .journey-card { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 600px) { .journey-grid { gap: 16px; } .journey-card { flex-basis: 100%; } }
.journey-card:hover { transform: translateY(-6px); box-shadow: 0 14px 36px rgba(66,114,4,0.15); }
.journey-icon { font-size: 2.8rem; display: block; margin-bottom: 16px; }
.journey-card h3 { font-size: 1.1rem; font-weight: 800; color: #a8d0ff; margin-bottom: 10px; }
.journey-card p { font-size: 0.95rem; color: #e8f0ff; font-weight: 300; line-height: 1.8; text-align: justify; }


/* ══════════════════════════════════════════════════════════════
   PART 6 — SOFT SKILLS — Course 04
══════════════════════════════════════════════════════════════ */

.hero-motto-strip { display: inline-block; margin: 0 auto 36px; }
.hero-motto-text { font-family: var(--font-headings); font-weight: 800; font-size: clamp(0.9rem,1.8vw,1.1rem); letter-spacing: 3px; text-transform: uppercase; background: linear-gradient(180deg,#FFE066 0%,#E6A817 45%,#B8790A 80%,#F0C040 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 1px 4px rgba(0,0,0,0.45)); padding: 10px 28px; border: 1px solid rgba(230,168,23,0.4); border-radius: 50px; display: inline-block; }
.integrated-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.integrated-section .section-eyebrow { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); color: #a8d0ff; }
.integrated-card { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); border-radius: 8px 48px 8px 48px; padding: 52px 60px; max-width: 900px; margin: 0 auto; text-align: left; }
.integrated-card p { font-size: 1.1rem; color: #e8f0ff; font-weight: 300; line-height: 1.95; margin-bottom: 22px; text-align: justify; }
.integrated-card p:last-child { margin-bottom: 0; }
.integrated-card strong { font-weight: 700; color: #a8d0ff; }
.quotient-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 28px; }
@media (max-width: 600px) { .quotient-pair { grid-template-columns: 1fr !important; gap: 12px !important; } }
.qp-item { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); border: 1.5px solid rgba(123,167,255,0.40); border-radius: 20px; padding: 20px 22px; position: relative; overflow: hidden; }
.qp-letter { font-family: var(--font-headings); font-size: 2.4rem; font-weight: 800; color: #FFE066; line-height: 1; text-shadow: 0 0 14px rgba(255,224,102,0.5); }
.qp-name { font-family: var(--font-headings); font-weight: 800; font-size: 0.95rem; color: #ffffff; margin-top: 6px; }
.qp-desc { font-size: 0.88rem; color: #e8f0ff; font-weight: 400; margin-top: 4px; line-height: 1.6; }
.pillars-section { background: #050c1a; }
.pillars-section .section-eyebrow { background: rgba(65,105,225,0.18); color: #a8d0ff; }
.pillars-section .section-inner h2 { color: #fff; }
.pillars-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; max-width: 1100px; margin: 0 auto; }
@media (max-width: 900px) { .pillars-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 600px) { .pillars-grid { grid-template-columns: 1fr !important; gap: 16px !important; } }
.pillar-card { background: rgba(65,105,225,0.18); border: 1px solid rgba(65,105,225,0.18); border-radius: 24px; padding: 32px 26px; transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; position: relative; overflow: hidden; }
.pillar-card::before { content: attr(data-num); position: absolute; top: -10px; right: 14px; font-family: var(--font-headings); font-size: 5rem; font-weight: 800; color: rgba(255,224,102,0.45); line-height: 1; pointer-events: none; }
.pillar-card:hover { transform: translateY(-7px); border-color: rgba(65,105,225,0.40); box-shadow: 0 16px 44px rgba(141,236,16,0.07); }
.pillar-icon { font-size: 2.4rem; display: block; margin-bottom: 14px; }
.pillar-card h3 { font-size: 1.05rem; font-weight: 800; color: #a8d0ff; margin-bottom: 10px; }
.pillar-card p { font-size: 0.93rem; color: #e8f0ff; font-weight: 300; line-height: 1.8; text-align: justify; }
.science-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.science-section .section-eyebrow { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); color: #a8d0ff; }
.science-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; max-width: 1050px; margin: 0 auto; }
@media (max-width: 768px) { .science-layout { grid-template-columns: 1fr !important; gap: 24px !important; } }
.science-text { text-align: left; }
.science-text h2 { font-size: clamp(2rem,3vw,2.6rem); font-weight: 800; margin-bottom: 24px; letter-spacing: -0.5px; }
.science-text p { font-size: 1.05rem; color: #e8f0ff; font-weight: 300; line-height: 1.95; margin-bottom: 20px; text-align: justify; }
.science-text p:last-child { margin-bottom: 0; }
.science-text strong { font-weight: 700; color: #a8d0ff; }
.science-visual { background: linear-gradient(135deg, #050c1a 0%, #0d1640 100%); border-radius: 32px; padding: 48px 36px; text-align: center; border: 1px solid rgba(65,105,225,0.22); }
.sv-label { font-family: var(--font-headings); font-size: 0.78rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: rgba(65,105,225,0.60); margin-bottom: 20px; }
.sv-switch { display: flex; flex-direction: column; gap: 14px; }
.sv-row { display: flex; align-items: center; gap: 14px; background: rgba(255,255,255,0.04); border: 1px solid rgba(65,105,225,0.15); border-radius: 16px; padding: 16px 20px; }
.sv-arrow { font-size: 1.4rem; flex-shrink: 0; }
.sv-from { font-size: 0.9rem; color: rgba(255,255,255,0.4); font-family: var(--font-headings); font-weight: 700; flex: 1; text-align: left; }
.sv-to { font-size: 0.9rem; color: #a8d0ff; font-family: var(--font-headings); font-weight: 700; flex: 1; text-align: right; }
.founder-section { background: #050c1a; }
.founder-section .section-eyebrow { background: rgba(65,105,225,0.18); color: #a8d0ff; }
.founder-section .section-inner h2 { color: #fff; }
.founder-quote-card { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); border-radius: 8px 48px 8px 48px; padding: 56px 64px; max-width: 900px; margin: 0 auto; position: relative; }
.fq-open { font-family: var(--font-headings); font-size: 8rem; font-weight: 800; color: rgba(66,114,4,0.18); line-height: 0.6; display: block; margin-bottom: 8px; }
.fq-text { font-size: 1.15rem; color: #e8f0ff; font-weight: 300; line-height: 2; font-style: italic; text-align: justify; margin-bottom: 28px; }
.fq-text strong { font-weight: 700; color: #a8d0ff; font-style: normal; }
.fq-attribution { display: flex; align-items: center; gap: 16px; }
.fq-line { flex: 1; height: 2px; background: linear-gradient(90deg, var(--academy-blue), transparent); }
.fq-name { font-family: var(--font-headings); font-weight: 800; font-size: 1rem; color: #a8d0ff; }
.cta-section::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 50%, rgba(255,153,51,0.06) 0%, transparent 60%); pointer-events: none; }
.cta-inner { position: relative; z-index: 1; max-width: 780px; margin: 0 auto; }
.cta-eyebrow { font-family: var(--font-headings); font-size: 0.82rem; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: #a8d0ff; background: rgba(65,105,225,0.15); padding: 6px 20px; border-radius: 50px; display: inline-block; margin-bottom: 20px; border: 1px solid rgba(65,105,225,0.28); }
.cta-section h2 em { color: #a8d0ff; font-style: normal; }
.cta-trust { display: flex; justify-content: center; gap: 22px; margin-top: 36px; flex-wrap: wrap; }
.trust-item { display: flex; align-items: center; gap: 8px; font-family: var(--font-headings); font-size: 0.82rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.45); }
.trust-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--academy-blue-hover); opacity: 0.5; }


/* ══════════════════════════════════════════════════════════════
   PART 7 — PUBLIC SPEAKING — Course 05
══════════════════════════════════════════════════════════════ */

.gap-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.gap-section .section-eyebrow { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); color: #a8d0ff; }
.gap-card { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); border-radius: 8px 48px 8px 48px; padding: 52px 60px; max-width: 900px; margin: 0 auto; text-align: left; }
.gap-card p { font-size: 1.1rem; color: #e8f0ff; font-weight: 300; line-height: 1.95; margin-bottom: 22px; text-align: justify; }
.gap-card p:last-child { margin-bottom: 0; }
.gap-card strong { font-weight: 700; color: #a8d0ff; }
.perspective-section { background: #050c1a; }
.perspective-section .section-eyebrow { background: rgba(65,105,225,0.18); color: #a8d0ff; }
.perspective-section .section-inner h2 { color: #fff; }
.perspective-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(65,105,225,0.22); border-radius: 32px 8px 32px 8px; padding: 52px 60px; max-width: 900px; margin: 0 auto; text-align: left; }
.perspective-card p { font-size: 1.1rem; color: #e8f0ff; font-weight: 300; line-height: 1.95; text-align: justify; }
.perspective-card strong { font-weight: 700; color: #a8d0ff; }
.neuro-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.neuro-section .section-eyebrow { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); color: #a8d0ff; }
.neuro-intro { font-size: 1.05rem; color: #e8f0ff; font-weight: 300; max-width: 680px; margin: -16px auto 48px; font-style: italic; text-align: center; }
.neuro-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; max-width: 1100px; margin: 0 auto; }
.neuro-card { border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; flex: 0 1 calc((100% - 48px) / 3); }
@media (max-width: 900px) { .neuro-card { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 600px) { .neuro-grid { gap: 16px; } .neuro-card { flex-basis: 100%; } }
.neuro-card.light { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); }
.neuro-card.light .nc-top { background: linear-gradient(135deg,#1a237e,#2d52c4); padding: 28px 28px 22px; }
.neuro-card.light .nc-top .nc-icon { font-size: 2.4rem; display: block; margin-bottom: 12px; }
.neuro-card.light .nc-top h3 { font-family: var(--font-headings); font-size: 1.1rem; font-weight: 800; color: #fff; margin-bottom: 4px; }
.neuro-card.light .nc-top .nc-science { font-size: 0.78rem; color: #e8f0ff; font-weight: 400; letter-spacing: 1px; text-transform: uppercase; }
.neuro-card.light .nc-body { padding: 26px 28px 32px; flex: 1; }
.neuro-card.light .nc-body p { font-size: 0.97rem; color: #e8f0ff; font-weight: 300; line-height: 1.85; text-align: justify; }
.neuro-card.dark { background: #050c1a; border: 1px solid rgba(65,105,225,0.20); }
.neuro-card.dark .nc-top { background: rgba(141,236,16,0.1); border-bottom: 1px solid rgba(65,105,225,0.18); padding: 28px 28px 22px; }
.neuro-card.dark .nc-top .nc-icon { font-size: 2.4rem; display: block; margin-bottom: 12px; }
.neuro-card.dark .nc-top h3 { font-family: var(--font-headings); font-size: 1.1rem; font-weight: 800; color: #a8d0ff; margin-bottom: 4px; }
.neuro-card.dark .nc-top .nc-science { font-size: 0.78rem; color: rgba(255,255,255,0.45); font-weight: 400; letter-spacing: 1px; text-transform: uppercase; }
.neuro-card.dark .nc-body { padding: 26px 28px 32px; flex: 1; }
.neuro-card.dark .nc-body p { font-size: 0.97rem; color: #e8f0ff; font-weight: 300; line-height: 1.85; text-align: justify; }
.curriculum-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; max-width: 1100px; margin: 0 auto; }
.cl-item { background: rgba(255,255,255,0.05); border: 1px solid rgba(65,105,225,0.18); border-radius: 22px; padding: 30px 28px; display: flex; gap: 18px; align-items: flex-start; transition: transform 0.3s ease, border-color 0.3s ease; flex: 0 1 calc((100% - 40px) / 3); }
@media (max-width: 900px) { .cl-item { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 600px) { .curriculum-list { gap: 16px; } .cl-item { flex-basis: 100%; } }
.cl-item:hover { transform: translateY(-5px); border-color: rgba(65,105,225,0.40); }
.cl-icon { font-size: 2.2rem; flex-shrink: 0; }
.cl-content h3 { font-size: 1rem; font-weight: 800; color: #a8d0ff; margin-bottom: 8px; }
.cl-content p { font-size: 0.93rem; color: #e8f0ff; font-weight: 300; line-height: 1.75; text-align: justify; }
.cl-item.full { flex-basis: 100%; }
.cl-item.full .cl-content { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 32px; }
@media (max-width: 600px) { .cl-item.full .cl-content { grid-template-columns: 1fr !important; gap: 12px !important; } }
.cl-item.full .cl-content h3 { grid-column: 1 / -1; }
.cl-item.full .cl-content p { margin: 0; }


/* ══════════════════════════════════════════════════════════════
   PART 8 — IELTS PREPARATION — Course 06
══════════════════════════════════════════════════════════════ */

.bio-chips { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.bio-chip { background: rgba(65,105,225,0.18); border: 1.5px solid var(--academy-blue); border-radius: 50px; padding: 8px 18px; font-family: var(--font-headings); font-weight: 700; font-size: 0.85rem; color: #a8d0ff; }
.exp-stat-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 32px; }
.exp-stat { background: rgba(65,105,225,0.10); border: 1px solid rgba(65,105,225,0.20); border-radius: 18px; padding: 20px 16px; text-align: center; flex: 0 1 calc((100% - 32px) / 3); }
@media (max-width: 900px) { .exp-stat { flex-basis: calc((100% - 16px) / 2); } }
@media (max-width: 600px) { .exp-stat-row { gap: 12px; } .exp-stat { flex-basis: 100%; } }
.exp-stat-num { font-family: var(--font-headings); font-size: 2rem; font-weight: 800; color: #a8d0ff; display: block; line-height: 1; margin-bottom: 6px; }
.exp-stat-label { font-size: 0.82rem; color: rgba(232,240,255,0.82); font-weight: 300; }
.brain-section { background: linear-gradient(160deg, #060c1e 0%, #0d1640 60%, #080f24 100%); }
.brain-section .section-eyebrow { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); color: #a8d0ff; }
.brain-intro { font-size: 1.05rem; color: #e8f0ff; font-weight: 300; max-width: 700px; margin: -16px auto 48px; font-style: italic; text-align: center; }
.brain-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 960px; margin: 0 auto; }
@media (max-width: 600px) { .brain-cards { grid-template-columns: 1fr !important; gap: 16px !important; } }
.brain-card { border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; }
.brain-card.light { background: linear-gradient(145deg, rgba(65,105,225,0.18) 0%, rgba(26,35,126,0.28) 100%); }
.brain-card.light .bc-header { background: linear-gradient(135deg,#1a237e,#2d52c4); padding: 28px 32px 22px; }
.brain-card.light .bc-icon { font-size: 2.4rem; display: block; margin-bottom: 10px; }
.brain-card.light .bc-title { font-family: var(--font-headings); font-size: 1.1rem; font-weight: 800; color: #fff; }
.brain-card.light .bc-sub { font-size: 0.78rem; color: #e8f0ff; letter-spacing: 1px; text-transform: uppercase; margin-top: 3px; }
.brain-card.light .bc-body { padding: 28px 32px 32px; flex: 1; }
.brain-card.light .bc-body p { font-size: 0.97rem; color: #e8f0ff; font-weight: 300; line-height: 1.85; text-align: justify; }
.brain-card.light .bc-body strong { font-weight: 700; color: #a8d0ff; }
.brain-card.dark { background: #050c1a; border: 1px solid rgba(65,105,225,0.20); }
.brain-card.dark .bc-header { background: rgba(141,236,16,0.1); border-bottom: 1px solid rgba(65,105,225,0.18); padding: 28px 32px 22px; }
.brain-card.dark .bc-icon { font-size: 2.4rem; display: block; margin-bottom: 10px; }
.brain-card.dark .bc-title { font-family: var(--font-headings); font-size: 1.1rem; font-weight: 800; color: #a8d0ff; }
.brain-card.dark .bc-sub { font-size: 0.78rem; color: rgba(255,255,255,0.45); letter-spacing: 1px; text-transform: uppercase; margin-top: 3px; }
.brain-card.dark .bc-body { padding: 28px 32px 32px; flex: 1; }
.brain-card.dark .bc-body p { font-size: 0.97rem; color: #e8f0ff; font-weight: 300; line-height: 1.85; text-align: justify; }
.brain-card.dark .bc-body strong { font-weight: 700; color: #a8d0ff; }
.lrws-section { background: #050c1a; }
.lrws-section .section-eyebrow { background: rgba(65,105,225,0.18); color: #a8d0ff; }
.lrws-section .section-inner h2 { color: #fff; }
.lrws-phases { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 1050px; margin: 0 auto; }
@media (max-width: 600px) { .lrws-phases { grid-template-columns: 1fr !important; gap: 16px !important; } }
.phase-block { border-radius: 28px; overflow: hidden; }
.phase-header { padding: 24px 32px; display: flex; align-items: center; gap: 16px; }
.phase-tag { font-family: var(--font-headings); font-size: 0.72rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 5px 14px; border-radius: 50px; flex-shrink: 0; }
.phase-header h3 { font-family: var(--font-headings); font-size: 1.15rem; font-weight: 800; }
.phase-block.innate { background: rgba(255,255,255,0.04); border: 1px solid rgba(65,105,225,0.22); }
.phase-block.innate .phase-header { background: rgba(65,105,225,0.15); border-bottom: 1px solid rgba(65,105,225,0.18); }
.phase-block.innate .phase-tag { background: var(--academy-blue-hover); color: #0d1a0e; }
.phase-block.innate .phase-header h3 { color: #a8d0ff; }
.phase-block.adopted { background: rgba(255,255,255,0.04); border: 1px solid rgba(65,105,225,0.22); }
.phase-block.adopted .phase-header { background: rgba(66,114,4,0.35); border-bottom: 1px solid rgba(65,105,225,0.18); }
.phase-block.adopted .phase-tag { background: linear-gradient(135deg,#1a237e,#2d52c4); color: #fff; }
.phase-block.adopted .phase-header h3 { color: #fff; }
.skill-item { padding: 22px 28px; border-bottom: 1px solid rgba(65,105,225,0.10); overflow: hidden; }
.skill-item:last-child { border-bottom: none; }
.skill-letter { font-family: var(--font-headings); font-size: 2.4rem; font-weight: 800; color: #FFE066; line-height: 1; float: left; margin-right: 14px; margin-top: 2px; text-shadow: 0 0 16px rgba(255,224,102,0.5); }
.skill-name { font-family: var(--font-headings); font-weight: 800; font-size: 1rem; color: #a8d0ff; margin-bottom: 6px; }
.skill-desc { font-size: 0.93rem; color: #e8f0ff; font-weight: 300; line-height: 1.75; text-align: justify; }
.skill-desc strong { color: #a8d0ff; font-weight: 700; }


/* ══════════════════════════════════════════════════════════════
   PART 9 — UDYAM / MSME BADGE  (shared across all pages)
══════════════════════════════════════════════════════════════ */
.udyam-badge {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(230, 168, 23, 0.07);
    border: 1px solid rgba(230, 168, 23, 0.22);
    border-radius: 50px;
    padding: 10px 22px 10px 14px;
    margin-bottom: 18px;
}
.udyam-badge-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    filter: drop-shadow(0 0 6px rgba(255, 224, 102, 0.4));
}
.udyam-badge-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: left;
}
.udyam-badge-label {
    font-family: var(--font-headings);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: linear-gradient(90deg, #FFE066 0%, #F0C040 50%, #D4A017 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.udyam-badge-number {
    font-family: var(--font-headings);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 1px;
    color: rgba(255, 224, 102, 0.65);
}

/* ══════════════════════════════════════════════════════════════
   PART 11 — HOMEPAGE RESPONSIVE FIXES
   Covers all blocks including new 7Q, Why VOVA, Journey, etc.
══════════════════════════════════════════════════════════════ */

/* Tablet — max 1024px */
@media (max-width: 1024px) {
    .courses-grid { grid-template-columns: repeat(2, 1fr); }
    .journey-steps { grid-template-columns: repeat(2, 1fr); gap: 32px; }
    .journey-steps::before { display: none; }
    .foundation-grid { grid-template-columns: 1fr; max-width: 680px; }
    .philosophy-principle { flex-basis: 100%; }
    .promise-inner { gap: 36px; padding: 40px 40px; }
}

/* Mobile — max 768px */
@media (max-width: 768px) {
    /* Expert card */
    .expert-card { padding: 36px 24px; }

    /* Courses */
    .courses-grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }

    /* Journey */
    .journey-steps { grid-template-columns: 1fr; gap: 24px; max-width: 480px; margin: 0 auto; }
    .journey-step { padding: 20px 16px; }
    .step-number { width: 80px; height: 80px; font-size: 1.6rem; margin: 0 auto 16px; }
    .step-desc { font-size: 0.92rem; }

    /* Foundation */
    .foundation-grid { grid-template-columns: 1fr; }
    .foundation-card { padding: 32px 24px; }

    /* Philosophy / 7Q principles */
    .philosophy-principles { gap: 16px; }
    .philosophy-principle { flex-basis: 100%; padding: 24px 20px; flex-direction: column; gap: 12px; }
    .principle-number { width: 48px; height: 48px; font-size: 0.9rem; flex-shrink: 0; }
    .principle-title { font-size: 1rem; }
    .principle-text { font-size: 0.92rem; }

    /* Founder's Promise */
    .promise-inner { flex-direction: column; align-items: center; gap: 24px; padding: 32px 20px; text-align: center; }
    .promise-avatar { width: 90px; height: 90px; font-size: 2.2rem; }
    .promise-content h2 { font-size: 1.4rem; text-align: center; }
    .promise-content p { text-align: left; font-size: 0.95rem; }

    /* Why VOVA bullet list */
    .why-body ul li { font-size: 0.92rem; }

    /* Challenge block */
    .challenge-body p { font-size: 0.95rem; }

    /* CTA */
    .cta-section { padding: 44px 20px; }
    .cta-section h2 { font-size: clamp(1.5rem, 5vw, 2.2rem); }
    .cta-actions { flex-direction: column; align-items: center; }
    .cta-eyebrow { margin-bottom: 16px; }
    .cta-trust { gap: 16px; margin-top: 28px; }
    .trust-item { font-size: 0.72rem; }
    .cta-actions a,
    .cta-actions button { width: 100%; max-width: 320px; justify-content: center; }

    /* Philosophy header */
    .philosophy-header { padding: 0 16px; }
    .philosophy-subtitle { font-size: 0.82rem; }

    /* Values grid */
    .values-grid { grid-template-columns: 1fr; }
    .value-card { padding: 14px 16px; }

    /* Udyam badge */
    .udyam-badge { padding: 10px 16px 10px 12px; gap: 10px; }
    .udyam-badge-icon { width: 26px; height: 26px; }
    .udyam-badge-label { font-size: 0.58rem; }
    .udyam-badge-number { font-size: 0.62rem; }
}

/* Small mobile — max 480px */
@media (max-width: 480px) {
    .courses-grid { max-width: 100%; }
    .foundation-card { padding: 24px 16px; }
    .promise-inner { padding: 24px 16px; }
    .promise-content h2 { font-size: 1.2rem; }
    .philosophy-principle { padding: 20px 16px; }
    .cta-section h2 { font-size: clamp(1.3rem, 6vw, 1.8rem); }
    .journey-steps { max-width: 100%; }
    .step-number { width: 70px; height: 70px; font-size: 1.4rem; }
}


/* ══════════════════════════════════════════════════════════════
   PART 10 — 2 BE HAPPY BLOCK  (logo + buttons)
══════════════════════════════════════════════════════════════ */

/* Logo — pause float + brighten glow on hover */
.brand-2bh-logo {
    transition: box-shadow 0.4s ease, transform 0.4s ease;
}
.brand-2bh-logo:hover {
    animation-play-state: paused;
    box-shadow:
        0 0 0 4px rgba(141,236,16,0.55),
        0 0 30px 12px rgba(141,236,16,0.65),
        0 0 60px 24px rgba(141,236,16,0.30),
        0 10px 30px rgba(141,236,16,0.45) !important;
    transform: scale(1.06);
    cursor: pointer;
}

/* Primary button — green pulse glow */
.btn-2bh-primary {
    position: relative;
    animation: btn-2bh-pulse 2s ease-in-out infinite;
}
@keyframes btn-2bh-pulse {
    0%, 100% { box-shadow: 0 6px 24px rgba(141,236,16,0.35), 0 0 0 0 rgba(141,236,16,0.55); }
    50%       { box-shadow: 0 6px 24px rgba(141,236,16,0.35), 0 0 0 10px rgba(141,236,16,0); }
}
.btn-2bh-primary:hover {
    animation: none;
    box-shadow: 0 8px 32px rgba(141,236,16,0.55);
    transform: translateY(-2px);
}

/* Secondary button — green border animation (Option 4) */
.btn-2bh-secondary {
    position: relative;
    animation: btn-2bh-border 2s ease-in-out infinite;
}
@keyframes btn-2bh-border {
    0%, 100% { border-color: rgba(141,236,16,0.4);  box-shadow: 0 0 0px rgba(141,236,16,0); }
    50%       { border-color: rgba(141,236,16,0.95); box-shadow: 0 0 12px rgba(141,236,16,0.45); }
}
.btn-2bh-secondary:hover {
    animation: none;
    border-color: #8dec10;
    box-shadow: 0 0 16px rgba(141,236,16,0.5);
    transform: translateY(-2px);
}

/* ── REFLECTION BUTTON ── */
.btn-reflection {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 40px;
    background: linear-gradient(135deg, #1a237e 0%, #4169e1 100%);
    border-radius: 50px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: var(--font-headings);
    font-weight: 800;
    font-size: 0.95rem;
    position: relative;
    transition: transform 0.2s ease;
    animation: btn-reflection-pulse 2s ease-in-out infinite;
}
@keyframes btn-reflection-pulse {
    0%, 100% { box-shadow: 0 8px 28px rgba(65,105,225,0.40), 0 0 0 0 rgba(141,236,16,0.65); }
    50%       { box-shadow: 0 8px 28px rgba(65,105,225,0.40), 0 0 0 12px rgba(141,236,16,0); }
}
.btn-reflection:hover {
    animation: none;
    box-shadow: 0 14px 40px rgba(141,236,16,0.55);
    transform: translateY(-3px);
}

/* ══════════════════════════════════════════════════════════════
   PART 12 — EXPLORE OTHER COURSES  (shared across all 6 course pages)
══════════════════════════════════════════════════════════════ */
.other-courses-section {
    padding: 64px 0;
    background: #080f26;
}
.other-courses-header {
    text-align: center;
    margin-bottom: 40px;
}
.other-courses-header .section-eyebrow {
    background: rgba(65,105,225,0.15);
    color: #a8d0ff;
}
.other-courses-header h2 {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 800;
    color: #e8f0ff;
}
.other-courses-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}
.other-courses-grid.six-courses {
    max-width: 900px;
}
.other-course-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    padding: 24px 14px;
    background: rgba(65,105,225,0.08);
    border: 1px solid rgba(65,105,225,0.22);
    border-radius: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
    animation: back-link-border 3s ease-in-out infinite;
    flex: 0 1 calc((100% - 64px) / 5);
}
.other-courses-grid.six-courses .other-course-card {
    flex-basis: calc((100% - 32px) / 3);
}
.other-course-card:nth-child(2) { animation-delay: 0.4s; }
.other-course-card:nth-child(3) { animation-delay: 0.8s; }
.other-course-card:nth-child(4) { animation-delay: 1.2s; }
.other-course-card:nth-child(5) { animation-delay: 1.6s; }
.other-course-card:hover {
    background: rgba(65,105,225,0.18);
    border-color: rgba(65,105,225,0.5);
    transform: translateY(-4px);
    box-shadow: 0 10px 26px rgba(65,105,225,0.25);
    animation: none;
}
.occ-icon {
    font-size: 1.8rem;
    margin-bottom: 2px;
    display: inline-block;
    animation: occ-icon-bounce 2.2s ease-in-out infinite;
}
.other-course-card:nth-child(1) .occ-icon { animation-delay: 0s; }
.other-course-card:nth-child(2) .occ-icon { animation-delay: 0.3s; }
.other-course-card:nth-child(3) .occ-icon { animation-delay: 0.6s; }
.other-course-card:nth-child(4) .occ-icon { animation-delay: 0.9s; }
.other-course-card:nth-child(5) .occ-icon { animation-delay: 1.2s; }
@keyframes occ-icon-bounce {
    0%, 100% { transform: translateY(0); }
    50%       { transform: translateY(-6px); }
}
.occ-name {
    font-family: var(--font-headings);
    font-size: 0.92rem;
    font-weight: 700;
    color: #e8f0ff;
    line-height: 1.3;
}
.occ-tag {
    font-family: var(--font-headings);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #a8d0ff;
    text-transform: uppercase;
}
@media (max-width: 1024px) {
    .other-course-card { flex-basis: calc((100% - 32px) / 3); }
}
@media (max-width: 600px) {
    .other-courses-grid { gap: 12px; padding: 0 16px; }
    .other-course-card { flex-basis: calc((100% - 12px) / 2); padding: 18px 10px; }
    .occ-icon { font-size: 1.5rem; }
    .occ-name { font-size: 0.82rem; }
    .occ-tag { font-size: 0.6rem; }
}
