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

html { font-size: 16px; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1.6;
  background: var(--dark-surface);
  color: var(--dark-body);
  -webkit-font-smoothing: antialiased;
  /* Reserve bottom space for fixed tab bar */
  padding-bottom: calc(var(--tab-height) + env(safe-area-inset-bottom, 0px));
}

img, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }
ul, ol { list-style: none; }
input, textarea, select { font-family: inherit; font-size: inherit; }

/* ── Utility classes ── */
.anoli-overline {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--dark-overline);
}

.anoli-overline--cream {
  color: var(--cream-gold);
}

.anoli-heading {
  font-family: var(--font-serif);
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0.03em;
  color: var(--dark-body);
}

.anoli-heading--cream { color: var(--cream-body); }
.anoli-heading--gold  { color: var(--gold); }

.anoli-price {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--gold);
}

/* ── World surfaces ── */
.world-dark   { background: var(--dark-surface); color: var(--dark-body); }
.world-card   { background: var(--dark-card); }
.world-cream  { background: var(--cream); color: var(--cream-body); }
.world-ivory  { background: var(--ivory); color: var(--cream-body); }

/* ── Ornament line (gold gradient rule) ── */
.anoli-rule {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0.4;
  border: none;
}

/* ── Logo image filter (dark world warm tone) ── */
.anoli-logo {
  filter: sepia(1) saturate(1.3) hue-rotate(5deg) brightness(1.15);
  display: block;
}
