    :root {
        --gold: #b8965d;
        --gold-light: #d4af37;
        --charcoal: #0f0f0f;
        --off-white: #fcfaf8;
        --glass: rgba(255, 255, 255, 0.03);
        --transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* Base Styles */
    html { scroll-behavior: smooth; }
    ::selection { background: var(--gold); color: white; }
    body { 
        font-family: 'Inter', sans-serif; 
        background-color: var(--off-white); 
        color: var(--charcoal); 
        overflow-x: hidden;
        -webkit-font-smoothing: antialiased;
    }
    
    h1, h2, h3 { font-family: 'Playfair Display', serif; letter-spacing: -0.01em; }
    .ls-2 { letter-spacing: 0.2rem; text-transform: uppercase; font-weight: 600; }
    .text-gold { color: var(--gold); }

    /* Custom Cursor - Refined */
    #cursor {
        width: 20px; height: 20px; border: 1.5px solid var(--gold);
        border-radius: 50%; position: fixed; pointer-events: none;
        z-index: 9999; transition: transform 0.15s ease-out, width 0.3s, height 0.3s; 
        transform: translate(-50%, -50%);
        will-change: transform;
    }

    /* Navigation - Improved blur and spacing */
    .navbar { padding: 30px 0; background: transparent !important; transition: var(--transition); }
    .navbar.scrolled { 
        padding: 15px 0; 
        background: rgba(252, 250, 248, 0.95) !important; 
        backdrop-filter: blur(20px); 
        box-shadow: 0 4px 30px rgba(0,0,0,0.03); 
    }
    .navbar-brand { font-weight: 700; letter-spacing: 5px; font-size: 1.1rem; text-transform: uppercase; }
    .nav-link { font-size: 0.7rem; font-weight: 600; letter-spacing: 2px; margin: 0 18px; position: relative; color: var(--charcoal) !important; }
    .nav-link::after {
        content: ''; position: absolute; bottom: -5px; left: 50%; width: 0; height: 1.5px;
        background: var(--gold); transition: var(--transition); transform: translateX(-50%);
    }
    .nav-link:hover::after { width: 100%; }

    /* Hero Slider - Ken Burns Effect */
    .hero-slider { height: 100vh; width: 100%; background: #000; }
    .swiper-slide { position: relative; overflow: hidden; }
    .swiper-slide img { 
        width: 100%; height: 100%; object-fit: cover; 
        filter: brightness(0.5); 
        transform: scale(1.1); /* Prep for Ken Burns animation */
        transition: transform 8s ease;
    }
    .swiper-slide-active img { transform: scale(1); }
    
    .hero-caption { 
        position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); 
        text-align: center; color: white; z-index: 10; width: 90%;
    }
    .hero-caption h1 { font-size: calc(2.8rem + 4vw); line-height: 1; margin-bottom: 1.5rem; text-shadow: 0 10px 30px rgba(0,0,0,0.2); }

    /* About Image Frame */
    .about-image-wrapper { position: relative; padding: 30px; }
    .about-image-wrapper::before {
        content: ""; position: absolute; top: 0; left: 0; 
        width: 85%; height: 85%; border: 1px solid var(--gold); z-index: 0;
        transition: var(--transition);
    }
    .about-image-wrapper:hover::before { transform: translate(10px, 10px); }
    .about-img { position: relative; z-index: 1; transition: var(--transition); width: 100%; height: 650px; object-fit: cover; }

    /* Discipline Cards - Premium Hover State */
    .discipline-card { 
        border: none; position: relative; overflow: hidden; height: 600px; 
        background: var(--charcoal); transition: var(--transition);
    }
    .discipline-card img { width: 100%; height: 100%; object-fit: cover; opacity: 0.5; transition: 1.5s cubic-bezier(0.16, 1, 0.3, 1); }
    .discipline-card:hover img { opacity: 0.3; transform: scale(1.08); }
    .discipline-info { 
        position: absolute; bottom: 0; left: 0; width: 100%; padding: 50px; 
        color: white; z-index: 2;
    }
    .discipline-info h3 { font-size: 2rem; margin-bottom: 15px; }
    .card-line { width: 40px; height: 1.5px; background: var(--gold); margin-bottom: 25px; transition: var(--transition); }
    .discipline-card:hover .card-line { width: 100px; }

    /* Gallery - Auto Adjust & Hover Zoom */
    .gallery-item { 
        border-radius: 0px; transition: var(--transition); cursor: pointer; 
        width: 100%; height: 350px; object-fit: cover; filter: grayscale(20%);
    }
    .gallery-item:hover { transform: scale(0.98); filter: grayscale(0%); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }

    /* Blog Cards - Clean Typography */
    .blog-card { background: #fff; border: none; overflow: hidden; transition: var(--transition); height: 100%; }
    .blog-card img { width: 100%; height: 280px; object-fit: cover; transition: var(--transition); }
    .blog-card:hover img { transform: scale(1.05); }
    .blog-card h4 { font-size: 1.4rem; font-family: 'Playfair Display'; margin-bottom: 1rem; }

    /* Buttons - Shimmer Animation */
    .btn-gold { 
        background: var(--gold); color: white; border-radius: 0; 
        padding: 18px 45px; font-size: 0.7rem; letter-spacing: 4px; 
        text-transform: uppercase; transition: var(--transition); 
        border: none; font-weight: 700; position: relative; overflow: hidden;
    }
    .btn-gold::after {
        content: ''; position: absolute; top: -50%; left: -60%; width: 20%; height: 200%;
        background: rgba(255,255,255,0.2); transform: rotate(30deg);
        transition: 0.5s;
    }
    .btn-gold:hover::after { left: 120%; }
    .btn-gold:hover { background: var(--charcoal); color: white; transform: translateY(-3px); 
	}
	
        /* Testimonials */
        .testimonial-card { background-color: #fcfaf8; padding: 40px; border: 1px solid #efefef; text-align: center; height: 100%; }
        .quote { font-style: italic; color: #555; font-size: 1.1rem; line-height: 1.8; margin-bottom: 20px; }
		
	 /* Contact & Forms */
        .contact-wrap { background: #0a0a0a; padding: 120px 0; color: white; }
        .glass-panel { background: rgba(255,255,255,0.02); backdrop-filter: blur(15px); border: 1px solid rgba(255,255,255,0.08); padding: 50px; }
        .form-control { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); color: white !important; border-radius: 0; padding: 15px; }
        .form-control:focus { background: rgba(255,255,255,0.08); border-color: var(--gold); box-shadow: none; }
        .btn-gold { background: var(--gold); color: white; border-radius: 0; padding: 16px 40px; font-size: 0.75rem; letter-spacing: 3px; text-transform: uppercase; transition: 0.4s; border: none; font-weight: 600; }
        .btn-gold:hover { background: white; color: var(--charcoal); }

        /* Footer */
        footer { background: #050505; color: #777; padding: 100px 0 40px; }
        .footer-h { color: white; font-size: 0.75rem; letter-spacing: 2px; font-weight: 600; margin-bottom: 25px; }
        .social-link { width: 40px; height: 40px; border: 1px solid #222; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; margin-right: 12px; transition: 0.3s; }
        .social-link:hover { border-color: var(--gold); color: var(--gold); transform: translateY(-3px); }

    /* Responsiveness */
    @media (max-width: 991px) {
        .navbar { background: var(--off-white) !important; padding: 15px 0; }
        .about-img { height: 450px; }
        .discipline-card { height: 450px; }
    }
