body {
            font-family: 'Ubuntu Mono', monospace;
            background-color: #10100E;
            color: #E2E2E2;
            font-size: 15px; /* Base font size */
            overflow: hidden; /* Prevent native scrollbars */
            position: relative; /* Needed for the pseudo-element */
        }
        .container {
            max-width: 900px;
            margin: 0 auto;
            padding: 0 2rem;
        }
        /* Each section is a full-screen overlay */
        .resume-section {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.6s ease-in-out, filter 0.3s ease-in-out;
        }
        .resume-section.active {
            opacity: 1;
            pointer-events: auto;
        }
        .resume-section.quick-scrolling {
            filter: blur(5px) brightness(0.7);
        }
        .section-title {
            width: 200px;
            flex-shrink: 0;
            font-weight: 700;
            color: #A1A1A1;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            padding-right: 2rem;
            margin-right: 2rem;
        }
        .content {
            flex-grow: 1;
        }
        
        h3 {
            font-size: 1em; /* Large title */
            font-weight: 700;
            color: #fff;
            line-height: 1.2; /* Tighter line height for multi-line titles */
        }
        .sub-heading {
            color: #a1a1aa; /* Lighter gray for subtext */
            font-size: 0.85em; /* Smaller subtext */
            margin-top: 0.25rem;
        }
        .text-muted-date {
            color: #a1a1aa; /* Matching subtext color */
            font-size: 0.85em; /* Matching subtext size */
            white-space: nowrap; 
            margin-left: 1rem; 
            text-align: right; /* Ensure date aligns to the right */
        }

        .item-title {
            color: #E2E2E2; 
            font-weight: 700;
            margin-bottom: 0.25rem;
        }
        .item-description {
            color: #a1a1aa; 
        }

        li:hover {
            color: #fff;
        }

        /* --- PINNED INITIALS ANIMATION --- */
        #initials-pin {
            position: fixed;
            top: 2.5rem;
            left: 2.5rem;
            font-size: 1.2rem; /* Made logo smaller */
            font-weight: 700;
            z-index: 50;
            opacity: 0;
            transition: opacity 0.5s ease-in-out;
            transition-delay: 0.5s; /* Delay appearance */
        }
        #initials-separator {
            position: fixed;
            top: 5rem; /* Positioned below the initials */
            left: 2.5rem; 
            width: 3rem; /* Horizontal line width */
            height: 1px; /* Horizontal line thickness */
            background-color: #f59e0b; /* Amber color */
            z-index: 50;
            opacity: 0;
            transition: opacity 0.5s ease-in-out;
            transition-delay: 0.5s; /* Match initials delay */
        }
        #initials-pin.visible, #initials-separator.visible {
            opacity: 1;
        }
        #main-name {
            transition: opacity 0.4s ease-in-out, transform 0.8s ease-in-out;
        }
        #main-name.pinned {
            transform: translate(-40vw, -40vh) scale(0.2);
            opacity: 0;
        }
        /* --- END OF ANIMATION STYLES --- */

        .animatable-item {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.5s ease-out, transform 0.5s ease-out;
        }

        .resume-section.active .animatable-item {
            opacity: 1;
            transform: translateY(0);
        }

        .resume-section.active .animatable-item:nth-child(1) { transition-delay: 0.3s; }
        .resume-section.active .animatable-item:nth-child(2) { transition-delay: 0.45s; }
        .resume-section.active .animatable-item:nth-child(3) { transition-delay: 0.6s; }
        .resume-section.active .animatable-item:nth-child(4) { transition-delay: 0.75s; }
        .resume-section.active .animatable-item:nth-child(5) { transition-delay: 0.9s; }
        .resume-section.active .animatable-item:nth-child(6) { transition-delay: 1.05s; }

        /* --- RULER SCROLL INDICATOR --- */
        #ruler-nav {
            position: fixed;
            top: 0;
            right: 2.5rem;
            z-index: 100;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease-in-out;
            height: 100vh; /* Full height */
            display: flex;
            align-items: center;
        }
        #ruler-nav.visible {
            opacity: 1;
        }
        #ruler-line {
            width: 1px;
            height: 80%; /* Slightly shorter than full height */
            background-color: #374151;
            position: relative;
        }
        #ruler-list {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        #ruler-list li {
            position: relative;
            height: 1px;
            display: flex;
            align-items: center;
        }
        #ruler-list li::before {
            content: '';
            position: absolute;
            right: 0;
            width: 8px; /* Minor marking */
            height: 1px;
            background-color: #6b7280;
            transition: all 0.3s ease;
        }
        #ruler-list li.major-mark::before {
             width: 16px; /* Major marking */
        }
        #ruler-list li.highlighted::before {
            width: 30px; /* Highlighted major marking */
            background-color: #f59e0b;
        }
        #ruler-list .ruler-title {
            position: absolute;
            right: 40px;
            color: #f59e0b;
            font-size: 0.8rem;
            text-transform: uppercase;
            opacity: 0;
            transition: opacity 0.3s ease;
            white-space: nowrap;
        }
        #ruler-list li.highlighted .ruler-title {
            opacity: 1;
        }

        /* --- DOWNLOAD BUTTON --- */
        #download-btn, #research-btn {
            border: 1px solid #f59e0b;
            color: #f59e0b;
            transition: all 0.2s ease-out; /* For magnetic effect */
        }
        #download-btn:hover, #research-btn:hover {
            background-color: #f59e0b;
            color: #10100E;
        }


        /* --- MOBILE RESPONSIVENESS --- */
        @media (max-width: 768px) {
            body {
                font-size: 14px;
            }
            .container {
                padding: 0 1.5rem;
            }
            .resume-section .flex-col.md\:flex-row {
                flex-direction: column;
            }
            .section-title {
                width: auto;
                margin-right: 0;
                padding-right: 0;
                margin-bottom: 1.5rem;
                text-align: left;
            }
            #main-name {
                font-size: 2.5rem; /* Smaller name on mobile */
                margin-bottom: 4rem;
            }
            #initials-pin, #initials-separator {
                display: none; /* Hide pinned logo on mobile */
            }
            #ruler-nav {
                right: 1.5rem;
            }
            
            /* Fix for experience/education layout on mobile */
            .content .flex {
                flex-direction: column;
                align-items: flex-start;
            }
            .text-muted-date {
                text-align: left;
                margin-left: 0;
                margin-top: 0.5rem;
            }
        }
    