
html, body { max-width: 100%; overflow-x: clip; }

/* Media and embeds never exceed their container. */
img, svg, video, canvas, iframe, embed, object, figure, picture {
	max-width:100%;
}
img, video, canvas { height: auto; }
pre, code, kbd, samp { overflow-x: auto; max-width: 100%; }

h1, h2, h3, h4, h5, h6,
[class*="lockup"], [class*='display'], [class*='headline'], [class*='title'],
[class*='hero'] h1, [class*='hero'] h2 {
	overflow-wrap:break-word;
	word-break:normal;
	hyphens:auto;
}
[class*="lockup"], [class*="lockup"] > * { white-space: normal !important; }

p, li, dd, dt, blockquote, figcaption, address, a, span, td, th,
div, strong, b, em, i, small, label, output, time, cite, abbr, code, summary,
h1, h2, h3, h4, h5, h6 {
	overflow-wrap:break-word;
}

[class*='grid'] > *, [class*="row"] > *, [class*='flex'] > *,
[class*="cols"] > *, [class*='columns'] > * { min-width: 0; }

:not(img):not(picture):not(svg):not(video):not(canvas):only-child {
	grid-column:1 / -1;
}

@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) {
	animation-duration:.28s;
}
@media (prefers-reduced-motion: reduce) {
	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) { animation: none !important; }
}

.dati591 {
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	container-type:inline-size;
}
.dati591 > table { width: 100%; }
@media (max-width: 48rem) {
	.dati591 > table { font-size: .94em; }
}
.dati591 > table,
.dati591 > table > thead, .dati591 > table > tbody,
.dati591 > table > tfoot, .dati591 > table tr,
.dati591 > table th, .dati591 > table td { display: revert; }
.dati591 > table th, .dati591 > table td {
	inline-size:auto;
	min-inline-size:0;
}

@media (max-width: 30rem) {
	:root {
		--vijo-7a0:clamp(2.2rem, 9vw, 3rem);
		--vijo-b33:clamp(2rem, 8vw, 2.7rem);
		--vijo-3e7:clamp(1.8rem, 7vw, 2.4rem);
		--vijo-233:clamp(1.55rem, 6vw, 2.05rem);
		--vijo-b47:clamp(1.35rem, 5vw, 1.8rem);
	}
}
@media (min-width: 30.01rem) and (max-width: 48rem) {
	:root {
		--vijo-7a0:clamp(2.8rem, 8vw, 4.6rem);
		--vijo-b33:clamp(2.5rem, 7vw, 4rem);
		--vijo-3e7:clamp(2.2rem, 6vw, 3.4rem);
	}

}

/* Touch targets stay usable. */
@media (pointer: coarse) {
	a.btn, button, [role="button"], .btn,
	input[type='submit'], input[type="button"] { min-height: 44px; }
}

@container (max-width: 26rem) {
	.dati591.table-stack.tcols-3 > table,
	.dati591.table-stack.tcols-3 > table > tbody,
	.dati591.table-stack.tcols-3 > table > tbody > tr,
	.dati591.table-stack.tcols-3 > table > tbody > tr > td,
	.dati591.table-stack.tcols-3 > table > tbody > tr > th {
		display:block;
		inline-size:auto;
		min-inline-size:0 !important;
	}
	.dati591.table-stack.tcols-3 > table > thead { display: none; }
	.dati591.table-stack.tcols-3 > table > tbody > tr {
		margin-block-end:.75rem;
		padding:.2rem .25rem;
		border:1px solid;
		border-color:color-mix(in srgb, currentColor 20%, transparent);
		border-radius:.5rem;
	}
	.dati591.table-stack.tcols-3 > table > tbody > tr > td {
		padding-block:.4rem;
		padding-inline:.7rem;
	}
	.dati591.table-stack.tcols-3 > table > tbody > tr > td[data-label]::before {
		content:attr(data-label);
		display:block;
		font-size:.82em;
		font-weight:600;
		letter-spacing:.02em;
		opacity:.68;
	}
	.dati591.table-stack.tcols-3 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 35rem) {
	.dati591.table-stack.tcols-4 > table,
	.dati591.table-stack.tcols-4 > table > tbody,
	.dati591.table-stack.tcols-4 > table > tbody > tr,
	.dati591.table-stack.tcols-4 > table > tbody > tr > td,
	.dati591.table-stack.tcols-4 > table > tbody > tr > th {
		display:block;
		inline-size:auto;
		min-inline-size:0 !important;
	}
	.dati591.table-stack.tcols-4 > table > thead { display: none; }
	.dati591.table-stack.tcols-4 > table > tbody > tr {
		margin-block-end:.75rem;
		padding:.2rem .25rem;
		border:1px solid;
		border-color:color-mix(in srgb, currentColor 20%, transparent);
		border-radius:.5rem;
	}
	.dati591.table-stack.tcols-4 > table > tbody > tr > td {

		padding-block:.4rem;
		padding-inline:.7rem;
	}
	.dati591.table-stack.tcols-4 > table > tbody > tr > td[data-label]::before {
		content:attr(data-label);
		display:block;
		font-size:.82em;
		font-weight:600;
		letter-spacing:.02em;
		opacity:.68;
	}
	.dati591.table-stack.tcols-4 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 44rem) {
	.dati591.table-stack.tcols-5 > table,
	.dati591.table-stack.tcols-5 > table > tbody,
	.dati591.table-stack.tcols-5 > table > tbody > tr,
	.dati591.table-stack.tcols-5 > table > tbody > tr > td,
	.dati591.table-stack.tcols-5 > table > tbody > tr > th {
		display:block;
		inline-size:auto;
		min-inline-size:0 !important;
	}
	.dati591.table-stack.tcols-5 > table > thead { display: none; }
	.dati591.table-stack.tcols-5 > table > tbody > tr {
		margin-block-end:.75rem;
		padding:.2rem .25rem;
		border:1px solid;
		border-color:color-mix(in srgb, currentColor 20%, transparent);
		border-radius:.5rem;
	}
	.dati591.table-stack.tcols-5 > table > tbody > tr > td {
		padding-block:.4rem;
		padding-inline:.7rem;
	}
	.dati591.table-stack.tcols-5 > table > tbody > tr > td[data-label]::before {
		content:attr(data-label);
		display:block;
		font-size:.82em;
		font-weight:600;
		letter-spacing:.02em;
		opacity:.68;
	}
	.dati591.table-stack.tcols-5 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 52rem) {
	.dati591.table-stack.tcols-6 > table,
	.dati591.table-stack.tcols-6 > table > tbody,
	.dati591.table-stack.tcols-6 > table > tbody > tr,
	.dati591.table-stack.tcols-6 > table > tbody > tr > td,
	.dati591.table-stack.tcols-6 > table > tbody > tr > th {
		display:block;
		inline-size:auto;
		min-inline-size:0 !important;
	}
	.dati591.table-stack.tcols-6 > table > thead { display: none; }
	.dati591.table-stack.tcols-6 > table > tbody > tr {
		margin-block-end:.75rem;
		padding:.2rem .25rem;
		border:1px solid;
		border-color:color-mix(in srgb, currentColor 20%, transparent);
		border-radius:.5rem;
	}
	.dati591.table-stack.tcols-6 > table > tbody > tr > td {
		padding-block:.4rem;
		padding-inline:.7rem;
	}
	.dati591.table-stack.tcols-6 > table > tbody > tr > td[data-label]::before {
		content:attr(data-label);
		display:block;
		font-size:.82em;
		font-weight:600;
		letter-spacing:.02em;
		opacity:.68;
	}

	.dati591.table-stack.tcols-6 > table > tbody > tr > td:empty { display: none; }
}
@container (max-width: 61rem) {
	.dati591.table-stack.tcols-7 > table,
	.dati591.table-stack.tcols-7 > table > tbody,
	.dati591.table-stack.tcols-7 > table > tbody > tr,
	.dati591.table-stack.tcols-7 > table > tbody > tr > td,
	.dati591.table-stack.tcols-7 > table > tbody > tr > th {
		display:block;
		inline-size:auto;
		min-inline-size:0 !important;
	}
	.dati591.table-stack.tcols-7 > table > thead { display: none; }
	.dati591.table-stack.tcols-7 > table > tbody > tr {
		margin-block-end:.75rem;
		padding:.2rem .25rem;
		border:1px solid;
		border-color:color-mix(in srgb, currentColor 20%, transparent);
		border-radius:.5rem;
	}
	.dati591.table-stack.tcols-7 > table > tbody > tr > td {
		padding-block:.4rem;
		padding-inline:.7rem;
	}
	.dati591.table-stack.tcols-7 > table > tbody > tr > td[data-label]::before {
		content:attr(data-label);
		display:block;
		font-size:.82em;
		font-weight:600;
		letter-spacing:.02em;
		opacity:.68;
	}
	.dati591.table-stack.tcols-7 > table > tbody > tr > td:empty { display: none; }
}

/* Consent bar — bounded so it cannot cover the headline. */
.cookie-banner {
	max-height:20vh;
	overflow:auto;
	top:auto;
	bottom:0;
}
@media (max-width: 30rem) {
	.cookie-banner { max-height: 38vh; }
}

/* MEASURED: words found printed outside their own card */
/* printed 305px outside its card */
a.btn.btn-primary.btn-sm { overflow-wrap: anywhere !important; }

div.hero-stats-band { grid-template-columns: none !important; }
