/* ============ tipografia ============ */
@font-face {
	font-display: swap;
	font-family: "Signika Negative";
	font-style: normal;
	font-weight: 400;
	src: url("/output-47/face-400.woff2") format("woff2");
}
@font-face {
	font-display: swap;
	font-family: "Signika Negative";
	font-style: normal;
	font-weight: 500;
	src: url("/output-47/face-500.woff2") format("woff2");
}
@font-face {
	font-display: swap;
	font-family: "Signika Negative";
	font-style: normal;
	font-weight: 600;
	src: url("/output-47/face-600.woff2") format("woff2");
}

/* ============ token ============ */
:root {
	--jtl-root: #e86d18;
	--jtl-brand-hot: #00ba8a;
	--jtl-key-active: #018d69;
	--jtl-bg: #201341;
	--jtl-surface-2: #2b1a55;
	--jtl-fg: #ffffff;
	--jtl-subtle: #c1c1c1;
	--jtl-stroke: #3a2568;
	--jtl-stroke-heavy: #54397f;
	--jtl-grad-1: #3cfdcc;
	--jtl-gradient-mid: #01ebb1;
	--jtl-rg-banner: #a71e34;

	--jtl-2xs: 5px;
	--jtl-xs: 10px;
	--jtl-sm: 15px;
	--jtl-md: 25px;
	--jtl-lg: 40px;
	--jtl-xl: 60px;
	--jtl-2xl: 90px;
	--jtl-3xl: 140px;

	--jtl-pill: 9999px;
	--jtl-round-full: 50%;
	--r-2xs: 1px;
	--r-xs: 2px;
	--r-sm: 8px;
	--r-md: 14px;
	--r-lg: 22px;
	--r-xl: 28px;
	--r-2xl: 34px;
	--r-3xl: 42px;

	--jtl-title: "Signika Negative", "Trebuchet MS", sans-serif;
	--jtl-body: "Signika Negative", "Trebuchet MS", sans-serif;

	--jtl-xxl: 48px;
	--jtl-h2: 36px;
	--jtl-display-3: 26px;
	--jtl-sub-2: 21px;
	--jtl-sm-2: 18px;
	--jtl-xs-2: 16px;
	--jtl-normal: 19px;
	--z-sm: 16px;
	--jtl-mini: 14px;

	--jtl-dense: 1.2;
	--jtl-even: 1.7;
	--jtl-airy: 2;

	--jtl-regular: 400;
	--jtl-medium: 500;
	--jtl-black: 600;

	--jtl-snug: -0.01em;
	--e-even: 0;
	--jtl-open: 0.02em;

	--d-2xs: 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
	--d-xs: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
	--d-sm: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
	--d-md: 0 8px 24px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
	--d-lg: 0 16px 48px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
	--d-xl: 0 22px 60px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(255, 255, 255, 0.13) inset;
	--d-2xl: 0 28px 72px rgba(0, 0, 0, 0.38), 0 0 0 1px rgba(255, 255, 255, 0.14) inset;
	--d-3xl: 0 34px 88px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.15) inset;

	--jtl-snap: 234ms;
	--jtl-base: 400ms;
	--jtl-easy: 686ms;
	--jtl-settle: cubic-bezier(0.31, 0.89, 0.46, 0.99);
	--jtl-start: cubic-bezier(0.4, 0.02, 0.41, 0.94);
	--jtl-in-out: cubic-bezier(0.4, 0.02, 0.41, 0.94);
	--jtl-overshoot: cubic-bezier(0.23, 1.5, 0.5, 0.95);

	--jtl-site: 1120px;
	--jtl-readable: 1120px;
	--jtl-narrow: 550px;
	--jtl-padding-desktop: 32px;
	--jtl-padding-tablet: 20px;
	--jtl-inset-mobile: 14px;

	--jtl-slim: 1px;
	--b-base: 2px;
	--jtl-bold: 3px;

	--jtl-height-desktop: 80px;
	--jtl-height-mobile: 64px;

	--jtl-sec-y: 44px;
	--jtl-shell-h: 80px;
	--jtl-edge: var(--jtl-inset-mobile);
}

/* ============ scala mobile ============ */
@media (max-width: 759px) {
	:root {
		--jtl-xxl: 32px;
		--jtl-h2: 26px;
		--jtl-display-3: 22px;
		--jtl-sub-2: 19px;
		--jtl-sm-2: 17px;
		--jtl-xs-2: 15px;
		--jtl-normal: 18px;
		--z-sm: 15px;
		--jtl-mini: 13px;
		--jtl-sec-y: 34px;
	}
}

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

html,
body {
	overflow-x: clip;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	background: var(--jtl-bg);
	color: var(--jtl-fg);
	display: flex;
	flex-direction: column;
	font-family: var(--jtl-body);
	font-size: var(--jtl-normal);
	font-weight: var(--jtl-regular);
	letter-spacing: var(--e-even);
	line-height: var(--jtl-airy);
	margin: 0;
	min-height: 100vh;
}

.main {
	display: block;
	flex: 1 0 auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: anywhere;
	margin: 0;
}

h1 {
	font-family: var(--jtl-title);
	font-size: clamp(30px, 5vw, var(--jtl-xxl));
	font-weight: var(--jtl-black);
	letter-spacing: var(--jtl-snug);
	line-height: var(--jtl-dense);
}

h2 {
	font-family: var(--jtl-title);
	font-size: clamp(24px, 3.6vw, var(--jtl-h2));
	font-weight: var(--jtl-black);
	letter-spacing: var(--jtl-snug);
	line-height: var(--jtl-dense);
}

h3 {
	font-family: var(--jtl-body);
	font-size: var(--jtl-display-3);
	font-weight: var(--jtl-black);
	line-height: var(--jtl-dense);
}

h4 {
	font-family: var(--jtl-body);
	font-size: var(--jtl-sub-2);
	font-weight: var(--jtl-black);
	line-height: var(--jtl-dense);
}

h5 {
	font-family: var(--jtl-body);
	font-size: var(--jtl-sm-2);
	font-weight: var(--jtl-medium);
	line-height: var(--jtl-dense);
}

h6 {
	font-family: var(--jtl-body);
	font-size: var(--jtl-xs-2);
	font-weight: var(--jtl-medium);
	line-height: var(--jtl-dense);
}

p {
	margin: 0 0 var(--jtl-sm);
}

img {
	max-width: 100%;
}

ul,
ol {
	margin: 0;
	padding: 0;
}

a {
	color: var(--jtl-brand-hot);
}

table {
	border-collapse: collapse;
}

button {
	font: inherit;
}

/* ============ accessibilita ============ */
.skip-step {
	background: var(--jtl-fg);
	border-radius: var(--r-xs);
	color: var(--jtl-bg);
	font-weight: var(--jtl-black);
	inset-inline-start: 12px;
	padding: 10px 18px;
	position: fixed;
	text-decoration: none;
	top: 12px;
	z-index: 200;
}

.skip-step:not(:focus) {
	top: -200px;
}

.sr-only {
	block-size: 1px;
	clip-path: inset(50%);
	inline-size: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
}

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

/* ============ contenitori ============ */
.r50-shell,
.m82-shell,
.d57-shell,
.r07-shell,
.t18-shell,
.e50-shell,
.p16-shell,
.i41-shell,
.x47-shell,
.l93-shell,
.j60-shell,
.x61-shell,
.o68-shell,
.l87-shell,
.m42-shell {
	display: block;
	margin-inline: auto;
	max-width: calc(var(--jtl-site) + 2 * var(--jtl-padding-desktop));
	padding-inline: var(--jtl-edge);
	width: 100%;
}

@media (min-width: 760px) {
	:root {
		--jtl-edge: var(--jtl-padding-tablet);
	}
}

@media (min-width: 1080px) {
	:root {
		--jtl-edge: var(--jtl-padding-desktop);
	}
}

/* ============ intestazione ============ */
.g30 {
	background: var(--jtl-bg);
	border-block-end: var(--jtl-slim) solid var(--jtl-stroke);
	color: var(--jtl-fg);
	position: relative;
	z-index: 60;
}

.g30-deck {
	align-items: center;
	display: flex;
	gap: 12px;
	margin-inline: auto;
	max-width: calc(var(--jtl-site) + 2 * var(--jtl-padding-desktop));
	min-height: 80px;
	padding-inline: var(--jtl-edge);
	position: relative;
	width: 100%;
}

.g30-menu-lever {
	align-items: center;
	background: var(--jtl-surface-2);
	border: 0;
	border-radius: var(--r-xs);
	color: var(--jtl-fg);
	cursor: pointer;
	display: grid;
	gap: 4px;
	grid-template-columns: repeat(2, 8px);
	justify-content: center;
	min-block-size: 44px;
	min-inline-size: 44px;
	padding: 0;
	position: relative;
}

.g30-dot {
	background: var(--jtl-fg);
	block-size: 8px;
	border-radius: var(--r-2xs);
	display: block;
	inline-size: 8px;
	transition: opacity var(--jtl-snap) var(--jtl-settle);
}

.g30-menu-lever[aria-expanded="true"] .g30-dot {
	block-size: 2px;
	inline-size: 20px;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	margin-block-start: -1px;
	margin-inline-start: -10px;
	position: absolute;
}

.g30-menu-lever[aria-expanded="true"] .g30-dot:nth-child(1) {
	transform: rotate(45deg);
}

.g30-menu-lever[aria-expanded="true"] .g30-dot:nth-child(2),
.g30-menu-lever[aria-expanded="true"] .g30-dot:nth-child(3) {
	opacity: 0;
}

.g30-menu-lever[aria-expanded="true"] .g30-dot:nth-child(4) {
	transform: rotate(-45deg);
}

.g30-map {
	display: none;
	flex: 0 0 auto;
	margin-inline-end: auto;
	min-width: 0;
}

.g30-chain {
	align-items: center;
	display: flex;
	gap: 6px;
	list-style: none;
}

.g30-piece {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
}

.g30-piece[hidden] {
	display: none;
}

.g30-piece + .g30-piece::before {
	color: var(--jtl-stroke-heavy);
	content: "\00b7";
	margin-inline-end: 6px;
}

.g30-step {
	border: var(--jtl-slim) solid transparent;
	border-radius: var(--jtl-pill);
	color: var(--jtl-fg);
	display: inline-block;
	font-size: 16px;
	font-weight: 400;
	padding: 6px 8px;
	position: relative;
	text-decoration: none;
	text-transform: none;
	transition: transform var(--jtl-snap) var(--jtl-settle), color var(--jtl-snap) var(--jtl-settle);
	white-space: nowrap;
}

.g30-step:hover {
	color: var(--jtl-grad-1);
	transform: translateY(-2px);
}

.g30-step[aria-current="page"] {
	background: var(--jtl-stroke);
	border-color: var(--jtl-root);
	color: var(--jtl-fg);
	font-weight: var(--jtl-black);
}

.g30-extra {
	flex: 0 0 auto;
	position: relative;
}

.g30-extra[hidden] {
	display: none;
}

.g30-more-opener {
	background: var(--jtl-surface-2);
	border: var(--jtl-slim) solid var(--jtl-stroke-heavy);
	border-radius: var(--jtl-pill);
	color: var(--jtl-fg);
	cursor: pointer;
	font-size: 16px;
	font-weight: 400;
	padding: 6px 12px;
	white-space: nowrap;
}

.g30-more-opener:hover {
	color: var(--jtl-grad-1);
}

.g30-more-pane {
	background: var(--jtl-surface-2);
	border: var(--jtl-slim) solid var(--jtl-stroke-heavy);
	border-radius: var(--r-md);
	box-shadow: var(--d-lg);
	display: none;
	inset-block-start: calc(100% + 8px);
	inset-inline-end: 0;
	list-style: none;
	max-height: 62vh;
	min-width: 220px;
	overflow-y: auto;
	padding: var(--jtl-xs);
	pointer-events: none;
	position: absolute;
	z-index: 70;
}

.g30-more-pane.is-open {
	display: block;
	pointer-events: auto;
}

.g30-more-pane .g30-piece {
	display: block;
}

.g30-more-pane .g30-piece::before {
	content: none;
}

.g30-more-pane .g30-step {
	display: block;
	padding: 8px 12px;
	white-space: normal;
}

.g30-acts {
	display: flex;
	flex: 0 0 auto;
	gap: var(--jtl-xs);
	margin-inline-start: auto;
}

.g30-logo {
	align-items: center;
	background: var(--jtl-surface-2);
	border: var(--jtl-slim) solid var(--jtl-stroke);
	border-radius: var(--jtl-pill);
	color: var(--jtl-fg);
	display: inline-flex;
	flex-shrink: 0;
	padding: 5px 10px;
}

.g30-visual {
	block-size: 60px;
	display: block;
	flex-shrink: 0;
	inline-size: auto;
}

.g30-slide {
	background: var(--jtl-surface-2);
	border-block-start: var(--jtl-slim) solid var(--jtl-stroke);
	display: none;
	inset-block-start: 100%;
	inset-inline: 0;
	max-height: 70vh;
	overflow-y: auto;
	position: absolute;
	z-index: 65;
}

.g30-slide.is-open {
	display: block;
}

.g30-band {
	list-style: none;
	padding: var(--jtl-xs) var(--jtl-edge) var(--jtl-md);
}

.g30-band .g30-piece {
	display: block;
}

.g30-band .g30-piece + .g30-piece::before {
	content: none;
}

.g30-band .g30-step {
	border-block-end: var(--jtl-slim) solid var(--jtl-stroke);
	border-inline: 0;
	border-radius: 0;
	display: block;
	padding: 12px 4px;
	white-space: normal;
}

@media (min-width: 900px) {
	.g30-menu-lever {
		display: none;
	}

	.g30-map {
		display: block;
	}

	.g30-slide,
	.g30-slide.is-open {
		display: none;
	}
}

@media (max-width: 1199px) {
	.g30-visual {
		block-size: 48px;
	}
}

@media (max-width: 899px) {
	.g30-deck {
		gap: var(--jtl-xs);
		min-height: 64px;
	}

	.g30-visual {
		block-size: 40px;
	}

	.g30-logo {
		padding: 4px 10px;
	}
}

@media (max-width: 619px) {
	.g30-deck {
		flex-wrap: wrap;
		padding-block: 8px;
	}

	.g30-acts {
		flex-basis: 100%;
		order: 4;
	}

	.g30-visual {
		block-size: 34px;
	}
}

/* ============ fascia 18+ ============ */
.rg-wrap {
	background: var(--jtl-rg-banner);
	color: var(--jtl-fg);
	display: block;
	font-size: var(--jtl-mini);
	line-height: 1.45;
	padding: 8px var(--jtl-edge);
	text-align: center;
}

.rg-say {
	color: var(--jtl-fg);
	margin: 0;
}

.rg-mark {
	align-items: center;
	background: var(--jtl-fg);
	border-radius: var(--jtl-pill);
	color: var(--jtl-rg-banner);
	display: inline-flex;
	font-weight: var(--jtl-black);
	margin-inline-end: 8px;
	padding: 1px 8px;
}

.rg-step {
	color: var(--jtl-fg);
	text-underline-offset: 3px;
}

@media (max-width: 619px) {
	.rg-hide {
		display: none;
	}
}

/* ============ briciole ============ */
.m42 {
	padding-block: var(--jtl-sm);
}

.m42-chain {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--jtl-2xs);
	list-style: none;
}

.m42-piece {
	align-items: center;
	color: var(--jtl-subtle);
	display: flex;
	font-size: var(--z-sm);
	letter-spacing: var(--jtl-open);
	text-transform: uppercase;
}

.m42-piece + .m42-piece::before {
	color: var(--jtl-stroke-heavy);
	content: "\2014";
	margin-inline: var(--jtl-sm);
}

.m42-num {
	color: var(--jtl-root);
	font-family: var(--jtl-title);
	font-size: var(--jtl-xs-2);
	font-weight: var(--jtl-black);
	margin-inline-end: var(--jtl-2xs);
}

.m42-step {
	color: var(--jtl-subtle);
	text-decoration: none;
}

.m42-step:hover {
	color: var(--jtl-grad-1);
}

.m42-cap {
	color: var(--jtl-fg);
}

/* ============ primo schermo ============ */
.r50 {
	background-color: var(--jtl-bg);
	background-image: linear-gradient(120deg, rgba(32, 19, 65, 0.95) 0%, rgba(32, 19, 65, 0.78) 45%, rgba(32, 19, 65, 0.9) 100%), url("/output-47/headline.webp");
	background-position: center;
	background-size: cover;
	border-block-end: var(--jtl-slim) solid var(--jtl-stroke);
	color: var(--jtl-fg);
	padding-block: var(--jtl-sec-y);
}

.r50-grid {
	display: grid;
	gap: var(--jtl-lg);
	grid-template-columns: minmax(0, 1fr);
}

.r50-main {
	padding-block: var(--jtl-sm);
}

.r50-under {
	color: var(--jtl-fg);
	font-size: var(--jtl-sub-2);
	line-height: var(--jtl-even);
	margin-block: var(--jtl-md) var(--jtl-md);
	max-width: var(--jtl-narrow);
}

.r50-day {
	color: var(--jtl-grad-1);
	display: block;
	font-size: var(--jtl-mini);
	font-weight: var(--jtl-black);
	letter-spacing: var(--jtl-open);
	margin-block-end: var(--jtl-sm);
	text-transform: uppercase;
}

.r50-note {
	color: var(--jtl-subtle);
	display: block;
	font-size: var(--jtl-mini);
	margin-block-start: var(--jtl-sm);
}

.r50-chain {
	display: flex;
	flex-direction: column;
	gap: var(--jtl-md);
	list-style: none;
}

.r50-piece {
	align-items: center;
	background: var(--jtl-surface-2);
	border: var(--jtl-slim) solid var(--jtl-stroke);
	border-radius: var(--r-md);
	box-shadow: var(--d-sm);
	color: var(--jtl-fg);
	display: flex;
	gap: var(--jtl-sm);
	padding: var(--jtl-md);
	transition: border-color var(--jtl-snap) var(--jtl-settle);
}

.r50-piece:hover {
	border-color: var(--jtl-brand-hot);
}

.r50-num {
	color: var(--jtl-root);
	flex-shrink: 0;
	font-family: var(--jtl-title);
	font-size: var(--jtl-display-3);
	font-weight: var(--jtl-black);
	line-height: 1;
}

.r50-lede {
	color: var(--jtl-fg);
	font-size: var(--jtl-normal);
	font-weight: var(--jtl-black);
	line-height: var(--jtl-dense);
}

@media (min-width: 1080px) {
	.r50-grid {
		grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	}
}

/* ============ testata pagina ============ */
.m82 {
	background: var(--jtl-root);
	color: var(--jtl-bg);
	padding-block: var(--jtl-sec-y);
}

.m82-banner {
	color: var(--jtl-bg);
	font-size: clamp(30px, 6vw, 56px);
}

.m82-day {
	color: var(--jtl-bg);
	display: block;
	font-size: var(--jtl-mini);
	font-weight: var(--jtl-black);
	letter-spacing: var(--jtl-open);
	margin-block-end: var(--jtl-sm);
	text-transform: uppercase;
}

/* ============ testo ============ */
.d57 {
	counter-reset: d57num;
	padding-block: var(--jtl-sec-y);
}

.d57-sect {
	counter-increment: d57num;
	margin-block-end: var(--jtl-md);
}

.d57-lede {
	align-items: center;
	display: flex;
	gap: var(--jtl-sm);
	margin-block: var(--jtl-md) var(--jtl-sm);
}

.d57-sect:first-child .d57-lede {
	margin-block-start: 0;
}

.d57-plate {
	align-items: center;
	background: var(--jtl-root);
	block-size: 40px;
	border-radius: var(--r-md);
	color: var(--jtl-bg);
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--jtl-title);
	font-size: var(--jtl-sub-2);
	font-weight: var(--jtl-black);
	inline-size: 40px;
	justify-content: center;
	line-height: 1;
}

.d57-plate::before {
	content: counter(d57num);
}

.d57-copy {
	color: var(--jtl-fg);
	line-height: var(--jtl-airy);
	margin-block-end: var(--jtl-sm);
}

.d57-chain {
	list-style: none;
	margin-block-end: var(--jtl-md);
}

.d57-piece {
	color: var(--jtl-fg);
	line-height: var(--jtl-even);
	padding-block: 4px;
	padding-inline-start: var(--jtl-md);
	position: relative;
}

.d57-piece::before {
	color: var(--jtl-brand-hot);
	content: "\25b8";
	inset-inline-start: 0;
	position: absolute;
}

.d57-copy a,
.d57-piece a {
	color: var(--jtl-grad-1);
	position: relative;
	text-decoration: none;
}

.d57-copy a::after,
.d57-piece a::after {
	border-block-end: 2px solid var(--jtl-grad-1);
	content: "";
	inset-block-end: -2px;
	inset-inline: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--jtl-snap) var(--jtl-settle);
}

.d57-copy a:hover::after,
.d57-piece a:hover::after {
	transform: scaleX(1);
}

.pic-frame {
	display: block;
	margin: 0 auto var(--jtl-md);
	width: 100%;
}

.pic-wide {
	max-width: 700px;
}

.pic-square {
	max-width: 460px;
}

.pic-tall {
	max-width: 360px;
}

.pic-shot {
	border: var(--jtl-slim) solid var(--jtl-stroke);
	border-radius: var(--r-md);
	display: block;
	height: auto;
	width: 100%;
}

/* ============ griglia schede ============ */
.r07 {
	padding-block: var(--jtl-sec-y);
}

.r07-banner {
	margin-block-end: var(--jtl-md);
}

.r07-stack {
	display: grid;
	gap: var(--jtl-sm);
	grid-template-columns: minmax(0, 1fr);
}

.r07-piece {
	align-items: stretch;
	background: var(--jtl-surface-2);
	border: var(--jtl-slim) solid var(--jtl-stroke);
	border-radius: var(--r-md);
	box-shadow: var(--d-xs);
	color: var(--jtl-fg);
	display: flex;
	flex-direction: column;
	gap: var(--jtl-xs);
	justify-content: center;
	padding: var(--jtl-md);
	transition: border-color var(--jtl-snap) var(--jtl-settle);
}

.r07-piece:hover {
	border-color: var(--jtl-brand-hot);
}

.r07-mark {
	align-items: center;
	background: var(--jtl-bg);
	block-size: 44px;
	border: var(--jtl-slim) solid var(--jtl-stroke-heavy);
	border-radius: var(--r-sm);
	color: var(--jtl-root);
	display: inline-flex;
	inline-size: 44px;
	justify-content: center;
}

.r07-mark svg {
	block-size: 22px;
	fill: currentColor;
	inline-size: 22px;
}

.r07-lede {
	color: var(--jtl-fg);
	font-size: var(--jtl-sub-2);
}

.r07-copy {
	color: var(--jtl-subtle);
	font-size: var(--z-sm);
	line-height: var(--jtl-even);
	margin: 0;
}

@media (min-width: 620px) {
	.r07-stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.r07-span1 {
		grid-column: span 1;
	}

	.r07-span2,
	.r07-span3,
	.r07-span4 {
		grid-column: span 2;
	}
}

@media (min-width: 1080px) {
	.r07-stack {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.r07-span2 {
		grid-column: span 2;
	}

	.r07-span3 {
		grid-column: span 3;
	}

	.r07-span4 {
		grid-column: span 4;
	}

	.r07-piece.r07-span2 .r07-lede,
	.r07-piece.r07-span3 .r07-lede,
	.r07-piece.r07-span4 .r07-lede {
		font-size: var(--jtl-display-3);
	}

	.r07-piece.r07-span2 .r07-copy,
	.r07-piece.r07-span3 .r07-copy,
	.r07-piece.r07-span4 .r07-copy {
		font-size: var(--jtl-normal);
		line-height: var(--jtl-airy);
	}
}

/* ============ domande ============ */
.t18 {
	padding-block: var(--jtl-sec-y);
}

.t18-banner {
	margin-block-end: var(--jtl-md);
}

.t18-chain {
	display: block;
}

.t18-piece {
	border-block-end: var(--jtl-slim) solid var(--jtl-stroke-heavy);
	padding-block: var(--jtl-sm);
}

.t18-piece > summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: var(--jtl-sm);
	justify-content: space-between;
	list-style: none;
}

.t18-piece > summary::-webkit-details-marker {
	display: none;
}

.t18-lede {
	color: var(--jtl-fg);
	font-size: var(--jtl-sm-2);
	font-weight: var(--jtl-black);
	transition: color var(--jtl-snap) var(--jtl-settle);
}

.t18-piece > summary:hover .t18-lede {
	color: var(--jtl-brand-hot);
}

.t18-mark {
	align-items: center;
	background: var(--jtl-surface-2);
	block-size: 32px;
	border-radius: var(--jtl-round-full);
	color: var(--jtl-brand-hot);
	display: inline-flex;
	flex-shrink: 0;
	font-size: var(--jtl-sub-2);
	inline-size: 32px;
	justify-content: center;
	line-height: 1;
}

.t18-piece[open] .t18-mark::before {
	content: "\2212";
}

.t18-piece:not([open]) .t18-mark::before {
	content: "+";
}

.t18-say {
	animation: t18fade var(--jtl-base) var(--jtl-settle);
	color: var(--jtl-subtle);
	line-height: var(--jtl-airy);
	overflow: hidden;
	padding-block-start: var(--jtl-sm);
}

.t18-say p {
	margin: 0;
}

@keyframes t18fade {
	from {
		max-height: 0;
		opacity: 0;
	}

	to {
		max-height: 600px;
		opacity: 1;
	}
}

/* ============ voci ============ */
.e50 {
	padding-block: var(--jtl-sec-y);
}

.e50-banner {
	margin-block-end: var(--jtl-md);
}

.e50-chain {
	display: block;
	list-style: none;
}

.e50-piece {
	border-block-end: var(--jtl-slim) dotted var(--jtl-stroke-heavy);
	padding-block: var(--jtl-md);
}

.e50-tag {
	color: var(--jtl-subtle);
	display: block;
	font-size: var(--z-sm);
	margin-block-end: var(--jtl-2xs);
}

.e50-who {
	color: var(--jtl-fg);
	font-size: var(--jtl-normal);
	font-weight: var(--jtl-medium);
}

.e50-grade {
	color: var(--jtl-root);
	margin-inline-start: var(--jtl-2xs);
}

.e50-copy {
	color: var(--jtl-fg);
	border: 0;
	line-height: var(--jtl-airy);
	margin: 0;
	padding: 0;
}

/* ============ tabella ============ */
.p16 {
	padding-block: var(--jtl-sec-y);
}

.p16-banner {
	margin-block-end: var(--jtl-md);
}

.p16-hold {
	-webkit-overflow-scrolling: touch;
	overflow-x: auto;
}

.p16-grid {
	inline-size: 100%;
}

.p16-grid thead th {
	background: var(--jtl-surface-2);
	color: var(--jtl-fg);
	font-size: var(--jtl-mini);
	font-weight: var(--jtl-black);
	letter-spacing: var(--jtl-open);
	padding: var(--jtl-sm);
	text-align: start;
	text-transform: uppercase;
}

.p16-grid td {
	border-block-end: var(--jtl-slim) solid var(--jtl-stroke);
	color: var(--jtl-fg);
	font-size: var(--z-sm);
	padding: var(--jtl-xs) var(--jtl-sm);
	vertical-align: top;
}

.p16-grid tbody tr:nth-child(even) td {
	background: rgba(43, 26, 85, 0.6);
}

/* ============ blocco invito ============ */
.i41 {
	background: var(--jtl-brand-hot);
	box-shadow: var(--d-lg);
	color: var(--jtl-bg);
	padding-block: var(--jtl-md);
	position: relative;
	z-index: 40;
}

.i41-hold {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--jtl-sm);
	justify-content: space-between;
}

.i41-main {
	flex: 1 1 300px;
}

.i41-banner {
	color: var(--jtl-bg);
	font-size: var(--jtl-sub-2);
	font-weight: var(--jtl-black);
	line-height: var(--jtl-dense);
}

.i41-copy {
	color: var(--jtl-bg);
	font-size: var(--z-sm);
	line-height: var(--jtl-even);
	margin: var(--jtl-2xs) 0 0;
	max-width: var(--jtl-narrow);
}

.i41-acts {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: var(--jtl-xs);
}

.i41-later {
	background: transparent;
	border: 0;
	color: var(--jtl-bg);
	cursor: pointer;
	font-size: var(--jtl-display-3);
	line-height: 1;
	padding: 6px 10px;
}

.i41[hidden] {
	display: none;
}

/* ============ invito nel testo ============ */
.x47 {
	background: var(--jtl-surface-2);
	border-block: var(--jtl-slim) solid var(--jtl-stroke-heavy);
	color: var(--jtl-fg);
	display: block;
	margin-block: var(--jtl-md);
	padding-block: var(--jtl-md);
}

.x47-hold {
	margin-inline: auto;
	max-width: var(--jtl-narrow);
	text-align: center;
}

.x47-say {
	color: var(--jtl-fg);
	font-family: var(--jtl-title);
	font-size: var(--jtl-display-3);
	font-style: italic;
	line-height: var(--jtl-dense);
	margin-block-end: var(--jtl-sm);
}

.x47-note {
	color: var(--jtl-subtle);
	display: block;
	font-size: var(--jtl-mini);
	margin-block-start: var(--jtl-xs);
}

/* ============ pagine legali ============ */
.l93 {
	padding-block: var(--jtl-sec-y);
}

.l93-day {
	color: var(--jtl-subtle);
	display: block;
	font-size: var(--jtl-mini);
	letter-spacing: var(--jtl-open);
	margin-block-end: var(--jtl-xs);
	text-transform: uppercase;
}

.l93-under {
	color: var(--jtl-fg);
	font-family: var(--jtl-title);
	font-size: var(--jtl-sub-2);
	font-style: italic;
	line-height: var(--jtl-even);
	margin-block-end: var(--jtl-lg);
}

.l93-sect {
	margin-block-end: var(--jtl-lg);
}

.l93-lede {
	color: var(--jtl-fg);
	font-family: var(--jtl-title);
	font-size: var(--jtl-display-3);
	font-style: italic;
	font-weight: var(--jtl-black);
}

.l93-rule {
	border: 0;
	border-block-start: var(--b-base) solid var(--jtl-root);
	inline-size: 80px;
	margin: var(--jtl-xs) 0 var(--jtl-sm);
}

.l93-copy {
	color: var(--jtl-fg);
	line-height: var(--jtl-airy);
	margin-block-end: var(--jtl-sm);
}

.l93-sect .l93-copy:first-of-type::first-letter {
	color: var(--jtl-root);
	float: left;
	font-family: var(--jtl-title);
	font-size: 3em;
	font-weight: var(--jtl-black);
	line-height: 0.9;
	padding-inline-end: 8px;
}

.l93-chain {
	list-style: none;
	margin-block: var(--jtl-md);
}

.l93-band {
	border-block-end: var(--jtl-slim) solid var(--jtl-stroke);
	color: var(--jtl-fg);
	display: flex;
	flex-wrap: wrap;
	gap: var(--jtl-2xs) var(--jtl-sm);
	padding-block: var(--jtl-xs);
}

.l93-cap {
	color: var(--jtl-root);
	flex: 0 0 200px;
	font-weight: var(--jtl-black);
}

.l93-say {
	color: var(--jtl-fg);
	flex: 1 1 260px;
	font-size: var(--z-sm);
}

.l93-note {
	background: var(--jtl-surface-2);
	border-inline-start: var(--jtl-bold) solid var(--jtl-root);
	color: var(--jtl-subtle);
	display: block;
	font-size: var(--z-sm);
	line-height: var(--jtl-even);
	margin-block-start: var(--jtl-md);
	padding: var(--jtl-sm) var(--jtl-md);
}

/* ============ modulo ============ */
.j60 {
	padding-block: var(--jtl-sec-y);
}

.j60-banner {
	margin-block-end: var(--jtl-sm);
}

.j60-copy {
	color: var(--jtl-subtle);
	margin-block-end: var(--jtl-md);
}

.j60-form {
	align-items: flex-end;
	background: var(--jtl-surface-2);
	border: var(--jtl-slim) solid var(--jtl-stroke);
	border-radius: var(--r-md);
	display: flex;
	flex-wrap: wrap;
	gap: var(--jtl-sm);
	padding: var(--jtl-md);
}

.j60-line {
	display: flex;
	flex: 1 1 220px;
	flex-direction: column;
	gap: var(--jtl-2xs);
}

.j60-cap {
	color: var(--jtl-subtle);
	font-size: var(--jtl-mini);
	letter-spacing: var(--jtl-open);
	text-transform: uppercase;
}

.j60-line input,
.j60-line textarea {
	background: var(--jtl-bg);
	border: var(--jtl-slim) solid var(--jtl-stroke-heavy);
	border-radius: var(--r-xs);
	color: var(--jtl-fg);
	font-family: var(--jtl-body);
	font-size: var(--z-sm);
	min-block-size: 46px;
	padding: 10px 12px;
	width: 100%;
}

.j60-go {
	background: var(--jtl-root);
	border: 0;
	border-radius: var(--r-xs);
	color: var(--jtl-bg);
	cursor: pointer;
	flex: 0 0 auto;
	font-weight: var(--jtl-black);
	min-block-size: 46px;
	padding: 10px var(--jtl-md);
	transition: transform var(--jtl-snap) var(--jtl-settle);
}

.j60-go:hover {
	background: var(--jtl-root);
	color: var(--jtl-bg);
	transform: translateY(1px);
}

.j60-say {
	background: var(--jtl-brand-hot);
	border-radius: var(--r-sm);
	color: var(--jtl-bg);
	display: block;
	font-weight: var(--jtl-medium);
	margin-block-start: var(--jtl-sm);
	padding: var(--jtl-sm) var(--jtl-md);
}

.j60-say[hidden] {
	display: none;
}

@media (max-width: 759px) {
	.j60-line {
		flex: 0 0 auto;
		width: 100%;
	}

	.j60-go {
		width: 100%;
	}
}

/* ============ scheda autrice ============ */
.x61 {
	background: var(--jtl-surface-2);
	color: var(--jtl-fg);
	padding-block: var(--jtl-sec-y);
}

.x61-grid {
	display: grid;
	gap: var(--jtl-lg);
	grid-template-columns: minmax(0, 1fr);
}

.x61-frame {
	align-self: start;
	background: var(--jtl-bg);
	border: var(--jtl-slim) solid var(--jtl-stroke-heavy);
	border-radius: var(--r-lg);
	box-shadow: var(--d-lg);
	display: block;
	margin: 0;
	max-width: 256px;
	overflow: hidden;
	padding: 6px;
	width: 100%;
}

.x61-face {
	block-size: auto;
	border-radius: var(--r-md);
	display: block;
	inline-size: 100%;
	object-fit: cover;
}

.x61-day {
	color: var(--jtl-brand-hot);
	display: block;
	font-size: var(--z-sm);
	letter-spacing: var(--jtl-open);
	margin-block-end: var(--jtl-xs);
	text-transform: uppercase;
}

.x61-banner {
	color: var(--jtl-fg);
	font-size: clamp(32px, 5.5vw, 56px);
}

.x61-bio {
	color: var(--jtl-fg);
	font-size: var(--jtl-sm-2);
	line-height: var(--jtl-even);
	margin-block: var(--jtl-md);
	max-width: 620px;
}

.x61-chain {
	display: flex;
	flex-wrap: wrap;
	gap: var(--jtl-xs);
	list-style: none;
}

.x61-skill {
	background: var(--jtl-bg);
	border: var(--jtl-slim) solid var(--jtl-stroke-heavy);
	border-radius: var(--jtl-pill);
	color: var(--jtl-fg);
	font-size: var(--jtl-mini);
	padding: 6px 14px;
}

.x61-more {
	padding-block: var(--jtl-sec-y);
}

.x61-more-banner {
	margin-block-end: var(--jtl-md);
}

.x61-more-chain {
	display: grid;
	gap: var(--jtl-sm);
	grid-template-columns: minmax(0, 1fr);
	list-style: none;
}

.x61-more-piece {
	background: var(--jtl-surface-2);
	border: var(--jtl-slim) solid var(--jtl-stroke);
	border-radius: var(--r-md);
	padding: var(--jtl-md);
	transition: border-color var(--jtl-snap) var(--jtl-settle);
}

.x61-more-piece:hover {
	border-color: var(--jtl-brand-hot);
}

.x61-more-step {
	color: var(--jtl-grad-1);
	font-size: var(--jtl-sm-2);
	font-weight: var(--jtl-black);
	text-decoration: none;
}

.x61-more-copy {
	color: var(--jtl-subtle);
	font-size: var(--z-sm);
	margin: var(--jtl-2xs) 0 0;
}

@media (min-width: 1080px) {
	.x61-grid {
		grid-template-columns: 240px minmax(0, 1fr);
	}

	.x61-more-chain {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ============ firma ============ */
.o68 {
	border-block-start: var(--jtl-slim) solid var(--jtl-stroke);
	display: block;
	margin-block-start: var(--jtl-md);
	padding-block: var(--jtl-md);
}

.o68-hold {
	align-items: center;
	display: flex;
	gap: var(--jtl-sm);
}

.o68-face {
	block-size: 56px;
	border-radius: var(--jtl-round-full);
	display: block;
	flex-shrink: 0;
	inline-size: 56px;
	object-fit: cover;
	object-position: center top;
}

.o68-main {
	display: block;
}

.o68-say {
	color: var(--jtl-subtle);
	margin: 0;
}

.o68-ident {
	color: var(--jtl-grad-1);
	text-underline-offset: 3px;
}

.o68-role {
	color: var(--jtl-subtle);
	font-size: var(--z-sm);
	font-style: italic;
	margin: var(--jtl-2xs) 0 0;
}

/* ============ errore ============ */
.l87 {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	justify-content: center;
	padding-block: var(--jtl-2xl);
}

.l87-hold {
	margin-inline: auto;
	max-width: var(--jtl-narrow);
	text-align: center;
}

.l87-banner {
	color: var(--jtl-fg);
	font-size: clamp(24px, 4vw, var(--jtl-h2));
}

.l87-copy {
	color: var(--jtl-subtle);
	line-height: var(--jtl-airy);
	margin-block: var(--jtl-md);
}

.l87-back {
	background: var(--jtl-root);
	border-radius: var(--r-xs);
	color: var(--jtl-bg);
	display: inline-flex;
	align-items: center;
	font-weight: var(--jtl-black);
	min-block-size: 44px;
	padding: 8px var(--jtl-md);
	text-decoration: none;
	transition: transform var(--jtl-snap) var(--jtl-settle);
}

.l87-back:hover {
	background: var(--jtl-root);
	color: var(--jtl-bg);
	transform: translateY(1px);
}

/* ============ pie di pagina ============ */
.a10 {
	background: var(--jtl-root);
	color: var(--jtl-bg);
	padding-block-start: var(--jtl-2xl);
}

.a10-frame {
	display: grid;
	gap: var(--jtl-lg);
	grid-template-columns: minmax(0, 1fr);
	margin-inline: auto;
	max-width: calc(var(--jtl-site) + 2 * var(--jtl-padding-desktop));
	padding-block-end: var(--jtl-lg);
	padding-inline: var(--jtl-edge);
	width: 100%;
}

.a10-part {
	display: block;
}

.a10-logo {
	align-items: center;
	background: var(--jtl-bg);
	border-radius: var(--jtl-pill);
	color: var(--jtl-fg);
	display: inline-flex;
	padding: 6px 16px;
}

.a10-visual {
	block-size: 52px;
	display: block;
	inline-size: auto;
}

.a10-copy {
	color: var(--jtl-bg);
	font-size: var(--z-sm);
	line-height: var(--jtl-even);
	margin-block-start: var(--jtl-sm);
	opacity: 0.85;
}

.a10-lede {
	color: var(--jtl-bg);
	font-family: var(--jtl-title);
	font-size: var(--jtl-xs-2);
	font-weight: var(--jtl-black);
	letter-spacing: var(--jtl-open);
	margin-block-end: var(--jtl-sm);
	text-transform: uppercase;
}

.a10-chain {
	display: flex;
	flex-direction: column;
	gap: var(--jtl-sm);
	list-style: none;
}

.a10-step {
	color: var(--jtl-bg);
	font-size: var(--z-sm);
	font-weight: var(--jtl-regular);
	opacity: 0.85;
	text-decoration: none;
	transition: opacity var(--jtl-snap) var(--jtl-settle);
}

.a10-step:hover {
	color: var(--jtl-bg);
	opacity: 1;
	text-decoration: underline;
}

.a10-band {
	border-block-start: var(--jtl-slim) solid rgba(32, 19, 65, 0.25);
	color: var(--jtl-bg);
	padding-block: var(--jtl-md);
	text-align: center;
}

.a10-day {
	color: var(--jtl-bg);
	font-size: var(--jtl-mini);
	opacity: 0.85;
}

@media (min-width: 760px) {
	.a10-frame {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ============ biscotti ============ */
.q81 {
	background: var(--jtl-bg);
	border-block-start: 4px solid var(--jtl-brand-hot);
	box-shadow: var(--d-2xl);
	color: var(--jtl-fg);
	display: none;
	inset-block-end: 0;
	inset-inline: 0;
	position: fixed;
	z-index: 90;
}

.q81.is-visible {
	display: block;
}

.q81-veil {
	background: rgba(0, 0, 0, 0.4);
	display: none;
	inset: 0;
	pointer-events: none;
	position: fixed;
	z-index: 89;
}

.q81-veil.is-visible {
	display: block;
}

.q81-hold {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--jtl-sm);
	margin-inline: auto;
	max-width: calc(var(--jtl-site) + 2 * var(--jtl-padding-desktop));
	padding: var(--jtl-md) var(--jtl-edge);
	text-align: center;
	width: 100%;
}

.q81-lede {
	color: var(--jtl-fg);
	font-size: var(--jtl-sub-2);
}

.q81-say {
	color: var(--jtl-subtle);
	line-height: var(--jtl-even);
	margin: 0;
	max-width: var(--jtl-narrow);
}

.q81-acts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--jtl-sm);
	justify-content: center;
}

.q81-confirm {
	background: var(--jtl-brand-hot);
	border: 0;
	border-radius: var(--r-xs);
	color: var(--jtl-bg);
	cursor: pointer;
	font-weight: var(--jtl-black);
	min-block-size: 48px;
	padding: 8px var(--jtl-lg);
}

.q81-later {
	background: var(--jtl-surface-2);
	border: var(--jtl-slim) solid var(--jtl-stroke-heavy);
	border-radius: var(--r-xs);
	color: var(--jtl-fg);
	cursor: pointer;
	min-block-size: 48px;
	padding: 8px var(--jtl-lg);
}

@media (max-width: 720px) {
	.q81-hold {
		font-size: 13px;
		gap: 8px;
		line-height: 1.35;
		padding: 12px 14px;
	}

	.q81-lede {
		display: none;
	}

	.q81-confirm,
	.q81-later {
		font-size: 12px;
		min-block-size: 36px;
		padding: 8px 14px;
	}
}

/* ============ bottone offerta ============ */
.ard-act {
	align-items: center;
	background: var(--jtl-root);
	border: 0;
	border-radius: var(--r-xs);
	color: var(--jtl-bg);
	display: inline-flex;
	font-family: var(--jtl-title);
	font-size: var(--z-sm);
	font-weight: var(--jtl-black);
	justify-content: center;
	line-height: 1.2;
	min-block-size: 50px;
	padding: 12px 26px;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.g30-acts .ard-act {
	flex-shrink: 0;
}

@media (max-width: 1499px) {
	.g30-acts .ard-act {
		font-size: 15px;
		padding: 10px 16px;
	}
}

@media (max-width: 899px) {
	.g30-acts .ard-act {
		font-size: 14px;
		min-block-size: 44px;
		padding: 8px 14px;
	}
}

@media (max-width: 619px) {
	.g30-acts .ard-act {
		width: 100%;
	}
}

/* ============ inserti offerta ============ */
.r07-plug,
.e50-plug,
.t18-plug {
	align-items: center;
	background: var(--jtl-bg);
	border: var(--jtl-slim) dashed var(--jtl-root);
	border-radius: var(--r-md);
	color: var(--jtl-fg);
	display: flex;
	flex-wrap: wrap;
	gap: var(--jtl-sm);
	justify-content: space-between;
	padding: var(--jtl-md);
}

.e50-plug,
.t18-plug {
	margin-block: var(--jtl-md);
}

.r07-plug-say,
.e50-plug-say,
.t18-plug-say {
	color: var(--jtl-subtle);
	flex: 1 1 260px;
	font-size: var(--jtl-mini);
	line-height: var(--jtl-even);
}

.x61-main {
	display: block;
}

/* ============ stile bottone offerta (cta-style) ============ */
.ard-act {
	position: relative;
	background: #65a30d;
	color: #201341;
	text-decoration: none;
	transition: background 0.1s ease-in-out;
}

.ard-act.ard-act {
	color: #201341;
	text-decoration: none;
}

.ard-act:hover {
	animation: none;
	background: #4d7c0f;
	color: #ffffff;
}

.ard-act.ard-act:hover {
	color: #ffffff;
	text-decoration: none;
}

.ard-act:hover::after {
	animation: none;
}

.ard-act:active {
	background: #3f6212;
	color: #ffffff;
}

.ard-act:focus-visible {
	outline: 3px solid #201341;
	outline-offset: 3px;
}

@keyframes ard-tide {
	0%,
	100% {
		transform: scaleX(0);
	}

	40%,
	60% {
		transform: scaleX(1);
	}
}

.ard-act::after {
	animation: ard-tide 1.9s cubic-bezier(0.40, 0.40, 0.35, 1) infinite;
	block-size: 0;
	border-block-end: 2px solid currentColor;
	bottom: 6px;
	content: "";
	left: 12%;
	opacity: 0.5;
	position: absolute;
	right: 12%;
	transform-origin: left;
}

@media (prefers-reduced-motion: reduce) {
	.ard-act,
	.ard-act::after {
		animation: none !important;
		transition: none !important;
	}
}

.i41 .ard-act {
	box-shadow: 0 0 0 3px var(--jtl-bg);
}

@media (max-width: 916px) {
  .g30-map,
  .g30-chain { display: none !important; }
  .g30-menu-lever { display: grid !important; }
}
