        /* Custom CSS for Editorial Vibe & Animations */
        body {
            background-color: #F9F6F0;
            color: #2C2621;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }

        /* Loading state to prevent text flash during translation */
        body.loading {
            opacity: 0;
        }
        body {
            transition: opacity 0.5s ease;
        }

        /* Typography scale tweaks */
        .text-display { font-size: clamp(3rem, 8vw, 6.5rem); line-height: 0.95; }
        .text-huge { font-size: clamp(2rem, 5vw, 4rem); line-height: 1.1; }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #F9F6F0; }
        ::-webkit-scrollbar-thumb { background: #D0C6B8; border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: #2C2621; }

        /* Animations */
        .reveal-up {
            opacity: 0;
            transform: translateY(40px);
            transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
        }
        .reveal-up.active {
            opacity: 1;
            transform: translateY(0);
        }
        .delay-100 { transition-delay: 100ms; }
        .delay-200 { transition-delay: 200ms; }
        .delay-300 { transition-delay: 300ms; }

        /* Image Reveal Mask */
        .img-mask {
            position: relative;
            overflow: hidden;
        }
        .img-mask::after {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background-color: #F9F6F0;
            transition: transform 1.5s cubic-bezier(0.7, 0, 0.3, 1);
            transform-origin: top;
            z-index: 10;
        }
        .img-mask.active::after {
            transform: scaleY(0);
        }
        .img-scale {
            transform: scale(1.1);
            transition: transform 2s cubic-bezier(0.25, 1, 0.5, 1);
        }
        .img-mask.active .img-scale {
            transform: scale(1);
        }

        /* Menu Separator */
        .menu-dots {
            flex-grow: 1;
            border-bottom: 1px dotted #2C2621;
            opacity: 0.3;
            margin: 0 15px;
            position: relative;
            top: -6px;
        }

        /* Form Inputs */
        .input-editorial {
            background: transparent;
            border: none;
            border-bottom: 1px solid rgba(44, 38, 33, 0.3);
            border-radius: 0;
            padding: 10px 0;
            font-family: 'Lato', sans-serif;
            color: #2C2621;
            transition: border-color 0.3s ease;
        }
        .input-editorial:focus {
            outline: none;
            border-color: #2C2621;
        }
        .input-editorial::placeholder {
            color: rgba(44, 38, 33, 0.5);
        }

        /* Buttons */
        .btn-outline {
            position: relative;
            overflow: hidden;
            border: 1px solid #2C2621;
            transition: color 0.4s ease;
            z-index: 1;
        }
        .btn-outline::before {
            content: '';
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            background: #2C2621;
            transform: scaleX(0);
            transform-origin: right;
            transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
            z-index: -1;
        }
        .btn-outline:hover {
            color: #F9F6F0;
        }
        .btn-outline:hover::before {
            transform: scaleX(1);
            transform-origin: left;
        }

        .btn-solid {
            background-color: #C27A65;
            color: #F9F6F0;
            transition: background-color 0.4s ease;
        }
        .btn-solid:hover {
            background-color: #A66551;
        }

        /* Header Transition */
        #header {
            transition: background-color 0.5s ease, padding 0.5s ease;
        }
        #header.scrolled {
            background-color: rgba(249, 246, 240, 0.95);
            backdrop-filter: blur(10px);
            padding-top: 1rem;
            padding-bottom: 1rem;
            box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03);
        }

        /* Mobile Menu */
        #mobile-menu {
            transition: opacity 0.4s ease, visibility 0.4s ease;
        }
        
        /* Lightbox */
        #lightbox {
            transition: opacity 0.4s ease, visibility 0.4s ease;
        }

        /* Image Hover Zoom */
        .hover-zoom-img {
            transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
        }
        .hover-zoom-container:hover .hover-zoom-img {
            transform: scale(1.05);
        }
