/* ===========================================================================
   Rodrigo Martins — Base element styles & utility helpers
   Lightweight, opt-in. Provides sensible defaults + a few brand utilities
   used across cards and UI kits. Does not aggressively reset consumer pages.
   =========================================================================== */

:root {
  color-scheme: dark;
}

*,
*::before,
*::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--text-on-dark);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Headings default to the display family */
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: var(--weight-xbold);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  margin: 0;
}

::selection {
  background: var(--gold-400);
  color: var(--wine-900);
}

/* ---- Brand utility classes ------------------------------------------- */

/* Cinzel eyebrow / kicker — uppercase Roman caps, gold, wide tracking */
.rm-eyebrow {
  font-family: var(--font-serif);
  font-weight: var(--weight-600, 600);
  font-size: var(--text-sm);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--accent-gold);
}

/* Gold gradient text for emphasis words inside headlines */
.rm-gold-text {
  background: var(--grad-gold-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Thin gold rule */
.rm-rule-gold {
  height: 1px;
  border: 0;
  background: linear-gradient(90deg, var(--accent-gold), transparent);
}

/* Glass surface on dark grounds */
.rm-glass {
  background: var(--surface-glass);
  border: 1px solid var(--border-on-dark);
  backdrop-filter: blur(var(--blur-glass));
  -webkit-backdrop-filter: blur(var(--blur-glass));
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}
