
    body {
      box-sizing: border-box;
    }
    
    :root {
      --color-bg: #ffffff;
      --color-surface: #f8f9fa;
      --color-text: #1a1a1a;
      --color-primary: #c41e3a;
      --color-secondary: #2c3e50;
    }
    
    .font-serif { font-family: 'Cormorant Garamond', serif; }
    .font-sans { font-family: 'Inter', sans-serif; }
    
    /* Minimal hover effects */
    .hover-opacity {
      transition: opacity 0.3s ease;
    }
    .hover-opacity:hover {
      opacity: 0.7;
    }
    
    .hover-translate {
      transition: transform 0.3s ease;
    }
    .hover-translate:hover {
      transform: translateY(-4px);
    }
    
    /* Clean line separator */
    .line-separator {
      width: 60px;
      height: 1px;
      background: var(--color-text);
    }
    
    /* Minimal shadows */
    .shadow-minimal {
      box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    }
    
    .shadow-card {
      box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    }
    
    /* Premium fabric colors - muted and sophisticated */
    .fabric-block {
      height: 280px;
      transition: transform 0.3s ease;
    }
    
    .fabric-block:hover {
      transform: scale(1.02);
    }
    
    .fabric-burgundy {
      background: linear-gradient(180deg, #8b4049 0%, #6d3039 100%);
    }
    
    .fabric-navy {
      background: linear-gradient(180deg, #2c3e50 0%, #1a252f 100%);
    }
    
    .fabric-sage {
      background: linear-gradient(180deg, #8a9a5b 0%, #6b7a46 100%);
    }
    
    .fabric-taupe {
      background: linear-gradient(180deg, #a89f91 0%, #8b8275 100%);
    }
    
    .fabric-slate {
      background: linear-gradient(180deg, #647589 0%, #4a5568 100%);
    }
    
    .fabric-charcoal {
      background: linear-gradient(180deg, #4a5568 0%, #2d3748 100%);
    }
/* BASE */
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeUp 1s ease forwards;
}

.fabric-anim {
  opacity: 0;
  transform: translateX(80px);
  animation: slideIn 1.1s ease forwards;
}

/* DELAYS */
.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.6s; }
.delay-4 { animation-delay: 0.8s; }
.delay-5 { animation-delay: 1s; }
.delay-6 { animation-delay: 1.2s; }

.delay-a { animation-delay: 0.5s; }
.delay-b { animation-delay: 0.7s; }
.delay-c { animation-delay: 0.9s; }
.delay-d { animation-delay: 1.1s; }

/* KEYFRAMES */
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideIn {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
