        :root {
            --dark: #202940;
            --accent: #CA6180;
            --white: #ffffff;
            --off-white: #f8f8f8;
        }

        body {
            font-family: 'Raleway', sans-serif;
            background-color: var(--white);
            color: var(--dark);
            margin: 0;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        /* TYPOGRAPHY */
        h1, h2, h3, h4 {
            letter-spacing: 0.15em;
            text-transform: uppercase;
        }

        .paragraph-editorial {
            line-height: 2;
            font-weight: 300;
            opacity: 0.8;
        }

        /* NAVIGATION */
        .nav-header {
            position: fixed;
            top: 0;
            width: 100%;
            z-index: 1000;
            transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
            padding: 2rem 5%;
        }

        .nav-header.scrolled {
            background: rgba(255, 255, 255, 0.95);
            padding: 1rem 5%;
            box-shadow: 0 5px 20px rgba(0,0,0,0.05);
        }

        .nav-link {
            position: relative;
            padding-bottom: 4px;
            cursor: pointer;
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 1px;
            background: var(--accent);
            transition: width 0.4s ease;
        }

        .nav-link:hover::after {
            width: 100%;
        }

        /* HERO ASYMMETRY */
        .hero-container {
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 120px 5% 60px;
        }

        .hero-grid {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 2rem;
            align-items: end;
        }

        .scrolling-line {
            white-space: nowrap;
            overflow: hidden;
            border-top: 1px solid rgba(32, 41, 64, 0.1);
            padding: 2rem 0;
            margin-top: 4rem;
        }

        .scrolling-text {
            display: inline-block;
            animation: scrollText 20s linear infinite;
            font-size: 1.5rem;
            font-weight: 300;
            letter-spacing: 0.2em;
        }

        @keyframes scrollText {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        /* ANIMATIONS */
        .reveal {
            opacity: 0;
            transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
        }

        .reveal-up { transform: translateY(50px); }
        .reveal-left { transform: translateX(-50px); }
        .reveal-right { transform: translateX(50px); }

        .active-reveal {
            opacity: 1;
            transform: translate(0,0);
        }

        /* CARDS */
        .craft-card {
            background: var(--white);
            border: 1px solid rgba(0,0,0,0.05);
            overflow: hidden;
            transition: all 0.5s ease;
            cursor: pointer;
        }

        .craft-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.08);
        }

        .craft-card img {
            transition: transform 1.5s cubic-bezier(0.19, 1, 0.22, 1);
        }

        .craft-card:hover img {
            transform: scale(1.08);
        }

        /* DARK SECTION */
        .dark-section {
            background: var(--dark);
            color: var(--white);
        }

        /* HORIZONTAL SCROLL */
        .horizontal-strip {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            gap: 2rem;
            padding: 2rem 0;
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        .horizontal-strip::-webkit-scrollbar { display: none; }

        /* MODAL */
        #modal {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 2000;
            background: rgba(32, 41, 64, 0.95);
            backdrop-filter: blur(10px);
            align-items: center;
            justify-content: center;
            padding: 20px;
        }

        .modal-content {
            background: white;
            max-width: 900px;
            width: 100%;
            display: flex;
            flex-direction: column;
            md-flex-direction: row;
            position: relative;
        }

        .page-node { display: none; }
        .page-node.active { display: block; }

        /* MOBILE MENU */
        #mobile-menu {
            position: fixed;
            inset: 0;
            background: var(--dark);
            z-index: 1500;
            transform: translateY(-100%);
            transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 2rem;
            color: white;
        }

        #mobile-menu.open { transform: translateY(0); }
