         :root {
            --primary: #0052cc;
            --primary-light: #2970ff;
            --secondary: #7c3aed;
            --accent: #f59e0b;
            --accent2: #06b6d4;
            --bg: #f7f8fc;
            --bg2: #eef1f8;
            --card: #ffffff;
            --nav-bg: rgba(255,255,255,0.92);
            --text: #0d1b3e;
            --text2: #4a5578;
            --border: #e0e7f3;
            --input-bg: #f0f4fc;
            --radius: 20px;
            --shadow: 0 8px 40px rgba(0,82,204,0.10);
            --shadow-lg: 0 20px 60px rgba(0,82,204,0.15);
            --trans: all 0.45s cubic-bezier(0.16,1,0.3,1);
        }
        body.dark {
            --bg: #080e1f;
            --bg2: #0f1830;
            --card: #111827;
            --nav-bg: rgba(8,14,31,0.93);
            --text: #eef2ff;
            --text2: #94a3b8;
            --border: #1e2d4a;
            --input-bg: #0f1830;
            --shadow: 0 8px 40px rgba(0,0,0,0.4);
            --shadow-lg: 0 20px 60px rgba(0,0,0,0.6);
        }

        *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
        html { scroll-behavior: smooth; }
        body { background: var(--bg); color: var(--text); font-family: 'Outfit', sans-serif; overflow-x: hidden; transition: background 0.4s, color 0.4s; }

        /* SCROLL PROGRESS */
        #progress-bar {
            position: fixed; top:0; left:0; height:3px; width:0%;
            background: linear-gradient(90deg, var(--primary), var(--accent), var(--secondary));
            z-index: 9999; border-radius: 0 3px 3px 0;
            transition: width 0.1s;
        }

        /* PARTICLE CANVAS */
        #particles-canvas {
            position: absolute; inset:0; pointer-events: none; z-index:0; opacity:0.4;
        }

        /* ===================== NAV ===================== */
        nav {
            position: fixed; top:0; left:0; right:0; z-index:1000;
            padding: 1.4rem 5%;
            display: flex; align-items: center; justify-content: space-between;
            transition: var(--trans);
        }
        nav.scrolled {
            background: var(--nav-bg);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            box-shadow: 0 2px 30px rgba(0,82,204,0.08);
            border-bottom: 1px solid var(--border);
            padding: 0.9rem 5%;
        }
        .logo {
            display:flex; align-items:center; gap:12px; text-decoration:none;
        }
        .logo img { height:46px; border-radius:12px; }
        .logo-text {
            font-size: 1.15rem; font-weight: 800; letter-spacing:-0.3px;
            background: linear-gradient(135deg, var(--primary), var(--secondary));
            -webkit-background-clip: text; -webkit-text-fill-color: transparent;
            line-height:1.2;
        }
        .logo-sub { font-size:0.65rem; font-weight:500; color: var(--text2); -webkit-text-fill-color: var(--text2); display:block; letter-spacing:1px; text-transform:uppercase; }

        .nav-right { display:flex; align-items:center; gap:8px; }

        #navLinks {
            display: flex; list-style:none; align-items:center; gap:0.25rem;
        }
        #navLinks a {
            text-decoration:none; color: var(--text); font-weight:500; font-size:0.95rem;
            padding:8px 14px; border-radius:10px; transition: var(--trans);
            display:block;
        }
        nav:not(.scrolled) #navLinks a { color:#fff; }
        #navLinks a:hover { background: rgba(0,82,204,0.10); color: var(--primary); }
        nav:not(.scrolled) #navLinks a:hover { background: rgba(255,255,255,0.15); color:#fff; }
        #navLinks .nav-cta {
            background: linear-gradient(135deg, var(--primary), var(--secondary));
            color: #fff !important; padding:9px 22px; border-radius:50px;
            font-weight:600; box-shadow:0 4px 15px rgba(0,82,204,0.3);
        }
        #navLinks .nav-cta:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(0,82,204,0.4); background:linear-gradient(135deg, var(--primary), var(--secondary)); }

        .theme-btn, .hamburger {
            width:40px; height:40px; border:none; outline:none; cursor:pointer;
            border-radius:50%; background:rgba(128,128,128,0.15);
            display:flex; align-items:center; justify-content:center;
            font-size:1.1rem; color:var(--text); transition:var(--trans);
        }
        nav:not(.scrolled) .theme-btn, nav:not(.scrolled) .hamburger { color:#fff; background:rgba(255,255,255,0.2); }
        .theme-btn:hover, .hamburger:hover { background: var(--primary); color:#fff; }
        .hamburger { display:none; font-size:1.3rem; }

        /* Mobile overlay */
        .nav-overlay {
            display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:998; backdrop-filter:blur(4px);
        }
        .nav-overlay.open { display:block; }

        /* ===================== HERO ===================== */
        .hero {
            min-height: 100vh;
            background: linear-gradient(140deg, #041136 0%, #0a2a7a 50%, #1a0a4f 100%);
            display:flex; flex-direction:column; align-items:center; justify-content:center;
            text-align:center; padding:100px 5% 60px; position:relative; overflow:hidden;
        }
        .hero::before {
            content:''; position:absolute; inset:0;
            background: radial-gradient(ellipse 80% 60% at 50% 40%, rgba(41,112,255,0.25) 0%, transparent 70%);
        }
        .hero-glow {
            position:absolute; width:700px; height:700px; border-radius:50%;
            background: radial-gradient(circle, rgba(124,58,237,0.2) 0%, transparent 70%);
            top:-200px; right:-200px; pointer-events:none;
        }
        .hero-glow2 {
            position:absolute; width:500px; height:500px; border-radius:50%;
            background: radial-gradient(circle, rgba(6,182,212,0.15) 0%, transparent 70%);
            bottom:-100px; left:-100px; pointer-events:none;
        }
        .hero-badge {
            display: inline-flex; align-items:center; gap:8px;
            background: rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2);
            padding:8px 20px; border-radius:50px; color:rgba(255,255,255,0.85);
            font-size:0.85rem; font-weight:500; margin-bottom:28px;
            backdrop-filter:blur(10px); letter-spacing:0.5px;
            animation: badgePulse 3s ease-in-out infinite;
        }
        @keyframes badgePulse { 0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,0.1)} 50%{box-shadow:0 0 0 8px rgba(255,255,255,0)} }
        .hero-badge span { width:8px; height:8px; border-radius:50%; background:#4ade80; display:inline-block; animation:dot 2s infinite; }
        @keyframes dot { 0%,100%{opacity:1} 50%{opacity:0.3} }

        .hero-content { position:relative; z-index:2; max-width:860px; }
        .hero h1 {
            font-family: 'DM Serif Display', serif;
            font-size: clamp(2.6rem, 6vw, 5rem);
            font-weight:400; line-height:1.1; color:#fff; margin-bottom:24px;
        }
        .hero h1 em {
            font-style:italic;
            background: linear-gradient(135deg, #60a5fa, #a78bfa, #34d399);
            -webkit-background-clip: text; -webkit-text-fill-color: transparent;
        }
        .hero p {
            font-size: clamp(1rem, 2vw, 1.2rem); color:rgba(255,255,255,0.75);
            line-height:1.75; max-width:640px; margin:0 auto 40px;
        }
        .hero-btns { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
        .btn-primary {
            padding:15px 36px; background: linear-gradient(135deg, var(--primary-light), var(--secondary));
            color:#fff; text-decoration:none; border-radius:50px; font-weight:700; font-size:1rem;
            border:none; cursor:pointer; transition:var(--trans);
            box-shadow: 0 8px 30px rgba(41,112,255,0.4);
            display:inline-flex; align-items:center; gap:8px;
        }
        .btn-primary:hover { transform:translateY(-3px); box-shadow: 0 14px 40px rgba(41,112,255,0.55); color:#fff; }
        .btn-ghost {
            padding:14px 36px; border:2px solid rgba(255,255,255,0.4);
            color:#fff; text-decoration:none; border-radius:50px; font-weight:600; font-size:1rem;
            transition:var(--trans); display:inline-flex; align-items:center; gap:8px;
        }
        .btn-ghost:hover { background:rgba(255,255,255,0.12); border-color:rgba(255,255,255,0.7); transform:translateY(-3px); color:#fff; }

        .hero-stats {
            display:flex; gap:40px; justify-content:center; flex-wrap:wrap;
            margin-top:60px; position:relative; z-index:2;
        }
        .hero-stat { text-align:center; }
        .hero-stat h3 { font-size:2rem; font-weight:800; color:#fff; line-height:1; }
        .hero-stat p { font-size:0.8rem; color:rgba(255,255,255,0.6); text-transform:uppercase; letter-spacing:1px; margin-top:4px; }

        .scroll-indicator {
            position:absolute; bottom:30px; left:50%; transform:translateX(-50%);
            display:flex; flex-direction:column; align-items:center; gap:6px;
            color:rgba(255,255,255,0.5); font-size:0.75rem; letter-spacing:2px; text-transform:uppercase;
            animation: bounce 2s ease-in-out infinite;
        }
        @keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(-8px)} }

        /* ===================== SHARED ===================== */
        .section { padding: 100px 5%; }
        .section-alt { background: var(--bg2); }
        .section-header {
            text-align:center; margin-bottom:60px;
        }
        .section-eyebrow {
            display:inline-flex; align-items:center; gap:8px;
            background: linear-gradient(135deg, rgba(0,82,204,0.1), rgba(124,58,237,0.1));
            border:1px solid rgba(0,82,204,0.2); border-radius:50px;
            padding:6px 18px; font-size:0.8rem; font-weight:700;
            color: var(--primary); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:16px;
        }
        body.dark .section-eyebrow { background:rgba(41,112,255,0.1); border-color:rgba(41,112,255,0.3); color:#60a5fa; }
        .section-header h2 {
            font-family: 'DM Serif Display', serif;
            font-size: clamp(2rem, 4vw, 3rem);
            font-weight:400; color:var(--text); line-height:1.2;
        }
        .section-header h2 em { font-style:italic; color:var(--primary); }
        body.dark .section-header h2 em { color:#60a5fa; }
        .section-header p { color:var(--text2); max-width:560px; margin:14px auto 0; font-size:1.05rem; line-height:1.7; }

        /* CARDS GENERAL */
        .card {
            background:var(--card); border:1px solid var(--border);
            border-radius:var(--radius); box-shadow: var(--shadow);
            transition:var(--trans);
        }
        .card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color: rgba(0,82,204,0.25); }

        /* ===================== COURSES ===================== */
        .filter-bar {
            display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:48px;
        }
        .filter-btn {
            padding:9px 20px; border-radius:50px; border:2px solid var(--border);
            background:transparent; color:var(--text2); font-family:'Outfit',sans-serif;
            font-weight:600; cursor:pointer; transition:var(--trans); font-size:0.88rem;
        }
        .filter-btn:hover, .filter-btn.active {
            background:var(--primary); border-color:var(--primary); color:#fff;
            box-shadow:0 4px 20px rgba(0,82,204,0.3);
        }

        .course-grid {
            display:grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap:28px;
            transition: opacity 0.4s cubic-bezier(0.16,1,0.3,1), transform 0.4s cubic-bezier(0.16,1,0.3,1);
        }
        .course-card {
            background:var(--card); border:1px solid var(--border);
            border-radius:var(--radius); padding:40px 30px;
            cursor:pointer; position:relative; overflow:hidden;
            transition: transform 0.5s cubic-bezier(0.16,1,0.3,1), box-shadow 0.5s cubic-bezier(0.16,1,0.3,1), border-color 0.4s ease;
            display:flex; flex-direction:column; align-items:flex-start;
            box-shadow:var(--shadow);
        }
        .course-card::before {
            content:''; position:absolute; top:0; left:0; right:0; height:3px;
            background: linear-gradient(90deg, var(--primary), var(--secondary));
            transform: scaleX(0); transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
            transform-origin: left;
        }
        .course-card:hover::before { transform:scaleX(1); }
        .course-card:hover {
            transform:translateY(-10px) scale(1.015);
            box-shadow: 0 24px 60px rgba(0,82,204,0.18);
            border-color: rgba(0,82,204,0.25);
        }
        .course-icon {
            width:72px; height:72px; border-radius:18px;
            background: linear-gradient(135deg, rgba(0,82,204,0.1), rgba(124,58,237,0.1));
            display:flex; align-items:center; justify-content:center;
            font-size:1.8rem; color:var(--primary); margin-bottom:22px;
            transition:var(--trans);
        }
        .course-card:hover .course-icon {
            background: linear-gradient(135deg, var(--primary), var(--secondary));
            color:#fff; transform:scale(1.1) rotate(5deg);
        }
        .course-card h3 { font-size:1.25rem; font-weight:700; margin-bottom:10px; color:var(--text); }
        .course-card p { color:var(--text2); font-size:0.92rem; line-height:1.65; flex:1; }
        .course-tag {
            margin-top:20px; padding:5px 14px; border-radius:50px;
            background: rgba(0,82,204,0.08); color:var(--primary);
            font-size:0.78rem; font-weight:700; letter-spacing:0.5px;
        }
        body.dark .course-tag { background:rgba(96,165,250,0.1); color:#60a5fa; }
        .course-card-arrow {
            position:absolute; bottom:22px; right:22px; width:36px; height:36px;
            border-radius:50%; background:var(--border); display:flex; align-items:center;
            justify-content:center; color:var(--text2); font-size:0.85rem; transition:var(--trans);
        }
        .course-card:hover .course-card-arrow { background:var(--primary); color:#fff; transform:rotate(45deg); }

        /* ===================== TYPING TEST ===================== */
        .typing-wrap {
            max-width:800px; margin:0 auto; background:var(--card);
            border:1px solid var(--border); border-radius:24px;
            padding:50px 44px; box-shadow:var(--shadow-lg);
        }
        .typing-stats { display:flex; justify-content:center; gap:24px; margin-bottom:32px; flex-wrap:wrap; }
        .stat-pill {
            background: linear-gradient(135deg, rgba(0,82,204,0.08), rgba(124,58,237,0.08));
            border:1px solid rgba(0,82,204,0.15);
            padding:16px 30px; border-radius:16px; text-align:center; min-width:120px;
        }
        body.dark .stat-pill { background:rgba(41,112,255,0.1); border-color:rgba(41,112,255,0.2); }
        .stat-pill h4 { font-size:1.8rem; font-weight:800; color:var(--primary); line-height:1; }
        body.dark .stat-pill h4 { color:#60a5fa; }
        .stat-pill p { font-size:0.75rem; font-weight:700; color:var(--text2); text-transform:uppercase; letter-spacing:1px; margin-top:4px; }
        .typing-passage {
            background:var(--bg2); border:2px dashed var(--border); border-radius:14px;
            padding:20px 24px; font-size:1.1rem; color:var(--text2); line-height:1.9;
            margin-bottom:20px; user-select:none;
        }
        .typing-input {
            width:100%; padding:18px 20px; border:2px solid var(--border);
            border-radius:14px; background:var(--input-bg); color:var(--text);
            font-family:'Outfit',sans-serif; font-size:1.05rem;
            resize:none; outline:none; transition:0.3s; margin-bottom:20px;
        }
        .typing-input:focus { border-color:var(--primary); box-shadow:0 0 0 4px rgba(0,82,204,0.1); }

        /* ===================== TESTIMONIALS ===================== */
        .testi-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(290px,1fr)); gap:28px; }
        .testi-card {
            background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
            padding:36px 32px; box-shadow:var(--shadow); transition:var(--trans); position:relative;
        }
        .testi-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
        .testi-quote {
            font-size:3.5rem; line-height:1; color:var(--primary); opacity:0.15;
            font-family:'DM Serif Display',serif; position:absolute; top:20px; right:24px;
        }
        body.dark .testi-quote { color:#60a5fa; }
        .testi-text { color:var(--text2); line-height:1.8; margin-bottom:24px; font-size:0.95rem; }
        .testi-profile { display:flex; align-items:center; gap:14px; }
        .testi-avatar { width:52px; height:52px; border-radius:50%; object-fit:cover; border:3px solid var(--border); }
        .testi-info h4 { font-weight:700; color:var(--text); font-size:0.95rem; }
        .testi-info span { font-size:0.8rem; color:var(--primary); font-weight:600; }
        body.dark .testi-info span { color:#60a5fa; }
        .stars { color:#f59e0b; font-size:0.85rem; margin-top:2px; }

        /* ===================== LOCATION ===================== */
        .location-grid {
            display:grid; grid-template-columns:1fr 1fr; border-radius:24px; overflow:hidden;
            box-shadow:var(--shadow-lg); border:1px solid var(--border);
        }
        .contact-panel {
            background:var(--card); padding:60px 50px;
        }
        .contact-panel h3 { font-family:'DM Serif Display',serif; font-size:2rem; margin-bottom:8px; }
        .contact-panel > p { color:var(--text2); margin-bottom:36px; }
        .info-row { display:flex; align-items:flex-start; gap:18px; margin-bottom:28px; }
        .info-icon {
            width:52px; height:52px; flex-shrink:0; border-radius:14px;
            background: linear-gradient(135deg, rgba(0,82,204,0.1), rgba(124,58,237,0.1));
            display:flex; align-items:center; justify-content:center;
            font-size:1.2rem; color:var(--primary);
        }
        body.dark .info-icon { background:rgba(41,112,255,0.12); }
        .info-row h4 { font-weight:700; color:var(--text); margin-bottom:4px; font-size:0.95rem; }
        .info-row p { color:var(--text2); font-size:0.9rem; line-height:1.6; }
        .map-panel { min-height:420px; }
        .map-panel iframe { width:100%; height:100%; border:0; display:block; }
        body.dark .map-panel iframe { filter: invert(90%) hue-rotate(180deg) contrast(1.1); }

        /* ===================== ADMISSION ===================== */
        .admission-wrap {
            max-width:860px; margin:0 auto; background:var(--card);
            border:1px solid var(--border); border-radius:28px; padding:64px 60px;
            box-shadow:var(--shadow-lg); position:relative; overflow:hidden;
        }
        .admission-wrap::after {
            content:''; position:absolute; top:-100px; right:-100px;
            width:350px; height:350px; border-radius:50%;
            background: radial-gradient(circle, rgba(0,82,204,0.05), transparent 70%);
            pointer-events:none;
        }
        .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
        .form-group label { display:block; margin-bottom:9px; font-weight:600; font-size:0.9rem; color:var(--text); }
        .form-group input, .form-group select {
            width:100%; padding:14px 16px; border:2px solid var(--border);
            border-radius:12px; background:var(--input-bg); color:var(--text);
            font-family:'Outfit',sans-serif; font-size:0.98rem;
            outline:none; transition:0.3s; appearance:none;
        }
        .form-group input:focus, .form-group select:focus { border-color:var(--primary); box-shadow:0 0 0 4px rgba(0,82,204,0.1); }
        .full-w { grid-column: span 2; }
        .form-submit {
            width:100%; margin-top:28px; padding:16px; font-size:1.05rem;
            background: linear-gradient(135deg, var(--primary-light), var(--secondary));
            color:#fff; border:none; border-radius:14px; font-family:'Outfit',sans-serif;
            font-weight:700; cursor:pointer; transition:var(--trans);
            box-shadow:0 8px 30px rgba(0,82,204,0.3); display:flex; align-items:center; justify-content:center; gap:10px;
        }
        .form-submit:hover { transform:translateY(-3px); box-shadow:0 14px 40px rgba(0,82,204,0.45); }
        .form-submit:disabled { opacity:0.7; cursor:not-allowed; transform:none; }

        /* ===================== MODAL ===================== */
        .modal-bg {
            display:none; position:fixed; inset:0; background:rgba(0,0,0,0.6);
            z-index:2000; align-items:center; justify-content:center;
            opacity:0; transition:opacity 0.35s;
            backdrop-filter:blur(6px);
        }
        .modal-bg.open { display:flex; }
        .modal-bg.visible { opacity:1; }
        .modal-box {
            background:var(--card); border:1px solid var(--border); border-radius:24px;
            padding:44px 40px; width:90%; max-width:540px; position:relative;
            transform:translateY(30px) scale(0.97); transition:0.4s cubic-bezier(0.16,1,0.3,1);
            box-shadow:0 30px 80px rgba(0,0,0,0.3);
        }
        .modal-bg.visible .modal-box { transform:translateY(0) scale(1); }
        .modal-close {
            position:absolute; top:18px; right:18px; width:36px; height:36px;
            border-radius:50%; background:var(--border); border:none; cursor:pointer;
            display:flex; align-items:center; justify-content:center;
            color:var(--text2); font-size:1rem; transition:0.3s;
        }
        .modal-close:hover { background:var(--primary); color:#fff; }
        .modal-box h3 { font-size:1.6rem; font-weight:800; color:var(--primary); margin-bottom:12px; }
        body.dark .modal-box h3 { color:#60a5fa; }
        .modal-box .m-desc { color:var(--text2); margin-bottom:18px; line-height:1.7; }
        .modal-detail { background:var(--bg2); border:1px solid var(--border); border-radius:14px; padding:20px; margin-bottom:20px; }
        .modal-detail h4 { font-size:0.9rem; font-weight:700; margin-bottom:6px; color:var(--text); }
        .modal-detail p { color:var(--text2); font-size:0.88rem; line-height:1.6; }
        .modal-apply {
            display:block; width:100%; text-align:center; text-decoration:none;
            padding:14px; background:linear-gradient(135deg,var(--primary-light),var(--secondary));
            color:#fff; border-radius:12px; font-weight:700; transition:var(--trans);
        }
        .modal-apply:hover { transform:translateY(-2px); box-shadow:0 8px 25px rgba(0,82,204,0.4); color:#fff; }

        /* ===================== FOOTER ===================== */
        footer {
            background: #060e23;
            padding:70px 5% 36px;
            border-top:1px solid rgba(255,255,255,0.06);
        }
        .footer-inner { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:50px; margin-bottom:50px; }
        .footer-brand h3 { font-family:'DM Serif Display',serif; font-size:1.5rem; color:#fff; margin-bottom:12px; }
        .footer-brand p { color:#64748b; line-height:1.7; font-size:0.92rem; max-width:280px; }
        .footer-col h4 { color:#e2e8f0; font-size:0.85rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:18px; }
        .footer-col ul { list-style:none; display:flex; flex-direction:column; gap:10px; }
        .footer-col ul li a { color:#64748b; text-decoration:none; font-size:0.92rem; transition:0.3s; }
        .footer-col ul li a:hover { color:#60a5fa; }
        .social-row { display:flex; gap:12px; margin-top:24px; }
        .social-btn {
            width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,0.07);
            display:flex; align-items:center; justify-content:center;
            color:#94a3b8; text-decoration:none; transition:0.3s; font-size:1rem;
        }
        .social-btn:hover { background:var(--primary); color:#fff; transform:translateY(-3px); }
        .footer-bottom { border-top:1px solid rgba(255,255,255,0.06); padding-top:28px; display:flex; justify-content:center; }
        .footer-bottom p { color:#475569; font-size:0.85rem; }

        /* ===================== WHATSAPP ===================== */
        .wa-btn {
            position:fixed; bottom:100px; right:28px; z-index:1000;
            width:60px; height:60px; border-radius:50%; background:#25d366;
            display:flex; align-items:center; justify-content:center;
            color:#fff; font-size:1.8rem; text-decoration:none;
            box-shadow:0 6px 20px rgba(37,211,102,0.45); transition:var(--trans);
        }
        .wa-btn:hover { transform:scale(1.12) rotate(-8deg); box-shadow:0 10px 30px rgba(37,211,102,0.6); color:#fff; }

        /* ===================== ANIMATIONS ===================== */
        .reveal { opacity:0; transform:translateY(40px); transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1), transform 0.8s cubic-bezier(0.16,1,0.3,1); }
        .reveal.visible { opacity:1; transform:translateY(0); }
        .reveal-delay-1 { transition-delay:0.1s; }
        .reveal-delay-2 { transition-delay:0.2s; }
        .reveal-delay-3 { transition-delay:0.3s; }
        .reveal-delay-4 { transition-delay:0.4s; }
        .reveal-delay-5 { transition-delay:0.5s; }

        /* ===================== RESPONSIVE ===================== */
        @media (max-width:1024px) {
            .footer-inner { grid-template-columns:1fr 1fr; }
            .footer-brand { grid-column:span 2; }
        }
        @media (max-width:900px) {
            .location-grid { grid-template-columns:1fr; }
            .map-panel { min-height:320px; }
        }
        @media (max-width:768px) {
            #navLinks {
                position:fixed; top:0; right:-100%; height:100vh; width:78%;
                background:var(--card); flex-direction:column; justify-content:center;
                z-index:999; gap:4px; transition:right 0.45s cubic-bezier(0.16,1,0.3,1);
                box-shadow:-20px 0 60px rgba(0,0,0,0.2); padding:0 30px;
            }
            #navLinks.open { right:0; }
            #navLinks a { color:var(--text) !important; font-size:1.1rem; padding:13px 16px; border-radius:12px; }
            #navLinks .nav-cta { margin-top:10px; text-align:center; }
            .hamburger { display:flex; }
            .hero-stats { gap:28px; }
            .admission-wrap { padding:36px 24px; }
            .form-grid { grid-template-columns:1fr; }
            .full-w { grid-column:span 1; }
            .typing-wrap { padding:32px 24px; }
            .footer-inner { grid-template-columns:1fr; }
            .footer-brand { grid-column:auto; }
            .contact-panel { padding:36px 28px; }
        }
        @media (max-width:480px) {
            .hero h1 { font-size:2.2rem; }
            .section { padding:70px 5%; }
        }
        /* The Floating Button Style */
        .floating-review-btn {
            position: fixed;
            bottom: 24px;
            right: 24px;
            background-color: #4285F4; /* Google Blue */
            color: #ffffff;
            text-decoration: none;
            padding: 12px 20px;
            border-radius: 50px;
            font-family: 'Arial', sans-serif;
            font-size: 15px;
            font-weight: bold;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
            display: flex;
            align-items: center;
            gap: 8px;
            z-index: 9999; /* Keeps it on top of all other elements */
            transition: all 0.3s ease;
        }

        /* Hover Effects */
        .floating-review-btn:hover {
            background-color: #357ae8; /* Darker blue on hover */
            transform: translateY(-4px); /* Slight lift */
            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.4);
        }

        /* Star Animation (Subtle Pulse) */
        .floating-review-btn i.fa-star {
            color: #FBBC05; /* Google Yellow */
        }