/* ===== BASE ===== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { margin: 0; }
img { max-width: 100%; height: auto; display: block; }
select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237B2D3B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; }

/* ===== NAV SCROLL STATE ===== */
nav.scrolled { background: rgba(253, 248, 246, 0.95); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(123, 45, 59, 0.08); }

/* ===== MOBILE MENU ===== */
.mobile-link { display: block; padding: 8px 0; }

/* ===== CUSTOM SCROLLBAR ===== */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #FDF8F6; }
::-webkit-scrollbar-thumb { background: #F5D9CF; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #E0856A; }

/* ===== SELECTION ===== */
::selection { background: #F9C3CC; color: #5C1A26; }

/* ===== SCROLL REVEAL (progressive enhancement) ===== */
@media (prefers-reduced-motion: no-preference) {
  .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.7s ease, transform 0.7s ease; }
  .reveal.revealed { opacity: 1; transform: translateY(0); }
  .reveal-delay-1 { transition-delay: 0.1s; }
  .reveal-delay-2 { transition-delay: 0.2s; }
  .reveal-delay-3 { transition-delay: 0.3s; }
  .reveal-delay-4 { transition-delay: 0.4s; }
}

/* ===== FOCUS VISIBLE ===== */
:focus-visible { outline: 2px solid #b52544; outline-offset: 2px; border-radius: 8px; }

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
