/* Reset, base, layout wrapper, background texture */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
.svg-defs{ position:absolute; width:0; height:0; overflow:hidden; }
a{ color:inherit; }
::selection{ background:var(--gold); color:var(--ink); }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ---------- background texture: faint gold grid + sparkle watermark ---------- */
.backdrop{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 96px 96px;
  opacity:.5;
}
.sparkle-field{ position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.45; }
.sparkle-field svg{ position:absolute; color:var(--gold-deep); }
main, .site-footer{ position:relative; z-index:1; }

.wrap{ max-width:1200px; margin:0 auto; padding:0 44px; }
@media (max-width:640px){ .wrap{ padding:0 22px; } }

