/* =========================================================
   STILI SPECIFICI · PAGINA LIBERA
   Pattern: titolo + intro + contenuto centrato + sidebar form
   ========================================================= */
.page-wrap {
	padding: 56px 0 96px;
}
.page-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 64px;
	align-items: start;
}
.page-main { min-width: 0; }

/* Header pagina */
.page-head {
	margin-bottom: 32px;
}
.page-eyebrow {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--oro);
	margin: 0 0 12px;
}
.page-title {
	font-family: var(--serif);
	font-weight: 700;
	font-size: clamp(30px, 3.6vw, 44px);
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--blu);
	margin: 0 0 16px;
	text-wrap: balance;
}
.page-lead {
	font-size: 18px;
	line-height: 1.6;
	color: var(--ink);
	margin: 0 0 24px;
	max-width: 60ch;
	font-weight: 400;
}
.page-rule { margin-bottom: 32px; }

/* Sidebar */
.page-side {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.side-phone {
	background: var(--blu);
	color: var(--white);
	border-radius: 4px;
	padding: 22px;
}
.side-phone__label {
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--oro-hi);
	margin: 0 0 6px;
}
.side-phone__number {
	font-family: var(--serif);
	font-size: 26px;
	font-weight: 700;
	color: var(--white);
	letter-spacing: -0.01em;
	text-decoration: none;
	display: block;
	margin: 0 0 4px;
	line-height: 1;
}
.side-phone__hours {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.75);
	margin: 6px 0 0;
}

@media (max-width: 1024px) {
	.page-grid {
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 40px;
	}
}
@media (max-width: 900px) {
	.page-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.page-side { position: static; }
}
@media (max-width: 600px) {
	.page-wrap { padding: 32px 0 64px; }
}
