        :root {
            --sky-blue: #B4D3D9;
            --warm-yellow: #FFF799;
            --white: #FFFFFF;
            --black: #000000;
        }

        body {
            font-family: 'Roboto Condensed', sans-serif;
            background-color: var(--white);
            color: var(--black);
            margin: 0;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* Smart Visibility Header */
        header {
            position: fixed;
            top: 0;
            width: 100%;
            height: 70px;
            background-color: var(--sky-blue);
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 5%;
            transition: transform 0.4s ease;
        }
        header.nav-hidden { transform: translateY(-100%); }

        .nav-link {
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin: 0 1.5rem;
            cursor: pointer;
        }

        /* Editorial Dividers */
        .hr-black { border-top: 2px solid var(--black); width: 100%; }

        /* Sections */
        .section-padding { padding: 100px 5%; }
        
        /* Hero Geometric */
        .hero-bg { background-color: var(--sky-blue); min-height: 80vh; display: flex; align-items: center; justify-content: center; }
        .hero-image-card {
            width: 100%;
            max-width: 500px;
            aspect-ratio: 1/1;
            height: 80vh;
            overflow: hidden;
        }
        .hero-image-card:hover { transform: scale(1.02) translate(-5px, -5px); }

        /* Horizontal Scroll Cards */
        .scroll-container {
            display: flex;
            overflow-x: auto;
            gap: 2rem;
            padding-bottom: 2rem;
            scrollbar-width: none; /* Firefox */
        }
        .scroll-container::-webkit-scrollbar { display: none; }
        .product-card { min-width: 300px; flex-shrink: 0; cursor: pointer; }
        .product-img-wrapper { width: 100%; aspect-ratio: 3/4; overflow: hidden; background: #eee; }
        .product-img-wrapper img { transition: transform 0.6s ease; }
        .product-card:hover img { transform: scale(1.1); }

        /* Parallax Text Section */
        .parallax-wrap {
            height: 100vh;
            background-attachment: fixed;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 40px;
        }
        .text-card {
            background: rgba(255, 255, 255, 0.9);
            padding: 4rem;
            max-width: 600px;
            text-align: center;
            backdrop-blur: 5px;
        }

        /* Buttons */
        .btn-outline {
            border: 2px solid var(--black);
            padding: 10px 25px;
            text-transform: uppercase;
            font-weight: 800;
            letter-spacing: 1px;
            transition: all 0.3s ease;
        }
        .btn-outline:hover { background: var(--black); color: var(--white); }

        /* Cart Overlay */
        #cart-sidebar {
            position: fixed;
            right: -100%;
            top: 0;
            width: 400px;
            height: 100%;
            background: var(--white);
            z-index: 2000;
            box-shadow: -10px 0 30px rgba(0,0,0,0.1);
            transition: right 0.4s cubic-bezier(0.77, 0, 0.175, 1);
            padding: 2rem;
        }
        #cart-sidebar.open { right: 0; }
        
        /* Mobile Menu */
        #mobile-menu {
            position: fixed;
            inset: 0;
            background: var(--sky-blue);
            z-index: 1500;
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 2rem;
        }

        /* Animations */
        .reveal { opacity: 0; transform: translateY(40px); transition: 0.8s ease-out; }
        .reveal.active { opacity: 1; transform: translateY(0); }

        .underline-input {
            background: transparent;
            border: none;
            border-bottom: 2px solid var(--black);
            padding: 10px 0;
            width: 100%;
            outline: none;
        }
