﻿:root {







    /* Premium Modern Font Stack (Linear / Vercel style) */







    --font-main: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;







    --font-display: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;







    --font-ui: 'Plus Jakarta Sans', sans-serif;







    --transition-fast: 0.18s cubic-bezier(0.16, 1, 0.3, 1);







    --transition-normal: 0.35s cubic-bezier(0.16, 1, 0.3, 1);







    --transition-slow: 0.65s cubic-bezier(0.16, 1, 0.3, 1);







    --spring: cubic-bezier(0.34, 1.56, 0.64, 1);







}















/* Dark Mode Default (Premium Minimalist) */







[data-theme="dark"] {







    --bg-color: #080808;







    --bg-color-alt: #111111;







    --text-primary: #F5F5F5;







    --text-secondary: #A1A1AA;















    --accent-color: #FFFFFF;







    --accent-secondary: #D4D4D8;







    --accent-tertiary: #606069;















    --gradient-primary: var(--text-primary);







    --gradient-text: var(--text-primary);















    --glass-bg: rgba(16, 16, 16, 0.72);







    --glass-border: rgba(255, 255, 255, 0.09);







    --glass-border-hover: rgba(255, 255, 255, 0.18);







    --glass-shadow: 0 8px 40px rgba(0, 0, 0, 0.5);







    --card-hover-border: rgba(255, 255, 255, 0.18);







    --card-inset: inset 0 1px 0 rgba(255, 255, 255, 0.06);







}















/* Light Mode Overrides (Premium Minimalist) */







[data-theme="light"] {







    --bg-color: #FAFAFA;







    --bg-color-alt: #F1F1F3;







    --text-primary: #09090B;







    --text-secondary: #52525B;















    --accent-color: #000000;







    --accent-secondary: #3F3F46;







    --accent-tertiary: #A1A1AA;















    --gradient-primary: var(--text-primary);







    --gradient-text: var(--text-primary);















    --glass-bg: rgba(255, 255, 255, 0.85);







    --glass-border: rgba(0, 0, 0, 0.07);







    --glass-border-hover: rgba(0, 0, 0, 0.14);







    --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);







    --card-hover-border: rgba(0, 0, 0, 0.15);







    --card-inset: inset 0 1px 0 rgba(255, 255, 255, 0.9);







}















* {







    margin: 0;







    padding: 0;







    box-sizing: border-box;







}















html {







    scroll-behavior: smooth;







    scroll-padding-top: 80px;







    /* Hide scrollbar for IE, Edge and Firefox */







    -ms-overflow-style: none;







    /* IE and Edge */







    scrollbar-width: none;







    /* Firefox */







}















/* Custom Gradient Scrollbar */







html::-webkit-scrollbar {







    width: 10px;







}















html::-webkit-scrollbar-track {







    background: var(--bg-color);







}















html::-webkit-scrollbar-thumb {







    background: var(--gradient-primary);







    border-radius: 10px;







    border: 2px solid var(--bg-color);







}















html::-webkit-scrollbar-thumb:hover {







    background: var(--accent-secondary);







}















/* Force variable updates for Light Theme Scrollbar via explicit class toggle */







html.light-scrollbar::-webkit-scrollbar-track {







    background: #F8FAFC !important;







}















html.light-scrollbar::-webkit-scrollbar-thumb {







    border: 2px solid #F8FAFC !important;







}















body {







    font-family: var(--font-main);







    background-color: var(--bg-color);







    color: var(--text-primary);







    line-height: 1.7; /* Increased for premium readability */







    overflow-x: hidden;







    -webkit-font-smoothing: antialiased;







    -moz-osx-font-smoothing: grayscale;







    -webkit-user-select: none;







    /* Safari */







    -ms-user-select: none;







    /* IE 10 and IE 11 */







    user-select: none;







    /* Standard syntax */







    transition: background-color var(--transition-normal),







        color var(--transition-normal);







    position: relative;







}















/* Premium Typography System */







h1, h2, h3, h4, h5, h6 {







    font-family: var(--font-display);







    letter-spacing: -0.035em;







    font-weight: 700;







}























/* Premium designs avoid arbitrary glowing elements in the background */























/* Background Mouse Aura removed for clean design */







.mouse-aura {







    display: none;







}















/* =====================================================







   CUSTOM CURSOR Ã¢â‚¬â€ Two independent fixed elements







   No parent wrapper = ZERO GPU bounding box on Windows







   ===================================================== */















body.cursor-ready * {







    cursor: none !important;







}















body.cursor-ready input,







body.cursor-ready textarea,







body.cursor-ready select,







body.cursor-ready [contenteditable="true"] {







    cursor: text !important;







}















/* Sharp dot Ã¢â‚¬â€ follows mouse instantly */







#cursor-dot {







    position: fixed;







    top: 0;







    left: 0;







    width: 6px;







    height: 6px;







    border-radius: 50%;







    background: #000;







    pointer-events: none !important;







    z-index: 999999;







    transform: translate(-50%, -50%);







    transition: width 0.15s ease, height 0.15s ease, background-color 0.2s ease, opacity 0.2s ease;







    will-change: transform;







}















/* Trailing ring Ã¢â‚¬â€ lags behind smoothly */







#cursor-ring {







    position: fixed;







    top: 0;







    left: 0;







    width: 28px;







    height: 28px;







    border-radius: 50%;







    border: 1.5px solid #000;







    background: transparent !important;







    pointer-events: none !important;







    z-index: 999998;







    transform: translate(-50%, -50%);







    transition: width 0.2s ease, height 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;







    will-change: transform;







}















/* Hover state */







#cursor-dot.hover {







    width: 8px;







    height: 8px;







    background: #6366f1;







}







#cursor-ring.hover {







    width: 32px;







    height: 32px;







    border-color: #6366f1;







}















/* Click state */







#cursor-dot.clicking {







    width: 10px;







    height: 10px;







    background: #6366f1;







}







#cursor-ring.clicking {







    width: 18px;







    height: 18px;







    border-color: #6366f1;







}















/* Light mode */







[data-theme="light"] #cursor-dot {







    background: #09090b;







}







[data-theme="light"] #cursor-ring {







    border-color: rgba(79, 70, 229, 0.65);







}















/* Global Focus & Tap Outline Reset Ã¢â‚¬â€ strictly no rectangular box artifacts */







*:focus,







*:focus-visible,







button:focus,







a:focus,







input:focus {







    outline: none !important;







    -webkit-tap-highlight-color: transparent !important;







}















/* Touch & Mobile Ã¢â‚¬â€ always hidden */







@media (hover: none) and (pointer: coarse) {







    #cursor-dot, #cursor-ring { display: none !important; }







    body.cursor-ready * { cursor: auto !important; }







}















/* Page Transitions */







.page-transition-overlay {







    position: fixed;







    top: 0;







    left: 0;







    width: 100vw;







    height: 100vh;







    background: var(--bg-color-alt);







    z-index: 10000;







    transform: scaleY(0);







    transform-origin: bottom;







    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);







    pointer-events: none;







}















.page-transition-overlay.active {







    transform: scaleY(1);







    transform-origin: top;







    pointer-events: auto;







}















img {







    max-width: 100%;







    height: auto;







    -webkit-user-drag: none;







}















/* Global Utilities */







.container {







    max-width: 1200px;







    margin: 0 auto;







    padding: 0 2rem;







}















.section {







    padding: 9rem 0;







}















.section-title {







    font-size: 2.8rem;







    margin-bottom: 3rem;







    position: relative;







    display: inline-block;







    background: var(--gradient-text);







    -webkit-background-clip: text;







    background-clip: text;







    -webkit-text-fill-color: transparent;







    font-family: var(--font-display);  /* Cormorant Garamond editorial serif */







    font-weight: 600;







    letter-spacing: -0.01em;







}















.section-title::after {







    content: '';







    position: absolute;







    left: 0;







    bottom: -8px;







    width: 36px;







    height: 2px;







    border-radius: 2px;







    background: var(--text-secondary);







    opacity: 0.5;







}















/* Premium Textureless Card System */







.glass-card {







    background: var(--glass-bg);







    backdrop-filter: blur(16px) saturate(160%);







    -webkit-backdrop-filter: blur(16px) saturate(160%);







    border: 1px solid var(--glass-border);







    box-shadow: var(--glass-shadow), var(--card-inset);







    border-radius: 1.2rem;







    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),







                box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1),







                border-color 0.35s ease;







    position: relative;







    overflow: hidden;







}















/* Glass Shine Sweep Animation */







.glass-card::after {







    content: '';







    position: absolute;







    top: 0; left: -150%;







    width: 55%; height: 100%;







    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);







    transform: skewX(-18deg);







    transition: none;







    pointer-events: none;







    z-index: 10;







}















.glass-card:hover {







    transform: translateY(-5px) scale(1.02);







    border-color: var(--card-hover-border);







    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45),







                0 0 0 1px var(--glass-border-hover),







                var(--card-inset);







}















.glass-card:hover::after {







    left: 150%;







    transition: left 2.0s cubic-bezier(0.16, 1, 0.3, 1);







}















[data-theme="light"] .glass-card:hover {







    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06),







                0 0 0 1px var(--glass-border-hover),







                var(--card-inset);







}















/* Magnetic Hover Utility */







.magnetic-element {







    transition: transform 0.1s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.1s cubic-bezier(0.25, 1, 0.5, 1);







    will-change: transform;







    /* Ensure elements pop out elegantly when hovered */







    transform-style: preserve-3d;







}















/* Global Interaction Reset */







a,







button {







    outline: none !important;







    -webkit-tap-highlight-color: transparent;







}















/* Buttons */







.btn {







    display: inline-block;







    padding: 0.8rem 1.8rem;







    border-radius: 2rem;







    font-weight: 600;







    text-decoration: none;







    transition: all var(--transition-normal);







    cursor: pointer;







    border: none;







    font-family: var(--font-main);







    user-select: none;







}















.btn-primary {







    background: var(--text-primary);







    color: var(--bg-color) !important;







    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.18);







    letter-spacing: -0.01em;







}















@media (hover: hover) {







    .btn-primary:hover {







        transform: translateY(-2px) scale(1.04);







        box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.18);







        background: var(--accent-secondary);







    }







}















.btn-primary:active {







    transform: scale(0.97);







    transition-duration: 0.1s;







}















.btn-secondary {







    background: transparent;







    color: var(--text-primary);







    border: 1px solid var(--glass-border);







    backdrop-filter: blur(8px);







}















@media (hover: hover) {







    .btn-secondary:hover {







        background: var(--text-primary);







        color: var(--bg-color);







        border-color: var(--text-primary);







    }







}















.btn-large {







    padding: 1rem 2.5rem;







    font-size: 1.05rem;







    letter-spacing: -0.01em;







}















/* ==============================================================







   YOUTUBE SUBSCRIBE BUTTON - Premium Pulse Ripple







   ============================================================== */







.yt-subscribe {







    position: relative;







    /* Base button styles remain untouched from .btn-primary */







}















/* Activate the pulse breathing animation when scrolled into view */







.yt-subscribe.inner-highlight {







    /* 4 gentle pulses over 10 seconds */







    animation: luxuriousPulse 2.5s cubic-bezier(0.4, 0, 0.2, 1) 4 forwards;







}















@keyframes luxuriousPulse {







    0% {







        box-shadow: 0 0 0 0 rgba(168, 85, 247, 0.7);







    }















    70% {







        /* Ripple expands outward like a shockwave and fades away */







        box-shadow: 0 0 0 25px rgba(168, 85, 247, 0);







    }















    100% {







        box-shadow: 0 0 0 0 rgba(168, 85, 247, 0);







    }







}















/* Typography Helpers */







.gradient-text-teal {
    background: linear-gradient(135deg, #0D9488 0%, #5EEAD4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gradient-text {







    background: var(--gradient-text);







    -webkit-background-clip: text;







    background-clip: text;







    -webkit-text-fill-color: transparent;







}















/* Navbar */







.navbar {







    position: fixed;







    top: 0;







    width: 100%;







    z-index: 1000;







    padding: 1.1rem 0;







    transition: all var(--transition-normal);







}















.navbar.scrolled {







    background: var(--glass-bg);







    backdrop-filter: blur(40px) saturate(200%) contrast(103%);







    -webkit-backdrop-filter: blur(40px) saturate(200%) contrast(103%);







    border-bottom: 1px solid var(--glass-border);







    box-shadow: 0 1px 0 var(--glass-border), 0 8px 32px rgba(0, 0, 0, 0.08);







    padding: 0.75rem 0;







}















.nav-container {







    display: flex;







    justify-content: space-between;







    align-items: center;







}















.nav-brand {







    display: flex;







    align-items: center;







    gap: 1rem;







}















.logo {







    font-size: 1.35rem;







    font-weight: 700;







    font-family: var(--font-ui);    /* Space Grotesk Ã¢â‚¬â€ keeps nav clean & modern */







    color: var(--text-primary);







    text-decoration: none;







    letter-spacing: -0.03em;







}















.logo span {







    color: var(--accent-color);







}















.nav-links {







    display: flex;







    list-style: none;







    gap: 2rem;







}















.nav-links a {







    text-decoration: none;







    color: var(--text-secondary);







    font-weight: 500;







    font-size: 0.95rem;







    transition: color var(--transition-normal);







    position: relative;







}















.nav-links a:hover,







.nav-links a.active {







    color: var(--text-primary);







    text-shadow: 0 0 10px rgba(0,0,0,0);







}















.nav-links a::after {







    content: '';







    position: absolute;







    width: 0;







    height: 2px;







    bottom: -4px;







    left: 0;







    background: var(--gradient-primary);







    transition: width var(--transition-normal);







}















.nav-links a:hover::after,







.nav-links a.active::after {







    width: 100%;







}















/* Nav Dropdown Styling for "More" tab */







.nav-item-dropdown {







    position: relative;







}















.nav-dropdown-toggle {







    display: inline-flex;







    align-items: center;







    gap: 0.35rem;







    cursor: pointer;







}















.dropdown-chevron {







    transition: transform var(--transition-normal);







}















.nav-item-dropdown:hover .dropdown-chevron {







    transform: rotate(180deg);







}















.nav-dropdown-menu {







    position: absolute;







    top: calc(100% + 12px);







    right: -10px;







    width: 230px;







    background: var(--glass-bg);







    backdrop-filter: blur(28px) saturate(190%) contrast(102%);







    -webkit-backdrop-filter: blur(28px) saturate(190%) contrast(102%);







    border: 1px solid var(--glass-border);







    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);







    border-radius: 1rem;







    padding: 0.5rem;







    list-style: none;







    opacity: 0;







    visibility: hidden;







    transform: translateY(10px) scale(0.96);







    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);







    z-index: 1100;







}















.nav-item-dropdown:hover .nav-dropdown-menu,







.nav-item-dropdown:focus-within .nav-dropdown-menu {







    opacity: 1;







    visibility: visible;







    transform: translateY(0) scale(1);







}















.dropdown-item-link {







    display: flex;







    align-items: center;







    gap: 0.8rem;







    padding: 0.75rem 1rem;







    border-radius: 0.75rem;







    text-decoration: none;







    transition: background 0.2s ease, transform 0.2s ease;







}















.dropdown-item-link:hover {







    background: rgba(0,0,0,0);







    transform: translateX(3px);







}















.dropdown-item-link .item-icon {







    font-size: 1.2rem;







    color: #ff3366;







    filter: drop-shadow(0 0 6px rgba(255, 51, 102, 0.5));







}















.dropdown-item-link .item-text {







    display: flex;







    flex-direction: column;







}















.dropdown-item-link .item-title {







    font-weight: 700;







    font-size: 0.95rem;







    color: var(--text-primary);







}















.dropdown-item-link .item-sub {







    font-size: 0.75rem;







    color: var(--text-secondary);







}















/* Mobile More Styling */







.mobile-more-divider {







    padding: 1rem 0 0.5rem 0;







    font-size: 0.75rem;







    text-transform: uppercase;







    letter-spacing: 1px;







    color: var(--text-secondary);







    border-top: 1px solid var(--glass-border);







    margin-top: 0.5rem;







}















.mobile-ytd-link {







    display: flex;







    align-items: center;







    gap: 0.6rem;







    font-weight: 700 !important;







    color: #ff3366 !important;







}















.mobile-ytd-link .m-badge {







    background: #ff3366;







    color: white;







    font-size: 0.65rem;







    padding: 2px 6px;







    border-radius: 4px;







}















.nav-actions {







    display: flex;







    align-items: center;







    gap: 0.65rem;







}















.mobile-more-header-btn {







    display: inline-flex;







    align-items: center;







    gap: 0.35rem;







    background: rgba(255, 255, 255, 0.08) !important;







    border: 1px solid rgba(255, 255, 255, 0.15) !important;







    color: var(--text-primary) !important;







    padding: 0.45rem 0.85rem;







    border-radius: 0.75rem;







    font-weight: 700;







    font-size: 0.85rem;







    cursor: pointer;







    transition: all 0.3s ease;







}















.mobile-more-header-btn:hover,







.nav-item-dropdown.active .mobile-more-header-btn {







    background: rgba(6, 182, 212, 0.2) !important;







    border-color: rgba(6, 182, 212, 0.5) !important;







    color: #06b6d4 !important;







}















.mobile-header-more .nav-dropdown-menu {







    right: 0 !important;







    left: auto !important;







    top: calc(100% + 10px) !important;







    min-width: 230px !important;







}















.theme-toggle {







    background: transparent;







    border: none;







    color: var(--text-primary);







    cursor: pointer;







    display: flex;







    align-items: center;







    justify-content: center;







    padding: 0.5rem;







    border-radius: 50%;







    transition: background var(--transition-normal);







}















.theme-toggle:hover {







    background: var(--glass-border);







}















.theme-toggle svg {







    transition: transform var(--transition-normal);







}















/* Default display (Dark Theme) */







.theme-toggle .sun-icon {







    display: none;







}















.theme-toggle .moon-icon {







    display: block;







}















/* Light Theme display */







[data-theme="light"] .theme-toggle .sun-icon {







    display: block;







}















[data-theme="light"] .theme-toggle .moon-icon {







    display: none;







}















.hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 15px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1001;
    padding: 0;
    margin: 0;
}

.hamburger .bar {
    display: block;
    width: 100%;
    height: 3px;
    background-color: var(--text-primary);
    border-radius: 3px;
    transition: all 0.3s ease;
    transform-origin: center;
}

/* Make the middle bar slightly shorter for a sleek look */
.hamburger .bar:nth-child(2) {
    width: 70%;
    align-self: flex-start;
}

/* Hover effect for desktop if needed */
@media (hover: hover) {
    .hamburger:hover .bar:nth-child(2) {
        width: 100%;
        background-color: #0D9488;
    }
    .hamburger.active:hover .bar:nth-child(2) {
        width: 0;
    }
}

.hamburger.active .bar:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
    background-color: #0D9488;
}

.hamburger.active .bar:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.hamburger.active .bar:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
    background-color: #0D9488;
}















.mobile-menu {







    position: fixed;







    top: 0;







    left: 0;







    width: 100vw;







    height: 100vh;







    background: var(--glass-bg);







    backdrop-filter: blur(40px) saturate(200%);







    -webkit-backdrop-filter: blur(40px) saturate(200%);







    z-index: 999;







    padding: 5rem 1.5rem 2rem;







    display: flex;







    flex-direction: column;







    align-items: center;







    justify-content: center;







    overflow-y: auto !important;







    opacity: 0;







    visibility: hidden;







    transform: translateY(-16px) scale(0.99);







    transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);







}















.mobile-menu.open {







    opacity: 1;







    visibility: visible;







    transform: translateY(0) scale(1);







}















.mobile-nav-links {







    list-style: none;







    display: flex;







    flex-direction: column;







    align-items: center;







    gap: 1.5rem;







}















.mobile-nav-links a {







    text-decoration: none;







    font-size: 1.85rem;







    font-weight: 700;







    color: var(--text-primary);







    transition: color var(--transition-fast);







}















.mobile-dropdown-item {







    width: 100%;







    display: flex;







    flex-direction: column;







    align-items: center;







}















.mobile-more-btn {







    display: inline-flex !important;







    align-items: center;







    gap: 0.5rem;







    cursor: pointer;







    font-size: 1.5rem;







    font-weight: 700;







    color: var(--text-primary);







}















.mobile-chevron {







    font-size: 1rem;







    color: var(--accent-color);







    transition: transform 0.3s ease;







}















.mobile-dropdown-item.open .mobile-chevron {







    transform: rotate(180deg);







}















.mobile-submenu {







    list-style: none;







    padding: 0;







    margin-top: 1rem;







    display: flex;







    flex-direction: column;







    align-items: center;







    gap: 1rem;







    transition: all 0.3s ease;







}















.mobile-submenu.hidden {







    display: none !important;







}















.mobile-nav-links a {







    text-decoration: none;







    font-size: 2.1rem;







    font-weight: 800;







    font-family: var(--font-display);







    letter-spacing: -0.04em;







    color: var(--text-primary);







    transition: color var(--transition-normal);







    opacity: 0;







    transform: translateY(20px);







    display: inline-block;







    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);







}















/* Staggered text entrance animations */







.mobile-menu.open .mobile-nav-links li a {







    opacity: 1 !important;







    transform: translateY(0) !important;







}















.mobile-menu.open .mobile-nav-links li:nth-child(1) a { transition-delay: 0.1s; }







.mobile-menu.open .mobile-nav-links li:nth-child(2) a { transition-delay: 0.15s; }







.mobile-menu.open .mobile-nav-links li:nth-child(3) a { transition-delay: 0.2s; }







.mobile-menu.open .mobile-nav-links li:nth-child(4) a { transition-delay: 0.25s; }







.mobile-menu.open .mobile-nav-links li:nth-child(5) a { transition-delay: 0.3s; }















.mobile-nav-links a:hover,







.mobile-nav-links a.active {







    color: var(--accent-color);







}















/* Hero Section */







.hero {







    min-height: 100vh;







    display: flex;







    align-items: center;







    position: relative;







    overflow: hidden;







}















/* Subtle ambient depth Ã¢â‚¬â€ barely perceptible, NO grid/noise */







.hero::before {







    content: '';







    position: absolute;







    inset: 0;







    background:







        radial-gradient(ellipse 60% 50% at 20% 10%, transparent 0%, transparent 70%),







        radial-gradient(ellipse 40% 40% at 80% 80%, transparent 0%, transparent 65%);







    pointer-events: none;







    z-index: 0;







}















[data-theme="light"] .hero::before {







    background:







        radial-gradient(ellipse 60% 50% at 20% 10%, transparent 0%, transparent 70%),







        radial-gradient(ellipse 40% 40% at 80% 80%, transparent 0%, transparent 65%);







}















.hero-container {







    position: relative;







    z-index: 1;







    display: flex;







    align-items: center;







    justify-content: space-between;







    width: 100%;







    gap: 4rem;







}























.hero-content {







    flex: 1;







}















/* Hero Status Tag */







.hero-status-tag {







    display: inline-flex;







    align-items: center;







    gap: 0.5rem;







    padding: 0.4rem 1.1rem;







    border-radius: 999px;







    background: rgba(0,0,0,0);







    border: 1px solid rgba(0,0,0,0);















    margin-bottom: 1.2rem;







    box-shadow: 0 0 20px rgba(0,0,0,0);







    opacity: 0;







    transform: translateY(30px);







    animation: royalSlideUp 1.2s cubic-bezier(0.25, 1, 0.5, 1) forwards 0.1s;







}















.status-pulse-dot {







    width: 8px;







    height: 8px;







    border-radius: 50%;







    background-color: #10B981;







    box-shadow: 0 0 10px #10B981;







    animation: statusPulse 1.5s infinite ease-in-out;







}















@keyframes statusPulse {







    0%, 100% { transform: scale(1); opacity: 1; }







    50% { transform: scale(1.4); opacity: 0.5; }







}















.status-tag-text {







    font-size: 0.76rem;







    font-weight: 800;







    letter-spacing: 0.1em;







    color: var(--text-primary);







}















.greeting {







    font-size: 1.2rem;







    color: var(--accent-color);







    font-weight: 600;







    display: block;







    margin-bottom: 0.8rem;







    opacity: 0;







    transform: translateY(30px);







    animation: royalSlideUp 1.2s cubic-bezier(0.25, 1, 0.5, 1) forwards 0.2s;







}















.hero h1,







.hero-title-stacked {







    font-size: 5.6rem;







    font-weight: 800;







    font-family: var(--font-display);







    line-height: 1.02;







    letter-spacing: -0.04em;







    margin-bottom: 0.85rem;







    color: var(--text-primary);







    opacity: 0;







    transform: translateY(30px);







    animation: royalSlideUp 1.1s cubic-bezier(0.16, 1, 0.3, 1) forwards 0.3s;







}















.hero .role {







    font-size: 1.85rem;







    color: var(--text-secondary);







    font-weight: 600;







    font-family: var(--font-display);







    letter-spacing: -0.02em;







    margin-bottom: 1.5rem;







    opacity: 0;







    transform: translateY(30px);







    animation: royalSlideUp 1.1s cubic-bezier(0.16, 1, 0.3, 1) forwards 0.4s;







}















.role-highlight {







    background: linear-gradient(135deg, #6366F1, #8B5CF6);







    -webkit-background-clip: text;







    background-clip: text;







    -webkit-text-fill-color: transparent;







}















.role-highlight-alt {







    background: linear-gradient(135deg, #EC4899, #F43F5E);







    -webkit-background-clip: text;







    background-clip: text;







    -webkit-text-fill-color: transparent;







}















.hero .bio {







    font-size: 1.08rem;







    color: var(--text-secondary);







    max-width: 480px;







    line-height: 1.8;







    margin-bottom: 2rem;







    opacity: 0;







    transform: translateY(30px);







    animation: royalSlideUp 1.1s cubic-bezier(0.16, 1, 0.3, 1) forwards 0.5s;







}















/* Hero Dual CTA Buttons */







.hero-cta-buttons {







    display: flex;







    align-items: center;







    gap: 1.2rem;







    margin-top: 2rem;







    opacity: 0;







    transform: translateY(30px);







    animation: royalSlideUp 1.2s cubic-bezier(0.25, 1, 0.5, 1) forwards 0.6s;







}















.hero-btn {







    display: inline-flex;







    align-items: center;







    gap: 0.6rem;







    padding: 0.85rem 1.8rem;







    border-radius: 999px;







    font-weight: 700;







    font-size: 0.98rem;







    text-decoration: none;







    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);







    position: relative;







    overflow: hidden;







}















.primary-btn {







    background: var(--gradient-primary);







    color: #FFFFFF !important;







    box-shadow: 0 8px 25px rgba(0,0,0,0);







}















.primary-btn:hover {







    transform: translateY(-3px) scale(1.04);







    box-shadow: 0 12px 35px rgba(0,0,0,0);







}















.secondary-btn {







    background: var(--glass-bg);







    color: var(--text-primary) !important;







    border: 1px solid var(--glass-border);















}















.secondary-btn:hover {







    background: rgba(255, 255, 255, 0.1);







    transform: translateY(-3px) scale(1.04);







    border-color: var(--accent-color);







}















.hero-visual {







    flex: 1;







    display: flex;







    justify-content: center;







    position: relative;







}















/* 3D Glass Profile Frame */







.hero-glass-frame {







    position: relative;







    width: 320px;







    height: 320px;







    border-radius: 50%;







    display: flex;







    align-items: center;







    justify-content: center;







    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);







}















.neon-ring {







    position: absolute;







    inset: -12px;







    border-radius: 50%;







    border: 1.5px solid transparent;







    pointer-events: none;







}















.ring-1 {







    background: linear-gradient(135deg, rgba(0,0,0,0), rgba(0,0,0,0)) border-box;







    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);







    -webkit-mask-composite: xor;







    mask-composite: exclude;







    animation: spinRing 14s linear infinite;







    opacity: 0.7;







}















.ring-2 {







    inset: -22px;







    background: linear-gradient(135deg, rgba(139,92,246,0.4), rgba(6,182,212,0.4)) border-box;







    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);







    -webkit-mask-composite: xor;







    mask-composite: exclude;







    opacity: 0.35;







    animation: spinRingReverse 22s linear infinite;







}















@keyframes spinRing {







    0% { transform: rotate(0deg); }







    100% { transform: rotate(360deg); }







}















@keyframes spinRingReverse {







    0% { transform: rotate(360deg); }







    100% { transform: rotate(0deg); }







}















@keyframes royalSlideUp {







    from {







        opacity: 0;







        transform: translateY(24px);







    }







    to {







        opacity: 1;







        transform: translateY(0);







    }







}















@keyframes royalScaleIn {







    to {







        opacity: 1;







        transform: scale(1) translateY(0);







    }







}















@keyframes levitateContinuous {







    0%, 100% { transform: translateY(0); }







    50% { transform: translateY(-12px); }







}















.hero-image-container {







    animation: levitateContinuous 6s ease-in-out infinite;







    width: 320px;







    height: 320px;







    padding: 0;







    border-radius: 50%;







    display: flex;







    align-items: flex-end;







    justify-content: center;







    background: var(--glass-bg);







    border: 1px solid var(--glass-border);







    box-shadow: var(--glass-shadow);







    transition: transform var(--transition-normal), box-shadow var(--transition-normal);







    overflow: hidden;







}















.hero-image-container:hover {







    transform: translateY(-8px);







    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4);







}















[data-theme="light"] .hero-image-container:hover {







    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1);







}















/* Image Protection Utility */







.protect-image {







    pointer-events: none;







    user-select: none;







    -webkit-user-select: none;







}















.profile-image {







    width: 100%;







    height: 100%;







    background-size: contain;







    background-position: bottom center;







    border-radius: 0;







}















.profile-placeholder {







    font-size: 5rem;







    font-weight: 700;







    color: var(--glass-border);







}















@keyframes profileBloom {







    0% {







        opacity: 0;







        transform: scale(1.15);







        filter: blur(5px);







    }















    100% {







        opacity: 1;







        transform: scale(1);







        filter: blur(0);







    }







}















.profile-image {







    width: 100%;







    height: 100%;







    background-size: contain;







    background-position: bottom center;







    background-repeat: no-repeat;







    transition: transform var(--transition-normal);







    opacity: 0;







    /* Starts hidden before animation kicks in */







    animation: profileBloom 1.6s cubic-bezier(0.25, 1, 0.5, 1) forwards 0.8s;







}















.hero-image-container:hover .profile-image {







    transform: scale(1.05);







}















/* Statistics Section */







.stats-grid {







    display: grid;







    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));







    gap: 2rem;







    margin-top: 2rem;







}















.stat-card {







    text-align: center;







    padding: 2.5rem 2rem;







    display: flex;







    flex-direction: column;







    align-items: center;







    justify-content: center;







}















.stat-icon {







    display: inline-flex;







    align-items: center;







    justify-content: center;







    width: 64px;







    height: 64px;







    border-radius: 50%;







    background: var(--bg-color-alt);







    margin-bottom: 1.5rem;







    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);







}















[data-theme="light"] .stat-icon {







    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.05);







}















.counter {







    font-size: 3.2rem;







    font-weight: 800;







    font-family: var(--font-display);







    color: var(--text-primary);







    margin-bottom: 0.5rem;







    line-height: 1.05;







    letter-spacing: -0.03em;







    font-variant-numeric: tabular-nums;







}















.stat-card p {







    color: var(--text-secondary);







    font-size: 0.8rem;







    font-weight: 600;







    text-transform: uppercase;







    letter-spacing: 0.12em;







}















/* Experience Timeline */







.timeline {







    position: relative;







    max-width: 800px;







    margin: 0 auto;







}















.timeline::before {







    content: '';







    position: absolute;







    top: 0;







    bottom: 0;







    left: 20px;







    width: 2px;







    background: var(--glass-border);







}















.timeline-item {







    position: relative;







    padding-left: 60px;







    margin-bottom: 3rem;







}















.timeline-item:last-child {







    margin-bottom: 0;







}















.timeline-dot {







    position: absolute;







    left: 14px;







    top: 10px;







    width: 14px;







    height: 14px;







    border-radius: 50%;







    background: var(--gradient-primary);







    box-shadow: 0 0 0 4px var(--bg-color), 0 0 10px var(--accent-color);







}















.timeline-content {







    padding: 2rem;







}















.timeline-content h3 {







    font-size: 1.4rem;







    margin-bottom: 0.5rem;







}















.timeline-content .company {







    color: var(--accent-color);







    font-weight: 600;







    font-size: 1.1rem;







    display: block;







    margin-bottom: 0.5rem;







}















.timeline-content .date {







    color: var(--text-secondary);







    font-size: 0.9rem;







    display: block;







    margin-bottom: 1rem;







}















/* Projects Grid (Keeping placeholder styles if needed elsewhere, though unused now) */







.projects-grid {







    display: grid;







    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));







    gap: 2rem;







}















/* YouTube Section */







.youtube-header {







    display: flex;







    justify-content: space-between;







    align-items: flex-end;







    margin-bottom: 3rem;







}















.youtube-header .section-title {







    margin-bottom: 0;







}















.yt-subscribe {







    display: flex;







    align-items: center;







    gap: 0.8rem;







    background: var(--text-primary);







    color: var(--bg-color);







    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);







    position: relative;







    overflow: hidden;







}















.yt-subscribe:hover {







    background: var(--text-secondary);







    color: var(--bg-color);







    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);







    transform: translateY(-2px);







}















/* Playful Sparkle Click Animation */







@keyframes buttonPop {







    0% {







        transform: scale(1);







        background: var(--text-primary);







    }















    40% {







        transform: scale(0.95);







        background: var(--accent-secondary);







    }















    70% {







        transform: scale(1.05);







        background: var(--accent-secondary);







    }















    100% {







        transform: scale(1);







        background: var(--text-primary);







    }







}















.yt-subscribe.animate-magic {







    animation: buttonPop 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;







}















/* =====================================================







   WORLD-CLASS SCROLL HIGHLIGHT ANIMATION







   Triggers once via IntersectionObserver in main.js







   ===================================================== */















/* BounceIn */







@keyframes subscribeBounceIn {







    0% {







        transform: scale(0.85) rotate(-1deg);







    }















    55% {







        transform: scale(1.1) rotate(1deg);







    }















    75% {







        transform: scale(0.97) rotate(0deg);







    }















    100% {







        transform: scale(1) rotate(0deg);







    }







}















/* Shimmer sweep */







@keyframes subscribeShimmer {







    0% {







        background-position: -300% center;







    }















    100% {







        background-position: 300% center;







    }







}















/* Expanding glow spotlight */







@keyframes subscribeSpotlight {







    0% {







        box-shadow: 0 0 0 0px rgba(255, 0, 0, 0);







        filter: brightness(1);







    }















    10% {







        box-shadow: 0 0 0 4px rgba(255, 0, 0, 0.85), 0 0 30px 8px rgba(255, 50, 0, 0.6);







        filter: brightness(1.3);







    }















    30% {







        box-shadow: 0 0 0 10px rgba(255, 30, 0, 0.45), 0 0 60px 16px rgba(255, 0, 0, 0.3);







        filter: brightness(1.15);







    }















    60% {







        box-shadow: 0 0 0 20px rgba(255, 0, 0, 0.12), 0 0 100px 30px rgba(255, 0, 0, 0.1);







        filter: brightness(1.05);







    }















    100% {







        box-shadow: 0 0 0 32px rgba(255, 0, 0, 0), 0 0 0 0 transparent;







        filter: brightness(1);







    }







}















/* Double ring pulse */







@keyframes subscribeRingPulse {







    0% {







        outline: 3px solid rgba(255, 0, 0, 0.95);







        outline-offset: 2px;







    }















    40% {







        outline: 3px solid rgba(255, 80, 0, 0.5);







        outline-offset: 14px;







    }















    100% {







        outline: 2px solid rgba(255, 0, 0, 0);







        outline-offset: 28px;







    }







}















/* Conic color spin on the backdrop */







@keyframes subscribeConic {







    0% {







        --conic-angle: 0deg;







    }















    100% {







        --conic-angle: 360deg;







    }







}















/* Applied when button enters viewport */







.yt-subscribe.scroll-highlight {







    position: relative;







    overflow: visible;















    /* 5-color shimmer gradient band */







    background: linear-gradient(105deg,







            var(--text-primary) 25%,







            rgba(255, 220, 100, 0.9) 42%,







            rgba(255, 200, 130, 1) 48%,







            rgba(255, 80, 0, 0.95) 52%,







            rgba(255, 220, 100, 0.9) 58%,







            var(--text-primary) 75%) !important;







    background-size: 500% auto !important;















    animation:







        subscribeBounceIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,







        subscribeShimmer 2.2s ease 0.1s forwards,







        subscribeSpotlight 2.6s ease-out 0.15s forwards,







        subscribeRingPulse 1.4s ease-out 0.3s forwards;







}















/* Conic gradient spinning border ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â pseudo element */







.yt-subscribe.scroll-highlight::before {







    content: '';







    position: absolute;







    inset: -3px;







    border-radius: inherit;







    padding: 3px;







    background: conic-gradient(from 0deg,







            #FF0000, #FFD700, #FF4500, #FF0000, #FFD700, #FF0000);







    -webkit-mask:







        linear-gradient(#fff 0 0) content-box,







        linear-gradient(#fff 0 0);







    mask:







        linear-gradient(#fff 0 0) content-box,







        linear-gradient(#fff 0 0);







    -webkit-mask-composite: xor;







    mask-composite: exclude;







    animation: spinConicBorder 1.8s linear forwards;







    opacity: 0.8;







    pointer-events: none;







    z-index: -1;







}















@keyframes spinConicBorder {







    0% {







        transform: rotate(0deg);







        opacity: 0.9;







    }















    70% {







        transform: rotate(360deg);







        opacity: 0.7;







    }















    100% {







        transform: rotate(540deg);







        opacity: 0;







    }







}















/* =====================================================







   PREMIUM CLICK SPARKLE PARTICLE SYSTEM







   3 types: glowing dots Ãƒâ€šÃ‚Â· sharp stars Ãƒâ€šÃ‚Â· fast streaks







   ===================================================== */















/* Shared base */







.btn-sparkle {







    position: absolute;







    top: 50%;







    left: 50%;







    pointer-events: none;







    z-index: 20;







    transform-origin: center;







}















/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Type 1: Glowing Dot ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */







.btn-sparkle--dot {







    width: calc(6px * var(--scale, 1));







    height: calc(6px * var(--scale, 1));







    border-radius: 50%;







    background: radial-gradient(circle, #fff 0%, #FF0000 45%, #FF6600 100%);







    box-shadow: 0 0 6px 2px rgba(255, 60, 0, 0.7);







    animation: sparkleShootDot 0.85s cubic-bezier(0.15, 0.8, 0.3, 1) forwards;







}















/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Type 2: Sharp Star ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */







.btn-sparkle--star {







    width: 0;







    height: 0;







    font-size: 0;







    color: transparent;







    /* Render as ÃƒÂ¢Ã…â€œÃ‚Â¦ using a pseudo-element via clip + border tricks with span content */







    width: calc(10px * var(--scale, 1));







    height: calc(10px * var(--scale, 1));







    border-radius: 2px;







    background: #FFD700;







    box-shadow: 0 0 8px 3px rgba(255, 215, 0, 0.8);







    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);







    animation: sparkleShootStar 0.9s cubic-bezier(0.1, 0.85, 0.25, 1) forwards;







}















/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Type 3: Fast Streak ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */







.btn-sparkle--streak {







    width: calc(18px * var(--scale, 1));







    height: calc(2px * var(--scale, 1));







    border-radius: 2px;







    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FF4500 50%, rgba(255, 255, 255, 0.9) 100%);







    box-shadow: 0 0 4px 1px rgba(255, 100, 0, 0.5);







    animation: sparkleShootStreak 0.75s cubic-bezier(0.05, 0.9, 0.2, 1) forwards;







}















/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Dot keyframe ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */







@keyframes sparkleShootDot {







    0% {







        transform: translate(-50%, -50%) scale(0.2);







        opacity: 1;







    }















    40% {







        opacity: 1;







    }















    100% {







        transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(calc(1.6 * var(--scale, 1)));







        opacity: 0;







    }







}















/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Star keyframe ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */







@keyframes sparkleShootStar {







    0% {







        transform: translate(-50%, -50%) scale(0) rotate(0deg);







        opacity: 1;







    }















    50% {







        opacity: 1;







    }















    100% {







        transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(calc(1.4 * var(--scale, 1))) rotate(540deg);







        opacity: 0;







    }







}















/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Streak keyframe ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */







@keyframes sparkleShootStreak {







    0% {







        transform: translate(-50%, -50%) scale(0.1) rotate(0deg);







        opacity: 1;







    }















    100% {







        transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(var(--scale, 1)) rotate(720deg);







        opacity: 0;







    }







}















/* Keep legacy sparkleShoot just in case anything else uses it */







@keyframes sparkleShoot {







    0% {







        transform: translate(-50%, -50%) scale(0);







        opacity: 1;







    }















    30% {







        opacity: 1;







    }















    100% {







        transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(1.5);







        opacity: 0;







    }







}















/* Official YouTube Theme-Adaptive Subscribe Button */







.yt-subscribe-btn {







    position: relative;







    display: inline-flex;







    align-items: center;







    justify-content: center;







    padding: 0.65rem 1.5rem;







    border-radius: 9999px;







    font-weight: 700;







    font-size: 0.95rem;







    letter-spacing: 0.01em;







    text-decoration: none;







    cursor: pointer;







    border: 1px solid transparent;







    transition: background-color 0.25s ease, color 0.25s ease, transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.25s ease;







    user-select: none;







}















/* Dark Mode: White button, Black text & icon */







[data-theme="dark"] .yt-subscribe-btn {







    background-color: #FFFFFF;







    color: #0F0F0F;







    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.15);







}















[data-theme="dark"] .yt-subscribe-btn:hover {







    background-color: #E6E6E6;







    color: #000000;







    transform: translateY(-2px) scale(1.04);







    box-shadow: 0 6px 22px rgba(255, 255, 255, 0.25);







}















/* Light Mode: Black button, White text & icon */







[data-theme="light"] .yt-subscribe-btn {







    background-color: #0F0F0F;







    color: #FFFFFF;







    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);







}















[data-theme="light"] .yt-subscribe-btn:hover {







    background-color: #272727;







    color: #FFFFFF;







    transform: translateY(-2px) scale(1.04);







    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.35);







}















.yt-subscribe-btn:active {







    transform: translateY(0) scale(0.97);







}















.yt-btn-content {







    display: flex;







    align-items: center;







    gap: 0.5rem;







    position: relative;







    z-index: 2;







}















.yt-btn-icon {







    fill: currentColor;







    transition: transform 0.25s ease;







}















.yt-subscribe-btn:hover .yt-btn-icon {







    transform: scale(1.15);







}















.yt-btn-text {







    font-family: var(--font-main);







    font-weight: 700;







}







.yt-sparkles-container {







    position: absolute;







    top: 50%;







    left: 50%;







    width: 1px;







    height: 1px;







    pointer-events: none;







    z-index: 10;







}















.yt-sparkle {







    position: absolute;







    width: 7px;







    height: 7px;







    border-radius: 50%;







    pointer-events: none;







    animation: ytSparkleExplode 0.65s cubic-bezier(0.1, 0.8, 0.3, 1) forwards;







}















@keyframes ytSparkleExplode {







    0% {







        transform: translate(-50%, -50%) scale(0.2);







        opacity: 1;







    }







    100% {







        transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.4);







        opacity: 0;







    }







}















.youtube-grid {







    display: grid;







    grid-template-columns: 1fr;







    gap: 3rem;







}















.column-title {







    font-size: 1.5rem;







    margin-bottom: 1.5rem;







    color: var(--text-primary);







    border-left: 4px solid #FF0000;







    padding-left: 1rem;







    display: flex;







    align-items: center;







    gap: 0.6rem;







}















.shorts-container {







    display: grid;







    grid-template-columns: repeat(6, 1fr);







    gap: 1rem;







    width: 100%;







}















.videos-container {







    display: grid;







    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));







    gap: 2rem;







}















.video-wrapper {







    position: relative;







    width: 100%;







    overflow: hidden;







    border-radius: 1rem;







    background: var(--glass-bg);







}















.video-wrapper.widescreen {







    padding-bottom: 56.25%;







    /* 16:9 Aspect Ratio */







}















.video-wrapper.vertical {







    padding-bottom: 177.77%;







    /* 9:16 Aspect Ratio for Shorts */







}















.video-wrapper iframe,







.yt-placeholder {







    position: absolute;







    top: 0;







    left: 0;







    width: 100%;







    height: 100%;







    border: none;







}















.yt-placeholder {







    display: flex;







    flex-direction: column;







    align-items: center;







    justify-content: center;







    background: linear-gradient(135deg, rgba(255, 0, 0, 0.1), rgba(255, 0, 0, 0.05));







    border: 2px dashed rgba(255, 255, 255, 0.2);







    border-radius: 1rem;







    color: var(--text-secondary);







    text-align: center;







    padding: 1rem;







}















.yt-placeholder span {







    font-size: 1.2rem;







    font-weight: 600;







    color: var(--text-primary);







    margin-bottom: 0.5rem;







}















.project-card {







    overflow: hidden;







    display: flex;







    flex-direction: column;







}















.project-image-placeholder {







    height: 200px;







    width: 100%;







    background: linear-gradient(135deg, #1e2029 0%, #16181d 100%);







    position: relative;







}















[data-theme="light"] .project-image-placeholder {







    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);







}















.project-info {







    padding: 2rem;







    flex: 1;







    display: flex;







    flex-direction: column;







}















.project-info h3 {







    font-size: 1.4rem;







    margin-bottom: 1rem;







}















.project-info p {







    color: var(--text-secondary);







    margin-bottom: 1.5rem;







    flex: 1;







}















.tags {







    display: flex;







    flex-wrap: wrap;







    gap: 0.5rem;







}















.tags span {







    font-size: 0.8rem;







    padding: 0.3rem 0.8rem;







    border-radius: 1rem;







    background: var(--glass-border);







    color: var(--text-secondary);







}















/* Contact */







.contact-box {







    display: flex;







    flex-direction: column;







    align-items: center;







    gap: 2.5rem;







    text-align: center;







    max-width: 560px;







    margin: 0 auto;







    padding: 5rem 2rem;







}















.contact-box .section-title {







    margin-bottom: 0;







    font-size: 3rem;







}















.contact-box p {







    line-height: 1.8;







    color: var(--text-secondary);







    margin-bottom: 2rem;







}















/* =====================================================







   CONTACT & SOCIAL ICONS Ã¢â‚¬â€ REAL BRAND COLOR ON HOVER







   Normal State: Sleek neutral glassmorphism







   Hover State: Dynamic Authentic Brand Colors & Aura







   ===================================================== */















.social-links {







    display: flex;







    justify-content: center;







    align-items: center;







    gap: 1.25rem;







    margin-top: 0.5rem;







}















/* 1. Base Neutral Social Button (Normal State) */







.social-icon-btn {







    width: 48px;







    height: 48px;







    border-radius: 50%;







    display: inline-flex;







    align-items: center;







    justify-content: center;







    background: var(--glass-bg);







    border: 1.5px solid var(--glass-border);







    color: var(--text-secondary);







    box-shadow: var(--glass-shadow);







    text-decoration: none;







    position: relative;







    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);







    -webkit-tap-highlight-color: transparent;







}















.social-icon-btn svg {







    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), stroke 0.3s ease, fill 0.3s ease;







}















/* 2. Brand Hover Reveals (When Cursor Enters) */















/* Instagram Ã¢â‚¬â€ Signature Sunset Gradient & Pink Aura */







@media (hover: hover) and (pointer: fine) {







    .s-ig-btn:hover {







        background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;







        border-color: #E1306C !important;







        color: #FFFFFF !important;







        box-shadow: 0 8px 28px rgba(225, 48, 108, 0.55), 0 0 15px rgba(225, 48, 108, 0.35) !important;







        transform: translateY(-5px) scale(1.15) !important;







    }







    .s-ig-btn:hover svg {







        stroke: #FFFFFF !important;







        transform: scale(1.12);







    }







}







.s-ig-btn:active {







    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important;







    border-color: #E1306C !important;







    color: #FFFFFF !important;







    box-shadow: 0 8px 28px rgba(225, 48, 108, 0.55), 0 0 15px rgba(225, 48, 108, 0.35) !important;







    transform: translateY(-5px) scale(1.15) !important;







}







.s-ig-btn:active svg {







    stroke: #FFFFFF !important;







    transform: scale(1.12);







}















/* Facebook Ã¢â‚¬â€ Official Facebook Blue & Aura */







@media (hover: hover) and (pointer: fine) {







    .social-facebook:hover {







        background: #1877F2 !important;







        border-color: #1877F2 !important;







        color: #FFFFFF !important;







        box-shadow: 0 8px 28px rgba(24, 119, 242, 0.55), 0 0 15px rgba(24, 119, 242, 0.35) !important;







        transform: translateY(-5px) scale(1.15) !important;







    }







    .social-facebook:hover svg {







        stroke: #FFFFFF !important;







        transform: scale(1.12);







    }







}







.social-facebook:active {







    background: #1877F2 !important;







    border-color: #1877F2 !important;







    color: #FFFFFF !important;







    box-shadow: 0 8px 28px rgba(24, 119, 242, 0.55), 0 0 15px rgba(24, 119, 242, 0.35) !important;







    transform: translateY(-5px) scale(1.15) !important;







}







.social-facebook:active svg {







    stroke: #FFFFFF !important;







    transform: scale(1.12);







}















/* LinkedIn Ã¢â‚¬â€ Official LinkedIn Blue & Aura */







@media (hover: hover) and (pointer: fine) {







    .social-linkedin:hover {







        background: #0A66C2 !important;







        border-color: #0A66C2 !important;







        color: #FFFFFF !important;







        box-shadow: 0 8px 28px rgba(10, 102, 194, 0.55), 0 0 15px rgba(10, 102, 194, 0.35) !important;







        transform: translateY(-5px) scale(1.15) !important;







    }







    .social-linkedin:hover svg {







        stroke: #FFFFFF !important;







        transform: scale(1.12);







    }







}







.social-linkedin:active {







    background: #0A66C2 !important;







    border-color: #0A66C2 !important;







    color: #FFFFFF !important;







    box-shadow: 0 8px 28px rgba(10, 102, 194, 0.55), 0 0 15px rgba(10, 102, 194, 0.35) !important;







    transform: translateY(-5px) scale(1.15) !important;







}







.social-linkedin:active svg {







    stroke: #FFFFFF !important;







    transform: scale(1.12);







}















/* X / Twitter Ã¢â‚¬â€ Crisp Contrast & Cyan/White Aura */







@media (hover: hover) and (pointer: fine) {







    [data-theme="dark"] .social-x:hover {







        background: #000000 !important;







        border-color: rgba(255, 255, 255, 0.6) !important;







        color: #FFFFFF !important;







        box-shadow: 0 8px 28px rgba(255, 255, 255, 0.35), 0 0 15px rgba(29, 161, 242, 0.4) !important;







        transform: translateY(-5px) scale(1.15) !important;







    }







    [data-theme="light"] .social-x:hover {







        background: #000000 !important;







        border-color: #000000 !important;







        color: #FFFFFF !important;







        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45) !important;







        transform: translateY(-5px) scale(1.15) !important;







    }







    .social-x:hover svg {







        fill: #FFFFFF !important;







        transform: scale(1.12);







    }







}







[data-theme="dark"] .social-x:active {







    background: #000000 !important;







    border-color: rgba(255, 255, 255, 0.6) !important;







    color: #FFFFFF !important;







    box-shadow: 0 8px 28px rgba(255, 255, 255, 0.35), 0 0 15px rgba(29, 161, 242, 0.4) !important;







    transform: translateY(-5px) scale(1.15) !important;







}







[data-theme="light"] .social-x:active {







    background: #000000 !important;







    border-color: #000000 !important;







    color: #FFFFFF !important;







    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45) !important;







    transform: translateY(-5px) scale(1.15) !important;







}







.social-x:active svg {







    fill: #FFFFFF !important;







    transform: scale(1.12);







}















/* 3. Say Hello Ã¢â‚¬â€ Official Google Mailbox Button */







/* 3. Say Hello Ã¢â‚¬â€ Official Google Gmail Button with Real 4-Color Gradient */







.gmail-compose-btn {







    display: inline-flex;







    align-items: center;







    gap: 0.85rem;







    padding: 0.85rem 2rem;







    border-radius: 9999px;







    font-family: var(--font-main);







    font-weight: 700;







    font-size: 1.05rem;







    letter-spacing: -0.01em;







    text-decoration: none;







    cursor: pointer;







    position: relative;







    user-select: none;







    background: var(--glass-bg);







    border: 1.5px solid var(--glass-border);







    color: var(--text-primary);







    box-shadow: var(--glass-shadow);







    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);







    -webkit-tap-highlight-color: transparent;







}















/* At rest: Neutral monochrome Gmail logo */







.gmail-brand-icon {







    flex-shrink: 0;







    filter: grayscale(1) opacity(0.65);







    transition: filter 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);







}















.gmail-btn-text {







    font-weight: 700;







    line-height: 1;







    transition: color 0.3s ease;







}















/* On Hover (Desktop) & On Tap (Mobile): Real 4-Color Gmail Activation */







@media (hover: hover) and (pointer: fine) {







    .gmail-compose-btn:hover {







        transform: translateY(-4px) scale(1.03);







        border-color: rgba(66, 133, 244, 0.55) !important;







        background: linear-gradient(135deg, rgba(66, 133, 244, 0.12) 0%, rgba(234, 67, 53, 0.12) 34%, rgba(251, 188, 5, 0.12) 68%, rgba(52, 168, 83, 0.12) 100%) !important;







        box-shadow: 







            0 10px 32px rgba(66, 133, 244, 0.35), 







            0 0 20px rgba(234, 67, 53, 0.28), 







            0 4px 14px rgba(251, 188, 5, 0.22), 







            0 2px 8px rgba(52, 168, 83, 0.22) !important;







    }







    .gmail-compose-btn:hover .gmail-brand-icon {







        filter: grayscale(0) opacity(1);







        transform: scale(1.18) rotate(-4deg);







    }







    .gmail-compose-btn:hover .gmail-btn-text {







        color: var(--text-primary) !important;







    }







}







.gmail-compose-btn:active {







    transform: translateY(-4px) scale(1.03);







    border-color: rgba(66, 133, 244, 0.55) !important;







    background: linear-gradient(135deg, rgba(66, 133, 244, 0.12) 0%, rgba(234, 67, 53, 0.12) 34%, rgba(251, 188, 5, 0.12) 68%, rgba(52, 168, 83, 0.12) 100%) !important;







    box-shadow: 







        0 10px 32px rgba(66, 133, 244, 0.35), 







        0 0 20px rgba(234, 67, 53, 0.28), 







        0 4px 14px rgba(251, 188, 5, 0.22), 







        0 2px 8px rgba(52, 168, 83, 0.22) !important;







}







.gmail-compose-btn:active .gmail-brand-icon {







    filter: grayscale(0) opacity(1);







    transform: scale(1.18) rotate(-4deg);







}







.gmail-compose-btn:active .gmail-btn-text {







    color: var(--text-primary) !important;







}















/* Dynamic Festival Greeting */







.festive-overlay {







    position: fixed;







    top: 0;







    left: 0;







    width: 100vw;







    height: 100vh;







    background: rgba(15, 23, 42, 0.7);







    backdrop-filter: blur(8px);







    -webkit-backdrop-filter: blur(8px);







    z-index: 99999;







    display: flex;







    justify-content: center;







    align-items: center;







    opacity: 0;







    pointer-events: none;







    transition: opacity 0.5s ease;







}















.festive-overlay.active {







    opacity: 1;







    pointer-events: auto;







}















.festive-card {







    position: relative;







    padding: 3rem 4rem;







    text-align: center;







    max-width: 90%;







    transform: translateY(-50px) scale(0.9);







    transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);







}















.festive-overlay.active .festive-card {







    transform: translateY(0) scale(1);







}















.festive-card h2 {







    font-size: 2.5rem;







    margin-bottom: 1rem;







    background: var(--gradient-text);







    -webkit-background-clip: text;







    background-clip: text;







    -webkit-text-fill-color: transparent;







}















.festive-card p {







    color: var(--text-secondary);







    font-size: 1.1rem;







}















.festive-close {







    position: absolute;







    top: 1rem;







    right: 1.5rem;







    background: transparent;







    border: none;







    color: var(--text-secondary);







    font-size: 2rem;







    cursor: default;







    transition: color 0.3s ease;







    padding: 0;







    line-height: 1;







}















@media (hover: hover) {







    .festive-close:hover {







        color: var(--accent-color);







    }







}















/* Footer */







footer {







    padding: 2.5rem 0;







    text-align: center;







    border-top: 1px solid var(--glass-border);







    color: var(--text-secondary);







    font-size: 0.82rem;







    letter-spacing: 0.01em;







}















/* Animations */







.hidden {







    opacity: 0;







}















.hidden-onload {







    opacity: 0;







    transform: translateY(-20px);







    animation: fadeDown 0.8s forwards ease-out 0.2s;







}















.animate-fade-up {







    animation: fadeUp 1s forwards cubic-bezier(0.16, 1, 0.3, 1);







}















.animate-fade-in {







    animation: fadeIn 1.2s forwards cubic-bezier(0.16, 1, 0.3, 1);







}















.animate-zoom-in {







    animation: zoomIn 1s forwards cubic-bezier(0.16, 1, 0.3, 1);







}















/* Scroll Progress Bar Ã¢â‚¬â€ fine 2px premium line */







.scroll-progress {







    position: fixed;







    top: 0;







    left: 0;







    width: 0%;







    height: 2px;







    background: linear-gradient(90deg, #0F766E, #0D9488, #2DD4BF, #5EEAD4, #0D9488);







    background-size: 300% 100%;







    animation: gradientMove 4s linear infinite;







    z-index: 10001;







    transition: width 0.08s linear;







}















@keyframes gradientMove {







    0% { background-position: 100% 0; }







    100% { background-position: -100% 0; }







}















@keyframes fadeUp {







    from {







        opacity: 0;







        transform: translateY(40px);







    }















    to {







        opacity: 1;







        transform: translateY(0);







    }







}















@keyframes fadeDown {







    from {







        opacity: 0;







        transform: translateY(-20px);







    }















    to {







        opacity: 1;







        transform: translateY(0);







    }







}















@keyframes fadeIn {







    from {







        opacity: 0;







    }















    to {







        opacity: 1;







    }







}















@keyframes zoomIn {







    from {







        opacity: 0;







        transform: scale(0.85);







    }















    to {







        opacity: 1;







        transform: scale(1);







    }







}















/* Preloader */







#preloader {







    position: fixed;







    top: 0;







    left: 0;







    width: 100%;







    height: 100vh;







    background-color: var(--bg-color);







    z-index: 9999;







    display: flex;







    justify-content: center;







    align-items: center;







    transition: opacity 0.5s ease, visibility 0.5s ease;







}















#preloader.fade-out {







    opacity: 0;







    visibility: hidden;







}















.loader-circle {







    width: 50px;







    height: 50px;







    border: 3px solid var(--glass-border);







    border-top: 3px solid var(--accent-color);







    border-right: 3px solid var(--accent-secondary);







    border-radius: 50%;







    animation: spin 1s linear infinite;







}















@keyframes spin {







    0% {







        transform: rotate(0deg);







    }















    100% {







        transform: rotate(360deg);







    }







}















/* Scroll to Top Button */







.scroll-top-btn {







    position: fixed;







    bottom: 15px;







    right: 15px;







    width: 50px;







    height: 50px;







    border-radius: 50%;







    background: var(--glass-bg);







    backdrop-filter: blur(12px);







    -webkit-backdrop-filter: blur(12px);







    border: 1px solid var(--glass-border);







    box-shadow: var(--glass-shadow);







    color: var(--text-primary);







    display: flex;







    justify-content: center;







    align-items: center;







    cursor: default;







    outline: none;







    -webkit-tap-highlight-color: transparent;







    z-index: 998;







    opacity: 0;







    visibility: hidden;







    transform: translateY(20px);







    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);







}















.scroll-top-btn.visible {







    opacity: 1;







    visibility: visible;







    transform: translateY(0);







}















.scroll-top-btn:hover {







    background: var(--gradient-primary);







    color: white;







    transform: translateY(-5px) scale(1.02);







    box-shadow: 0 10px 25px rgba(0,0,0,0);







}















/* Floating Feedback Button (Theme-Adaptive Opposite Colors - Appears in Contact Section) */







.floating-feedback-btn {







    position: fixed;







    bottom: 30px;







    right: 90px;







    width: 50px;







    height: 50px;







    border-radius: 50%;







    background: var(--text-primary);







    color: var(--bg-color);







    border: 1px solid var(--glass-border);







    box-shadow: var(--glass-shadow), 0 4px 20px rgba(0, 0, 0, 0.25);







    display: flex;







    justify-content: center;







    align-items: center;







    cursor: pointer;







    z-index: 999;







    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease, visibility 0.35s ease;







    opacity: 0;







    visibility: hidden;







    pointer-events: none;







    transform: scale(0.8);







}















.floating-feedback-btn.visible {







    opacity: 1;







    visibility: visible;







    pointer-events: auto;







    transform: scale(1);







}















.floating-feedback-btn svg {







    stroke: var(--bg-color);







    transition: stroke 0.3s ease;







}















.floating-feedback-btn:hover {







    transform: translateY(-4px) scale(1.08);







    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);







}















@media (max-width: 768px) {







    .floating-feedback-btn {







        bottom: 25px;







        right: 80px;







        width: 44px;







        height: 44px;







    }







}















/* Hide scroll-to-top & feedback button when mobile menu overlay is active */







body:has(.mobile-menu.open) .scroll-top-btn,







body:has(.mobile-menu.open) .floating-feedback-btn {







    opacity: 0 !important;







    visibility: hidden !important;







}















/* ------------------------------------- */







/* Feedback Form Styles */







/* ------------------------------------- */







.contact-grid {







    display: grid;







    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));







    gap: 2rem;







    align-items: stretch;







}















.contact-grid .contact-box {







    display: flex;







    flex-direction: column;







    justify-content: center;







    align-items: center;







    text-align: center;







    height: 100%;







    margin: 0;







}















.form-control {







    width: 100%;







    padding: 12px 16px;







    background: rgba(255, 255, 255, 0.05);







    /* Match glass card interior */







    border: 1px solid var(--glass-border);







    border-radius: 12px;







    color: var(--text-primary);







    font-family: 'Outfit', sans-serif;







    font-size: 1rem;







    outline: none;







    transition: all 0.3s ease;







}















[data-theme="light"] .form-control {







    background: rgba(0, 0, 0, 0.03);







}















.form-control::placeholder {







    color: var(--text-secondary);







    opacity: 0.7;







}















.form-control:focus {







    border-color: var(--accent-color);







    box-shadow: 0 0 0 3px rgba(0,0,0,0);







    background: rgba(255, 255, 255, 0.08);







}















[data-theme="light"] .form-control:focus {







    background: rgba(0, 0, 0, 0.05);







}















textarea.form-control {







    resize: vertical;







    min-height: 120px;







}















/* ------------------------------------- */







/* Modal Open Overrides */







/* ------------------------------------- */







body.modal-open .mouse-aura {







    display: none !important;







}















body.modal-open #cursor-dot,







body.modal-open #cursor-ring {







    z-index: 2147483647 !important;







    visibility: visible !important;







}















/* ------------------------------------- */







/* Feedback Modal Overlay & Styles */







/* ------------------------------------- */







.modal-overlay {







    position: fixed;







    /* Lock to viewport */







    top: 0;







    left: 0;







    width: 100%;







    height: 100vh;







    background: rgba(10, 10, 15, 0.6);







    backdrop-filter: blur(15px);







    /* Heavy glassmorphism blur */







    -webkit-backdrop-filter: blur(15px);







    z-index: 9999;







    /* Highest layer */







    display: flex;







    justify-content: center;







    align-items: center;







    opacity: 0;







    visibility: hidden;







    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);







}















.modal-overlay.active {







    opacity: 1;







    visibility: visible;







}















[data-theme="light"] .modal-overlay {







    background: rgba(250, 250, 255, 0.5);







}















.modal-content {







    width: 90%;







    max-width: 500px;







    transform: translateY(30px) scale(0.95);







    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);







}















/* Popping animation on open */







.modal-overlay.active .modal-content {







    transform: translateY(0) scale(1);







}















/* ------------------------------------- */







/* Hacker Mode Easter Egg Animations */







/* ------------------------------------- */







body.hacker-mode {







    filter: invert(1) hue-rotate(180deg) contrast(1.5);







    animation: glitch 0.2s steps(2, end) infinite;







    pointer-events: none;







    /* Disable clicking while shaking */







}















/* Turn borders green like a terminal */







body.hacker-mode .glass-card,







body.hacker-mode .nav-container {







    border-color: #00FF00 !important;







    box-shadow: 0 0 30px rgba(0, 255, 0, 0.4) !important;







}















@keyframes glitch {







    0% {







        transform: translate(0)







    }















    20% {







        transform: translate(-3px, 3px)







    }















    40% {







        transform: translate(-3px, -3px)







    }















    60% {







        transform: translate(3px, 3px)







    }















    80% {







        transform: translate(3px, -3px)







    }















    100% {







        transform: translate(0)







    }







}















/* Responsive */







@media (max-width: 900px) {







    .youtube-grid {







        grid-template-columns: 1fr;







    }















    .youtube-header {







        flex-direction: column;







        align-items: flex-start;







        gap: 1.5rem;







    }







}















@media (max-width: 768px) {







    .nav-links {







        display: none;







    }















    .hamburger {







        display: flex;







    }















    .hero-container {







        flex-direction: column-reverse;







        text-align: center;







        padding-top: 6rem;







    }















    .hero h1 {







        font-size: 3rem;







    }















    .hero-actions {







        justify-content: center;







    }















    .blob-container {







        width: 280px;







        height: 350px;







    }















    .shorts-container {







        grid-template-columns: repeat(2, 1fr) !important;







        gap: 1rem;







    }







}















@media (max-width: 1024px) {







    .shorts-container {







        grid-template-columns: repeat(3, 1fr);







        gap: 1.2rem;







    }







}















/* Micro-polish for extremely narrow mobile screens (like iPhone SE) */







@media (max-width: 400px) {







    .hero h1 {







        font-size: 2.5rem;







    }







}















/* ===========================







   About Me Section







   =========================== */







.about {







    padding: 6rem 0;







}















.about-grid {







    display: grid;







    grid-template-columns: 1fr 1.6fr;







    gap: 3rem;







    align-items: center;







    margin-top: 3rem;







}















/* Left: Photo */







.about-photo-wrap {







    position: relative;







    display: flex;







    flex-direction: column;







    align-items: center;







    gap: 1rem;







}















.about-photo {







    width: 100%;







    aspect-ratio: 4/5;







    border-radius: 1.5rem;







    overflow: hidden;







    padding: 0;







    border: 1px solid var(--glass-border);







}















.about-badge {







    display: inline-flex;







    align-items: center;







    gap: 0.4rem;







    padding: 0.5rem 1.2rem;







    border-radius: 2rem;







    font-size: 0.9rem;







    color: var(--text-secondary);







    font-weight: 500;







}















/* Right: Story */







.about-intro {







    font-size: 1.25rem;







    font-weight: 600;







    color: var(--text-primary);







    margin-bottom: 1.2rem;







    line-height: 1.6;







}















.about-intro strong {







    background: var(--gradient-primary);







    -webkit-background-clip: text;







    background-clip: text;







    -webkit-text-fill-color: transparent;







}















.about-text {







    color: var(--text-secondary);







    line-height: 1.8;







    margin-bottom: 1rem;







    font-size: 1rem;







}















/* 3 Highlights */







.about-highlights {







    display: flex;







    flex-direction: column;







    gap: 0.75rem;







    margin-top: 1.5rem;







}















.highlight-item {







    display: flex;







    align-items: center;







    gap: 1rem;







    padding: 0.85rem 1.2rem;







    border-radius: 1rem;







    transition: transform var(--transition-normal);







}















.highlight-item:hover {







    transform: translateX(6px);







}















.highlight-icon {







    font-size: 1.5rem;







    flex-shrink: 0;







}















.highlight-item h4 {







    font-size: 0.95rem;







    font-weight: 600;







    color: var(--text-primary);







    margin: 0 0 0.15rem 0;







}















.highlight-item p {







    font-size: 0.82rem;







    color: var(--text-secondary);







    margin: 0;







}















/* Responsive */







@media (max-width: 768px) {







    .about-grid {







        grid-template-columns: 1fr;







        gap: 2rem;







    }















    .about-photo {







        aspect-ratio: 1/1;







        max-width: 280px;







        margin: 0 auto;







    }







}















/* ===========================







   YouTube Journey Milestones







   =========================== */







.milestone-track {







    position: relative;







    display: flex;







    justify-content: space-between;







    align-items: flex-start;







    gap: 1rem;







    padding: 1rem 0 0.5rem 0;







    overflow-x: auto;







}















.milestone-line {







    position: absolute;







    top: 28px;







    left: 0;







    width: 100%;







    height: 2px;







    background: var(--gradient-primary);







    opacity: 0.35;







    border-radius: 2px;







    z-index: 0;







}















.milestone-item {







    flex: 1;







    min-width: 130px;







    display: flex;







    flex-direction: column;







    align-items: center;







    gap: 0.75rem;







    position: relative;







    z-index: 1;







    opacity: 0;







    transform: translateY(20px);







    transition: opacity 0.5s ease var(--delay, 0s), transform 0.5s ease var(--delay, 0s);







}















.yt-milestones.visible .milestone-item {







    opacity: 1;







    transform: translateY(0);







}















.milestone-dot {







    width: 52px;







    height: 52px;







    border-radius: 50%;







    background: var(--glass-bg);







    border: 2px solid var(--glass-border);















    display: flex;







    align-items: center;







    justify-content: center;







    font-size: 1.4rem;







    box-shadow: 0 0 0 4px var(--bg-color), 0 0 0 6px rgba(0,0,0,0);







    transition: transform 0.3s ease, box-shadow 0.3s ease;







}















.milestone-item:hover .milestone-dot {







    transform: scale(1.15);







    box-shadow: 0 0 0 4px var(--bg-color), 0 0 0 7px rgba(0,0,0,0);







}















.milestone-card {







    padding: 0.8rem 1rem;







    border-radius: 0.85rem;







    text-align: center;







    min-width: 120px;







}















.milestone-year {







    font-size: 0.7rem;







    font-weight: 700;







    letter-spacing: 0.1em;







    text-transform: uppercase;







    background: var(--gradient-primary);







    -webkit-background-clip: text;







    background-clip: text;







    -webkit-text-fill-color: transparent;







}















.milestone-card h4 {







    font-size: 0.82rem;







    font-weight: 600;







    color: var(--text-primary);







    margin: 0.25rem 0 0.2rem;







    line-height: 1.3;







}















.milestone-card p {







    font-size: 0.72rem;







    color: var(--text-secondary);







    margin: 0;







    line-height: 1.4;







}















@media (max-width: 600px) {







    .milestone-track {







        gap: 0.6rem;







    }















    .milestone-card {







        min-width: 90px;







        padding: 0.6rem 0.5rem;







    }















    .milestone-dot {







        width: 40px;







        height: 40px;







        font-size: 1.1rem;







    }







}















/* ===========================







   Live Stat Boxes (YouTube)







   =========================== */







.live-stat-boxes {







    display: flex;







    gap: 1.5rem;







    margin-top: 2.5rem;







    justify-content: center;







}















.live-stat-box {







    flex: 1;







    max-width: 280px;







    padding: 2rem 1.5rem;







    border-radius: 1.25rem;







    text-align: center;







    display: flex;







    flex-direction: column;







    align-items: center;







    gap: 0.5rem;







    transition: transform var(--transition-normal);







}















.live-stat-box:hover {







    transform: translateY(-4px);







}















.live-badge {







    display: inline-flex;







    align-items: center;







    gap: 0.4rem;







    font-size: 0.7rem;







    font-weight: 700;







    letter-spacing: 0.12em;







    color: #ef4444;







    text-transform: uppercase;







    margin-bottom: 0.25rem;







}















.live-dot {







    width: 8px;







    height: 8px;







    border-radius: 50%;







    background: #ef4444;







    display: inline-block;







    animation: pulseLive 1.5s ease-in-out infinite;







}















@keyframes pulseLive {















    0%,







    100% {







        opacity: 1;







        transform: scale(1);







    }















    50% {







        opacity: 0.4;







        transform: scale(0.75);







    }







}















.live-stat-icon {







    font-size: 2rem;







    margin: 0.25rem 0;







}















.live-stat-number {







    font-size: 2.4rem;







    font-weight: 800;







    background: var(--gradient-primary);







    -webkit-background-clip: text;







    background-clip: text;







    -webkit-text-fill-color: transparent;







    line-height: 1;







}















.live-stat-label {







    font-size: 0.85rem;







    color: var(--text-secondary);







    font-weight: 500;







    margin-top: 0.25rem;







}















@media (max-width: 500px) {







    .live-stat-boxes {







        flex-direction: column;







        align-items: center;







    }















    .live-stat-box {







        width: 100%;







        max-width: 100%;







    }







}















/* Tick-pop animation for live counters */







@keyframes tickPop {







    0% {







        transform: scale(1);







    }















    40% {







        transform: scale(1.12);







        color: var(--accent-color);







    }















    100% {







        transform: scale(1);







    }







}















.tick-pop {







    animation: tickPop 0.3s ease-out forwards;







}















/* ========================================







   FEEDBACK MODAL OPEN / CLOSE ANIMATIONS







   ======================================== */















/* Opening animation for .modal-content: spring zoom in from slightly small + fade */







@keyframes modalOpenCard {







    0% {







        opacity: 0;







        transform: scale(0.85) translateY(-30px);







        filter: blur(4px);







    }















    60% {







        opacity: 1;







        transform: scale(1.03) translateY(6px);







        filter: blur(0);







    }















    80% {







        transform: scale(0.98) translateY(-2px);







    }















    100% {







        opacity: 1;







        transform: scale(1) translateY(0);







        filter: blur(0);







    }







}















/* Opening animation for the background overlay: fade in */







@keyframes modalOpenOverlay {







    from {







        opacity: 0;







        backdrop-filter: blur(0px);







    }















    to {







        opacity: 1;







        backdrop-filter: blur(8px);







    }







}















/* Closing animation for .modal-content: fall + fade  */







@keyframes modalCloseCard {







    0% {







        opacity: 1;







        transform: scale(1) translateY(0);







        filter: blur(0);







    }















    100% {







        opacity: 0;







        transform: scale(0.88) translateY(60px);







        filter: blur(6px);







    }







}















/* Closing animation for background overlay: fade out */







@keyframes modalCloseOverlay {







    from {







        opacity: 1;







        backdrop-filter: blur(8px);







    }















    to {







        opacity: 0;







        backdrop-filter: blur(0px);







    }







}















/* Applied when modal is opening */







.modal-overlay.active {







    animation: modalOpenOverlay 0.35s ease forwards;







}















.modal-overlay.active .modal-content {







    animation: modalOpenCard 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;







}















/* Applied when modal is closing */







.modal-overlay.closing {







    animation: modalCloseOverlay 0.3s ease forwards;







    pointer-events: none;







}















.modal-overlay.closing .modal-content {







    animation: modalCloseCard 0.3s ease forwards;







}















/* SocialCounts Style Live Subscriber Counter Card */







.live-subscriber-card {







    position: relative;







    overflow: hidden;







    border: 1px solid rgba(255, 0, 0, 0.3) !important;







    background: linear-gradient(135deg, rgba(255, 0, 0, 0.08) 0%, rgba(22, 24, 29, 0.6) 100%) !important;







}















[data-theme="light"] .live-subscriber-card {







    background: linear-gradient(135deg, rgba(255, 0, 0, 0.05) 0%, rgba(255, 255, 255, 0.9) 100%) !important;







}















.live-counter-badge {







    display: inline-flex;







    align-items: center;







    gap: 0.45rem;







    padding: 0.3rem 0.75rem;







    border-radius: 50px;







    background: rgba(255, 0, 0, 0.12);







    border: 1px solid rgba(255, 0, 0, 0.3);







    margin-bottom: 0.8rem;







}















.live-pulse-dot {







    width: 8px;







    height: 8px;







    border-radius: 50%;







    background-color: #FF0000;







    box-shadow: 0 0 8px #FF0000;







    animation: livePulseGlow 1.2s infinite ease-in-out;







}















@keyframes livePulseGlow {







    0%, 100% { transform: scale(1); opacity: 1; box-shadow: 0 0 8px #FF0000; }







    50% { transform: scale(1.4); opacity: 0.4; box-shadow: 0 0 16px #FF0000; }







}















.live-badge-text {







    font-size: 0.72rem;







    font-weight: 800;







    letter-spacing: 0.1em;







    color: #FF0000;







    text-transform: uppercase;







}















/* True Per-Digit Mechanical Odometer System */







.live-odometer {







    display: inline-flex;







    align-items: center;







    font-variant-numeric: tabular-nums;







    letter-spacing: 1px;







    font-size: 3rem;







    font-weight: 800;







    transition: color 0.4s ease, -webkit-text-fill-color 0.4s ease;







}















.odo-char,







.odo-digit-inner {







    display: inline-block;







    color: var(--text-primary);







    -webkit-text-fill-color: var(--text-primary);







    transition: color 0.4s ease, -webkit-text-fill-color 0.4s ease;







}















/* Whole Number Soft Color Flash (Soft Mint Green on Up / Soft Rose Red on Down) */







.live-odometer.count-up-green .odo-char,







.live-odometer.count-up-green .odo-digit-inner {







    color: #22C55E !important;







    -webkit-text-fill-color: #22C55E !important;







    filter: drop-shadow(0 0 8px rgba(34, 197, 94, 0.35));







}















.live-odometer.count-down-red .odo-char,







.live-odometer.count-down-red .odo-digit-inner {







    color: #F43F5E !important;







    -webkit-text-fill-color: #F43F5E !important;







    filter: drop-shadow(0 0 8px rgba(244, 63, 94, 0.35));







}















.odo-digit-wrap {







    display: inline-block;







    position: relative;







    overflow: hidden;







    height: 1.15em;







    line-height: 1.15em;







    vertical-align: bottom;







}















/* ONLY the changing digit performs vertical mechanical roll! */







.odo-digit-wrap.changing-digit-up .odo-digit-inner {







    animation: odoSingleDigitUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;







}















.odo-digit-wrap.changing-digit-down .odo-digit-inner {







    animation: odoSingleDigitDown 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;







}















@keyframes odoSingleDigitUp {







    0% {







        transform: translateY(100%) scaleY(1.15);







        opacity: 0.15;







        filter: blur(5px);







    }







    35% {







        filter: blur(2px);







    }







    60% {







        transform: translateY(-2px) scaleY(0.98);







        opacity: 1;







        filter: blur(0px);







    }







    100% {







        transform: translateY(0) scaleY(1);







        opacity: 1;







        filter: blur(0px);







    }







}















@keyframes odoSingleDigitDown {







    0% {







        transform: translateY(-100%) scaleY(1.15);







        opacity: 0.15;







        filter: blur(5px);







    }







    35% {







        filter: blur(2px);







    }







    60% {







        transform: translateY(2px) scaleY(0.98);







        opacity: 1;







        filter: blur(0px);







    }







    100% {







        transform: translateY(0) scaleY(1);







        opacity: 1;







        filter: blur(0px);







    }







}















.views-odometer {







    color: var(--text-primary) !important;







    -webkit-text-fill-color: var(--text-primary) !important;







    background: none !important;







}























/* Form Inputs & Placeholder Visibility Polish */







.form-control {







    width: 100%;







    padding: 0.8rem 1rem;







    border-radius: 0.75rem;







    border: 1px solid var(--glass-border);







    color: var(--text-primary);







    font-family: var(--font-main);







    font-size: 0.95rem;







    transition: all 0.3s ease;







}















.form-control::placeholder {







    color: var(--text-secondary);







    opacity: 0.7;







}















[data-theme="light"] .form-control {







    background: rgba(255, 255, 255, 0.9) !important;







    border: 1px solid rgba(0, 0, 0, 0.15) !important;







    color: #0F172A !important;







}















[data-theme="light"] .form-control::placeholder {







    color: #64748B !important;







    opacity: 0.85 !important;







}















/* ==============================================================



/* ============================================================







   PREMIUM VISUAL UPGRADE Ã¢â‚¬â€ Visibly distinct improvements







   ============================================================ */















/* 1. Section title: bold left accent + number styling */







.section > .container > .section-title,







.section > .container > .youtube-header .section-title,







section .section-title {







    font-size: 2.8rem;







    font-weight: 800;







    letter-spacing: -0.045em;







}















/* 2. Cards Ã¢â‚¬â€ richer border that shows even at rest */







[data-theme="dark"] .glass-card {







    border-color: rgba(255, 255, 255, 0.11);







}







[data-theme="light"] .glass-card {







    border-color: rgba(0, 0, 0, 0.09);







}















/* 3. Stat numbers Ã¢â‚¬â€ bold serif-style display */







.counter {







    font-size: 3.6rem !important;







    font-weight: 900 !important;







    letter-spacing: -0.04em !important;







    line-height: 1 !important;







}







.stat-card p {







    font-size: 0.72rem !important;







    letter-spacing: 0.15em !important;







    font-weight: 700 !important;







    text-transform: uppercase;







    margin-top: 0.5rem;







    opacity: 0.65;







}















/* 4. Timeline dot Ã¢â‚¬â€ larger, glowing pulse */







.timeline-dot {







    width: 16px !important;







    height: 16px !important;







    left: 13px !important;







    box-shadow: 0 0 0 4px var(--bg-color), 0 0 18px rgba(13, 148, 136, 0.55) !important;







    background: #0D9488 !important;







}















/* 5. Timeline content Ã¢â‚¬â€ elevated heading size */







.timeline-content h3 {







    font-size: 1.5rem !important;







    font-weight: 800 !important;







    letter-spacing: -0.03em !important;







}















/* 6. Nav links Ã¢â‚¬â€ slightly larger, sharper */







.nav-links a {







    font-size: 0.9rem !important;







    font-weight: 600 !important;







    letter-spacing: -0.01em;







}















/* 7. Hero greeting line Ã¢â‚¬â€ refined */







.greeting {







    font-size: 1rem !important;







    font-weight: 700 !important;







    letter-spacing: 0.08em !important;







    text-transform: uppercase;







    color: var(--text-secondary) !important;







}















/* 8. Hero CTA primary button Ã¢â‚¬â€ richer accent */







.primary-btn {







    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%) !important;







    box-shadow: 0 8px 28px rgba(0,0,0,0) !important;







}







.primary-btn:hover {







    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%) !important;







    box-shadow: 0 12px 36px rgba(0,0,0,0) !important;







    transform: translateY(-3px) scale(1.03) !important;







}















/* 9. Column titles in YT section */







.column-title {







    font-size: 1.3rem !important;







    font-weight: 800 !important;







    letter-spacing: -0.03em !important;







    border-left-width: 3px !important;







    padding-left: 0.85rem !important;







}















/* 10. Social links Ã¢â‚¬â€ brand colors handled in dedicated rules */















/* 11. Footer Ã¢â‚¬â€ cleaner, slightly elevated */







footer {







    background: var(--bg-color-alt);







}















/* 12. Stat icon Ã¢â‚¬â€ subtle indigo ring */







.stat-icon {







    background: transparent !important;







    border: 1.5px solid var(--glass-border) !important;







    box-shadow: 0 0 20px rgba(0,0,0,0) !important;







}















/* 13. Skill tags (if any) */







.tags span {







    background: var(--glass-bg) !important;







    border: 1px solid var(--glass-border) !important;







    color: var(--text-secondary) !important;







    font-weight: 600 !important;







    font-size: 0.75rem !important;







    letter-spacing: 0.02em;







    border-radius: 0.5rem !important;







}















/* 14. Scroll-to-top button Ã¢â‚¬â€ stronger identity */







.scroll-top-btn:hover {







    background: #0D9488 !important;







    color: white !important;







    box-shadow: 0 8px 24px rgba(0,0,0,0) !important;







    transform: translateY(-4px) !important;







}



















/* ==============================================================



   KINETIC TEXT REVEAL ANIMATION (APPLE/AWWWARDS STYLE)



   ============================================================== */



.kinetic-text {



    opacity: 1 !important; /* Override any fade-up hiding */



    transform: none !important;



}







.kinetic-word {



    display: inline-block;



    overflow: hidden; 



    vertical-align: bottom; 



    padding-bottom: 0.1em;



    margin-right: 0.22em; 



    white-space: nowrap;



}







.kinetic-word:last-child {



    margin-right: 0;



}







.kinetic-inner {



    display: inline-block;



    transform: translateY(115%);



    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);



    will-change: transform;



    /* opacity: 0; removed */



}







.kinetic-active .kinetic-inner {



    transform: translateY(0);



    opacity: 1;



}







/* ==============================================================



   UI VISUAL UPGRADES (AMBIENT GLOW + GRAINY GLASS)



   ============================================================== */







/* --- PREMIUM AMBIENT GLOW --- */



.ambient-glow {



    position: fixed;



    top: 0; left: 0; right: 0; bottom: 0;



    z-index: -1;



    overflow: hidden;



    pointer-events: none;



}



.glow-orb {



    position: absolute;



    border-radius: 50%;



    filter: blur(80px);



    opacity: 0.15;



    animation: drift 20s infinite alternate ease-in-out;



}



.orb-1 {



    width: 40vw; height: 40vw;



    top: -10vw; left: -10vw;



    background: #6366f1;



}



.orb-2 {



    width: 35vw; height: 35vw;



    bottom: 10vw; right: -5vw;



    background: #8b5cf6;



    animation-delay: -5s;



}



[data-theme="light"] .glow-orb {



    opacity: 0.08;



}



@keyframes drift {



    0% { transform: translate(0, 0) scale(1); }



    100% { transform: translate(10vw, 5vw) scale(1.1); }



}







/* --- FROSTED GRAINY GLASS --- */



.glass-card {



    position: relative;



}















/* --- PREMIUM CURSOR AURA --- */



.cursor-aura {



    position: fixed;



    top: 0; left: 0;



    width: 300px; height: 300px;



    border-radius: 50%;



    background: radial-gradient(circle, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 60%);



    pointer-events: none;



    z-index: -2; /* Behind everything */



    will-change: transform;



    opacity: 0;



    transition: opacity 0.5s ease;



}



body.cursor-ready .cursor-aura {



    opacity: 1;



}



[data-theme="light"] .cursor-aura {



    background: radial-gradient(circle, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 60%);



}















[data-theme="light"] .glass-card::after {



    background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.08), transparent);



}







/* UX & Accessibility Audit Fixes */



/* 1. Ensure base font-size on mobile is at least 16px */

@media (max-width: 768px) {

    html, body {

        font-size: 16px !important;

    }

}



/* 2. Header sticky & max-height */

header[role="banner"] {

    position: sticky;

    top: 0;

    max-height: 80px;

    z-index: 1000;

    background: transparent;



}



/* 3. Touch targets min 48x48px for nav links, buttons, and social icons */

.nav-links a, 

.mobile-nav-links a, 

.social-links a,

.btn,

button {

    min-height: 48px;

    min-width: 48px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 0.5rem 1rem;

}



.social-links a {

    padding: 0.75rem;

}



.nav-links a {

    padding: 0.5rem 1rem;

}


/* 3. Dark Mode Contrast Fix */
[data-theme="dark"] {
    --text-secondary: #E4E4E7; /* Much brighter for 4.5:1 contrast */
}

/* 4. Font Hierarchy Cleanup */
h1 { font-size: clamp(2rem, 5vw, 2.5rem); }
h2 { font-size: clamp(1.5rem, 4vw, 1.75rem); }
h3 { font-size: 1.25rem; }
html, body, p {
    font-size: max(16px, 1rem); /* Base 16px minimum */
}


/* --- YOUTUBE STAGGERED REVEAL --- */
.yt-card-prep {
    opacity: 0;
    transform: translateY(60px);
    filter: blur(10px);
}

.yt-card-active {
    animation: ytCardSlide 1.1s forwards cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes ytCardSlide {
    to { opacity: 1; transform: translate(0px, 0px); filter: blur(0px); }
}

/* Smooth hover effect for Contact Hub options */
.contact-hub-option:hover {
    transform: translateY(-5px) scale(1.02) !important;
    border-color: var(--card-hover-border) !important;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45), 0 0 0 1px var(--glass-border-hover), var(--card-inset) !important;
    background-color: var(--glass-bg) !important;
}






/* Bulletproof scroll top positioning */
#scroll-top { right: 130px !important; bottom: 45px !important; z-index: 9999 !important; } @media (max-width: 768px) { #scroll-top { right: 15px !important; bottom: 15px !important; } }

/* Force Render Deploy */