/* ==================================== */
/* 1. CSS VARIABLES AND GLOBAL RESET    */
/* ==================================== */

:root {
    /* Base Colors */
    --background-color: #0a0a0a;
    --primary-text-color: #ffffff;
    --secondary-text-color: #ccc; /* Added for clarity in p tags */
    --link-text-color: #f0f0f0;
    --border-color: #2c2c2c;

    /* Primary Accent Color (Red/Orange) */
    --accent-color-1: #ff3503; /* Main Red/Highlight */
    --accent-color-2: #c53117; 
    
    /* Secondary Accent Color */
    --accent-color-3: #8e44ad;

    /* UI Colors */
    --overlay-color: rgba(0, 0, 0, 0.6);
    --shadow-color: rgba(255, 107, 0, 0.3);

    /* Button Colors */
    --button-bg-color: var(--accent-color-1);
    --button-text-color: #ffffff;
    --button-hover-color: var(--accent-color-1);
    --secondary-button-color: #414141;
    --secondary-button-hover-color: #515050;
    --highlight-text-color: var(--accent-color-1);
}

/* Global Reset (Box-sizing and default font) */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Orbitron', sans-serif; /* Primary font */
}

/* Body Styles and Scroll Behavior */
body {
    background-color: var(--background-color);
    color: var(--primary-text-color);
    margin: 0;
    overflow-x: hidden;
    min-height: 100vh;
    /* Firefox scrollbar style */
    scrollbar-width: thin;
    scrollbar-color: #6b6b6b var(--background-color);
}

html {
    image-rendering: -webkit-optimize-contrast;
    scroll-behavior: smooth;
}

/* Smooth scroll wrapper (for libraries) */
.scroll-content {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    will-change: transform;
    transform: translateY(0);
}

/* WebKit Scrollbar Styling (Chrome, Safari) */
::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background: var(--background-color);
}

::-webkit-scrollbar-thumb {
    background-color: #8f1818;
    border-radius: 10px;
    border: 2px solid var(--background-color);
}

/* ==================================== */
/* 2. NAVIGATION STYLES                 */
/* ==================================== */

/* Note: Your code has a conflicting font-family here for global reset
   * { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; }
   I removed it and will assume 'Orbitron' is the desired global font. 
   If you need 'Segoe UI', apply it only to navigation elements.
*/

nav {
    position: sticky;
    top: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    z-index: 1000;
    background-color: rgba(0,0,0,0.2);
    backdrop-filter: blur(5px);
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.logo {
    display: flex;
    align-items: center;
}

.logo img {
    height: 60px;
}

.nav-links {
    display: flex;
    gap: 2rem;
}

.nav-links a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    letter-spacing: 12px;
    transition: color 0.3s ease;
    margin-right: 50px;
}

.nav-links a:hover {
    color: var(--button-hover-color);
}

.burger {
    display: none;
    cursor: pointer;
}

.burger div {
    width: 25px;
    height: 3px;
    background-color: #fff;
    margin: 5px;
    transition: all 0.3s ease;
}

/* Navigation Link Fade Animation (for slide-in menu) */
@keyframes navLinkFade {
    from { opacity: 0; transform: translateX(50px); }
    to { opacity: 1; transform: translateX(0px); }
}

/* ==================================== */
/* 3. HERO SECTIONS & PS-STYLE INTERFACE */
/* ==================================== */

/* Section Title (General) */
.section-title {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 3rem;
    color: var(--highlight-text-color);
    position: relative;
    font-family: 'Orbitron', sans-serif; /* Redundancy removed from download section */
    letter-spacing: 2px;
}

.section-title::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-color-1), var(--accent-color-2));
}

/* Primary Hero (Spline/Video Background) */
.hero-section {
    position: relative;
    height: 100vh;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgb(0, 0, 0);
}

.hero-spline {
    position: absolute;
    background-color: #000 !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 106%;
    border: none;
    z-index: 0;
}

/* Secondary Hero (Carousel/3D Scene) */
.hero {
    min-height: 105vh;
    display: flex;
    position: relative;
    overflow: hidden;
    background-color: #000;
}

.hero-spline2 {
    position: absolute;
    top: -10rem;
    left: 0;
    width: 105%;
    height: 121%;
    border: none;
}



/* Hero Content */
.hero-content {
    text-align: left;
    z-index: 1;
    padding: 0 20px;
}

.hero-content h1 {
    font-size: 3rem;
    color: #ff3503;
    margin-bottom: 1rem;
}

.hero-content p {
    font-size: 1.2rem;
    color: #ccc;
    margin-bottom: 2rem;
    max-width: 600px;
}

.hero-button {
    padding: 1rem 2rem;
    background: linear-gradient(45deg, #ff3503, #ff5722);
    color: white;
    text-transform: uppercase;
    border-radius: 8px;
    font-weight: 600;
    transition: all 0.3s ease;
    text-decoration: none;
}

.hero-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 53, 3, 0.4);
}

/* Video Placeholders */
.hero-video, .hero-video1 {
    position: absolute;
    right: 3%;
   margin-bottom: 2rem;
    border-radius: 12px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
}
.hero-video1 { bottom: 4px; }
.hero-video { bottom: -1.7rem; }

/* Content Animation */
@keyframes slideInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

/* PS-Style Interface Wrapper */
#projects {
    position: relative;
    width: 110vw;
    height: 100vh;
    overflow: hidden;
    background: #000;
}

/* Heto ang base style para sa Spline background mo */
.hero-spline3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-color: #000 !important;
    border: none;
    pointer-events: none; /* Para ma-click mo pa rin ang cards at buttons sa itaas */
}

.container {
    width: 100vw;
    min-height: 100vh;
    display: flex;
    position: relative;
    z-index: 1; /* Nasa itaas ng Spline */
    overflow: hidden;
    
}

/* PS-Style Title Screen */
.title-screen {
    position: absolute;
    top: 57%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 10;
    opacity: 0;
    animation: titleFadeIn 2s ease-out forwards;
}

@keyframes titleFadeIn {
    0% { opacity: 0; transform: translate(-50%, -50%) scale(0.8); }
    100% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}


/* ==========================================
   ASCENSION PROTOCOL: TITLE CORE ENGINE
   ========================================== */

/* 1. Ang Animation Logic: Nagbibigay ng 'Buhay' sa Title */
@keyframes titlePulse {
    0% { 
        opacity: 0.8; 
        filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.6)); 
    }
    50% { 
        opacity: 1; 
        /* Orange/Amber glow para mag-match sa grid accents mo */
        filter: drop-shadow(0 0 15px rgba(255, 107, 0, 0.45)); 
    }
    100% { 
        opacity: 0.8; 
        filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.8)); 
    }
}

/* 2. Ang Title Styling: Metallic & Wide-Spaced Protocol */
.title-screen h1 {
    font-size: 2rem;
    font-weight: 300;
    margin-top:  4.85rem;
    margin-bottom: 1.2rem;
    
    /* Metallic/Glassy Text Effect */
    background: whitesmoke;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    
    /* Ascension protocol look */
    text-transform: uppercase;
    letter-spacing: 10px; /* High-end professional spacing */
    
    /* Activation ng Animation */
    animation: titlePulse 4s infinite ease-in-out;
    
    /* Layers & Positioning */
    position: relative;
    z-index: 10;
    pointer-events: none; /* Para hindi ma-block ang clicks sa slider sa likod */
}

/*end*/

.title-screen .loading {
    font-size: 1.2rem;
    color: #888;
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}


/* PS-Style Main Interface */
.main-interface {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation: interfaceReveal 1s ease-out 3s forwards;
}

@keyframes interfaceReveal {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/* PS-Style Project Slider - Pro Ascension Version */
.projects-slider {
    position: absolute;
    top: 5%; /* Itinaas nang konti para sa mas magandang hierarchy */
    left: 0;
    right: 0;
    height: 55%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5%;
    perspective: 1000px; /* Dagdag depth para sa 3D transition */
}

.slider-container {
    position: relative;
    width: 100%;
    max-width: 1600px; /* Mas malapad para sa 8 cards vibe */
    height: 100%;
    overflow: visible; /* Binago sa visible para hindi maputol ang glow */
}

.slider-track {
    display: flex;
    /* Mas smooth na transition para sa Ascension feel */
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1); 
    height: 100%;
    gap: 3rem;
    align-items: center;
}

.project-card {
    min-width: 260px; /* Ginawang mas malapad para sa pro look */
    height: 380px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1); /* Mas manipis na border para sa elegance */
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(15px); /* Mas malakas na blur */
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    transform: scale(0.8) translateZ(-50px); /* Naka-atras ang mga inactive cards */
    opacity: 0.4;
    display: flex;
    flex-direction: column;
}

/* Active Card - The Ascension Point */
.project-card.active {
    transform: scale(1.05) translateZ(50px); /* Lumalapit ang card sa user */
    opacity: 1;
    border-color: rgba(255, 53, 3, 0.6);
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 
        0 0 40px rgba(255, 53, 3, 0.2),
        inset 0 0 20px rgba(255, 255, 255, 0.05);
}

/* Red Accent Line sa itaas ng card */
.project-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 3px;
    background: #ff3503;
    transition: width 0.4s ease;
}

.project-card.active::after {
    width: 100%;
}

.project-mockup {
    width: 100%;
    height: 65%;
    background: #0a0a0a;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Pro Shine Effect */
.project-mockup::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -150%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        45deg, 
        transparent, 
        rgba(255, 255, 255, 0.08), 
        transparent
    );
    transform: rotate(25deg);
    animation: proShine 4s infinite;
}

@keyframes proShine {
    0% { left: -150%; }
    20% { left: 100%; }
    100% { left: 100%; }
}

.pimage {
    width: 90%; /* Inayos ang size para hindi sagad */
    height: 85%;
    object-fit: cover; /* Cover para magmukhang professional mockup */
    border-radius: 8px;
    transition: transform 0.6s ease;
    filter: grayscale(30%); /* Inactive cards are slightly muted */
}

.project-card.active .pimage {
    transform: scale(1.05);
    filter: grayscale(0%);
}

.project-info {
    padding: 1rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.4));
}

.project-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.3rem;
    color: #fff;
    text-align: center;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.project-type {
    font-size: 0.75rem;
    color: #ff3503; /* Red accent for the tech type */
    text-align: center;
    font-family: 'Monospace', sans-serif;
    letter-spacing: 2px;
    opacity: 0.8;
}

/* PS-Style Details Panel */
/* ============================================================
   PRO ASCENSION: DETAILS PANEL & INTERFACE ELEMENTS (MERGED)
   ============================================================ */

.details-panel {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 32%; /* Optimized for slider space */
    background: linear-gradient(to top, 
        rgba(0, 0, 0, 1) 0%, 
        rgba(0, 0, 0, 0.8) 70%, 
        transparent 100%);
    backdrop-filter: blur(25px);
    padding: 3rem 5%;
    display: flex;
    align-items: flex-end; 
    justify-content: space-between;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    z-index: 10;
}

/* Red Accent Header Line */
.details-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 2px;
    width: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        #ff3503 50%, 
        transparent 100%);
    box-shadow: 0 0 15px rgba(255, 53, 3, 0.5);
}

/* Project Text Details */
.project-details {
    flex: 1;
    max-width: 65%;
    animation: detailsSlideUp 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

@keyframes detailsSlideUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.details-title {
    font-size: 2.8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -1px;
    background: linear-gradient(to right, #ffffff, #ff3503);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.5rem;
}

.details-description {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    margin-bottom: 2rem;
    max-width: 800px;
    font-weight: 300;
}

/* Tech Stack Tags */
.tech-stack {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.tech-tag {
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    padding: 0.4rem 1.2rem;
    border-radius: 4px; /* Pro Gaming Sharp Corners */
    font-size: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.tech-tag:hover {
    background: #ff3503;
    border-color: #ff3503;
    transform: translateY(-3px);
}

/* Call to Action Buttons */
.action-buttons {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    min-width: 240px;
}

.view-button {
    padding: 1.2rem;
    background: #ffffff;
    border: none;
    border-radius: 4px;
    color: #000;
    font-size: 0.9rem;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
    text-decoration: none;
}

.view-button:hover {
    background: #ff3503;
    color: #fff;
    transform: scale(1.05);
    box-shadow: 0 10px 30px rgba(255, 53, 3, 0.4);
}

.demo-button {
    padding: 1.2rem;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.4s ease;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
    text-decoration: none;
}

.demo-button:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}

/* Navigation & UI Hints */
.navigation-hints {
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 1rem;
    align-items: center;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 4px;
    pointer-events: none;
}

.nav-arrow {
    font-size: 1.2rem;
    color: #ff3503;
}

/* Sound Indicator */
.sound-indicator {
    position: fixed;
    top: 2rem;
    right: 2rem;
    font-size: 1.5rem;
    color: #ff3503;
    z-index: 100;
    cursor: pointer;
    animation: soundPulse 2s infinite;
}

@keyframes soundPulse {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.1); filter: drop-shadow(0 0 10px #ff3503); }
}

/* Professional Signature with Underline Animation */
.signature {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1rem;
    font-weight: 300;
    color: #fff;
    opacity: 0;
    letter-spacing: 3px;
    text-transform: uppercase;
    animation: signatureFadeIn 1s ease-out 6s forwards;
    z-index: 20;
}

@keyframes signatureFadeIn {
    0% { opacity: 0; transform: translateX(-50%) translateY(20px); }
    100% { opacity: 0.6; transform: translateX(-50%) translateY(0); }
}

.signature::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, #ff3503, transparent);
    transform: scaleX(0);
    animation: underlineExpand 1.5s ease-out 6.5s forwards;
}

@keyframes underlineExpand {
    0% { transform: scaleX(0); }
    100% { transform: scaleX(1); }
}

/* 3D Carousel */
/* --- CAROUSEL CONTAINER (Structure Maintained) --- */
.carousel-container {
    top: 90px;
    position: absolute;
    width: 400px;
    height: 300px;
    left: 40%;
    transform: translateX(-45%) translateX(5000px);
    perspective: 1000px;
    overflow: visible;
}

.carousel {
    --quantity: 9;
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    animation: spin 20s linear infinite;
}

/* --- CARD DESIGN (Modified for Ascension Glow) --- */
.carousel img {
    position: absolute;
    width: 150px;
    height: auto;
    left: 80px;
    top: 10rem;
    
    /* Crystal/Glassmorphism Effect */
    background: rgba(15, 15, 15, 0.4); 
    border-radius: 0.5rem;
    /* RED-ORANGE HUD BORDER */
    border: 1.5px solid rgba(255, 53, 3, 0.6); 
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    
    /* NEON EMBER GLOW */
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.8), 
        0 0 15px rgba(255, 53, 3, 0.4),
        inset 0 0 10px rgba(255, 53, 3, 0.2);
    
    /* Cybernetic Gradient */
    background-image: linear-gradient(
        135deg,
        rgba(255, 53, 3, 0.1),
        rgba(0, 0, 0, 0.4)
    );
    
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

@keyframes spin {
    from { transform: rotateX(-16deg) rotateY(0deg); }
    to { transform: rotateX(-16deg) rotateY(360deg); }
}

.animate-on-load {
    opacity: 0;
    transform: scale(0.8);
    animation: fadeInZoom 1s ease-out forwards;
    animation-delay: 0.3s;
}

@keyframes fadeInZoom {
    to { opacity: 1; transform: scale(1); }
}

/* --- CARD ITEMS (Structure Maintained) --- */
.item {
    position: relative;
    left: 100px;
    top: 50px;
    inset: 0 0 0 0;
    transform: rotateY(calc((var(--i) - 1) * (360deg / var(--quantity)))) translateZ(550px);
    text-align: center;
    z-index: 0;
}

/* POWER-UP HOVER EFFECT */
.item img:hover {
    transform: scale(1.2) translateY(-10px);
    border-color: #ff3503;
    box-shadow: 
        0 0 30px rgba(255, 53, 3, 0.8),
        0 0 60px rgba(255, 53, 3, 0.4);
    filter: brightness(1.2);
    cursor: pointer;
}

/* --- FULLSCREEN VIEWER (Fixed Layout) --- */
.fullscreen-overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.98);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 99999;
    flex-direction: column;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.fullscreen-overlay img {
    position: relative; /* Fixed from absolute */
    bottom: 52rem;
    width: auto;
    max-width: 80%;
    max-height: 80vh;
    border-radius: 10px;
    border: 2px solid #ff3503;
    box-shadow: 0 0 50px rgba(255, 53, 3, 0.5);
}

.close-btn {
    position: absolute;
    top: 31%; /* Fixed from 127rem */
    right: 40px;
    font-size: 50px;
    color: #ff3503;
    cursor: pointer;
    z-index: 100000;
    transition: 0.3s;
}

.close-btn:hover {
    transform: rotate(90deg) scale(1.2);
    color: white;
}

/* --- HUD NAVIGATION BUTTONS --- */
.prev-btn, .next-btn {
    position: absolute;
    top: 38%;
    transform: translateY(-50%);
    background: rgba(255, 53, 3, 0.1);
    border: 1px solid #ff3503;
    color: #ff3503;
    font-size: 30px;
    padding: 20px;
    cursor: pointer;
    z-index: 100000;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.prev-btn:hover, .next-btn:hover {
    background: #ff3503;
    color: white;
    box-shadow: 0 0 20px rgba(255, 53, 3, 0.6);
}

.prev-btn { left: 40px; }
.next-btn { right: 40px; }

/* Chart Container (Glass/Neon Style) */
/* ==========================================
   ASCENSION HUD: ADVANCE CHART CONTAINER
   ========================================== */

.chart-container {
    position: absolute;
    bottom: 5%;
    left: 3%;
    width: 25rem;
    height: 14.56rem;
    
    /* Ultra Glassmorphism */
    background: linear-gradient(
        135deg, 
        rgba(255, 255, 255, 0.05) 0%, 
        rgba(0, 0, 0, 0.6) 100%
    );
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    
    /* PlayStation/Futuristic Shape */
    border-radius: 15px;
    border: 1px solid rgba(255, 53, 3, 0.3);
    
    padding: 25px;
    z-index: 100;
    
    /* Cyber Glow & Shadow */
    box-shadow: 
        0 20px 50px rgba(0, 0, 0, 0.5),
        inset 0 0 20px rgba(255, 53, 3, 0.1);
    
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    overflow: hidden;
}

/* Corner Accents - Ito ang nagpapache-techy */
.chart-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        linear-gradient(45deg, #ff3503 2px, transparent 2px) 0 0,
        linear-gradient(-45deg, #ff3503 2px, transparent 2px) 100% 0,
        linear-gradient(225deg, #ff3503 2px, transparent 2px) 100% 100%,
        linear-gradient(135deg, #ff3503 2px, transparent 2px) 0 100%;
    background-size: 15px 15px;
    background-repeat: no-repeat;
    opacity: 0.8;
}

/* Moving Scanline Animation */
.chart-container::after {
    content: "";
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(255, 53, 3, 0.05),
        transparent
    );
    animation: chartScan 3s linear infinite;
    pointer-events: none;
}

@keyframes chartScan {
    0% { top: -100%; }
    100% { top: 100%; }
}

/* Hover Effect: Lalapit at liliwanag */
.chart-container:hover {
    transform: translateY(-10px) scale(1.02);
    border-color: rgba(255, 53, 3, 0.8);
    box-shadow: 
        0 30px 60px rgba(0, 0, 0, 0.6),
        0 0 20px rgba(255, 53, 3, 0.3);
}

/* Reset for the Canvas */
#myChart {
    width: 100% !important;
    height: 100% !important;
    filter: drop-shadow(0 0 5px rgba(255, 53, 3, 0.2));
}

/* ==================================== */
/* 4. CONTENT SECTIONS (WORK, SKILLS, CERTS) */
/* ==================================== */

.section {
    padding: 80px 0;
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* Work Cards */
.work-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 3rem;
    margin-top: 2rem;
}

.work-card {
    all: unset;
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
    display: block;
    width: 100%;
    text-align: left;
    cursor: pointer;
    border-radius: 15px;
    padding: 1rem;
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
    opacity: 0;
    transform: translateY(50px);
    animation: fadeInUp 0.6s ease-out forwards;
}

/* Work Card Staggered Animation Delays */
.work-card:nth-child(1) { animation-delay: 0.1s; }
.work-card:nth-child(2) { animation-delay: 0.2s; }
.work-card:nth-child(3) { animation-delay: 0.3s; }
.work-card:nth-child(4) { animation-delay: 0.4s; }
.work-card:nth-child(5) { animation-delay: 0.5s; }
.work-card:nth-child(6) { animation-delay: 0.6s; }

/* Global Fade In Up Animation for Cards */
@keyframes fadeInUp {
    to { opacity: 1; transform: translateY(0); }
}

.work-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
       rgba(255, 255, 255, 0.747),
        transparent
    );
    transition: left 0.6s ease;
}

.work-card:hover::before {
    left: 100%;
}

.work-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px var(--shadow-color);
    border-color: var(--accent-color-1);
}

.work-card h3 {
    color: var(--accent-color-1);
    margin-bottom: 1rem;
    font-size: 1.3rem;
}

.work-card p {
    color: var(--secondary-text-color);
    margin-bottom: 1rem;
}

.work-tech {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.work-tech .tech-tag {
    /* Overrides the PS-Style tech-tag for a different look */
    background: transparent;
    padding: 0.5rem 1rem;
    border-radius: 25px;
    font-size: 0.85rem;
    font-weight: 500;
    /* Gradient border */
    border: 2px solid;
    border-image: linear-gradient(45deg, #ff0303, #ff3503) 1;
    /* Gradient text */
    background-image: linear-gradient(45deg, #e8a4a4, #fcfcfc);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}


/* Skills Section - Hero Style */
#expertise {
    padding: 320px 3%;
    width: 100%;
    max-width: none;
    background: #0f0f0f;
    position: relative;
    z-index: 1;
}

#expertise::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(
        circle at 30% 70%,
        rgba(255, 81, 0, 0.06),
        transparent 70%
    );
    z-index: -1;
}

#expertise .section-title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 3rem;
    color: var(--accent-color-1);
}

/* Skills Grid Layout */
.skills-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

/* Skill Cards */
.skill-card {
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
    border: 1px solid var(--border-color);
    border-radius: 15px;
    padding: 2rem;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    opacity: 0;
    transform: translateY(50px);
    animation: fadeInUp 0.6s ease-out forwards;
}

/* Skill Card Staggered Animation Delays */
.skill-card:nth-child(1) { animation-delay: 0.1s; }
.skill-card:nth-child(2) { animation-delay: 0.2s; }
.skill-card:nth-child(3) { animation-delay: 0.3s; }
.skill-card:nth-child(4) { animation-delay: 0.4s; }

.skill-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.747),
        transparent
    );
    transition: left 0.6s ease;
}

.skill-card:hover::before {
    left: 100%;
}

.skill-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px var(--shadow-color);
    border-color: var(--accent-color-1);
}

.skill-card h3 {
    color: var(--accent-color-1);
    margin-bottom: 1rem;
    font-size: 1.3rem;
}

/* Skill Tags with Icons */
.skill-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.skill-tag {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--accent-color-1);
    color: var(--button-text-color);
    padding: 0.4rem 0.8rem;
    border-radius: 30px;
    font-size: 0.85rem;
    font-weight: 600;
    box-shadow: 0 4px 10px rgba(255, 53, 0, 0.2);
    transition: background 0.3s ease;
}

.skill-tag img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.3));
}

/* Certificates Section */
.certificates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

/* Certificates Section - Enhanced for Ascension Look */
.certificates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2.5rem; /* Mas malawak na spacing para sa 'breathing room' */
    margin-top: 2rem;
    perspective: 1000px; /* Importante para sa 3D effects */
}

.certificate-card {
    background: linear-gradient(135deg, rgba(26, 26, 26, 0.8) 0%, rgba(42, 42, 42, 0.9) 100%);
    backdrop-filter: blur(10px); /* Glassmorphism effect */
    border: 1px solid rgba(255, 255, 255, 0.1); /* Subtle border */
    border-radius: 20px; /* Mas rounded, mas modern */
    padding: 2rem;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); /* Ultra smooth transition */
    cursor: pointer;
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: rotateX(-10deg) translateY(30px); /* New entry angle */
    animation: rotateIn 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

/* Shine Effect Overlay */
.certificate-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent,rgba(255, 255, 255, 0.747), transparent);
    transition: 0.5s;
}

/* Certificate Card Staggered Animation Delays */
.certificate-card:nth-child(n) { animation-delay: calc(var(--delay, 0.1s) * n); } 
/* Tip: Pwede mo rin i-manual tulad ng dati mo: */
.certificate-card:nth-child(1) { animation-delay: 0.1s; }
.certificate-card:nth-child(2) { animation-delay: 0.2s; }
.certificate-card:nth-child(3) { animation-delay: 0.3s; }
.certificate-card:nth-child(4) { animation-delay: 0.4s; }
.certificate-card:nth-child(5) { animation-delay: 0.5s; }
.certificate-card:nth-child(6) { animation-delay: 0.6s; }

@keyframes rotateIn {
    to { 
        opacity: 1; 
        transform: rotateX(0) translateY(0); 
    }
}

/* Hover State - The "Ascension" */
.certificate-card:hover {
    transform: translateY(-12px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6), 
                0 0 20px calc(var(--accent-color-1) + '33'); /* Subtle glow */
    border-color: var(--accent-color-1);
}

.certificate-card:hover::before {
    left: 100%;
}

.certificate-card h3 {
    color: var(--accent-color-1);
    margin-bottom: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-shadow: 0 0 15px rgba(var(--accent-color-1-rgb), 0.3);
}

.certificate-issuer {
    color: var(--secondary-text-color);
    font-size: 0.95rem;
    margin-bottom: 1.5rem;
    opacity: 0.8;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.certificate-buttons {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
    z-index: 2;
}

/* ==================================== */
/* 5. BUTTONS AND MODALS                */
/* ==================================== */

/* General Button Style */
/* Buttons - Golden Ratio & Ascension Upgrade */
.btn {
    /* Golden Ratio applied to padding: 0.8rem * 1.618 = 1.3rem */
    padding: 0.8rem 1.3rem; 
    border: none;
    border-radius: 12px; /* Mas modernong roundness */
    cursor: pointer;
    font-weight: 600;
    letter-spacing: 0.05rem; /* Pro typography */
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Bouncy 'ascension' feel */
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 0.95rem;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.btn-primary {
    background: var(--button-bg-color);
    color: var(--button-text-color);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: 0.6s;
    z-index: -1;
}

.btn-primary:hover {
    background: var(--secondary-button-hover-color);
    transform: translateY(-3px) scale(1.05); /* Ascension lift */
    box-shadow: 0 8px 25px var(--shadow-color);
    color: #fff;
}

.btn-primary:hover::before {
    left: 100%;
}

.btn-secondary {
    background: transparent;
    color: var(--accent-color-1);
    border: 1.618px solid var(--accent-color-1); /* Golden ratio border width */
    position: relative;
    background: rgba(var(--accent-color-1-rgb), 0.05);
}

.btn-secondary:hover {
    background: var(--button-hover-color);
    color: var(--button-text-color);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(var(--accent-color-1-rgb), 0.3);
    border-color: transparent;
}

/* Active State para sa 'Push' feel */
.btn:active {
    transform: translateY(0) scale(0.98);
}
/* Modal */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--overlay-color);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.modal.show {
    display: flex;
    opacity: 1;
    align-items: center;
    justify-content: center;
}

.modal-content {
    background: var(--background-color);
    border: 1px solid var(--border-color);
    border-radius: 15px;
    padding: 2rem;
    max-width: 600px;
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    position: relative;
    transform: scale(0.7);
    transition: transform 0.3s ease;
}

.modal.show .modal-content {
    transform: scale(1);
}

.modal-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--secondary-text-color);
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.modal-close:hover {
    background: var(--accent-color-1);
    color: var(--button-text-color);
}

/* Download Section (Standalone and Dropdown) */
.download-section {
    background: linear-gradient(135deg, #1a1a1a 0%, #0a0a0a 100%);
    padding: 4rem 0;
    text-align: center;
    margin-top: 5rem;
}

.download-buttons {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

/* Dropdown wrapper */
.dropdown {
    position: relative;
    display: inline-block;
}

/* Button design */
.download-btn {
    padding: 1rem 2rem;
    font-size: 1.1rem;
    border-radius: 10px;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
    color: #fff;
    border: none;
    cursor: pointer;
    background-color: var(--button-bg-color);
}

.download-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    transition: left 0.6s ease;
}

.download-btn:hover::before {
    left: 100%;
}

.download-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px var(--shadow-color);
}

/* Dropdown content */
.dropdown-content {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #111;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(255, 53, 3, 0.4);
    min-width: 310px;
    overflow: hidden;
    z-index: 10;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.dropdown:hover .dropdown-content {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

/* Dropdown items */
.dropdown-content a {
    color: #fff;
    padding: 12px 20px;
    text-decoration: none;
    display: block;
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-family: 'Orbitron', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 1px;
}

.dropdown-content a:hover {
    background-color: #ff3503;
    color: #fff;
    padding-left: 25px;
}

/* ==================================== */
/* 6. CYBERPUNK FOOTER                  */
/* ==================================== */

.cyber-footer {
    background: linear-gradient(135deg, #020202, #050505);
    color: #f1f1f1;
    padding: 4rem 8% 2rem;
    font-family: "Orbitron", sans-serif;
    position: relative;
    overflow: hidden;
}

/* Glow effect */
.cyber-footer::before {
    content: "";
    position: absolute;
    top: -50px;
    left: -50px;
    width: 200px;
    height: 200px;
    background: rgba(255, 53, 3, 0.15);
    filter: blur(100px);
    border-radius: 50%;
    z-index: 0;
}

/* Layout */
.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 2rem;
    position: relative;
    z-index: 1;
    border-bottom: 1px solid rgba(255, 53, 3, 0.2);
    padding-bottom: 2rem;
}

/* Logo + Social */
.footer-brand {
    flex: 1;
    min-width: 220px;
}

.footer-logo {
    width: 120px;
    margin-bottom: 1rem;
}

.footer-social img {
    display: inline-block;
    width: 32px !important; 
    height: 32px !important;
    margin-right: 1rem;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.footer-social a {
    text-decoration: none;
    display: inline-block;
}

.footer-social a:hover img {
    transform: translateY(-3px);
    filter: brightness(1.2);
}

/* Center Message Blocks */
.footer-center {
    display: flex;
    flex: 3;
    justify-content: center;
    gap: 3rem;
    flex-wrap: wrap;
}

.footer-center p {
    text-shadow: var(--link-text-color) 0 0 2px;
    font-family: 'Orbitron', sans-serif !important;
}

.footer-block {
    max-width: 250px;
}

.footer-block h4 {
    font-size: 1.1rem;
    margin-bottom: 1rem;
    color: #ff3503;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-block p {
    font-size: 0.9rem;
    color: #ccc;
    line-height: 1.6;
}

/* Right Message */
.footer-message {
    flex: 1;
    min-width: 220px;
    font-size: 0.95rem;
    color: #ddd;
    text-align: right;
}

.footer-message strong {
    color: #ff3503;
}

/* Bottom copyright */
.footer-bottom {
    text-align: center;
    margin-top: 2rem;
    font-size: 0.8rem;
    color: #888;
    position: relative;
    z-index: 1;
}



/* ==================================== */
/* 7. CUSTOM CURSOR & MEDIA QUERIES     */
/* ==================================== */

/* Custom Cursor with Smoke Effect */
body {
    cursor: none;
}

.smoke-particle {
    position: fixed;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(255, 53, 3, 0.5) 0%,
        rgba(255, 53, 3, 0) 80%
    );
    animation: smokeFade 1.5s ease-out forwards, glowShift 1.5s linear forwards;
    pointer-events: none;
    filter: blur(1px);
    z-index: 10000;
}

@keyframes smokeFade {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(5) translateY(-20px); opacity: 0; }
}

@keyframes glowShift {
    0% {
        background: radial-gradient(circle, rgba(255, 53, 3, 0.6) 0%, rgba(255, 53, 3, 0) 80%);
        filter: drop-shadow(0 0 6px rgba(255, 80, 3, 0.8));
    }
    50% {
        background: radial-gradient(circle, rgba(155, 125, 125, 0.6) 0%, rgba(255, 200, 0, 0) 80%);
        filter: drop-shadow(0 0 10px rgba(48, 81, 87, 0.8));
    }
    100% {
        background: radial-gradient(circle, rgba(255, 53, 3, 0.6) 0%, rgba(255, 53, 3, 0) 80%);
        filter: drop-shadow(0 0 6px rgba(255, 53, 3, 0.8));
    }
}


/* Tablet/Mid-Screen Media Queries (max-width: 1024px) */
@media (max-width: 1024px) {
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        position: relative;
    }

    /* Navigation for tablet: min-width: 769px and max-width: 1024px (from section 2) */
    nav {
        padding: 1rem 1.8rem;
    }

    .nav-links {
        position: absolute;
        top: 70px;
        right: 0;
        background-color: rgba(0, 0, 0, 0.9);
        backdrop-filter: blur(10px);
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: 2rem;
        padding: 2rem 0;
        display: none; /* Hidden by default in tablet/mobile */
    }

    .nav-links.nav-active {
        display: flex;
    }

    .nav-links a {
        margin-right: 0;
        font-size: 1.2rem;
        letter-spacing: 5px;
    }

    .burger {
        display: block;
    }

    /* Chart/Carousel Specific Fixes for Tablet */
    .chart-container {
        position: relative;
        height: 370px !important;
        width: 400px !important;
        top: 36rem !important;
        left: -0.8rem !important;
        display: flex; 
        margin: 0 auto;
        padding: 1rem;
        max-width: 100vw;
        overflow-x: hidden;
    }
    
    .hero-spline2 {
        position: absolute;
        top: -20rem;
        left: 0;
    } 

    .carousel img {
        position: absolute;
        width: 120px;
        height: auto;
        left: 80px;
        top: 1rem;
    }

    /* Footer Responsive */
    .footer-top {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .footer-message {
        text-align: center;
        margin-top: 1rem;
    }
    .footer-center {
        justify-content: center;
    }
}


/* Mobile Media Queries (max-width: 768px) */
@media (max-width: 768px) {
    /* Hard Fix: Prevent Horizontal Scroll */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        position: relative;
    }

    /* Clamp all elements to viewport width */
    * {
        max-width: 100vw !important;
        box-sizing: border-box;
    }

    /* Mobile Navigation (redefined for slide-out effect - from section 2) */
    nav {
        flex-direction: row;
        justify-content: space-between;
        padding: 1rem 1.2rem;
    }
    
    .nav-links {
        position: absolute;
        right: 0px;
        height: 100vh;
        top: 0;
        background-color: rgba(0, 0, 0, 0.95);
        backdrop-filter: blur(10px);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 50%;
        transform: translateX(100%);
        transition: transform 0.5s ease-in;
        z-index: 1000;
    }

    .nav-links.nav-active {
        transform: translateX(0%);
    }

    .nav-links a {
        opacity: 0;
        margin-right: 0;
        font-size: 1.1rem;
        letter-spacing: 4px;
    }

    .burger {
        display: block;
        z-index: 1001;
    }

    /* Toggle animation for the burger icon */
    .toggle .line1 { transform: rotate(-45deg) translate(-5px, 6px); }
    .toggle .line2 { opacity: 0; }
    .toggle .line3 { transform: rotate(45deg) translate(-5px, -6px); }

    /* Hero & Spline Fixes for Mobile */
    .hero-spline {
        width: 200vw;
        height: 45vh;
    }

    .hero {
        height: 90vh;
        overflow-x: hidden !important;
        position: relative;
        bottom: 1rem;
    }

    .hero-video {
        top: 46rem;
        width: 25vh;
        
    }
    
    .hero-video1 {
        top: -5rem;
        left: 0.1rem;
        height: 120vh;
        width: 100vh !important;
    }

    .hero-subtitle {
        position: relative;
        font-size: 1.2rem !important;
        left: -0.2rem;
        line-height: 2;
    }

    .hero-subtitle span {
        margin-left: 2rem;
        display: inline-block;
    }

    .hero-section {
        height: auto;
    }
    
    .hero-content2 {
        bottom: 5rem;
    }

    /* PS Style Fixes for Mobile */
    .project-card {
        min-width: 170px;
        height: 250px;
        background: rgba(255, 255, 255, 0.05);
        border: 2px solid rgba(255, 255, 255, 0.1);
        border-radius: 15px;
        position: relative;
        overflow: hidden;
        backdrop-filter: blur(10px);
        transition: all 0.3s ease;
        cursor: pointer;
        transform: scale(0.9);
        opacity: 0.6;
    }
    
    .title-screen h1, .title-screen .loading {
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 16px !important;
        font-weight: normal !important;
        line-height: 1.2;
        font-style: normal !important;
        text-align: center;
        white-space: nowrap;
    }

    .details-description {
        position: relative;
        font-size: 0.7rem;
        color: #ccc;
        line-height: 1.5;
        margin-bottom: 1.5rem;
        bottom: 10px;
    }

    .tech-stack {
        position: relative;
        display: flex;
        gap: 0.3rem;
        flex-wrap: wrap;
        bottom: 20px;
    }

    .action-buttons {
        position: relative;
        flex-direction:row;
        gap: 1rem;
        height: 2.6rem;
        bottom: 2.5rem;
    }

    .action-buttons * {
        font-size: 0.6rem !important;
        text-align: center;
    }

    
    .signature {
        position: absolute;
        bottom: 1rem;
        left: 50%;
        transform: translateX(-50%);
        font-size: 1rem;
        font-weight: 300;
        color: #fff;
        opacity: 0;
        animation: signatureFadeIn 1s ease-out 6s forwards;
    }

    /* Carousel Fixes for Mobile */
    .carousel {
        --quantity: 9;
        width: 10px;
        height: 10px;
        position: relative;
        transform-style: preserve-3d;
        animation: spin 20s linear infinite;
    }

    /* Chart Container Fix for Mobile */
    .chart-container {
        position: relative;
        height: 15rem !important;
        width: 26rem !important;
        top: 45rem !important;
        left: 3% !important;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        padding: 2rem;
        max-width: 100vw;
        overflow-x: hidden;
        /* Glass/Glow styles repeated here - keeping as is to override desktop */
        background: rgba(255, 255, 255, 0.08); 
        border-radius: 1.5rem;
        border: 1px solid rgba(255, 255, 255, 0.2);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6), 0 0 20px rgba(0, 200, 255, 0.3);
        background-image: linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.12),
            rgba(0, 200, 255, 0.05)
        );
    }
    
    /* Section Fix for Mobile */
    .section {
        padding: 80px 0;
        margin: 0 auto;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .work-card {
        all: unset;
        width: 90%!important;
        text-align: left;
        padding: 1rem;
        position: relative;
    }
}


