/* Univers Deco — custom.css : tokens, fonts, motion */

:root {
  --color-bg:        #FAF7F2;
  --color-ink:       #1A1715;
  --color-muted:     #6B655C;
  --color-line:      #E5DDD0;
  --color-accent:    #C8521C;
  --color-accent-soft:#F2E4D7;
  --color-deep:      #2C3E36;
}

html, body { background: var(--color-bg); color: var(--color-ink); }

.font-display { font-family: 'Fraunces', 'Times New Roman', serif; font-optical-sizing: auto; font-variation-settings: 'opsz' 144, 'SOFT' 50; }
.font-body { font-family: 'Manrope', system-ui, sans-serif; }
body { font-family: 'Manrope', system-ui, sans-serif; }

/* Scroll reveal */
[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.9s cubic-bezier(.2,.7,.2,1), transform 0.9s cubic-bezier(.2,.7,.2,1);
}
[data-reveal].is-revealed { opacity: 1; transform: translateY(0); }
[data-reveal-delay="1"].is-revealed { transition-delay: .08s; }
[data-reveal-delay="2"].is-revealed { transition-delay: .16s; }
[data-reveal-delay="3"].is-revealed { transition-delay: .24s; }
[data-reveal-delay="4"].is-revealed { transition-delay: .32s; }

/* Hero entrance — hero-lines stagger in on load */
@keyframes ud-rise {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ud-rise { animation: ud-rise 1s cubic-bezier(.2,.7,.2,1) both; }
.ud-rise-1 { animation-delay: .05s; }
.ud-rise-2 { animation-delay: .25s; }
.ud-rise-3 { animation-delay: .45s; }
.ud-rise-4 { animation-delay: .65s; }

/* Marquee */
@keyframes ud-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ud-marquee { animation: ud-marquee 40s linear infinite; }

/* Collection card hover */
.col-card { overflow: hidden; }
.col-card .col-img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.col-card:hover .col-img { transform: scale(1.05); }
.col-card .col-overlay { transition: opacity .4s ease; }

/* Selection */
::selection { background: var(--color-accent); color: #fff; }

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Hide scrollbar where used decoratively */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }
