:root {
	--bg: #0b0b0b;
	--fg: #fff;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	height: 100%;
	background: var(--bg);
	color: var(--fg);
}

body {
	overflow: hidden;
}

main {
	display: grid;
	place-items: center;
	height: 100%;
}

.banner {
	margin: 0;
	font: 700 clamp(2rem, 8vw, 6rem) / 1 monospace;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-align: center;
}

.banner__canvas {
	display: none;
}

/* Con JavaScript activo: el canvas ocupa la pantalla y el texto
   queda oculto a la vista, pero disponible para lectores de pantalla. */

.js .banner__canvas {
	display: block;
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
}

.js .banner__text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
