/* MIRAGE — base element defaults + type-role helpers. */
*, *::before, *::after { box-sizing: border-box; border-radius: 0; }
body { margin: 0; background: var(--surface-canvas); color: var(--text-primary); font-family: var(--font-mono); font-size: var(--text-body); line-height: var(--leading-body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
::selection { background: var(--color-black); color: var(--color-white); }

.mg-utility { font-family: var(--font-mono); font-size: var(--text-utility-link); line-height: var(--leading-utility-link); letter-spacing: var(--tracking-utility-link); text-transform: uppercase; }
.mg-body { font-family: var(--font-mono); font-size: var(--text-body); line-height: var(--leading-body); text-transform: uppercase; }
.mg-body-long { font-family: var(--font-mono); font-size: var(--text-body-long); line-height: var(--leading-body-long); }
.mg-footer-heading { font-family: var(--font-mono); font-size: var(--text-footer-heading); line-height: var(--leading-footer-heading); text-transform: uppercase; }
.mg-image-panel-heading { font-family: var(--font-display); font-stretch: var(--font-display-stretch); font-weight: 500; font-size: var(--text-image-panel-heading); line-height: var(--leading-image-panel-heading); text-transform: uppercase; }
.mg-hero-heading { font-family: var(--font-display); font-stretch: var(--font-display-stretch); font-weight: 500; font-size: var(--text-hero-heading); line-height: var(--leading-hero-heading); text-transform: uppercase; }
.mg-editorial-heading { font-family: var(--font-display); font-stretch: var(--font-display-stretch); font-weight: 500; font-size: var(--text-editorial-heading); line-height: var(--leading-editorial-heading); text-transform: uppercase; }
.mg-category-heading { font-family: var(--font-display); font-stretch: var(--font-display-stretch); font-weight: 500; font-size: var(--text-category-heading); line-height: var(--leading-category-heading); text-transform: uppercase; }
