*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-page);color:var(--text-body);font:var(--type-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{margin:0;color:var(--text-heading);font-family:var(--font-display);font-weight:var(--weight-regular);letter-spacing:var(--tracking-heading);text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-silk)}
a:hover{color:var(--text-link-hover)}
::selection{background:var(--gold-a40);color:var(--gold-100)}
:focus-visible{outline:1px solid var(--gold-300);outline-offset:3px}
@keyframes dm-spin{to{transform:rotate(360deg)}}
@keyframes dm-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes dm-shimmer{0%{background-position:-160% 0}100%{background-position:260% 0}}
@keyframes dm-pulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes dm-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
