        :root { scroll-behavior: smooth; }
        body { font-family: 'Mulish', sans-serif; background-color: #FFFFFF; color: #000000; overflow-x: hidden; }

        /* Typography Helpers */
        .m-black { font-weight: 900; }
        .m-bold { font-weight: 700; }
        .m-semibold { font-weight: 600; }
        .m-regular { font-weight: 400; }
        .m-light { font-weight: 300; }

        /* Layout - Consistent Margins */
        .editorial-margins { 
            max-width: 1400px; 
            margin-left: auto; 
            margin-right: auto; 
            padding-left: 8%; 
            padding-right: 8%; 
        }
        
        @media (max-width: 768px) {
            .editorial-margins { padding-left: 5%; padding-right: 5%; }
        }

        /* Navigation Underline */
        .nav-link { position: relative; padding-bottom: 4px; transition: color 0.3s; color: #000000; }
        .nav-link::after {
            content: ''; position: absolute; width: 0; height: 2px;
            bottom: 0; left: 0; background-color: #B500B2; transition: width 0.3s ease;
        }
        .nav-link:hover::after { width: 100%; }
        .nav-link:hover { color: #B500B2; }

        /* Hero Image Pan Animation */
        .hero-bg-anim {
            animation: slowPan 30s infinite alternate ease-in-out;
            background-size: cover;
            background-position: center;
        }
        @keyframes slowPan {
            0% { transform: scale(1.1) translateX(-2%); }
            100% { transform: scale(1.2) translateX(2%); }
        }

        /* Page Management */
        .page { display: none; }
        .page.active { display: block; animation: pageFade 0.6s ease; }
        @keyframes pageFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        /* Modal Custom Styling */
        .modal { 
            position: fixed; inset: 0; background: #FFFFFF; 
            z-index: 2000; display: none; overflow-y: auto;
        }
        .modal.active { display: block; }

        /* Editorial Elements */
        .pull-quote {
            font-size: 2.5rem;
            line-height: 1.2;
            color: #B500B2;
            font-weight: 800;
            border-left: 8px solid #B500B2;
            padding-left: 2rem;
            margin: 4rem 0;
        }

        .class-card {
            transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
            border: 1px solid #F0F0F0;
        }
        .class-card:hover {
            transform: translateY(-15px);
            border-color: #B500B2;
            box-shadow: 0 30px 60px -12px rgba(181, 0, 178, 0.15);
        }

        .reveal { opacity: 0; transform: translateY(40px); transition: all 1s ease; }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .sticky-header {
            transition: all 0.3s ease;
        }
        .sticky-header.scrolled {
            padding-top: 1rem;
            padding-bottom: 1rem;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
        }
