/* --- Start: Partner bands --- */
.structure-partnerships .bands {
	border-top: 1px solid var(--line);
}
/* --- End: Partner bands --- */

/* --- Start: Convenzioni pages --- */
.conv-hub {
	padding: 96px 0 64px;
}

.conv-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.conv-card {
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--surface);
	color: inherit;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	transition: transform var(--motion-base), box-shadow var(--motion-base);
}

.conv-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
}

.conv-card .img {
	aspect-ratio: 16 / 8;
	background: var(--yellow);
	display: grid;
	place-items: center;
}

.conv-card .img.ink {
	background: var(--ink);
}

.conv-card .sym {
	font-family: var(--ff-display);
	font-size: var(--fs-huge);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	color: var(--ink);
	mix-blend-mode: multiply;
	opacity: 0.18;
}

.conv-card .img.ink .sym {
	color: var(--yellow);
	mix-blend-mode: normal;
	opacity: 0.25;
}

.conv-card .body {
	padding: 32px 32px 28px;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.conv-card .body h3 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: var(--fs-medium);
	letter-spacing: var(--ls-heading-tight);
	line-height: 1.15;
	margin: 0;
}

.conv-card .body p {
	font-size: var(--fs-normal);
	line-height: 1.55;
	color: var(--ink);
	margin: 0;
}

.conv-card .body p strong {
	font-weight: 600;
}

.conv-card .foot {
	padding: 0 32px 32px;
	margin-top: auto;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

@media (max-width: 820px) {
	.conv-cards { grid-template-columns: 1fr; }
}
/* --- End: Convenzioni pages --- */

/* --- Start: Rivenditori value-added page --- */
.pva-section {
	padding: var(--space-8xl) 0;
	border-bottom: 1px solid var(--line);
}

.pva-section .wrap {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 80px;
	align-items: center;
}

.pva-section.flip .wrap {
	grid-template-columns: 1.2fr 1fr;
	direction: rtl;
}

.pva-section.flip .wrap > * {
	direction: ltr;
}

.pva-section h2 {
	font-family: var(--ff-display);
	font-size: var(--fs-large);
	margin: 0 0 24px;
	letter-spacing: var(--ls-heading);
	line-height: 1.02;
}

.pva-section p {
	font-size: var(--fs-normal);
	line-height: 1.6;
	color: var(--ink);
	margin: 0 0 18px;
}

.pva-section .img {
	aspect-ratio: 5 / 4;
	border-radius: var(--radius-lg);
	background: var(--yellow);
	position: relative;
	overflow: hidden;
	display: grid;
	place-items: center;
}

.pva-section .img.dark {
	background: var(--ink);
}

.pva-section .img .label {
	position: absolute;
	bottom: 24px;
	left: 24px;
	font-family: var(--ff-mono);
	font-size: var(--fs-xsmall);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--yellow);
	background: var(--ink);
	padding: 8px 12px;
	border-radius: var(--radius-sm);
}

.pva-section .img.dark .label {
	background: var(--surface-contrast);
	color: var(--yellow);
}

.pva-section .img .glyph {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: var(--fs-huge);
	line-height: 0.9;
	letter-spacing: 0;
	color: var(--ink);
	mix-blend-mode: multiply;
	opacity: 0.18;
}

.pva-section .img.dark .glyph {
	color: var(--yellow);
	opacity: 0.22;
	mix-blend-mode: normal;
}

.pva-pack {
	padding: var(--space-8xl) 0;
	background: var(--ink);
	color: var(--paper);
}

.pva-pack .head {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 64px;
	align-items: end;
	margin-bottom: 64px;
}

.pva-pack h2 {
	font-family: var(--ff-display);
	font-size: var(--fs-large);
	margin: 0;
	color: var(--paper);
	letter-spacing: var(--ls-heading);
	line-height: 1.02;
}

.pva-pack .head p {
	font-size: var(--fs-small);
	line-height: 1.55;
	max-width: 520px;
	margin: 0;
}

.pva-pack .head .eyebrow {
	color: var(--yellow);
}

.pva-pack .head .eyebrow::before {
	background: var(--yellow);
}

.pva-list {
	grid-template-columns: 1fr 1fr;
}

.pva-list .band {
	background: var(--surface-contrast);
	border-color: rgb(var(--yellow-rgb) / .25);
	transition: transform var(--motion-base), box-shadow var(--motion-base), background var(--motion-base), border-color var(--motion-base);
}

.pva-list .band:hover {
	background: rgb(var(--yellow-rgb) / .06);
}

.pva-list .band p {
	font-size: var(--fs-normal);
	color: var(--line);
}

.pva-list .band strong {
	color: var(--paper);
	font-weight: 600;
}

.pva-list__item--wide {
	grid-column: 1 / -1;
}

.pva-cta {
	margin-top: 64px;
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.pva-cta .tagline {
	font-family: var(--ff-display);
	font-size: var(--fs-medium);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	max-width: 640px;
}

@media (max-width: 1024px) {
	.pva-section .wrap,
	.pva-section.flip .wrap,
	.pva-pack .head,
	.pva-list {
	  grid-template-columns: 1fr;
	  gap: 32px;
	}

	.pva-section.flip .wrap {
	  direction: ltr;
	}
}

@media (max-width: 640px) {
	.pva-section,
	.pva-pack {
	  padding: var(--space-6xl) 0;
	}
}
/* --- End: Rivenditori value-added page --- */
/* --- Start: Intro section --- */
.intro {
	padding: 120px 0 80px;
	border-bottom: 1px solid var(--line);
}

.intro h2 {
	font-family: var(--ff-display);
	font-weight: 700;
	font-size: var(--fs-large);
	letter-spacing: var(--ls-heading);
	line-height: 0.98;
	margin: 0;
}

.intro .wrap {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 80px;
	align-items: start;
}

.intro h2 {
	font-size: var(--fs-large);
	letter-spacing: var(--ls-heading);
	margin: 14px 0 0;
}

.intro .body {
	font-size: var(--fs-normal);
	line-height: 1.55;
	color: var(--ink);
}

.intro .body p + p {
	margin-top: 18px;
}

.intro .intro-note {
	font-size: var(--fs-small);
	color: var(--muted);
	border-top: 1px dashed var(--line);
	padding-top: 18px;
	margin-top: 24px;
}

@media (max-width: 1024px) {
	.intro .wrap {
	  grid-template-columns: 1fr;
	  gap: 40px;
	}
}

@media (max-width: 640px) {
	.intro {
	  padding-block: 64px;
	}
}
/* --- End: Intro section --- */
/* --- Start: Letter section --- */
.letter {
	padding: var(--space-8xl) 0;
	background: var(--surface);
	border-bottom: 1px solid var(--line);
}

.letter .wrap {
	display: grid;
	grid-template-columns: 1fr 1.8fr;
	gap: 80px;
	align-items: start;
}

.letter aside h6 {
	font-family: var(--ff-mono);
	font-size: var(--fs-xsmall);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
	margin: 0 0 10px;
}

.letter aside p {
	font-size: var(--fs-normal);
	line-height: 1.55;
	color: var(--ink);
	margin: 0 0 18px;
}

.letter aside .stamp {
	display: inline-flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px 22px;
	border: 2px solid var(--ink);
	border-radius: var(--radius-md);
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: var(--fs-normal);
	line-height: 1.35;
	transform: rotate(-2deg);
	margin-top: 18px;
}

.letter aside .stamp small {
	font-family: var(--ff-mono);
	font-size: var(--fs-xsmall);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--muted);
}

.letter article p {
	font-size: var(--fs-normal);
	line-height: 1.6;
	color: var(--ink);
	margin: 0 0 18px;
}

.letter article .salute {
	font-family: var(--ff-display);
	font-weight: 600;
	font-size: var(--fs-medium);
	color: var(--ink);
	margin-bottom: 8px;
}

.letter article .letter-action {
	margin-top: 36px;
}

@media (max-width: 1024px) {
	.letter .wrap {
	  grid-template-columns: 1fr;
	  gap: 40px;
	}
}

@media (max-width: 640px) {
	.letter {
	  padding-block: 64px;
	}
}
/* --- End: Letter section --- */
