 :root {
            --ivory: #EBE1D1;
            --coral: #F96E5B;
            --deep-text: #2D2926;
            --soft-shadow: rgba(0, 0, 0, 0.05);
        }

        body {
            background-color: var(--ivory);
            color: var(--deep-text);
            font-family: 'Roboto Condensed', sans-serif;
            overflow-x: hidden;
        }

        .font-poetic {
            font-family: 'Playwrite GB S', cursive;
        }

        /* Fabric Grain Overlay */
        .fabric-grain::before {
            content: "";
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background-image: url('https://www.transparenttextures.com/patterns/natural-paper.png');
            opacity: 0.4;
            pointer-events: none;
            z-index: 50;
        }

        /* Motion System */
        .reveal {
            opacity: 0;
            transform: translateY(40px);
            filter: blur(10px);
            transition: all 1.2s cubic-bezier(0.22, 1, 0.36, 1);
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
            filter: blur(0);
        }

        /* Fabric Tension Hover */
        .fabric-card {
            background: rgba(255, 255, 255, 0.3);
            backdrop-filter: blur(10px);
            border-radius: 4px;
            transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.8s ease;
            box-shadow: 0 10px 30px var(--soft-shadow);
        }
        .fabric-card:hover {
            transform: translateY(-15px) scale(1.02) rotate(1deg);
            box-shadow: 0 30px 60px rgba(0,0,0,0.08);
        }

        /* Navigation */
        .nav-link {
            position: relative;
            padding-bottom: 4px;
        }
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0; left: 0;
            width: 0; height: 1px;
            background: var(--coral);
            transition: width 0.4s ease;
        }
        .nav-link:hover::after {
            width: 100%;
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: var(--ivory); }
        ::-webkit-scrollbar-thumb { background: #dcd1c0; border-radius: 10px; }

        /* Mobile Menu */
        #mobile-menu {
            transform: translateX(100%);
            transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1);
        }
        #mobile-menu.active {
            transform: translateX(0);
        }

        /* Horizontal Scroll Section */
        .horizontal-scroll {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
        }
        .horizontal-scroll::-webkit-scrollbar { display: none; }
        .slide {
            flex: 0 0 80vw;
            scroll-snap-align: center;
        }

        .btn-coral {
            background-color: var(--coral);
            color: white;
            transition: transform 0.3s ease, filter 0.3s ease;
        }
        .btn-coral:hover {
            filter: brightness(1.1);
            transform: scale(1.05);
        }