:root {
  --bg:      #191610;
  --text:    #FEFEFC;
  --accent:  #B2987D;
  --muted:   #8C8477;
  --surface: #231F18;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: auto; }
html, body { overscroll-behavior: none; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
  scrollbar-width: none;
}
body::-webkit-scrollbar { display: none; }

/* LOADER */
#loader {
  position: fixed; inset: 0;
  background: #000; z-index: 1000;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 32px;
  transition: opacity 0.8s ease;
}
#loader-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 48px; font-weight: 300;
  letter-spacing: 0.3em; color: var(--text);
  opacity: 0; animation: fadeIn 0.8s ease 0.3s forwards;
}
@keyframes fadeIn { to { opacity: 1; } }
#loader-line-wrap {
  width: 200px; height: 1px;
  background: rgba(178,152,125,0.2);
  position: relative; overflow: hidden;
}
#loader-line {
  position: absolute; left: 0; top: 0;
  height: 100%; width: 0%;
  background: var(--accent); transition: width 0.1s linear;
}
#loader-count {
  font-size: 11px; letter-spacing: 0.2em;
  color: var(--muted); font-weight: 300;
}
