        /* =========================================
           GLOBAL RESET
        ========================================= */
            
        *,
        *::before,
        *::after {
            box-sizing: border-box;
        }
        
        html {
            margin: 0;
            padding: 0;
        }
        
        body {
            margin: 0;
            padding: 0;
            min-width: 320px;
        }
        
        
        /* =========================================
           GLOBAL CONTAINER
        ========================================= */
        
        .container {
            width: 100%;
            max-width: 1400px;
            margin-left: auto;
            margin-right: auto;
            padding-left: 24px;
            padding-right: 24px;
        }

        /* =========================================================
           RESET
        ========================================================= */

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family:
                Inter,
                -apple-system,
                BlinkMacSystemFont,
                "Segoe UI",
                Roboto,
                Arial,
                sans-serif;

            color: #15182b;
            background: #ffffff;
            line-height: 1.6;
        }

        html,
        body {
            width: 100%;
            max-width: 100%;
            overflow-x: clip;
        }

        img {
            max-width: 100%;
            display: block;
        }

        a {
            text-decoration: none;
            color: inherit;
        }

        button,
        input {
            font: inherit;
        }
        
        
        /* =========================================================
           HEADER
        ========================================================= */

        .header {
            position: sticky;
            top: 0;
            z-index: 1000;

            background: rgba(7, 16, 43, 0.96);

            border-bottom: 1px solid rgba(255,255,255,0.08);

            backdrop-filter: blur(12px);
        }

        .navbar {
            height: 72px;

            display: flex;
            align-items: center;
            justify-content: space-between;
        }


        /* LOGO */

        .logo {
            display: flex;
            align-items: center;
            gap: 10px;

            color: #ffffff;
            flex-shrink: 0;
        }

        .logo-icon {
            width: 38px;
            height: 38px;

            border-radius: 11px;

            background: linear-gradient(
                135deg,
                #3472ff,
                #5a48e9
            );

            display: flex;
            align-items: center;
            justify-content: center;

            font-size: 17px;
            font-weight: 800;

            box-shadow:
                0 5px 20px rgba(49,94,234,0.35);
        }

        .logo-text {
            display: flex;
            flex-direction: column;
            line-height: 1.1;
        }

        .logo-name {
            font-size: 16px;
            font-weight: 700;
        }

        .logo-tagline {
            font-size: 9px;
            color: #8f9ab8;
            margin-top: 4px;
        }


        /* NAVIGATION */

        .nav-links {
            display: flex;
            align-items: center;
            gap: 27px;

            margin-left: auto;
            margin-right: 25px;
        }

        .nav-links a {
            color: #dbe1f3;

            font-size: 13px;
            font-weight: 500;

            transition: 0.2s;
        }

        .nav-links a:hover {
            color: #ffffff;
        }

        .nav-item {
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .arrow {
            font-size: 10px;
            opacity: 0.7;
        }


        /* SEARCH */

        .search-button {
            width: 38px;
            height: 38px;

            border-radius: 10px;

            display: flex;
            align-items: center;
            justify-content: center;

            color: #dbe1f3;

            cursor: pointer;

            transition: 0.2s;
        }

        .search-button:hover {
            background: rgba(255,255,255,0.08);
        }

        /* MOBILE MENU */

        .menu-button {
            display: none;

            border: 0;
            background: transparent;

            color: #ffffff;

            font-size: 26px;

            cursor: pointer;
        }


        /* LOGIN */

        .login-button {
            display: inline-flex;
            align-items: center;
            gap: 7px;

            padding: 10px 17px;

            border-radius: 8px;

            background: #315eea;

            color: #ffffff;

            font-size: 13px;
            font-weight: 600;

            transition: 0.2s;
        }

        .login-button:hover {
            background: #244bd0;
            transform: translateY(-1px);
        }

        
        /* =========================================================
           NEWSLETTER
        ========================================================= */

        .newsletter {
            padding: 80px 0;

            background:
                linear-gradient(
                    110deg,
                    #0a1437,
                    #151e52
                );

            color: #ffffff;
        }


        .newsletter-inner {
            display: flex;

            align-items: center;

            justify-content: space-between;

            gap: 50px;
        }

        .newsletter-text {
            max-width: 550px;
        }

        .newsletter-text h2 {
            font-size: 29px;

            margin-bottom: 10px;
        }

        .newsletter-text p {
            color: #aeb8d1;

            font-size: 14px;
        }


        .newsletter-form {
            display: inline;

            width: 460px;

            max-width: 100%;
        }

        .newsletter-form input {
            flex: 1;

            min-width: 0;

            height: 48px;

            border:
                1px solid rgba(255,255,255,0.15);

            border-right: 0;

            border-radius: 8px 0 0 8px;

            padding: 0 15px;

            outline: none;

            background: rgba(255,255,255,0.07);

            color: #ffffff;
        }

        .newsletter-form input::placeholder {
            color: #8590af;
        }

        .newsletter-form button {
            height: 48px;

            padding: 0 20px;

            border: 0;

            border-radius: 0 8px 8px 0;

            background: var(--primary);

            color: #ffffff;

            font-size: 12px;

            font-weight: 600;

            cursor: pointer;
        }

        .newsletter-field {
            display: flex;
        }

        .newsletter-message {
            margin: 10px;
        }

        /* =========================================================
           FOOTER
        ========================================================= */

        footer {
            background: #050b20;

            color: #ffffff;

            padding: 55px 0 20px;
        }


        .footer-grid {
            display: grid;

            grid-template-columns:
                1.5fr
                1fr
                1fr
                1.5fr;

            gap: 45px;

            padding-bottom: 40px;
        }


        .footer-description {
            color: #7e89a7;

            font-size: 12px;

            max-width: 260px;

            margin-top: 15px;
        }


        .footer-column h3 {
            font-size: 12px;

            margin-bottom: 15px;
        }

        .footer-column a {
            display: block;

            color: #7e89a7;

            font-size: 11px;

            margin-bottom: 9px;

            transition: 0.2s;
        }

        .footer-column a:hover {
            color: #ffffff;
        }


        .footer-bottom {
            border-top:
                1px solid rgba(255,255,255,0.07);

            padding-top: 20px;

            display: flex;

            justify-content: space-between;

            color: #66718f;

            font-size: 10px;
        }


        /* =========================================================
           MOBILE OVERLAY
        ========================================================= */

        .mobile-overlay {
            display: none;

            position: fixed;

            inset: 0;

            background: rgba(0,0,0,0.5);

            z-index: 998;
        }


        /* =========================================================
           TABLET
        ========================================================= */

        @media (max-width: 1050px) {

            .nav-links {

                gap: 15px;

            }

        }

        
        /* =========================================================
           MOBILE
        ========================================================= */

        @media (max-width: 768px) {

            .container {
                width: min(
                    var(--container),
                    calc(100% - 28px)
                );
            }


            /* NAV */

            .navbar {
                height: 64px;
            }

            .nav-links {

                position: fixed;

                top: 64px;
                right: 0;

                width: min(84vw, 320px);

                height: calc(100dvh - 64px);

                padding: 25px 22px;

                display: flex;

                flex-direction: column;

                align-items: stretch;

                gap: 0;

                margin: 0;

                background: #08122f;

                box-shadow:
                    -10px 0 40px rgba(0, 0, 0, 0.25);

                z-index: 1001;

                /*
                Keep the menu outside the visible area
                without creating horizontal page scrolling.
                */
                transform: translateX(105%);

                visibility: hidden;

                pointer-events: none;

                transition:
                    transform 0.3s ease,
                    visibility 0s linear 0.3s;

                overflow-y: auto;

                -webkit-overflow-scrolling: touch;
            }

            .nav-links.active {

                transform: translateX(0);
                    
                visibility: visible;
                    
                pointer-events: auto;
                    
                transition:
                    transform 0.3s ease,
                    visibility 0s;
            }

            .nav-links a {
                padding: 14px 5px;

                border-bottom:
                    1px solid rgba(255,255,255,0.07);

                font-size: 14px;
            }

            .search-button {
                display: none;
            }

            .login-button {
                margin-top: 15px;

                justify-content: center;
            }

            .menu-button {
                display: block;
            }


            /* NEWSLETTER */

            .newsletter {
                padding: 60px 0;
            }

            .newsletter-form {
                width: 100%;
                max-width: 100%;
                display: flex;
                flex-direction: column;
                margin: 25px auto 0;
            }

            .newsletter-inner {
                flex-direction: column;

                align-items: stretch;

                text-align: center;
            }

            .newsletter-form input {

                width: 100%;
                    
                min-width: 0;
                    
                height: 52px;
                    
                border-radius: 8px;
                    
                border:
                    1px solid rgba(255, 255, 255, 0.15);
                    
                padding: 16px 16px;
                    
                font-size: 14px;
            }
        
        
            .newsletter-form button {
            
                width: 100%;
            
                height: 52px;
            
                margin-top: 10px;
            
                border-radius: 8px;
            
                font-size: 14px;
            }

            .newsletter-field {
                display: block;
            }


            /* FOOTER */

            .footer-grid {
                grid-template-columns:
                    repeat(2, 1fr);

                gap: 35px 25px;
            }

            .footer-grid > :first-child {
                grid-column:
                    1 / -1;
            }

            .footer-bottom {
                flex-direction: column;

                gap: 8px;

                text-align: center;
            }

        }

        
        /* =========================================================
           SMALL PHONES
        ========================================================= */

        @media (max-width: 430px) {

            .logo-name {
                font-size: 14px;
            }

            .logo-tagline {
                display: none;
            }

            .hero h1 {
                font-size: 36px;
            }

            .hero-description {
                font-size: 13px;
            }

            .btn {
                width: 100%;
            }

            .hero-buttons {
                width: 100%;
            }

            .categories {
                grid-template-columns:
                    1fr 1fr;
            }

            .category-card p {
                font-size: 10px;
            }

            .stats {
                grid-template-columns:
                    1fr 1fr;
            }

            .stat-icon {
                display: none;
            }

            .stat-number {
                font-size: 14px;
            }

            .stat-label {
                font-size: 9px;
            }

            .art-grid {
                grid-template-columns:
                    1fr;
            }

            .art-image {
                height: 190px;
            }

            .newsletter-form {
                flex-direction: column;

                gap: 8px;
            }

            .newsletter-form input {
                border-right: 1px solid rgba(255,255,255,0.15);

                border-radius: 8px;
            }

            .newsletter-form button {
                border-radius: 8px;
            }

            .footer-grid {
                grid-template-columns:
                    1fr;
            }

        }