*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;text-transform:uppercase;line-height:var(--lh-display);letter-spacing:var(--ls-display);color:var(--text-strong);margin:0}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover);text-decoration:none}
::selection{background:var(--hdd-red-500);color:#fff}
:focus-visible{outline:var(--border-w) solid var(--focus-ring);outline-offset:2px}
.hdd-light{background:var(--surface-light);color:var(--text-on-light)}
.hdd-light h1,.hdd-light h2,.hdd-light h3,.hdd-light h4{color:var(--text-on-light)}
.hdd-grain{position:relative}
.hdd-grain::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
.hdd-circle{border-radius:var(--radius-circle);overflow:hidden}
.hdd-container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
