        :root {
            --black: #000000;
            --white: #ffffff;
            --accent: #ff6b35;
            --grey: #333333;
            --warm-white: #f8f8f8;
            --soft-grey: #666666;
            --vh: 1vh; /* Custom viewport height for mobile */
        }        [data-theme="dark"] {
            --black: #ffffff;
            --white: #000000;
            --accent: #ff0000;
            --grey: #cccccc;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: Arial, sans-serif;
            background: var(--white);
            color: var(--black);
            cursor: none;
            overflow: hidden;
            height: 100vh;
        }

        /* Ensure cursor works with overflow changes */
        body.modal-open {
            cursor: none;
        }

        /* Custom Cursor */
        .cursor {
            position: fixed;
            width: 4px;
            height: 4px;
            background: var(--accent);
            border-radius: 50%;
            pointer-events: none;
            z-index: 999999;
            transition: transform 0.3s ease;
            mix-blend-mode: difference;
        }

        /* PRELOADER */
        .preloader {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: var(--black);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10000;
            transition: opacity 2s ease;
        }

        .preloader.hidden {
            opacity: 0;
            pointer-events: none;
        }

        .intro-video {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            object-fit: cover;
            z-index: 10001;
        }

        .preloader-text {
            position: fixed;
            bottom: 15%;
            left: 50%;
            transform: translateX(-50%);
            font-size: 1.5rem;
            font-weight: 400;
            letter-spacing: 12px;
            color: #ff6b35;
            animation: fade 3s infinite;
            z-index: 10002;
        }

        @keyframes fade {
            0%, 100% { opacity: 0.3; }
            50% { opacity: 1; }
        }

        @keyframes pulse {
            0%, 100% { opacity: 0.7; transform: translateX(-50%) scale(1); }
            50% { opacity: 1; transform: translateX(-50%) scale(1.05); }
        }

        /* DRAMATIC HEADER */
        .header {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1001;
            background: transparent;
            padding: 60px 80px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            transition: all 1s ease;
        }

        .logo {
            font-size: 1.2rem;
            font-weight: 400;
            letter-spacing: 8px;
            color: var(--black);
            text-decoration: none;
            transition: all 1s ease;
        }

        .logo:hover {
            letter-spacing: 16px;
        }

        .nav-tabs {
            display: flex;
            gap: 40px;
            background: rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(10px);
            padding: 20px 40px;
            border-radius: 50px;
            border: 1px solid rgba(255, 255, 255, 0.2);
        }

        .nav-tab {
            background: none;
            border: none;
            color: var(--white);
            font-size: 1rem;
            font-weight: 400;
            letter-spacing: 3px;
            cursor: pointer;
            transition: all 0.8s ease;
            text-transform: uppercase;
            padding: 15px 25px;
            opacity: 0.6;
            border-radius: 25px;
        }

        .nav-tab.active {
            opacity: 1;
            background: rgba(255, 255, 255, 0.2);
            color: var(--white);
            letter-spacing: 4px;
            transform: scale(1.05);
        }

        .nav-tab:hover {
            opacity: 1;
            background: rgba(255, 255, 255, 0.1);
            letter-spacing: 4px;
            transform: scale(1.02);
        }

        .music-toggle {
            width: 50px;
            height: 50px;
            background: rgba(0, 0, 0, 0.1);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            cursor: pointer;
            transition: all 0.8s ease;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--white);
            font-size: 1.2rem;
        }

        .music-toggle:hover {
            background: rgba(255, 255, 255, 0.2);
            transform: scale(1.1);
        }

        .music-toggle.playing {
            background: rgba(255, 107, 53, 0.2);
            color: var(--accent);
        }

        /* CATEGORY TABS - FIXED DESIGN */
        .category-tabs {
            position: fixed;
            bottom: 80px;
            left: 55%;
            transform: translateX(-50%);
            z-index: 1002;
            display: flex;
            gap: 40px;
            background: rgba(0 0 0 / 50%);
            backdrop-filter: blur(10px);
            padding: 20px 40px;
            border-radius: 50px;
            border: 1px solid rgba(255, 255, 255, 0.2);
        }

        .category-tab {
            background: none;
            border: none;
            color: var(--white);
            font-size: 1rem;
            font-weight: 400;
            letter-spacing: 3px;
            cursor: pointer;
            transition: all 0.8s ease;
            text-transform: uppercase;
            padding: 15px 25px;
            opacity: 0.6;
            border-radius: 25px;
            position: relative;
            overflow: hidden;
        }

        .category-tab.active {
            opacity: 1;
            background: rgba(255, 107, 53, 0.2);
            color: var(--accent);
            letter-spacing: 4px;
            transform: scale(1.1);
        }

        .category-tab:hover {
            opacity: 1;
            background: rgba(255, 255, 255, 0.1);
            transform: scale(1.05);
        }

        .category-tab::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: left 0.8s ease;
        }

        .category-tab:hover::before {
            left: 100%;
        }

        /* PAGE CONTAINER */
        .page-container {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
        }

        .page {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: all 2s cubic-bezier(0.4, 0, 0.2, 1);
            pointer-events: none;
        }

        .page.active {
            opacity: 1;
            pointer-events: all;
        }

        /* DRAMATIC HOME - FIXED QUADRANT SYSTEM */
        .dashboard {
            position: relative;
            width: 100%;
            height: 100%;
        }

        .quadrant {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            cursor: pointer;
            transition: opacity 0.8s ease;
            opacity: 0;
            pointer-events: none;
            visibility: hidden;
        }

        .quadrant.active {
            opacity: 1;
            pointer-events: all;
            visibility: visible;
        }

        .quadrant-image {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            filter: grayscale(100%) contrast(1.2);
            transition: all 2s ease;
        }

        .quadrant:hover .quadrant-image {
            filter: grayscale(0%) contrast(1.4);
            transform: scale(1.02);
        }

        .quadrant-content {
            position: absolute;
            bottom: 200px;
            left: 80px;
            color: var(--white);
            z-index: 5;
        }

        .quadrant-title {
            font-family: "Helvetica Neue", "Segoe UI", "Roboto", "Arial", sans-serif;
            font-size: 12rem;
            font-weight: 100 !important;
            letter-spacing: 10px;
            margin-bottom: 40px;
            text-shadow: 2px 2px 20px rgba(0,0,0,0.8);
            transition: all 2s ease;
            line-height: 0.8;
        }

        .quadrant:hover .quadrant-title {
            font-size: 14rem;
            letter-spacing: 15px;
            color: var(--accent);
        }

        .quadrant-subtitle {
            font-size: 1rem;
            font-weight: 400;
            letter-spacing: 8px;
            opacity: 0;
            transition: all 2s ease 0.5s;
            text-transform: uppercase;
        }

        .quadrant:hover .quadrant-subtitle {
            opacity: 1;
            letter-spacing: 12px;
        }

        .quadrant-action {
            position: absolute;
            bottom: 40px;
            left: 80px;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .quadrant:hover .quadrant-action {
            opacity: 1;
        }

        .action-btn {
            background: none;
            border: 1px solid var(--white);
            color: var(--white);
            padding: 20px 40px;
            font-size: 0.8rem;
            font-weight: 400;
            letter-spacing: 6px;
            cursor: pointer;
            transition: all 0.5s ease;
            text-transform: uppercase;
        }

        .action-btn:hover {
            background: var(--white);
            color: var(--black);
            letter-spacing: 10px;
        }

        /* OTHER PAGES - Enhanced Elegant Design */
        .page-content {
            padding: 200px 80px 80px 80px;
            height: 100%;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            position: relative;
            background: 
                linear-gradient(135deg, rgba(0,0,0,0.95) 0%, rgba(15,15,15,0.9) 100%),
                url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="20" cy="20" r="0.5" fill="%23ffffff" opacity="0.02"/><circle cx="80" cy="80" r="0.3" fill="%23ffffff" opacity="0.01"/><circle cx="40" cy="60" r="0.4" fill="%23ffffff" opacity="0.015"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
            color: #ffffff;
        }

        .page-content::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: 
                radial-gradient(circle at 20% 30%, rgba(255,107,53,0.15) 0%, transparent 60%),
                radial-gradient(circle at 80% 70%, rgba(255,255,255,0.05) 0%, transparent 50%),
                linear-gradient(45deg, transparent 30%, rgba(255,107,53,0.02) 50%, transparent 70%);
            pointer-events: none;
            z-index: -1;
        }

        .page-title {
            font-size: 8rem;
            font-weight: 100;
            letter-spacing: 20px;
            margin-bottom: 30px;
            color: #ffffff;
            line-height: 0.8;
            position: relative;
            overflow: hidden;
            text-shadow: 
                0 0 30px rgba(255,107,53,0.3),
                0 0 60px rgba(255,107,53,0.1),
                2px 2px 4px rgba(0,0,0,0.8);
            transition: all 2s ease;
            background: linear-gradient(135deg, #ffffff 0%, rgba(255,107,53,0.8) 50%, #ffffff 100%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            animation: titleGlow 4s ease-in-out infinite alternate;
        }

        @keyframes titleGlow {
            0% { 
                text-shadow: 
                    0 0 20px rgba(255,107,53,0.3),
                    0 0 40px rgba(255,107,53,0.1),
                    2px 2px 4px rgba(0,0,0,0.8);
            }
            100% { 
                text-shadow: 
                    0 0 40px rgba(255,107,53,0.5),
                    0 0 80px rgba(255,107,53,0.2),
                    2px 2px 8px rgba(0,0,0,0.9);
            }
        }

        .page-title::after {
            content: '';
            position: absolute;
            bottom: -15px;
            left: 0;
            width: 150px;
            height: 3px;
            background: linear-gradient(90deg, 
                var(--accent) 0%, 
                rgba(255,255,255,0.8) 50%, 
                transparent 100%);
            animation: titleUnderline 3s ease 0.8s both;
            box-shadow: 0 0 10px rgba(255,107,53,0.5);
        }

        @keyframes titleUnderline {
            from { 
                width: 0; 
                opacity: 0;
            }
            to { 
                width: 400px; 
                opacity: 1;
            }
        }

        .page-subtitle {
            font-size: 1.3rem;
            font-weight: 200;
            letter-spacing: 8px;
            color: rgba(255,255,255,0.8);
            margin-bottom: 120px;
            text-transform: uppercase;
            position: relative;
            animation: fadeInUp 1.5s ease 1.5s both;
            text-shadow: 0 2px 4px rgba(0,0,0,0.5);
        }

        @keyframes fadeInUp {
            from { 
                opacity: 0; 
                transform: translateY(40px); 
            }
            to { 
                opacity: 0.8; 
                transform: translateY(0); 
            }
        }

        /* ABOUT PAGE - Premium 3D Polaroid Studio */
        .about-studio {
            position: relative;
            width: 100%;
            height: 100vh;
            background: #1a1a1a;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: Arial, sans-serif;
        }

        /* Main Container for Side-by-Side Layout */
        .about-main-container {
            position: relative;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            max-width: 1400px;
            padding: 0 80px;
            z-index: 3;
        }

        /* Atmospheric Background */
        .studio-atmosphere {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
        }

        .light-source {
            position: absolute;
            border-radius: 50%;
            filter: blur(100px);
            opacity: 0.4;
            animation: lightPulse 4s ease-in-out infinite alternate;
        }

        .light-1 {
            width: 300px;
            height: 300px;
            background: radial-gradient(circle, #ff6b35 0%, transparent 70%);
            top: 10%;
            left: 20%;
            animation-delay: 0s;
        }

        .light-2 {
            width: 250px;
            height: 250px;
            background: radial-gradient(circle, #ffa500 0%, transparent 70%);
            bottom: 20%;
            right: 15%;
            animation-delay: 1.5s;
        }

        .light-3 {
            width: 200px;
            height: 200px;
            background: radial-gradient(circle, #ff8c42 0%, transparent 70%);
            top: 60%;
            left: 70%;
            animation-delay: 3s;
        }

        @keyframes lightPulse {
            0% { opacity: 0.3; transform: scale(0.9); }
            100% { opacity: 0.6; transform: scale(1.1); }
        }

        .dust-particles {
            position: absolute;
            width: 100%;
            height: 100%;
            background-image: 
                radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,0.3), transparent),
                radial-gradient(2px 2px at 40% 70%, rgba(255,255,255,0.2), transparent),
                radial-gradient(1px 1px at 90% 40%, rgba(255,255,255,0.3), transparent),
                radial-gradient(1px 1px at 60% 10%, rgba(255,255,255,0.2), transparent);
            animation: dustFloat 20s linear infinite;
        }

        @keyframes dustFloat {
            0% { transform: translateY(100vh) rotate(0deg); }
            100% { transform: translateY(-100vh) rotate(360deg); }
        }

        /* Header - Right Side */
        .studio-header {
            flex: 0 0 30%;
            position: relative;
            z-index: 3;
            text-align: left;
            display: flex;
            flex-direction: column;
            justify-content: center;
            height: 100%;
            /* padding-left: 40px; */
            animation: headerFadeIn 2s ease-out 0.5s both;
        }

        @keyframes headerFadeIn {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .studio-title {
            font-family: Arial, sans-serif;
            font-size: 4.5rem;
            font-weight: 500;
            color: #f5f5f5;
            /* letter-spacing: 8px; */
            margin-bottom: 20px;
            text-shadow: 
                0 0 20px rgba(255,107,53,0.5),
                0 0 40px rgba(255,107,53,0.3),
                0 0 60px rgba(255,107,53,0.2);
        }

        .studio-subtitle {
            font-family: Arial, sans-serif;
            font-size: 1.2rem;
            color: rgba(245,245,245,0.8);
            letter-spacing: 3px;
            font-weight: 400;
            /* font-family: 'Caveat', cursive; */
        }

        /* Floating Polaroid Gallery */
        .polaroid-gallery {
            position: relative;
            flex: 0 0 65%;
            height: 700px;
            z-index: 2;
            perspective: 1500px;
            margin-right: 40px;
            margin-top: 250px;
        }

        .polaroid-card {
            scale: 1.3;
            position: absolute;
            width: 280px;
            height: 350px;
            background: #f8f8f8;
            border-radius: 8px;
            box-shadow: 
                0 20px 60px rgba(0,0,0,0.4),
                0 8px 25px rgba(0,0,0,0.3),
                inset 0 1px 0 rgba(255,255,255,0.7);
            cursor: pointer;
            padding: 20px 20px 60px 20px;
            transform-style: preserve-3d;
            transform: 
                rotate3d(1, 1, 0, var(--base-rotation, 0deg))
                translate3d(var(--base-x, 0px), var(--base-y, 0px), 0px);
            z-index: var(--z-index, 1);
            transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
            animation: polaroidFloat 8s ease-in-out infinite;
            animation-play-state: running;
            overflow: hidden;
        }

        .polaroid-card:hover {
            animation-play-state: paused;
            transform: 
                rotate3d(0, 0, 0, 0deg)
                translate3d(0px, -20px, 100px)
                scale(1.15);
            box-shadow: 
                0 40px 120px rgba(0,0,0,0.6),
                0 20px 60px rgba(255,107,53,0.4),
                0 0 0 2px rgba(255,107,53,0.3),
                inset 0 1px 0 rgba(255,255,255,0.8);
            z-index: 10 !important;
        }

        @keyframes polaroidFloat {
            0%, 100% { 
                transform: 
                    rotate3d(1, 1, 0, var(--base-rotation, 0deg))
                    translate3d(var(--base-x, 0px), var(--base-y, 0px), 0px);
            }
            25% { 
                transform: 
                    rotate3d(1, 1, 0, calc(var(--base-rotation, 0deg) + 2deg))
                    translate3d(calc(var(--base-x, 0px) + 5px), calc(var(--base-y, 0px) - 8px), 10px);
            }
            50% { 
                transform: 
                    rotate3d(1, 1, 0, calc(var(--base-rotation, 0deg) - 1deg))
                    translate3d(calc(var(--base-x, 0px) - 3px), calc(var(--base-y, 0px) + 5px), -5px);
            }
            75% { 
                transform: 
                    rotate3d(1, 1, 0, calc(var(--base-rotation, 0deg) + 1deg))
                    translate3d(calc(var(--base-x, 0px) + 2px), calc(var(--base-y, 0px) - 3px), 8px);
            }
        }

        /* Polaroid Elements */
        .polaroid-photo {
            position: relative;
            width: 100%;
            height: 200px;
            border-radius: 4px;
            overflow: hidden;
            margin-bottom: 15px;
            box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
        }

        .polaroid-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: sepia(20%) contrast(1.1) brightness(0.95);
            transition: all 0.6s ease;
        }

        .polaroid-card:hover .polaroid-photo img {
            filter: sepia(0%) contrast(1.2) brightness(1);
            transform: scale(1.05);
        }

        .photo-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(
                135deg,
                rgba(255,255,255,0.1) 0%,
                transparent 30%,
                transparent 70%,
                rgba(0,0,0,0.05) 100%
            );
        }

        .polaroid-caption {
            position: relative;
            text-align: center;
        }

        .polaroid-title {
            font-size: 1.2rem;
            font-weight: 700;
            color: #222;
            margin-bottom: 8px;
            letter-spacing: 1px;
            font-family: Arial, sans-serif;
            text-shadow: 0 1px 2px rgba(0,0,0,0.1);
        }

        .polaroid-note {
            font-size: 0.9rem;
            color: #666;
            font-family: Arial, sans-serif;
            font-weight: 400;
            letter-spacing: 0.5px;
            line-height: 1.4;
            transform: rotate(-1deg);
        }

        /* Tape Effects */
        .tape {
            position: absolute;
            background: rgba(255,255,255,0.8);
            box-shadow: 
                0 2px 8px rgba(0,0,0,0.3),
                inset 0 1px 0 rgba(255,255,255,0.9);
        }

        .tape-top {
            width: 60px;
            height: 20px;
            top: -10px;
            left: 50%;
            transform: translateX(-50%) rotate(2deg);
        }

        .tape-corner {
            width: 30px;
            height: 30px;
            top: -15px;
            right: -15px;
            transform: rotate(45deg);
        }

        .tape-corner-alt {
            width: 25px;
            height: 25px;
            top: -12px;
            left: -12px;
            transform: rotate(-30deg);
        }

        .tape-side {
            width: 20px;
            height: 40px;
            right: -10px;
            top: 30%;
            transform: rotate(15deg);
        }

        .tape-double {
            width: 50px;
            height: 15px;
            top: -7px;
            left: 20px;
            transform: rotate(-5deg);
        }

        .tape-double::after {
            content: '';
            position: absolute;
            width: 40px;
            height: 15px;
            background: rgba(255,255,255,0.7);
            top: 5px;
            right: -15px;
            transform: rotate(8deg);
            box-shadow: 
                0 2px 8px rgba(0,0,0,0.3),
                inset 0 1px 0 rgba(255,255,255,0.9);
        }

        /* Aging Effects */
        .aging-effects {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
        }

        .coffee-stain {
            position: absolute;
            border-radius: 50%;
            background: radial-gradient(
                circle,
                rgba(139,69,19,0.15) 0%,
                rgba(139,69,19,0.08) 50%,
                transparent 100%
            );
        }

        .stain-1 {
            width: 40px;
            height: 40px;
            bottom: 20px;
            right: 30px;
        }

        .stain-2 {
            width: 25px;
            height: 25px;
            top: 40px;
            left: 20px;
        }

        .stain-3 {
            width: 35px;
            height: 35px;
            top: 60%;
            right: 20px;
        }

        .corner-fold {
            position: absolute;
            width: 0;
            height: 0;
            background: linear-gradient(
                135deg,
                rgba(0,0,0,0.1) 0%,
                rgba(0,0,0,0.05) 100%
            );
        }

        .fold-tl {
            top: 0;
            left: 0;
            border-right: 15px solid rgba(0,0,0,0.1);
            border-bottom: 15px solid transparent;
        }

        .fold-tr {
            top: 0;
            right: 0;
            border-left: 15px solid rgba(0,0,0,0.1);
            border-bottom: 15px solid transparent;
        }

        .fold-bl {
            bottom: 0;
            left: 0;
            border-right: 12px solid rgba(0,0,0,0.1);
            border-top: 12px solid transparent;
        }

        .fold-br {
            bottom: 0;
            right: 0;
            border-left: 12px solid rgba(0,0,0,0.1);
            border-top: 12px solid transparent;
        }

        /* Story Modal */
        .story-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 10000;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            pointer-events: none;
            transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
        }

        .story-modal.active {
            opacity: 1;
            pointer-events: all;
        }

        .story-modal-backdrop {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.9);
            backdrop-filter: blur(20px);
        }

        .story-modal-content {
            position: relative;
            width: 90%;
            max-width: 900px;
            max-height: 90vh;
            background: #fff;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 
                0 40px 120px rgba(0,0,0,0.6),
                0 0 0 1px rgba(255,107,53,0.3);
            transform: scale(0.8) translateY(60px);
            transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
            display: flex;
            flex-direction: column;
        }

        .story-modal.active .story-modal-content {
            transform: scale(1) translateY(0);
        }

        .story-modal-close {
            position: absolute;
            top: 20px;
            right: 20px;
            width: 40px;
            height: 40px;
            background: rgba(0,0,0,0.8);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 1.2rem;
            cursor: pointer;
            z-index: 10;
            transition: all 0.3s ease;
        }

        .story-modal-close:hover {
            background: #ff6b35;
            transform: rotate(90deg);
        }

        .story-hero-image {
            position: relative;
            height: 250px;
            overflow: hidden;
            flex-shrink: 0;
        }

        .story-hero-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .story-hero-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 100px;
            background: linear-gradient(transparent, rgba(0,0,0,0.7));
        }

        .story-content {
            padding: 30px 40px 40px 40px;
            overflow-y: auto;
            flex: 1;
            max-height: calc(90vh - 250px);
        }

        /* Custom scrollbar for story content */
        .story-content::-webkit-scrollbar {
            width: 8px;
        }

        .story-content::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 4px;
        }

        .story-content::-webkit-scrollbar-thumb {
            background: #ff6b35;
            border-radius: 4px;
        }

        .story-content::-webkit-scrollbar-thumb:hover {
            background: #e55a2b;
        }

        .story-title {
            font-size: 2.2rem;
            font-weight: 700;
            color: #333;
            margin-bottom: 20px;
            font-family: Arial, sans-serif;
        }

        .story-narrative {
            font-size: 1.1rem;
            line-height: 1.8;
            color: #555;
            margin-bottom: 30px;
            font-weight: 400;
        }

        .story-meta {
            display: flex;
            gap: 30px;
            padding-top: 20px;
            border-top: 1px solid #eee;
        }

        .story-date,
        .story-location {
            font-size: 0.9rem;
            color: #999;
            letter-spacing: 1px;
            text-transform: uppercase;
        }

        /* Mobile Responsiveness */
        @media (max-width: 768px) {
            .about-studio {
                flex-direction: column;
                padding: 20px;
            }
            
            .about-main-container {
                flex-direction: column;
                padding: 20px;
                max-width: none;
            }
            
            .studio-header {
                flex: none;
                text-align: center;
                padding-left: 0;
                margin-bottom: 40px;
                order: 1;
            }
            
            .studio-title {
                font-family: Arial, sans-serif;
                font-size: 2.5rem;
                letter-spacing: 4px;
            }
            
            .studio-subtitle {
                font-size: 1rem;
            }
            
            .polaroid-gallery {
                flex: none;
                width: 100%;
                height: auto;
                min-height: 600px;
                margin-right: 0;
                order: 2;
            }
            
            .polaroid-card {
                position: relative !important;
                width: 100%;
                max-width: 300px;
                margin: 20px auto;
                transform: rotate(0deg) !important;
                animation: none !important;
            }
        }

        /* Polaroid Modal - Enhanced Cinematic Style */
        .polaroid-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: 
                radial-gradient(circle at center, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.95) 100%),
                linear-gradient(45deg, rgba(255,107,53,0.05) 0%, rgba(0,0,0,0.9) 100%);
            backdrop-filter: blur(20px);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10003;
            opacity: 0;
            pointer-events: none;
            transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .polaroid-modal.active {
            opacity: 1;
            pointer-events: all;
        }

        .polaroid {
            background: #ffffff;
            padding: 30px 30px 80px 30px;
            max-width: 700px;
            width: 90%;
            border-radius: 8px;
            box-shadow: 
                0 60px 150px rgba(0,0,0,0.8),
                0 20px 60px rgba(255,107,53,0.3),
                inset 0 1px 0 rgba(255,255,255,0.3),
                0 0 0 1px rgba(0,0,0,0.1);
            transform: scale(0.3) rotate(-15deg) translateY(100px);
            transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
            overflow: hidden;
        }

        .polaroid::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, 
                rgba(255,255,255,0.1) 0%, 
                transparent 50%, 
                rgba(0,0,0,0.05) 100%);
            pointer-events: none;
        }

        .polaroid-modal.active .polaroid {
            transform: scale(1) rotate(0deg) translateY(0);
        }

        .polaroid-image {
            width: 100%;
            height: 350px;
            background: linear-gradient(135deg, 
                var(--accent) 0%, 
                rgba(255,107,53,0.8) 100%);
            margin-bottom: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 5rem;
            color: white;
            border-radius: 5px;
            position: relative;
            overflow: hidden;
            box-shadow: inset 0 0 30px rgba(0,0,0,0.2);
        }

        .polaroid-image::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, 
                transparent 0%, 
                rgba(255,255,255,0.3) 50%, 
                transparent 100%);
            animation: polaroidShine 3s ease-in-out infinite;
        }

        @keyframes polaroidShine {
            0% { left: -100%; }
            50% { left: -100%; }
            100% { left: 100%; }
        }

        .polaroid-title {
            font-size: 1.2rem;
            font-weight: 400;
            text-align: center;
            color: var(--black);
            letter-spacing: 3px;
            margin-bottom: 20px;
            /* text-transform: uppercase; */
        }

        .polaroid-text {
            font-size: 1.1rem;
            line-height: 1.9;
            color: var(--black);
            text-align: center;
            letter-spacing: 1px;
            opacity: 0.8;
            font-weight: 400;
        }

        .polaroid-close {
            position: absolute;
            top: -60px;
            right: 0;
            background: rgba(255,255,255,0.15);
            backdrop-filter: blur(10px);
            border: 2px solid rgba(255,255,255,0.3);
            border-radius: 50%;
            color: white;
            width: 50px;
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-size: 1.4rem;
            font-weight: 300;
            transition: all 0.8s ease;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
        }

        .polaroid-close:hover {
            background: rgba(255,107,53,0.9);
            color: white;
            transform: rotate(90deg) scale(1.2);
            box-shadow: 0 15px 40px rgba(255,107,53,0.4);
        }

        /* CONTACT PAGE - Enhanced with proper spacing */
        .contact-page-content {
            padding: 150px 80px 80px 80px; /* Added top padding to prevent overlap */
            height: 100%;
            overflow-y: auto;
            display: flex;
            flex-direction: column;
            justify-content: flex-start; /* Changed from center */
            position: relative;
            background: linear-gradient(135deg, 
                rgba(0,0,0,0.02) 0%, 
                rgba(255,107,53,0.03) 50%, 
                rgba(0,0,0,0.02) 100%);
        }

        .contact-page-content::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: 
                radial-gradient(circle at 20% 80%, rgba(255,107,53,0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(0,0,0,0.1) 0%, transparent 50%);
            pointer-events: none;
            z-index: -1;
        }

        .contact-page-title {
            font-size: 7rem;
            font-weight: 400;
            letter-spacing: 16px;
            margin-bottom: 40px; /* Reduced from 60px */
            color: var(--black);
            line-height: 0.8;
            position: relative;
            overflow: hidden;
            text-shadow: 0 0 30px rgba(255,107,53,0.1);
            transition: all 1.5s ease;
        }

        .contact-page-title::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 0;
            width: 100px;
            height: 2px;
            background: linear-gradient(90deg, var(--accent), transparent);
            animation: titleUnderline 2s ease 0.5s both;
        }

        .contact-page-subtitle {
            font-size: 1.1rem;
            font-weight: 400;
            letter-spacing: 6px;
            color: var(--black);
            opacity: 0.7;
            margin-bottom: 60px; /* Reduced from 80px */
            text-transform: uppercase;
            position: relative;
            animation: fadeInUp 1s ease 1s both;
        }

        .contact-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 120px;
            max-width: 1400px;
            position: relative;
            margin-top: 40px; /* Added margin to ensure separation */
        }

        .contact-container::before {
            content: '';
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 1px;
            height: 60%;
            background: linear-gradient(180deg, 
                transparent 0%, 
                var(--accent) 20%, 
                var(--accent) 80%, 
                transparent 100%);
            opacity: 0.3;
        }

        .contact-info {
            font-size: 1.2rem;
            font-weight: 500;
            line-height: 2.5;
            letter-spacing: 2px;
            background: rgba(255,255,255,0.6);
            backdrop-filter: blur(10px);
            padding: 60px;
            border-radius: 20px;
            border: 1px solid rgba(255,107,53,0.1);
            box-shadow: 0 20px 60px rgba(0,0,0,0.08);
            position: relative;
            overflow: hidden;
            animation: slideInLeft 1s ease 0.5s both;
        }

        @keyframes slideInLeft {
            from { 
                opacity: 0; 
                transform: translateX(-30px); 
            }
            to { 
                opacity: 1; 
                transform: translateX(0); 
            }
        }

        .contact-info::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, var(--accent), rgba(255,107,53,0.3));
            border-radius: 20px 20px 0 0;
        }

        .contact-info strong {
            font-weight: 600;
            font-size: 1.3rem;
            letter-spacing: 4px;
            display: block;
            margin-bottom: 25px;
            margin-top: 50px;
            color: var(--accent);
            position: relative;
            padding-left: 25px;
        }

        .contact-info strong::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 15px;
            height: 2px;
            background: var(--accent);
        }

        .contact-form {
            display: flex;
            flex-direction: column;
            gap: 50px;
            background: rgba(0,0,0,0.02);
            backdrop-filter: blur(10px);
            padding: 60px;
            border-radius: 20px;
            border: 1px solid rgba(0,0,0,0.05);
            box-shadow: 0 20px 60px rgba(0,0,0,0.08);
            animation: slideInRight 1s ease 0.7s both;
        }

        @keyframes slideInRight {
            from { 
                opacity: 0; 
                transform: translateX(30px); 
            }
            to { 
                opacity: 1; 
                transform: translateX(0); 
            }
        }

        .form-group {
            position: relative;
            overflow: hidden;
        }

        .form-input, .form-textarea {
            width: 100%;
            padding: 25px 20px 25px 0;
            border: none;
            border-bottom: 2px solid rgba(0,0,0,0.1);
            background: transparent;
            color: var(--black);
            font-size: 1.1rem;
            font-weight: 500;
            font-family: inherit;
            letter-spacing: 2px;
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
        }

        .form-input::before {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--accent);
            transition: width 0.8s ease;
        }

        .form-input:focus, .form-textarea:focus {
            outline: none;
            border-bottom-color: var(--accent);
            letter-spacing: 3px;
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(255,107,53,0.1);
        }

        .form-input:focus::before, .form-textarea:focus::before {
            width: 100%;
        }

        .form-label {
            position: absolute;
            top: 25px;
            left: 0;
            font-size: 1rem;
            font-weight: 400;
            color: var(--black);
            letter-spacing: 3px;
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            text-transform: uppercase;
            opacity: 0.6;
            pointer-events: none;
        }

        .form-input:focus + .form-label,
        .form-input:not(:placeholder-shown) + .form-label,
        .form-textarea:focus + .form-label,
        .form-textarea:not(:placeholder-shown) + .form-label {
            top: -15px;
            font-size: 0.8rem;
            letter-spacing: 4px;
            opacity: 1;
            color: var(--accent);
            transform: scale(0.9);
        }

        .form-textarea {
            min-height: 120px;
            resize: none;
            font-family: inherit;
        }

        .btn {
            background: linear-gradient(135deg, 
                transparent 0%, 
                rgba(255,107,53,0.1) 50%, 
                transparent 100%);
            border: 2px solid var(--black);
            color: var(--black);
            padding: 35px 70px;
            font-size: 0.9rem;
            font-weight: 500;
            letter-spacing: 6px;
            cursor: pointer;
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            text-transform: uppercase;
            align-self: flex-start;
            position: relative;
            overflow: hidden;
            backdrop-filter: blur(10px);
        }

        .btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, 
                transparent, 
                rgba(255,107,53,0.2), 
                transparent);
            transition: left 0.8s ease;
        }

        .btn:hover::before {
            left: 100%;
        }

        .btn:hover {
            background: var(--black);
            color: var(--white);
            letter-spacing: 8px;
            transform: translateY(-8px);
            box-shadow: 
                0 15px 35px rgba(0,0,0,0.2),
                0 0 0 1px rgba(255,107,53,0.3);
            border-color: var(--accent);
        }

        /* GUIDELINES PAGE - Ultra Minimal Design */
        .guidelines-container {
            height: 100vh;
            padding: 60px 40px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            background: #fefefe;
            position: relative;
        }

        .guidelines-header {
            text-align: center;
            margin-bottom: 50px;
        }

        .guidelines-title {
            font-family: Arial, sans-serif;
            font-size: 3.5rem;
            font-weight: 900;
            letter-spacing: 8px;
            color: var(--black);
            margin-bottom: 15px;
        }

        .guidelines-subtitle {
            font-family: Arial, sans-serif;
            font-size: 1.1rem;
            font-weight: 400;
            letter-spacing: 2px;
            color: #666;
        }

        .guidelines-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, 1fr);
            gap: 25px;
            max-width: 1000px;
            width: 100%;
        }

        .guideline-card {
            background: white;
            border-radius: 12px;
            padding: 25px;
            border: 1px solid #f0f0f0;
            box-shadow: 0 8px 25px rgba(0,0,0,0.06);
            transition: all 0.3s ease;
            display: flex;
            flex-direction: column;
            justify-content: center;
            text-align: center;
            min-height: 180px;
        }

        .guideline-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(0,0,0,0.12);
        }

        .card-number {
            font-size: 1.5rem;
            font-weight: 900;
            color: var(--accent);
            margin-bottom: 10px;
        }

        .card-title {
            font-family: Arial, sans-serif;
            font-size: 1rem;
            font-weight: 700;
            letter-spacing: 1px;
            color: var(--black);
            margin-bottom: 15px;
            text-transform: uppercase;
        }

        .card-content {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .rule-point {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 4px 0;
        }

        .point-label {
            font-family: Arial, sans-serif;
            font-size: 0.8rem;
            font-weight: 600;
            color: #666;
        }

        .point-value {
            font-family: Arial, sans-serif;
            font-size: 0.8rem;
            font-weight: 700;
            color: var(--accent);
        }

        .criteria-row {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            justify-content: center;
        }

        .criteria-item {
            background: rgba(255,107,53,0.1);
            color: var(--accent);
            padding: 3px 10px;
            border-radius: 10px;
            font-size: 0.7rem;
            font-weight: 600;
        }

        .prize-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 4px 0;
        }

        .prize-amount {
            font-weight: 700;
            color: var(--accent);
        }

        .prize-extra {
            font-size: 0.7rem;
            color: #666;
            margin-top: 8px;
            text-align: center;
        }

        .cta-card {
            background: linear-gradient(135deg, 
                rgba(255,107,53,0.08) 0%, 
                rgba(255,107,53,0.04) 100%);
            border: 1px solid rgba(255,107,53,0.15);
        }

        .cta-text {
            font-size: 0.85rem;
            margin-bottom: 15px;
            color: var(--black);
            line-height: 1.4;
        }

        .guidelines-cta-btn {
            font-family: Arial, sans-serif;
            background: var(--accent);
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 25px;
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 1px;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .guidelines-cta-btn:hover {
            background: var(--black);
            transform: translateY(-2px);
        }

        .stat-item:hover {
            transform: translateY(-10px) scale(1.05);
            box-shadow: 
                0 30px 70px rgba(0,0,0,0.15),
                0 0 0 1px rgba(255,107,53,0.2);
        }

        .stat-item:hover::before {
            transform: scaleX(1);
        }

        .stat-number {
            font-size: 5rem;
            font-weight: 600;
            letter-spacing: 4px;
            margin-bottom: 20px;
            color: var(--accent);
            text-shadow: 0 0 20px rgba(255,107,53,0.3);
            transition: all 0.6s ease;
        }

        .stat-item:hover .stat-number {
            font-size: 5.5rem;
            letter-spacing: 6px;
            transform: scale(1.1);
        }

        .stat-label {
            font-size: 0.9rem;
            font-weight: 500;
            letter-spacing: 4px;
            text-transform: uppercase;
            opacity: 0.7;
            transition: all 0.6s ease;
        }

        .stat-item:hover .stat-label {
            opacity: 1;
            letter-spacing: 6px;
            color: var(--accent);
        }

        /* UPLOAD AREA - Enhanced Design */
        .upload-container {
            border: 2px dashed rgba(255,107,53,0.3);
            padding: 80px;
            margin: 80px 0;
            text-align: center;
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
            cursor: pointer;
            background: linear-gradient(135deg, 
                rgba(255,255,255,0.8) 0%, 
                rgba(255,107,53,0.02) 50%, 
                rgba(255,255,255,0.8) 100%);
            backdrop-filter: blur(10px);
            border-radius: 20px;
            position: relative;
            overflow: hidden;
        }

        .upload-container::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, 
                transparent, 
                rgba(255,107,53,0.1), 
                transparent);
            transition: left 0.8s ease;
        }

        .upload-container:hover::before {
            left: 100%;
        }

        .upload-container:hover {
            border-color: var(--accent);
            background: rgba(255, 107, 53, 0.08);
            transform: scale(1.02);
            box-shadow: 
                0 20px 50px rgba(255,107,53,0.1),
                0 0 0 1px rgba(255,107,53,0.2);
        }

        .upload-container.dragover {
            border-color: var(--accent);
            background: rgba(255, 107, 53, 0.1);
            transform: scale(1.05);
            box-shadow: 
                0 25px 60px rgba(255,107,53,0.2),
                inset 0 0 50px rgba(255,107,53,0.1);
        }

        .upload-text {
            font-size: 1.8rem;
            font-weight: 500;
            letter-spacing: 6px;
            margin-bottom: 30px;
            color: var(--black);
            transition: all 0.6s ease;
        }

        .upload-container:hover .upload-text {
            color: var(--accent);
            letter-spacing: 8px;
        }

        .upload-subtext {
            font-size: 0.9rem;
            font-weight: 400;
            letter-spacing: 3px;
            opacity: 0.6;
            text-transform: uppercase;
            transition: all 0.6s ease;
        }

        .upload-container:hover .upload-subtext {
            opacity: 0.8;
            letter-spacing: 4px;
        }

        .file-list {
            margin-top: 60px;
            text-align: left;
        }

        .file-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 0;
            border-bottom: 1px solid var(--black);
            opacity: 0.1;
        }

        .file-item.show {
            opacity: 1;
        }

        .file-name {
            font-size: 1rem;
            font-weight: 500;
            letter-spacing: 2px;
        }

        .file-size {
            font-size: 0.8rem;
            font-weight: 400;
            letter-spacing: 2px;
            opacity: 0.6;
        }

        .file-remove {
            background: none;
            border: none;
            color: var(--accent);
            cursor: pointer;
            font-size: 1.2rem;
            transition: all 0.3s ease;
        }

        .file-remove:hover {
            transform: rotate(90deg);
        }

        /* GALLERY MODAL */
        .gallery-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: var(--black);
            display: flex;
            flex-direction: column;
            z-index: 10002;
            opacity: 0;
            pointer-events: none;
            transition: all 1s ease;
        }

        .gallery-modal.active {
            opacity: 1;
            pointer-events: all;
        }

        .gallery-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 60px 80px;
            border-bottom: 1px solid var(--white);
        }

        .gallery-title {
            font-size: 2rem;
            font-weight: 400;
            letter-spacing: 8px;
            color: var(--white);
            text-transform: uppercase;
        }

        .gallery-close {
            background: none;
            border: 1px solid var(--white);
            color: var(--white);
            font-size: 1rem;
            cursor: pointer;
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 1s ease;
        }

        .gallery-close:hover {
            background: var(--white);
            color: var(--black);
            transform: rotate(90deg);
        }

        .gallery-content {
            flex: 1;
            padding: 80px;
            overflow-y: auto;
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
            gap: 60px;
            max-width: 1600px;
            margin: 0 auto;
        }

        .gallery-item {
            position: relative;
            aspect-ratio: 4/3;
            overflow: hidden;
            cursor: pointer;
            transition: all 1s ease;
            border: 1px solid var(--white);
        }

        .gallery-item:hover {
            transform: scale(1.05);
        }

        .gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: grayscale(100%);
            transition: all 1s ease;
            animation: colorReveal 4s ease-in-out infinite;
        }

        @keyframes colorReveal {
            0% { filter: grayscale(100%); }
            50% { filter: grayscale(0%); }
            100% { filter: grayscale(100%); }
        }

        .gallery-item:hover img {
            filter: grayscale(0%) !important;
            transform: scale(1.1);
            animation-play-state: paused;
        }

        .gallery-item-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(transparent, rgba(0,0,0,0.9));
            color: var(--white);
            padding: 40px;
            transform: translateY(100%);
            transition: all 1s ease;
        }

        .gallery-item:hover .gallery-item-overlay {
            transform: translateY(0);
        }

        .gallery-item-title {
            font-size: 1.2rem;
            font-weight: 500;
            letter-spacing: 2px;
            margin-bottom: 10px;
        }

        .gallery-item-author {
            font-size: 0.9rem;
            font-weight: 400;
            letter-spacing: 2px;
            opacity: 0.8;
        }

        /* LIGHTBOX */
        .lightbox {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 110%;
            background: rgba(0,0,0,0.98);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 10003;
            opacity: 0;
            pointer-events: none;
            transition: all 1s ease;
        }

        .lightbox.active {
            opacity: 1;
            pointer-events: all;
        }

        .lightbox-content {
            max-width: 90%;
            max-height: 90%;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .lightbox img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

        .lightbox-close {
            position: absolute;
            top: -80px;
            right: 0;
            background: none;
            border: 1px solid var(--white);
            color: var(--white);
            font-size: 1.5rem;
            cursor: pointer;
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 1s ease;
        }

        .lightbox-close:hover {
            background: var(--white);
            color: var(--black);
            transform: rotate(90deg);
        }

        /* MODAL - Enhanced Authentication Design */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.9);
            backdrop-filter: blur(15px);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 99999;
            opacity: 0;
            pointer-events: none;
            transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .modal-overlay.active {
            opacity: 1;
            pointer-events: all;
        }

        .modal {
            background: linear-gradient(135deg, 
                rgba(255,255,255,0.95) 0%, 
                rgba(255,107,53,0.05) 50%, 
                rgba(255,255,255,0.95) 100%);
            backdrop-filter: blur(20px);
            padding: 60px 40px;
            max-width: 600px;
            width: 90%;
            text-align: center;
            transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            transform: scale(0.95) translateY(20px);
            opacity: 0;
            position: relative;
            border-radius: 20px;
            border: 1px solid rgba(255,107,53,0.1);
            box-shadow: 
                0 30px 80px rgba(0,0,0,0.3),
                inset 0 1px 0 rgba(255,255,255,0.5);
            overflow: hidden;
        }

        .modal::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 5px;
            background: linear-gradient(90deg, 
                var(--accent) 0%, 
                rgba(255,107,53,0.7) 50%, 
                var(--accent) 100%);
            border-radius: 25px 25px 0 0;
        }

        /* Floating particles effect */
        .modal::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: 
                radial-gradient(2px 2px at 20px 30px, rgba(255,107,53,0.3) 0%, transparent 50%),
                radial-gradient(2px 2px at 40px 70px, rgba(255,107,53,0.2) 0%, transparent 50%),
                radial-gradient(1px 1px at 90px 40px, rgba(255,107,53,0.4) 0%, transparent 50%),
                radial-gradient(1px 1px at 130px 80px, rgba(255,107,53,0.3) 0%, transparent 50%),
                radial-gradient(2px 2px at 160px 30px, rgba(255,107,53,0.2) 0%, transparent 50%);
            background-repeat: repeat;
            background-size: 200px 200px;
            animation: float 20s linear infinite;
            pointer-events: none;
            opacity: 0.6;
        }

        @keyframes float {
            0% { transform: translateY(0px) rotate(0deg); }
            33% { transform: translateY(-10px) rotate(120deg); }
            66% { transform: translateY(5px) rotate(240deg); }
            100% { transform: translateY(0px) rotate(360deg); }
        }

        .modal-overlay.active .modal {
            transform: scale(1) translateY(0) !important;
            opacity: 1 !important;
            display: block !important;
            visibility: visible !important;
            z-index: 10001 !important;
            animation: modalPulse 0.6s ease-out;
        }

        @keyframes modalPulse {
            0% { 
                transform: scale(0.95) translateY(20px); 
                opacity: 0; 
            }
            50% { 
                transform: scale(1.02) translateY(-5px); 
                opacity: 0.8; 
            }
            100% { 
                transform: scale(1) translateY(0); 
                opacity: 1; 
            }
        }

        .modal-title {
            font-size: 3.5rem;
            font-weight: 400;
            letter-spacing: 8px;
            margin-bottom: 60px;
            background: linear-gradient(135deg, 
                var(--black) 0%, 
                var(--accent) 50%, 
                var(--black) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            position: relative;
            z-index: 10;
        }

        .modal-title::after {
            content: 'JOIN LONDON LENS';
            position: absolute;
            top: 0;
            left: 0;
            background: linear-gradient(135deg, 
                rgba(255,107,53,0.3) 0%, 
                rgba(255,107,53,0.1) 50%, 
                rgba(255,107,53,0.3) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            filter: blur(2px);
            z-index: -1;
            animation: titleGlow 3s ease-in-out infinite;
        }

        @keyframes titleGlow {
            0%, 100% { opacity: 0.5; transform: scale(1); }
            50% { opacity: 0.8; transform: scale(1.02); }
        }

        .modal-close {
            position: absolute;
            top: 30px;
            right: 30px;
            background: rgba(0,0,0,0.1);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(0,0,0,0.1);
            border-radius: 50%;
            cursor: pointer;
            color: var(--black);
            width: 50px;
            height: 50px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            overflow: hidden;
            user-select: none;
        }

        .modal-close .close-icon {
            font-size: 1.5rem;
            transition: all 0.3s ease;
            line-height: 1;
        }

        .modal-close .close-text {
            font-size: 0.6rem;
            font-weight: 600;
            letter-spacing: 1px;
            opacity: 0;
            transform: translateY(10px);
            transition: all 0.3s ease;
            line-height: 1;
            margin-top: 2px;
        }

        .modal-close:hover {
            background: var(--accent);
            color: var(--white);
            transform: scale(1.1);
            box-shadow: 0 10px 25px rgba(255,107,53,0.3);
            width: 60px;
            height: 60px;
        }

        .modal-close:hover .close-icon {
            transform: rotate(90deg) scale(0.8);
        }

        .modal-close:hover .close-text {
            opacity: 1;
            transform: translateY(0);
        }

        .modal-close:active {
            transform: scale(0.95);
            transition: transform 0.1s ease;
        }

        /* AUTHENTICATION MODAL - Gallery Style */
        .auth-modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: var(--black);
            display: flex;
            flex-direction: column;
            z-index: 10002;
            opacity: 0;
            pointer-events: none;
            transition: all 0.8s ease;
            overflow: hidden; /* Prevent scrolling on the modal itself */
        }

        .auth-modal.active {
            opacity: 1;
            pointer-events: all;
        }

        .auth-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 40px 60px;
            border-bottom: 1px solid var(--white);
            flex-shrink: 0; /* Prevent header from shrinking */
        }

        .auth-title {
            font-size: 1.8rem;
            font-weight: 400;
            letter-spacing: 6px;
            color: var(--white);
            text-transform: uppercase;
        }

        .auth-close {
            background: rgba(255,255,255,0.1);
            border: 1px solid var(--white);
            border-radius: 50%;
            color: var(--white);
            width: 50px;
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            font-size: 1.5rem;
            transition: all 0.3s ease;
            flex-shrink: 0; /* Prevent button from shrinking */
        }

        .auth-close:hover {
            background: var(--accent);
            color: var(--white);
            transform: rotate(90deg) scale(1.1);
        }

        .auth-content {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start; /* Changed from center to flex-start */
            padding: 40px 60px;
            max-width: 500px;
            margin: 0 auto;
            width: 100%;
            overflow-y: auto; /* Allow scrolling on content */
            min-height: 0; /* Allow content to shrink */
        }

        /* Creative toggle switch instead of tabs */
        .auth-toggle {
            margin-bottom: 30px;
            width: 100%;
            display: flex;
            justify-content: center;
        }

        .toggle-track {
            position: relative;
            background: rgba(255,255,255,0.1);
            border-radius: 25px;
            padding: 4px;
            display: flex;
            border: 1px solid rgba(255,255,255,0.2);
            overflow: hidden;
        }

        .toggle-slider {
            position: absolute;
            top: 4px;
            left: 4px;
            width: calc(50% - 4px);
            height: calc(100% - 8px);
            background: var(--accent);
            border-radius: 20px;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            z-index: 1;
        }

        .toggle-option {
            flex: 1;
            padding: 12px 24px;
            background: transparent;
            border: none;
            color: rgba(255,255,255,0.7);
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 2px;
            cursor: pointer;
            transition: all 0.3s ease;
            text-transform: uppercase;
            position: relative;
            z-index: 2;
            white-space: nowrap;
        }

        .toggle-option.active {
            color: var(--white);
        }

        .toggle-option:hover {
            color: var(--white);
        }

        /* Slider animation for register/sign up */
        .auth-toggle[data-active="register"] .toggle-slider {
            transform: translateX(100%);
        }

        /* Auth form styling for new modal */
        .auth-modal .auth-form {
            width: 100%;
        }

        .auth-modal .form-group {
            margin-bottom: 20px; /* Reduced from default */
        }

        .auth-modal .form-input {
            background: rgba(255,255,255,0.1);
            border: 1px solid rgba(255,255,255,0.2);
            color: var(--white);
            border-radius: 8px;
            padding: 15px 20px;
            width: 100%;
            font-size: 0.9rem;
            letter-spacing: 2px;
        }

        .auth-modal .form-input::placeholder {
            color: rgba(255,255,255,0.6);
        }

        .auth-modal .form-input:focus {
            border-color: var(--accent);
            background: rgba(255,255,255,0.15);
            outline: none;
        }

        .auth-modal .btn-primary {
            background: var(--accent);
            color: var(--white);
            border: 1px solid var(--accent);
            padding: 15px 30px;
            width: 100%;
            font-size: 0.9rem;
            letter-spacing: 3px;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
            margin-top: 10px;
        }

        .auth-modal .btn-primary:hover {
            background: var(--white);
            color: var(--accent);
        }

        /* Mobile responsiveness for auth modal */
        @media (max-height: 700px) {
            .auth-header {
                padding: 30px 40px;
            }
            
            .auth-title {
                font-size: 1.5rem;
                letter-spacing: 4px;
            }
            
            .auth-close {
                width: 40px;
                height: 40px;
                font-size: 1.2rem;
            }
            
            .auth-content {
                padding: 30px 40px;
            }
            
            .auth-toggle {
                margin-bottom: 20px;
            }
            
            .toggle-option {
                padding: 10px 20px;
                font-size: 0.75rem;
                letter-spacing: 1px;
            }
            
            .auth-modal .form-group {
                margin-bottom: 15px;
            }
            
            .auth-modal .form-input {
                padding: 12px 15px;
                font-size: 0.8rem;
            }
            
            .auth-modal .btn-primary {
                padding: 12px 25px;
                font-size: 0.8rem;
            }
        }

        @media (max-width: 768px) {
            .auth-header {
                padding: 25px 30px;
            }
            
            .auth-content {
                padding: 25px 30px;
            }
            
            .auth-title {
                font-size: 1.4rem;
                letter-spacing: 3px;
            }
            
            .toggle-option {
                padding: 10px 18px;
                font-size: 0.8rem;
            }
        }

        @media (max-width: 480px) {
            .auth-header {
                padding: 20px 25px;
            }
            
            .auth-content {
                padding: 20px 25px;
            }
            
            .auth-title {
                font-size: 1.2rem;
                letter-spacing: 2px;
            }
            
            .auth-close {
                width: 35px;
                height: 35px;
                font-size: 1rem;
            }
            
            .toggle-option {
                padding: 8px 16px;
                font-size: 0.75rem;
                letter-spacing: 1px;
            }
        }

        .auth-tabs {
            display: flex;
            margin-bottom: 60px;
            border-bottom: 2px solid rgba(0,0,0,0.1);
            border-radius: 10px 10px 0 0;
            overflow: hidden;
            background: rgba(255,255,255,0.5);
        }

        .auth-tab {
            flex: 1;
            padding: 25px 30px;
            background: transparent;
            border: none;
            font-size: 1.1rem;
            font-weight: 500;
            letter-spacing: 4px;
            cursor: pointer;
            color: var(--black);
            transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            text-transform: uppercase;
            opacity: 0.6;
            position: relative;
        }

        .auth-tab::before {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 3px;
            background: var(--accent);
            transition: width 0.6s ease;
        }

        .auth-tab.active {
            opacity: 1;
            background: rgba(255,107,53,0.1);
            color: var(--accent);
            transform: translateY(-2px);
        }

        .auth-tab.active::before {
            width: 100%;
        }

        .auth-tab:hover {
            opacity: 1;
            background: rgba(255,107,53,0.05);
            transform: translateY(-1px);
        }

        .auth-form {
            display: none;
            animation: fadeInSlide 0.6s ease;
        }

        .auth-form.active {
            display: block;
        }

        @keyframes fadeInSlide {
            from { 
                opacity: 0; 
                transform: translateY(20px); 
            }
            to { 
                opacity: 1; 
                transform: translateY(0); 
            }
        }

        /* ENHANCED AUTHENTICATION FORM STYLING */
        .auth-form {
            padding: 0 20px;
        }

        .auth-form .form-group {
            margin-bottom: 40px;
            position: relative;
        }

        .auth-form .form-input {
            width: 100%;
            padding: 20px 25px;
            border: 2px solid rgba(0,0,0,0.1);
            border-radius: 15px;
            background: rgba(255,255,255,0.7);
            backdrop-filter: blur(10px);
            color: var(--black);
            font-size: 1rem;
            font-weight: 500;
            letter-spacing: 1px;
            transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
            box-shadow: 
                0 5px 15px rgba(0,0,0,0.05),
                inset 0 1px 0 rgba(255,255,255,0.5);
        }

        .auth-form .form-input:focus {
            outline: none;
            border-color: var(--accent);
            background: rgba(255,255,255,0.9);
            transform: translateY(-2px);
            box-shadow: 
                0 15px 35px rgba(255,107,53,0.2),
                inset 0 1px 0 rgba(255,255,255,0.8);
        }

        .auth-form .form-input::placeholder {
            color: rgba(0,0,0,0.4);
            letter-spacing: 2px;
            font-weight: 400;
            text-transform: uppercase;
            font-size: 0.9rem;
        }

        .auth-form .btn-primary {
            width: 100%;
            padding: 25px 40px;
            background: linear-gradient(135deg, 
                var(--accent) 0%, 
                rgba(255,107,53,0.8) 50%, 
                var(--accent) 100%);
            border: none;
            border-radius: 15px;
            color: var(--white);
            font-size: 1.1rem;
            font-weight: 600;
            letter-spacing: 4px;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
            overflow: hidden;
            margin-top: 30px;
            box-shadow: 
                0 15px 35px rgba(255,107,53,0.3),
                inset 0 1px 0 rgba(255,255,255,0.2);
        }

        .auth-form .btn-primary::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, 
                transparent, 
                rgba(255,255,255,0.2), 
                transparent);
            transition: left 0.8s ease;
        }

        .auth-form .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow: 
                0 25px 50px rgba(255,107,53,0.4),
                inset 0 1px 0 rgba(255,255,255,0.3);
        }

        .auth-form .btn-primary:hover::before {
            left: 100%;
        }

        .auth-form .btn-primary:active {
            transform: translateY(-1px);
            transition: transform 0.1s ease;
        }

        /* Enhanced form error states */
        .auth-form .form-input.error {
            border-color: #ef4444;
            background: rgba(239,68,68,0.05);
            animation: shake 0.5s ease-in-out;
        }

        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-5px); }
            75% { transform: translateX(5px); }
        }

        /* Loading state for submit button */
        .auth-form .btn-primary.loading {
            pointer-events: none;
            opacity: 0.7;
        }

        .auth-form .btn-primary.loading::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 20px;
            height: 20px;
            margin: -10px 0 0 -10px;
            border: 2px solid rgba(255,255,255,0.3);
            border-top: 2px solid var(--white);
            border-radius: 50%;
            animation: spin 1s linear infinite;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        /* Dashboard Photo Gallery Styles */
        .dashboard-section {
            margin: 40px 0;
            padding: 30px;
            background: rgba(255, 255, 255, 0.03);
            border-radius: 15px;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .section-title {
            color: #fff;
            font-size: 1.2rem;
            font-weight: 600;
            margin-bottom: 25px;
            text-align: center;
            letter-spacing: 2px;
        }

        .dashboard-welcome {
            text-align: center;
            margin-bottom: 40px;
        }

        .dashboard-stats {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 20px;
            margin: 30px 0;
        }

        .stat-card {
            background: rgba(255, 255, 255, 0.05);
            padding: 20px;
            border-radius: 10px;
            text-align: center;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .stat-card .stat-number {
            font-size: 2rem;
            font-weight: bold;
            color: #4CAF50;
            margin-bottom: 5px;
        }

        .stat-card .stat-label {
            color: #ccc;
            font-size: 0.9rem;
        }

        .user-photos-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 25px;
            margin-top: 25px;
        }

        .user-photo-card {
            background: rgba(255, 255, 255, 0.05);
            border-radius: 15px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.1);
            transition: all 0.3s ease;
            position: relative;
        }

        .user-photo-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
            border-color: rgba(255, 255, 255, 0.2);
        }

        .photo-image-container {
            position: relative;
            width: 100%;
            height: 200px;
            overflow: hidden;
        }

        .photo-image-container img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s ease;
        }

        .user-photo-card:hover .photo-image-container img {
            transform: scale(1.05);
        }

        .photo-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.7);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .user-photo-card:hover .photo-overlay {
            opacity: 1;
        }

        .photo-action-btn {
            background: rgba(255, 255, 255, 0.9);
            border: none;
            padding: 10px 15px;
            border-radius: 20px;
            cursor: pointer;
            font-size: 0.9rem;
            font-weight: 600;
            transition: all 0.3s ease;
            color: #333;
        }

        .photo-action-btn:hover {
            background: #fff;
            transform: scale(1.05);
        }

        .photo-action-btn.delete {
            background: rgba(244, 67, 54, 0.9);
            color: white;
        }

        .photo-action-btn.delete:hover {
            background: #f44336;
        }

        .photo-info {
            padding: 20px;
        }

        .photo-title {
            color: #fff;
            font-weight: 600;
            margin-bottom: 10px;
            font-size: 1rem;
        }

        .photo-details {
            display: flex;
            justify-content: space-between;
            margin-bottom: 15px;
        }

        .photo-category {
            background: linear-gradient(45deg, #4CAF50, #45a049);
            color: white;
            padding: 4px 12px;
            border-radius: 12px;
            font-size: 0.8rem;
            font-weight: 600;
        }

        .photo-date {
            color: #ccc;
            font-size: 0.9rem;
        }

        .photo-status {
            margin-bottom: 15px;
        }

        .status-badge {
            display: inline-block;
            padding: 4px 10px;
            border-radius: 10px;
            font-size: 0.8rem;
            font-weight: 600;
            margin-right: 8px;
        }

        .status-badge.approved {
            background: rgba(76, 175, 80, 0.2);
            color: #4CAF50;
            border: 1px solid #4CAF50;
        }

        .status-badge.pending {
            background: rgba(255, 193, 7, 0.2);
            color: #FFC107;
            border: 1px solid #FFC107;
        }

        .status-badge.featured {
            background: rgba(255, 152, 0, 0.2);
            color: #FF9800;
            border: 1px solid #FF9800;
        }

        .photo-stats {
            display: flex;
            gap: 15px;
        }

        .stat-item {
            color: #ccc;
            font-size: 0.9rem;
        }

        .no-photos {
            text-align: center;
            padding: 60px 20px;
            color: #ccc;
        }

        .no-photos-icon {
            font-size: 4rem;
            margin-bottom: 20px;
            opacity: 0.5;
        }

        .no-photos-text {
            font-size: 1.2rem;
            font-weight: 600;
            margin-bottom: 10px;
        }

        .no-photos-subtext {
            opacity: 0.7;
        }

        .loading-spinner {
            text-align: center;
            padding: 40px;
            color: #ccc;
        }

        .spinner {
            width: 40px;
            height: 40px;
            border: 3px solid rgba(255, 255, 255, 0.1);
            border-top: 3px solid #4CAF50;
            border-radius: 50%;
            animation: spin 1s linear infinite;
            margin: 0 auto 20px;
        }

        .loading-text {
            font-size: 1rem;
        }

        /* Photo Detail Modal */
        .photo-detail-modal {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.9);
            z-index: 10000;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s ease;
            backdrop-filter: blur(10px);
        }

        .photo-detail-modal.active {
            opacity: 1;
        }

        .photo-detail-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            cursor: pointer;
        }

        .photo-detail-content {
            background: rgba(20, 20, 20, 0.95);
            border-radius: 20px;
            max-width: 90vw;
            max-height: 90vh;
            overflow: auto;
            position: relative;
            border: 1px solid rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(20px);
        }

        .photo-detail-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 30px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .photo-detail-header h3 {
            color: #fff;
            margin: 0;
            font-size: 1.3rem;
        }

        .close-btn {
            background: none;
            border: none;
            color: #fff;
            font-size: 2rem;
            cursor: pointer;
            padding: 0;
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            transition: background 0.3s ease;
        }

        .close-btn:hover {
            background: rgba(255, 255, 255, 0.1);
        }

        .photo-detail-image {
            text-align: center;
            padding: 20px;
        }

        .photo-detail-image img {
            max-width: 100%;
            max-height: 60vh;
            object-fit: contain;
            border-radius: 10px;
        }

        .photo-detail-info {
            padding: 20px 30px 30px;
        }

        .info-row {
            display: flex;
            justify-content: space-between;
            margin-bottom: 15px;
            padding: 10px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }

        .info-label {
            color: #ccc;
            font-weight: 600;
        }

        .info-value {
            color: #fff;
        }

        .info-value.approved {
            color: #4CAF50;
        }

        /* Mobile Responsive */
        @media (max-width: 768px) {
            .user-photos-grid {
                grid-template-columns: 1fr;
                gap: 20px;
            }
            
            .dashboard-stats {
                grid-template-columns: repeat(2, 1fr);
            }
            
            .photo-detail-content {
                max-width: 95vw;
                max-height: 95vh;
                margin: 20px;
            }
            
            .photo-detail-header {
                padding: 15px 20px;
            }
            
            .photo-detail-info {
                padding: 15px 20px 20px;
            }
            
            .info-row {
                flex-direction: column;
                gap: 5px;
            }
            
            .dashboard-section {
                margin: 20px 0;
                padding: 20px;
            }
            
            .photo-image-container {
                height: 180px;
            }
            
            .photo-info {
                padding: 15px;
            }
        }

        /* NOTIFICATIONS */
        #notificationContainer {
            position: fixed;
            top: 20px;
            right: 20px;
            z-index: 15000;
            pointer-events: none;
        }

        .notification {
            position: relative;
            margin-bottom: 15px;
            padding: 20px 30px;
            background: linear-gradient(135deg, rgba(0, 0, 0, 0.95) 0%, rgba(26, 26, 26, 0.95) 100%);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            color: var(--white);
            font-weight: 500;
            letter-spacing: 1px;
            font-size: 0.9rem;
            backdrop-filter: blur(20px);
            box-shadow: 
                0 10px 30px rgba(0, 0, 0, 0.5),
                inset 0 1px 0 rgba(255, 255, 255, 0.1);
            transform: translateX(400px) scale(0.8);
            opacity: 0;
            transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
            pointer-events: auto;
            max-width: 350px;
            min-width: 280px;
        }

        .notification.show {
            transform: translateX(0) scale(1);
            opacity: 1;
        }

        .notification.success { 
            border-left: 4px solid #10b981;
            background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(0, 0, 0, 0.95) 50%);
        }
        
        .notification.error { 
            border-left: 4px solid #ef4444;
            background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(0, 0, 0, 0.95) 50%);
        }
        
        .notification.warning { 
            border-left: 4px solid #f59e0b;
            background: linear-gradient(135deg, rgba(245, 158, 11, 0.1) 0%, rgba(0, 0, 0, 0.95) 50%);
        }

        .notification.info { 
            border-left: 4px solid #3b82f6;
            background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(0, 0, 0, 0.95) 50%);
        }

        /* MOBILE NAVIGATION - Desktop Base Styles */
        .mobile-nav {
            display: none;
        }
        
        .mobile-nav-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.95);
            backdrop-filter: blur(20px);
            z-index: 10000;
            align-items: center;
            justify-content: center;
            opacity: 0;
            visibility: hidden;
            transition: all 0.6s ease;
        }

        /* Ensure mobile navigation is hidden on desktop */
        @media (min-width: 769px) {
            .mobile-nav {
                display: none !important;
            }
            
            .mobile-nav-overlay {
                display: none !important;
                visibility: hidden !important;
                opacity: 0 !important;
            }
        }

        /* RESPONSIVE DESIGN - Comprehensive Mobile-First Approach */
        
        /* Large screens (1200px and up) */
        @media (min-width: 1200px) {
            .container {
                max-width: 1400px;
                margin: 0 auto;
            }
            
            .quadrant-title {
                font-size: 12rem;
            }
            
            .studio-title {
                font-family: Arial, sans-serif;
                font-size: 5rem;
            }
        }

        /* 1440x800 Laptop displays - Specific optimizations */
        @media (min-width: 1440px) and (max-height: 900px) {
            .quadrant-title {
                font-size: 9rem;
                letter-spacing: 15px;
            }
            .action-btn {
                margin-bottom: 130px;
                margin-left: 40px;
            }
            
            .quadrant:hover .quadrant-title {
                font-size: 10rem;
                letter-spacing: 20px;
            }
            
            .quadrant-content {
                /* bottom: 120px; */
                left: 60px;
            }
            
            .quadrant-action {
                bottom: 30px;
                left: 60px;
            }
            
            .category-tabs {
                bottom: 60px;
                left: 52%;
            }
            
            .category-tab {
                font-size: 0.8rem;
                letter-spacing: 2px;
                padding: 12px 20px;
            }
            
            .page-content, .contact-page-content, .guidelines-container {
                padding: 120px 60px 60px 60px;
            }
            
            .header {
                padding: 25px 60px;
            }
            
            .nav-tab {
                font-size: 0.8rem;
                letter-spacing: 2px;
                padding: 15px 25px;
            }
            .studio-title {
                font-size: 4rem;
                letter-spacing: 8px;
            }
            
            .studio-subtitle {
                font-size: 1.1rem;
                letter-spacing: 2px;
            }
            
            .polaroid-card {
                width: 300px;
                height: 360px;
            }
            
            .guidelines-grid {
                grid-template-columns: repeat(3, 1fr) !important;
                gap: 30px;
                max-width: 1200px;
            }
            
            .guideline-card {
                padding: 25px;
            }
            
            .contact-container {
                max-width: 1000px;
                grid-template-columns: 1fr 1.5fr;
                gap: 60px;
            }
            
            .gallery-grid {
                grid-template-columns: repeat(3, 1fr);
                gap: 20px;
            }
            
            .gallery-modal {
                padding: 40px;
            }
            
            .gallery-header {
                margin-bottom: 30px;
            }
            
            .gallery-title {
                font-size: 2.5rem;
                letter-spacing: 6px;
            }
            
            /* Additional optimizations for 1440x800 laptops */
            .preloader-text {
                font-size: 1.4rem;
                letter-spacing: 10px;
                bottom: 12%;
            }
            
            .about-main-container {
                padding: 60px 40px;
                max-width: 1300px;
            }
            
            .polaroid-gallery {
                min-height: 500px;
                scale: 0.7;
            }
            
            .story-modal-content {
                max-width: 900px;
                max-height: 80vh;
            }
            
            .story-hero-image {
                height: 300px;
            }
            
            .modal {
                max-width: 450px;
                padding: 40px;
            }
            
            .lightbox-content img {
                max-width: 90vw;
                max-height: 80vh;
            }
        }
        
        /* Medium screens (992px to 1199px) */
        @media (max-width: 1199px) and (min-width: 992px) {
            .quadrant-title {
                font-size: 10rem;
                letter-spacing: 12px;
            }
            
            .polaroid-card {
                width: 320px;
                height: 380px;
            }
        }
        
        /* Medium-Large screens (1200px to 1439px) - Standard laptops */
        @media (min-width: 1200px) and (max-width: 1439px) {
            .quadrant-title {
                font-size: 10rem;
                letter-spacing: 14px;
            }
            
            .quadrant:hover .quadrant-title {
                font-size: 11rem;
                letter-spacing: 18px;
            }
            
            .quadrant-content {
                bottom: 140px;
                left: 70px;
            }
            
            .quadrant-action {
                bottom: 35px;
                left: 70px;
            }
            
            .category-tabs {
                bottom: 70px;
                left: 53%;
            }
            
            .page-content, .contact-page-content, .guidelines-container {
                padding: 140px 70px 70px 70px;
            }
            
            .header {
                padding: 30px 70px;
            }
            
            .studio-title {
                font-size: 4.5rem;
                letter-spacing: 10px;
            }
            
            .guidelines-grid {
                grid-template-columns: repeat(3, 1fr);
                gap: 25px;
                max-width: 1100px;
            }
            
            .contact-container {
                max-width: 900px;
                grid-template-columns: 1fr 1.5fr;
                gap: 50px;
            }
        }
        
        /* Small screens (768px to 991px) - Tablets */
        @media (max-width: 991px) and (min-width: 768px) {
            .header {
                padding: 30px;
            }
            
            .nav-tabs {
                gap: 30px;
            }
            
            .nav-tab {
                font-size: 0.9rem;
                letter-spacing: 3px;
            }
            
            .quadrant-title {
                font-size: 8rem;
                letter-spacing: 8px;
            }
            
            .page-content, .contact-page-content, .guidelines-container {
                padding: 100px 40px 40px 40px;
            }
            
            .page-title, .contact-page-title, .guidelines-title {
                font-size: 3.5rem;
                letter-spacing: 6px;
            }
            
            .guidelines-subtitle {
                font-size: 1.2rem;
                letter-spacing: 2px;
            }
            
            .guidelines-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
                max-height: calc(100vh - 240px);
            }
            
            .guideline-card {
                padding: 25px;
            }
            
            .card-title {
                font-size: 1.1rem;
                letter-spacing: 2px;
            }
            
            .about-main-container {
                padding: 0 40px;
            }
            
            .studio-header {
                padding-left: 20px;
            }
            
            .studio-title {
                font-family: Arial, sans-serif;
                font-size: 3.5rem;
                letter-spacing: 6px;
            }
            
            .polaroid-gallery {
                height: 70vh;
                min-height: 500px;
                margin-right: 20px;
            }
            
            .polaroid-card {
                width: 280px;
                height: 340px;
            }
            
            .modal {
                padding: 60px 50px;
                max-width: 600px;
            }

            /* Guidelines Tablet Styles */
            .guidelines-container {
                padding: 80px 40px;
            }
            
            .guidelines-title {
                font-size: 3rem;
                letter-spacing: 6px;
            }
            
            .guidelines-grid {
                grid-template-columns: repeat(2, 1fr);
                grid-template-rows: repeat(4, 1fr);
                gap: 25px;
            }
            
            .guideline-card {
                padding: 25px;
                min-height: 180px;
            }
            
            .card-title {
                font-size: 0.95rem;
                letter-spacing: 1.5px;
            }
        }
        
        /* Mobile devices (480px to 767px) */
        @media (max-width: 767px) {
            .header {
                padding: 15px;
            }
            
            .logo {
                font-size: 1.5rem;
                letter-spacing: 1px;
            }
            
            .quadrant {
                height: 40vh;
                min-height: 250px;
            }
            
            .quadrant-title {
                font-size: 3rem;
                letter-spacing: 2px;
            }
            
            .quadrant:hover .quadrant-title {
                font-size: 3.2rem;
                letter-spacing: 3px;
            }
            
            .page-title, .contact-page-title {
                font-size: 2.5rem;
                letter-spacing: 2px;
            }
            
            .page-content, .contact-page-content {
                padding: 60px 15px 30px 15px;
            }
            
            .studio-title {
                font-family: Arial, sans-serif;
                font-size: 2rem;
                letter-spacing: 2px;
            }
            
            .polaroid-card {
                max-width: 250px;
            }
            
            .polaroid-photo {
                height: 180px;
            }
            
            .modal {
                padding: 30px 15px;
                margin: 5px;
            }
            
            .modal-title {
                font-size: 1.8rem;
                letter-spacing: 1px;
            }
            
            .dashboard-message {
                font-size: 1.5rem;
                letter-spacing: 1px;
            }
            
            .category-tab {
                font-size: 0.6rem;
                padding: 6px 8px;
            }
        }

        /* Extra small devices (up to 479px) */
        @media (max-width: 479px) {
            .header {
                padding: 15px;
            }
            
            .logo {
                font-size: 1.5rem;
                letter-spacing: 1px;
            }
            
            .quadrant {
                height: 40vh;
                min-height: 250px;
            }
            
            .quadrant-title {
                font-size: 3rem;
                letter-spacing: 2px;
            }
            
            .quadrant:hover .quadrant-title {
                font-size: 3.2rem;
                letter-spacing: 3px;
            }
            
            .page-title, .contact-page-title {
                font-size: 2.5rem;
                letter-spacing: 2px;
            }
            
            .page-content, .contact-page-content {
                padding: 60px 15px 30px 15px;
            }
            
            .studio-title {
                font-family: Arial, sans-serif;
                font-size: 2rem;
                letter-spacing: 2px;
            }
            
            .polaroid-card {
                max-width: 250px;
            }
            
            .polaroid-photo {
                height: 180px;
            }
            
            .modal {
                padding: 30px 15px;
                margin: 5px;
            }
            
            .modal-title {
                font-size: 1.8rem;
                letter-spacing: 1px;
            }
            
            .dashboard-message {
                font-size: 1.5rem;
                letter-spacing: 1px;
            }
            
            .category-tab {
                font-size: 0.6rem;
                padding: 6px 8px;
            }
        }

        /* Landscape orientation on mobile */
        @media (max-height: 500px) and (orientation: landscape) {
            .quadrant {
                height: calc(80 * var(--vh));
            }
            
            .polaroid-gallery {
                height: auto;
                min-height: 400px;
            }
            
            .modal {
                /* max-height: calc(90 * var(--vh)); */
                overflow-y: auto;
            }
        }

        /* Old mobile responsiveness - Enhanced */
        @media (max-width: 768px) {
            .header {
                padding: 40px;
            }
            
            .nav-tabs {
                display: none;
            }
            
            .mobile-nav {
                display: block;
                background: none;
                border: none;
                color: var(--black);
                font-size: 1.5rem;
                cursor: pointer;
            }
            
            .mobile-nav-overlay {
                display: flex;
                position: fixed;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(0,0,0,0.95);
                backdrop-filter: blur(20px);
                z-index: 10000;
                align-items: center;
                justify-content: center;
                opacity: 0;
                visibility: hidden;
                transition: all 0.6s ease;
            }
            
            .mobile-nav-overlay.active {
                opacity: 1;
                visibility: visible;
            }
            
            .mobile-nav-close {
                position: absolute;
                top: 30px;
                right: 30px;
                background: none;
                border: 2px solid var(--white);
                color: var(--white);
                font-size: 2rem;
                cursor: pointer;
                width: 60px;
                height: 60px;
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: all 0.3s ease;
            }
            
            .mobile-nav-close:hover {
                background: var(--white);
                color: var(--black);
                transform: rotate(90deg);
            }
            
            .mobile-nav-menu {
                list-style: none;
                padding: 0;
                margin: 0;
                text-align: center;
            }
            
            .mobile-nav-menu li {
                margin: 30px 0;
            }
            
            .mobile-nav-menu button {
                background: none;
                border: none;
                color: var(--white);
                font-size: 2.5rem;
                font-weight: 300;
                letter-spacing: 8px;
                cursor: pointer;
                transition: all 0.3s ease;
                text-transform: uppercase;
                padding: 20px 40px;
                position: relative;
            }
            
            .mobile-nav-menu button::after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 50%;
                transform: translateX(-50%);
                width: 0;
                height: 2px;
                background: var(--accent);
                transition: width 0.3s ease;
            }
            
            .mobile-nav-menu button:hover {
                color: var(--accent);
                letter-spacing: 12px;
            }
            
            .mobile-nav-menu button:hover::after {
                width: 80%;
            }
            
            .quadrant-title {
                font-size: 6rem;
                letter-spacing: 10px;
            }
            
            .quadrant:hover .quadrant-title {
                font-size: 7rem;
                letter-spacing: 15px;
            }
            
            .quadrant-content {
                bottom: 180px;
                left: 40px;
            }
            
            .page-title, .contact-page-title {
                font-size: 4rem;
                letter-spacing: 8px;
                margin-bottom: 30px;
            }
            
            .page-subtitle {
                font-size: 1rem;
                letter-spacing: 4px;
                margin-bottom: 60px;
            }
            
            .page-content, .contact-page-content {
                padding: 120px 40px 40px 40px;
            }

            .about-intro {
                margin-bottom: 80px;
            }

            .about-description {
                font-size: 1.2rem;
                line-height: 1.8;
                letter-spacing: 1px;
                margin-bottom: 40px;
            }

            .about-gallery {
                grid-template-columns: 1fr;
                gap: 50px;
                padding: 20px;
            }

            .about-card {
                min-height: 380px;
                padding: 20px 20px 50px 20px;
                transform: rotate(0deg) scale(1);
            }

            .about-card:nth-child(even), 
            .about-card:nth-child(3n) {
                transform: rotate(0deg) scale(1);
            }

            .about-card:hover {
                transform: scale(1.02) translateY(-10px);
            }

            .card-icon {
                height: 200px;
                font-size: 3rem;
                margin-bottom: 20px;
            }

            .card-title {
                font-size: 1.2rem;
                letter-spacing: 1px;
                margin-bottom: 15px;
            }

            .card-content {
                font-size: 0.9rem;
                line-height: 1.5;
            }

            .polaroid {
                margin: 20px;
                padding: 20px 20px 60px 20px;
            }

            .polaroid-image {
                height: 200px;
                font-size: 3rem;
            }

            .polaroid-title {
                font-size: 1.2rem;
                letter-spacing: 2px;
            }

            .polaroid-text {
                font-size: 0.9rem;
            }
            
            .contact-container {
                grid-template-columns: 1fr;
                gap: 60px;
            }

            .contact-info, .contact-form {
                padding: 40px;
            .dashboard-message {
                font-size: 2.5rem;
                letter-spacing: 4px;
            }

            /* Guidelines Mobile */
            .guidelines-container {
                padding: 60px 20px;
            }
            
            .guidelines-title {
                font-size: 2.5rem;
                letter-spacing: 4px;
                margin-bottom: 15px;
            }
            
            .guidelines-subtitle {
                font-size: 1rem;
                letter-spacing: 2px;
                margin-bottom: 40px;
            }
            
            .guidelines-grid {
                grid-template-columns: 1fr;
                grid-template-rows: repeat(8, 1fr);
                gap: 20px;
            }
            
            .guideline-card {
                padding: 20px;
                min-height: 150px;
            }
            
            .rule-point {
                flex-direction: column;
                align-items: flex-start;
                gap: 5px;
            }
            }
            
            .guidelines-title {
                font-size: 2.2rem;
                letter-spacing: 4px;
                margin-bottom: 8px;
            }
            
            .guidelines-subtitle {
                font-size: 1rem;
                letter-spacing: 1px;
                margin-bottom: 20px;
            }
            
            .guidelines-grid {
                grid-template-columns: 1fr;
                gap: 12px;
                max-height: calc(100vh - 160px);
                overflow-y: auto;
                padding-right: 5px;
            }
            
            .guideline-card {
                padding: 18px;
                border-radius: 12px;
            }
            /* Guidelines Mobile */
            .guidelines-container {
                padding: 80px 15px 15px 15px;
                height: 100vh;
            }
            
            .guidelines-title {
                font-size: 2.2rem;
                letter-spacing: 4px;
                margin-bottom: 8px;
            }
            
            .guidelines-subtitle {
                font-size: 1rem;
                letter-spacing: 1px;
                margin-bottom: 20px;
            }
            
            .guidelines-grid {
                grid-template-columns: 1fr;
                gap: 12px;
                overflow: visible;
            }
            
            .guideline-card {
                padding: 15px;
                border-radius: 12px;
            }
            
            .card-number {
                font-size: 1.2rem;
                margin-bottom: 6px;
            }
            
            .card-title {
                font-size: 0.9rem;
                letter-spacing: 1px;
                margin-bottom: 8px;
            }
            
            .rule-point {
                flex-direction: column;
                align-items: flex-start;
                gap: 3px;
                padding: 3px 0;
            }
            
            .point-label {
                font-size: 0.7rem;
                letter-spacing: 0.5px;
            }
            
            .point-value {
                font-size: 0.75rem;
                text-align: left;
                font-weight: 600;
            }
            
            .criteria-item {
                font-size: 0.65rem;
                padding: 3px 6px;
            }
            
            .guidelines-cta-btn {
                padding: 8px 15px;
                font-size: 0.7rem;
                letter-spacing: 1px;
            }category-tab.active {
                letter-spacing: 2px;
            }
            
            /* Story Modal Mobile */
            .story-modal-content {
                width: 95%;
                max-width: none;
                margin: 20px;
                padding: 30px 20px;
                max-height: 80vh;
            }
            
            .story-title {
                font-size: 1.8rem;
                letter-spacing: 2px;
                margin-bottom: 20px;
            }
            
            .story-text {
                font-size: 1rem;
                line-height: 1.6;
            }
        }

        /* Touch devices - Enhanced for better mobile experience */
        @media (hover: none) and (pointer: coarse) {
            .cursor {
                display: none;
            }
            
            .quadrant-subtitle {
                opacity: 1;
            }
            
            .quadrant-action {
                opacity: 1;
            }
            
            /* Touch-friendly interactions */
            .nav-tab:hover,
            .category-tab:hover,
            .btn:hover {
                transform: none;
            }
            
            .nav-tab:active,
            .category-tab:active,
            .btn:active {
                transform: scale(0.95);
                opacity: 0.8;
            }
            
            .quadrant:hover .quadrant-title {
                font-size: inherit;
                letter-spacing: inherit;
            }
            
            .quadrant:active .quadrant-title {
                transform: scale(1.05);
            }
            
            .polaroid-card:hover {
                transform: var(--base-transform);
            }
            
            .polaroid-card:active {
                transform: var(--base-transform) scale(0.98);
            }
            
            /* Make buttons more touch-friendly */
            .btn, .nav-tab, .category-tab, .auth-tab {
                min-height: 44px;
                min-width: 44px;
            }
            
            /* Improve form inputs for mobile */
            .form-input, .form-textarea {
                font-size: 16px; /* Prevents zoom on iOS */
            }
        }

        /* Guidelines Page Responsive Styles */
        
        /* Laptop screens with reduced height (all laptops with height <= 900px) */
        @media screen and (max-height: 900px) and (min-width: 1024px) {
            .preloader-text {
                bottom: 12%;
                font-size: 1.3rem;
                letter-spacing: 10px;
            }
            
            .quadrant-title {
                font-size: 8rem;
                letter-spacing: 12px;
            }
            
            .quadrant:hover .quadrant-title {
                font-size: 9rem;
                letter-spacing: 16px;
            }
            
            .quadrant-content {
                /* bottom: 100px; */
            }
            
            .quadrant-action {
                bottom: 25px;
            }
            
            .category-tabs {
                bottom: 50px;
            }
            
            .page-content, .contact-page-content, .guidelines-container {
                padding: 100px 60px 40px 60px;
            }
            
            .header {
                padding: 20px 60px;
            }
            
            .studio-title {
                font-size: 3.5rem;
                letter-spacing: 6px;
            }
            
            .studio-subtitle {
                font-size: 1rem;
                letter-spacing: 1px;
            }
            
            .polaroid-gallery {
                min-height: 400px;
            }
            
            .polaroid-card {
                width: 280px;
                height: 340px;
            }
            
            .guidelines-title {
                font-size: 3rem;
                letter-spacing: 6px;
            }
            
            .guidelines-subtitle {
                font-size: 1rem;
                letter-spacing: 1px;
            }
            
            .guidelines-grid {
                gap: 20px;
                margin-top: 30px;
            }
            
            .guideline-card {
                padding: 20px;
            }
            
            .contact-container {
                gap: 40px;
            }
            
            .gallery-modal {
                padding: 30px;
            }
            
            .gallery-header {
                margin-bottom: 20px;
            }
            
            .gallery-title {
                font-size: 2rem;
                letter-spacing: 4px;
            }
        }
        
        /* Landscape orientation optimization for laptops */
        @media screen and (orientation: landscape) and (min-width: 1024px) and (max-height: 900px) {
            .intro-video {
                object-fit: cover;
                object-position: center;
            }
            
            .quadrant-image {
                object-fit: cover;
                object-position: center;
            }
            
            .story-modal-content {
                max-height: 85vh;
                overflow-y: auto;
            }
            
            .story-hero-image {
                height: 250px;
            }
            
            .modal {
                max-height: 80vh;
                overflow-y: auto;
            }
            
            .gallery-modal {
                /* max-height: 90vh; */
                overflow-y: auto;
            }
            
            .polaroid-modal {
                padding: 40px 20px;
            }
            
            .polaroid {
                max-height: 80vh;
                overflow-y: auto;
            }
        }
        
        /* Tablet styles */
        @media screen and (max-width: 1024px) {
            .guidelines-container {
                padding: 40px 30px;
            }
            
            .guidelines-title {
                font-size: 3rem;
                letter-spacing: 6px;
            }
            
            .guidelines-subtitle {
                font-size: 1rem;
                letter-spacing: 1px;
            }
            
            .guidelines-grid {
                grid-template-columns: repeat(2, 1fr);
                grid-template-rows: repeat(3, 1fr);
                gap: 20px;
                max-width: 800px;
            }
            
            .guideline-card {
                padding: 20px;
                min-height: 160px;
            }
            
            .card-number {
                font-size: 1.3rem;
            }
            
            .card-title {
                font-size: 0.9rem;
            }
            
            .point-label, .point-value {
                font-size: 0.75rem;
            }
            
            .criteria-item {
                font-size: 0.65rem;
                padding: 2px 8px;
            }
        }
        
        /* Mobile styles */
        @media screen and (max-width: 768px) {
            .guidelines-container {
                padding: 30px 20px;
                height: auto;
                min-height: 100vh;
            }
            
            .guidelines-header {
                margin-bottom: 30px;
            }
            
            .guidelines-title {
                font-size: 2.5rem;
                letter-spacing: 4px;
                margin-bottom: 10px;
            }
            
            .guidelines-subtitle {
                font-size: 0.9rem;
                letter-spacing: 1px;
            }
            
            .guidelines-grid {
                grid-template-columns: 1fr;
                grid-template-rows: auto;
                gap: 15px;
                max-width: 100%;
            }
            
            .guideline-card {
                padding: 18px;
                min-height: 140px;
            }
            
            .card-number {
                font-size: 1.2rem;
                margin-bottom: 8px;
            }
            
            .card-title {
                font-size: 0.85rem;
                margin-bottom: 12px;
            }
            
            .card-content {
                gap: 6px;
            }
            
            .rule-point {
                padding: 3px 0;
            }
            
            .point-label, .point-value {
                font-size: 0.7rem;
            }
            
            .criteria-row {
                gap: 4px;
            }
            
            .criteria-item {
                font-size: 0.6rem;
                padding: 2px 6px;
            }
            
            .prize-extra {
                font-size: 0.65rem;
            }
            
            .cta-text {
                font-size: 0.8rem;
                margin-bottom: 12px;
            }
            
            .guidelines-cta-btn {
                padding: 8px 16px;
                font-size: 0.7rem;
                letter-spacing: 1px;
            }
        }

        /* High DPI displays */
        @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
            .polaroid-photo img,
            .gallery-item img {
                image-rendering: -webkit-optimize-contrast;
                image-rendering: crisp-edges;
            }
        }

        /* Reduced motion preference */
        @media (prefers-reduced-motion: reduce) {
            * {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
            }
            
            .polaroid-card {
                animation: none !important;
            }
            
            .floating-lights {
                display: none;
            }
        }

        /* Staggered animation delays for gallery items */
        .gallery-item:nth-child(1) img { animation-delay: 0s; }
        .gallery-item:nth-child(2) img { animation-delay: 0.5s; }
        .gallery-item:nth-child(3) img { animation-delay: 1s; }
        .gallery-item:nth-child(4) img { animation-delay: 1.5s; }
        .gallery-item:nth-child(5) img { animation-delay: 2s; }
        .gallery-item:nth-child(6) img { animation-delay: 2.5s; }
        .gallery-item:nth-child(7) img { animation-delay: 3s; }
        .gallery-item:nth-child(8) img { animation-delay: 3.5s; }
        .gallery-item:nth-child(9) img { animation-delay: 0.3s; }
        .gallery-item:nth-child(10) img { animation-delay: 0.8s; }
        .gallery-item:nth-child(11) img { animation-delay: 1.3s; }
        .gallery-item:nth-child(12) img { animation-delay: 1.8s; }

        /* Photo Upload Styles */
        .photo-upload-section {
            margin: 40px 0;
            padding: 30px;
            border: 2px dashed var(--soft-grey);
            border-radius: 8px;
            background: var(--warm-white);
            transition: all 0.3s ease;
        }

        .upload-title {
            font-size: 1.5rem;
            font-weight: 700;
            letter-spacing: 3px;
            margin-bottom: 20px;
            text-align: center;
            color: var(--black);
        }

        .category-selector {
            margin-bottom: 20px;
        }

        .form-select {
            width: 100%;
            padding: 15px;
            border: 2px solid var(--soft-grey);
            border-radius: 4px;
            background: var(--white);
            color: var(--black);
            font-size: 1rem;
            font-weight: 500;
            letter-spacing: 1px;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .form-select:focus {
            outline: none;
            border-color: var(--accent);
            background: var(--warm-white);
        }

        .upload-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 40px 20px;
            border: 3px dashed var(--soft-grey);
            border-radius: 8px;
            background: var(--white);
            cursor: pointer;
            transition: all 0.3s ease;
            margin: 20px 0;
        }

        .upload-container:hover {
            border-color: var(--accent);
            background: var(--warm-white);
            transform: translateY(-2px);
        }

        .upload-icon {
            font-size: 3rem;
            margin-bottom: 15px;
            opacity: 0.7;
        }

        .upload-text {
            font-size: 1.2rem;
            font-weight: 700;
            letter-spacing: 2px;
            margin-bottom: 8px;
            color: var(--black);
        }

        .upload-subtext {
            font-size: 0.9rem;
            color: var(--soft-grey);
            letter-spacing: 1px;
        }

        .upload-progress {
            margin: 20px 0;
            padding: 10px 0;
        }

        .progress-bar {
            width: 100%;
            height: 8px;
            background: var(--warm-white);
            border-radius: 4px;
            overflow: hidden;
            margin-bottom: 10px;
        }

        .progress-fill {
            height: 100%;
            background: var(--accent);
            border-radius: 4px;
            transition: width 0.3s ease;
            width: 0%;
        }

        .progress-text {
            text-align: center;
            font-size: 0.9rem;
            color: var(--soft-grey);
            letter-spacing: 1px;
        }

        .dashboard-actions {
            margin-top: 30px;
            text-align: center;
        }

        .btn.secondary {
            background: var(--soft-grey);
            color: var(--white);
            border: 2px solid var(--soft-grey);
        }

        .btn.secondary:hover {
            background: var(--white);
            color: var(--soft-grey);
        }

        /* PROFILE PAGE STYLES */
        .profile-content {
            max-width: 1200px;
            margin: 0 auto;
            padding: 40px;
        }

        .profile-hero {
            display: flex;
            align-items: center;
            gap: 40px;
            margin-bottom: 60px;
            padding: 40px;
            background: linear-gradient(135deg, rgba(255,107,53,0.1) 0%, rgba(0,0,0,0.05) 100%);
            border-radius: 20px;
            border: 1px solid rgba(255,107,53,0.2);
        }

        .profile-avatar {
            flex-shrink: 0;
        }

        .avatar-ring {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            background: linear-gradient(45deg, var(--accent), #ff8c42, var(--accent));
            padding: 4px;
            animation: avatarGlow 3s ease-in-out infinite;
        }

        .avatar-inner {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background: var(--white);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 3rem;
        }

        @keyframes avatarGlow {
            0%, 100% { box-shadow: 0 0 20px rgba(255,107,53,0.3); }
            50% { box-shadow: 0 0 40px rgba(255,107,53,0.6); }
        }

        .profile-identity {
            flex: 1;
        }

        .profile-name {
            font-size: 3rem;
            font-weight: 600;
            letter-spacing: 6px;
            color: var(--black);
            margin-bottom: 10px;
        }

        .profile-subtitle {
            font-size: 1.2rem;
            color: var(--accent);
            letter-spacing: 3px;
            margin-bottom: 20px;
        }

        .profile-badges {
            display: flex;
            flex-wrap: wrap;
            gap: 15px;
        }

        .badge {
            padding: 8px 16px;
            border-radius: 25px;
            font-size: 0.8rem;
            font-weight: 500;
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .member-badge {
            background: linear-gradient(135deg, #4CAF50, #45a049);
            color: white;
        }

        .contributor-badge {
            background: linear-gradient(135deg, var(--accent), #ff8c42);
            color: white;
        }

        .veteran-badge {
            background: linear-gradient(135deg, #FFD700, #FFA500);
            color: #333;
        }

        .profile-hero-actions {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-top: 30px;
            padding: 0 20px;
        }

        .hero-btn {
            padding: 15px 25px;
            font-size: 0.9rem;
            font-weight: 600;
            letter-spacing: 1.5px;
            text-transform: uppercase;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.3s ease;
            border: 2px solid transparent;
            min-width: 160px;
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-btn.primary,
        .hero-btn.secondary {
            background: var(--accent);
            color: var(--white);
            border-color: var(--accent);
        }

        .hero-btn.primary:hover,
        .hero-btn.secondary:hover {
            background: var(--white);
            color: var(--accent);
            border-color: var(--accent);
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(255, 107, 53, 0.3);
        }

        .profile-sections {
            display: flex;
            flex-direction: column;
            gap: 40px;
        }

        .profile-section {
            background: rgba(255,255,255,0.8);
            border-radius: 15px;
            padding: 30px;
            border: 1px solid rgba(0,0,0,0.1);
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            margin-top: 50px;
        }

        .section-header {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 25px;
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--black);
            letter-spacing: 3px;
        }

        .section-icon {
            font-size: 1.8rem;
        }

        .profile-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 20px;
            margin-bottom: 20px;
        }

        .profile-field {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .field-label {
            font-size: 0.9rem;
            font-weight: 600;
            color: var(--accent);
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .field-input, .preference-select {
            padding: 12px 16px;
            border: 2px solid rgba(0,0,0,0.1);
            border-radius: 8px;
            font-size: 1rem;
            background: rgba(255,255,255,0.9);
            transition: all 0.3s ease;
        }

        .field-input:focus, .preference-select:focus {
            border-color: var(--accent);
            outline: none;
            box-shadow: 0 0 0 3px rgba(255,107,53,0.1);
        }

        .field-input[readonly] {
            background: rgba(0,0,0,0.05);
            color: rgba(0,0,0,0.6);
        }

        .journey-stats {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
        }

        .journey-card {
            background: linear-gradient(135deg, rgba(255,107,53,0.1), rgba(255,107,53,0.05));
            border-radius: 15px;
            padding: 25px;
            text-align: center;
            border: 1px solid rgba(255,107,53,0.2);
            transition: transform 0.3s ease;
        }

        .journey-card:hover {
            transform: translateY(-5px);
        }

        .journey-number {
            font-size: 2.5rem;
            font-weight: 700;
            color: var(--accent);
            margin-bottom: 5px;
        }

        .journey-label {
            font-size: 1rem;
            font-weight: 600;
            color: var(--black);
            letter-spacing: 1px;
            text-transform: uppercase;
            margin-bottom: 5px;
        }

        .journey-description {
            font-size: 0.8rem;
            color: rgba(0,0,0,0.6);
            letter-spacing: 1px;
        }

        .preferences-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 20px;
            margin-bottom: 20px;
        }

        .preference-item {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .preference-label {
            font-size: 0.9rem;
            font-weight: 600;
            color: var(--accent);
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .bio-section {
            margin-top: 20px;
        }

        .bio-textarea {
            width: 100%;
            min-height: 120px;
            padding: 16px;
            border: 2px solid rgba(0,0,0,0.1);
            border-radius: 12px;
            font-size: 1rem;
            font-family: inherit;
            background: rgba(255,255,255,0.9);
            resize: vertical;
            transition: all 0.3s ease;
        }

        .bio-textarea:focus {
            border-color: var(--accent);
            outline: none;
            box-shadow: 0 0 0 3px rgba(255,107,53,0.1);
        }

        .profile-actions {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-top: 40px;
            padding: 30px;
        }

        .btn.primary {
            background: var(--accent);
            color: var(--white);
            border: 2px solid var(--accent);
            padding: 15px 30px;
            font-size: 1rem;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .btn.primary:hover {
            background: var(--white);
            color: var(--accent);
        }

        /* Profile message for non-logged in users */
        .profile-message {
            text-align: center;
            font-size: 3rem;
            font-weight: 600;
            letter-spacing: 8px;
            color: var(--black);
            margin-bottom: 40px;
            line-height: 1.2;
        }

        /* Responsive Design for Profile */
        @media (max-width: 768px) {
            .profile-content {
                padding: 20px;
            }

            .profile-hero {
                flex-direction: column;
                text-align: center;
                gap: 20px;
                padding: 30px 20px;
            }

            .profile-name {
                font-size: 2rem;
                letter-spacing: 4px;
            }

            .profile-subtitle {
                font-size: 1rem;
                letter-spacing: 2px;
            }

            .profile-badges {
                justify-content: center;
            }

            .profile-hero-actions {
                flex-direction: column;
                gap: 15px;
                margin-top: 25px;
                padding: 0 15px;
            }

            .hero-btn {
                width: 100%;
                height: 50px;
                padding: 15px 20px;
                font-size: 0.8rem;
                letter-spacing: 1px;
                min-width: unset;
            }

            .profile-grid {
                grid-template-columns: 1fr;
            }

            .journey-stats {
                grid-template-columns: repeat(2, 1fr);
            }

            .preferences-grid {
                grid-template-columns: 1fr;
            }

            .profile-actions {
                flex-direction: column;
                align-items: center;
            }

            .profile-message {
                font-size: 2rem;
                letter-spacing: 4px;
            }
        }

        @media (max-width: 480px) {
            .avatar-ring {
                width: 80px;
                height: 80px;
            }

            .avatar-inner {
                font-size: 2rem;
            }

            .profile-name {
                font-size: 1.5rem;
                letter-spacing: 2px;
            }

            .journey-stats {
                grid-template-columns: 1fr;
            }

            .journey-number {
                font-size: 2rem;
            }

            .profile-message {
                font-size: 1.5rem;
                letter-spacing: 2px;
            }
        }
