@font-face {font-family: 'TeachersRegular'; src: url('../../fonts/Teachers-Regular.ttf') format('ttf');} 

        /* --- GLOBAL STYLES --- */
        :root {
            --dark-bg: #0d0d0d;
            --text-color: #ffffff;
            --secondary-text: #d1d5db; /* gray-300 */
            --subtle-text: #6b7280; /* gray-500 */
            --primary-highlight: #d1cfcf; /* A bright green for links/accents */
            --spacing-xs: 0.5rem;
            --spacing-sm: 1rem;
            --spacing-md: 1.5rem;
            --spacing-lg: 2.5rem;
            --spacing-xl: 5rem;
            --border-radius: 20px; /* Full rounded */
        }

        body {
            font-family: 'TeachersRegular', sans-serif;
            background-color: var(--dark-bg);
            margin: 0;
            padding: 0;
            line-height: 1.5;
            letter-spacing: 0.06em;
            /* Body height will expand based on content, allowing scrolling */
        }

        /* --- FIXED BACKGROUND WRAPPER --- */
        .fixed-video-wrapper {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            z-index: -1; /* Ensures it stays behind all content */
            overflow: hidden;
        }

        /* --- VIDEO AND OVERLAY STYLES --- */
        .background-video {
            position: absolute;
            top: 50%;
            left: 50%;
            min-width: 100%;
            min-height: 100%;
            width: auto;
            height: auto;
            z-index: 0;
            /* Initial state: zoomed in and very subtle opacity */
            transform: translate(-50%, -50%) scale(1.1); 
            object-fit: cover;
            opacity: 0.05; 
            transition: opacity 1s ease-out, transform 1s ease-out; 
            pointer-events: none; 
        }

        .video-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
            /* Initial state: Dark semi-transparent overlay */
            background: rgba(0, 0, 0, 0.7); 
            transition: background-color 1s ease-out;
        }

        /* Hover state: Now uses the 'video-active' class on the body to affect the fixed background */
        body.video-active .background-video {
            opacity: 1.0; /* Video becomes more visible */
            transform: translate(-50%, -50%) scale(1); /* Scales back to normal */
        }
        
        body.video-active .video-overlay {
            background: rgba(0, 0, 0, 0.3); /* Overlay lightens slightly to reveal video */
        }

        /* --- FLOATING HEADER (NAVIGATION) STYLES --- */
        .main-header {
            position: fixed; /* Make it fixed/floating at the top */
            top: 0;
            left: 0;
            width: 100%;
            z-index: 50; /* High z-index to sit on top of all scrolling content */
            box-sizing: border-box;
            background-color: var(--dark-bg);
            padding: 10px; /* Internal padding creates the 10px spacing */
            display: flex;
            justify-content: space-between; /* Space logo and menu/links */
            align-items: center;
            transition: all 0.3s ease-in-out;
            /* Default height is managed by content (logo + padding) */
        }

        /* Shared Logo Styles */
        .logo-container {
            /* Fixed size constraint to prevent header height extension */
            width: 50px; 
            max-width: 50px; 
            height: 40px; 
            min-height: 40px;

            /* Use Flexbox to center the image within its container (handles vertical centering) */
            display: flex; 
            justify-content: center; /* Center horizontally */
            align-items: center; /* Center vertically */
        }

        .logo-container img {
            max-width: 100%; /* Constrain width to 50px */
            max-height: 100%; /* Constrain height to 40px */
            object-fit: contain; 
            height: auto; 
            display: block;
            border-radius: 4px;
        }


        /* 1. Left-Aligned Logo (Visible on mobile/default) */
        .left-logo {
            /* Inherits .logo-container styles */
            z-index: 51; 
        }

        /* 2. Centered Logo (Hidden by default on mobile) */
        .centered-logo {
            display: none; 
            max-width: none; /* Constrain width to 50px */
            max-height: none; /* Constrain height to 40px */
            object-fit: none; 
        }

        .centered-logo img {
            height: 30px; 
        }

        .logo-img {
            width: 100%; 
            max-width: 50px; 
            height: auto;
            display: block;
            min-height: 40px;
            background-color: #34D399; 
            border-radius: 4px;
            object-fit: contain;
        }

        /* Nav Links Container (Mobile First: Hidden) */
        .nav-links {
            display: none; /* Hidden by default */
            flex-direction: column;
            width: 100%;
            position: absolute;
            /* Position below the header bar (10px padding + 40px min-height + 10px padding = 60px) */
            top: 60px; 
            left: 0;
            background-color: var(--dark-bg);
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            padding-bottom: 10px;
        }

        /* Mobile Menu Open State */
        .main-header.nav-open .nav-links {
            display: flex;
        }

        .nav-links a {
            color: var(--text-color);
            text-decoration: none;
            padding: 10px 20px;
            text-align: left;
            transition: background-color 0.2s;
            font-weight: 100;
        }

        .nav-links a:hover {
            background-color: #1a1a1a;
        }

        /* Mobile Menu Button (Hamburger) */
        .menu-button {
            display: flex; /* Show only on mobile by default */
            flex-direction: column;
            justify-content: space-around;
            width: 30px;
            height: 25px;
            background: none;
            border: none;
            cursor: pointer;
            padding: 0;
        }
        
        .menu-button .icon-bar {
            display: block;
            width: 100%;
            height: 3px;
            background-color: var(--text-color);
            border-radius: 1px;
            transition: all 0.3s linear;
            transform-origin: 1px;
        }


        /* Hero container holds the hover area and main message */
        .hero-container {
            position: relative;
            z-index: 5; /* Above the fixed video */
            overflow: hidden;
            /* Compensation for the 60px fixed header height */
            margin-top: 60px; 
            min-height: calc(100vh - 60px); 
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 var(--spacing-sm); 
            box-sizing: border-box;
            background-color: transparent; /* Keep background transparent here */
        }

        .fit-logo-img {
            /* Spans 100% of the space remaining inside the 10px margin */
            width: 100%; 
            height: auto;
            display: block;
            /* Placeholder styling for visibility */
            min-height: 40px;
            background-color: transparent; /* A distinct placeholder color */
            border-radius: 4px;
            object-fit: contain;
        }

        /* --- HERO CONTENT (No Change) --- */
        .hero-content {
            position: relative;
            z-index: 2;
            text-align: center;
            color: var(--text-color);
            padding: var(--spacing-lg);
            max-width: 56rem; 
            margin-left: auto;
            margin-right: auto;
            box-sizing: border-box;
        }

        .about-hero-content {
            position: relative;
            z-index: 2;
            text-align: center;
            color: var(--text-color);
            padding: var(--spacing-lg);
            max-width: 56rem; 
            margin-left: auto;
            margin-right: auto;
            box-sizing: border-box;
        }

        .hero-content h1 {
            font-size: 3.75rem; 
            font-weight: 800; 
            letter-spacing: -0.025em; 
            margin-bottom: var(--spacing-md);
            margin-top: 0;
        }

        /* ... Button styles remain the same ... */
        .action-buttons {
            display: flex;
            justify-content: center;
            gap: var(--spacing-sm);
        }

        .action-buttons button {
            padding: 0.75rem 2rem;
            font-size: 1.125rem;
            font-weight: 100;
            border-radius: var(--border-radius);
            box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
            transition: background-color 0.3s, color 0.3s, border-color 0.3s;
            cursor: pointer;
            border: 2px solid transparent;
        }

        .action-buttons button::first-letter {
            font-size: 1.2em;
        }

        .button-primary {
            background-color: var(--text-color);
            color: var(--dark-bg);
            border-color: var(--text-color);
        }
        
        .button-primary:hover {
            background-color: #e5e7eb;
        }

        .button-secondary {
            background-color: transparent;
            color: var(--text-color);
            border-color: var(--text-color);
        }

        .button-secondary:hover {
            background-color: var(--text-color);
            color: var(--dark-bg);
        }
        /* ... Button styles end ... */

        /* --- NEW: LINK BOX STYLES --- */
        .link-boxes-container {
            display: flex;
            flex-direction: column; /* Stacks vertically on mobile (default) */
            align-items: center;
            gap: var(--spacing-md);
            margin-top: var(--spacing-lg);
            width: 100%;
        }

        .link-box {
            background-color: #1e1e1e;
            border-radius: var(--border-radius);
            padding: var(--spacing-sm);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
            transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
            width: 100%;
            max-width: 350px;
            text-align: center;
            cursor: pointer;
        }

        .link-box:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
        }

        .box-content-link {
            display: block;
            text-decoration: none;
            position: relative;
            border-radius: 4px;
            overflow: hidden;
        }

        .box-image {
            width: 100%;
            height: auto;
            display: block;
            border-radius: 4px;
            transition: transform 0.3s ease-in-out;
        }

        .link-box:hover .box-image {
            transform: scale(1.05); /* Slight zoom on image hover */
        }

        /* --- OVERLAY TEXT STYLES --- */
        .image-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #0d0d0dc2; /* Semi-transparent highlight */
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0; /* Initially hidden */
            transition: opacity 0.3s ease-in-out;
            pointer-events: none; 
            padding: var(--spacing-md); 
            box-sizing: border-box;
        }

        .box-content-link:hover .image-overlay {
            opacity: 1; /* Fade in on hover */
        }

        .image-overlay p {
            color: var(--dark-bg); /* Dark text color for contrast */
            font-size: 1.5rem; 
            font-weight: 700;
            text-shadow: 0 0 5px rgba(255, 255, 255, 0.3); /* Subtle white shadow */
            margin: 0;
            line-height: 1.2;
        }
        /* --- END OVERLAY TEXT STYLES --- */


        .box-text-link {
            display: inline-block;
            margin-top: var(--spacing-sm);
            color: var(--primary-highlight);
            text-decoration: none;
            font-weight: 400;
            padding: 5px 0;
            transition: color 0.2s;
        }

        .box-text-link:hover {
            color: var(--text-color);
        }


        .note-text {
            margin-top: var(--spacing-xl); 
            font-size: 0.875rem; 
            color: var(--subtle-text);
        }

        /* --- ADDITIONAL SCROLLABLE CONTENT (DEMO) --- */
        .additional-content {
            position: relative;
            z-index: 5;
            background-color: var(--dark-bg);
            padding: var(--spacing-xl) 10px;
            color: var(--secondary-text);
            text-align: center;
        }

        .about-additional-content {
            position: relative;
            z-index: 5;
            background-color: transparent;
            padding: 0;
            color: var(--secondary-text);
            text-align: center;
        }
        
        
        .additional-content h2 {
            font-size: 2.5rem;
            color: var(--text-color);
            margin-bottom: var(--spacing-md);
        }

        .about-additional-content h2 {
            font-size: 2.5rem;
            color: var(--text-color);
            margin-bottom: var(--spacing-md);
        }

        .link-box h3::first-letter {
            font-size: 1.2em;
        }

        .cap::first-letter {
    font-size: 1.2em;
}

.spike {
    font-size: 1.2em;
    vertical-align: -0.08em;
}

        h3 {
    display: block;
    font-size: 1.17em;
    margin-block-start: 0.1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: 500;
    unicode-bidi: isolate;
}
        
        .content-block {
            max-width: 600px;
            margin: 0 auto var(--spacing-lg) auto;
            padding: var(--spacing-lg);
            border-radius: 20px;
            background-color: #1a1a1a;
            text-align: left;
        }

/* FOOTER BAR */
#social-bar-wrapper {
    width: 100%;
    background-color: rgba(0, 0, 0, 0.5); 
    display: flex;
    justify-content: center;
    padding: 15px 0;
}
#social {
    display: grid;
    grid-template-rows: auto 1fr;
    grid-template-columns: 1fr;
    gap: 10px;
}

#social p {
    margin: 0;
    text-align: center;
    font-family:Verdana, Geneva, sans-serif; 
    color:#cccccc;
    font-size:11px;
}

.social-icons {
    display: flex; 
    justify-content: center;
    align-items: center;
    line-height: 1;
}

.social-icons a {
    margin-right: 10px; 
}
.social-icons a:last-child {
    margin-right: 0;
}

.social-icons img {
    width: 30px; 
    height: 30px;
}

#footer {
    /* position: fixed; */
    bottom: 0;
    width: 100%;
    font-family:Verdana, Geneva, sans-serif; 
    color:#cccccc; 
    font-size:11px; 
    text-align:center; 
    padding-bottom:15px;
    bottommargin: 0;
    background-color: transparent;
    letter-spacing: 0.00em;
  }
  /* END FOOTER BAR */

        /* --- RESPONSIVENESS (md breakpoint equivalent) --- */
        @media (min-width: 768px) {
            .hero-content h1 {
                font-size: 5rem; /* text-8xl */
            }
            .hero-content p {
                font-size: 1.5rem; /* text-2xl */
            }

            .about-hero-content p {
                font-size: 1.0rem; /* text-2xl */
            }
            
            
            .main-header {
                /* Reset alignment for desktop view */
                justify-content: flex-start;
                gap: var(--spacing-lg); /* Space between logo and links */
            }

            .nav-links {
                /* Show links horizontally on desktop */
                display: flex;
                flex-direction: row;
                position: static;
                width: auto;
                border-top: none;
                padding-bottom: 0;
                /* Push links to the right */
                margin-left: auto;
            }
            
            .nav-links a {
                padding: 10px 15px;
            }

            .menu-button {
                display: none; /* Hide button on desktop */
            }

            /* Desktop Link Box Alignment */
            .link-boxes-container {
                flex-direction: row;
                justify-content: center;
                gap: var(--spacing-lg);
            }
        }