/* ============================================================
   Casino Intense — foglio di stile principale
   Ordine delle regole: token → base → impalcatura → blocchi → utilità
   ============================================================ */

/* ---- 1. Caratteri auto-ospitati ---------------------------- */
@font-face {
	font-family: 'Lato Deck';
	src: url('/typeset/lato-latin-400-normal.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Lato Deck';
	src: url('/typeset/lato-latin-700-normal.woff2') format('woff2');
	font-weight: 500 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Exo Plain';
	src: url('/typeset/exo-latin-400-normal.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Exo Plain';
	src: url('/typeset/exo-latin-500-normal.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Exo Plain';
	src: url('/typeset/exo-latin-600-normal.woff2') format('woff2');
	font-weight: 600 700;
	font-style: normal;
	font-display: swap;
}

/* ---- 2. Token della sborsa --------------------------------- */
:root {
	/* tavolozza */
	--col-pillar: #dc6804;
	--col-accent: #dbc115;
	--col-action-down: #b39f11;
	--col-page: #151719;
	--col-surface-2: #1d2023;
	--col-type: #ffffff;
	--col-dim: #c1c1c1;
	--col-stroke: #2b2f33;
	--col-rule-bold: #3e4348;
	--col-blend-a: #f4e478;
	--col-ramp-end: #ecd240;
	--col-age-band: #7f1d1d;
	--col-band-ground: #101114;

	/* passi verticali */
	--st-1: 3px;
	--st-2: 10px;
	--st-3: 18px;
	--st-4: 28px;
	--st-5: 44px;
	--st-6: 60px;
	--st-7: 88px;
	--st-8: 128px;
	--sec-y: 44px;

	/* raggi */
	--rad-lozenge: 9999px;
	--rad-circle: 50%;
	--rad-1: 1px;
	--rad-2: 2px;
	--rad-3: 6px;
	--rad-4: 8px;
	--rad-5: 14px;
	--rad-6: 20px;
	--rad-7: 26px;
	--rad-8: 34px;

	/* caratteri e scala */
	--typ-banner: 'Lato Deck', 'Trebuchet MS', sans-serif;
	--typ-base: 'Exo Plain', 'Segoe UI', sans-serif;
	--fs-xxl: 48px;
	--fs-display-2: 36px;
	--fs-sub: 26px;
	--fs-sub-2: 21px;
	--fs-minor: 18px;
	--fs-h6: 16px;
	--fs-normal: 19px;
	--fs-caption: 16px;
	--fs-mini: 14px;
	--ln-close: 1.2;
	--ln-normal: 1.7;
	--ln-loose: 2;
	--tr-snug: -0.01em;
	--tr-even: 0;
	--tr-spread: 0.02em;
	--fw-regular: 400;
	--fw-half: 500;
	--fw-black: 600;

	/* ombre */
	--elev-1: 0 1px 1px rgba(0, 0, 0, 0.04);
	--elev-2: 0 1px 2px rgba(0, 0, 0, 0.05);
	--elev-3: 0 2px 4px rgba(0, 0, 0, 0.08);
	--elev-4: 0 4px 10px rgba(0, 0, 0, 0.1);
	--elev-5: 0 8px 20px rgba(0, 0, 0, 0.14);
	--elev-6: 0 14px 30px rgba(0, 0, 0, 0.18);
	--elev-7: 0 20px 44px rgba(0, 0, 0, 0.22);
	--elev-8: 0 28px 60px rgba(0, 0, 0, 0.28);

	/* movimento — indole quieta */
	--tm-swift: 225ms;
	--tm-base: 390ms;
	--tm-calm: 622ms;
	--crv-release: cubic-bezier(0.3, 0.69, 0.54, 0.99);
	--crv-both: cubic-bezier(0.62, 0.1, 0.55, 0.88);
	--crv-in: cubic-bezier(0.62, 0.1, 0.55, 0.88);
	--crv-bounce: cubic-bezier(0.29, 1.65, 0.64, 1.1);

	/* impalcatura */
	--shl-full: 1140px;
	--shl-readable: 1140px;
	--shl-tight: 670px;
	--shl-padding-desktop: 32px;
	--shl-pad-md: 20px;
	--shl-edge-narrow: 12px;
	--str-thin: 1px;
	--str-medium: 2px;
	--str-strong: 3px;
	--hd-tall: 68px;
	--hd-height-mobile: 62px;
	--shl-edge: var(--shl-padding-desktop);
}

/* ---- 3. Scala ridotta sugli schermi stretti ---------------- */
@media (max-width: 859px) {
	:root {
		--fs-xxl: 32px;
		--fs-display-2: 26px;
		--fs-sub: 22px;
		--fs-sub-2: 19px;
		--fs-minor: 17px;
		--fs-h6: 15px;
		--fs-normal: 18px;
		--fs-caption: 15px;
		--fs-mini: 13px;
		--sec-y: 34px;
		--shl-edge: var(--shl-pad-md);
	}
}
@media (max-width: 579px) {
	:root {
		--shl-edge: var(--shl-edge-narrow);
	}
}

/* ---- 4. Azzeramento e base --------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}
html,
body {
	overflow-x: clip;
}
html {
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	background: var(--col-page);
	color: var(--col-type);
	font-family: var(--typ-base);
	font-size: var(--fs-normal);
	font-weight: var(--fw-regular);
	line-height: var(--ln-loose);
	animation: page-enter var(--tm-calm) var(--crv-release) both;
}
@keyframes page-enter {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
main {
	flex: 1 0 auto;
	display: block;
}
[id] {
	scroll-margin-block-start: 96px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	overflow-wrap: anywhere;
	line-height: var(--ln-close);
	color: var(--col-type);
}
h1 {
	font-family: var(--typ-banner);
	font-weight: var(--fw-black);
	font-size: clamp(28px, 5vw, var(--fs-xxl));
	letter-spacing: var(--tr-snug);
}
h2 {
	font-family: var(--typ-banner);
	font-weight: var(--fw-black);
	font-size: clamp(24px, 3.6vw, var(--fs-display-2));
	letter-spacing: var(--tr-snug);
}
h3 {
	font-family: var(--typ-base);
	font-weight: var(--fw-black);
	font-size: var(--fs-sub);
}
h4 {
	font-family: var(--typ-base);
	font-weight: var(--fw-black);
	font-size: var(--fs-sub-2);
}
p {
	margin: 0;
}
img {
	max-width: 100%;
	display: block;
}
a {
	color: var(--col-ramp-end);
	text-decoration: none;
}
a:hover,
a:focus-visible {
	color: var(--col-blend-a);
}
strong {
	font-weight: var(--fw-black);
	color: var(--col-type);
}
em {
	font-style: italic;
}
:focus-visible {
	outline: var(--str-medium) solid var(--col-accent);
	outline-offset: 2px;
}

/* collegamento di salto — fuori campo finché non riceve il fuoco */
.skip-hop {
	position: absolute;
	left: var(--st-3);
	top: -200px;
	z-index: 200;
	padding: var(--st-2) var(--st-3);
	background: var(--col-accent);
	color: var(--col-page);
	font-weight: var(--fw-black);
	border-radius: var(--rad-3);
}
.skip-hop:not(:focus) {
	top: -200px !important;
}
.skip-hop:focus {
	top: var(--st-3);
	color: var(--col-page);
}

/* ---- 5. Fascia 18+ (RG-04: fondo scuro, filo colorato) ----- */
.rg-banner {
	display: block;
	margin: 0;
	padding: 7px var(--shl-edge);
	background: var(--col-band-ground);
	border-block-end: var(--str-strong) solid var(--col-age-band);
	color: #f2f2f2;
	font-size: var(--fs-mini);
	line-height: 1.4;
	text-align: center;
}
.rg-banner__note {
	color: #f2f2f2;
}
.rg-banner__hop {
	background: var(--col-band-ground);
	color: var(--col-ramp-end);
	text-decoration: underline;
	text-decoration-color: var(--col-age-band);
	text-decoration-thickness: 3px;
	text-underline-offset: 3px;
	margin-inline-start: var(--st-2);
}
.rg-banner__hop:hover {
	background: var(--col-band-ground);
	color: var(--col-blend-a);
}

/* ---- 6. Testata HEAD-INSET (isola con margine dai bordi) --- */
.vestibule-zone {
	position: sticky;
	top: 0;
	z-index: 80;
	padding-inline: var(--shl-edge);
	padding-block: var(--st-2);
	background: var(--col-page);
}
.vestibule-zone__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	min-height: 68px;
	display: flex;
	align-items: center;
	gap: var(--st-4);
	padding: 12px 24px;
	background: var(--col-surface-2);
	border: var(--str-thin) solid var(--col-stroke);
	border-radius: var(--rad-6);
	color: var(--col-type);
	box-shadow: var(--elev-4);
	transition: padding var(--tm-base) var(--crv-release), backdrop-filter var(--tm-base) var(--crv-release);
}
.vestibule-zone.is-shrunk .vestibule-zone__shell-body {
	padding-block: 7px;
	backdrop-filter: blur(6px);
	background: #1d2023f2;
}
.vestibule-zone__sign {
	flex-shrink: 0;
	display: block;
	line-height: 0;
}
.vestibule-zone__img {
	display: block;
	height: 40px;
	width: auto;
	mix-blend-mode: screen;
	transition: height var(--tm-base) var(--crv-release);
}
.vestibule-zone.is-shrunk .vestibule-zone__img {
	height: 30px;
}

/* bottone del menu — icona + parola, cornice */
.vestibule-zone__knob {
	display: none;
	margin-inline-start: auto;
	align-items: center;
	gap: var(--st-2);
	min-height: 44px;
	padding: 6px 12px;
	background: var(--col-surface-2);
	color: var(--col-type);
	border: var(--str-thin) solid var(--col-rule-bold);
	border-radius: var(--rad-3);
	font-family: var(--typ-base);
	font-size: var(--fs-mini);
	font-weight: var(--fw-half);
	cursor: pointer;
}
.vestibule-zone__knob:hover {
	background: var(--col-page);
	color: var(--col-accent);
}
.vestibule-zone__lines {
	display: block;
	width: 16px;
	height: 2px;
	background: currentColor;
	box-shadow: 0 -5px 0 0 currentColor, 0 5px 0 0 currentColor;
}
.vestibule-zone__note {
	white-space: nowrap;
}

/* fila dei collegamenti */
.vestibule-zone__bar {
	flex: 1 1 auto;
	min-width: 0;
	display: block;
}
.vestibule-zone__set {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--st-4);
	overflow: hidden;
}
.vestibule-zone__entry {
	position: relative;
	display: block;
	flex: 0 0 auto;
}
.vestibule-zone__entry + .vestibule-zone__entry::before {
	content: '';
	position: absolute;
	inset-inline-start: calc(var(--st-4) / -2);
	inset-block-start: 50%;
	width: 3px;
	height: 3px;
	margin-block-start: -1px;
	border-radius: var(--rad-circle);
	background: var(--col-rule-bold);
}
.vestibule-zone__hop {
	display: block;
	padding-block: 4px;
	background: var(--col-surface-2);
	color: var(--col-dim);
	font-family: var(--typ-base);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
	white-space: nowrap;
	transition: color var(--tm-swift) var(--crv-release);
}
.vestibule-zone__hop:hover,
.vestibule-zone__hop:focus-visible {
	background: var(--col-surface-2);
	color: var(--col-blend-a);
}
.vestibule-zone__hop[aria-current='page'] {
	background: var(--col-surface-2);
	color: var(--col-accent);
}

/* elenco «Mostra altro» (priority+) */
.vestibule-zone__more {
	display: none;
}
.vestibule-zone__more.is-shown {
	display: block;
}
.vestibule-zone__more-knob {
	display: block;
	padding: 4px 0;
	background: var(--col-surface-2);
	color: var(--col-dim);
	border: 0;
	font-family: var(--typ-base);
	font-size: 14px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
	white-space: nowrap;
	cursor: pointer;
}
.vestibule-zone__more-knob:hover {
	background: var(--col-surface-2);
	color: var(--col-blend-a);
}
.vestibule-zone__sheet {
	display: none;
	position: absolute;
	inset-inline-end: 0;
	inset-block-start: calc(100% + 10px);
	z-index: 90;
	min-width: 208px;
	max-height: 62vh;
	overflow-y: auto;
	list-style: none;
	margin: 0;
	padding: var(--st-2);
	background: var(--col-surface-2);
	border: var(--str-thin) solid var(--col-rule-bold);
	border-radius: var(--rad-4);
	box-shadow: var(--elev-6);
}
.vestibule-zone__sheet.is-open {
	display: block;
}
.vestibule-zone__sheet .vestibule-zone__entry::before {
	display: none;
}
.vestibule-zone__sheet .vestibule-zone__hop {
	padding: var(--st-2);
}

/* cassetto per schermi stretti */
.vestibule-zone__pane {
	display: none;
	position: absolute;
	inset-inline: var(--shl-edge);
	inset-block-start: calc(100% + 6px);
	z-index: 95;
	max-height: 70vh;
	overflow-y: auto;
	padding: var(--st-3);
	background: var(--col-surface-2);
	border: var(--str-thin) solid var(--col-rule-bold);
	border-radius: var(--rad-5);
	box-shadow: var(--elev-6);
}
.vestibule-zone__pane.is-open {
	display: block;
}
.vestibule-zone__pane-set {
	list-style: none;
	margin: 0;
	padding: 0;
	display: block;
}
.vestibule-zone__pane-entry {
	display: block;
	border-block-end: var(--str-thin) solid var(--col-stroke);
}
.vestibule-zone__pane-entry:last-child {
	border-block-end: 0;
}
.vestibule-zone__pane-hop {
	display: block;
	padding: 13px 4px;
	background: var(--col-surface-2);
	color: var(--col-dim);
	font-size: var(--fs-caption);
	font-weight: var(--fw-half);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}
.vestibule-zone__pane-hop:hover {
	background: var(--col-page);
	color: var(--col-blend-a);
}
.vestibule-zone__pane-hop[aria-current='page'] {
	background: var(--col-surface-2);
	color: var(--col-accent);
}

@media (max-width: 899px) {
	.vestibule-zone__knob {
		display: inline-flex;
	}
	.vestibule-zone__bar {
		display: none;
	}
	.vestibule-zone__shell-body {
		position: relative;
		gap: var(--st-3);
	}
	.vestibule-zone__img {
		height: 34px;
	}
	.vestibule-zone.is-shrunk .vestibule-zone__img {
		height: 30px;
	}
}
@media (min-width: 900px) {
	.vestibule-zone__pane {
		display: none !important;
	}
}
@media (max-width: 359px) {
	.vestibule-zone__note {
		display: none;
	}
	.vestibule-zone__knob {
		padding: 6px 10px;
	}
}

/* ---- 7. Briciole BREAD-04 (passi numerati) ----------------- */
.spire-true {
	display: block;
	background: var(--col-page);
	padding-block: var(--st-4);
}
.spire-true__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
}
.spire-true__set {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--st-3);
}
.spire-true__entry {
	display: flex;
	align-items: baseline;
	gap: var(--st-1);
}
.spire-true__entry + .spire-true__entry::before {
	content: '—';
	color: #6d7176;
	margin-inline-end: var(--st-3);
}
.spire-true__num {
	font-family: var(--typ-banner);
	font-weight: var(--fw-black);
	font-size: var(--fs-h6);
	color: var(--col-accent);
	margin-inline-end: var(--st-1);
}
.spire-true__hop {
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-caption);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}
.spire-true__hop:hover {
	background: var(--col-page);
	color: var(--col-blend-a);
}
.spire-true__here {
	color: var(--col-type);
	font-size: var(--fs-caption);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}

/* ---- 8. Primo schermo HERO-06 (immagine inclinata) --------- */
.antechamber-grand {
	display: block;
	background: var(--col-page);
	padding-block: var(--sec-y);
}
.antechamber-grand__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: var(--st-6);
	align-items: center;
}
.antechamber-grand__main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--st-3);
}
.antechamber-grand__eyebrow {
	display: block;
	background: var(--col-page);
	color: var(--col-accent);
	font-size: var(--fs-mini);
	font-weight: var(--fw-half);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}
.antechamber-grand__deck {
	max-width: var(--shl-tight);
	color: var(--col-dim);
	font-size: var(--fs-minor);
	line-height: var(--ln-normal);
}
.antechamber-grand__sub {
	display: block;
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-mini);
}
.antechamber-grand__figure {
	margin: 0;
	border-radius: var(--rad-5);
	overflow: hidden;
	box-shadow: var(--elev-5);
	transform: rotate(2deg);
	transition: transform var(--tm-calm) var(--crv-release);
}
.antechamber-grand__figure:hover {
	transform: rotate(0deg) scale(1.02);
}
.antechamber-grand__img {
	width: 100%;
	height: auto;
	display: block;
}
@media (max-width: 899px) {
	.antechamber-grand__shell-body {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--st-4);
	}
	.antechamber-grand__figure {
		transform: none;
		order: 2;
	}
	.antechamber-grand__main {
		order: 1;
	}
}

/* ---- 9. Intestazione di pagina PHEAD-07 (numero + titolo) -- */
.pier-bold {
	display: block;
	background: var(--col-page);
	padding-block: var(--sec-y);
}
.pier-bold__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: var(--st-5);
	align-items: start;
}
.pier-bold__num {
	align-self: start;
	font-family: var(--typ-banner);
	font-weight: var(--fw-black);
	font-size: calc(var(--fs-xxl) * 1.4);
	line-height: 1;
	color: var(--col-accent);
}
.pier-bold__main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--st-3);
}
.pier-bold__eyebrow {
	display: block;
	background: var(--col-page);
	color: var(--col-pillar);
	font-size: var(--fs-mini);
	font-weight: var(--fw-half);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}
.pier-bold__deck {
	color: var(--col-dim);
	font-size: var(--fs-minor);
	line-height: var(--ln-normal);
}
@media (max-width: 859px) {
	.pier-bold__shell-body {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--st-3);
	}
	.pier-bold__num {
		font-size: calc(var(--fs-xxl) * 1.1);
	}
}

/* ---- 10. Prosa PROSE-17 (filo sotto il titolo) ------------- */
.tribune-smart {
	display: block;
	background: var(--col-page);
	padding-block: var(--sec-y);
}
.tribune-smart__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
}
.tribune-smart__lede {
	margin-block-start: 0;
	margin-block-end: var(--st-3);
	padding-block-end: var(--st-2);
	border-block-end: var(--str-thin) solid var(--col-pillar);
	font-weight: var(--fw-black);
}
.tribune-smart__words {
	margin-block-end: var(--st-3);
	color: var(--col-dim);
	line-height: var(--ln-loose);
}
.tribune-smart__words:last-child {
	margin-block-end: 0;
}
.tribune-smart__set {
	margin: 0 0 var(--st-3);
	padding: 0;
	list-style: none;
	color: var(--col-dim);
}
.tribune-smart__entry {
	position: relative;
	padding-inline-start: var(--st-4);
	margin-block-end: var(--st-2);
	line-height: var(--ln-normal);
}
.tribune-smart__entry::before {
	content: '';
	position: absolute;
	inset-inline-start: 4px;
	inset-block-start: 0.72em;
	width: 7px;
	height: 7px;
	border-radius: var(--rad-2);
	background: var(--col-pillar);
}
.tribune-smart__ranked {
	counter-reset: passo;
	margin: 0 0 var(--st-3);
	padding: 0;
	list-style: none;
	color: var(--col-dim);
}
.tribune-smart__ranked .tribune-smart__entry {
	counter-increment: passo;
	padding-inline-start: var(--st-5);
}
.tribune-smart__ranked .tribune-smart__entry::before {
	content: counter(passo) '.';
	inset-inline-start: 0;
	inset-block-start: 0;
	width: auto;
	height: auto;
	border-radius: 0;
	background: var(--col-page);
	color: var(--col-accent);
	font-weight: var(--fw-black);
}
.tribune-smart__hop {
	background: var(--col-page);
	color: var(--col-ramp-end);
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 1px;
	transition: background-size var(--tm-base) var(--crv-release);
}
.tribune-smart__hop:hover,
.tribune-smart__hop:focus-visible {
	background-color: var(--col-page);
	color: var(--col-blend-a);
	background-size: 100% 1px;
}
.tribune-smart__figure {
	margin: var(--st-4) 0;
	max-width: 760px;
}
.tribune-smart__figure-tall {
	margin: var(--st-4) 0;
	max-width: 340px;
}
.tribune-smart__shot {
	width: 100%;
	height: auto;
	align-self: start;
	border-radius: var(--rad-5);
	border: var(--str-thin) solid var(--col-stroke);
	object-fit: contain;
}
.tribune-smart__caption-note {
	margin-block-start: var(--st-2);
	color: var(--col-dim);
	font-size: var(--fs-mini);
}

/* ---- 11. Griglia GRID-13 (schede con icona coerente) ------- */
.crest-dark {
	display: block;
	background: var(--col-page);
	padding-block: var(--sec-y);
}
.crest-dark__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
}
.crest-dark__lede {
	margin-block-end: var(--st-5);
}
.crest-dark__set {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--st-5);
}
.crest-dark__brick {
	display: block;
	padding: var(--st-5);
	background: var(--col-surface-2);
	border: var(--str-thin) solid var(--col-stroke);
	border-radius: var(--rad-4);
	color: var(--col-type);
	box-shadow: var(--elev-2);
	transition: box-shadow var(--tm-base) var(--crv-release);
}
.crest-dark__brick:hover {
	box-shadow: var(--elev-6);
}
.crest-dark__img {
	display: block;
	width: 32px;
	height: 32px;
	fill: var(--col-accent);
}
.crest-dark__hdr {
	margin-block-start: var(--st-3);
	font-size: var(--fs-minor);
	font-family: var(--typ-banner);
	color: var(--col-type);
}
.crest-dark__words {
	margin-block-start: var(--st-2);
	color: var(--col-dim);
	font-size: var(--fs-caption);
	line-height: var(--ln-normal);
}
@media (max-width: 1159px) {
	.crest-dark__set {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 859px) {
	.crest-dark__set {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--st-4);
	}
	.crest-dark__brick {
		padding: var(--st-4);
	}
}

/* ---- 12. Pareri REV-06 (elenco compatto con voto) ---------- */
.desk-pure {
	display: block;
	background: var(--col-page);
	padding-block: var(--sec-y);
}
.desk-pure__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
}
.desk-pure__lede {
	margin-block-end: var(--st-4);
}
.desk-pure__set {
	list-style: none;
	margin: 0;
	padding: 0;
	display: block;
}
.desk-pure__entry {
	display: block;
	padding-block: var(--st-4);
	border-block-end: var(--str-thin) solid var(--col-stroke);
}
.desk-pure__line {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--st-3);
	margin-block-end: var(--st-2);
}
.desk-pure__byname {
	background: var(--col-page);
	color: var(--col-type);
	font-weight: var(--fw-black);
}
.desk-pure__rate {
	background: var(--col-page);
	color: var(--col-accent);
	font-weight: var(--fw-half);
	white-space: nowrap;
}
.desk-pure__posted {
	margin-inline-start: auto;
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-mini);
}
.desk-pure__words {
	margin: 0;
	color: var(--col-dim);
	line-height: var(--ln-normal);
}
.desk-pure__words p {
	margin: 0;
}

/* ---- 13. Domande FAQ-02 (elenco sempre aperto) ------------- */
.medallion-flux {
	display: block;
	background: var(--col-page);
	padding-block: var(--sec-y);
}
.medallion-flux__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
}
.medallion-flux__lede {
	margin-block-end: var(--st-4);
}
.medallion-flux__set {
	display: block;
}
.medallion-flux__entry {
	display: block;
	padding-block: var(--st-4);
	border-block-end: var(--str-thin) solid var(--col-stroke);
}
.medallion-flux__summary {
	display: block;
	list-style: none;
	pointer-events: none;
	cursor: default;
}
.medallion-flux__summary::-webkit-details-marker {
	display: none;
}
.medallion-flux__summary::marker {
	content: '';
}
.medallion-flux__hdr {
	display: block;
	margin-block-end: var(--st-3);
	font-family: var(--typ-banner);
	font-weight: var(--fw-black);
	font-size: var(--fs-sub-2);
	color: var(--col-type);
}
.medallion-flux__words {
	display: block;
	color: var(--col-dim);
	line-height: var(--ln-loose);
}
.medallion-flux__words p {
	margin: 0;
}

/* ---- 14. Tabella TABLE-01 (righe a bande) ------------------ */
.parapet-edge {
	display: block;
	background: var(--col-page);
	padding-block: var(--sec-y);
}
.parapet-edge__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
}
.parapet-edge__lede {
	margin-block-end: var(--st-4);
}
.parapet-edge__scroll {
	overflow-x: auto;
	border-radius: var(--rad-4);
	border: var(--str-thin) solid var(--col-stroke);
}
.parapet-edge__grid {
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	background: var(--col-surface-2);
	color: var(--col-type);
	font-size: var(--fs-caption);
}
.parapet-edge__grid thead {
	background: var(--col-pillar);
}
.parapet-edge__grid th {
	padding: var(--st-4);
	background: var(--col-pillar);
	color: var(--col-page);
	font-family: var(--typ-base);
	font-weight: var(--fw-half);
	font-size: var(--fs-h6);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
	text-align: left;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
}
.parapet-edge__grid td {
	padding: var(--st-4);
	background: var(--col-surface-2);
	color: var(--col-dim);
	text-align: left;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
}
.parapet-edge__grid td:first-child {
	color: var(--col-type);
	font-weight: var(--fw-half);
}
.parapet-edge__grid tbody tr:nth-child(even) td {
	background: #212427;
}
.parapet-edge__grid tbody tr:hover td {
	background: #262a2e;
}
.parapet-edge__caption-note {
	margin-block-start: var(--st-3);
	color: var(--col-dim);
	font-size: var(--fs-mini);
}

/* ---- 15. Richiamo CTA-09 (occhiello + titolo + testo) ------ */
.porte-light {
	display: block;
	background: var(--col-page);
	padding-block: var(--sec-y);
}
.porte-light__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--st-3);
	text-align: left;
}
.porte-light__eyebrow {
	display: block;
	background: var(--col-page);
	color: var(--col-accent);
	font-size: var(--fs-mini);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}
.porte-light__lede {
	max-width: var(--shl-tight);
	color: var(--col-type);
}
.porte-light__words {
	max-width: var(--shl-tight);
	color: var(--col-dim);
	line-height: var(--ln-loose);
}
.porte-light__sub {
	display: block;
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-mini);
}
.porte-light__hop {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding-inline: var(--st-6);
	background: var(--col-surface-2);
	color: var(--col-accent);
	border: var(--str-medium) solid var(--col-accent);
	border-radius: var(--rad-4);
	font-family: var(--typ-banner);
	font-weight: var(--fw-half);
}
.porte-light__hop:hover {
	background: var(--col-accent);
	color: var(--col-page);
}

/* ---- 16. Richiamo nel flusso INLINE-CTA-07 ----------------- */
.keystone-grand {
	display: block;
	background: var(--col-page);
	padding-block: var(--sec-y);
}
.keystone-grand__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--st-3);
	text-align: center;
}
.keystone-grand__mark {
	display: block;
	background: var(--col-page);
	color: var(--col-accent);
	font-family: var(--typ-banner);
	font-size: var(--fs-xxl);
	line-height: 1;
}
.keystone-grand__hdr {
	max-width: var(--shl-tight);
	font-family: var(--typ-banner);
	font-size: var(--fs-sub);
	color: var(--col-type);
}
.keystone-grand__words {
	max-width: var(--shl-tight);
	color: var(--col-dim);
	line-height: var(--ln-normal);
}

/* richiamo compatto dentro griglia ed elenco pareri */
.keystone-grand-plug {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--st-3);
	padding: var(--st-5);
	background: var(--col-surface-2);
	border: var(--str-thin) solid var(--col-pillar);
	border-radius: var(--rad-4);
	color: var(--col-type);
}
.keystone-grand-plug__hdr {
	font-family: var(--typ-banner);
	font-size: var(--fs-minor);
	color: var(--col-type);
}
.keystone-grand-plug__words {
	color: var(--col-dim);
	font-size: var(--fs-caption);
	line-height: var(--ln-normal);
}

/* ---- 17. Sezione legale LEGAL-08 (essenziale) -------------- */
.trellis-solid {
	display: block;
	background: var(--col-page);
	padding-block: var(--st-6);
}
.trellis-solid__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
}
.trellis-solid__hdr {
	margin-block-start: var(--st-5);
	margin-block-end: var(--st-3);
	font-family: var(--typ-base);
	font-weight: var(--fw-black);
	font-size: var(--fs-sub);
	color: var(--col-type);
}
.trellis-solid__hdr:first-child {
	margin-block-start: 0;
}
.trellis-solid__words {
	margin-block-end: var(--st-3);
	color: var(--col-dim);
	line-height: var(--ln-loose);
}
.trellis-solid__set {
	margin: 0 0 var(--st-3);
	padding: 0;
	list-style: none;
	color: var(--col-dim);
}
.trellis-solid__entry {
	position: relative;
	padding-inline-start: var(--st-4);
	margin-block-end: var(--st-2);
	line-height: var(--ln-normal);
}
.trellis-solid__entry::before {
	content: '';
	position: absolute;
	inset-inline-start: 4px;
	inset-block-start: 0.72em;
	width: 7px;
	height: 7px;
	border-radius: var(--rad-2);
	background: var(--col-pillar);
}
.trellis-solid__fineprint {
	display: block;
	margin-block-start: var(--st-5);
	color: var(--col-dim);
	font-size: var(--fs-mini);
	line-height: var(--ln-normal);
}

/* ---- 18. Modulo FORM-04 (riga unica in linea) -------------- */
.glyph-swift {
	display: block;
	background: var(--col-page);
	padding-block: var(--st-5);
}
.glyph-swift__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
}
.glyph-swift__words {
	margin-block-end: var(--st-4);
	color: var(--col-dim);
	line-height: var(--ln-normal);
}
.glyph-swift__form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--st-3);
}
.glyph-swift__box {
	flex: 1 1 220px;
	display: flex;
	flex-direction: column;
	gap: var(--st-1);
}
.glyph-swift__box-wide {
	flex: 1 1 100%;
	display: flex;
	flex-direction: column;
	gap: var(--st-1);
}
.glyph-swift__note {
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-mini);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}
.glyph-swift__input {
	width: 100%;
	min-height: 48px;
	padding: var(--st-2) var(--st-3);
	background: var(--col-surface-2);
	color: var(--col-type);
	border: var(--str-thin) solid var(--col-rule-bold);
	border-radius: var(--rad-3);
	font-family: var(--typ-base);
	font-size: var(--fs-caption);
}
.glyph-swift__input:focus-visible {
	border-color: var(--col-accent);
}
.glyph-swift__area {
	width: 100%;
	min-height: 132px;
	padding: var(--st-2) var(--st-3);
	background: var(--col-surface-2);
	color: var(--col-type);
	border: var(--str-thin) solid var(--col-rule-bold);
	border-radius: var(--rad-3);
	font-family: var(--typ-base);
	font-size: var(--fs-caption);
	resize: vertical;
}
.glyph-swift__send {
	flex: 0 0 auto;
	min-height: 48px;
	padding-inline: var(--st-5);
	background: var(--col-accent);
	color: var(--col-page);
	border: 0;
	border-radius: var(--rad-3);
	font-family: var(--typ-banner);
	font-weight: var(--fw-half);
	font-size: var(--fs-caption);
	cursor: pointer;
}
.glyph-swift__send:hover {
	background: var(--col-action-down);
	color: var(--col-page);
}
.glyph-swift__hop {
	background: var(--col-page);
	color: var(--col-ramp-end);
	text-decoration: underline;
}
.glyph-swift__hop:hover {
	background: var(--col-page);
	color: var(--col-blend-a);
}
.glyph-swift__done {
	display: none;
	margin-block-start: var(--st-3);
	padding: var(--st-3);
	background: var(--col-surface-2);
	border: var(--str-thin) solid var(--col-accent);
	border-radius: var(--rad-3);
	color: var(--col-type);
	font-size: var(--fs-caption);
}
.glyph-swift__done.is-open {
	display: block;
}

/* ---- 19. Scheda autore AUTH-01 ----------------------------- */
.relief-edge {
	display: block;
	background: var(--col-page);
	padding-block: var(--st-6);
}
.relief-edge__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
}
.relief-edge__brick {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: var(--st-6);
	padding: var(--st-6) var(--st-5);
	background: var(--col-surface-2);
	border: var(--str-thin) solid var(--col-stroke);
	border-radius: var(--rad-5);
	color: var(--col-type);
	box-shadow: var(--elev-3);
}
.relief-edge__portrait {
	width: 160px;
	height: 160px;
	border-radius: var(--rad-circle);
	overflow: hidden;
	flex-shrink: 0;
	align-self: start;
}
.relief-edge__img {
	width: 160px;
	height: 160px;
	object-fit: cover;
	object-position: center top;
}
.relief-edge__main {
	display: flex;
	flex-direction: column;
	gap: var(--st-4);
}
.relief-edge__hat {
	background: var(--col-surface-2);
	color: var(--col-accent);
	font-family: var(--typ-base);
	font-weight: var(--fw-half);
	font-size: var(--fs-caption);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}
.relief-edge__byname {
	font-family: var(--typ-banner);
	font-weight: var(--fw-black);
	font-size: var(--fs-display-2);
	color: var(--col-type);
}
.relief-edge__words {
	color: var(--col-dim);
	line-height: var(--ln-loose);
}
.relief-edge__set {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--st-2);
}
.relief-edge__entry {
	display: block;
	padding: var(--st-1) var(--st-3);
	background: var(--col-pillar);
	color: var(--col-page);
	border-radius: var(--rad-lozenge);
	font-size: var(--fs-mini);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}
.relief-edge__filed {
	margin-block-start: var(--st-5);
}
.relief-edge__filed-hdr {
	font-family: var(--typ-base);
	font-weight: var(--fw-black);
	font-size: var(--fs-sub-2);
	color: var(--col-type);
	margin-block-end: var(--st-3);
}
.relief-edge__filed-set {
	list-style: none;
	margin: 0;
	padding: 0;
	display: block;
	color: var(--col-dim);
}
.relief-edge__filed-entry {
	display: block;
	padding-block: var(--st-2);
	border-block-end: var(--str-thin) solid var(--col-stroke);
	font-size: var(--fs-caption);
	line-height: var(--ln-normal);
}
@media (max-width: 859px) {
	.relief-edge__brick {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		text-align: center;
		gap: var(--st-4);
	}
	.relief-edge__portrait {
		width: 120px;
		height: 120px;
	}
	.relief-edge__img {
		width: 120px;
		height: 120px;
	}
	.relief-edge__set {
		justify-content: center;
	}
}

/* ---- 20. Firma BYLINE-01 (in coda all'articolo) ------------ */
.turret-fresh {
	display: block;
	background: var(--col-page);
	padding-block: var(--st-4);
}
.turret-fresh__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
	display: flex;
	align-items: center;
	gap: var(--st-3);
}
.turret-fresh__portrait {
	display: block;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	border-radius: var(--rad-circle);
	overflow: hidden;
}
.turret-fresh__img {
	width: 48px;
	height: 48px;
	object-fit: cover;
	object-position: center top;
}
.turret-fresh__main {
	display: block;
}
.turret-fresh__words {
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-caption);
	line-height: 1.5;
}
.turret-fresh__hop {
	background: var(--col-page);
	color: var(--col-ramp-end);
	text-decoration: underline;
}
.turret-fresh__hop:hover {
	background: var(--col-page);
	color: var(--col-blend-a);
}
.turret-fresh__hat {
	margin-block-start: var(--st-1);
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-mini);
	font-style: italic;
	line-height: 1.5;
}

/* ---- 21. Pagina 404 — ERR-01 ------------------------------- */
.comptoir-true {
	display: block;
	background: var(--col-page);
	padding-block: var(--st-8);
}
.comptoir-true__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--st-5);
	text-align: center;
}
.comptoir-true__digits {
	display: block;
	background: var(--col-page);
	color: var(--col-accent);
	font-family: var(--typ-banner);
	font-weight: var(--fw-black);
	font-size: clamp(80px, 18vw, 200px);
	line-height: var(--ln-close);
}
.comptoir-true__lede {
	max-width: var(--shl-tight);
}
.comptoir-true__words {
	max-width: var(--shl-tight);
	color: var(--col-dim);
	font-size: var(--fs-minor);
	line-height: var(--ln-normal);
}
.comptoir-true__hop {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding-inline: var(--st-6);
	background: var(--col-accent);
	color: var(--col-page);
	border-radius: var(--rad-4);
	font-family: var(--typ-banner);
	font-weight: var(--fw-black);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}
.comptoir-true__hop:hover {
	background: var(--col-action-down);
	color: var(--col-page);
}

/* ---- 22. Piede FOOT-10 (fasce con molti dettagli) ---------- */
.etabli-signal {
	display: block;
	flex-shrink: 0;
	background: var(--col-page);
	padding-block: var(--st-7) var(--st-5);
	border-block-start: var(--str-thin) solid var(--col-stroke);
}
.etabli-signal__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--shl-edge);
}
.etabli-signal__crest {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--st-4);
	padding-block: var(--st-5);
	border-block-end: var(--str-thin) solid #ffffff14;
}
.etabli-signal__sign {
	display: block;
	line-height: 0;
	flex-shrink: 0;
}
.etabli-signal__img {
	display: block;
	height: 42px;
	width: auto;
	mix-blend-mode: screen;
}
.etabli-signal__creed {
	max-width: 620px;
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-caption);
	line-height: var(--ln-normal);
}
.etabli-signal__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--st-5);
	padding-block: var(--st-6);
	border-block-end: var(--str-thin) solid #ffffff14;
}
.etabli-signal__side {
	display: block;
}
.etabli-signal__hdr {
	margin-block-end: var(--st-3);
	font-family: var(--typ-base);
	font-weight: var(--fw-black);
	font-size: var(--fs-h6);
	color: var(--col-type);
	text-transform: uppercase;
	letter-spacing: var(--tr-spread);
}
.etabli-signal__set {
	list-style: none;
	margin: 0;
	padding: 0;
	display: block;
}
.etabli-signal__entry {
	display: block;
	margin-block-end: var(--st-2);
}
.etabli-signal__hop {
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-caption);
}
.etabli-signal__hop:hover {
	background: var(--col-page);
	color: var(--col-blend-a);
}
.etabli-signal__words {
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-caption);
	line-height: var(--ln-normal);
}
.etabli-signal__caveat .etabli-signal__hop {
	font-size: inherit;
}
.etabli-signal__caveat {
	padding-block: var(--st-4);
	border-block-end: var(--str-thin) solid #ffffff14;
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-mini);
	line-height: var(--ln-normal);
}
.etabli-signal__line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--st-3);
	padding-block: var(--st-4);
}
.etabli-signal__sub {
	background: var(--col-page);
	color: var(--col-dim);
	font-size: var(--fs-mini);
}
.etabli-signal__lawset {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--st-3);
}
@media (max-width: 859px) {
	.etabli-signal__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--st-4);
	}
	.etabli-signal {
		padding-block: var(--st-6) var(--st-4);
	}
}

/* ---- 23. Fascia cookie COOK-02 (striscia in basso) --------- */
.pavillon-apex {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 90;
	padding: var(--st-4) var(--shl-edge);
	background: var(--col-pillar);
	border-block-start: var(--str-thin) solid #ffffff14;
	opacity: 0;
	transition: opacity var(--tm-base) var(--crv-release);
}
.pavillon-apex.is-open {
	display: block;
	opacity: 1;
}
.pavillon-apex__shell-body {
	max-width: calc(var(--shl-full) + 2 * var(--shl-padding-desktop));
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--st-4);
}
.pavillon-apex__message {
	flex: 1 1 320px;
	background: var(--col-pillar);
	color: #180c01;
	font-size: var(--fs-caption);
	line-height: 1.5;
}
.pavillon-apex__buttons {
	flex-shrink: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--st-3);
}
.pavillon-apex__yes,
.pavillon-apex__later {
	min-height: 44px;
	padding-inline: var(--st-4);
	border-radius: var(--rad-3);
	font-family: var(--typ-base);
	font-size: var(--fs-mini);
	font-weight: var(--fw-half);
	cursor: pointer;
}
.pavillon-apex__yes {
	background: var(--col-page);
	color: var(--col-type);
	border: var(--str-thin) solid var(--col-page);
}
.pavillon-apex__yes:hover {
	background: #000000;
	color: var(--col-accent);
}
.pavillon-apex__later {
	background: var(--col-pillar);
	color: #180c01;
	border: var(--str-medium) solid #180c01;
}
.pavillon-apex__later:hover {
	background: #180c01;
	color: var(--col-blend-a);
}
@media (max-width: 720px) {
	.pavillon-apex {
		padding: 12px 14px;
	}
	.pavillon-apex__shell-body {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}
	.pavillon-apex__message {
		flex: 0 1 auto;
		font-size: 13px;
		line-height: 1.35;
	}
	.pavillon-apex__buttons {
		flex-wrap: nowrap;
		gap: 8px;
	}
	.pavillon-apex__yes,
	.pavillon-apex__later {
		flex: 1 1 auto;
		min-height: 36px;
		padding-inline: 14px;
		font-size: 12px;
	}
}

/* ---- 24. Geometria dei pulsanti d'offerta ------------------ */
.antechamber-grand__push,
.porte-light__push,
.keystone-grand__push,
.keystone-grand-plug__push {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding-inline: var(--st-5);
	border-radius: var(--rad-4);
	font-family: var(--typ-banner);
	font-weight: var(--fw-black);
	text-align: center;
	text-decoration: none;
}
.antechamber-grand__push.pilastro-act,
.porte-light__push.pilastro-act,
.keystone-grand__push.pilastro-act,
.keystone-grand-plug__push.pilastro-act {
	min-height: 52px;
	padding-inline: var(--st-5);
	line-height: 1.25;
}
@media (max-width: 579px) {
	.antechamber-grand__push,
	.porte-light__push,
	.keystone-grand__push,
	.keystone-grand-plug__push {
		width: 100%;
	}
}

/* ---- 25. Utilità ------------------------------------------- */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition-duration: 1ms !important;
	}
}

/* ---- 26. Pulsante d'offerta (scripts/cta-style-anim.mjs) ---- */
.pilastro-act{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--st-6);min-height:52px;border-radius:var(--rad-4);font-weight:var(--fw-black);letter-spacing:var(--tr-spread)}
.pilastro-act{position:relative;
  background:#7C3AED;color:#FFFFFF;text-decoration:none;text-transform:uppercase;
  transition:background var(--tm-swift) var(--crv-release);}
.pilastro-act.pilastro-act{color:#FFFFFF;text-decoration:none;}
.pilastro-act:hover{background:#6D28D9;color:#FFFFFF;animation:none}
.pilastro-act.pilastro-act:hover{color:#FFFFFF;text-decoration:none}
.pilastro-act:hover::after{animation:none}
.pilastro-act:active{background:#5B21B6;color:#FFFFFF}
.pilastro-act:focus-visible{outline:3px solid var(--col-accent);outline-offset:3px}
@keyframes pilastro-pulse{0%,100%{transform:scaleX(0)}40%,60%{transform:scaleX(1)}}
.pilastro-act::after{content:"";position:absolute;left:12%;right:12%;bottom:6px;height:2px;background:currentColor;opacity:.5;transform-origin:left;animation:pilastro-pulse 1.3s cubic-bezier(.15,.60,.55,1) infinite}
@media (prefers-reduced-motion:reduce){.pilastro-act,.pilastro-act::after{animation:none!important;transition:none!important}}

@media (max-width: 912px) {
  .vestibule-zone__bar,
  .vestibule-zone__set,
  .vestibule-zone__hop { display: none !important; }
  .vestibule-zone__knob { display: flex !important; }
}
