*{ box-sizing: border-box; }
html, body{ height: 100%; }
html{ background: #04181f; }
body{
  margin: 0;
  min-height: 100vh;
  background-color: #04181f;
  color: var(--text);
  background:
    radial-gradient(1200px 600px at 70% -10%, rgba(216,177,90,.18), transparent 62%),
    radial-gradient(900px 500px at 10% 10%, rgba(231,245,255,.09), transparent 60%),
    radial-gradient(1000px 700px at 80% 80%, rgba(14,60,74,.24), transparent 55%),
    linear-gradient(180deg, #04181f 0%, var(--bg) 55%, #04181f 100%);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  line-height: 1.45;
  overflow-x: hidden;
}

a{ color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible{
  outline: 2px solid rgba(216,177,90,.8);
  outline-offset: 3px;
  border-radius: 12px;
}

.wrap{ width: min(var(--max), calc(100% - 2*var(--space-3))); margin: 0 auto; }
.wrap.narrow{ width: min(var(--max-narrow), calc(100% - 2*var(--space-3))); }

html{ scroll-behavior: smooth; }

/* Ensure anchor targets aren't hidden under the sticky nav */
[id]{ scroll-margin-top: 90px; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior: auto !important; transition: none !important; }
}
