/*
 * ASR Quiz Patente – sito pubblico "Raso Brooklyn" (DESIGN-V2 §3–§11).
 * Tutto è confinato in .asr-site: nessuna regola tocca il tema fuori dalla radice.
 * Misure in px: i temi possono cambiare la dimensione di base di <html> (es. 62.5%).
 *
 * Regola del petrolio (DESIGN-V2 §4.1):
 *   #014359 (--asr-brand-petrol)       SOLO superfici e decorazioni (1.85:1 su nero: mai testo/bordi/focus).
 *   #3A8BA6 (--asr-brand-petrol-line)  linee, bordi di elementi selezionati, numeri ≥24px (4.68–5.14:1).
 *   #6FB0C6 (--asr-brand-petrol-light) testo, icone, link e anello di focus su scuro (≥7.5:1 su #141618).
 *   #8CC4D6 (--asr-brand-petrol-hero)  parola accento dell'hero sopra foto o video (scrim ≥ 0.70).
 *   Sopra il petrolio pieno si scrive solo in bianco (10.78:1).
 */

/* ------------------------------------------------------------------ */
/* 1. Token                                                            */
/* ------------------------------------------------------------------ */
.asr-site {
	--asr-brand-petrol: #014359;
	--asr-brand-petrol-hover: #025A75;
	--asr-brand-petrol-line: #3A8BA6;
	--asr-brand-petrol-light: #6FB0C6;
	--asr-brand-petrol-hero: #8CC4D6;
	--asr-brand-ink: #080808;

	--asr-color-bg: #090909;
	--asr-color-bg-deep: #080808;
	--asr-color-surface: #141618;
	--asr-color-surface-2: #1B1E21;
	--asr-color-surface-3: #23272B;
	--asr-color-border: #2A2E33;
	--asr-color-border-strong: #6B7177;
	--asr-color-heading: #FFFFFF;
	--asr-color-text: #E6E6E6;
	--asr-color-text-muted: #A3A3A3;
	--asr-color-accent: var(--asr-brand-petrol-line);
	--asr-color-accent-text: var(--asr-brand-petrol-light);
	--asr-color-accent-soft: #0C2630;
	--asr-color-link: var(--asr-brand-petrol-light);
	--asr-color-warning: #E8B65A;
	--asr-color-warning-soft: #2B2211;
	--asr-color-info: #8CC4D6;
	--asr-color-info-soft: #0C2630;
	--asr-color-focus: var(--asr-brand-petrol-light);
	--asr-color-overlay: rgba(0, 0, 0, 0.75);
	--asr-color-media-bg: #FFFFFF;
	--asr-hero-bg: #141618;
	--asr-pattern-diagonal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' shape-rendering='crispEdges'%3E%3Cpath fill-opacity='.7' d='M0 0h1v1H0zm1 1h1v1H1zm1 1h1v1H2zm1 1h1v1H3z'/%3E%3Cpath fill-opacity='.35' d='M2 0h1v1H2zm1 1h1v1H3zM0 2h1v1H0zm1 1h1v1H1z'/%3E%3C/svg%3E");

	--asr-font-brand: "ASR Raleway", Raleway, "Helvetica Neue", Arial, system-ui, sans-serif;
	--asr-text-xs: 12px;
	--asr-text-sm: 14px;
	--asr-text-md: 16px;
	--asr-text-lg: 18px;
	--asr-text-xl: 20px;
	--asr-text-2xl: 24px;
	--asr-text-label: 13px;
	--asr-text-lead: clamp(17px, 15.7px + 0.4vw, 20px);
	--asr-text-section: clamp(32px, 21.6px + 2.6vw, 50px);
	--asr-text-page: clamp(34px, 20px + 3.2vw, 60px);
	--asr-text-hero: clamp(40px, 19.2px + 5.4vw, 80px);
	--asr-tracking-caps: 0.2em;
	--asr-tracking-label: 0.16em;
	--asr-tracking-wide: 0.25em;
	--asr-transform-display: uppercase;

	--asr-gutter: 16px;
	--asr-container-wide: 1280px;
	--asr-measure: 68ch;
	--asr-sidebar-w: 288px;
	--asr-section-y: clamp(72px, 48px + 5vw, 120px);
	--asr-header-h: 64px;
	--asr-btn-h: 48px;
	--asr-btn-h-lg: 56px;
	--asr-site-offset: 0px;

	--asr-ease: cubic-bezier(0.215, 0.61, 0.355, 1);
	--asr-ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
	--asr-ease-reveal: cubic-bezier(0.39, 0.58, 0.57, 1);
	--asr-dur-fast: 200ms;
	--asr-dur-base: 300ms;
	--asr-dur-slow: 450ms;
	--asr-dur-reveal: 600ms;
	--asr-reveal-shift: 24px;

	color-scheme: dark;
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
	background: var(--asr-color-bg);
	color: var(--asr-color-text);
	font-family: var(--asr-font-brand);
	font-size: var(--asr-text-md);
	font-weight: 400;
	font-variant-numeric: lining-nums;
	line-height: 1.7;
	letter-spacing: normal;
	text-align: left;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

@media (min-width: 768px) {
	.asr-site { --asr-gutter: 24px; }
}
@media (min-width: 1024px) {
	.asr-site { --asr-gutter: 40px; --asr-header-h: 80px; }
}

/* ------------------------------------------------------------------ */
/* 2. Reset confinato (specificità minima, i componenti vincono)       */
/* Il quiz di prova (.asr-trial, asr-trial.css) ha il suo reset: qui resta escluso, a specificità invariata. */
/* ------------------------------------------------------------------ */
.asr-site *,
.asr-site *::before,
.asr-site *::after { box-sizing: border-box; }
.asr-site :where(h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, figure, figcaption, blockquote, address, table, th, td, details, summary):where(:not(.asr-trial *)) {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	background: none;
}
.asr-site :where(ul, ol):where(:not(.asr-trial *)) { list-style: none; }
.asr-site :where(a):where(:not(.asr-trial *)) { color: inherit; text-decoration: none; background: none; box-shadow: none; }
.asr-site :where(img, svg, video):where(:not(.asr-trial *)) { display: block; max-width: 100%; height: auto; }
.asr-site :where(button):where(:not(.asr-trial *)) { font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; text-transform: inherit; letter-spacing: inherit; box-shadow: none; border-radius: 0; min-height: 0; line-height: inherit; }
.asr-site :where(strong, b):where(:not(.asr-trial *)) { font-weight: 700; color: var(--asr-color-heading); }
.asr-site :where(address):where(:not(.asr-trial *)) { font-style: normal; }
.asr-site ::selection { background: var(--asr-brand-petrol); color: #FFFFFF; }
.asr-site :where(a, button, summary, [tabindex]):where(:not(.asr-trial *)):focus-visible {
	outline: 2px solid var(--asr-color-focus);
	outline-offset: 2px;
	box-shadow: none;
}
.asr-site--page { min-height: 50vh; padding-top: var(--asr-site-offset); }
.asr-site--contained { max-width: var(--asr-container-wide); margin-inline: auto; }
.asr-site--page.asr-site--full:not(.asr-site--standalone) {
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
}
body.asr-site-page { overflow-x: clip; }
body.asr-site-standalone { margin: 0; background: #090909; }
html:has(.asr-site--page) { scroll-padding-top: calc(var(--asr-site-offset, 0px) + 96px); }

.asr-site-icon { flex: none; width: auto; height: 1em; font-size: inherit; }
.asr-site .asr-site-icon { width: 20px; height: 20px; }
.asr-site svg.asr-site-icon[width="16"] { width: 16px; height: 16px; }
.asr-site svg.asr-site-icon[width="18"] { width: 18px; height: 18px; }
.asr-site svg.asr-site-icon[width="24"] { width: 24px; height: 24px; }
.asr-site svg.asr-site-icon[width="32"] { width: 32px; height: 32px; }
.asr-site svg.asr-site-icon[width="48"] { width: 48px; height: 48px; }

/* ------------------------------------------------------------------ */
/* 3. Utilità                                                          */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.asr-site .asr-site-skip {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 1200;
	padding: 12px 20px;
	background: #FFFFFF;
	color: #080808;
	font-weight: 700;
	transform: translateY(-200%);
}
.asr-site .asr-site-skip:focus { transform: none; }
.asr-site .asr-site-container {
	width: 100%;
	max-width: var(--asr-container-wide);
	margin-inline: auto;
	padding-inline: var(--asr-gutter);
}
.asr-site .asr-site-anchor { display: block; height: 0; outline: 0; }
.asr-site .asr-site-small { font-size: var(--asr-text-sm); line-height: 1.6; color: var(--asr-color-text-muted); }
.asr-site .asr-site-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--asr-color-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
	transition: color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-link:hover { color: #FFFFFF; }
.asr-site .asr-site-back { margin-top: 40px; }

/* Ingresso delle sezioni: nascoste solo quando il JS è attivo (classe aggiunta da asr-site.js). */
.asr-site.asr-site-js [data-asr-reveal]:not(.is-revealed) {
	opacity: 0;
	transform: translateY(var(--asr-reveal-shift));
}
.asr-site [data-asr-reveal] {
	transition: opacity var(--asr-dur-reveal) var(--asr-ease-reveal), transform var(--asr-dur-reveal) var(--asr-ease-reveal);
}

/* ------------------------------------------------------------------ */
/* 4. Tipografia di sezione                                            */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-eyebrow {
	margin: 0 0 14px;
	font-size: var(--asr-text-xs);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--asr-tracking-caps);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-accent-text);
}
.asr-site .asr-site-title {
	font-size: var(--asr-text-section);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.01em;
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-heading);
	text-wrap: balance;
}
.asr-site .asr-site-title--sm { font-size: clamp(24px, 18px + 1.2vw, 32px); }
.asr-site .asr-site-rule {
	display: block;
	width: 30px;
	height: 2px;
	margin-top: 18px;
	background: #FFFFFF;
}
.asr-site .asr-site-lead {
	max-width: 60ch;
	margin-top: 24px;
	font-size: var(--asr-text-lead);
	line-height: 1.5;
	color: var(--asr-color-text-muted);
	text-wrap: pretty;
}
.asr-site .asr-site-head { margin-bottom: clamp(40px, 28px + 3vw, 64px); }
.asr-site .asr-site-head--center { text-align: center; }
.asr-site .asr-site-head--center .asr-site-rule,
.asr-site .asr-site-head--center .asr-site-lead { margin-inline: auto; }

/* ------------------------------------------------------------------ */
/* 5. Sezioni e griglie                                                */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-section { position: relative; padding-block: var(--asr-section-y); background: var(--asr-color-bg); }
.asr-site .asr-site-section--alt { background: var(--asr-color-surface); }
.asr-site .asr-site-section--tight { padding-block: clamp(40px, 32px + 2vw, 64px); }
.asr-site .asr-site-section--band { padding-block: calc(var(--asr-section-y) / 2); }
.asr-site .asr-site-section--base + .asr-site-section--base,
.asr-site .asr-site-section--alt + .asr-site-section--alt { padding-top: 0; }
.asr-site .asr-site-section__foot { margin-top: clamp(40px, 32px + 2vw, 56px); }

.asr-site .asr-site-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
@media (min-width: 768px) {
	.asr-site .asr-site-grid--cards,
	.asr-site .asr-site-grid--paths { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.asr-site .asr-site-grid { gap: 32px; }
	.asr-site .asr-site-grid--cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
	.asr-site .asr-site-grid--paths { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.asr-site .asr-site-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.asr-site .asr-site-actions--center { justify-content: center; }
.asr-site .asr-site-actions--stack { flex-direction: column; align-items: stretch; gap: 12px; }

/* ------------------------------------------------------------------ */
/* 6. Pulsanti (§9.1)                                                  */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: var(--asr-btn-h);
	padding: 0 32px;
	border: 2px solid transparent;
	border-radius: 0;
	background-color: transparent;
	background-image: linear-gradient(var(--asr-brand-petrol), var(--asr-brand-petrol));
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 0 100%;
	color: var(--asr-color-heading);
	font-family: var(--asr-font-brand);
	font-size: var(--asr-text-label);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: var(--asr-tracking-label);
	text-transform: var(--asr-transform-display);
	text-decoration: none;
	text-align: center;
	white-space: normal;
	cursor: pointer;
	box-shadow: none;
	transition: background-color var(--asr-dur-base) var(--asr-ease), background-size var(--asr-dur-base) var(--asr-ease), border-color var(--asr-dur-base) var(--asr-ease), color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-btn:active { transform: translateY(1px); }
.asr-site .asr-site-btn__icon { width: 20px; height: 20px; transition: transform var(--asr-dur-fast) var(--asr-ease); }
.asr-site .asr-site-btn:hover .asr-site-btn__icon:last-child { transform: translateX(4px); }
.asr-site .asr-site-btn:hover .asr-site-btn__icon:first-child:not(:last-child) { transform: none; }

.asr-site .asr-site-btn--primary {
	background-color: var(--asr-brand-petrol);
	border-color: var(--asr-brand-petrol-line);
	color: #FFFFFF;
}
.asr-site .asr-site-btn--primary:hover { background-color: var(--asr-brand-petrol-hover); border-color: var(--asr-brand-petrol-light); color: #FFFFFF; }

.asr-site .asr-site-btn--outline { border-color: var(--asr-color-heading); }
.asr-site .asr-site-btn--outline:hover { background-color: rgba(255, 255, 255, 0.05); color: var(--asr-color-heading); }

.asr-site .asr-site-btn--cta,
.asr-site .asr-site-btn--whatsapp {
	min-height: var(--asr-btn-h-lg);
	padding: 0 2.5em;
	border-color: var(--asr-color-heading);
}
.asr-site .asr-site-btn--cta:hover,
.asr-site .asr-site-btn--whatsapp:hover { background-size: 100% 100%; color: #FFFFFF; }

.asr-site .asr-site-btn--ghost {
	min-height: 44px;
	padding: 0 4px;
	color: var(--asr-color-accent-text);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.5em;
}
.asr-site .asr-site-btn--ghost:hover { color: var(--asr-color-heading); }

.asr-site .asr-site-btn--sm { min-height: 40px; padding: 0 20px; }
.asr-site .asr-site-btn--lg { min-height: var(--asr-btn-h-lg); }
.asr-site .asr-site-btn--block { display: flex; width: 100%; }

/* ------------------------------------------------------------------ */
/* 7. Targa patente (§9.5)                                             */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-plates { display: inline-flex; flex-wrap: wrap; gap: 8px; }
.asr-site .asr-site-plate {
	--asr-plate-h: 36px;
	display: inline-flex;
	align-items: stretch;
	height: var(--asr-plate-h);
	background: #FFFFFF;
	color: #080808;
	box-shadow: inset 0 0 0 2px #080808, 0 0 0 1px rgba(255, 255, 255, 0.35);
	font-family: var(--asr-font-brand);
	font-weight: 800;
	font-variant-numeric: lining-nums;
	line-height: 1;
	letter-spacing: 0.04em;
	white-space: nowrap;
}
.asr-site .asr-site-plate__band { width: calc(var(--asr-plate-h) * 0.28); background: var(--asr-brand-petrol); border: 2px solid #080808; border-right: 0; }
.asr-site .asr-site-plate__code {
	display: inline-flex;
	align-items: center;
	padding: 0 calc(var(--asr-plate-h) * 0.3) 0 calc(var(--asr-plate-h) * 0.24);
	font-size: calc(var(--asr-plate-h) * 0.5);
	color: #080808;
}
.asr-site .asr-site-plate--sm { --asr-plate-h: 28px; }
.asr-site .asr-site-plate--lg { --asr-plate-h: 56px; }
@media (min-width: 768px) {
	.asr-site .asr-site-plate--lg { --asr-plate-h: 64px; }
}

/* ------------------------------------------------------------------ */
/* 8. Card (§9.4)                                                      */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
	padding: 24px;
	background: var(--asr-color-surface);
	border: 1px solid var(--asr-color-border);
	color: var(--asr-color-text);
	transition: background-color var(--asr-dur-base) var(--asr-ease), border-color var(--asr-dur-base) var(--asr-ease), opacity var(--asr-dur-reveal) var(--asr-ease-reveal), transform var(--asr-dur-reveal) var(--asr-ease-reveal);
}
@media (min-width: 768px) {
	.asr-site .asr-site-card { padding: 32px; }
}
.asr-site .asr-site-section--alt .asr-site-card { background: var(--asr-color-bg); }
.asr-site .asr-site-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.asr-site .asr-site-card__tag {
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-label);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-text-muted);
}
.asr-site .asr-site-card__title {
	font-size: var(--asr-text-xl);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-heading);
}
.asr-site .asr-site-card__link { color: inherit; text-decoration: none; }
.asr-site .asr-site-card--link .asr-site-card__link::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.asr-site .asr-site-card--link .asr-site-card__link:focus-visible { outline: 0; }
.asr-site .asr-site-card--link:has(.asr-site-card__link:focus-visible) { outline: 2px solid var(--asr-color-focus); outline-offset: 2px; }
.asr-site .asr-site-card__text { color: var(--asr-color-text-muted); line-height: 1.6; }
.asr-site .asr-site-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--asr-color-border);
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-label);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-accent-text);
	font-variant-numeric: lining-nums tabular-nums;
}
.asr-site .asr-site-card__arrow { color: var(--asr-color-heading); transition: transform var(--asr-dur-fast) var(--asr-ease); }
.asr-site .asr-site-card--link:hover { background: var(--asr-color-surface-3); border-color: var(--asr-color-border-strong); }
.asr-site .asr-site-card--link:hover .asr-site-card__arrow { transform: translateX(4px); }

/* Card copertina 4:5 dei percorsi */
.asr-site .asr-site-card--cover {
	padding: 0;
	min-height: 360px;
	overflow: hidden;
	justify-content: flex-end;
	background: #101214;
}
@media (min-width: 768px) {
	.asr-site .asr-site-card--cover { aspect-ratio: 4 / 5; min-height: 0; }
}
.asr-site .asr-site-card__art { position: absolute; inset: 0; }
.asr-site .asr-site-card__art .asr-site-art { width: 100%; height: 100%; transition: transform 1200ms var(--asr-ease); }
.asr-site .asr-site-card--cover:hover .asr-site-art { transform: scale(1.04); }
.asr-site .asr-site-card__art::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(8, 8, 8, 0.92) 8%, rgba(8, 8, 8, 0.2) 65%, transparent);
}
.asr-site .asr-site-card__body { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 28px; }
.asr-site .asr-site-card--cover .asr-site-card__title { font-size: clamp(20px, 17px + 0.6vw, 24px); }
.asr-site .asr-site-card--cover .asr-site-card__meta { border-top-color: rgba(255, 255, 255, 0.14); }
.asr-site .asr-site-card--cover:hover { background: #101214; }

/* ------------------------------------------------------------------ */
/* 9. Hero (§10.3) e testate delle pagine                              */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 60% at 85% 10%, rgba(1, 67, 89, 0.55), transparent 70%),
		radial-gradient(ellipse 50% 50% at 0% 100%, rgba(1, 67, 89, 0.25), transparent 70%),
		var(--asr-hero-bg);
	color: #FFFFFF;
	--asr-color-focus: var(--asr-brand-petrol-light);
}
.asr-site .asr-site-hero--full { min-height: 100svh; padding-block: calc(var(--asr-header-h) + 40px) 120px; }
.asr-site .asr-site-hero--compact { min-height: 360px; padding-block: 48px 56px; }
@media (min-width: 1024px) {
	.asr-site .asr-site-hero--full { align-items: center; }
	.asr-site .asr-site-hero--compact { min-height: 440px; padding-block: 64px 72px; }
}
.asr-site .asr-site-hero__media { position: absolute; inset: 0; z-index: -2; }
.asr-site .asr-site-hero__media img,
.asr-site .asr-site-hero__media video { width: 100%; height: 100%; max-width: none; object-fit: cover; }
.asr-site .asr-site-hero__scrim {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: rgba(8, 8, 8, var(--asr-site-overlay, 0));
}
.asr-site .asr-site-hero__scrim--pattern {
	background-image: var(--asr-pattern-diagonal);
	background-size: 4px 4px;
	background-repeat: repeat;
	image-rendering: pixelated;
}
.asr-site .asr-site-hero--media .asr-site-hero__scrim::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(8, 8, 8, 0.85), transparent 60%);
}
.asr-site .asr-site-hero__inner { position: relative; text-shadow: 0 2px 24px rgba(0, 0, 0, 0.5); }
.asr-site .asr-site-hero__eyebrow {
	margin-bottom: 24px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: var(--asr-tracking-wide);
	text-transform: var(--asr-transform-display);
	color: #FFFFFF;
}
@media (min-width: 768px) {
	.asr-site .asr-site-hero__eyebrow { font-size: 14px; }
}
.asr-site .asr-site-hero .asr-site-eyebrow { color: var(--asr-brand-petrol-hero); }
.asr-site .asr-site-hero__title {
	font-size: var(--asr-text-hero);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0.01em;
	text-transform: var(--asr-transform-display);
	color: #FFFFFF;
}
.asr-site .asr-site-hero__title--page { font-size: var(--asr-text-page); line-height: 1.15; text-wrap: balance; }
.asr-site .asr-site-hero__plates { margin-bottom: 24px; }
/* Barre verticali ai lati del titolo hero: firma del sito reale (Brooklyn hero style 9), solo da tablet in su. */
@media (min-width: 768px) {
	.asr-site .asr-site-hero__bars {
		display: inline;
		padding: 0 0.2em;
		border-left: 4px solid #FFFFFF;
		border-right: 4px solid #FFFFFF;
		-webkit-box-decoration-break: clone;
		box-decoration-break: clone;
	}
}
.asr-site .asr-site-hero__accent {
	color: var(--asr-brand-petrol-hero);
	text-decoration: underline;
	text-decoration-color: var(--asr-brand-petrol);
	text-decoration-thickness: 0.12em;
	text-underline-offset: 0.12em;
}
.asr-site .asr-site-hero__lead {
	max-width: 60ch;
	margin-top: 24px;
	font-size: var(--asr-text-lead);
	line-height: 1.5;
	color: #E6E6E6;
}
.asr-site .asr-site-hero__actions { margin-top: 40px; }
.asr-site .asr-site-hero .asr-site-btn--ghost { color: #FFFFFF; }
.asr-site .asr-site-hero__down {
	position: absolute;
	left: 50%;
	bottom: 40px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-left: -22px;
	color: #FFFFFF;
	opacity: 0.8;
	transition: opacity var(--asr-dur-base) var(--asr-ease), transform var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-hero__down:hover { opacity: 1; transform: translateY(4px); }
.asr-site .asr-site-hero__pause {
	position: absolute;
	right: var(--asr-gutter);
	bottom: 40px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255, 255, 255, 0.6);
	color: #FFFFFF;
	background: rgba(8, 8, 8, 0.35);
	transition: background-color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-hero__pause:hover { background: rgba(255, 255, 255, 0.1); }
.asr-site .asr-site-hero__pause-icon { display: grid; place-items: center; }
.asr-site .asr-site-hero__pause-icon[hidden] { display: none; }

/* Rotazione: tutte le frasi nella stessa cella, nessuno spostamento del layout. */
.asr-site .asr-site-rotator { display: grid; }
.asr-site .asr-site-rotator__item {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity 400ms var(--asr-ease-in-out), visibility 0s linear 400ms;
}
.asr-site .asr-site-rotator__item.is-active { opacity: 1; visibility: visible; transition: opacity 400ms var(--asr-ease-in-out), visibility 0s; }

/* Facts (numeri chiave) */
.asr-site .asr-site-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 32px;
	border-top: 1px solid var(--asr-color-border);
	border-bottom: 1px solid var(--asr-color-border);
}
.asr-site .asr-site-facts--hero { max-width: 560px; margin-top: 40px; border-color: rgba(255, 255, 255, 0.16); }
.asr-site .asr-site-facts__item {
	display: flex;
	flex-direction: column-reverse;
	gap: 6px;
	padding: 20px 16px 20px 0;
}
.asr-site .asr-site-facts__item + .asr-site-facts__item { padding-left: 16px; border-left: 1px solid var(--asr-color-border); }
.asr-site .asr-site-facts--hero .asr-site-facts__item + .asr-site-facts__item { border-left-color: rgba(255, 255, 255, 0.16); }
.asr-site .asr-site-facts__value {
	font-size: clamp(32px, 24px + 1.6vw, 48px);
	font-weight: 800;
	line-height: 1;
	color: #FFFFFF;
	font-variant-numeric: lining-nums tabular-nums;
}
.asr-site .asr-site-facts__label {
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-label);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-text-muted);
}

/* ------------------------------------------------------------------ */
/* 10. Breadcrumb (§10.5)                                              */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-crumbs { margin-bottom: 32px; }
.asr-site .asr-site-crumbs__list {
	display: flex;
	gap: 0;
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: none;
	-webkit-mask-image: linear-gradient(to right, #000 85%, transparent);
	mask-image: linear-gradient(to right, #000 85%, transparent);
	font-size: var(--asr-text-xs);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: var(--asr-tracking-label);
	text-transform: var(--asr-transform-display);
}
.asr-site .asr-site-crumbs__list::-webkit-scrollbar { display: none; }
@media (min-width: 768px) {
	.asr-site .asr-site-crumbs__list { flex-wrap: wrap; white-space: normal; -webkit-mask-image: none; mask-image: none; }
}
.asr-site .asr-site-crumbs__item { display: inline-flex; align-items: center; }
.asr-site .asr-site-crumbs__item a { display: inline-block; padding-block: 12px; color: var(--asr-color-text-muted); transition: color var(--asr-dur-base) var(--asr-ease); }
.asr-site .asr-site-crumbs__item a:hover { color: #FFFFFF; }
.asr-site .asr-site-crumbs__item [aria-current] { display: inline-block; padding-block: 12px; color: #FFFFFF; }
.asr-site .asr-site-crumbs__sep { padding-inline: 12px; color: var(--asr-color-border-strong); }

/* ------------------------------------------------------------------ */
/* 11. Banda petrolio (CTA)                                            */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-band {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(40px, 28px + 4vw, 88px) clamp(24px, 12px + 4vw, 88px);
	background: var(--asr-brand-petrol);
	color: #FFFFFF;
	--asr-color-focus: #FFFFFF;
}
.asr-site .asr-site-band::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: var(--asr-pattern-diagonal);
	background-size: 4px 4px;
	image-rendering: pixelated;
	opacity: 0.2;
}
.asr-site .asr-site-band::after {
	content: "";
	position: absolute;
	top: -40%;
	right: -10%;
	z-index: -1;
	width: 60%;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	box-shadow: 0 0 0 60px rgba(255, 255, 255, 0.025), 0 0 0 140px rgba(255, 255, 255, 0.02);
}
.asr-site .asr-site-band__inner { max-width: 760px; }
.asr-site .asr-site-band__eyebrow {
	margin-bottom: 16px;
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-caps);
	text-transform: var(--asr-transform-display);
	color: #FFFFFF;
}
.asr-site .asr-site-band__title {
	font-size: clamp(28px, 20px + 2vw, 44px);
	font-weight: 800;
	line-height: 1.15;
	text-transform: var(--asr-transform-display);
	color: #FFFFFF;
	text-wrap: balance;
}
.asr-site .asr-site-band__text { margin-top: 20px; max-width: 56ch; font-size: var(--asr-text-lead); line-height: 1.5; color: #FFFFFF; }
.asr-site .asr-site-band .asr-site-actions { margin-top: 32px; }
.asr-site .asr-site-band .asr-site-btn--ghost { color: #FFFFFF; }
.asr-site .asr-site-band .asr-site-btn--cta:hover,
.asr-site .asr-site-band .asr-site-btn--whatsapp:hover,
.asr-site .asr-site-band .asr-site-btn--outline:hover { background-size: 0 100%; background-color: rgba(255, 255, 255, 0.12); }
.asr-site .asr-site-band--compact { padding: clamp(32px, 24px + 2vw, 48px); margin-top: 64px; }
.asr-site .asr-site-band--compact .asr-site-band__title { font-size: clamp(24px, 20px + 1vw, 32px); }
.asr-site .asr-site-checklist { display: grid; gap: 12px; width: 100%; margin-bottom: 8px; }
.asr-site .asr-site-checklist li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.5; }
.asr-site .asr-site-checklist .asr-site-icon { margin-top: 2px; }

/* ------------------------------------------------------------------ */
/* 12. Indici: split, intro, elenchi                                   */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-split { display: grid; gap: 24px; align-items: center; }
@media (min-width: 1024px) {
	.asr-site .asr-site-split { grid-template-columns: 1fr auto; gap: 48px; }
}
.asr-site .asr-site-split__title { font-size: clamp(20px, 17px + 0.8vw, 26px); font-weight: 700; line-height: 1.35; color: #FFFFFF; }
.asr-site .asr-site-intro { display: grid; gap: 0 64px; margin-bottom: clamp(40px, 28px + 3vw, 64px); }
.asr-site .asr-site-intro .asr-site-head { margin-bottom: 0; }
.asr-site .asr-site-intro__list { margin-top: 32px; align-self: end; }
@media (min-width: 1024px) {
	.asr-site .asr-site-intro { grid-template-columns: 1.4fr 1fr; }
}
.asr-site .asr-site-dashlist { display: grid; gap: 12px; }
.asr-site .asr-site-dashlist li { position: relative; padding-left: 28px; line-height: 1.6; }
.asr-site .asr-site-dashlist li::before { content: ""; position: absolute; left: 0; top: 0.8em; width: 14px; height: 2px; background: var(--asr-color-accent); }

/* Elenco capitoli del percorso (§11.3) */
.asr-site .asr-site-chapters { counter-reset: none; }
@media (min-width: 1024px) {
	.asr-site .asr-site-chapters { columns: 2; column-gap: 64px; }
}
.asr-site .asr-site-chapters__item { break-inside: avoid; border-bottom: 1px solid var(--asr-color-border); }
.asr-site .asr-site-chapters__link {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) 24px;
	align-items: center;
	gap: 12px;
	min-height: 72px;
	padding: 16px 0;
	color: var(--asr-color-heading);
	transition: background-color var(--asr-dur-base) var(--asr-ease), padding var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-chapters__link:hover { background: var(--asr-color-surface); padding-inline: 12px; }
.asr-site .asr-site-chapters__num {
	font-size: var(--asr-text-2xl);
	font-weight: 800;
	line-height: 1;
	color: var(--asr-color-accent-text);
	font-variant-numeric: lining-nums tabular-nums;
}
.asr-site .asr-site-chapters__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.asr-site .asr-site-chapters__title { font-size: 15px; font-weight: 700; line-height: 1.35; letter-spacing: 0.06em; text-transform: var(--asr-transform-display); }
.asr-site .asr-site-chapters__sub { font-size: var(--asr-text-sm); line-height: 1.45; color: var(--asr-color-text-muted); }
.asr-site .asr-site-chapters__arrow { color: var(--asr-color-text-muted); transition: transform var(--asr-dur-fast) var(--asr-ease), color var(--asr-dur-fast) var(--asr-ease); }
.asr-site .asr-site-chapters__link:hover .asr-site-chapters__arrow { color: #FFFFFF; transform: translateX(4px); }

/* ------------------------------------------------------------------ */
/* 13. Pagina capitolo (§11.4)                                         */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-chapter-top { padding-top: 32px; background: var(--asr-color-bg); }
.asr-site .asr-site-chapter-top .asr-site-crumbs { margin-bottom: 16px; }
.asr-site .asr-site-chapter-top__toggle { margin-bottom: 8px; font-variant-numeric: lining-nums tabular-nums; }
.asr-site .asr-site-chapter { display: grid; gap: 48px; padding-block: 24px var(--asr-section-y); }
.asr-site .asr-site-sidebar { display: none; }
@media (min-width: 1024px) {
	.asr-site .asr-site-chapter-top__toggle { display: none; }
	.asr-site .asr-site-chapter { grid-template-columns: var(--asr-sidebar-w) minmax(0, 1fr); gap: 64px; padding-top: 40px; }
	.asr-site .asr-site-sidebar { display: block; }
}
.asr-site .asr-site-sidebar__sticky {
	position: sticky;
	top: calc(var(--asr-site-offset) + 32px);
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-height: calc(100vh - var(--asr-site-offset) - 64px);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--asr-color-border) transparent;
	padding-right: 4px;
}
body.admin-bar .asr-site:not(.asr-site--standalone) .asr-site-sidebar__sticky,
body.admin-bar .asr-site:not(.asr-site--standalone) .asr-site-doc__sticky { top: calc(var(--asr-site-offset) + 64px); }
.asr-site--standalone .asr-site-sidebar__sticky { top: calc(var(--asr-header-h) + 24px); max-height: calc(100vh - var(--asr-header-h) - 48px); }
.asr-site .asr-site-sidebar__title {
	padding-bottom: 16px;
	border-bottom: 1px solid var(--asr-color-border);
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-label);
	text-transform: var(--asr-transform-display);
}
.asr-site .asr-site-sidebar__title a { color: #FFFFFF; }
.asr-site .asr-site-sidebar__title a:hover { color: var(--asr-color-accent-text); }
.asr-site .asr-site-chapnav { display: grid; gap: 2px; }
.asr-site .asr-site-chapnav__link {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 8px;
	padding: 10px 12px 10px 14px;
	border-left: 2px solid transparent;
	font-size: var(--asr-text-sm);
	line-height: 1.45;
	color: var(--asr-color-text-muted);
	transition: color var(--asr-dur-base) var(--asr-ease), background-color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-chapnav__link:hover { color: #FFFFFF; background: var(--asr-color-surface); }
.asr-site .asr-site-chapnav__num { font-size: var(--asr-text-xs); font-weight: 700; line-height: 1.9; font-variant-numeric: lining-nums tabular-nums; }
.asr-site .asr-site-chapnav__item.is-current .asr-site-chapnav__link {
	border-left-color: var(--asr-brand-petrol-line);
	background: var(--asr-color-surface);
	color: #FFFFFF;
	font-weight: 600;
}
.asr-site .asr-site-chapnav__item.is-current .asr-site-chapnav__num { color: var(--asr-color-accent-text); }

.asr-site .asr-site-article { min-width: 0; max-width: 820px; }
.asr-site .asr-site-article__head { margin-bottom: 40px; }
.asr-site .asr-site-article__title {
	font-size: var(--asr-text-section);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.01em;
	text-transform: var(--asr-transform-display);
	color: #FFFFFF;
	text-wrap: balance;
}
.asr-site .asr-site-toc {
	margin-bottom: 48px;
	padding: 24px 28px;
	background: var(--asr-color-surface);
	border: 1px solid var(--asr-color-border);
	border-top: 2px solid var(--asr-color-accent);
}
.asr-site .asr-site-toc__title {
	margin-bottom: 12px;
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-caps);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-accent-text);
}
.asr-site .asr-site-toc__list { display: grid; gap: 4px; counter-reset: asr-toc; }
@media (min-width: 768px) {
	.asr-site .asr-site-toc__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 32px; }
}
.asr-site .asr-site-toc__list li { counter-increment: asr-toc; }
.asr-site .asr-site-toc__list a {
	display: flex;
	gap: 10px;
	padding-block: 6px;
	font-size: 15px;
	line-height: 1.45;
	color: var(--asr-color-text);
	transition: color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-toc__list a::before {
	content: counter(asr-toc, decimal-leading-zero);
	flex: none;
	font-size: var(--asr-text-xs);
	font-weight: 700;
	line-height: 2;
	color: var(--asr-color-text-muted);
	font-variant-numeric: lining-nums tabular-nums;
}
.asr-site .asr-site-toc__list a:hover { color: var(--asr-color-accent-text); }

/* Prosa della teoria */
.asr-site .asr-site-prose { max-width: var(--asr-measure); font-size: 16px; line-height: 1.7; color: var(--asr-color-text); }
@media (min-width: 768px) {
	.asr-site .asr-site-prose { font-size: 17px; }
}
.asr-site .asr-site-prose > * + * { margin-top: 20px; }
.asr-site .asr-site-prose h2 {
	margin-top: 56px;
	padding-top: 24px;
	border-top: 1px solid var(--asr-color-border);
	font-size: var(--asr-text-2xl);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: var(--asr-transform-display);
	color: #FFFFFF;
	scroll-margin-top: calc(var(--asr-site-offset) + 96px);
	outline: 0;
}
.asr-site .asr-site-prose h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.asr-site .asr-site-prose h3 { margin-top: 36px; font-size: var(--asr-text-lg); font-weight: 700; line-height: 1.4; color: #FFFFFF; }
.asr-site .asr-site-prose h2 + *,
.asr-site .asr-site-prose h3 + * { margin-top: 16px; }
.asr-site .asr-site-prose p { margin-bottom: 0; }
.asr-site .asr-site-prose a { color: var(--asr-color-link); text-decoration: underline; text-underline-offset: 0.2em; }
.asr-site .asr-site-prose a:hover { color: #FFFFFF; }
.asr-site .asr-site-prose strong { color: #FFFFFF; font-weight: 700; }
.asr-site .asr-site-prose em { font-style: italic; }
.asr-site .asr-site-prose ul,
.asr-site .asr-site-prose ol { display: grid; gap: 10px; padding: 0; list-style: none; }
.asr-site .asr-site-prose ul > li { position: relative; padding-left: 28px; }
.asr-site .asr-site-prose ul > li::before { content: ""; position: absolute; left: 0; top: 0.82em; width: 14px; height: 2px; background: var(--asr-color-accent); }
.asr-site .asr-site-prose ol { counter-reset: asr-ol; }
.asr-site .asr-site-prose ol > li { position: relative; padding-left: 40px; counter-increment: asr-ol; }
.asr-site .asr-site-prose ol > li::before {
	content: counter(asr-ol, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0.15em;
	font-size: 13px;
	font-weight: 800;
	color: var(--asr-color-accent-text);
	font-variant-numeric: lining-nums tabular-nums;
}
.asr-site .asr-site-prose li > ul,
.asr-site .asr-site-prose li > ol { margin-top: 10px; }
.asr-site .asr-site-prose--compact { font-size: 16px; }
.asr-site .asr-site-prose--compact > * + * { margin-top: 16px; }
.asr-site .asr-site-prose--compact h3 { margin-top: 28px; }

/* Figure su fondo bianco (§8.2) */
.asr-site .asr-site-prose figure,
.asr-site .asr-site-figure { margin-block: 40px; max-width: 960px; }
.asr-site .asr-site-prose figure img {
	width: 100%;
	height: auto;
	padding: 24px;
	background: var(--asr-color-media-bg);
	border: 1px solid var(--asr-color-border);
	cursor: zoom-in;
}
.asr-site .asr-site-prose figcaption {
	display: flex;
	gap: 14px;
	align-items: baseline;
	margin-top: 14px;
	font-size: var(--asr-text-sm);
	line-height: 1.5;
	color: var(--asr-color-text-muted);
}
.asr-site .asr-site-prose figcaption::before { content: ""; flex: none; width: 30px; height: 2px; background: var(--asr-color-accent); transform: translateY(-4px); }

/* Box Consiglio / Attenzione / Nota (§9.15) */
.asr-site .asr-site-callout {
	margin-block: 32px;
	padding: 20px 24px;
	border-left: 2px solid var(--asr-color-accent);
	background: var(--asr-color-info-soft);
	color: var(--asr-color-text);
}
.asr-site .asr-site-callout__label {
	display: block;
	margin-bottom: 8px;
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-caps);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-info);
}
.asr-site .asr-site-callout--warn { border-left-color: var(--asr-color-warning); background: var(--asr-color-warning-soft); }
.asr-site .asr-site-callout--warn .asr-site-callout__label { color: var(--asr-color-warning); }
.asr-site .asr-site-callout--note { border-left-color: var(--asr-color-border-strong); background: var(--asr-color-surface-2); }
.asr-site .asr-site-callout--note .asr-site-callout__label { color: var(--asr-color-text-muted); }
.asr-site .asr-site-callout > * + * { margin-top: 10px; }

/* Tabelle (§9.7) */
.asr-site .asr-site-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--asr-color-border); }
.asr-site .asr-site-table-wrap:focus-visible { outline: 2px solid var(--asr-color-focus); outline-offset: 2px; }
.asr-site .asr-site-table-wrap table,
.asr-site .asr-site-table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: 15px; font-variant-numeric: lining-nums tabular-nums; }
.asr-site .asr-site-table-wrap th,
.asr-site .asr-site-table-wrap td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--asr-color-border); }
.asr-site .asr-site-table-wrap thead th {
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-label);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-text-muted);
	border-bottom-color: var(--asr-color-border-strong);
	background: var(--asr-color-surface);
}
.asr-site .asr-site-table-wrap tbody th { font-weight: 600; color: #FFFFFF; }
.asr-site .asr-site-table-wrap tbody tr:last-child > * { border-bottom: 0; }
.asr-site .asr-site-table-wrap tbody tr:hover { background: var(--asr-color-surface-2); }
.asr-site .asr-site-table .is-num { text-align: right; }
/* Informativa privacy: tabella di solo testo, va a capo invece di scorrere sui telefoni. */
.asr-site .asr-site-privacy .asr-site-table { min-width: 0; }
.asr-site .asr-site-privacy .asr-site-table tbody th { width: 55%; }

/* Pager */
.asr-site .asr-site-pager { display: grid; gap: 16px; margin-top: 48px; }
@media (min-width: 768px) {
	.asr-site .asr-site-pager { grid-template-columns: 1fr 1fr; }
}
.asr-site .asr-site-pager__link {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	border: 1px solid var(--asr-color-border);
	background: var(--asr-color-surface);
	transition: background-color var(--asr-dur-base) var(--asr-ease), border-color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-pager__link:hover { background: var(--asr-color-surface-3); border-color: var(--asr-color-border-strong); }
.asr-site .asr-site-pager__link--next { text-align: right; align-items: flex-end; }
.asr-site .asr-site-pager__dir {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-label);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-accent-text);
}
.asr-site .asr-site-pager__title { font-weight: 700; line-height: 1.4; color: #FFFFFF; text-transform: var(--asr-transform-display); letter-spacing: 0.04em; font-size: 15px; }
.asr-site .asr-site-pager__num { color: var(--asr-color-text-muted); font-variant-numeric: lining-nums tabular-nums; }

/* Barra fissa mobile della CTA capitolo */
.asr-site .asr-site-stickybar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 56px;
	padding: 8px var(--asr-gutter) calc(8px + env(safe-area-inset-bottom));
	background: var(--asr-color-bg-deep);
	border-top: 1px solid var(--asr-color-border);
	transform: translateY(0);
	transition: transform var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-stickybar[hidden] { display: flex; transform: translateY(110%); visibility: hidden; transition: transform var(--asr-dur-base) var(--asr-ease), visibility 0s linear var(--asr-dur-base); }
.asr-site .asr-site-stickybar__text { overflow: hidden; font-size: var(--asr-text-xs); font-weight: 700; letter-spacing: var(--asr-tracking-label); text-transform: var(--asr-transform-display); white-space: nowrap; text-overflow: ellipsis; color: #FFFFFF; }
@media (min-width: 1024px) {
	.asr-site .asr-site-stickybar { display: none !important; }
}

/* Dialoghi (elenco capitoli mobile, ingrandimento figure) */
.asr-site .asr-site-dialog {
	width: min(480px, 100%);
	max-width: 100%;
	height: 100dvh;
	max-height: 100dvh;
	margin: 0 0 0 auto;
	padding: 0;
	border: 0;
	border-left: 1px solid var(--asr-color-border-strong);
	background: var(--asr-color-surface);
	color: var(--asr-color-text);
	overflow-y: auto;
}
.asr-site .asr-site-dialog::backdrop { background: var(--asr-color-overlay); }
.asr-site .asr-site-dialog__head {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 12px 12px 24px;
	background: var(--asr-color-bg-deep);
	border-bottom: 1px solid var(--asr-color-border);
}
.asr-site .asr-site-dialog__title { font-size: var(--asr-text-sm); font-weight: 700; letter-spacing: var(--asr-tracking-label); text-transform: var(--asr-transform-display); color: #FFFFFF; }
.asr-site .asr-site-dialog__close,
.asr-site .asr-site-menu__close { display: grid; place-items: center; width: 44px; height: 44px; color: #FFFFFF; }
.asr-site .asr-site-dialog .asr-site-chapnav { padding: 12px; }
.asr-site .asr-site-lightbox {
	width: 100vw;
	max-width: 100vw;
	height: 100dvh;
	max-height: 100dvh;
	margin: 0;
	padding: 64px 16px 16px;
	border: 0;
	background: #080808;
}
.asr-site .asr-site-lightbox::backdrop { background: #080808; }
.asr-site .asr-site-lightbox img { width: auto; max-width: 100%; max-height: calc(100dvh - 96px); margin: 0 auto; padding: 24px; background: #FFFFFF; object-fit: contain; }
.asr-site .asr-site-lightbox .asr-site-dialog__close { position: absolute; top: 10px; right: 10px; border: 1px solid rgba(255, 255, 255, 0.4); }

/* ------------------------------------------------------------------ */
/* 14. Pagina patente (§11.5)                                          */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-doc { display: grid; gap: 56px; }
@media (min-width: 1024px) {
	.asr-site .asr-site-doc { grid-template-columns: minmax(0, 1fr) 340px; gap: 80px; }
}
.asr-site .asr-site-doc__main { min-width: 0; }
.asr-site .asr-site-doc__section { position: relative; padding-block: 40px; border-top: 1px solid var(--asr-color-border); }
.asr-site .asr-site-doc__section:first-child { padding-top: 0; border-top: 0; }
@media (min-width: 768px) {
	.asr-site .asr-site-doc__section { padding-left: 96px; }
}
.asr-site .asr-site-doc__num {
	margin-bottom: 12px;
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px var(--asr-brand-petrol-line);
	font-variant-numeric: lining-nums tabular-nums;
}
@media (min-width: 768px) {
	.asr-site .asr-site-doc__num { position: absolute; left: 0; top: 40px; margin: 0; font-size: 56px; }
	.asr-site .asr-site-doc__section:first-child .asr-site-doc__num { top: 0; }
}
.asr-site .asr-site-doc__title {
	margin-bottom: 20px;
	font-size: clamp(22px, 18px + 1vw, 30px);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.02em;
	text-transform: var(--asr-transform-display);
	color: #FFFFFF;
}
.asr-site .asr-site-doc__subtitle { margin-bottom: 16px; font-size: var(--asr-text-xs); font-weight: 700; letter-spacing: var(--asr-tracking-caps); text-transform: var(--asr-transform-display); color: var(--asr-color-text-muted); }
.asr-site .asr-site-doc__section--sources { padding-top: 32px; }
.asr-site .asr-site-doc__sticky { position: sticky; top: calc(var(--asr-site-offset) + 32px); }
.asr-site--standalone .asr-site-doc__sticky { top: calc(var(--asr-header-h) + 32px); }
.asr-site .asr-site-panel {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 32px;
	background: var(--asr-color-surface);
	border: 1px solid var(--asr-color-border);
	border-top: 2px solid var(--asr-color-accent);
}
.asr-site .asr-site-panel__title { font-size: var(--asr-text-xl); font-weight: 800; line-height: 1.25; text-transform: var(--asr-transform-display); letter-spacing: 0.02em; color: #FFFFFF; }
.asr-site .asr-site-panel__text { color: var(--asr-color-text-muted); }
.asr-site .asr-site-panel__price { display: flex; flex-direction: column; gap: 4px; }
.asr-site .asr-site-panel__price .asr-site-eyebrow { margin: 0; }
.asr-site .asr-site-panel__amount { font-size: 36px; font-weight: 800; line-height: 1.1; color: #FFFFFF; font-variant-numeric: lining-nums tabular-nums; }
.asr-site .asr-site-panel--accent { background: var(--asr-color-surface); }

.asr-site .asr-site-row-link {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	padding: 28px 0;
	border-top: 1px solid var(--asr-color-border);
	border-bottom: 1px solid var(--asr-color-border);
	color: #FFFFFF;
	transition: padding var(--asr-dur-base) var(--asr-ease), background-color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-row-link:hover { padding-inline: 16px; background: var(--asr-color-surface-2); }
.asr-site .asr-site-row-link__text { display: flex; flex-direction: column; }
.asr-site .asr-site-row-link__text .asr-site-eyebrow { margin-bottom: 6px; }
.asr-site .asr-site-row-link__title { font-size: clamp(18px, 15px + 0.8vw, 24px); font-weight: 700; text-transform: var(--asr-transform-display); letter-spacing: 0.02em; }
.asr-site .asr-site-row-link__arrow { transition: transform var(--asr-dur-fast) var(--asr-ease); }
.asr-site .asr-site-row-link:hover .asr-site-row-link__arrow { transform: translateX(6px); }

/* FAQ */
.asr-site .asr-site-faq { border-top: 1px solid var(--asr-color-border); }
.asr-site .asr-site-faq__item { border-bottom: 1px solid var(--asr-color-border); }
.asr-site .asr-site-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 64px;
	padding: 18px 0;
	list-style: none;
	cursor: pointer;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.45;
	color: #FFFFFF;
	transition: color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-faq__q::-webkit-details-marker { display: none; }
.asr-site .asr-site-faq__q::marker { content: ""; }
.asr-site .asr-site-faq__q:hover { color: var(--asr-color-accent-text); }
.asr-site .asr-site-faq__icon { color: var(--asr-color-accent-text); transition: transform var(--asr-dur-base) var(--asr-ease); }
.asr-site .asr-site-faq__item[open] .asr-site-faq__icon { transform: rotate(180deg); }
.asr-site .asr-site-faq__a { padding: 0 48px 24px 0; color: var(--asr-color-text-muted); line-height: 1.7; }

.asr-site .asr-site-sources { display: grid; gap: 10px; margin-bottom: 20px; }
.asr-site .asr-site-sources a {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	font-size: var(--asr-text-sm);
	line-height: 1.5;
	color: var(--asr-color-link);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
.asr-site .asr-site-sources a:hover { color: #FFFFFF; }
.asr-site .asr-site-sources .asr-site-icon { transform: translateY(2px); }

/* ------------------------------------------------------------------ */
/* 15. Contatti e mappa (§11.7)                                        */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-contact { display: grid; gap: 48px; }
@media (min-width: 1024px) {
	.asr-site .asr-site-contact { grid-template-columns: 5fr 7fr; gap: 64px; align-items: stretch; }
}
.asr-site .asr-site-contact__info { display: flex; flex-direction: column; }
.asr-site .asr-site-contact__block { display: flex; flex-direction: column; gap: 12px; padding-block: 28px; border-top: 1px solid var(--asr-color-border); }
.asr-site .asr-site-contact__block:first-child { padding-top: 0; border-top: 0; }
.asr-site .asr-site-contact__label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-caps);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-accent-text);
}
.asr-site .asr-site-contact__value { font-size: clamp(18px, 16px + 0.6vw, 22px); font-weight: 500; line-height: 1.4; color: #FFFFFF; font-variant-numeric: lining-nums; }
.asr-site .asr-site-contact__muted { color: var(--asr-color-text-muted); }
.asr-site .asr-site-hours { display: grid; gap: 6px; font-size: 17px; color: #FFFFFF; font-variant-numeric: lining-nums tabular-nums; }
.asr-site .asr-site-map {
	position: relative;
	display: grid;
	min-height: 380px;
	overflow: hidden;
	background:
		radial-gradient(ellipse 60% 60% at 50% 40%, rgba(1, 67, 89, 0.45), transparent 70%),
		var(--asr-color-surface);
	border: 1px solid var(--asr-color-border);
}
.asr-site .asr-site-map::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 48px 48px;
}
.asr-site .asr-site-map__placeholder {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 40px 24px;
	text-align: center;
}
.asr-site .asr-site-map__pin { width: 48px; height: 48px; color: var(--asr-color-accent-text); }
.asr-site .asr-site-map__title { font-size: var(--asr-text-xs); font-weight: 700; letter-spacing: var(--asr-tracking-caps); text-transform: var(--asr-transform-display); color: var(--asr-color-accent-text); }
.asr-site .asr-site-map__address { max-width: 32ch; font-size: clamp(20px, 16px + 1vw, 28px); font-weight: 700; line-height: 1.3; text-transform: var(--asr-transform-display); color: #FFFFFF; }
.asr-site .asr-site-map .asr-site-small { max-width: 44ch; }
.asr-site .asr-site-map .asr-site-actions { margin-top: 12px; }
.asr-site .asr-site-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) contrast(1.05); }

/* ------------------------------------------------------------------ */
/* 16. Blocchi home: percorso, valori, finale                          */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-steps { display: grid; gap: 0; counter-reset: none; }
@media (min-width: 768px) {
	.asr-site .asr-site-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.asr-site .asr-site-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.asr-site .asr-site-steps__item { position: relative; padding: 32px 24px 32px 0; border-top: 1px solid var(--asr-color-border); }
@media (min-width: 1024px) {
	.asr-site .asr-site-steps__item { padding: 40px 32px 0 0; }
	.asr-site .asr-site-steps__item + .asr-site-steps__item { padding-left: 32px; border-left: 1px solid var(--asr-color-border); }
}
.asr-site .asr-site-steps__item::before { content: ""; position: absolute; top: -1px; left: 0; width: 30px; height: 2px; background: #FFFFFF; }
.asr-site .asr-site-steps__item + .asr-site-steps__item::before { left: 0; }
@media (min-width: 1024px) {
	.asr-site .asr-site-steps__item + .asr-site-steps__item::before { left: 32px; }
}
.asr-site .asr-site-steps__num {
	display: block;
	margin-bottom: 24px;
	font-size: clamp(56px, 40px + 3vw, 88px);
	font-weight: 800;
	line-height: 0.9;
	color: transparent;
	-webkit-text-stroke: 1px var(--asr-brand-petrol-line);
	font-variant-numeric: lining-nums tabular-nums;
}
.asr-site .asr-site-steps__title { margin-bottom: 12px; font-size: var(--asr-text-lg); font-weight: 700; letter-spacing: 0.08em; text-transform: var(--asr-transform-display); color: #FFFFFF; }
.asr-site .asr-site-steps__text { color: var(--asr-color-text-muted); line-height: 1.6; }

.asr-site .asr-site-why { display: grid; gap: 56px; }
@media (min-width: 1024px) {
	.asr-site .asr-site-why { grid-template-columns: 5fr 7fr; gap: 96px; align-items: start; }
}
.asr-site .asr-site-why__title {
	font-size: clamp(30px, 20px + 2.4vw, 48px);
	font-weight: 800;
	line-height: 1.15;
	text-transform: var(--asr-transform-display);
	color: #FFFFFF;
	text-wrap: balance;
}
.asr-site .asr-site-values { display: grid; gap: 1px; background: var(--asr-color-border); border: 1px solid var(--asr-color-border); }
@media (min-width: 768px) {
	.asr-site .asr-site-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.asr-site .asr-site-values__item { display: flex; flex-direction: column; gap: 14px; padding: 32px; background: var(--asr-color-bg); }
.asr-site .asr-site-section--alt .asr-site-values__item { background: var(--asr-color-surface); }
.asr-site .asr-site-values__icon { width: 32px; height: 32px; color: var(--asr-color-accent-text); }
.asr-site .asr-site-values__title { font-size: 15px; font-weight: 700; letter-spacing: var(--asr-tracking-label); text-transform: var(--asr-transform-display); color: #FFFFFF; }
.asr-site .asr-site-values__text { color: var(--asr-color-text-muted); line-height: 1.6; }

.asr-site .asr-site-section--final {
	overflow: hidden;
	background:
		radial-gradient(ellipse 60% 70% at 50% 0%, rgba(1, 67, 89, 0.6), transparent 70%),
		var(--asr-color-bg-deep);
}
.asr-site .asr-site-section--final::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--asr-pattern-diagonal);
	background-size: 4px 4px;
	image-rendering: pixelated;
	opacity: 0.5;
	pointer-events: none;
}
.asr-site .asr-site-final { position: relative; text-align: center; }
.asr-site .asr-site-final__title {
	font-size: clamp(34px, 18px + 4vw, 72px);
	font-weight: 800;
	line-height: 1.2;
	text-transform: var(--asr-transform-display);
	color: #FFFFFF;
	text-wrap: balance;
}
.asr-site .asr-site-final .asr-site-lead { margin: 28px auto 40px; }
.asr-site .asr-site-final__address {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 40px;
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-wide);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-text-muted);
}

/* ------------------------------------------------------------------ */
/* 17. Quiz di prova: scelta della patente                             */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-choice { display: grid; gap: 12px; }
@media (min-width: 768px) {
	.asr-site .asr-site-choice { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (min-width: 1024px) {
	.asr-site .asr-site-choice { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.asr-site .asr-site-choice__link {
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: 96px;
	padding: 20px 24px;
	border: 1px solid var(--asr-color-border-strong);
	background: var(--asr-color-surface);
	color: #FFFFFF;
	transition: background-color var(--asr-dur-base) var(--asr-ease), border-color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-choice__link:hover { background: var(--asr-color-surface-3); border-color: #FFFFFF; }
.asr-site .asr-site-choice__title { font-size: 15px; font-weight: 700; letter-spacing: 0.06em; text-transform: var(--asr-transform-display); line-height: 1.35; }
.asr-site .asr-site-demo { display: grid; gap: 48px; }
@media (min-width: 1024px) {
	.asr-site .asr-site-demo { grid-template-columns: 7fr 5fr; gap: 80px; align-items: start; }
}
.asr-site .asr-site-steps-list { display: grid; gap: 16px; margin-top: 32px; }
.asr-site .asr-site-steps-list li { display: flex; gap: 16px; align-items: baseline; font-size: 17px; color: #FFFFFF; }
.asr-site .asr-site-steps-list__num { flex: none; font-size: 13px; font-weight: 800; color: var(--asr-color-accent-text); font-variant-numeric: lining-nums tabular-nums; }

/* ------------------------------------------------------------------ */
/* 18. Shell del plugin: header, menu, footer (§10.1–10.4)             */
/* ------------------------------------------------------------------ */
.asr-site .asr-site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	height: var(--asr-header-h);
	background: transparent;
	border-bottom: 1px solid transparent;
	transition: background-color var(--asr-dur-base) var(--asr-ease), border-color var(--asr-dur-base) var(--asr-ease);
}
body.admin-bar .asr-site .asr-site-header { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .asr-site .asr-site-header { top: 46px; }
}
.asr-site .asr-site-header.is-scrolled {
	background: #080808;
	border-bottom-color: rgba(255, 255, 255, 0.06);
}
@supports ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
	.asr-site .asr-site-header.is-scrolled { background: rgba(8, 8, 8, 0.9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
}
.asr-site .asr-site-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	height: 100%;
	max-width: var(--asr-container-wide);
	margin-inline: auto;
	padding-inline: var(--asr-gutter);
}
.asr-site .asr-site-brand { display: inline-flex; align-items: center; min-height: 44px; color: #FFFFFF; }
.asr-site .asr-site-brand__text { font-size: 13px; font-weight: 800; letter-spacing: var(--asr-tracking-wide); text-transform: uppercase; white-space: nowrap; }
.asr-site .asr-site-brand__logo { width: auto; height: 44px; max-height: 44px; }
.asr-site .asr-site-nav { display: none; }
@media (min-width: 1024px) {
	.asr-site .asr-site-nav { display: block; }
}
.asr-site .asr-site-nav__list { display: flex; gap: 40px; }
.asr-site .asr-site-nav__link {
	position: relative;
	display: inline-block;
	padding-block: 12px;
	font-size: var(--asr-text-xs);
	font-weight: 700;
	letter-spacing: var(--asr-tracking-caps);
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-text-muted);
	transition: color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-nav__link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 4px;
	width: 100%;
	height: 2px;
	background: var(--asr-color-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-nav__link:hover,
.asr-site .asr-site-nav__link[aria-current] { color: #FFFFFF; }
.asr-site .asr-site-nav__link:hover::after,
.asr-site .asr-site-nav__link[aria-current]::after { transform: scaleX(1); }
.asr-site .asr-site-header__actions { display: flex; align-items: center; gap: 12px; }
.asr-site .asr-site-header__actions [data-asr-hide-mobile] { display: none; }
@media (min-width: 768px) {
	.asr-site .asr-site-header__actions [data-asr-hide-mobile] { display: inline-flex; }
}
.asr-site .asr-site-burger { display: grid; place-items: center; width: 44px; height: 44px; color: #FFFFFF; transition: opacity var(--asr-dur-base) var(--asr-ease); }
.asr-site .asr-site-burger:hover { opacity: 0.6; }
.asr-site .asr-site-burger__lines { display: grid; gap: 7px; width: 24px; }
.asr-site .asr-site-burger__lines span { display: block; height: 2px; background: currentColor; }

.asr-site .asr-site-menu {
	width: 100vw;
	max-width: 100vw;
	height: 100dvh;
	max-height: 100dvh;
	margin: 0;
	padding: 0;
	border: 0;
	overflow-y: auto;
	background-color: rgba(14, 16, 18, 0.97);
	background-image: var(--asr-pattern-diagonal);
	background-size: 4px 4px;
	color: #FFFFFF;
	opacity: 0;
	transition: opacity var(--asr-dur-slow) var(--asr-ease-in-out);
}
.asr-site .asr-site-menu[open].is-open { opacity: 1; }
.asr-site .asr-site-menu::backdrop { background: transparent; }
.asr-site .asr-site-menu__inner { position: relative; max-width: var(--asr-container-wide); margin-inline: auto; padding: 110px var(--asr-gutter) 48px; }
.asr-site .asr-site-menu__close { position: absolute; top: 10px; right: var(--asr-gutter); }
.asr-site .asr-site-menu__item { border-bottom: 1px solid #222222; opacity: 0; transform: translateY(15px); transition: opacity var(--asr-dur-slow) var(--asr-ease-in-out), transform var(--asr-dur-slow) var(--asr-ease-in-out); transition-delay: calc(var(--asr-i, 0) * 40ms); }
.asr-site .asr-site-menu.is-open .asr-site-menu__item { opacity: 1; transform: none; }
.asr-site .asr-site-menu__link {
	display: flex;
	align-items: baseline;
	gap: 20px;
	padding-block: 18px;
	font-size: clamp(28px, 16px + 4vw, 48px);
	font-weight: 800;
	line-height: 1.1;
	text-transform: var(--asr-transform-display);
	color: var(--asr-color-text-muted);
	transition: color var(--asr-dur-base) var(--asr-ease);
}
.asr-site .asr-site-menu__link:hover,
.asr-site .asr-site-menu__link:focus-visible,
.asr-site .asr-site-menu__link[aria-current] { color: #FFFFFF; }
.asr-site .asr-site-menu__num { font-size: var(--asr-text-xs); font-weight: 700; color: var(--asr-color-accent-text); font-variant-numeric: lining-nums tabular-nums; }
.asr-site .asr-site-menu__foot { display: grid; gap: 24px; margin-top: 48px; }
.asr-site .asr-site-menu__contact { display: flex; flex-direction: column; gap: 4px; font-size: var(--asr-text-sm); color: var(--asr-color-text-muted); }
.asr-site .asr-site-menu__contact a { color: var(--asr-color-text-muted); text-decoration: underline; text-underline-offset: 0.2em; }

.asr-site .asr-site-footer { padding: 64px 0 32px; background: #080808; color: var(--asr-color-text-muted); font-size: var(--asr-text-sm); }
.asr-site .asr-site-footer__grid { display: grid; gap: 40px; padding-bottom: 48px; }
@media (min-width: 768px) {
	.asr-site .asr-site-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.asr-site .asr-site-footer__brand { margin-bottom: 16px; font-size: 14px; font-weight: 800; letter-spacing: var(--asr-tracking-wide); text-transform: uppercase; color: #FFFFFF; }
.asr-site .asr-site-footer__title { margin-bottom: 16px; font-size: var(--asr-text-xs); font-weight: 700; letter-spacing: var(--asr-tracking-wide); text-transform: var(--asr-transform-display); color: #FFFFFF; }
.asr-site .asr-site-footer__address { line-height: 2; }
.asr-site .asr-site-footer__address a,
.asr-site .asr-site-footer__links a { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; color: var(--asr-color-text-muted); transition: color var(--asr-dur-base) var(--asr-ease); }
.asr-site .asr-site-footer__address a:hover,
.asr-site .asr-site-footer__links a:hover { color: #FFFFFF; }
.asr-site .asr-site-footer__links { display: grid; gap: 4px; }
.asr-site .asr-site-footer__hours { display: grid; gap: 4px; margin-bottom: 20px; font-variant-numeric: lining-nums tabular-nums; }
.asr-site .asr-site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 16px;
	padding-top: 24px;
	border-top: 1px solid #1B1E21;
	font-size: var(--asr-text-xs);
}
.asr-site .asr-site-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.asr-site .asr-site-footer__legal a,
.asr-site .asr-site-footer__credits a { color: var(--asr-color-text-muted); }
.asr-site .asr-site-footer__legal a:hover,
.asr-site .asr-site-footer__credits a:hover { color: #FFFFFF; }
.asr-site .asr-site-footer__credits strong { color: inherit; font-weight: 700; letter-spacing: 0.08em; }

/* Shell: spazio per l'header fisso */
.asr-site--standalone .asr-site-main { display: block; outline: 0; }
.asr-site--standalone .asr-site-main > .asr-site-hero:first-child { padding-top: calc(var(--asr-header-h) + 40px); }
.asr-site--standalone .asr-site-main > .asr-site-chapter-top:first-child { padding-top: calc(var(--asr-header-h) + 24px); }

/* ------------------------------------------------------------------ */
/* 19. Preferenze di sistema                                           */
/* ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	.asr-site { --asr-dur-fast: 0ms; --asr-dur-base: 0ms; --asr-dur-slow: 0ms; --asr-dur-reveal: 0ms; --asr-reveal-shift: 0px; }
	.asr-site *,
	.asr-site *::before,
	.asr-site *::after { animation-duration: 0ms !important; transition-duration: 0ms !important; transition-delay: 0ms !important; scroll-behavior: auto !important; }
	.asr-site.asr-site-js [data-asr-reveal]:not(.is-revealed) { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
	html:has(.asr-site--page) { scroll-behavior: smooth; }
}
@media (forced-colors: active) {
	.asr-site .asr-site-btn,
	.asr-site .asr-site-card,
	.asr-site .asr-site-choice__link,
	.asr-site .asr-site-pager__link,
	.asr-site .asr-site-plate { border: 1px solid CanvasText; }
	.asr-site .asr-site-rule,
	.asr-site .asr-site-dashlist li::before,
	.asr-site .asr-site-prose ul > li::before { background: CanvasText; }
	.asr-site .asr-site-hero__scrim,
	.asr-site .asr-site-band::before,
	.asr-site .asr-site-band::after { display: none; }
}
@media print {
	.asr-site { background: #FFFFFF !important; color: #111111 !important; }
	.asr-site .asr-site-header,
	.asr-site .asr-site-menu,
	.asr-site .asr-site-footer,
	.asr-site .asr-site-sidebar,
	.asr-site .asr-site-chapter-top__toggle,
	.asr-site .asr-site-stickybar,
	.asr-site .asr-site-band,
	.asr-site .asr-site-pager,
	.asr-site .asr-site-hero__down,
	.asr-site .asr-site-hero__pause { display: none !important; }
	.asr-site .asr-site-hero,
	.asr-site .asr-site-section,
	.asr-site .asr-site-chapter-top { background: none !important; color: #111111 !important; min-height: 0 !important; padding-block: 16px !important; }
	.asr-site .asr-site-hero__title,
	.asr-site .asr-site-article__title,
	.asr-site .asr-site-prose h2,
	.asr-site .asr-site-prose h3,
	.asr-site .asr-site-prose strong { color: #111111 !important; }
	.asr-site .asr-site-prose { max-width: none; color: #111111 !important; }
	.asr-site .asr-site-callout { background: none !important; border: 1px solid #999999; }
	.asr-site [data-asr-reveal] { opacity: 1 !important; transform: none !important; }
}

/* ------------------------------------------------------------------ */
/* Integrazione: quiz di prova (modulo Trial, asr-trial.css)           */
/* ------------------------------------------------------------------ */
/* La barra del quiz si ferma sotto l'header: del tema (offset) o della shell del plugin. */
.asr-site .asr-trial { --asr-trial-offset: var(--asr-site-offset, 0px); }
.asr-site--standalone .asr-trial { --asr-trial-offset: var(--asr-header-h, 64px); }

/* Paragrafo d'apertura dei capitoli di teoria (TheoryContent::mark_lead). */
.asr-site .asr-site-prose > .asr-site-prose__lead { font-size: var(--asr-text-lead); line-height: 1.6; color: var(--asr-color-heading); }

/* WPBakery + temi come Brooklyn: la colonna aggiunge 35 px in alto e il blocco di testo 40 px in fondo, sopra lo
   sfondo bianco del contenitore della pagina. Quando la colonna contiene solo i nostri blocchi a tutta larghezza,
   niente spazi: le sezioni si attaccano all'hero e al footer senza strisce bianche. */
.vc_column-inner:has(> .wpb_wrapper > .wpb_text_column > .wpb_wrapper > .asr-site--full) { padding-top: 0 !important; padding-bottom: 0 !important; }
.wpb_text_column:has(> .wpb_wrapper > .asr-site--full) { margin-bottom: 0 !important; }

/* Footer del plugin al posto di quello del tema (opzione "own_footer", pagine del plugin dentro il tema).
   Brooklyn: <footer class="footer …"> con i widget dimostrativi; temi standard: #colophon / .site-footer e
   l'area widget prima del footer. I footer interni ai blocchi del plugin restano. */
body.asr-site-own-footer footer:not(.asr-site footer),
body.asr-site-own-footer #colophon,
body.asr-site-own-footer .site-footer:not(.asr-site *),
body.asr-site-own-footer #secondary.widget-area,
body.asr-site-own-footer aside.widget-area:not(.asr-site *) { display: none !important; }
.asr-site.asr-site--footer { margin-top: 0; }

/* Logo nel footer del plugin. */
.asr-site .asr-site-footer__logo { display: block; width: 168px; height: auto; }
