:root {
  color-scheme: light;
  --rsf-primary: #7c554a;
  --rsf-surface: #fcf9f3;
  --rsf-text: #1c1c18;
}

html { scroll-behavior: smooth; }
body { margin: 0; background: var(--rsf-surface); color: var(--rsf-text); font-family: "Manrope", sans-serif; }
img { max-width: 100%; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--rsf-primary); outline-offset: 3px; }
.skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 999; transform: translateY(-160%); background: #fff; color: var(--rsf-primary); padding: .75rem 1rem; border-radius: .25rem; }
.skip-link:focus { transform: translateY(0); }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24; }
.editorial-shadow { box-shadow: 0 20px 40px -10px rgba(28, 28, 24, .07); }
.rose-shadow { box-shadow: 0 18px 45px -18px rgba(124, 85, 74, .28); }
.diamond-divider { display: flex; justify-content: center; margin: 48px auto; opacity: .72; }
.diamond-divider img { width: 24px; height: auto; }
.seo-marquee { overflow: hidden; color: var(--rsf-primary); border-block: 1px solid rgba(124, 85, 74, .08); padding: 8px 0; white-space: nowrap; }
.seo-marquee-track { display: inline-flex; gap: 22px; align-items: center; animation: rsfMarquee 80s linear infinite; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
@keyframes rsfMarquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .seo-marquee-track { animation: none; transform: none; flex-wrap: wrap; justify-content: center; white-space: normal; padding: 0 24px; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
