/* ==========================================================================
   ROUND studio, stili del tema
   I token (colori, font, misure) vivono in theme.json: qui solo componenti.
   ========================================================================== */

:root {
	--round-ease: var(--wp--custom--ease, cubic-bezier(.16, 1, .3, 1));
	--round-gutter: var(--wp--custom--gutter, clamp(16px, 3vw, 48px));
	--round-box: var(--wp--custom--box-margin, clamp(8px, 1vw, 14px));
	--round-section: clamp(80px, 10vw, 140px);
	--round-text-2: rgba(46, 46, 46, .7);
	--round-line: rgba(46, 46, 46, .1);
	--round-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l5-5M4.5 3.5h4v4'/%3E%3C/svg%3E");
}

/* Base
   -------------------------------------------------------------------------- */
html { scroll-padding-top: 90px; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
.screen-reader-text { border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

.wp-site-blocks > * { margin-block: 0; }
.site-main .wp-block-post-content > * { margin-block: 0; }

/* Icona freccia: SVG via mask, eredita il colore del testo */
.round-arrow { display: inline-block; flex: none; width: .85em; height: .85em; vertical-align: -.05em; }

/* Firma visiva: titoli che chiudono con il pallino teal */
/* Il pallino è un "." trasparente con il cerchio come sfondo: la punteggiatura non va mai a capo da sola,
   un inline-block invece sì (il pallino finiva da solo sulla riga successiva). */
.is-style-dot::after {
	content: ".";
	margin-left: .02em;
	color: transparent;
	background: radial-gradient(circle closest-side, var(--wp--preset--color--accent) 96%, transparent 100%) no-repeat;
	background-size: .17em .17em;
	background-position: .02em calc(100% - var(--dot-base, .245em));
}

/* Etichette mono */
.is-style-eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(46, 46, 46, .6);
}
.is-style-eyebrow::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
}
.is-style-eyebrow.no-dot::before { display: none; }

.is-style-mono {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	line-height: 1.4;
	color: rgba(46, 46, 46, .6);
}

/* Bottoni
   -------------------------------------------------------------------------- */
.wp-block-buttons { gap: 10px; }
.wp-element-button,
.wp-block-button__link {
	white-space: nowrap;
	border: 0;
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease, padding .25s var(--round-ease);
}
.wp-block-button.is-small .wp-block-button__link,
.wp-block-button.is-style-white .wp-block-button__link { padding: 12px 18px; font-size: 14px; }

.wp-block-button.is-style-light .wp-block-button__link { background: rgba(255, 255, 255, .7); color: var(--wp--preset--color--contrast); }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--contrast); }

.wp-block-button.is-style-white .wp-block-button__link { background: #fff; color: var(--wp--preset--color--contrast); }
.wp-block-button.is-style-white .wp-block-button__link:hover { background: var(--wp--preset--color--accent); }

.wp-block-button.is-style-arrow .wp-block-button__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px 10px 18px;
	font-size: 14px;
}
.wp-block-button.is-style-arrow .wp-block-button__link::after {
	content: "";
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 7px;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l5-5M4.5 3.5h4v4'/%3E%3C/svg%3E") center / 10px no-repeat,
		rgba(255, 255, 255, .16);
}
.wp-block-button.is-style-arrow .wp-block-button__link:hover::after {
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%232E2E2E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l5-5M4.5 3.5h4v4'/%3E%3C/svg%3E") center / 10px no-repeat,
		rgba(255, 255, 255, .3);
}

.wp-block-button.is-style-underline .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0 0 2px;
	border-radius: 0;
	border-bottom: 1px solid rgba(46, 46, 46, .3);
	background: none;
	color: var(--wp--preset--color--contrast);
	font-size: 14px;
}
.wp-block-button.is-style-underline .wp-block-button__link::after {
	content: "";
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: var(--round-arrow) center / contain no-repeat;
	mask: var(--round-arrow) center / contain no-repeat;
}
.wp-block-button.is-style-underline .wp-block-button__link:hover { background: none; color: var(--wp--preset--color--accent-dark); border-color: currentColor; }

/* Header e mega menu
   Lo sfondo sfocato sta su ::before e non sull'header: un backdrop-filter sull'header
   farebbe da contenitore agli elementi fixed (overlay mobile, backdrop) e li taglierebbe.
   -------------------------------------------------------------------------- */
.site-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; }
.site-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	transition: background-color .3s ease;
}
.site-header.is-mega-open::before,
.site-header.is-mobile-open::before { background: rgba(255, 255, 255, .96); }
.site-header__inner {
	display: flex;
	align-items: center;
	gap: clamp(12px, 2vw, 32px);
	max-width: 1400px;
	margin: 0 auto;
	padding: 10px clamp(12px, 1.6vw, 24px);
}
.site-header__inner > * { margin: 0 !important; }
.site-header__logo { flex: none; }
.site-header__logo img { display: block; width: auto !important; height: 19.5px !important; }
.site-header__cta { flex: none; }

.round-nav { display: flex; flex: 1 1 auto; align-items: center; min-width: 0; font-size: 14px; font-weight: 450; }
.round-nav__bar { display: flex; flex: 1; align-items: center; gap: 2px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.round-nav__bar li { margin: 0; }
.round-nav__bar .is-pushed { margin-left: auto; }
.round-nav__item {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 14px;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .3s ease;
}
.round-nav__item:hover,
.round-nav__item.is-current,
.round-nav__item[aria-expanded="true"] { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); }
.round-nav__chev { flex: none; transition: transform .4s var(--round-ease); }
[aria-expanded="true"] > .round-nav__chev,
.round-mobile__group[open] .round-nav__chev { transform: rotate(180deg); }

/* Pannello: attaccato sotto la barra, si apre con grid-template-rows 0fr → 1fr */
.round-mega {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	padding: 0 clamp(16px, 2.5vw, 32px);
	border-radius: 0 0 28px 28px;
	background: rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	box-shadow: 0 40px 60px -30px rgba(46, 46, 46, .3);
	opacity: 0;
	pointer-events: none;
	transition: opacity .35s ease;
}
.is-mega-open .round-mega { opacity: 1; pointer-events: auto; }
.round-mega__rows { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s var(--round-ease); }
.is-mega-open .round-mega__rows { grid-template-rows: 1fr; }
.round-mega__clip { min-height: 0; overflow: hidden; }
.round-mega__content { position: relative; display: grid; max-width: 1336px; margin: 0 auto; padding-bottom: clamp(20px, 2.4vw, 32px); }
.round-mega__panel {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	grid-area: 1 / 1;
	display: grid;
	padding: clamp(20px, 2.4vw, 32px) 0 4px;
	visibility: hidden;
}
.round-mega__panel.is-active { position: relative; visibility: visible; }
.round-mega__panel.is-obiettivi { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: clamp(24px, 3vw, 48px); }
.round-mega__panel.is-servizi { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: clamp(20px, 2.6vw, 40px); }
.round-mega__col { display: flex; flex-direction: column; gap: clamp(14px, 1.6vw, 22px); min-width: 0; }
.round-mega__title,
.round-mobile__title {
	align-self: flex-start;
	padding: 6px 14px;
	border: 1px solid rgba(46, 46, 46, .14);
	border-radius: 999px;
	font-size: 13px;
	line-height: 1.3;
	color: rgba(46, 46, 46, .7);
	white-space: nowrap;
}
.round-mega__list { display: flex; flex-direction: column; gap: clamp(10px, 1.2vw, 16px); margin: 0; padding: 6px 0 0; list-style: none; }
.round-mega__list li { margin: 0; }
.round-mega__link {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: clamp(16px, 1.5vw, 22px);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -.03em;
	color: var(--wp--preset--color--contrast);
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .6s var(--round-ease) var(--d, 0ms), transform .7s var(--round-ease) var(--d, 0ms), color .2s ease;
}
.is-obiettivi .round-mega__link { font-size: clamp(20px, 1.9vw, 28px); white-space: nowrap; }
.round-mega__link::before,
.round-mobile__link::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-mega__link:hover { color: var(--wp--preset--color--accent-dark); }
/* Pagina corrente: sottovoce teal scuro con alone sul pallino (pannelli e menu mobile) */
.round-mega__link.is-current,
.round-mobile__link.is-current,
.round-mobile__plain.is-current,
.round-mobile__group.is-current > summary { color: var(--wp--preset--color--accent-dark); }
.round-mega__link.is-current::before,
.round-mobile__link.is-current::before { box-shadow: 0 0 0 4px var(--wp--preset--color--accent-light); }
.round-badge {
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
}
.round-mega__hint { margin-top: auto; padding-top: 24px; font-size: 14px; color: rgba(46, 46, 46, .55); opacity: 0; transition: opacity .6s ease 300ms, color .2s ease; }
.round-mega__card {
	position: relative;
	display: block;
	align-self: start;
	height: clamp(220px, 22vw, 320px);
	overflow: hidden;
	border-radius: 18px;
	background: var(--wp--preset--color--contrast);
	opacity: 0;
	transition: opacity .6s ease 80ms;
}
.round-mega__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); transition: transform 1.4s var(--round-ease); }
.round-mega__card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(35, 35, 35, 0) 45%, rgba(35, 35, 35, .7) 100%); }
.round-mega__caption {
	position: absolute;
	right: 20px;
	bottom: 18px;
	left: 20px;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px;
	color: #fff;
	transform: translateY(14px);
	transition: transform .8s var(--round-ease) 200ms;
}
.round-mega__caption > span:first-child { max-width: 240px; font-size: 17px; font-weight: 500; line-height: 1.25; letter-spacing: -.02em; }
.round-mega__go { display: flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 11px; background: #fff; color: var(--wp--preset--color--contrast); }
.round-mega__card:hover { color: #fff; }

.round-mega__panel.is-active .round-mega__link { opacity: 1; transform: none; }
.round-mega__panel.is-active .round-mega__hint,
.round-mega__panel.is-active .round-mega__card { opacity: 1; }
.round-mega__panel.is-active .round-mega__card img { transform: scale(1); }
.round-mega__panel.is-active .round-mega__caption { transform: none; }

/* Pagina dietro al pannello: velo chiaro e sfocato, nessuno scurimento */
.round-mega-backdrop {
	position: fixed;
	inset: 0;
	z-index: 40;
	background: rgba(255, 255, 255, .35);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .5s ease;
}
.round-mega-backdrop.is-on { opacity: 1; pointer-events: auto; }

/* Mobile: overlay a tutto schermo con accordion degli stessi gruppi */
.round-nav__burger { display: none; }
.round-mobile {
	position: fixed;
	inset: 0;
	z-index: -1;
	overflow-y: auto;
	padding: calc(76px + var(--wp-admin--admin-bar--height, 0px)) var(--round-gutter) 40px;
	background: #fff;
	opacity: 0;
	transition: opacity .35s ease;
	overscroll-behavior: contain;
}
.is-mobile-open .round-mobile { opacity: 1; }
.round-mobile__inner { display: flex; flex-direction: column; }
.round-mobile__group,
.round-mobile__plain { border-bottom: 1px solid var(--round-line); }
.round-mobile__group summary,
.round-mobile__plain {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 0;
	font-size: 30px;
	font-weight: 450;
	line-height: 1.1;
	letter-spacing: -.03em;
	color: var(--wp--preset--color--contrast);
	list-style: none;
	cursor: pointer;
}
.round-mobile__group summary::-webkit-details-marker { display: none; }
.round-mobile__group summary .round-nav__chev { width: 14px; height: 14px; }
.round-mobile__title { display: inline-block; margin: 6px 0 10px; font-size: 12px; }
.round-mobile__list { margin: 0; padding: 0 0 14px; list-style: none; }
.round-mobile__list li { margin: 0; }
.round-mobile__link { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: 19px; font-weight: 500; letter-spacing: -.02em; color: var(--wp--preset--color--contrast); }
.round-mobile__contacts { display: flex; flex-direction: column; gap: 6px; margin: 28px 0 0; font-size: 15px; color: var(--round-text-2); }
.round-mobile__contacts a:first-child { color: var(--wp--preset--color--accent-dark); }
html.has-menu-open { overflow: hidden; }

@media (max-width: 899px) {
	.round-nav { flex: none; order: 3; }
	.round-nav__bar,
	.round-mega { display: none; }
	.round-nav__burger {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 0;
		border-radius: 12px;
		background: transparent;
		cursor: pointer;
	}
	.round-nav__burger span:not(.screen-reader-text) {
		position: absolute;
		left: 11px;
		width: 18px;
		height: 1.5px;
		border-radius: 2px;
		background: var(--wp--preset--color--contrast);
		transition: transform .35s var(--round-ease);
	}
	.round-nav__burger span:first-child { transform: translateY(-3.5px); }
	.round-nav__burger span:nth-child(2) { transform: translateY(3.5px); }
	.is-mobile-open .round-nav__burger span:first-child { transform: rotate(45deg); }
	.is-mobile-open .round-nav__burger span:nth-child(2) { transform: rotate(-45deg); }
	.site-header__cta { margin-left: auto !important; }
}

@media (prefers-reduced-motion: reduce) {
	.round-mega,
	.round-mega__rows,
	.round-mega__link,
	.round-mega__card,
	.round-mega__card img,
	.round-mega__caption,
	.round-mobile { transition: none; }
}

/* Hero
   -------------------------------------------------------------------------- */
.round-hero { padding: 0 var(--round-box); }
.round-hero__box {
	position: relative;
	overflow: hidden;
	overflow: clip; /* hidden resta scrollabile via ancore (#obiettivi): clip no */
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--surface);
	min-height: max(680px, min(920px, calc(100svh - 80px)));
	display: flex;
	flex-direction: column;
	align-items: center;
}
.round-hero__box > * { margin-block: 0; }
.round-hero__orb {
	position: absolute;
	left: 50%;
	top: 58%;
	width: max(1300px, 120%);
	aspect-ratio: 1;
	margin-left: calc(max(1300px, 120%) / -2);
	border-radius: 50%;
	background: radial-gradient(circle at 50% 8%, #9BEAF1 0%, #3FCAD8 14%, #14B6C7 30%, #0C8E9C 55%, #086671 80%);
	box-shadow: inset 0 30px 80px rgba(255, 255, 255, .55), 0 -40px 120px rgba(20, 182, 199, .35);
	will-change: transform;
	pointer-events: none;
}
.js .round-hero__orb { transform: translateY(220px); }
.round-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
	max-width: 900px;
	padding: clamp(64px, 9vw, 120px) 20px clamp(160px, 18vw, 260px);
	text-align: center;
	will-change: transform, opacity;
}
.round-hero__content > * { margin: 0 !important; }
.round-hero .is-style-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .1em; color: rgba(46, 46, 46, .7); }
.round-hero .is-style-eyebrow::before { width: 7px; height: 7px; }
.round-display {
	font-size: var(--wp--preset--font-size--display);
	font-weight: 500;
	line-height: .98;
	letter-spacing: -.05em;
	text-wrap: balance;
}
.round-hero__lead {
	max-width: 520px;
	font-size: clamp(16px, 1.3vw, 18px);
	line-height: 1.5;
	color: rgba(46, 46, 46, .72);
	text-wrap: pretty;
}
.round-hero__content .wp-block-buttons { justify-content: center; }
.round-hero .is-style-fill .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--contrast); }

/* Selettore "Che obiettivi hai?" */
.round-goals.wp-block-buttons {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
	gap: 0;
	width: min(1120px, calc(100% - 24px));
	margin-top: auto !important;
	padding: 8px;
	border-radius: 20px 20px 0 0;
	background: #fff;
	counter-reset: goal;
}
.round-goals .wp-block-button { counter-increment: goal; min-width: 0; }
.round-goals .wp-block-button__link {
	position: relative;
	display: block;
	width: 100%;
	padding: 54px 18px 20px;
	border-radius: 14px;
	background: #fff;
	color: var(--wp--preset--color--contrast);
	font-size: clamp(14px, 1.25vw, 17px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -.025em;
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
}
.round-goals .wp-block-button__link::before {
	content: counter(goal, decimal-leading-zero) " / Obiettivo";
	position: absolute;
	top: 16px;
	left: 18px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0;
	color: rgba(46, 46, 46, .6);
}
.round-goals .wp-block-button__link::after {
	content: "";
	position: absolute;
	top: 18px;
	right: 18px;
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: var(--round-arrow) center / contain no-repeat;
	mask: var(--round-arrow) center / contain no-repeat;
}
.round-goals .wp-block-button__link:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); }

/* Manifesto
   -------------------------------------------------------------------------- */
.round-manifesto { display: flex; justify-content: center; padding: clamp(72px, 9vw, 128px) 20px; }
.round-manifesto__text {
	max-width: 980px;
	margin: 0;
	text-align: center;
	font-size: clamp(30px, 4.2vw, 60px);
	font-weight: 450;
	line-height: 1.1;
	letter-spacing: -.04em;
}
.js .round-manifesto__text .w { color: rgba(46, 46, 46, .18); transition: color .3s ease; }
.js .round-manifesto__text .w.is-on { color: var(--wp--preset--color--contrast); }

/* Metodo
   -------------------------------------------------------------------------- */
.round-metodo { padding: 0 var(--round-box); }
.round-metodo__box {
	display: grid;
	grid-template-columns: minmax(min(100%, 320px), 400px) minmax(0, 1fr);
	gap: clamp(32px, 4vw, 64px);
	align-items: center;
	overflow: hidden;
	overflow: clip; /* hidden resta scrollabile via ancore (#obiettivi): clip no */
	padding: clamp(40px, 6vw, 88px) 0 clamp(40px, 6vw, 88px) clamp(24px, 5vw, 72px);
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--contrast);
	color: #fff;
}
.round-metodo__box > * { margin: 0 !important; }
.round-metodo__intro { display: flex; flex-direction: column; gap: 24px; padding-right: 24px; }
.round-metodo__intro > * { margin: 0 !important; }
.round-metodo__intro::before { content: ""; width: 44px; height: 44px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-metodo__intro .is-style-eyebrow { color: rgba(255, 255, 255, .7); }
.round-metodo__intro h2 { font-size: clamp(36px, 4vw, 56px); line-height: 1; }
.round-metodo__intro p:not(.is-style-eyebrow) { font-size: 16px; line-height: 1.55; color: rgba(255, 255, 255, .75); }
.round-metodo__cards {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	overflow-y: hidden; /* senza, overflow-x rende scorrevole anche la verticale: il dito trascina in diagonale */
	overscroll-behavior-x: contain; /* a fine corsa non fa scorrere la pagina né il "torna indietro" del browser */
	touch-action: pan-x pan-y;
	padding-right: clamp(24px, 5vw, 72px);
	scrollbar-width: none;
	scroll-snap-type: x proximity;
}
.round-metodo__cards::-webkit-scrollbar { display: none; }
.round-step {
	flex: none;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 260px;
	height: 340px;
	margin: 0 !important;
	padding: 22px;
	border-radius: 18px;
	background: var(--wp--preset--color--contrast-2);
	scroll-snap-align: start;
}
.round-step > * { margin: 0 !important; }
.round-step .is-style-mono { color: rgba(255, 255, 255, .6); }
.round-step p:not(.is-style-mono) { font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .85); }
.round-step.is-light { background: #fff; color: var(--wp--preset--color--contrast); }
.round-step.is-light .is-style-mono { color: rgba(46, 46, 46, .6); }
.round-step.is-light p.round-step__num { font-size: 56px; font-weight: 450; line-height: 1; letter-spacing: -.05em; color: var(--wp--preset--color--contrast); }
.round-step.is-light p.round-step__label { margin-top: 8px !important; font-size: 14px; color: var(--round-text-2); }
.round-step.is-accent { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.round-step.is-accent p,
.round-step.is-accent .is-style-mono { color: var(--wp--preset--color--contrast); }
.round-step.is-photo { width: 300px; padding: 0; overflow: hidden; }
.round-step.is-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Frecce del metodo, versione chiara su fondo scuro.
   Desktop: a destra sotto le card, sulla stessa riga del bottone "Scopri il metodo"
   (il testo occupa due righe della griglia e si appoggia in basso). Da telefono niente frecce. */
.round-metodo__intro { grid-row: 1 / span 2; align-self: end; }
.round-metodo__cards { grid-column: 2; grid-row: 1; align-self: end; }
.round-metodo__box > .round-rail__nav { grid-column: 2; grid-row: 2; justify-self: end; align-self: end; margin-top: calc(-1 * clamp(8px, 2vw, 40px)) !important; margin-right: clamp(24px, 3vw, 40px) !important; }
.round-metodo__box .round-rail__nav button { border-color: rgba(255, 255, 255, .22); background: transparent; color: #fff; }
.round-metodo__box .round-rail__nav button:hover { background: rgba(255, 255, 255, .08); }
.round-metodo__box .round-rail__nav button + button { background: #fff; color: var(--wp--preset--color--contrast); }
.round-metodo__box .round-rail__nav button + button:hover { background: var(--wp--preset--color--accent); }
.round-metodo__box.is-static > .round-rail__nav { display: none; }
/* Desktop: card proporzionali allo spazio, sempre tre intere più un terzo della quarta
   (con la larghezza fissa l'ultima a volte si vedeva solo per una striscia). */
@media (min-width: 800px) {
	.round-metodo__cards { container-type: inline-size; }
	.round-metodo__cards > .round-step { width: clamp(190px, (100cqi + clamp(24px, 5vw, 72px) - 3 * 14px) / 3.35, 320px); } /* area visibile = contenuto + margine destro */
}

@media (max-width: 799px) {
	.round-metodo__box { grid-template-columns: minmax(0, 1fr); }
	.round-metodo__intro,
	.round-metodo__cards { grid-row: auto; grid-column: 1; align-self: auto; }
	.round-metodo__box > .round-rail__nav { display: none; } /* da telefono si scorre col dito */
	/* Da telefono il carosello arriva al bordo del box: le card scorrono sotto l'angolo, non su un taglio netto,
	   e si fermano sempre allineate al testo; la card successiva si intravede a destra. */
	.round-metodo__cards {
		margin-left: calc(-1 * clamp(24px, 5vw, 72px)) !important;
		padding-left: clamp(24px, 5vw, 72px);
		scroll-padding-left: clamp(24px, 5vw, 72px);
		scroll-snap-type: x mandatory;
	}
	.round-step { width: min(78vw, 300px); height: 320px; scroll-snap-stop: always; }
	.round-step.is-photo { width: min(78vw, 300px); }
}

/* Sezioni standard
   -------------------------------------------------------------------------- */
.round-section {
	max-width: 1280px;
	margin: 0 auto;
	padding: var(--round-section) var(--round-gutter) 0;
}
.round-section > * { margin-block: 0; }
.round-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 32px;
	margin-bottom: 48px !important;
}
.round-head > * { margin: 0 !important; }
.round-head.is-compact { gap: 24px; margin-bottom: 32px !important; }
.round-head__main { display: flex; flex-direction: column; gap: 16px; }
.round-head__main > * { margin: 0 !important; }
.round-h2-lg { max-width: 640px; font-size: clamp(36px, 4.4vw, 60px) !important; line-height: 1.02; }
.round-head__aside { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; max-width: 380px; }
.round-head__aside > * { margin: 0 !important; }
.round-head__aside p,
.round-head__text { max-width: 380px; font-size: 17px; line-height: 1.5; color: rgba(46, 46, 46, .75); text-wrap: pretty; }

/* Servizi: 4 colonne, poi 2x2, poi 1 (mai 3+1) */
.round-services {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(max(calc(25% - 9px), min(calc(50% - 6px), calc((1100px - 100%) * 999)), min(100%, calc((560px - 100%) * 999))), 1fr));
	gap: 12px;
}
.round-service {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 !important;
	padding: clamp(22px, 2.4vw, 32px);
	border: 1px solid var(--round-line);
	border-radius: var(--wp--custom--radius--card);
	transition: border-color .3s ease;
}
.round-service:hover { border-color: var(--wp--preset--color--accent); }
.round-service > * { margin: 0 !important; }
.round-service h3 { margin-top: 8px !important; font-size: 26px; font-weight: 500; line-height: 1.1; letter-spacing: -.03em; }
.round-service__desc { font-size: 14px; line-height: 1.55; color: var(--round-text-2); }

.is-style-links { display: flex; flex-direction: column; margin-top: auto !important; padding: 16px 0 0; list-style: none; }
.is-style-links li { margin: 0; }
.is-style-links a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 0;
	border-top: 1px solid rgba(46, 46, 46, .08);
	font-size: 14px;
	font-weight: 500;
	transition: color .25s ease, padding .35s var(--round-ease);
}
.is-style-links a::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.is-style-links a::after {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	margin-left: auto;
	background: currentColor;
	-webkit-mask: var(--round-arrow) center / contain no-repeat;
	mask: var(--round-arrow) center / contain no-repeat;
}
.is-style-links a:hover { color: var(--wp--preset--color--accent-dark); padding-left: 4px; }

/* Progetti e mockup
   -------------------------------------------------------------------------- */
.round-projects { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 12px; }
.round-project {
	position: relative;
	display: block;
	aspect-ratio: 6 / 5;
	overflow: hidden;
	overflow: clip; /* hidden resta scrollabile via ancore (#obiettivi): clip no */
	border-radius: 16px;
	perspective: 1400px;
	color: var(--wp--preset--color--contrast);
}
a.round-project:hover { color: var(--wp--preset--color--contrast); }
.round-project__stage {
	position: absolute;
	inset: 7% 0 24% 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transform-style: preserve-3d;
}
.mockup-screen { position: relative; flex: 1; overflow: hidden; background: #fff; }
.mockup-shot { display: block; width: 100%; height: auto; will-change: transform; }
[data-tilt] { will-change: transform; }

.mockup-browser {
	display: flex;
	flex-direction: column;
	width: 80%;
	aspect-ratio: 16 / 10.5;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 40px 80px -20px rgba(46, 46, 46, .35), 0 0 0 1px rgba(46, 46, 46, .06);
}
.mockup-browser.is-perspective { transform: rotateX(14deg) rotateY(-18deg); }
.mockup-browser__bar {
	flex: none;
	display: flex;
	align-items: center;
	gap: 6px;
	height: 26px;
	padding: 0 10px;
	background: var(--wp--preset--color--surface-3);
	border-bottom: 1px solid rgba(46, 46, 46, .08);
}
.mockup-browser__bar i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #D5DBDB; }
.mockup-browser__bar span {
	max-width: 70%;
	margin: 0 auto;
	padding: 3px 14px;
	border-radius: 6px;
	background: #fff;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 9.5px;
	line-height: 1.3;
	color: rgba(46, 46, 46, .6);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mockup-browser.is-dark { background: var(--wp--preset--color--contrast); }
.mockup-browser.is-dark .mockup-browser__bar { background: var(--wp--preset--color--contrast-2); border-bottom-color: rgba(255, 255, 255, .06); }
.mockup-browser.is-dark .mockup-browser__bar i { background: #5A5A5A; }
.mockup-browser.is-dark .mockup-browser__bar span { background: var(--wp--preset--color--contrast); color: rgba(255, 255, 255, .6); }

.mockup-imac { display: flex; flex-direction: column; align-items: center; width: 74%; }
.mockup-imac__frame {
	width: 100%;
	padding: 9px 9px 0;
	border-radius: 14px;
	background: #151515;
	box-shadow: 0 40px 80px -20px rgba(0, 0, 0, .6), inset 0 0 0 1px rgba(255, 255, 255, .06);
}
.mockup-imac .mockup-screen { flex: none; aspect-ratio: 16 / 9; border-radius: 4px; }
.mockup-imac__chin { display: flex; align-items: center; justify-content: center; height: 22px; }
.mockup-imac__chin i { width: 5px; height: 5px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.mockup-imac__neck { width: 16%; height: 36px; background: linear-gradient(#3a3a3a, #262626); }
.mockup-imac__foot { width: 34%; height: 7px; border-radius: 6px 6px 2px 2px; background: #444; }

.mockup-laptop { display: flex; flex-direction: column; align-items: center; width: 72%; transform: rotateX(8deg); }
.mockup-laptop__lid {
	width: 100%;
	padding: 9px 9px 12px;
	border-radius: 14px 14px 0 0;
	background: #1C1C1C;
	box-shadow: 0 30px 60px -20px rgba(8, 80, 90, .6);
}
.mockup-laptop .mockup-screen { flex: none; aspect-ratio: 16 / 10; border-radius: 3px; }
.mockup-laptop__base {
	position: relative;
	width: 118%;
	height: 14px;
	border-radius: 0 0 14px 14px;
	background: linear-gradient(#E4E8E8, #B9C1C1);
	box-shadow: 0 18px 30px -12px rgba(8, 80, 90, .55);
}
.mockup-laptop__base i { position: absolute; top: 0; left: 42%; width: 16%; height: 5px; border-radius: 0 0 6px 6px; background: #A7B0B0; }

.mockup-double { position: relative; width: 84%; aspect-ratio: 16 / 10.5; }
.mockup-double .mockup-browser { position: absolute; }
.mockup-double .is-back { top: 0; right: 0; width: 62%; aspect-ratio: 16 / 11; border-radius: 10px; box-shadow: 0 30px 60px -20px rgba(46, 46, 46, .35); }
.mockup-double .is-front { bottom: 0; left: 0; width: 76%; box-shadow: 0 40px 80px -20px rgba(46, 46, 46, .45); }

.round-project__label {
	position: absolute;
	right: 14px;
	bottom: 14px;
	left: 14px;
	z-index: 3;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 12px;
}
.round-project__label > div { display: flex; flex-direction: column; gap: 8px; flex: 1; min-width: 0; }
.round-project__title { font-size: 22px; font-weight: 500; line-height: 1.2; letter-spacing: -.03em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.round-project.is-dark .round-project__title { color: #fff; }
.round-project__tag {
	align-self: flex-start;
	padding: 5px 8px;
	border-radius: var(--wp--custom--radius--tag);
	background: rgba(255, 255, 255, .88);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10.5px;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
}
.round-project__go { display: flex; flex: none; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: #fff; color: var(--wp--preset--color--contrast); }

/* Clienti: marquee loghi
   -------------------------------------------------------------------------- */
.round-clienti { max-width: none; padding-inline: 0; }
.round-clienti .round-head { max-width: 1280px; margin: 0 auto !important; padding: 0 var(--round-gutter) 40px; }
.wp-block-gallery.is-style-marquee {
	--logo-gap: clamp(48px, 6vw, 96px);
	display: flex;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	margin: 0;
	padding: 36px 0;
	overflow: hidden;
	border-top: 1px solid var(--round-line);
	border-bottom: 1px solid var(--round-line);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.is-style-marquee .marquee-track { display: flex; flex: none; align-items: center; width: max-content; will-change: transform; }
.wp-block-gallery.has-nested-images.is-style-marquee figure.wp-block-image {
	flex: none !important;
	width: 170px !important;
	margin: 0 var(--logo-gap) 0 0 !important;
}
.wp-block-gallery.has-nested-images.is-style-marquee figure.wp-block-image img {
	width: 170px !important;
	height: 96px !important;
	object-fit: cover;
	filter: grayscale(1) brightness(.35);
	opacity: .65;
}

/* Contatti e form
   -------------------------------------------------------------------------- */
.round-contatti {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
	gap: clamp(40px, 6vw, 96px);
	padding-bottom: clamp(64px, 8vw, 112px);
}
.round-contatti > * { margin: 0 !important; }
.round-contatti__intro { display: flex; flex-direction: column; gap: 20px; }
.round-contatti__intro > * { margin: 0 !important; }
.round-contatti__intro h2 { line-height: 1; letter-spacing: -.05em; }
.round-contatti__intro p:not(.is-style-eyebrow) { max-width: 400px; font-size: 16px; line-height: 1.55; color: var(--round-text-2); }

.round-form__form,
.round-form__done { border-radius: var(--wp--custom--radius--card); background: var(--wp--preset--color--surface); }
.round-form__form { display: flex; flex-direction: column; gap: 16px; padding: clamp(20px, 2.5vw, 32px); }
.round-form p { margin: 0; }
.round-form__head { display: flex; flex-direction: column; gap: 4px; margin-bottom: 4px; }
.round-form__title { font-size: 20px; font-weight: 500; letter-spacing: -.025em; line-height: 1.3; }
.round-form__intro { font-size: 14px; line-height: 1.5; color: var(--round-text-2); }
.round-form__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; border: 0; }
.round-chip { position: relative; }
.round-chip input { position: absolute; opacity: 0; pointer-events: none; }
.round-chip span {
	display: block;
	padding: 9px 13px;
	border-radius: 10px;
	background: #fff;
	font-size: 13px;
	line-height: 1.3;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
.round-chip span:hover { background: var(--wp--preset--color--accent-light); }
.round-chip input:checked + span { background: var(--wp--preset--color--contrast); color: #fff; }
.round-chip input:focus-visible + span { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.round-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 8px; }
.round-field { display: block; }
.round-field input,
.round-field textarea {
	display: block;
	width: 100%;
	padding: 14px;
	border: 1px solid transparent;
	border-radius: 10px;
	background: #fff;
	color: inherit;
	font: inherit;
	font-size: 15px;
	line-height: 1.4;
	outline: none;
	transition: border-color .2s ease;
}
.round-field textarea { resize: vertical; min-height: 96px; }
.round-field input:focus,
.round-field textarea:focus { border-color: var(--wp--preset--color--accent); }
.round-field ::placeholder { color: rgba(46, 46, 46, .5); }
.round-form__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
.round-form__privacy { display: flex; align-items: flex-start; gap: 8px; max-width: 280px; font-size: 12px; line-height: 1.4; color: var(--round-text-2); }
.round-form__privacy input { margin: 1px 0 0; accent-color: var(--wp--preset--color--accent); }
.round-form__privacy a { text-decoration: underline; }
.round-form__error { font-size: 14px; color: #B3261E; }
.round-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.round-form.is-busy button[type="submit"] { opacity: .6; pointer-events: none; }
.round-form__done { display: flex; flex-direction: column; justify-content: center; gap: 10px; min-height: 100%; padding: 40px; }
.round-form__done-title { font-size: 36px; font-weight: 450; line-height: 1.1; letter-spacing: -.04em; }
.round-form__done p:not(.round-form__done-title) { font-size: 15px; color: var(--round-text-2); }

/* Footer (versione 3f)
   -------------------------------------------------------------------------- */
.site-footer { padding: 0 var(--round-box) var(--round-box); }
.site-footer.has-gap { padding-top: clamp(14px, 2vw, 32px); }
.site-footer__box {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 40px;
	overflow: hidden;
	overflow: clip; /* hidden resta scrollabile via ancore (#obiettivi): clip no */
	padding: clamp(40px, 5vw, 64px) clamp(20px, 3.4vw, 48px) 28px;
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--contrast-3);
	color: #fff;
}
.site-footer__box > * { position: relative; z-index: 1; margin: 0 !important; }
.site-footer a { color: rgba(255, 255, 255, .75); transition: color .2s ease; }
.site-footer a:hover { color: #fff; }
.site-footer a.is-accent { color: var(--wp--preset--color--accent); }
.site-footer a.is-accent:hover { color: #fff; }



/* Payoff */
.site-footer__head { padding-bottom: 56px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.site-footer__head > * { margin: 0 !important; }
.site-footer__payoff {
	font-size: clamp(44px, 8vw, 112px);
	font-weight: 450;
	line-height: .9;
	letter-spacing: -.06em;
	color: #fff;
}
.site-footer__payoff mark { background: none; color: rgba(255, 255, 255, .2); }
.site-footer__payoff .ft-line { display: block; overflow: hidden; padding-bottom: .22em; margin-bottom: -.22em; }
.site-footer__payoff .ft-word,
.site-footer__payoff .ft-chars { display: inline-block; white-space: nowrap; }
.site-footer__payoff .ft-char { display: inline-block; color: rgba(255, 255, 255, .2); transition: color .5s ease; }
.site-footer__payoff .ft-char.is-on { color: #fff; }
.js .site-footer__payoff .ft-word { transform: translateY(105%); }
.site-footer.is-played .site-footer__payoff .ft-word { transform: none; transition: transform 1.4s var(--round-ease) var(--d, 0ms); }

/* Sitemap: 5 colonne, poi 2, poi 1 */
.site-footer__sitemap {
	display: grid;
	grid-template-columns: 1.1fr 1fr 1fr 1fr 1fr;
	gap: 32px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	font-size: 14px;
	line-height: 1.85;
}
.site-footer__sitemap > * { margin: 0 !important; }
.site-footer__brand img { display: block; width: auto !important; height: 20px !important; }
.site-footer__col { display: flex; flex-direction: column; }
.site-footer__col > * { margin: 0 !important; }
.site-footer__col .is-style-mono {
	margin-bottom: 10px !important;
	font-size: 10.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}
.round-menu__list { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }
.round-menu__list a { white-space: nowrap; }

@media (max-width: 1179px) {
	.site-footer__sitemap { grid-template-columns: 1fr 1fr; row-gap: 40px; }
	.site-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 599px) {
	.site-footer__sitemap { grid-template-columns: minmax(0, 1fr); }
}

/* Contatti */
.site-footer__contacts { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; font-size: 14px; }
.site-footer__contacts > * { margin: 0 !important; }
.site-footer__contacts p { display: flex; flex-wrap: wrap; gap: 8px 28px; color: rgba(255, 255, 255, .75); }
.site-footer__contacts p:last-child { gap: 8px 20px; }

/* Riga legale */
.site-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; font-size: 12px; color: rgba(255, 255, 255, .55); }
.site-footer__legal > * { margin: 0 !important; }
.site-footer__legal a { color: inherit; }
.site-footer__copy { display: flex; align-items: center; gap: 8px; }
.site-footer__copy::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--accent); }

/* Entrata di logo, titoli e link delle colonne */
.js .site-footer .ft-item { opacity: 0; transform: translateY(14px); }
.site-footer.is-played .ft-item {
	opacity: 1;
	transform: none;
	transition: opacity .9s var(--round-ease) var(--d, 0ms), transform 1.1s var(--round-ease) var(--d, 0ms);
}

@media (prefers-reduced-motion: reduce) {
	.js .site-footer__payoff .ft-word,
	.js .site-footer .ft-item { opacity: 1; transform: none; }
	.site-footer__payoff .ft-char { color: #fff; }
}

/* ==========================================================================
   Pagina obiettivo (e componenti riutilizzabili nelle pagine interne)
   ========================================================================== */

/* Hero divisa con scena 3D
   -------------------------------------------------------------------------- */
.round-split-hero { padding: 0 var(--round-box); }
.round-split-hero__box {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	align-items: center;
	gap: clamp(32px, 4vw, 64px);
	min-height: min(820px, calc(100svh - 80px));
	padding: clamp(48px, 7vw, 104px) clamp(24px, 5vw, 72px);
	overflow: hidden;
	overflow: clip;
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--surface);
}
.round-split-hero__box > * { margin: 0 !important; }
.round-split-hero__orb {
	position: absolute;
	right: -18%;
	bottom: -62%;
	width: min(1100px, 90vw);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 8%, #9BEAF1 0%, #3FCAD8 14%, #14B6C7 30%, #0C8E9C 55%, #086671 80%);
	box-shadow: inset 0 30px 80px rgba(255, 255, 255, .55);
	opacity: .9;
	pointer-events: none;
}
.round-split-hero__content { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 24px; max-width: 600px; }
.round-split-hero__content > * { margin: 0 !important; }
.round-split-hero .is-style-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .1em; color: rgba(46, 46, 46, .7); }
.round-split-hero .is-style-eyebrow::before { width: 7px; height: 7px; }
.round-display-md {
	font-size: clamp(42px, 5.6vw, 84px);
	font-weight: 500;
	line-height: .98;
	letter-spacing: -.05em;
	text-wrap: balance;
}
.round-display-md mark { background: none; color: rgba(46, 46, 46, .35); }
.round-split-hero__lead { max-width: 480px; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.55; color: rgba(46, 46, 46, .75); text-wrap: pretty; }
.round-split-hero .is-style-fill .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--contrast); }

.round-scene { position: relative; z-index: 1; aspect-ratio: 1 / .92; perspective: 1600px; }
.round-scene__stage { position: absolute; inset: 0; transform-style: preserve-3d; transform: rotateX(10deg) rotateY(-16deg); will-change: transform; }
.round-scene__browser {
	position: absolute;
	top: 8%;
	left: 4%;
	display: flex;
	flex-direction: column;
	width: 78%;
	aspect-ratio: 16 / 11;
	overflow: hidden;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 50px 100px -30px rgba(8, 80, 90, .55), 0 0 0 1px rgba(46, 46, 46, .06);
}
.round-scene__bar,
.round-results__bar {
	flex: none;
	display: flex;
	align-items: center;
	gap: 6px;
	height: 28px;
	padding: 0 12px;
	background: var(--wp--preset--color--surface-3);
	border-bottom: 1px solid rgba(46, 46, 46, .08);
}
.round-scene__bar i,
.round-results__bar i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #D5DBDB; }
.round-scene__bar span,
.round-results__bar span {
	margin: 0 auto;
	padding: 3px 14px;
	border-radius: 6px;
	background: #fff;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10px;
	line-height: 1.3;
	color: rgba(46, 46, 46, .6);
	white-space: nowrap;
}
.round-scene__screen { position: relative; flex: 1; overflow: hidden; }
.round-scene__shot { display: block; width: 100%; height: auto; will-change: transform; }
.round-scene__orders { position: absolute; top: 0; right: 0; display: flex; flex-direction: column; gap: 8px; width: 44%; transform: translateZ(80px); }
.round-order {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 20px 40px -16px rgba(8, 80, 90, .4);
	transform-origin: top right;
	transition: transform .9s var(--round-ease), opacity .9s var(--round-ease);
}
.round-order.is-new { opacity: 0; transform: translateY(-16px) scale(.92); }
.round-order__icon { display: flex; flex: none; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 10px; background: var(--wp--preset--color--accent-light); }
.round-order__icon::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-order__text { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.round-order__title { font-size: 13px; font-weight: 600; letter-spacing: -.01em; color: var(--wp--preset--color--contrast); }
.round-order__sub { overflow: hidden; font-size: 11.5px; color: rgba(46, 46, 46, .6); white-space: nowrap; text-overflow: ellipsis; }
.round-scene__chart {
	position: absolute;
	right: 6%;
	bottom: 2%;
	width: 52%;
	padding: 18px 18px 12px;
	border-radius: 16px;
	background: var(--wp--preset--color--contrast);
	color: #fff;
	box-shadow: 0 40px 80px -24px rgba(0, 0, 0, .5);
	transform: translateZ(130px);
}
.round-scene__chart-head,
.round-results__chart-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .6);
}
.round-scene__live { display: flex; align-items: center; gap: 6px; color: var(--wp--preset--color--accent); }
.round-scene__live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.round-scene svg,
.round-results svg { display: block; width: 100%; height: auto; margin-top: 10px; overflow: visible; }
.round-scene svg path,
.round-results svg path { fill: none; stroke-linecap: round; }

@media (max-width: 599px) {
	.round-scene__orders { width: 54%; gap: 6px; }
	.round-order { gap: 8px; padding: 8px 10px; border-radius: 11px; }
	.round-order:nth-child(n + 3) { display: none; }
	.round-order__icon { width: 24px; height: 24px; border-radius: 8px; }
	.round-order__title { font-size: 11px; }
	.round-order__sub { font-size: 9.5px; }
	.round-scene__chart { padding: 12px 12px 8px; }
	.round-scene__chart-head { font-size: 8.5px; }
}

/* Funnel a barre nella card della scena */
.round-funnel { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; padding-bottom: 6px; }
.round-funnel__row { display: flex; flex-direction: column; gap: 6px; }
.round-funnel__label { display: flex; justify-content: space-between; font-size: 12px; line-height: 1.3; color: rgba(255, 255, 255, .75); }
.round-funnel__label span:last-child { font-family: var(--wp--preset--font-family--mono); font-size: 10px; color: rgba(255, 255, 255, .45); }
.round-funnel__track { display: block; height: 10px; overflow: hidden; border-radius: 6px; background: rgba(255, 255, 255, .08); }
.round-funnel__bar { display: block; width: var(--w); height: 100%; border-radius: 6px; background: var(--wp--preset--color--accent); }
.round-funnel__row:first-child .round-funnel__bar { background: rgba(255, 255, 255, .35); }
.round-funnel__row:nth-child(2) .round-funnel__bar { background: #3FCAD8; }
.js .round-funnel__bar { width: 0; }
.is-drawn .round-funnel__bar { width: var(--w); transition: width 1.8s var(--round-ease) var(--d, 0ms); }
@media (max-width: 599px) {
	.round-funnel { gap: 7px; margin-top: 8px; }
	.round-funnel__label { font-size: 9.5px; }
	.round-funnel__track { height: 7px; }
}

/* Linee SVG che si disegnano: nascoste solo con JS attivo */
.js [data-draw] { stroke-dasharray: 1; stroke-dashoffset: 1; }
.is-drawn [data-draw] { stroke-dashoffset: 0; transition: stroke-dashoffset 2.6s cubic-bezier(.65, 0, .35, 1); }
.is-drawn [data-draw] ~ [data-draw] { transition-delay: 250ms; }

/* Due colonne: titolo + contenuto
   -------------------------------------------------------------------------- */
.round-split {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: clamp(40px, 6vw, 96px);
}
.round-split.is-centered { align-items: center; }
.round-split > * { margin: 0 !important; }
.round-split__main,
.round-split__aside { display: flex; flex-direction: column; gap: 20px; }
.round-split__main > *,
.round-split__aside > * { margin: 0 !important; }
.round-split__main h2 { line-height: 1; letter-spacing: -.05em; }
.round-split__aside.is-intro { gap: 28px; padding-top: 8px; }
.round-lead { font-size: 20px; line-height: 1.5; letter-spacing: -.01em; text-wrap: pretty; }
.round-lead strong,
.is-style-numbered strong { font-weight: 600; }

.round-numbered { display: flex; flex-direction: column; border-top: 1px solid var(--round-line); }
.round-numbered > * { margin: 0 !important; }
.round-numbered .is-style-mono { padding: 18px 0 6px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.is-style-numbered { margin: 0; padding: 0; list-style: none; counter-reset: num; }
.is-style-numbered li {
	position: relative;
	margin: 0;
	padding: 16px 0 16px 36px;
	border-bottom: 1px solid var(--round-line);
	font-size: 17px;
	line-height: 1.5;
	counter-increment: num;
}
.is-style-numbered li::before {
	content: counter(num, decimal-leading-zero);
	position: absolute;
	top: 21px;
	left: 0;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	line-height: 1.4;
	color: var(--wp--preset--color--accent-dark);
}

/* Vantaggi: box scuro con titolo sticky
   -------------------------------------------------------------------------- */
.round-benefits { padding: var(--round-section) var(--round-box) 0; }
.round-benefits__box {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
	gap: clamp(40px, 6vw, 96px);
	padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 72px);
	overflow: clip; /* clip e non hidden: hidden romperebbe il titolo sticky */
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--contrast);
	color: #fff;
}
.round-benefits__box > * { margin: 0 !important; }
.round-benefits .round-benefits__aside {
	position: sticky;
	top: calc(120px + var(--wp-admin--admin-bar--height, 0px));
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.round-benefits__aside > * { margin: 0 !important; }
.round-benefits__aside::before { content: ""; width: 44px; height: 44px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-benefits__aside .is-style-eyebrow { color: rgba(255, 255, 255, .65); }
.round-benefits__aside h2 { font-size: clamp(36px, 4.2vw, 60px); line-height: 1; }
/* Una colonna sola (sotto circa 900px): il titolo non resta fisso, altrimenti scorre sopra la lista */
@media (max-width: 899px) {
	.round-benefits .round-benefits__aside { position: relative; top: auto; }
}
.round-benefits__list { display: flex; flex-direction: column; counter-reset: benefit; }
.round-benefit {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 8px 16px;
	margin: 0 !important;
	padding: 28px 0;
	border-top: 1px solid rgba(255, 255, 255, .12);
	counter-increment: benefit;
	transition: padding .35s var(--round-ease);
}
.round-benefit:hover { padding-left: 8px; }
.round-benefit::before {
	content: counter(benefit, decimal-leading-zero);
	grid-column: 1;
	grid-row: 1 / span 2;
	padding-top: 8px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	color: var(--wp--preset--color--accent);
}
.round-benefit > * { grid-column: 2; margin: 0 !important; }
.round-benefit h3 { font-size: clamp(24px, 2.4vw, 34px); font-weight: 450; line-height: 1.1; letter-spacing: -.035em; }
.round-benefit p { max-width: 440px; font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .7); }

/* Foto che si allarga allo scroll
   -------------------------------------------------------------------------- */
.round-grow-section { padding-top: var(--round-section); }
.round-grow {
	position: relative;
	height: clamp(420px, 62vh, 600px);
	overflow: hidden;
	clip-path: inset(0 6% round 28px);
	will-change: clip-path;
}
.round-grow::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(35, 35, 35, .15) 0%, rgba(35, 35, 35, .72) 100%); }
.round-grow > * { margin: 0 !important; }
.round-grow__img { position: absolute !important; inset: 0; }
.round-grow__img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.18); will-change: transform; }
.round-grow__content {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 32px;
	padding: clamp(32px, 6vw, 88px) clamp(32px, 10vw, 140px);
	color: #fff;
}
.round-grow__content > * { margin: 0 !important; }
.round-grow__text { display: flex; flex-direction: column; gap: 18px; max-width: 720px; }
.round-grow__text > * { margin: 0 !important; }
.round-grow__text .is-style-eyebrow { color: rgba(255, 255, 255, .8); }
.round-grow__text h2 { font-size: clamp(36px, 4.6vw, 68px); line-height: 1; letter-spacing: -.05em; }
.round-grow__text p:not(.is-style-eyebrow) { max-width: 520px; font-size: 17px; line-height: 1.55; color: rgba(255, 255, 255, .85); }
.round-grow .is-style-white .wp-block-button__link { padding: 14px 22px; font-size: 15px; }
@media (max-width: 599px) {
	.round-grow { display: flex; align-items: flex-end; height: auto; min-height: clamp(420px, 62vh, 600px); }
	.round-grow__content { position: relative; }
}

/* Vetrina risultati
   -------------------------------------------------------------------------- */
.round-results { position: relative; aspect-ratio: 1 / .9; overflow: hidden; overflow: clip; border-radius: 24px; background: var(--wp--preset--color--surface); }
.round-results__browser {
	position: absolute;
	top: 9%;
	left: 8%;
	width: 62%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 40px 80px -24px rgba(46, 46, 46, .35);
}
.round-results__bar { gap: 5px; height: 24px; padding: 0 10px; }
.round-results__bar i { width: 7px; height: 7px; }
.round-results__bar span { padding: 2px 12px; font-size: 9.5px; transition: opacity .5s ease; }
.round-results__screen { position: relative; height: calc(100% - 24px); overflow: hidden; }
.round-results__shot { position: absolute; top: 0; left: 0; display: block; width: 100%; height: auto; opacity: 0; transition: opacity 1.4s ease; will-change: transform, opacity; }
.round-results__shot.is-on { opacity: 1; }
.round-results__chart {
	position: absolute;
	right: 6%;
	bottom: 9%;
	width: 58%;
	padding: 18px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 30px 60px -20px rgba(46, 46, 46, .35);
	will-change: transform;
}
.round-results__chart-head { color: rgba(46, 46, 46, .6); }
.round-results__legend { display: flex; gap: 10px; }
.round-results__legend span { display: flex; align-items: center; gap: 5px; }
.round-results__legend span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #C9D2D2; }
.round-results__legend .is-on::before { background: var(--wp--preset--color--accent); }
.round-results svg { margin-top: 12px; }
.round-results__note { display: block; margin-top: 8px; font-size: 11px; color: rgba(46, 46, 46, .6); }

/* Demo ordine eCommerce (eredita box, barra e grafico da .round-results)
   -------------------------------------------------------------------------- */
.round-order-demo__browser {
	position: absolute;
	top: 7%;
	left: 5%;
	width: 90%;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 40px 80px -24px rgba(46, 46, 46, .35);
}
.round-order-demo__screen { position: relative; aspect-ratio: 1100 / 614; overflow: hidden; }
.round-order-demo__screen::after { content: ""; position: absolute; inset: 0; z-index: 2; background: rgba(46, 46, 46, .28); opacity: 0; transition: opacity .5s ease; pointer-events: none; }
.round-order-demo.is-confirmed .round-order-demo__screen::after { opacity: 1; }
.round-order-demo__shot { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; opacity: 0; transition: opacity .6s ease; }
.round-order-demo__shot.is-on { opacity: 1; }
.round-order-demo__cursor {
	position: absolute;
	top: 70%;
	left: 62%;
	z-index: 4;
	width: 20px;
	height: 22px;
	margin: -2px 0 0 -3px;
	transition: left 1.1s cubic-bezier(.65, 0, .35, 1), top 1.1s cubic-bezier(.65, 0, .35, 1);
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .25));
}
.round-order-demo__cursor svg { display: block; transition: transform .15s ease; }
.round-order-demo__cursor::before {
	content: "";
	position: absolute;
	top: -9px;
	left: -8px;
	width: 22px;
	height: 22px;
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 50%;
	opacity: 0;
}
.round-order-demo__cursor.is-click svg { animation: od-press .3s ease; }
.round-order-demo__cursor.is-click::before { animation: od-ring .6s ease-out; }
@keyframes od-press { 50% { transform: scale(.82); } }
@keyframes od-ring { from { opacity: 1; transform: scale(.4); } to { opacity: 0; transform: scale(1.6); } }
.round-order-demo__badge {
	position: absolute;
	top: 9.4%;
	left: 97.9%;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #F0157F;
	color: #fff;
	font-size: 7.5px;
	font-weight: 600;
	transform: translate(-50%, -50%) scale(0);
	transition: transform .5s cubic-bezier(.34, 1.8, .5, 1);
}
.round-order-demo__badge.is-on { transform: translate(-50%, -50%) scale(1); }
.round-order-demo__confirm {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 20px 28px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 30px 60px -20px rgba(46, 46, 46, .45);
	text-align: center;
	white-space: nowrap;
	opacity: 0;
	transform: translate(-50%, -40%) scale(.92);
	transition: opacity .6s var(--round-ease), transform .8s var(--round-ease);
}
.round-order-demo.is-confirmed .round-order-demo__confirm { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.round-order-demo__check { position: relative; width: 36px; height: 36px; margin-bottom: 4px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-order-demo__check::after {
	content: "";
	position: absolute;
	top: 10px;
	left: 13px;
	width: 8px;
	height: 14px;
	border: solid #fff;
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg);
}
.round-order-demo__confirm-title { font-size: 17px; font-weight: 600; letter-spacing: -.02em; color: var(--wp--preset--color--contrast); }
.round-order-demo__confirm-text { font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: rgba(46, 46, 46, .6); }
.round-order-demo { aspect-ratio: 1 / 1.03; }
.round-order-demo .round-results__chart { right: 5%; bottom: 5%; width: 52%; }
.round-order-demo__dot { opacity: 0; transform-box: fill-box; transform-origin: center; }
.round-order-demo.is-confirmed .round-order-demo__dot { opacity: 1; animation: od-pulse 1.4s var(--round-ease); }
@keyframes od-pulse { 0% { transform: scale(0); } 40% { transform: scale(1.8); } 100% { transform: scale(1); } }
@media (max-width: 599px) {
	.round-order-demo__confirm { gap: 4px; padding: 12px 16px; border-radius: 12px; }
	.round-order-demo__check { width: 24px; height: 24px; }
	.round-order-demo__check::after { top: 6px; left: 9px; width: 5px; height: 10px; border-width: 0 2px 2px 0; }
	.round-order-demo__confirm-title { font-size: 13px; }
	.round-order-demo__confirm-text { font-size: 9px; }
	.round-order-demo__cursor { transform: scale(.75); }
	.round-order-demo { aspect-ratio: 1 / 1.22; }
	.round-order-demo .round-results__chart { bottom: 4%; width: 62%; }
}

/* Boost: 3 step con pallino che si accende allo scroll
   -------------------------------------------------------------------------- */
.round-boost .round-head { margin-bottom: 56px !important; }
.round-h2-wide { max-width: 680px; line-height: 1; letter-spacing: -.05em; }
.round-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 12px; counter-reset: step; }
.round-step-card {
	display: flex;
	flex-direction: column;
	gap: 56px;
	min-height: 300px;
	margin: 0 !important;
	padding: clamp(24px, 2.6vw, 36px);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--surface);
	counter-increment: step;
	transition: background-color .3s ease;
}
.round-step-card:hover { background: var(--wp--preset--color--accent-light); }
.round-step-card > * { margin: 0 !important; }
.round-step-card__tag { display: flex; align-items: center; }
.round-step-card__tag::before { content: counter(step, decimal-leading-zero) " /\00a0"; }
.round-step-card__tag::after {
	content: "";
	width: 14px;
	height: 14px;
	margin-left: auto;
	border-radius: 50%;
	background: #C9D2D2;
	transition: background-color .5s ease, transform .6s cubic-bezier(.34, 1.8, .5, 1);
}
.round-step-card.is-lit .round-step-card__tag::after { background: var(--wp--preset--color--accent); transform: scale(1.25); }
.round-step-card__body { display: flex; flex-direction: column; gap: 10px; margin-top: auto !important; }
.round-step-card__body > * { margin: 0 !important; }
.round-step-card h3 { font-size: 28px; font-weight: 500; line-height: 1.1; letter-spacing: -.03em; }
.round-step-card p:not(.is-style-mono) { font-size: 15px; line-height: 1.55; color: rgba(46, 46, 46, .72); }

/* CTA con sfera e anello orbitale
   -------------------------------------------------------------------------- */
.round-cta-section { padding: var(--round-section) var(--round-box) 0; }
.round-cta-orbit {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
	padding: clamp(40px, 5.5vw, 72px) clamp(24px, 5vw, 72px);
	overflow: hidden;
	overflow: clip;
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--surface);
}
.round-cta-orbit > * { margin: 0 !important; }
.round-orbit { position: absolute; top: 50%; right: -140px; width: 440px; height: 440px; margin-top: -220px !important; pointer-events: none; }
.round-orbit__sphere {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 20%, #9BEAF1 0%, #3FCAD8 18%, #14B6C7 38%, #0C8E9C 65%, #086671 90%);
	box-shadow: inset 0 20px 60px rgba(255, 255, 255, .5);
}
.round-orbit__ring { position: absolute; inset: -14%; border: 1px solid rgba(46, 46, 46, .16); border-radius: 50%; will-change: transform; }
.round-orbit__ring span { position: absolute; top: -7px; left: 50%; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: var(--wp--preset--color--contrast); }
.round-cta-orbit__text { position: relative; display: flex; flex-direction: column; gap: 16px; max-width: 640px; }
.round-cta-orbit__text > * { margin: 0 !important; }
.round-cta-orbit__text h2 { font-size: clamp(34px, 4.2vw, 60px); line-height: 1; letter-spacing: -.05em; }
.round-cta-orbit__text mark { background: none; color: rgba(46, 46, 46, .3); white-space: nowrap; }
/* Il bottone resta fuori dalla traiettoria dell'anello, così il pallino ha un arco ampio */
.round-cta-orbit__cta { position: relative; margin-right: clamp(0px, 24vw, 340px) !important; }
.round-cta-orbit .is-style-fill .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--contrast); }

@media (max-width: 599px) {
	.round-cta-orbit { padding-bottom: 180px; }
	.round-orbit { top: auto; right: -70px; bottom: -150px; width: 300px; height: 300px; margin-top: 0 !important; }
	.round-cta-orbit__cta { margin-right: 0 !important; }
	.round-results__chart { padding: 12px; }
	.round-results__chart-head { flex-wrap: wrap; font-size: 8.5px; }
}

/* Hero centrata con funnel a particelle
   -------------------------------------------------------------------------- */
.round-center-hero { max-width: calc(1280px + 2 * var(--round-gutter)); margin: 0 auto; padding: clamp(56px, 8vw, 112px) var(--round-gutter) 0; }
.round-center-hero > * { margin: 0 !important; }
.round-center-hero__text { display: flex; flex-direction: column; align-items: center; gap: 24px; max-width: 1184px; margin: 0 auto !important; text-align: center; }
.round-center-hero__text > * { margin: 0 !important; }
.round-center-hero .is-style-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .1em; color: rgba(46, 46, 46, .65); }
.round-center-hero .is-style-eyebrow::before { width: 7px; height: 7px; }
.round-center-hero .wp-block-buttons { justify-content: center; }
.round-display-xl { max-width: 1000px; font-size: clamp(44px, 7vw, 104px); font-weight: 500; line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.round-display-xl mark { background: none; color: rgba(46, 46, 46, .3); }
.round-center-hero__lead { max-width: 520px; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.55; color: rgba(46, 46, 46, .72); text-wrap: pretty; }
.wp-block-button.is-style-soft .wp-block-button__link { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); }
.wp-block-button.is-style-soft .wp-block-button__link:hover { background: var(--wp--preset--color--accent-light); }

.round-flow { position: relative; max-width: 1280px; margin: clamp(40px, 6vw, 80px) auto 0 !important; overflow: hidden; overflow: clip; border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--surface); }
.round-flow__stage { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); height: clamp(260px, 30vw, 380px); }
.round-flow__stage > span:nth-child(1) { border-right: 1px dashed rgba(46, 46, 46, .14); }
.round-flow__stage > span:nth-child(2) { border-right: 1px dashed rgba(46, 46, 46, .14); background: rgba(20, 182, 199, .05); }
.round-flow__stage > span:nth-child(3) { background: rgba(20, 182, 199, .1); }
.round-flow__stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.round-flow__legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid rgba(46, 46, 46, .08); background: #fff; list-style: none; }
.round-flow__legend li { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: clamp(16px, 2vw, 24px); border-right: 1px solid rgba(46, 46, 46, .08); }
.round-flow__legend li:last-child { border-right: 0; }
.round-flow__num { font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: var(--wp--preset--color--accent-dark); }
.round-flow__legend li:first-child .round-flow__num { color: rgba(46, 46, 46, .55); }
.round-flow__name { font-size: clamp(16px, 1.6vw, 22px); font-weight: 500; line-height: 1.2; letter-spacing: -.02em; }
.round-flow__desc { font-size: 13px; line-height: 1.4; color: rgba(46, 46, 46, .6); }

/* Frase che si accende con lo scroll
   -------------------------------------------------------------------------- */
.round-statement { display: flex; flex-direction: column; gap: 32px; max-width: calc(1080px + 2 * var(--round-gutter)); margin: 0 auto; padding: clamp(96px, 12vw, 180px) var(--round-gutter); }
.round-statement > * { margin: 0 !important; }
.round-statement__text { font-size: clamp(28px, 3.8vw, 54px); font-weight: 450; line-height: 1.12; letter-spacing: -.04em; }
.js .round-statement__text .w { color: rgba(46, 46, 46, .15); transition: color .25s ease; }
.js .round-statement__text .w.is-on { color: var(--wp--preset--color--contrast); }

/* Carosello orizzontale di card
   -------------------------------------------------------------------------- */
.round-rail-section { padding-left: var(--round-gutter); }
.round-rail-section > * { margin: 0 !important; }
.round-rail-head { max-width: 1184px; margin: 0 auto 32px !important; padding-right: var(--round-gutter); }
.round-rail-head h2 { max-width: 960px !important; text-wrap: balance; }
.round-rail__nav { display: flex; order: 2; gap: 8px; }
.round-rail__nav button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(46, 46, 46, .15);
	border-radius: 14px;
	background: #fff;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease;
}
.round-rail__nav button:hover { background: var(--wp--preset--color--surface); }
.round-rail__nav button + button { border: 0; background: var(--wp--preset--color--contrast); color: #fff; }
.round-rail__nav button + button:hover { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.round-rail__nav button:disabled { opacity: .35; cursor: default; pointer-events: none; }
.round-rail {
	display: flex;
	gap: 14px;
	padding: 8px var(--round-gutter) 8px 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.round-rail::-webkit-scrollbar { display: none; }
.round-rail-card {
	flex: none;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: clamp(260px, 26vw, 340px);
	height: clamp(340px, 32vw, 420px);
	margin: 0 !important;
	padding: 26px;
	border-radius: 22px;
	scroll-snap-align: start;
	transition: transform .5s var(--round-ease);
}
.round-rail-card:hover { transform: translateY(-6px); }
.round-rail-card > * { margin: 0 !important; }
.round-rail-card.is-light { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); }
.round-rail-card.is-dark { background: var(--wp--preset--color--contrast); color: #fff; }
.round-rail-card.is-accent { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.round-rail-card__num { display: flex; justify-content: space-between; align-items: center; color: color-mix(in srgb, currentColor 70%, transparent) !important; }
.round-rail-card__num::after { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-rail-card.is-accent .round-rail-card__num::after { background: var(--wp--preset--color--contrast); }
.round-rail-card__body { display: flex; flex-direction: column; gap: 12px; }
.round-rail-card__body > * { margin: 0 !important; }
.round-rail-card h3 { font-size: clamp(26px, 2.4vw, 34px); font-weight: 450; line-height: 1.05; letter-spacing: -.035em; }
.round-rail-card p:not(.is-style-mono) { font-size: 15px; line-height: 1.5; opacity: .78; }

/* Canali: lista a sinistra, card del canale attivo a destra (costruite dal JS)
   -------------------------------------------------------------------------- */
.round-channels-section { padding: clamp(96px, 12vw, 160px) var(--round-box) 0; }
.round-channels__box {
	display: flex;
	flex-direction: column;
	gap: clamp(32px, 4vw, 56px);
	padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 72px);
	overflow: hidden;
	overflow: clip;
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--contrast);
	color: #fff;
}
.round-channels__box > * { margin: 0 !important; }
.round-channels__box .round-head { margin-bottom: 0 !important; }
.round-channels__box .is-style-eyebrow { color: rgba(255, 255, 255, .6); }
.round-channels__box .round-head__text { max-width: 340px; font-size: 16px; line-height: 1.55; color: rgba(255, 255, 255, .7); }
.round-channels { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: clamp(24px, 3vw, 48px); align-items: stretch; }
.round-channels > * { margin: 0 !important; }
.round-channels__nav { display: flex; flex-direction: column; }
.round-channels__nav button {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 20px 0;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, .12);
	background: transparent;
	color: rgba(255, 255, 255, .45);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: color .3s ease, padding .4s var(--round-ease);
}
.round-channels__nav button > span { display: flex; align-items: center; gap: 16px; }
.round-channels__nav small { font-family: var(--wp--preset--font-family--mono); font-size: 11px; opacity: .6; }
.round-channels__nav strong { font-size: clamp(22px, 2.2vw, 30px); font-weight: 450; letter-spacing: -.03em; }
.round-channels__nav button::after {
	content: "";
	flex: none;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	opacity: 0;
	transform: scale(.2);
	transition: opacity .3s ease, transform .5s cubic-bezier(.34, 1.8, .5, 1);
}
.round-channels__nav button[aria-selected="true"] { padding-left: 12px; color: #fff; }
.round-channels__nav button[aria-selected="true"]::after { opacity: 1; transform: none; }
.round-channel {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-height: 360px;
	margin: 0 !important;
	padding: clamp(24px, 3vw, 40px);
	overflow: hidden;
	border-radius: 22px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
}
.round-channel::before { content: ""; position: absolute; top: -90px; right: -90px; width: 280px; height: 280px; border: 1px solid rgba(46, 46, 46, .2); border-radius: 50%; pointer-events: none; }
.round-channel > * { position: relative; margin: 0 !important; }
.round-channel__role { margin-bottom: auto !important; padding-bottom: 16px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--contrast) !important; }
.round-channel__title { font-size: clamp(30px, 3vw, 44px); font-weight: 450; line-height: 1.02; letter-spacing: -.045em; }
.round-channel__desc { max-width: 440px; font-size: 16px; line-height: 1.55; }
.is-style-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 6px 0 0; list-style: none; }
.is-style-tags li { margin: 0; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .55); font-size: 13px; line-height: 1.3; white-space: nowrap; }
/* Con JS: un solo canale visibile, nella stessa cella della griglia */
.js .round-channels.is-ready { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "nav card"; }
.js .round-channels.is-ready .round-channels__nav { grid-area: nav; }
@media (max-width: 799px) {
	.js .round-channels.is-ready { grid-template-columns: minmax(0, 1fr); grid-template-areas: "nav" "card"; }
}
.js .round-channels.is-ready .round-channel { grid-area: card; visibility: hidden; opacity: 0; transition: opacity .45s ease; }
.js .round-channels.is-ready .round-channel.is-active { visibility: visible; opacity: 1; }
.js .round-channels.is-ready .round-channel.is-active > * { animation: round-swap .6s var(--round-ease) both; }
@keyframes round-swap { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.round-channels:not(.is-ready) { gap: 12px; }

/* Foto 4:5 con parallasse interno e badge (didascalia)
   -------------------------------------------------------------------------- */
.round-split.is-photo { gap: clamp(32px, 5vw, 80px); }
.round-photo { position: relative; aspect-ratio: 4 / 5; margin: 0 !important; overflow: hidden; border-radius: 24px; background: var(--wp--preset--color--contrast); }
.round-photo img { position: absolute; top: -10%; left: 0; width: 100%; height: 120% !important; object-fit: cover; will-change: transform; }
.round-photo figcaption {
	position: absolute;
	bottom: 18px;
	left: 18px;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .9);
	font-size: 13px;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}
.round-photo figcaption::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-split.is-photo .round-split__aside { gap: 22px; }
.is-style-numbered.is-compact li { padding: 16px 0 16px 34px; font-size: 16px; }
.is-style-numbered.is-compact li::before { top: 19px; }
.is-style-numbered.is-compact { border-top: 1px solid var(--round-line); }

/* Grafico di crescita largo con tappe
   -------------------------------------------------------------------------- */
.round-results-section .round-head { margin-bottom: 40px !important; }
.round-results-section .round-head h2 { max-width: 620px; }
.round-growth { display: flex; flex-direction: column; gap: 20px; padding: clamp(20px, 3vw, 40px); border: 1px solid var(--round-line); border-radius: 24px; }
.round-growth__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: rgba(46, 46, 46, .6); }
.round-growth__head .round-results__legend { gap: 16px; }
.round-growth__head .round-results__legend span::before { width: 8px; height: 8px; }
.round-growth svg { display: block; width: 100%; height: clamp(200px, 24vw, 300px); overflow: visible; }
.round-growth svg path { fill: none; stroke-linecap: round; }
.round-growth.is-drawn [data-draw] { transition-duration: 3s; }
.round-growth.is-drawn [data-draw] ~ [data-draw] { transition-delay: 300ms; }
.round-growth__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.round-growth__steps li { display: flex; flex-direction: column; gap: 4px; margin: 0; padding-top: 12px; border-top: 2px solid var(--wp--preset--color--surface); }
.js .round-growth__steps li { opacity: .3; transition: opacity .6s ease var(--d), border-color .6s ease var(--d); }
.js .round-growth.is-drawn .round-growth__steps li { opacity: 1; border-color: var(--wp--preset--color--accent); }
.round-growth__num { font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: var(--wp--preset--color--accent-dark); }
.round-growth__name { font-size: 16px; font-weight: 500; }
.round-growth__desc { font-size: 13px; line-height: 1.4; color: rgba(46, 46, 46, .6); }
.round-growth__note { font-size: 11px; color: rgba(46, 46, 46, .5); }
@media (max-width: 599px) {
	.round-flow__legend li { padding: 12px 10px; }
	.round-flow__desc { display: none; }
	.round-growth__steps { grid-template-columns: minmax(0, 1fr); }
}

/* Restyling: parola che cambia font, prima e dopo, checklist, bento, foto che si espande, card progetti
   -------------------------------------------------------------------------- */
.round-center-hero.is-tight { padding-top: clamp(48px, 7vw, 96px); }
.round-center-hero.is-tight .round-center-hero__text { gap: 22px; }
.round-morph { max-width: 1040px; font-size: clamp(42px, 6.6vw, 98px); line-height: 1; letter-spacing: -.05em; }
.round-morph em { position: relative; display: inline-block; font-style: normal; white-space: nowrap; }
.round-morph em::after { content: ""; display: inline-block; width: .17em; height: .17em; margin-left: .04em; border-radius: 50%; background: var(--wp--preset--color--accent); }
.js .round-morph em::after { transform: scale(0); transition: transform .7s cubic-bezier(.34, 1.8, .5, 1); }
.js .round-morph em.is-done::after { transform: scale(1); }
.round-morph em.is-morphing { color: transparent; }
.round-morph__ov { position: absolute; top: 50%; left: 0; font-size: .86em; line-height: 1; white-space: nowrap; transform: translateY(-50%); pointer-events: none; }

.round-ba { display: flex; flex-direction: column; gap: 14px; max-width: 1180px; margin: clamp(40px, 6vw, 72px) auto 0 !important; perspective: 1600px; }
.round-ba__card {
	overflow: hidden;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 50px 100px -40px rgba(46, 46, 46, .45), 0 0 0 1px rgba(46, 46, 46, .08);
	transform-origin: 50% 100%;
	will-change: transform;
}
.js .round-ba__card { transform: rotateX(22deg) scale(.9); }
.round-ba__bar { display: flex; align-items: center; gap: 7px; height: 34px; padding: 0 14px; background: var(--wp--preset--color--surface-3); border-bottom: 1px solid rgba(46, 46, 46, .08); }
.round-ba__bar i { width: 10px; height: 10px; border-radius: 50%; background: #D5DBDB; }
.round-ba__bar span { margin: 0 auto; padding: 4px 18px; border-radius: 7px; background: #fff; font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: rgba(46, 46, 46, .6); white-space: nowrap; }
.round-ba__stage { position: relative; aspect-ratio: 16 / 9; overflow: hidden; cursor: ew-resize; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.round-ba__stage:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: -3px; }
.round-ba__video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; pointer-events: none; }
.round-ba__before { position: absolute; inset: 0; clip-path: inset(0 50% 0 0); will-change: clip-path; }
.round-ba__old { position: absolute; inset: 0; overflow: hidden; background: #C0C0C0; font-family: "Times New Roman", Times, serif; color: #000; line-height: 1.3; }
.round-ba__old-title { padding: 10px 16px; background: #000080; color: #fff; font-family: "Comic Sans MS", "Comic Sans", cursive; font-size: clamp(16px, 2vw, 26px); font-weight: bold; text-align: center; }
.round-ba__old-nav { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px; background: #E0E0E0; border-bottom: 2px solid #808080; }
.round-ba__old-nav span { padding: 4px 10px; background: #D4D0C8; border: 2px outset #fff; font-size: 13px; }
.round-ba__old-body { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 12px; padding: 12px; }
.round-ba__old-side { display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.round-ba__old-side u { color: #0000EE; }
.round-ba__old-side u.is-visited { color: #551A8B; }
.round-ba__old-counter { margin-top: 10px; padding: 4px; background: #000; color: #0F0; font-family: var(--wp--preset--font-family--mono); font-size: 11px; text-align: center; }
.round-ba__old-main { display: flex; flex-direction: column; gap: 10px; font-size: 14px; }
.round-ba__old-main b { font-size: clamp(20px, 2.6vw, 34px); color: #800000; }
.round-ba__old-main em { align-self: flex-start; padding: 4px 10px; border: 1px dashed #F00; background: #FF0; color: #F00; font-size: 13px; font-style: normal; font-weight: bold; }
.round-ba__old-img { display: flex; align-items: center; justify-content: center; height: 90px; border: 2px inset #fff; background: repeating-linear-gradient(45deg, #A0A0A0 0 8px, #B0B0B0 8px 16px); font-size: 12px; color: #333; }
.round-ba__old-main small { font-size: 11px; color: #333; }
.round-ba__handle { position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; margin-left: -1px; background: #fff; box-shadow: 0 0 0 1px rgba(46, 46, 46, .15); will-change: left; }
.round-ba__handle span {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: -28px 0 0 -28px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
	box-shadow: 0 10px 30px -6px rgba(8, 80, 90, .6);
}
.round-ba__glare { position: absolute; inset: 0; background: radial-gradient(600px circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, .22), transparent 45%); mix-blend-mode: soft-light; opacity: 0; pointer-events: none; transition: opacity .4s ease; }
.round-ba__stage.is-hover .round-ba__glare { opacity: 1; }
.round-ba__label { position: absolute; bottom: 14px; padding: 6px 10px; border-radius: 8px; font-family: var(--wp--preset--font-family--mono); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.round-ba__label.is-before { left: 14px; background: #fff; color: var(--wp--preset--color--contrast); box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
.round-ba__label.is-after { right: 14px; display: flex; align-items: center; gap: 6px; background: var(--wp--preset--color--contrast); color: #fff; }
.round-ba__label.is-after::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-ba__hint { align-self: center; margin: 0; font-size: 13px; color: rgba(46, 46, 46, .55); }
@media (max-width: 599px) {
	.round-ba__old-body { grid-template-columns: 90px minmax(0, 1fr); gap: 8px; padding: 8px; }
	.round-ba__old-side, .round-ba__old-nav span { font-size: 10px; }
	.round-ba__old-main { gap: 6px; font-size: 11px; }
	.round-ba__old-img, .round-ba__old-main small { display: none; }
	.round-ba__handle span { width: 40px; height: 40px; margin: -20px 0 0 -20px; }
}

/* Perché ora: tre cambiamenti */
.round-why .round-split.is-bottom { align-items: end; gap: clamp(24px, 5vw, 80px); margin-bottom: clamp(40px, 5vw, 64px) !important; }
.round-h2-xl { font-size: clamp(38px, 4.8vw, 68px) !important; line-height: 1; letter-spacing: -.05em; }
.round-lead.is-muted { max-width: 480px; font-size: 18px; line-height: 1.55; color: rgba(46, 46, 46, .75); }
.round-shifts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 12px; counter-reset: shift; }
.round-shift { display: flex; flex-direction: column; gap: 12px; margin: 0 !important; padding-top: 20px; border-top: 2px solid var(--wp--preset--color--contrast); counter-increment: shift; }
.round-shift::before { content: counter(shift, decimal-leading-zero); font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: var(--wp--preset--color--accent-dark); }
.round-shift > * { margin: 0 !important; }
.round-shift h3 { font-size: clamp(24px, 2.2vw, 30px); font-weight: 500; line-height: 1.1; letter-spacing: -.03em; }
.round-shift p { font-size: 15px; line-height: 1.55; color: rgba(46, 46, 46, .72); }

/* Restyling e SEO: box scuro con checklist che si spunta */
.round-seo__box {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	align-items: center;
	gap: clamp(40px, 6vw, 96px);
	padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 72px);
	overflow: hidden;
	overflow: clip;
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--contrast);
	color: #fff;
}
.round-seo__box > * { margin: 0 !important; }
.round-seo__text { display: flex; flex-direction: column; gap: 20px; }
.round-seo__text > * { margin: 0 !important; }
.round-seo__text .is-style-eyebrow { color: rgba(255, 255, 255, .65); }
.round-seo__text p:not(.is-style-eyebrow) { max-width: 440px; font-size: 16px; line-height: 1.55; color: rgba(255, 255, 255, .72); }
.is-style-checklist { margin: 0; padding: clamp(16px, 2vw, 24px); border-radius: 20px; background: var(--wp--preset--color--contrast-2); list-style: none; }
.is-style-checklist li { position: relative; margin: 0; padding: 16px 8px 16px 52px; border-bottom: 1px solid rgba(255, 255, 255, .08); font-size: 13px; line-height: 1.45; color: rgba(255, 255, 255, .55); }
.is-style-checklist li:last-child { border-bottom: 0; }
.is-style-checklist strong { display: block; margin-bottom: 2px; font-size: 17px; font-weight: 500; letter-spacing: -.01em; color: #fff; }
.is-style-checklist li::before { content: ""; position: absolute; top: 50%; left: 8px; width: 28px; height: 28px; margin-top: -14px; border: 1.5px solid rgba(255, 255, 255, .25); border-radius: 9px; transition: background-color .4s ease var(--d, 0ms), border-color .4s ease var(--d, 0ms); }
.is-style-checklist li::after { content: ""; position: absolute; top: 50%; left: 19px; width: 6px; height: 11px; margin-top: -8px; border: solid var(--wp--preset--color--contrast); border-width: 0 2.2px 2.2px 0; transform: rotate(45deg) scale(0); transition: transform .45s cubic-bezier(.34, 1.8, .5, 1) calc(var(--d, 0ms) + 150ms); }
.is-style-checklist li:nth-child(2) { --d: 380ms; }
.is-style-checklist li:nth-child(3) { --d: 760ms; }
.is-style-checklist li:nth-child(4) { --d: 1140ms; }
.is-style-checklist li:nth-child(5) { --d: 1520ms; }
.is-style-checklist li:nth-child(6) { --d: 1900ms; }
.is-style-checklist.is-checked li::before,
html:not(.js) .is-style-checklist li::before { border-color: var(--wp--preset--color--accent); background: var(--wp--preset--color--accent); }
.is-style-checklist.is-checked li::after,
html:not(.js) .is-style-checklist li::after { transform: rotate(45deg) scale(1); }

/* Vantaggi: griglia bento */
.round-bento-section > h2 { max-width: 680px; margin-bottom: 32px !important; }
.round-bento { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); grid-auto-flow: dense; gap: 12px; counter-reset: bento; }
.round-bento-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 240px;
	margin: 0 !important;
	padding: clamp(22px, 2.4vw, 30px);
	overflow: hidden;
	border-radius: 22px;
	counter-increment: bento;
	transition: transform .5s var(--round-ease);
}
.round-bento-card:hover { transform: scale(.985); }
.round-bento-card::before { content: counter(bento, decimal-leading-zero); font-family: var(--wp--preset--font-family--mono); font-size: 12px; opacity: .7; }
.round-bento-card > * { max-width: 460px; margin: 0 !important; }
.round-bento-card h3 { margin-top: auto !important; padding-top: 28px; font-size: clamp(24px, 2.4vw, 34px); font-weight: 450; line-height: 1.05; letter-spacing: -.035em; }
.round-bento-card p { font-size: 15px; line-height: 1.5; opacity: .78; }
.round-bento-card.is-wide { grid-column: span 2; }
.round-bento-card.is-light { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); }
.round-bento-card.is-dark { background: var(--wp--preset--color--contrast); color: #fff; }
.round-bento-card.is-accent { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
@media (max-width: 599px) {
	.round-bento-card.is-wide { grid-column: auto; }
}

/* Come: foto che si espande a tutto schermo durante lo scroll (sezione alta 200vh, sticky) */
.round-expand { position: relative; height: 200vh; margin-top: clamp(40px, 5vw, 72px) !important; }
.round-expand__sticky { position: sticky; top: 0; display: flex; align-items: center; justify-content: center; height: 100vh; height: 100svh; overflow: hidden; }
.round-expand__sticky > * { margin: 0 !important; }
.round-expand__frame { position: absolute !important; inset: 0; overflow: hidden; clip-path: inset(8% 16% round 28px); will-change: clip-path; }
.round-expand__frame img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.2); will-change: transform; }
.round-expand__frame::after { content: ""; position: absolute; inset: 0; background: rgba(35, 35, 35, .5); }
.round-expand__copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 22px; max-width: 900px; padding: 0 24px; text-align: center; color: #fff; }
.round-expand__copy > * { margin: 0 !important; }
.js .round-expand__copy { opacity: 0; transform: translateY(30px); }
.round-expand__copy .is-style-eyebrow { color: rgba(255, 255, 255, .85); }
.round-expand__copy h2 { font-size: clamp(36px, 5vw, 76px); line-height: 1; letter-spacing: -.05em; }
.round-expand__copy .is-style-white .wp-block-button__link { padding: 14px 22px; font-size: 15px; }
.round-expand__hint {
	position: absolute;
	bottom: calc(8% + 22px);
	left: 50%;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: #fff;
	pointer-events: none;
	transform: translateX(-50%);
	transition: opacity .4s ease;
}
.round-expand__hint span { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; text-shadow: 0 1px 8px rgba(0, 0, 0, .4); }
.round-expand__hint i,
.round-expand__bar i { position: relative; display: block; width: 2px; overflow: hidden; border-radius: 2px; }
.round-expand__hint i { height: 56px; background: rgba(255, 255, 255, .3); }
.round-expand__hint b { position: absolute; inset: 0; background: var(--wp--preset--color--accent); animation: round-scroll-hint 1.6s linear infinite; }
@keyframes round-scroll-hint {
	0% { transform: scaleY(0); transform-origin: top; }
	50% { transform: scaleY(1); transform-origin: top; }
	50.01% { transform: scaleY(1); transform-origin: bottom; }
	100% { transform: scaleY(0); transform-origin: bottom; }
}
.round-expand__bar {
	position: absolute;
	top: 50%;
	left: calc(16% + 22px);
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	pointer-events: none;
	transform: translateY(-50%);
}
.round-expand__bar span { text-shadow: 0 1px 8px rgba(0, 0, 0, .4); }
.round-expand__bar i { height: min(40vh, 320px); background: rgba(255, 255, 255, .25); }
.round-expand__bar b { position: absolute; inset: 0; background: #fff; transform: scaleY(0); transform-origin: top; }
.round-expand__bar em { width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--accent); }
@media (max-width: 599px) {
	.round-expand__bar { display: none; }
}

/* Card progetti verticali: lo screenshot scorre al passaggio del mouse */
.round-works { padding-top: clamp(48px, 6vw, 80px); }
.round-pcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 12px; }
.round-pcard { display: flex; flex-direction: column; gap: 14px; color: var(--wp--preset--color--contrast); }
a.round-pcard:hover { color: var(--wp--preset--color--contrast); }
.round-pcard__stage { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 20px; }
.round-pcard__browser { display: flex; flex-direction: column; width: 78%; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 10px; background: #fff; box-shadow: 0 30px 60px -24px rgba(46, 46, 46, .45); }
.round-pcard__bar { display: flex; flex: none; align-items: center; gap: 4px; height: 20px; padding: 0 8px; background: var(--wp--preset--color--surface-3); }
.round-pcard__bar i { width: 6px; height: 6px; border-radius: 50%; background: #D5DBDB; }
.round-pcard__screen { flex: 1; overflow: hidden; }
.round-pcard__shot { display: block; width: 100%; height: auto; transition: transform 6s cubic-bezier(.45, 0, .2, 1); }
.round-pcard:hover .round-pcard__shot,
.round-pcard:focus-visible .round-pcard__shot { transform: translateY(calc(-1 * var(--range, 0px))); }
.round-pcard__meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.round-pcard__name { font-size: 20px; font-weight: 500; letter-spacing: -.025em; }
.round-pcard__tag { font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: rgba(46, 46, 46, .6); }

@media (prefers-reduced-motion: reduce) {
	.js .round-ba__card { transform: none; }
	.round-expand { height: auto; }
	.round-expand__sticky { position: relative; height: auto; min-height: 80vh; padding: 80px 0; }
	.round-expand__frame { clip-path: inset(0 round 28px); }
	.round-expand__frame img { transform: none; }
	.js .round-expand__copy { opacity: 1; transform: none; }
	.round-expand__hint, .round-expand__bar { display: none; }
	.round-pcard__shot { transition: none; }
}

/* Posizionamento SEO
   -------------------------------------------------------------------------- */
/* Hero con griglia di puntini e alone */
.round-dots-hero { padding: clamp(4px, .6vw, 8px) var(--round-box) 0; }
.round-dots-hero__box {
	position: relative;
	padding: clamp(72px, 10vw, 140px) var(--round-gutter) clamp(64px, 9vw, 120px);
	overflow: hidden;
	overflow: clip;
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--surface);
}
.round-dots-hero__box::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(46, 46, 46, .12) 1px, transparent 1.2px);
	background-size: 22px 22px;
	-webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, #000 20%, transparent 80%);
	mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, #000 20%, transparent 80%);
	pointer-events: none;
}
.round-dots-hero__box > * { position: relative; margin: 0 auto !important; }
.round-dots-hero__orb {
	position: absolute !important;
	top: 50%;
	left: 50%;
	width: min(720px, 90vw);
	height: min(720px, 90vw);
	margin: calc(min(720px, 90vw) / -2) 0 0 calc(min(720px, 90vw) / -2) !important;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(20, 182, 199, .32) 0%, rgba(20, 182, 199, .12) 38%, transparent 68%);
	pointer-events: none;
	will-change: transform;
}
.round-dots-hero .round-center-hero__text { gap: 22px; }
.round-dots-hero .is-style-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .1em; color: rgba(46, 46, 46, .65); white-space: nowrap; }
.round-dots-hero .is-style-eyebrow::before { width: 7px; height: 7px; }
.round-dots-hero .wp-block-buttons { justify-content: center; }
.round-display-xl.is-xxl { max-width: 1080px; font-size: clamp(46px, 7.4vw, 112px); line-height: .98; }
.wp-block-button.is-soft-hover .wp-block-button__link:hover { background: var(--wp--preset--color--accent-light); }
.js .round-dots-hero .reveal { animation: round-reveal 1.3s var(--round-ease) var(--d, 0ms) both; }

/* Scala la SERP: sezione alta 190vh, contenuto sticky sotto l'header */
.round-serp { --row: clamp(52px, 6.4vh, 64px); position: relative; height: 190vh; }
.round-serp__sticky { position: sticky; top: calc(58px + var(--wp-admin--admin-bar--height, 0px)); display: flex; align-items: center; height: calc(100vh - 58px - var(--wp-admin--admin-bar--height, 0px)); padding: clamp(16px, 3vh, 32px) var(--round-gutter); }
.round-serp__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); align-items: center; gap: clamp(28px, 5vw, 80px); width: 100%; max-width: 1184px; margin: 0 auto; }
.round-serp__side { display: flex; flex-direction: column; gap: 18px; }
.round-serp__side > * { margin: 0; }
.round-serp__rank { display: flex; align-items: flex-start; gap: 6px; font-weight: 500; line-height: .85; letter-spacing: -.07em; }
.round-serp__rank span:first-child { font-size: clamp(120px, 16vw, 220px); font-variant-numeric: tabular-nums; }
.round-serp__rank span:last-child { margin-top: .15em; font-size: clamp(40px, 5vw, 72px); }
.round-serp__msg { max-width: 420px; min-height: 2.4em; font-size: clamp(22px, 2.2vw, 30px); font-weight: 450; line-height: 1.15; letter-spacing: -.03em; }
.round-serp__progress { display: flex; align-items: center; gap: 12px; font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(46, 46, 46, .6); }
.round-serp__progress > span:first-child { position: relative; width: min(220px, 40vw); height: 2px; overflow: hidden; border-radius: 2px; background: rgba(46, 46, 46, .12); }
.round-serp__progress b { position: absolute; inset: 0; background: var(--wp--preset--color--accent); transform: scaleX(0); transform-origin: left; }
.round-serp__card { display: flex; flex-direction: column; gap: 14px; padding: clamp(14px, 1.8vw, 22px); border-radius: 22px; background: #fff; box-shadow: 0 40px 90px -40px rgba(46, 46, 46, .4), 0 0 0 1px rgba(46, 46, 46, .08); }
.round-serp__search { display: flex; align-items: center; gap: 12px; height: 48px; padding: 0 18px; border: 1px solid rgba(46, 46, 46, .14); border-radius: 999px; font-size: 15px; }
.round-serp__query { display: flex; align-items: center; min-width: 0; overflow: hidden; white-space: nowrap; }
.round-serp__query i { width: 1.5px; height: 18px; margin-left: 2px; background: var(--wp--preset--color--accent); animation: round-caret 1s steps(1) infinite; }
@keyframes round-caret { 50% { opacity: 0; } }
.round-serp__rows { position: relative; height: calc(var(--rows) * var(--row)); }
.round-serp__row {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	height: var(--row);
	padding: 0 12px;
	border-radius: 12px;
	transform: translateY(calc(var(--pos) * var(--row)));
	transition: transform .7s var(--round-ease), background-color .5s ease;
	will-change: transform;
}
.round-serp__url { display: flex; align-items: center; gap: 8px; min-width: 0; overflow: hidden; font-family: var(--wp--preset--font-family--mono); font-size: 11.5px; color: rgba(46, 46, 46, .55); white-space: nowrap; }
.round-serp__url i { flex: none; width: 14px; height: 14px; border-radius: 50%; background: #E3E8E8; }
.round-serp__title { overflow: hidden; font-size: clamp(14px, 1.2vw, 16px); font-weight: 500; white-space: nowrap; text-overflow: ellipsis; }
.round-serp__row.is-you { background: var(--wp--preset--color--accent-light); }
.round-serp__row.is-you .round-serp__url { color: var(--wp--preset--color--contrast); }
.round-serp__row.is-you .round-serp__url i { background: var(--wp--preset--color--contrast); }
.round-serp__row.is-you.is-top { background: var(--wp--preset--color--accent); }
@media (max-width: 899px) {
	.round-serp { height: auto; }
	.round-serp__sticky { position: relative; top: auto; height: auto; padding-top: clamp(48px, 8vw, 80px); }
}

/* Hai bisogno della SEO: callout teal e card dei fattori */
.round-split.is-top { align-items: start; }
.round-seo-need { padding-top: clamp(48px, 6vw, 88px); }
.round-head__text.is-wide { max-width: 500px; line-height: 1.6; }
.round-head__text strong { font-weight: 600; color: var(--wp--preset--color--contrast); }
.round-callout { display: flex; flex-direction: column; gap: 10px; max-width: 500px; margin-top: 8px !important; padding: 22px 24px; border-radius: 20px; background: var(--wp--preset--color--accent); }
.round-callout > * { margin: 0 !important; }
.round-callout .is-style-mono { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--contrast); }
.round-callout p:not(.is-style-mono) { font-size: clamp(19px, 1.7vw, 23px); font-weight: 450; line-height: 1.3; letter-spacing: -.02em; }
.round-factors { display: flex; flex-direction: column; padding: clamp(22px, 2.6vw, 34px); border-radius: 24px; background: var(--wp--preset--color--contrast); color: #fff; counter-reset: factor; }
.round-factors > * { margin: 0 !important; }
.round-factors > .is-style-mono { padding-bottom: 12px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.round-factor { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 6px 12px; padding: 20px 0; border-top: 1px solid rgba(255, 255, 255, .1); counter-increment: factor; }
.round-factor::before { content: counter(factor, decimal-leading-zero); grid-row: 1 / span 2; padding-top: 6px; font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: var(--wp--preset--color--accent); }
.round-factor > * { grid-column: 2; margin: 0 !important; }
.round-factor h3 { font-size: clamp(20px, 1.8vw, 24px); font-weight: 500; line-height: 1.2; letter-spacing: -.025em; }
.round-factor p { font-size: 14.5px; line-height: 1.5; color: rgba(255, 255, 255, .65); }

/* Accordion: una voce aperta alla volta */
.round-acc-section > h2 { max-width: 720px; margin-bottom: clamp(32px, 4vw, 48px) !important; }
.round-accordion { border-bottom: 1px solid rgba(46, 46, 46, .14); counter-reset: acc; }
.round-acc-item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) 28px;
	gap: 0 16px;
	margin: 0 !important;
	padding: clamp(18px, 2vw, 26px) 4px;
	border-top: 1px solid rgba(46, 46, 46, .14);
	cursor: pointer;
	counter-increment: acc;
}
.round-acc-item:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.round-acc-item::before { content: counter(acc, decimal-leading-zero); grid-column: 1; grid-row: 1; padding-top: .9em; font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: rgba(46, 46, 46, .45); transition: color .4s ease; }
.round-acc-item::after { content: ""; grid-column: 3; grid-row: 1; width: 12px; height: 12px; margin-top: .9em; border-radius: 50%; background: var(--wp--preset--color--accent); transform: scale(0); transition: transform .5s cubic-bezier(.34, 1.8, .5, 1); }
.round-acc-item > * { grid-column: 2; margin: 0 !important; }
.round-acc-item h3 { grid-row: 1; font-size: clamp(26px, 3vw, 42px); font-weight: 450; line-height: 1.1; letter-spacing: -.04em; color: rgba(46, 46, 46, .45); transition: color .4s ease; }
.round-acc-item__body { display: grid; grid-row: 2; grid-template-rows: 1fr; transition: grid-template-rows .55s var(--round-ease); }
.round-acc-item__body > * { min-height: 0; margin: 0 !important; overflow: hidden; }
.round-acc-item__body p { max-width: 620px; padding-top: 12px; font-size: 16px; line-height: 1.55; color: var(--round-text-2); }
.js .round-accordion.is-ready .round-acc-item__body { grid-template-rows: 0fr; }
.js .round-accordion.is-ready .round-acc-item.is-open .round-acc-item__body,
html:not(.js) .round-acc-item__body { grid-template-rows: 1fr; }
.round-acc-item.is-open h3,
html:not(.js) .round-acc-item h3 { color: var(--wp--preset--color--contrast); }
.round-acc-item.is-open::before { color: var(--wp--preset--color--accent-dark); }
.round-acc-item.is-open::after { transform: scale(1); }
@media (max-width: 599px) {
	.round-acc-item { grid-template-columns: 34px minmax(0, 1fr) 16px; gap: 0 10px; }
}

/* Strategie: box chiaro con toggle e pannelli */
.round-strats__box { display: flex; flex-direction: column; gap: clamp(32px, 4vw, 56px); padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 72px); border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--surface); }
.round-strats__box > * { margin: 0 !important; }
.round-strats__box .round-head { gap: 24px; margin-bottom: 0 !important; }
.round-strats__head .round-head__main { max-width: 720px; }
.round-strats__head h2 { font-size: clamp(34px, 4.2vw, 58px); line-height: 1; letter-spacing: -.045em; }
.round-strats__toggle { display: flex; gap: 4px; padding: 4px; border-radius: 14px; background: #fff; }
.round-strats__toggle button { padding: 11px 18px; border: 0; border-radius: 10px; background: transparent; color: var(--wp--preset--color--contrast); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; transition: background-color .3s ease, color .3s ease; }
.round-strats__toggle button[aria-selected="true"] { background: var(--wp--preset--color--contrast); color: #fff; }
.round-strats { display: grid; gap: 12px; }
.round-strat { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 12px; margin: 0 !important; }
.js .round-strats.is-ready .round-strat { grid-area: 1 / 1; visibility: hidden; opacity: 0; transition: opacity .4s ease; }
.js .round-strats.is-ready .round-strat.is-active { visibility: visible; opacity: 1; }
.round-strat__card { display: flex; flex-direction: column; gap: 14px; min-height: 340px; margin: 0 !important; padding: clamp(26px, 3vw, 40px); border-radius: 22px; background: var(--wp--preset--color--contrast); color: #fff; }
.round-strat__card > * { margin: 0 !important; }
.round-strat__kicker { margin-bottom: auto !important; padding-bottom: 32px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--accent) !important; }
.round-strat__card h3 { font-size: clamp(28px, 3vw, 42px); font-weight: 450; line-height: 1.05; letter-spacing: -.04em; }
.round-strat__card p:not(.is-style-mono) { font-size: 16px; line-height: 1.55; color: rgba(255, 255, 255, .7); }
.round-strat__card .wp-block-buttons { margin-top: 18px !important; }
.round-strat__card .is-style-white .wp-block-button__link { padding: 13px 20px; font-size: 15px; }
.round-strat__items { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; margin: 0 !important; counter-reset: sitem; }
.round-strat__item { display: flex; flex-direction: column; gap: 6px; min-height: 160px; margin: 0 !important; padding: 22px; border-radius: 20px; background: #fff; counter-increment: sitem; }
.round-strat__item::before { content: counter(sitem, decimal-leading-zero); display: flex; align-items: center; gap: 8px; margin-bottom: auto; padding-bottom: 24px; font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: var(--wp--preset--color--accent-dark); }
.round-strat__item > * { margin: 0 !important; }
.round-strat__item h4 { font-size: 19px; font-weight: 500; line-height: 1.25; letter-spacing: -.02em; }
.round-strat__item p { font-size: 14px; line-height: 1.5; color: rgba(46, 46, 46, .65); }

/* Grafico SEO */
.round-seo-results .round-split.is-bottom { margin-bottom: clamp(28px, 4vw, 48px) !important; }
.round-seochart { display: flex; flex-direction: column; gap: 18px; padding: clamp(18px, 2.4vw, 32px); border: 1px solid rgba(46, 46, 46, .12); border-radius: 24px; }
.round-seo-results .wp-block-buttons { margin-top: clamp(28px, 4vw, 48px) !important; }
.round-seochart__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; font-size: 13px; }
.round-seochart__legend { display: flex; flex-wrap: wrap; gap: 20px; }
.round-seochart__legend span { display: flex; align-items: center; gap: 8px; }
.round-seochart__legend span::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background: var(--wp--preset--color--accent); }
.round-seochart__legend .is-b { color: rgba(46, 46, 46, .6); }
.round-seochart__legend .is-b::before { background: #C9D2D2; }
.round-seochart__note { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: rgba(46, 46, 46, .5); }
.round-seochart__plot { position: relative; cursor: crosshair; }
.round-seochart svg { display: block; width: 100%; height: clamp(220px, 28vw, 340px); overflow: visible; }
.round-seochart svg path { fill: none; stroke-linecap: round; }
.round-seochart.is-drawn [data-draw] { transition: stroke-dashoffset 2.6s cubic-bezier(.45, 0, .2, 1); }
.round-seochart.is-drawn [data-draw] ~ [data-draw] { transition-duration: 3s; transition-delay: .3s; }
.round-seochart__cross { position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background: rgba(46, 46, 46, .3); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.round-seochart__plot.is-hover .round-seochart__cross { opacity: 1; }
.round-seochart__cross i { position: absolute; left: -7px; width: 14px; height: 14px; border-radius: 50%; background: var(--wp--preset--color--accent); box-shadow: 0 0 0 4px #fff, 0 4px 14px rgba(8, 80, 90, .35); }
.round-seochart__cross span { position: absolute; top: -6px; left: 12px; padding: 6px 10px; border-radius: 8px; background: var(--wp--preset--color--contrast); font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: #fff; white-space: nowrap; }
.round-seochart__cross.is-left span { right: 12px; left: auto; }
.round-seochart__months { display: flex; justify-content: space-between; font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: rgba(46, 46, 46, .5); }
@media (max-width: 599px) {
	.round-seochart__months span:nth-child(even) { visibility: hidden; }
}

/* Form audit: conferma con spunta */
.round-form.is-audit .round-form__done { gap: 18px; min-height: 360px; }
.round-form__check { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.round-form.is-audit .round-form__done-title { font-size: clamp(26px, 2.6vw, 36px); }

@media (prefers-reduced-motion: reduce) {
	.round-serp { height: auto; }
	.round-serp__sticky { position: relative; top: auto; height: auto; }
	.round-serp__row { transition: none; }
	.js .round-dots-hero .reveal { animation: none; opacity: 1; transform: none; filter: none; }
}

/* ==========================================================================
   Pagine servizio: scheletro comune (hero divisa, intro, callout, cosa ottieni,
   punti chiave A chiara / B scura, servizi correlati). I moduli firma sono blocchi.
   ========================================================================== */
.round-svc-hero {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
	align-items: center;
	gap: clamp(40px, 6vw, 96px);
	max-width: calc(1184px + 2 * var(--round-gutter));
	margin: 0 auto;
	padding: clamp(48px, 7vw, 96px) var(--round-gutter) 0;
}
.round-svc-hero > * { margin: 0 !important; }
.round-svc-hero__text { display: flex; flex-direction: column; gap: 22px; }
.round-svc-hero__text > * { margin: 0 !important; }
.round-svc-hero .is-style-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .1em; color: rgba(46, 46, 46, .65); white-space: nowrap; }
.round-svc-hero .is-style-eyebrow::before { width: 7px; height: 7px; }
.js .round-svc-hero .reveal, .js .round-ads-hero .reveal, .js .round-mhero .reveal, .js .round-phero .reveal, .js .round-chero .reveal { animation: round-reveal 1.3s var(--round-ease) var(--d, 0ms) both; }
.is-style-pill {
	align-self: flex-start;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	line-height: 1.3;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}
.round-display-svc { font-size: clamp(44px, 6vw, 88px); font-weight: 500; line-height: .98; letter-spacing: -.055em; text-wrap: balance; }
.round-display-svc mark { background: none; color: var(--wp--preset--color--accent); }
.round-svc-hero__lead { max-width: 500px; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.55; color: rgba(46, 46, 46, .72); text-wrap: pretty; }

/* Intro a due colonne */
.round-svc-intro { align-items: start; gap: clamp(32px, 6vw, 96px); }
.round-svc-intro .round-split__main { gap: 18px; }
.round-svc-intro .round-split__aside { gap: 18px; padding-top: clamp(0px, 2vw, 30px); }
.round-lead.is-big { font-size: clamp(19px, 1.7vw, 23px); line-height: 1.45; letter-spacing: -.015em; }
.round-svc-intro p.is-muted { font-size: 16px; line-height: 1.6; color: var(--round-text-2); }
.is-style-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; padding: 0; list-style: none; }
.is-style-chips li { display: flex; align-items: center; gap: 8px; margin: 0; padding: 8px 14px; border-radius: 999px; background: var(--wp--preset--color--surface); font-size: 14px; white-space: nowrap; }
.is-style-chips li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--accent); }

/* Box del modulo firma (contenitore scuro o chiaro con intestazione) */
.round-svc-box-section { padding: var(--round-section) var(--round-box) 0; }
.round-svc-box {
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 4vw, 48px);
	padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 64px);
	overflow: hidden;
	overflow: clip;
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--surface);
}
.round-svc-box.is-dark { background: var(--wp--preset--color--contrast); color: #fff; }
.round-svc-box > * { margin: 0 !important; }
.round-svc-box .round-head { margin-bottom: 0 !important; gap: 24px; }
.round-svc-box .round-head__main { max-width: 640px; }
.round-svc-box h2 { font-size: clamp(34px, 4.2vw, 58px); line-height: 1; letter-spacing: -.045em; }
.round-svc-box.is-dark .is-style-eyebrow { color: rgba(255, 255, 255, .65); }
.round-svc-box .round-head__text { max-width: 380px; }
.round-svc-box.is-dark .round-head__text { color: rgba(255, 255, 255, .7); }

/* Callout teal con micro-interazione */
.round-callout-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
	padding: clamp(32px, 5vw, 72px);
	border-radius: var(--wp--custom--radius--section);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
}
.round-callout-box.is-dark { background: var(--wp--preset--color--contrast); color: #fff; }
.round-callout-box > * { margin: 0 !important; }
.round-callout-box__text { display: flex; flex-direction: column; gap: 14px; }
.round-callout-box__text > * { margin: 0 !important; }
.round-callout-box .is-style-mono { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: inherit !important; }
.round-callout-box .round-callout-box__big { font-size: clamp(22px, 2.6vw, 36px); font-weight: 450; line-height: 1.2; letter-spacing: -.03em; text-wrap: pretty; }
.round-callout-box .round-callout-box__big.is-xl { font-size: clamp(26px, 3.4vw, 48px); line-height: 1.1; letter-spacing: -.04em; }
/* Swatch: giallo che diventa teal al passaggio del mouse (siti web) */
.round-callout-box.has-swatch { grid-template-columns: auto minmax(0, 1fr); }
.round-swatch { width: clamp(72px, 9vw, 120px); height: clamp(72px, 9vw, 120px); border-radius: 50%; background: #F5D020; box-shadow: 0 0 0 6px rgba(255, 255, 255, .35); transition: background-color .9s var(--round-ease); }
.round-callout-box.has-swatch:hover .round-swatch { background: var(--wp--preset--color--accent); }
.round-callout-box.has-swatch:hover .round-swatch { box-shadow: 0 0 0 6px rgba(255, 255, 255, .55); }
@media (max-width: 599px) {
	.round-callout-box.has-swatch { grid-template-columns: minmax(0, 1fr); }
}
/* Seconda parte della frase che si accende al passaggio del mouse (social) */
.round-callout-box.has-reveal mark { background: none; color: rgba(46, 46, 46, .38); transition: color .6s ease; }
.round-callout-box.has-reveal:hover mark { color: var(--wp--preset--color--contrast); }

/* Cosa ottieni */
.round-gains-section > h2 { max-width: 760px; margin-bottom: clamp(32px, 4vw, 48px) !important; }
.round-gains { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: clamp(28px, 3vw, 44px) clamp(20px, 3vw, 40px); counter-reset: gain; }
.round-gain { display: flex; flex-direction: column; gap: 10px; margin: 0 !important; padding-top: 20px; border-top: 2px solid var(--wp--preset--color--contrast); counter-increment: gain; }
.round-gain::before { content: counter(gain, decimal-leading-zero); font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: var(--wp--preset--color--accent-dark); }
.round-gain > * { margin: 0 !important; }
.round-gain h3 { font-size: clamp(22px, 2vw, 28px); font-weight: 500; line-height: 1.1; letter-spacing: -.03em; }
.round-gain p { font-size: 15px; line-height: 1.55; color: rgba(46, 46, 46, .72); }

/* Punti chiave A: box chiaro, titolo sticky e card bianche */
.round-pillars-section { padding: var(--round-section) var(--round-box) 0; }
.round-pillars { padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 72px); overflow: clip; border-radius: var(--wp--custom--radius--section); counter-reset: pillar; }
.round-pillars > * { margin: 0 !important; }
.round-pillars.is-light { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); align-items: start; gap: clamp(32px, 5vw, 80px); background: var(--wp--preset--color--surface); }
.round-pillars__aside { display: flex; flex-direction: column; gap: 18px; }
.round-pillars__aside > * { margin: 0 !important; }
.round-pillars__aside .wp-block-buttons { margin-top: 8px !important; }
.round-pillars h2 { font-size: clamp(34px, 4.2vw, 58px); line-height: 1; letter-spacing: -.045em; }
@media (min-width: 900px) {
	.round-pillars.is-light .round-pillars__aside { position: sticky; top: calc(96px + var(--wp-admin--admin-bar--height, 0px)); }
}
.round-pillars.is-light .round-pillars__list { display: flex; flex-direction: column; gap: 8px; }
.round-pillars.is-light .round-pillar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 6px 16px;
	margin: 0 !important;
	padding: 22px 24px;
	border-radius: 18px;
	background: #fff;
	counter-increment: pillar;
	transition: transform .5s var(--round-ease), background-color .4s ease;
}
.round-pillars.is-light .round-pillar:hover { background: var(--wp--preset--color--accent-light); transform: translateX(8px); }
.round-pillars.is-light .round-pillar::after { content: counter(pillar, decimal-leading-zero); grid-column: 2; grid-row: 1; font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: rgba(46, 46, 46, .5); }
.round-pillars.is-light .round-pillar > * { grid-column: 1; margin: 0 !important; }
.round-pillars.is-light .round-pillar p { grid-column: 1 / -1; }
.round-pillar h3 { font-size: clamp(20px, 1.9vw, 26px); font-weight: 500; line-height: 1.15; letter-spacing: -.03em; }
.round-pillars.is-light .round-pillar p { font-size: 15px; line-height: 1.5; color: var(--round-text-2); }
/* Punti chiave B: box scuro, griglia con separatori sottili */
.round-pillars.is-dark { display: flex; flex-direction: column; gap: clamp(32px, 4vw, 56px); background: var(--wp--preset--color--contrast); color: #fff; }
.round-pillars.is-dark .round-head { margin-bottom: 0 !important; gap: 24px; }
.round-pillars.is-dark .round-head__main { max-width: 680px; }
.round-pillars.is-dark .is-style-eyebrow { color: rgba(255, 255, 255, .65); }
.round-pillars.is-dark .round-pillars__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1px; overflow: hidden; border-radius: 20px; background: rgba(255, 255, 255, .1); }
.round-pillars.is-dark .round-pillar { display: flex; flex-direction: column; gap: 10px; min-height: 180px; margin: 0 !important; padding: clamp(22px, 2.4vw, 30px); background: var(--wp--preset--color--contrast); counter-increment: pillar; transition: background-color .4s ease; }
.round-pillars.is-dark .round-pillar:hover { background: #383838; }
.round-pillars.is-dark .round-pillar::before { content: counter(pillar, decimal-leading-zero); font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: var(--wp--preset--color--accent); }
.round-pillars.is-dark .round-pillar > * { margin: 0 !important; }
.round-pillars.is-dark .round-pillar p { font-size: 14.5px; line-height: 1.5; color: rgba(255, 255, 255, .65); }

/* Completa il progetto con: pill di link interni */
.round-related { display: flex; flex-direction: column; gap: 18px; padding-top: clamp(80px, 10vw, 128px); }
.round-related > * { margin: 0 !important; }
.is-style-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.is-style-pills li { margin: 0; }
.is-style-pills a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px;
	border: 1px solid rgba(46, 46, 46, .16);
	border-radius: 999px;
	font-size: clamp(16px, 1.4vw, 19px);
	font-weight: 500;
	letter-spacing: -.015em;
	white-space: nowrap;
	transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}
.is-style-pills a::after { content: "→"; color: var(--wp--preset--color--accent); }
.is-style-pills a:hover { border-color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--contrast); color: #fff; }
.round-cta-section.is-tight { padding-top: clamp(80px, 10vw, 128px); }

/* Moduli dei servizi: elementi ricorrenti (finestra browser, griglia di puntini) */
.round-svc-visual { position: relative; display: flex; flex-direction: column; gap: 14px; padding: clamp(28px, 4vw, 56px) clamp(20px, 3vw, 44px); overflow: hidden; overflow: clip; border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--surface); }
.round-svc-visual.is-dots::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(46, 46, 46, .1) 1px, transparent 1.2px); background-size: 22px 22px; pointer-events: none; }
.round-svc-visual > * { position: relative; }
.round-svc-visual__label { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(46, 46, 46, .6); }
.round-caret { display: inline-block; width: 1.5px; height: 1.2em; margin-left: 2px; background: var(--wp--preset--color--accent); vertical-align: middle; animation: round-caret 1s steps(1) infinite; }

/* Siti web: ricerca che si digita da sola (hero) */
.round-search__bar { display: flex; align-items: center; gap: 12px; height: 56px; padding: 0 20px; border-radius: 999px; background: #fff; box-shadow: 0 20px 50px -24px rgba(46, 46, 46, .4); font-size: 16px; }
.round-search__bar svg { flex: none; width: 17px; height: 17px; }
.round-search__q { display: flex; align-items: center; min-width: 0; overflow: hidden; white-space: nowrap; }
.round-search__q .round-caret { height: 20px; }
.round-search__list { display: flex; flex-direction: column; margin: 0; padding: 8px; border-radius: 20px; background: #fff; list-style: none; }
.round-search__list li { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; font-size: 15px; color: rgba(46, 46, 46, .75); transition: background-color .4s ease, color .4s ease; }
.round-search__list li svg { flex: none; width: 13px; height: 13px; }
.round-search__list li.is-on { background: var(--wp--preset--color--accent-light); color: var(--wp--preset--color--contrast); font-weight: 600; }

/* Siti web: dall'idea al sito, tre fasi con browser */
.round-stages { display: flex; flex-direction: column; gap: clamp(28px, 4vw, 48px); }
.round-stages__tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(8px, 1.4vw, 20px); }
.round-stages__tabs button { all: unset; display: flex; flex-direction: column; gap: 12px; min-width: 0; cursor: pointer; }
.round-stages__tabs button:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 6px; border-radius: 4px; }
.round-stages__bar { position: relative; height: 2px; overflow: hidden; border-radius: 2px; background: rgba(255, 255, 255, .18); }
.round-stages__bar b { position: absolute; inset: 0; background: var(--wp--preset--color--accent); transform: scaleX(0); transform-origin: left; }
.round-stages__name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; font-size: clamp(18px, 1.8vw, 24px); font-weight: 500; letter-spacing: -.025em; color: rgba(255, 255, 255, .45); transition: color .4s ease; }
.round-stages__name small { font-family: var(--wp--preset--font-family--mono); font-size: 12px; font-weight: 400; letter-spacing: 0; color: var(--wp--preset--color--accent); }
.round-stages__tabs [aria-selected="true"] .round-stages__name { color: #fff; }
.round-stages__body { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); align-items: center; gap: clamp(24px, 4vw, 56px); }
.round-stages__texts { display: grid; min-height: 150px; }
.round-stages__text { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 14px; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .5s ease, transform .6s var(--round-ease), visibility 0s .5s; }
.round-stages__text.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity .5s ease .1s, transform .6s var(--round-ease) .1s; }
.round-stages__text p { margin: 0; font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, .68); }
.round-stages__text .round-stages__head { font-size: clamp(22px, 2.2vw, 30px); font-weight: 450; line-height: 1.2; letter-spacing: -.03em; color: #fff; }
.round-stages__browser { overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .7); color: var(--wp--preset--color--contrast); }
.round-stages__barline { display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-bottom: 1px solid rgba(46, 46, 46, .08); background: var(--wp--preset--color--surface-3); }
.round-stages__barline i { width: 9px; height: 9px; border-radius: 50%; background: #D5DBDB; }
.round-stages__barline span { margin: 0 auto; padding: 3px 14px; border-radius: 6px; background: #fff; font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; color: rgba(46, 46, 46, .55); }
.round-stages__screen { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.round-stages__scr { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 5%; padding: 5%; background: #fff; opacity: 0; transition: opacity .7s ease; }
.round-stages__scr.is-on { opacity: 1; }
.round-stages__scr.is-live { padding: 0; }
.round-stages__shot { flex: none; display: block; width: 100%; height: auto; transition: transform 9s cubic-bezier(.45, 0, .2, 1); }
.round-stages .w-top, .round-stages .d-top { display: flex; justify-content: space-between; align-items: center; }
.round-stages .w-top > span:first-child { width: 16%; height: 10px; border-radius: 3px; background: #D5DBDB; }
.round-stages .w-top > span:last-child { display: flex; gap: 6px; width: 36%; }
.round-stages .w-top i { flex: 1; height: 8px; border-radius: 3px; background: #E3E8E8; }
.round-stages .w-hero { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; border: 1.5px dashed #C9D2D2; border-radius: 8px; font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: rgba(46, 46, 46, .5); }
.round-stages .w-hero em { position: absolute; padding: 6px 8px; box-shadow: 0 4px 10px rgba(0, 0, 0, .08); font-family: var(--wp--preset--font-family--sans); font-size: 11px; font-style: normal; color: var(--wp--preset--color--contrast); }
.round-stages .w-hero .n1 { top: 10%; left: 6%; background: #FFF3B0; transform: rotate(-4deg); }
.round-stages .w-hero .n2 { right: 8%; bottom: 12%; background: var(--wp--preset--color--accent-light); transform: rotate(3deg); }
.round-stages .w-hero .n3 { top: 16%; right: 22%; background: #FFE1D6; transform: rotate(-2deg); }
.round-stages .w-cols, .round-stages .d-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4%; height: 24%; }
.round-stages .w-cols span { border: 1.5px dashed #C9D2D2; border-radius: 6px; }
.round-stages .d-top b { font-size: 13px; font-weight: 600; letter-spacing: -.02em; }
.round-stages .d-top b i { font-style: normal; color: var(--wp--preset--color--accent); }
.round-stages .d-top span { font-size: 10px; color: rgba(46, 46, 46, .6); }
.round-stages .d-top span:nth-child(2) { margin-left: auto; }
.round-stages .d-top span + span { margin-left: 12px; }
.round-stages .d-hero { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; padding: 6%; border-radius: 10px; background: var(--wp--preset--color--accent); }
.round-stages .d-hero strong { font-size: clamp(16px, 2.2vw, 28px); font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.round-stages .d-hero span { align-self: flex-start; padding: 5px 10px; border-radius: 6px; background: var(--wp--preset--color--contrast); font-size: 10px; color: #fff; }
.round-stages .d-cols span { border-radius: 8px; background: var(--wp--preset--color--surface); }
.round-stages .d-cols span:nth-child(2) { background: var(--wp--preset--color--contrast); }
.round-stages .d-swatches { position: absolute; top: 22%; right: 5%; display: flex; flex-direction: column; gap: 6px; padding: 8px; border-radius: 10px; background: #fff; box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .25); }
.round-stages .d-swatches i { width: 18px; height: 18px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-stages .d-swatches i:nth-child(2) { background: var(--wp--preset--color--contrast); }
.round-stages .d-swatches i:nth-child(3) { background: var(--wp--preset--color--surface); box-shadow: inset 0 0 0 1px rgba(46, 46, 46, .15); }

/* Varianti condivise: visual su teal, box firma diviso in due, pulsante nell'intestazione dei punti chiave B */
.round-svc-visual.is-teal { justify-content: center; align-items: center; background: var(--wp--preset--color--accent); }
.round-svc-visual.is-teal.is-dots::before, .round-svc-visual.is-teal::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(46, 46, 46, .14) 1px, transparent 1.2px); background-size: 22px 22px; pointer-events: none; }
.round-svc-box.is-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 3vw, 36px); }
@media (min-width: 900px) {
	.round-svc-box.is-split { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr auto auto 1fr; column-gap: clamp(32px, 5vw, 80px); row-gap: 0; align-items: center; }
	.round-svc-box.is-split > .round-head { grid-column: 1; grid-row: 2; margin-bottom: clamp(24px, 3vw, 36px) !important; }
	.round-svc-box.is-split .round-svc-split__a { grid-column: 1; grid-row: 3; }
	.round-svc-box.is-split .round-svc-split__b { grid-column: 2; grid-row: 1 / -1; }
}
.round-svc-box.is-split > .round-head { flex-direction: column; align-items: flex-start; }
.round-pillars.is-dark .is-style-white .wp-block-button__link { padding: 14px 22px; font-size: 15px; }
.round-pillars.is-wide .round-pillars__list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }

/* Callout con carrello che torna al passaggio del mouse (eCommerce) */
.round-callout-box.has-cart { position: relative; overflow: hidden; grid-template-columns: minmax(0, 1fr) auto; }
.round-callout-box.has-cart .round-callout-box__text { order: -1; max-width: 720px; }
.round-callout-box.is-dark .is-style-eyebrow { color: rgba(255, 255, 255, .65); }
.round-callout-cart { display: flex; align-items: center; justify-content: center; width: clamp(80px, 10vw, 128px); height: clamp(80px, 10vw, 128px); border-radius: 50%; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); transform: translateX(40%) rotate(18deg); transition: transform 1s var(--round-ease); }
.round-callout-cart svg { width: 44%; height: 44%; }
.round-callout-box.has-cart:hover .round-callout-cart { transform: none; }
@media (max-width: 599px) {
	.round-callout-box.has-cart { grid-template-columns: minmax(0, 1fr); }
	.round-callout-cart { transform: none; }
}

/* eCommerce: scheda prodotto con carrello (hero) */
.round-cart__badge { position: absolute; top: clamp(16px, 2vw, 24px); right: clamp(16px, 2vw, 24px); display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 12px; border-radius: 999px; background: var(--wp--preset--color--contrast); color: #fff; transition: transform .45s cubic-bezier(.34, 1.8, .5, 1); }
.round-cart__badge span { font-family: var(--wp--preset--font-family--mono); font-size: 13px; font-variant-numeric: tabular-nums; }
.round-cart__badge.is-bump { transform: scale(1.18); }
.round-cart__card { display: flex; flex-direction: column; gap: 14px; width: min(100%, 340px); padding: 14px; border-radius: 22px; background: #fff; box-shadow: 0 40px 80px -30px rgba(8, 60, 70, .55); }
.round-cart__img { position: relative; display: flex; align-items: flex-end; aspect-ratio: 4 / 3; padding: 12px; border-radius: 14px; background: linear-gradient(160deg, #EEF2F2, #D9E2E2); }
.round-cart__img span { padding: 5px 9px; border-radius: 999px; background: #fff; font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; }
.round-cart__img .is-new { position: absolute; top: 12px; left: 12px; background: var(--wp--preset--color--contrast); color: #fff; letter-spacing: 0; text-transform: none; }
.round-cart__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 0 4px; font-size: 18px; font-weight: 500; letter-spacing: -.02em; }
.round-cart__row strong { font-weight: 600; letter-spacing: 0; }
.round-cart__colors { display: flex; gap: 6px; padding: 0 4px; }
.round-cart__colors i { width: 22px; height: 22px; border-radius: 50%; background: #D5DBDB; }
.round-cart__colors i:first-child { background: var(--wp--preset--color--contrast); box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--wp--preset--color--contrast); }
.round-cart__colors i:nth-child(2) { background: var(--wp--preset--color--accent); }
.round-cart__btn { display: flex; align-items: center; justify-content: center; gap: 6px; height: 52px; border: 0; border-radius: 12px; background: var(--wp--preset--color--contrast); color: #fff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: transform .2s ease, background-color .3s ease, color .3s ease; }
.round-cart__btn.is-pressed { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); transform: scale(.96); }
.round-cart__toast { position: absolute; left: 50%; bottom: clamp(14px, 2vw, 22px); display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 999px; background: var(--wp--preset--color--contrast); color: #fff; font-size: 13px; white-space: nowrap; opacity: 0; transform: translate(-50%, 12px); transition: transform .5s var(--round-ease), opacity .4s ease; }
.round-cart__toast i { width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-cart.has-toast .round-cart__toast { opacity: 1; transform: translate(-50%, 0); }
.round-svc-visual.round-cart { padding-block: clamp(64px, 6vw, 80px); }

/* eCommerce: dal primo clic all'ordine (fisarmonica + telefono) */
.round-buy { display: contents; }
.round-buy__list { display: flex; flex-direction: column; }
.round-buy__step { all: unset; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 12px; padding: 18px 0; border-top: 1px solid rgba(46, 46, 46, .14); cursor: pointer; }
.round-buy__step:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 4px; }
.round-buy__n { padding-top: 5px; font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: var(--wp--preset--color--accent-dark); }
.round-buy__name { font-size: clamp(20px, 2vw, 26px); font-weight: 500; letter-spacing: -.03em; color: rgba(46, 46, 46, .42); transition: color .4s ease; }
.round-buy__step[aria-expanded="true"] .round-buy__name { color: var(--wp--preset--color--contrast); }
.round-buy__more { grid-column: 2; display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s var(--round-ease); }
.round-buy__step[aria-expanded="true"] .round-buy__more { grid-template-rows: 1fr; }
.round-buy__more > span { display: flex; flex-direction: column; gap: 12px; overflow: hidden; }
.round-buy__desc { padding-top: 6px; font-size: 15px; line-height: 1.55; color: rgba(46, 46, 46, .7); }
.round-buy__bar { position: relative; height: 2px; overflow: hidden; border-radius: 2px; background: rgba(46, 46, 46, .12); }
.round-buy__bar b { position: absolute; inset: 0; background: var(--wp--preset--color--accent); transform: scaleX(0); transform-origin: left; }
.round-buy__phone { display: flex; justify-content: center; }
.round-buy__screen { position: relative; width: min(100%, 300px); aspect-ratio: 9 / 18.5; overflow: hidden; border: 10px solid var(--wp--preset--color--contrast); border-radius: 42px; background: #fff; box-shadow: 0 50px 100px -40px rgba(46, 46, 46, .55); color: var(--wp--preset--color--contrast); }
.round-buy__notch { position: absolute; top: 10px; left: 50%; z-index: 3; width: 80px; height: 22px; margin-left: -40px; border-radius: 999px; background: var(--wp--preset--color--contrast); }
.round-buy__scr { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 12px; padding: 44px 14px 14px; opacity: 0; transform: translateX(var(--x, 12%)); transition: opacity .6s ease, transform .7s var(--round-ease); }
.round-buy__scr.is-on { opacity: 1; }
.round-buy__scr strong { font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
.round-buy__scr small { font-size: 11px; line-height: 1.45; color: rgba(46, 46, 46, .6); }
.round-buy .f-top { display: flex; justify-content: space-between; align-items: center; }
.round-buy .f-top b { font-size: 14px; font-weight: 600; }
.round-buy .f-top i { font-style: normal; color: var(--wp--preset--color--accent); }
.round-buy .f-top span { width: 60%; height: 28px; border-radius: 999px; background: var(--wp--preset--color--surface); }
.round-buy .f-tags { display: flex; gap: 6px; }
.round-buy .f-tags span { padding: 5px 9px; border-radius: 999px; background: var(--wp--preset--color--surface); font-size: 10px; }
.round-buy .f-tags .is-on { background: var(--wp--preset--color--contrast); color: #fff; }
.round-buy .f-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.round-buy .f-grid span { aspect-ratio: 1; border-radius: 8px; background: #D9E2E2; }
.round-buy .f-grid span:nth-child(2) { background: var(--wp--preset--color--accent); }
.round-buy .f-grid span:nth-child(3) { background: var(--wp--preset--color--contrast); }
.round-buy .f-grid span:nth-child(4) { background: var(--wp--preset--color--surface); }
.round-buy .f-grid span:nth-child(5) { background: #C9D2D2; }
.round-buy .f-grid span:nth-child(6) { background: var(--wp--preset--color--accent-light); }
.round-buy .f-img { aspect-ratio: 1; border-radius: 14px; background: linear-gradient(160deg, #14B6C7, #0C8E9C); }
.round-buy .f-sizes { display: flex; gap: 6px; }
.round-buy .f-sizes span { padding: 6px 10px; border: 1px solid rgba(46, 46, 46, .2); border-radius: 8px; font-size: 10px; }
.round-buy .f-sizes .is-on { border-color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--contrast); color: #fff; }
.round-buy .f-btn { display: flex; align-items: center; justify-content: center; height: 40px; margin-top: auto; border-radius: 10px; background: var(--wp--preset--color--contrast); color: #fff; font-size: 12px; font-weight: 600; }
.round-buy .f-btn.is-teal { margin-top: 0; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.round-buy .is-cart { gap: 10px; }
.round-buy .f-item { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; background: var(--wp--preset--color--surface); font-size: 12px; }
.round-buy .f-item > span:first-child { flex: none; width: 44px; height: 44px; border-radius: 8px; background: var(--wp--preset--color--accent); }
.round-buy .f-item > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; gap: 2px; }
.round-buy .f-item small { font-size: 10px; }
.round-buy .f-ship { display: flex; align-items: center; gap: 8px; padding: 10px; border: 1px dashed rgba(46, 46, 46, .25); border-radius: 12px; font-size: 10.5px; color: rgba(46, 46, 46, .7); }
.round-buy .f-ship i { width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-buy .f-total { display: flex; justify-content: space-between; margin-top: auto; padding: 0 2px; font-size: 12px; }
.round-buy .is-done { align-items: center; justify-content: center; gap: 14px; text-align: center; }
.round-buy .is-done strong { font-size: 19px; }
.round-buy .f-check { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--wp--preset--color--accent); }

/* Callout con numero grande che conta (eCommerce marketing) */
.round-callout-box.has-num { display: flex; flex-wrap: wrap; }
.round-callout-box.has-num .round-callout-box__text { flex: 1 1 380px; gap: 12px; }
.round-callout-box__num { font-size: clamp(72px, 10vw, 150px); font-weight: 500; line-height: .9; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.round-svc-box.is-split .round-head__text { max-width: 480px; font-size: 16px; line-height: 1.6; color: rgba(46, 46, 46, .72); }
.round-svc-box.is-split > .round-head { gap: 18px; }

/* eCommerce marketing: vendite di oggi (hero) */
.round-svc-visual.is-dark { gap: 18px; padding: clamp(24px, 3vw, 40px); background: var(--wp--preset--color--contrast); color: #fff; }
.round-svc-visual.is-dark::after { content: ""; position: absolute; top: -160px; right: -160px; width: 420px; height: 420px; border-radius: 50%; background: radial-gradient(circle, rgba(20, 182, 199, .32) 0%, transparent 65%); pointer-events: none; }
.round-svc-visual.is-dark .round-svc-visual__label { color: rgba(255, 255, 255, .6); }
.round-sales__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.round-sales__tag { padding: 5px 9px; border-radius: 999px; background: rgba(255, 255, 255, .1); font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; }
.round-sales__total { font-size: clamp(48px, 6vw, 80px); font-weight: 500; line-height: 1; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.round-sales__feed { display: flex; flex-direction: column; gap: 8px; min-height: 156px; }
.round-sales__order { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .06); transition: background-color .6s ease; }
.round-sales__order.is-new { background: rgba(20, 182, 199, .22); animation: round-swap .6s var(--round-ease) both; }
.round-sales__order i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-sales__order span { flex: 1; min-width: 0; font-size: 14px; }
.round-sales__order b { font-family: var(--wp--preset--font-family--mono); font-size: 13px; font-weight: 400; }
.round-sales__chans { display: flex; flex-wrap: wrap; gap: 6px; }
.round-sales__chans span { padding: 7px 11px; border-radius: 999px; background: rgba(255, 255, 255, .08); font-size: 12.5px; font-weight: 500; white-space: nowrap; transition: background-color .4s ease, color .4s ease; }
.round-sales__chans .is-on { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }

/* eCommerce marketing: fai da te o esperti */
.round-diy { display: contents; }
.round-diy__switch { display: flex; align-self: flex-start; justify-self: start; gap: 4px; padding: 4px; border-radius: 14px; background: #fff; }
.round-diy__switch button { padding: 11px 18px; border: 0; border-radius: 10px; background: transparent; color: var(--wp--preset--color--contrast); font: inherit; font-size: 14px; font-weight: 500; white-space: nowrap; cursor: pointer; transition: background-color .3s ease, color .3s ease; }
.round-diy__switch [aria-pressed="true"] { background: var(--wp--preset--color--contrast); color: #fff; }
.round-diy__card { display: flex; flex-direction: column; gap: 18px; padding: clamp(20px, 2.4vw, 30px); border-radius: 22px; background: #fff; }
.round-diy__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.round-diy__top small { font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; color: rgba(46, 46, 46, .45); }
.round-diy__card svg { display: block; width: 100%; height: clamp(140px, 16vw, 200px); }
.round-diy__card line { stroke: rgba(46, 46, 46, .15); }
.round-diy__card path { fill: none; transition: opacity .6s ease; }
.round-diy__card .is-chaos { stroke: #B9C4C4; stroke-width: 3; }
.round-diy__card .is-smooth { stroke: var(--wp--preset--color--accent); stroke-width: 4; stroke-linecap: round; opacity: 0; }
.round-diy.is-pro .is-chaos { opacity: 0; }
.round-diy.is-pro .is-smooth { opacity: 1; }
.round-diy__list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.round-diy__list li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(46, 46, 46, .1); font-size: 15px; }
.round-diy__list li::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: #B9C4C4; }
.round-diy__list.is-pro li::before { background: var(--wp--preset--color--accent); }
.round-diy.is-pro .round-diy__list.is-diy, .round-diy:not(.is-pro) .round-diy__list.is-pro { display: none; }

/* Lead generation: modulo che si compila (hero) */
.round-cart__badge small { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .65); }
.round-leadform__card { gap: 10px; padding: 20px; }
.round-leadform__title { margin-bottom: 4px; font-size: 18px; font-weight: 500; letter-spacing: -.02em; }
.round-leadform__field { display: flex; align-items: center; height: 46px; padding: 0 14px; overflow: hidden; border: 1px solid transparent; border-radius: 10px; background: var(--wp--preset--color--surface); font-size: 14px; color: rgba(46, 46, 46, .45); white-space: nowrap; transition: border-color .3s ease; }
.round-leadform__field.is-filled { color: var(--wp--preset--color--contrast); }
.round-leadform__field.is-focus { border-color: var(--wp--preset--color--accent); }
.round-leadform__btn { height: 50px; margin-top: 6px; cursor: default; }

/* Lead generation: simulazione ROI a 6 mesi */
.round-svc-box.is-dark.is-split .round-head__text { color: rgba(255, 255, 255, .7); }
.round-roi { display: flex; flex-direction: column; gap: 22px; padding: clamp(22px, 2.6vw, 34px); border-radius: 22px; background: var(--wp--preset--color--contrast-2); color: #fff; }
.round-roi__top { display: flex; justify-content: space-between; gap: 12px; font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.round-roi__top b { font-weight: 400; }
.round-roi__chart { display: grid; grid-template-columns: repeat(var(--n, 6), minmax(0, 1fr)); align-items: end; gap: clamp(6px, 1vw, 12px); height: clamp(140px, 14vw, 190px); }
.round-roi__col { display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; height: 100%; }
.round-roi__col > div { display: flex; flex: 1; align-items: flex-end; gap: 4px; }
.round-roi__col i { flex: 1; border-radius: 4px 4px 0 0; background: rgba(255, 255, 255, .22); }
.round-roi__col i + i { background: var(--wp--preset--color--accent); }
.round-roi__col span { font-family: var(--wp--preset--font-family--mono); font-size: 10px; color: rgba(255, 255, 255, .45); text-align: center; }
.round-roi__legend { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 13px; color: rgba(255, 255, 255, .72); }
.round-roi__legend span { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.round-roi__legend b { font-weight: 400; font-variant-numeric: tabular-nums; }
.round-roi__legend i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .35); }
.round-roi__legend i.is-rev { background: var(--wp--preset--color--accent); }
.round-roi__out { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .12); }
.round-roi__out > div { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: rgba(255, 255, 255, .65); }
.round-roi__out .round-svc-visual__label { color: rgba(255, 255, 255, .6); }
.round-roi__out strong { font-size: clamp(56px, 6vw, 88px); font-weight: 500; line-height: .9; letter-spacing: -.05em; color: var(--wp--preset--color--accent); font-variant-numeric: tabular-nums; }

/* Social: post che piace (hero) */
.round-svc-visual.round-post { align-items: center; padding-block: clamp(28px, 4vw, 48px); }
.round-post__follow { position: absolute; top: clamp(16px, 2vw, 24px); left: 50%; z-index: 4; display: flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: var(--wp--preset--color--contrast); color: #fff; font-size: 13px; white-space: nowrap; opacity: 0; transform: translate(-50%, -10px); transition: transform .5s var(--round-ease), opacity .4s ease; }
.round-post__follow i { width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-post.has-follow .round-post__follow { opacity: 1; transform: translate(-50%, 0); }
.round-post__phone { width: min(100%, 290px); padding: 10px; border-radius: 40px; background: var(--wp--preset--color--contrast); box-shadow: 0 50px 100px -40px rgba(46, 46, 46, .55); }
.round-post__screen { display: flex; flex-direction: column; gap: 12px; min-height: 500px; padding: 40px 14px 16px; overflow: hidden; border-radius: 31px; background: #fff; }
.round-post__head { display: flex; align-items: center; gap: 10px; }
.round-post__head i { width: 32px; height: 32px; border-radius: 50%; background: var(--wp--preset--color--accent); box-shadow: 0 0 0 2px #fff, 0 0 0 3.5px var(--wp--preset--color--accent); }
.round-post__head b { flex: 1; font-size: 13px; font-weight: 600; }
.round-post__head span { padding: 6px 12px; border-radius: 8px; background: var(--wp--preset--color--contrast); color: #fff; font-size: 11px; font-weight: 600; }
.round-post__img { position: relative; display: flex; align-items: flex-end; aspect-ratio: 1; padding: 12px; border-radius: 14px; background: linear-gradient(150deg, #14B6C7, #0C8E9C 60%, #2E2E2E); }
.round-post__img span { padding: 5px 9px; border-radius: 999px; background: #fff; font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; }
.round-post__pop { position: absolute; top: 50%; left: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; fill: #fff; opacity: 0; transform: scale(.4); transition: transform .35s cubic-bezier(.34, 1.8, .5, 1), opacity .35s ease; }
.round-post.is-pop .round-post__pop { opacity: 1; transform: none; }
.round-post__likes { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.round-post__likes svg { width: 20px; height: 20px; fill: var(--wp--preset--color--accent); transition: transform .3s cubic-bezier(.34, 1.8, .5, 1); }
.round-post.is-pop .round-post__likes svg { transform: scale(1.25); }
.round-post__likes b { font-weight: 600; font-variant-numeric: tabular-nums; }
.round-post__likes span { color: rgba(46, 46, 46, .6); }
.round-post__comments { display: flex; flex-direction: column; gap: 6px; }
.round-post__comments span { align-self: flex-start; padding: 7px 11px; border-radius: 12px; background: var(--wp--preset--color--surface); font-size: 12px; animation: round-swap .5s var(--round-ease) both; }

/* Social: calendario editoriale */
.round-svc-box.has-cal { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.round-svc-box.has-cal > .round-head { grid-column: 1; }
.round-cal { display: contents; }
.round-cal__switch { grid-column: 2; background: rgba(255, 255, 255, .08); }
.round-cal__switch button { color: #fff; }
.round-cal__switch [aria-pressed="true"] { background: #fff; color: var(--wp--preset--color--contrast); }
.round-cal__scroll, .round-cal__foot { grid-column: 1 / -1; }
.round-cal__scroll { overflow-x: auto; scrollbar-width: none; }
.round-cal__week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; min-width: 640px; }
.round-cal__day { display: flex; flex-direction: column; gap: 8px; min-height: 200px; padding: 12px; border-radius: 16px; background: var(--wp--preset--color--contrast-2); }
.round-cal__day > span { padding-bottom: 4px; font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.round-cal__day b { padding: 9px 10px; border-radius: 10px; font-size: 12px; font-weight: 500; line-height: 1.25; color: var(--wp--preset--color--contrast); animation: round-swap .5s var(--round-ease) both; }
.round-cal:not(.is-plan) [data-plan="plan"], .round-cal.is-plan [data-plan="random"] { display: none; }
.round-cal .is-p { background: var(--wp--preset--color--accent); }
.round-cal .is-d { background: #fff; }
.round-cal .is-c { background: var(--wp--preset--color--accent-light); }
.round-cal .is-m { background: #6A6A6A; color: #fff; }
.round-cal__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; }
.round-cal__foot p { max-width: 560px; margin: 0; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.35; letter-spacing: -.015em; }
.round-cal__legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 13px; color: rgba(255, 255, 255, .7); }
.round-cal__legend span { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.round-cal__legend i { width: 10px; height: 10px; border-radius: 50%; }
@media (max-width: 699px) {
	.round-svc-box.has-cal { grid-template-columns: minmax(0, 1fr); }
	.round-cal__switch { grid-column: 1; }
}

/* Intro: post-it giallo (email) */
.round-note { align-self: flex-start; max-width: 340px; margin-top: 12px !important; padding: 22px 22px 26px; background: #FFF3B0; box-shadow: 0 18px 30px -18px rgba(46, 46, 46, .35); transform: rotate(-2deg); transition: transform .5s var(--round-ease); }
.round-note:hover { transform: rotate(0deg) scale(1.02); }
.round-note > * { margin: 0 !important; }
.round-note .is-style-mono { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--contrast); }
.round-note p:not(.is-style-mono) { margin-top: 10px !important; font-size: 16px; line-height: 1.45; }

/* Email: casella di posta (hero) */
.round-svc-visual.round-inbox { gap: 14px; padding: clamp(22px, 3vw, 36px); }
.round-svc-visual.round-inbox::after { top: auto; right: auto; bottom: -180px; left: -160px; background: radial-gradient(circle, rgba(20, 182, 199, .3) 0%, transparent 65%); }
.round-inbox__tabs { display: flex; gap: 6px; }
.round-inbox__tabs span { display: flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .08); font-size: 13px; }
.round-inbox__tabs .is-on { background: #fff; color: var(--wp--preset--color--contrast); font-weight: 500; }
.round-inbox__tabs b { font-family: var(--wp--preset--font-family--mono); font-size: 12px; font-weight: 400; color: var(--wp--preset--color--accent); }
.round-inbox__list { display: flex; flex-direction: column; gap: 8px; min-height: 300px; }
.round-inbox__mail { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 14px; border-radius: 14px; background: rgba(20, 182, 199, .2); transition: opacity .7s ease, transform .7s var(--round-ease), background-color .5s ease; }
.round-inbox__mail.is-new { animation: round-swap .6s var(--round-ease) both; }
.round-inbox__mail.is-spam { background: rgba(255, 255, 255, .05); }
.round-inbox__mail.is-gone { opacity: .3; transform: translateX(18px); }
.round-inbox__mail i { width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-inbox__mail.is-spam i { background: rgba(255, 255, 255, .3); }
.round-inbox__mail > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 13px; }
.round-inbox__mail > span span { overflow: hidden; color: rgba(255, 255, 255, .75); white-space: nowrap; text-overflow: ellipsis; }
.round-inbox__mail em { padding: 5px 9px; border-radius: 999px; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; font-style: normal; letter-spacing: .04em; text-transform: uppercase; }
.round-inbox__mail.is-spam em { background: rgba(255, 255, 255, .12); color: #fff; }

/* Email: una mail per ogni segmento */
.round-segs { display: contents; }
.round-segs__btns { display: flex; flex-wrap: wrap; gap: 6px; }
.round-segs__btns button { padding: 10px 14px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .08); color: #fff; font: inherit; font-size: 14px; font-weight: 500; white-space: nowrap; cursor: pointer; transition: background-color .3s ease, color .3s ease; }
.round-segs__btns [aria-pressed="true"] { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.round-segs__mail { overflow: hidden; border-radius: 20px; background: #fff; box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .7); color: var(--wp--preset--color--contrast); }
.round-segs__mail.is-swap .round-segs__head, .round-segs__mail.is-swap .round-segs__body { animation: round-swap .5s var(--round-ease) both; }
.round-segs__head { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border-bottom: 1px solid rgba(46, 46, 46, .08); }
.round-segs__head small { font-size: 12px; color: rgba(46, 46, 46, .55); }
.round-segs__head small + strong + small { font-size: 13px; }
.round-segs__head strong { font-size: 17px; font-weight: 600; letter-spacing: -.015em; }
.round-segs__body { display: flex; flex-direction: column; gap: 14px; padding: 20px; }
.round-segs__img { display: flex; align-items: flex-end; height: 110px; padding: 12px; border-radius: 12px; background: linear-gradient(150deg, #14B6C7, #0C8E9C); }
.round-segs__img span { padding: 5px 9px; border-radius: 999px; background: #fff; font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; }
.round-segs__body p { margin: 0; font-size: 15px; line-height: 1.55; }
.round-segs__cta { align-self: flex-start; padding: 12px 18px; border-radius: 10px; background: var(--wp--preset--color--contrast); color: #fff; font-size: 14px; font-weight: 600; }

/* Email: domanda a due risposte nel callout */
.round-quiz { display: flex; flex-direction: column; gap: 18px; margin-top: 4px !important; }
.round-quiz__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.round-quiz__btns button { padding: 13px 20px; border: 0; border-radius: 12px; background: #fff; color: var(--wp--preset--color--contrast); font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; transition: background-color .3s ease, color .3s ease; }
.round-quiz__btns [aria-pressed="true"] { background: var(--wp--preset--color--contrast); color: #fff; }
.round-quiz__msg { max-width: 640px; margin: 0; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.45; }
.round-quiz__msg:not(.is-on) { display: none; }
.round-quiz__msg.is-on { animation: round-swap .5s var(--round-ease) both; }
.round-callout-box:has(.round-quiz) .round-callout-box__text { gap: 18px; }

/* SEO siti web: ricerca locale (hero) */
.round-svc-visual.round-local { padding: clamp(28px, 4vw, 48px) clamp(20px, 3vw, 40px); }
.round-local .round-search__bar { height: 52px; padding: 0 18px; font-size: 15px; }
.round-local .round-search__q .round-caret { height: 18px; }
.round-local__list { display: flex; flex-direction: column; padding: 8px; border-radius: 20px; background: #fff; }
.round-local__label { padding: 10px 12px 6px; font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: rgba(46, 46, 46, .5); }
.round-local__item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; padding: 12px; border-radius: 14px; }
.round-local__item.is-top { background: var(--wp--preset--color--accent-light); }
.round-local__item i { display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: var(--wp--preset--color--surface); font-family: var(--wp--preset--font-family--mono); font-size: 12px; font-style: normal; }
.round-local__item.is-top i { background: var(--wp--preset--color--accent); }
.round-local__item > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.round-local__item b { font-size: 15px; font-weight: 600; }
.round-local__item small { overflow: hidden; font-size: 12px; color: rgba(46, 46, 46, .6); white-space: nowrap; text-overflow: ellipsis; }
.round-local__item em { display: flex; align-items: center; gap: 4px; font-size: 13px; font-style: normal; font-weight: 600; }
.round-local__item .round-star { color: var(--wp--preset--color--accent); }

/* SEO siti web: anatomia di un risultato */
.round-anat { display: contents; }
.round-anat__side { display: flex; flex-direction: column; gap: 18px; }
.round-anat__desc { max-width: 460px; min-height: 3em; margin: 6px 0 0; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.4; letter-spacing: -.015em; }
.round-anat__serp { display: flex; flex-direction: column; gap: 22px; padding: clamp(20px, 2.6vw, 32px); border-radius: 20px; background: #fff; box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .7); color: var(--wp--preset--color--contrast); }
.round-anat__result { display: flex; flex-direction: column; gap: 6px; }
.round-anat [data-zone] { align-self: flex-start; margin: -2px -4px; padding: 2px 4px; border-radius: 6px; transition: background-color .3s ease, box-shadow .3s ease; }
.round-anat__serp[data-hl="title"] [data-zone="title"], .round-anat__serp[data-hl="url"] [data-zone="url"], .round-anat__serp[data-hl="desc"] [data-zone="desc"], .round-anat__serp[data-hl="rich"] [data-zone="rich"] { background: rgba(20, 182, 199, .18); box-shadow: 0 0 0 1.5px var(--wp--preset--color--accent); }
.round-anat__site { display: flex; align-items: center; gap: 10px; }
.round-anat__site i { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--wp--preset--color--contrast); }
.round-anat__site > span { display: flex; flex-direction: column; }
.round-anat__site b { font-size: 13px; font-weight: 500; }
.round-anat__site [data-zone] { font-size: 12px; color: rgba(46, 46, 46, .6); }
.round-anat__title { font-size: clamp(18px, 1.8vw, 22px); line-height: 1.25; color: #1A4FA0; }
.round-anat__text { font-size: 14px; line-height: 1.5; color: rgba(46, 46, 46, .75); }
.round-anat__rich { display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgba(46, 46, 46, .7); }
.round-anat__stars { display: flex; gap: 1px; color: #E8A400; }
.round-anat__ghost { display: flex; flex-direction: column; gap: 8px; opacity: .35; }
.round-anat__ghost i { height: 10px; width: 40%; border-radius: 4px; background: #D5DBDB; }
.round-anat__ghost i:nth-child(2) { height: 14px; width: 75%; }
.round-anat__ghost i:nth-child(3) { width: 90%; background: #E3E8E8; }

/* SEO siti web: pagine di Google nel callout */
.round-pages { display: flex; flex-direction: column; gap: clamp(20px, 3vw, 36px); }
.round-pages__nav { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.round-pages__nav button { width: 52px; height: 52px; border: 0; border-radius: 14px; background: #fff; color: var(--wp--preset--color--contrast); font: inherit; font-size: 17px; font-weight: 600; cursor: pointer; transition: background-color .3s ease, color .3s ease; }
.round-pages__nav [aria-pressed="true"] { background: var(--wp--preset--color--contrast); color: #fff; }
.round-pages__nav span { padding: 0 8px; font-size: 15px; font-weight: 500; }
.round-pages__out { display: flex; align-items: center; gap: clamp(16px, 2vw, 28px); width: 100%; max-width: 820px; padding-top: clamp(18px, 2.2vw, 26px); border-top: 2px solid var(--wp--preset--color--contrast); }
.round-pages__out.is-swap .round-pages__txt { animation: round-swap .5s var(--round-ease) both; }
.round-pages__num { flex: none; font-size: clamp(44px, 5vw, 72px); font-weight: 500; line-height: 1; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.round-pages__txt { display: flex; flex-direction: column; gap: 6px; }
.round-pages__txt small { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }
.round-pages__txt > span { font-size: clamp(20px, 2vw, 28px); font-weight: 500; line-height: 1.2; letter-spacing: -.025em; text-wrap: pretty; }

/* SEO eCommerce: prodotto più cliccato (hero) */
.round-svc-visual.round-prods { align-items: stretch; gap: 16px; padding: clamp(24px, 3.4vw, 44px) clamp(20px, 3vw, 40px); }
.round-prods .round-search__bar { height: 52px; padding: 0 18px; font-size: 15px; }
.round-prods .round-search__q .round-caret { height: 18px; }
.round-prods__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr); align-items: center; gap: 10px; }
.round-prods__card { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 10px; border-radius: 16px; background: #fff; }
.round-prods__card > span { aspect-ratio: 1; border-radius: 10px; background: #E3E8E8; }
.round-prods__card.is-ghost { opacity: .55; }
.round-prods__card.is-ghost i { height: 9px; width: 80%; border-radius: 4px; background: #E3E8E8; }
.round-prods__card.is-ghost i + i { width: 40%; }
.round-prods__card.is-top { box-shadow: 0 0 0 2px var(--wp--preset--color--accent), 0 24px 50px -24px rgba(8, 80, 90, .5); transition: transform .35s cubic-bezier(.34, 1.8, .5, 1); }
.round-prods__card.is-top.is-pulse { transform: scale(1.05); }
.round-prods__card.is-top > span { background: linear-gradient(150deg, #14B6C7, #0C8E9C); }
.round-prods__card b { overflow: hidden; font-size: 13px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.round-prods__card small { display: flex; justify-content: space-between; gap: 6px; font-size: 12px; white-space: nowrap; }
.round-prods__card small em { display: flex; align-items: center; gap: 3px; font-style: normal; color: #E8A400; }
.round-prods__card mark { position: absolute; top: 16px; left: 16px; padding: 4px 8px; border-radius: 999px; background: var(--wp--preset--color--contrast); color: #fff; font-family: var(--wp--preset--font-family--mono); font-size: 10px; white-space: nowrap; }
.round-prods__clicks { display: flex; align-self: center; align-items: center; gap: 10px; padding: 9px 16px; border-radius: 999px; background: var(--wp--preset--color--contrast); color: #fff; font-size: 13px; white-space: nowrap; }
.round-prods__clicks i { width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-prods__clicks b { font-family: var(--wp--preset--font-family--mono); font-weight: 400; font-variant-numeric: tabular-nums; }

/* SEO eCommerce: due facce della medaglia */
.round-coin { display: contents; }
.round-coin__stage { display: flex; justify-content: center; perspective: 1400px; }
.round-coin__disc { all: unset; position: relative; width: clamp(260px, 30vw, 380px); aspect-ratio: 1; cursor: pointer; transform-style: preserve-3d; transition: transform 1.1s var(--round-ease); }
.round-coin__disc:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 8px; border-radius: 50%; }
.round-coin.is-back .round-coin__disc { transform: rotateY(180deg); }
.round-coin__face { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 14%; border-radius: 50%; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); text-align: center; backface-visibility: hidden; -webkit-backface-visibility: hidden; box-shadow: inset 0 0 0 10px rgba(255, 255, 255, .18), 0 40px 80px -30px rgba(46, 46, 46, .5); }
.round-coin__face.is-back { background: var(--wp--preset--color--contrast); color: #fff; transform: rotateY(180deg); }
.round-coin__face b { font-size: clamp(40px, 5vw, 64px); font-weight: 600; line-height: 1; letter-spacing: -.05em; }
.round-coin__face > span { font-size: clamp(13px, 1.2vw, 15px); line-height: 1.8; white-space: pre-line; }

/* ==========================================================================
   Advertising: hero con parete di annunci, canali orizzontali, manifesto, percorso
   ========================================================================== */
.round-ads-hero { padding: clamp(4px, .6vw, 8px) var(--round-box) 0; }
.round-ads-hero__box { position: relative; display: flex; align-items: center; min-height: min(calc(100vh - 80px), 920px); padding: clamp(56px, 8vw, 112px) clamp(20px, 5vw, 72px); overflow: hidden; overflow: clip; border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--contrast-3); color: #fff; }
.round-ads-hero__box::before, .round-ads-hero__box::after { content: ""; position: absolute; z-index: 1; pointer-events: none; }
.round-ads-hero__box::before { inset: 0; background: linear-gradient(90deg, #232323 0%, #232323 48%, rgba(35, 35, 35, .9) 62%, rgba(35, 35, 35, .25) 82%, rgba(35, 35, 35, 0) 94%); }
.round-ads-hero__box::after { inset: auto 0 0 0; height: 30%; background: linear-gradient(0deg, #232323, rgba(35, 35, 35, 0)); }
.round-ads-hero__text { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 24px; max-width: 600px; }
.round-ads-hero__text > * { margin: 0 !important; }
.round-ads-hero .is-style-pill { background: rgba(255, 255, 255, .1); }
.round-ads-hero .is-style-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .1em; color: rgba(255, 255, 255, .7); white-space: nowrap; }
.round-ads-hero .is-style-eyebrow::before { width: 7px; height: 7px; }
.round-display-ads { font-size: clamp(48px, 7vw, 112px); font-weight: 500; line-height: .92; letter-spacing: -.06em; }
.round-display-ads mark { background: none; color: rgba(255, 255, 255, .32); }
.round-ads-hero__lead { max-width: 480px; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.55; color: rgba(255, 255, 255, .72); text-wrap: pretty; }
.round-ads-hero .is-style-fill .wp-block-button__link { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); font-weight: 600; }
.round-ads-hero .is-style-fill .wp-block-button__link:hover { background: #fff; }
.round-ads-hero .is-style-soft .wp-block-button__link { background: rgba(255, 255, 255, .1); color: #fff; }
.round-ads-hero .is-style-soft .wp-block-button__link:hover { background: rgba(255, 255, 255, .18); color: #fff; }
@media (max-width: 899px) {
	.round-ads-hero__box { align-items: flex-end; min-height: 760px; }
	.round-ads-hero__box::before { background: linear-gradient(180deg, rgba(35, 35, 35, .2) 0%, rgba(35, 35, 35, .75) 40%, #232323 62%); }
}

.round-ads-wall { position: absolute; top: -30%; right: -16%; display: flex; gap: 16px; width: min(860px, 64%); height: 170%; pointer-events: none; transform: rotate(-12deg); will-change: transform; }
@media (max-width: 899px) { .round-ads-wall { top: -40%; right: -30%; width: 130%; } }
.round-ads-wall__col { flex: 1; min-width: 0; }
.round-ads-wall__track { display: flex; flex-direction: column; gap: 16px; will-change: transform; }
.round-ads-wall .ad { display: flex; flex-direction: column; gap: 6px; padding: 16px; border-radius: 18px; background: #fff; color: var(--wp--preset--color--contrast); }
.round-ads-wall .ad small { font-family: var(--wp--preset--font-family--mono); font-size: 10px; color: rgba(46, 46, 46, .55); }
.round-ads-wall .ad p { margin: 0; font-size: 12px; line-height: 1.45; }
.round-ads-wall .is-search > span { font-size: 11px; color: rgba(46, 46, 46, .6); }
.round-ads-wall .is-search b { font-size: 16px; font-weight: 400; line-height: 1.25; color: #1A4FA0; }
.round-ads-wall .is-search p { color: rgba(46, 46, 46, .7); }
.round-ads-wall .is-social, .round-ads-wall .is-linkedin { gap: 10px; padding: 12px; }
.round-ads-wall .is-linkedin { padding: 14px; }
.round-ads-wall .ad__who { display: flex; align-items: center; gap: 8px; }
.round-ads-wall .ad__who > i { width: 26px; height: 26px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-ads-wall .is-linkedin .ad__who > i { width: 28px; height: 28px; border-radius: 7px; background: var(--wp--preset--color--contrast); }
.round-ads-wall .ad__who > span { display: flex; flex-direction: column; }
.round-ads-wall .ad__who b { font-size: 12px; font-weight: 600; }
.round-ads-wall .ad__img { height: 150px; border-radius: 12px; background: linear-gradient(150deg, #14B6C7, #0C8E9C); }
.round-ads-wall .ad__img.is-b { background: linear-gradient(160deg, #2E2E2E, #14B6C7); }
.round-ads-wall .ad__img.is-c { background: linear-gradient(140deg, #D9F3F6, #14B6C7); }
.round-ads-wall .ad__bar { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px; border-radius: 10px; background: var(--wp--preset--color--surface); font-size: 11px; font-weight: 600; }
.round-ads-wall .ad__bar em, .round-ads-wall .is-linkedin > em { padding: 6px 10px; border-radius: 8px; background: var(--wp--preset--color--contrast); color: #fff; font-style: normal; }
.round-ads-wall .is-linkedin > em { align-self: flex-start; padding: 7px 12px; border: 1.5px solid var(--wp--preset--color--contrast); border-radius: 999px; background: none; color: var(--wp--preset--color--contrast); font-size: 11px; font-weight: 600; }
.round-ads-wall .ad__banner { display: flex; align-items: flex-end; height: 110px; padding: 12px; border-radius: 10px; background: var(--wp--preset--color--contrast); color: #fff; font-size: 15px; font-weight: 500; line-height: 1.15; }
.round-ads-wall .is-lead { flex-direction: row; align-items: center; gap: 12px; padding: 14px 16px; background: var(--wp--preset--color--accent); }
.round-ads-wall .is-lead > i { display: flex; flex: none; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--wp--preset--color--contrast); }
.round-ads-wall .is-lead > i i { width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-ads-wall .is-lead > span { display: flex; flex-direction: column; gap: 2px; }
.round-ads-wall .is-lead b { font-size: 13px; font-weight: 600; }
.round-ads-wall .is-lead small { font-family: inherit; font-size: 11px; color: inherit; opacity: .75; }
.round-ads-wall .is-reel { position: relative; height: 300px; padding: 0; overflow: hidden; background: linear-gradient(170deg, #3A3A3A 0%, #0C8E9C 70%, #14B6C7); color: #fff; }
.round-ads-wall .ad__side { position: absolute; right: 10px; bottom: 90px; display: flex; flex-direction: column; gap: 10px; }
.round-ads-wall .ad__side i { width: 24px; height: 24px; border-radius: 50%; background: rgba(255, 255, 255, .3); }
.round-ads-wall .ad__side i:first-child { width: 28px; height: 28px; background: #fff; }
.round-ads-wall .ad__cap { position: absolute; right: 48px; bottom: 14px; left: 12px; display: flex; flex-direction: column; gap: 6px; font-size: 12px; line-height: 1.35; }
.round-ads-wall .ad__cap b { font-size: 11px; font-weight: 600; }
.round-ads-wall .ad__cap em { padding: 8px; border-radius: 8px; background: #fff; color: var(--wp--preset--color--contrast); font-size: 11px; font-style: normal; font-weight: 600; text-align: center; }

/* Canali: scorrimento orizzontale con sezione ferma (desktop) */
.round-hs-section { padding-top: var(--round-section); }
.round-hs { position: relative; height: calc(var(--hs-n, 4) * 105vh); }
.round-hs__sticky { position: sticky; top: calc(58px + var(--wp-admin--admin-bar--height, 0px)); display: flex; flex-direction: column; justify-content: center; gap: 20px; height: calc(100vh - 58px - var(--wp-admin--admin-bar--height, 0px)); padding: 12px 0 24px; overflow: hidden; }
.round-hs__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 var(--round-gutter); }
.round-hs__title { display: flex; flex-direction: column; gap: 12px; }
.round-hs__title > * { margin: 0; }
.round-hs__title h2 { font-size: clamp(30px, 3.6vw, 52px); line-height: 1; letter-spacing: -.045em; }
.round-hs__count { display: flex; align-items: center; gap: 12px; font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: rgba(46, 46, 46, .6); }
.round-hs__count i { position: relative; width: min(160px, 24vw); height: 2px; overflow: hidden; border-radius: 2px; background: rgba(46, 46, 46, .12); }
.round-hs__count b { position: absolute; inset: 0; background: var(--wp--preset--color--accent); transform: scaleX(0); transform-origin: left; }
.round-hs__view { flex: 1; min-height: 0; max-height: 620px; }
.round-hs__track { display: flex; gap: 16px; height: 100%; padding: 0 var(--round-gutter); will-change: transform; }
.round-hs__panel { --ink: var(--wp--preset--color--contrast); --line: rgba(46, 46, 46, .12); --fill: var(--wp--preset--color--accent); --card: #fff; display: flex; flex: none; flex-direction: column; justify-content: space-between; gap: 16px; width: min(86vw, 1040px); height: 100%; padding: clamp(22px, 3.2vw, 48px); overflow: hidden; border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--surface); color: var(--ink); }
.round-hs__panel.is-1 { --line: rgba(46, 46, 46, .15); --fill: var(--wp--preset--color--contrast); --card: rgba(255, 255, 255, .35); background: var(--wp--preset--color--accent); }
.round-hs__panel.is-2, .round-hs__panel.is-3 { --ink: #fff; --line: rgba(255, 255, 255, .12); --card: var(--wp--preset--color--contrast-2); background: var(--wp--preset--color--contrast); }
.round-hs__panel.is-3 { --card: var(--wp--preset--color--contrast); background: var(--wp--preset--color--contrast-3); }
.round-hs__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-family: var(--wp--preset--font-family--mono); font-size: 12px; letter-spacing: .06em; white-space: nowrap; }
.round-hs__tags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; font-family: var(--wp--preset--font-family--sans); letter-spacing: 0; }
.round-hs__tags span { padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; }
.round-hs__name { margin: 0; font-size: min(11vw, 17vh, 170px); font-weight: 500; line-height: .85; letter-spacing: -.07em; }
.round-hs__name i { font-style: normal; color: var(--wp--preset--color--accent); }
.round-hs__panel.is-1 .round-hs__name i { color: var(--wp--preset--color--contrast); }
.round-hs__body { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); align-items: end; gap: 18px 40px; }
.round-hs__copy { display: flex; flex-direction: column; gap: 10px; }
.round-hs__copy p { max-width: 440px; margin: 0; font-size: 14.5px; line-height: 1.5; opacity: .75; }
.round-hs__copy .round-hs__claim { max-width: none; font-size: clamp(20px, 2.2vw, 30px); font-weight: 450; line-height: 1.1; letter-spacing: -.03em; opacity: 1; }
.round-hs__funnel { display: flex; flex-direction: column; gap: 12px; padding: clamp(14px, 1.6vw, 20px); border-radius: 18px; background: var(--card); }
.round-hs__label { font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; opacity: .65; }
.round-hs__row { display: flex; flex-direction: column; gap: 6px; }
.round-hs__row > span:first-child { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 14px; white-space: nowrap; }
.round-hs__row b { font-weight: 500; }
.round-hs__row small { font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; opacity: .6; }
.round-hs__bar { position: relative; display: block; height: 8px; overflow: hidden; border-radius: 999px; background: var(--line); }
.round-hs__bar i { position: absolute; top: 0; bottom: 0; left: 0; width: 0; border-radius: 999px; background: var(--fill); opacity: var(--o, 1); transition: width 1.1s var(--round-ease) var(--d, 0ms); }
.round-hs__panel.is-on .round-hs__bar i { width: var(--w); }
@media (max-width: 899px) {
	.round-hs { height: auto; }
	.round-hs__sticky { position: relative; top: 0; height: auto; overflow: visible; }
	.round-hs__view { max-height: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.round-hs__track { height: auto; }
	.round-hs__panel { min-height: 520px; scroll-snap-align: center; }
	.round-hs__count { display: none; }
}
.round-hs.is-free { height: auto; }
.round-hs.is-free .round-hs__sticky { position: relative; top: 0; height: auto; }
.round-hs.is-free .round-hs__view { overflow-x: auto; }
.round-hs.is-free .round-hs__panel { min-height: 560px; }

/* Manifesto teal */
.round-ads-manifesto { padding: clamp(40px, 6vw, 80px) var(--round-box) 0; }
.round-ads-manifesto__box { display: flex; flex-direction: column; gap: 28px; padding: clamp(56px, 9vw, 140px) clamp(24px, 6vw, 96px); border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.round-ads-manifesto__box > * { margin: 0 !important; }
.round-ads-manifesto__box .is-style-mono { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: inherit !important; }
.round-ads-manifesto__box .round-manifesto__text { max-width: 1200px; margin: 0; font-size: clamp(34px, 5.4vw, 84px); font-weight: 500; line-height: 1; letter-spacing: -.05em; text-align: left; }
.js .round-ads-manifesto__box .round-manifesto__text .w { color: rgba(46, 46, 46, .2); }
.js .round-ads-manifesto__box .round-manifesto__text .w.is-on { color: var(--wp--preset--color--contrast); }

/* Dal clic al cliente */
.round-path-section .round-split { align-items: end; margin-bottom: clamp(32px, 4vw, 56px) !important; }
.round-path { overflow-x: auto; scrollbar-width: none; }
.round-path__inner { position: relative; min-width: 760px; padding-top: 20px; }
.round-path svg { display: block; width: 100%; height: 120px; }
.round-path path { fill: none; }
.round-path .is-base { stroke: rgba(46, 46, 46, .12); stroke-width: 2; }
.round-path .is-line { stroke: var(--wp--preset--color--accent); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.round-path__nodes { position: absolute; top: 20px; right: 0; left: 0; height: 120px; }
.round-path__nodes i { position: absolute; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 2px rgba(46, 46, 46, .2); transition: background-color .4s ease, box-shadow .4s ease, transform .5s cubic-bezier(.34, 1.8, .5, 1); }
.round-path__nodes i.is-on { background: var(--wp--preset--color--accent); box-shadow: 0 0 0 6px rgba(20, 182, 199, .2); transform: scale(1.15); }
.round-path__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin: 18px 0 0; padding: 0; list-style: none; }
.round-path__steps li { display: flex; flex-direction: column; gap: 6px; opacity: .35; transition: opacity .5s ease; }
.round-path__steps li.is-on { opacity: 1; }
.round-path__steps small { font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: var(--wp--preset--color--accent-dark); }
.round-path__steps b { font-size: clamp(18px, 1.7vw, 22px); font-weight: 500; letter-spacing: -.02em; }
.round-path__steps span { font-size: 13.5px; line-height: 1.45; color: rgba(46, 46, 46, .7); }

/* Vantaggi su antracite profondo */
.round-pillars.is-deep { background: var(--wp--preset--color--contrast-3); }
.round-pillars.is-deep .round-pillar { min-height: 190px; background: rgba(35, 35, 35, .86); }
.round-pillars.is-deep .round-pillar:hover { background: rgba(50, 50, 50, .9); }

/* ==========================================================================
   Il metodo ROUND
   ========================================================================== */
.round-mhero { padding: clamp(4px, .6vw, 8px) var(--round-box) 0; }
.round-mhero__box { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); align-items: center; gap: clamp(24px, 4vw, 64px); min-height: min(calc(100vh - 80px), 900px); padding: clamp(48px, 7vw, 104px) clamp(20px, 5vw, 72px); overflow: hidden; overflow: clip; border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--contrast-3); color: #fff; }
.round-mhero__box > * { margin: 0 !important; }
.round-mhero__text { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 24px; }
.round-mhero__text > * { margin: 0 !important; }
.round-mhero .is-style-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .1em; color: rgba(255, 255, 255, .7); white-space: nowrap; }
.round-mhero .is-style-eyebrow::before { width: 7px; height: 7px; }
.round-display-method { font-size: clamp(48px, 6.6vw, 104px); font-weight: 500; line-height: .94; letter-spacing: -.06em; }
.round-display-method mark { background: none; color: rgba(255, 255, 255, .32); }
.round-mhero__lead { max-width: 460px; font-size: clamp(16px, 1.3vw, 18px); line-height: 1.55; color: rgba(255, 255, 255, .72); }
.round-mhero .is-style-fill .wp-block-button__link { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); font-weight: 600; }
.round-mhero .is-style-fill .wp-block-button__link:hover { background: #fff; }
.round-mhero__visual { position: relative; order: 2; justify-self: center; width: min(100%, 560px); aspect-ratio: 1; }
.js .round-mhero__visual { animation: round-reveal 1.3s var(--round-ease) .2s both; }
.round-mhero__sphere { position: absolute; inset: 22%; border-radius: 50%; background: radial-gradient(circle at 30% 22%, #9BEAF1 0%, #3FCAD8 18%, #14B6C7 40%, #0C8E9C 68%, #086671 92%); box-shadow: inset 0 20px 60px rgba(255, 255, 255, .45), 0 40px 120px -20px rgba(20, 182, 199, .45); }
.round-mhero__orbit, .round-mhero__orbit2 { position: absolute; border-radius: 50%; }
.round-mhero__orbit { inset: 6%; border: 1px dashed rgba(255, 255, 255, .22); animation: round-spin 45s linear infinite; }
.round-mhero__orbit2 { inset: -4%; border: 1px solid rgba(255, 255, 255, .08); animation: round-spin 25.7s linear infinite reverse; }
.round-mhero__orbit span { position: absolute; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: #fff; }
.round-mhero__orbit span:first-child, .round-mhero__orbit2 span { background: var(--wp--preset--color--accent); }
.round-mhero__orbit2 span { position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; }
@keyframes round-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .round-mhero__orbit, .round-mhero__orbit2 { animation: none; } }

/* Le fasi: sezione alta, box fermo */
.round-phases-section { padding-top: clamp(72px, 9vw, 120px); }
.round-phases { position: relative; }
.round-phases.is-live { height: calc(var(--ph-n, 6) * 103vh); }
.round-phases__sticky { padding: 0 var(--round-box); }
.round-phases.is-live .round-phases__sticky { position: sticky; top: calc(58px + var(--wp-admin--admin-bar--height, 0px)); height: calc(100vh - 58px - var(--wp-admin--admin-bar--height, 0px)); padding-block: var(--round-box); }
.round-phases__box { display: flex; flex-direction: column; justify-content: space-between; gap: clamp(16px, 3vh, 40px); height: 100%; padding: clamp(20px, 3.4vw, 56px); overflow: hidden; border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--surface); }
/* Barra di avanzamento verticale a destra (solo con la sezione animata) */
.round-phases__box { position: relative; }
.round-phases__progress { display: none; }
.round-phases.is-live .round-phases__progress { position: absolute; top: 50%; right: clamp(16px, 1.8vw, 28px); z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 10px; font-family: var(--wp--preset--font-family--mono); font-size: 11px; color: rgba(46, 46, 46, .6); font-variant-numeric: tabular-nums; pointer-events: none; transform: translateY(-50%); }
.round-phases__progress i { position: relative; display: block; width: 2px; height: min(40vh, 320px); overflow: hidden; border-radius: 2px; background: rgba(46, 46, 46, .14); }
.round-phases__progress b { position: absolute; inset: 0; background: var(--wp--preset--color--contrast); transform: scaleY(0); transform-origin: top; }
.round-phases__progress em { width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--accent); }
@media (max-width: 699px) { .round-phases.is-live .round-phases__progress { display: none; } }
.round-phases__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; font-family: var(--wp--preset--font-family--mono); font-size: 12px; letter-spacing: .06em; color: rgba(46, 46, 46, .6); }
.round-phases__top p { margin: 0; }
.round-phases__top b { font-weight: 400; }
.round-phases__list { display: grid; margin: 0; padding: 0; list-style: none; }
.round-phases__item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: end; gap: clamp(20px, 5vw, 96px); }
.round-phases.is-live .round-phases__item { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility 0s .45s; }
.round-phases.is-live .round-phases__item.is-on { opacity: 1; visibility: visible; transition: opacity .45s ease; }
.round-phases:not(.is-live) .round-phases__item + .round-phases__item { margin-top: 48px; }
.round-phases__num { font-size: clamp(120px, min(26vw, 34vh), 360px); font-weight: 600; line-height: .78; letter-spacing: -.08em; color: var(--wp--preset--color--accent); font-variant-numeric: tabular-nums; }
.round-phases__copy { display: flex; flex-direction: column; gap: clamp(10px, 2vh, 20px); min-width: 0; max-width: 560px; }
.round-phases__copy > * { margin: 0; }
.round-phases__copy h3 { font-size: clamp(28px, min(4vw, 6.4vh), 60px); font-weight: 500; line-height: 1; letter-spacing: -.05em; }
.round-phases__copy p { min-height: 4.6em; font-size: clamp(15px, 1.25vw, 17px); line-height: 1.55; color: rgba(46, 46, 46, .72); }
.round-phases__item.is-on .round-phases__copy { animation: round-swap .6s var(--round-ease) both; }
.round-phases__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.round-phases__chips li { padding: 7px 12px; border-radius: 999px; background: #fff; font-size: 13px; white-space: nowrap; }
.round-phases__rail { position: relative; padding-top: 6px; }
.round-phases__line { position: absolute; top: 11px; right: 6px; left: 6px; height: 1px; background: rgba(46, 46, 46, .16); }
.round-phases__line b { position: absolute; inset: 0; background: var(--wp--preset--color--accent); transform: scaleX(0); transform-origin: left; }
.round-phases__rail > div { position: relative; display: grid; grid-template-columns: repeat(var(--ph-n, 6), minmax(0, 1fr)); gap: 8px; }
.round-phases__rail span { display: flex; flex-direction: column; gap: 12px; min-width: 0; font-size: clamp(11px, 1vw, 13px); line-height: 1.3; color: rgba(46, 46, 46, .5); text-wrap: balance; transition: color .4s ease; }
.round-phases__rail span i { width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px rgba(46, 46, 46, .2); transition: background-color .4s ease, box-shadow .4s ease; }
.round-phases__rail .is-on i { background: var(--wp--preset--color--accent); box-shadow: none; }
.round-phases__rail .is-cur { color: var(--wp--preset--color--contrast); }
.round-phases__rail .is-cur i { box-shadow: 0 0 0 6px rgba(20, 182, 199, .2); }
@media (max-width: 699px) {
	.round-phases__item { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 8px; }
	.round-phases__num { font-size: clamp(96px, 30vw, 140px); }
	.round-phases__rail span { font-size: 0; gap: 0; }
}

/* Ciclo di parole */
.round-cycle-section { padding-top: clamp(40px, 5vw, 72px); overflow: hidden; overflow: clip; }
.round-cycle { display: flex; flex-direction: column; gap: 6px; }
.round-cycle__row { display: flex; gap: .4em; font-size: clamp(56px, 9vw, 140px); font-weight: 500; line-height: 1; letter-spacing: -.06em; white-space: nowrap; will-change: transform; }
.round-cycle__row { align-items: center; }
.round-cycle__row i { flex: none; width: .28em; height: .28em; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-cycle__row.is-ghost { color: rgba(46, 46, 46, .14); }
.round-cycle__row.is-ghost i { background: rgba(46, 46, 46, .14); }

/* Quattro promesse: foto con parallasse e card in vetro */
.round-principles-section { padding: clamp(72px, 9vw, 120px) var(--round-box) 0; }
.round-principles { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: clamp(24px, 3vw, 40px); min-height: min(92vh, 820px); padding: clamp(28px, 5vw, 72px); overflow: hidden; overflow: clip; border-radius: var(--wp--custom--radius--section); color: #fff; }
.round-principles > * { position: relative; margin: 0 !important; }
.round-principles > .round-principles__img { position: absolute; inset: 0; }
.round-principles__img img { position: absolute; top: -10%; left: 0; width: 100%; height: 120%; object-fit: cover; will-change: transform; }
.round-principles__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(35, 35, 35, .25) 0%, rgba(35, 35, 35, .55) 45%, rgba(35, 35, 35, .88) 100%); }
.round-principles__head { display: flex; flex-direction: column; gap: 16px; max-width: 720px; }
.round-principles__head > * { margin: 0 !important; }
.round-principles__head .is-style-eyebrow { color: rgba(255, 255, 255, .65); }
.round-principles__head h2 { font-size: clamp(36px, 4.6vw, 64px); line-height: 1; letter-spacing: -.045em; }
.round-principles__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 10px; counter-reset: pr; }
.round-principle { display: flex; flex-direction: column; gap: 10px; min-height: 190px; margin: 0 !important; padding: clamp(20px, 2.2vw, 28px); border-radius: 22px; background: rgba(255, 255, 255, .1); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); counter-increment: pr; transition: background-color .4s ease, transform .5s var(--round-ease); }
.round-principle::before { content: counter(pr, decimal-leading-zero); font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: #9BEAF1; }
.round-principle:hover { background: rgba(20, 182, 199, .35); transform: translateY(-6px); }
.round-principle > * { margin: 0 !important; }
.round-principle h3 { font-size: clamp(22px, 2vw, 28px); font-weight: 500; letter-spacing: -.03em; }
.round-principle p { font-size: 14.5px; line-height: 1.5; color: rgba(255, 255, 255, .8); }

/* Valori */
.round-values { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); align-items: start; gap: clamp(32px, 6vw, 96px); }
.round-values__aside { display: flex; flex-direction: column; gap: 18px; }
.round-values__aside > * { margin: 0; }
.round-values__aside h2 { font-size: clamp(34px, 4.2vw, 58px); line-height: 1; letter-spacing: -.045em; }
@media (min-width: 900px) { .round-values__aside { position: sticky; top: calc(110px + var(--wp-admin--admin-bar--height, 0px)); } }
.round-values__desc { max-width: 460px; min-height: 6em; font-size: clamp(19px, 1.7vw, 23px); line-height: 1.45; letter-spacing: -.015em; }
.round-values__desc.is-swap { animation: round-swap .5s var(--round-ease) both; }
.round-values__list { margin: 0; padding: 0; list-style: none; }
.round-values__list button { all: unset; display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%; padding: clamp(10px, 1.4vw, 18px) 0; border-bottom: 1px solid rgba(46, 46, 46, .12); cursor: pointer; }
.round-values__list button:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 4px; }
.round-values__list span { font-size: clamp(44px, 6.4vw, 96px); font-weight: 500; line-height: 1; letter-spacing: -.06em; color: rgba(46, 46, 46, .22); transform: translateX(-6px); transition: color .4s ease, transform .6s var(--round-ease); }
.round-values__list i { flex: none; width: 14px; height: 14px; border-radius: 50%; background: var(--wp--preset--color--accent); transform: scale(0); transition: transform .5s cubic-bezier(.34, 1.8, .5, 1); }
.round-values__list [aria-pressed="true"] span { color: var(--wp--preset--color--contrast); transform: none; }
.round-values__list [aria-pressed="true"] i { transform: none; }

/* ==========================================================================
   Agenzia
   ========================================================================== */
.round-ahero { position: relative; }
.round-ahero.is-live { height: 240vh; }
.round-ahero__sticky { height: calc(100vh - 58px - var(--wp-admin--admin-bar--height, 0px)); padding: clamp(4px, .6vw, 8px) var(--round-box); }
.round-ahero.is-live .round-ahero__sticky { position: sticky; top: calc(58px + var(--wp-admin--admin-bar--height, 0px)); }
.round-ahero__box { position: relative; display: flex; align-items: center; justify-content: center; height: 100%; min-height: 520px; overflow: hidden; overflow: clip; border-radius: var(--wp--custom--radius--section); background: #fff; }
.round-ahero__photo { position: absolute; inset: 0; opacity: 0; will-change: opacity; }
.round-ahero__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); }
.round-ahero__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(35, 35, 35, .15), rgba(35, 35, 35, .7)); }
.round-ahero__logo { position: relative; width: clamp(280px, 62vw, 980px); transform-origin: 54% 52%; will-change: transform; user-select: none; }
.round-ahero__logo svg { display: block; width: 100%; height: auto; overflow: visible; }
.round-ahero.is-live [data-l] { opacity: 0; transform-box: fill-box; transform-origin: 50% 100%; }
.round-ahero__intro { position: absolute; right: 0; bottom: clamp(20px, 4vh, 40px); left: 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 0 clamp(20px, 4vw, 56px); font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(46, 46, 46, .65); }
.round-ahero__intro span { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.round-ahero__intro i { width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--accent); }
.round-ahero__head { position: absolute; right: clamp(20px, 5vw, 72px); bottom: clamp(28px, 6vh, 64px); left: clamp(20px, 5vw, 72px); display: flex; flex-direction: column; gap: 18px; color: #fff; opacity: 0; transform: translateY(30px); }
.round-ahero__head > * { margin: 0; }
.round-ahero__head .is-style-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .1em; color: rgba(255, 255, 255, .85); }
.round-ahero__claim { max-width: 1000px; font-size: clamp(44px, 6.6vw, 104px); font-weight: 500; line-height: .94; letter-spacing: -.06em; }
/* Senza animazioni: foto e titolo subito, logo nascosto */
.round-ahero.is-static .round-ahero__photo, .round-ahero:not(.is-live):not(.is-static) .round-ahero__photo { opacity: 1; }
.round-ahero:not(.is-live) .round-ahero__logo, .round-ahero:not(.is-live) .round-ahero__intro { display: none; }
.round-ahero:not(.is-live) .round-ahero__head { opacity: 1; transform: none; }

/* Chi siamo: tre numeri */
.round-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; margin-top: clamp(40px, 5vw, 72px) !important; }
.round-fact { display: flex; flex-direction: column; gap: 8px; margin: 0 !important; padding-top: 18px; border-top: 2px solid var(--wp--preset--color--contrast); }
.round-fact > * { margin: 0 !important; }
.round-fact .round-fact__big { font-size: clamp(56px, 6vw, 88px); font-weight: 500; line-height: .9; letter-spacing: -.06em; }
.round-fact .round-fact__big mark { background: none; color: var(--wp--preset--color--accent); }
.round-fact p:last-child { font-size: 15px; color: rgba(46, 46, 46, .7); }

/* Perché il nome ROUND */
.round-why-round-section { padding: var(--round-section) var(--round-box) 0; }
.round-why-round { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); align-items: center; gap: clamp(32px, 5vw, 80px); padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 72px); border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--surface); }
.round-why-round > * { margin: 0 !important; }
.round-why-round__text { display: flex; flex-direction: column; gap: 18px; }
.round-why-round__text > * { margin: 0 !important; }
.round-why-round__text h2 { font-size: clamp(36px, 4.4vw, 60px); line-height: 1; letter-spacing: -.045em; }
.round-why-round__text p:not(.is-style-eyebrow) { max-width: 480px; font-size: 16px; line-height: 1.6; color: rgba(46, 46, 46, .72); }
.round-why-round__text strong { font-weight: 600; color: var(--wp--preset--color--contrast); }
.round-ring { position: relative; justify-self: center; width: min(100%, 480px); aspect-ratio: 1; }
.round-ring svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; transform: rotate(-90deg); }
.round-ring circle { fill: none; }
.round-ring .is-base { stroke: rgba(46, 46, 46, .1); stroke-width: 1; }
.round-ring .is-line { stroke: var(--wp--preset--color--accent); stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.round-ring__dot { position: absolute; top: 8%; left: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border-radius: 50%; background: var(--wp--preset--color--contrast); box-shadow: 0 0 0 6px rgba(46, 46, 46, .12); }
.round-ring__logo { position: absolute; inset: 26%; display: flex; align-items: center; justify-content: center; }
.round-ring__logo img { display: block; width: 78%; height: auto; }
.round-ring__label { position: absolute; padding: 8px 14px; border-radius: 999px; background: #fff; box-shadow: 0 10px 24px -14px rgba(46, 46, 46, .4); color: rgba(46, 46, 46, .4); font-size: 14px; font-weight: 600; white-space: nowrap; transform: translate(-50%, -50%); transition: background-color .4s ease, color .4s ease; }
.round-ring__label.is-on { background: var(--wp--preset--color--contrast); color: #fff; }

/* Lo studio: mosaico di foto che si apre */
.round-studio > .round-head { margin-bottom: clamp(24px, 3vw, 40px) !important; }
.round-mosaic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: clamp(140px, 16vw, 230px); gap: 10px; }
.round-mosaic > * { margin: 0 !important; overflow: hidden; border-radius: 24px; }
.round-mosaic > :first-child { grid-column: span 7; grid-row: span 2; }
.round-mosaic > :not(:first-child) { grid-column: span 5; }
.round-mosaic img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--round-ease); }
.round-mosaic > :hover img { transform: scale(1.05); }
.js .round-mosaic > * { clip-path: inset(12% 12% 12% 12% round 24px); transition: clip-path 1.4s var(--round-ease); }
.js .round-mosaic > :nth-child(2) { transition-delay: .12s; }
.js .round-mosaic > :nth-child(3) { transition-delay: .24s; }
.js .round-mosaic.is-open > * { clip-path: inset(0 0 0 0 round 24px); }
@media (max-width: 699px) {
	.round-mosaic { grid-template-columns: minmax(0, 1fr); grid-auto-rows: 220px; }
	.round-mosaic > :first-child, .round-mosaic > :not(:first-child) { grid-column: auto; grid-row: auto; }
}

/* Sei forme, un solo cerchio */
.round-traits-section { padding: var(--round-section) var(--round-box) 0; }
.round-traits-box { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: clamp(24px, 3vw, 36px) clamp(32px, 5vw, 80px); padding: clamp(40px, 6vw, 88px) clamp(24px, 5vw, 72px); border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--contrast-3); color: #fff; }
.round-traits-box > * { margin: 0 !important; }
.round-traits-box .is-style-eyebrow { color: rgba(255, 255, 255, .65); }
.round-traits-box h2 { font-size: clamp(34px, 4.2vw, 58px); line-height: 1; letter-spacing: -.045em; }
.round-traits-box > .round-head__main { gap: 16px; }
.round-traits { display: contents; }
@media (min-width: 900px) {
	.round-traits-box { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr auto auto 1fr; row-gap: 0; }
	.round-traits-box > .round-head__main { grid-column: 1; grid-row: 2; margin-bottom: clamp(24px, 3vw, 36px) !important; }
	.round-traits__list { grid-column: 1; grid-row: 3; }
	.round-traits__shape { grid-column: 2; grid-row: 1 / -1; }
}
.round-traits__item { all: unset; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 12px; width: 100%; padding: 16px 0; border-top: 1px solid rgba(255, 255, 255, .1); cursor: pointer; }
.round-traits__item:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 4px; }
.round-traits__n { padding-top: 6px; font-family: var(--wp--preset--font-family--mono); font-size: 12px; color: var(--wp--preset--color--accent); }
.round-traits__name { font-size: clamp(22px, 2.2vw, 30px); font-weight: 500; letter-spacing: -.03em; color: rgba(255, 255, 255, .4); transition: color .4s ease; }
.round-traits__item[aria-expanded="true"] .round-traits__name { color: #fff; }
.round-traits__more { grid-column: 2; display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s var(--round-ease); }
.round-traits__item[aria-expanded="true"] .round-traits__more { grid-template-rows: 1fr; }
.round-traits__more > span { overflow: hidden; }
.round-traits__more > span > span { display: block; padding-top: 6px; font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .68); }
.round-traits__shape { position: relative; display: flex; align-items: center; justify-content: center; justify-self: center; width: min(100%, 420px); aspect-ratio: 1; }
.round-traits__shape::before { content: ""; position: absolute; inset: 0; border: 1px dashed rgba(255, 255, 255, .14); border-radius: 50%; }
.round-traits__shape > div { position: relative; display: flex; flex-direction: column; align-items: center; width: 62%; aspect-ratio: 1; }
.round-traits__shape span { width: 100%; height: 50%; transition: transform 1s cubic-bezier(.34, 1.4, .5, 1), background-color .6s ease; }
.round-traits__shape span:first-child { border-radius: 999px 999px 0 0; background: var(--c1, #14B6C7); transform: translateY(var(--g1, -8px)) rotate(var(--r1, 0deg)); transform-origin: 50% 100%; }
.round-traits__shape span:last-child { border-radius: 0 0 999px 999px; background: var(--c2, #14B6C7); transform: translateY(var(--g2, 8px)) rotate(var(--r2, 0deg)); transform-origin: 50% 0%; }
.round-traits-box:has(.round-traits[data-shape="0"]) .round-traits__shape { --r1: 0deg; --r2: 0deg; --g1: -8px; --g2: 8px; --c1: #14B6C7; --c2: #14B6C7; }
.round-traits-box:has(.round-traits[data-shape="1"]) .round-traits__shape { --r1: 0deg; --r2: 0deg; --g1: 0px; --g2: 0px; --c1: #14B6C7; --c2: #14B6C7; }
.round-traits-box:has(.round-traits[data-shape="2"]) .round-traits__shape { --r1: -90deg; --r2: 90deg; --g1: -6px; --g2: 6px; --c1: #14B6C7; --c2: #fff; }
.round-traits-box:has(.round-traits[data-shape="3"]) .round-traits__shape { --r1: 0deg; --r2: 180deg; --g1: -4px; --g2: 4px; --c1: #fff; --c2: #14B6C7; }
.round-traits-box:has(.round-traits[data-shape="4"]) .round-traits__shape { --r1: -24deg; --r2: 24deg; --g1: -13px; --g2: 13px; --c1: #14B6C7; --c2: #9BEAF1; }
.round-traits-box:has(.round-traits[data-shape="5"]) .round-traits__shape { --r1: 0deg; --r2: 0deg; --g1: 20px; --g2: -20px; --c1: #14B6C7; --c2: #14B6C7; }

/* Lavora con noi */
.round-rounder { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; padding: clamp(32px, 5vw, 64px); border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.round-rounder > * { margin: 0 !important; }
.round-rounder__text { display: flex; flex-direction: column; gap: 10px; max-width: 640px; }
.round-rounder__text > * { margin: 0 !important; }
.round-rounder .is-style-mono { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: inherit !important; }
.round-rounder__big { font-size: clamp(30px, 3.8vw, 54px); font-weight: 500; line-height: 1; letter-spacing: -.045em; }
.round-rounder .is-style-fill .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--contrast); }

/* ==========================================================================
   Pagina Progetti: hero con filtri, griglia a mattoncini, nuovi mockup
   ========================================================================== */
.round-phero { padding: clamp(4px, .6vw, 8px) var(--round-box) 0; }
.round-phero__box { position: relative; display: flex; flex-direction: column; gap: clamp(40px, 6vw, 80px); padding: clamp(56px, 8vw, 120px) clamp(24px, 5vw, 72px) clamp(32px, 4vw, 48px); overflow: hidden; overflow: clip; border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--surface); }
.round-phero__box::before { content: ""; position: absolute; top: -40%; right: -12%; width: min(900px, 70vw); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(20, 182, 199, .22) 0%, rgba(20, 182, 199, .06) 40%, transparent 66%); pointer-events: none; }
.round-phero__box > * { position: relative; margin: 0 !important; }
.round-phero__head { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); align-items: end; gap: clamp(24px, 5vw, 80px); }
.round-phero__head > * { margin: 0 !important; }
.round-phero__main { display: flex; flex-direction: column; gap: 24px; }
.round-phero__main > * { margin: 0 !important; }
.round-display-projects { font-size: clamp(44px, 7vw, 104px); font-weight: 450; line-height: .95; letter-spacing: -.06em; text-wrap: balance; }
.round-display-projects mark { background: none; color: rgba(46, 46, 46, .3); }
.round-phero__lead { max-width: 440px; font-size: 17px; line-height: 1.6; color: rgba(46, 46, 46, .72); }

.round-pfilters { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding-top: 24px; border-top: 1px solid rgba(46, 46, 46, .12); }
.round-pfilters__tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.round-pfilters__tabs button { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border: 0; border-radius: 12px; background: #fff; color: var(--wp--preset--color--contrast); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; transition: background-color .3s ease, color .3s ease; }
.round-pfilters__tabs button i { width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--accent); opacity: 0; transition: opacity .3s ease; }
.round-pfilters__tabs [aria-pressed="true"] { background: var(--wp--preset--color--contrast); color: #fff; }
.round-pfilters__tabs [aria-pressed="true"] i { opacity: 1; }
.round-pfilters__count { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(46, 46, 46, .6); }

/* Griglia a mattoncini: righe da 10px, card alte 58 righe o basse 44; mai a tutta larghezza su desktop */
.round-pgrid-section { padding: 12px var(--round-box) 0; }
.round-pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 440px), 1fr)); grid-auto-rows: 10px; grid-auto-flow: row dense; column-gap: 12px; }
.round-work { position: relative; display: block; grid-row: span 58; min-width: 0; margin-bottom: 12px; overflow: hidden; overflow: clip; border-radius: 20px; perspective: 1400px; color: var(--wp--preset--color--contrast); }
.round-work.is-short { grid-row: span 44; }
.round-work[hidden] { display: none; }
a.round-work:hover { color: var(--wp--preset--color--contrast); }
.round-work__stage { position: absolute; inset: 6% 0 22% 0; display: flex; align-items: center; justify-content: center; transform-style: preserve-3d; }
.round-work__label { position: absolute; right: clamp(14px, 2vw, 24px); bottom: clamp(14px, 2vw, 24px); left: clamp(14px, 2vw, 24px); z-index: 3; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; pointer-events: none; }
.round-work__label > div { display: flex; flex: 1; flex-direction: column; gap: 10px; min-width: 0; }
.round-work__n { font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; letter-spacing: .08em; opacity: .6; }
.round-work__title { overflow: hidden; font-size: clamp(22px, 2vw, 28px); font-weight: 500; line-height: 1; letter-spacing: -.04em; white-space: nowrap; text-overflow: ellipsis; }
.round-work.is-dark .round-work__n, .round-work.is-dark .round-work__title { color: #fff; }
.round-work__tag { align-self: flex-start; padding: 5px 8px; border-radius: 6px; background: rgba(255, 255, 255, .88); color: var(--wp--preset--color--contrast); font-family: var(--wp--preset--font-family--mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.round-work__go { display: flex; flex: none; align-items: center; gap: 8px; height: 44px; padding: 0 16px; border-radius: 12px; background: #fff; color: var(--wp--preset--color--contrast); font-size: 14px; font-weight: 500; white-space: nowrap; transition: background-color .3s ease; }
a.round-work:hover .round-work__go { background: var(--wp--preset--color--accent); }
@media (max-width: 599px) {
	.round-work, .round-work.is-short { grid-row: span 46; }
	.round-work__go { width: 44px; padding: 0; justify-content: center; font-size: 0; gap: 0; }
	.round-work__go svg { width: 14px; height: 14px; }
}
/* Dimensioni dei mockup nelle card della pagina Progetti */
.round-work .mockup-browser.is-perspective { width: min(80%, 580px); transform: rotateX(12deg) rotateY(-16deg); }
.round-work .mockup-imac { width: min(78%, 520px); }
.round-work .mockup-laptop { width: min(68%, 560px); }
.round-work .mockup-double { width: min(84%, 640px); }
.round-work .mockup-browser.is-flat { width: min(82%, 480px); }
.round-work .mockup-browser.is-mirror { transform: rotateX(12deg) rotateY(16deg); }

/* Mockup: finestra scura piatta, due finestre a ventaglio, due finestre verticali */
.mockup-browser.is-flat { width: 80%; }
.mockup-browser.is-small .mockup-browser__bar { gap: 5px; height: 22px; padding: 0 9px; }
.mockup-browser.is-small .mockup-browser__bar i { width: 7px; height: 7px; }
.mockup-browser.is-small .mockup-browser__bar span { padding: 2px 10px; font-size: 9px; }
.mockup-fan { position: relative; width: min(86%, 620px); aspect-ratio: 16 / 9.6; }
.mockup-fan__item { position: absolute; width: 62%; height: 92%; will-change: transform; }
.mockup-fan__item.is-back { top: 0; right: 0; }
.mockup-fan__item.is-front { top: 6%; left: 0; }
.mockup-fan .mockup-browser { width: 100%; height: 100%; aspect-ratio: auto; border-radius: 10px; transform-origin: 50% 100%; box-shadow: 0 30px 60px -20px rgba(46, 46, 46, .45), 0 0 0 1px rgba(46, 46, 46, .06); }
.mockup-fan .is-back .mockup-browser { transform: rotate(6deg); }
.mockup-fan .is-front .mockup-browser { transform: rotate(-5deg); }
.mockup-browser.is-mirror { transform: rotateX(14deg) rotateY(18deg); }
.mockup-deck { position: relative; width: min(70%, 500px); aspect-ratio: 16 / 11; perspective: 1200px; will-change: transform; }
.mockup-deck__item { position: absolute; inset: 0; display: flex; }
.mockup-deck__item.is-back { opacity: .85; transform: translate3d(-16%, -10%, -120px) rotateY(22deg); }
.mockup-deck__item.is-front { transform: translate3d(10%, 8%, 0) rotateY(22deg); }
.mockup-deck .mockup-browser { width: 100%; height: 100%; aspect-ratio: auto; border-radius: 10px; box-shadow: 0 30px 60px -20px rgba(46, 46, 46, .45), 0 0 0 1px rgba(46, 46, 46, .06); }
.mockup-split { display: flex; gap: 14px; width: min(78%, 520px); height: 88%; will-change: transform; }
.mockup-split .mockup-browser { flex: 1; min-width: 0; width: auto; height: 100%; aspect-ratio: auto; border-radius: 10px; box-shadow: 0 30px 60px -20px rgba(46, 46, 46, .45), 0 0 0 1px rgba(46, 46, 46, .06); }
.mockup-split .mockup-browser.is-low { align-self: flex-end; height: 94%; }

/* Spotlight sui blocchi scuri
   Aggiungere la classe "has-spotlight" a un blocco scuro: il JS crea il bagliore che segue il mouse.
   -------------------------------------------------------------------------- */
.has-spotlight { position: relative; }
.has-spotlight > :where(:not(.round-glow)) { position: relative; z-index: 1; }
.round-glow {
	position: absolute !important;
	top: 0;
	left: 0;
	z-index: 0 !important;
	width: 720px;
	height: 720px;
	margin: -360px 0 0 -360px !important;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(20, 182, 199, .22) 0%, rgba(20, 182, 199, .07) 35%, transparent 65%);
	opacity: 0;
	pointer-events: none;
	transition: opacity .8s ease;
	will-change: transform;
}
.round-glow.is-on { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
	.round-glow { display: none; }
	.round-grow { clip-path: inset(0 round 11px); }
	.round-grow__img img { transform: scale(1.02); }
}

/* Pagine generiche (provvisorio, fino ai template dedicati)
   -------------------------------------------------------------------------- */
.round-page { padding: var(--round-section) var(--round-gutter); }
.round-404 { min-height: 50vh; }
.round-404 > * + * { margin-top: 24px; }

/* Reveal on scroll
   Gli elementi nascono nascosti solo se il JS è attivo (classe .js sull'html).
   -------------------------------------------------------------------------- */
.reveal-60 { --d: 60ms; }
.reveal-100 { --d: 100ms; }
.reveal-120 { --d: 120ms; }
.reveal-200 { --d: 200ms; }
.reveal-240 { --d: 240ms; }
.reveal-300 { --d: 300ms; }
.reveal-360 { --d: 360ms; }
.reveal-400 { --d: 400ms; }

.js .reveal {
	opacity: 0;
	transform: translateY(40px);
	filter: blur(8px);
	transition:
		opacity 1.1s var(--round-ease) var(--d, 0ms),
		transform 1.3s var(--round-ease) var(--d, 0ms),
		filter 1.1s var(--round-ease) var(--d, 0ms);
}
.js .reveal.is-in { opacity: 1; transform: none; filter: none; }

/* La hero non aspetta il JS: si anima al primo paint */
.js .round-hero .reveal,
.js .round-split-hero .reveal,
.js .round-center-hero .reveal { animation: round-reveal 1.3s var(--round-ease) var(--d, 0ms) both; }
@keyframes round-reveal {
	from { opacity: 0; transform: translateY(40px); filter: blur(8px); }
	to { opacity: 1; transform: none; filter: none; }
}

/* ==========================================================================
   Pagina Contatti: box unico con recapiti e form, foto dello studio
   ========================================================================== */
.round-chero { padding: clamp(4px, .6vw, 8px) var(--round-box) 0; }
.round-chero__box { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); align-items: start; gap: clamp(40px, 6vw, 96px); padding: clamp(48px, 6vw, 96px) clamp(24px, 5vw, 72px); overflow: hidden; overflow: clip; border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--surface); }
.round-chero__box::before { content: ""; position: absolute; top: -45%; left: -14%; width: min(900px, 70vw); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(20, 182, 199, .2) 0%, rgba(20, 182, 199, .05) 40%, transparent 66%); pointer-events: none; }
.round-chero__box > * { position: relative; margin: 0 !important; }
.round-chero__info { display: flex; flex-direction: column; gap: clamp(28px, 4vw, 48px); }
.round-chero__info > *,
.round-chero__main > * { margin: 0 !important; }
.round-chero__main { display: flex; flex-direction: column; gap: 24px; }
.round-chero .round-display-projects { font-size: clamp(44px, 6.4vw, 96px); }
.round-crows { display: flex; flex-direction: column; }
.round-crows > * { margin: 0 !important; }
.round-crow a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; border-top: 1px solid rgba(46, 46, 46, .12); text-decoration: none; color: inherit; transition: color .3s ease; }
.round-crow a:hover { color: var(--wp--preset--color--accent-dark); }
.round-crow__text { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.round-crow__label { font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(46, 46, 46, .6); }
.round-crow__value { font-size: clamp(22px, 2vw, 28px); font-weight: 500; line-height: 1.1; letter-spacing: -.04em; overflow-wrap: anywhere; }
.round-crow__icon { display: flex; flex: none; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: #fff; transition: transform .4s var(--round-ease); }
.round-crow a:hover .round-crow__icon { transform: translate(2px, -2px); }

/* Form, variante pagina: card bianca, etichette visibili */
.round-form.is-page .round-form__form,
.round-form.is-page .round-form__done { gap: 16px; padding: clamp(24px, 3vw, 40px); border-radius: 24px; background: #fff; box-shadow: 0 30px 80px -40px rgba(46, 46, 46, .25); }
.round-form.is-page .round-form__title { font-size: clamp(24px, 2vw, 30px); letter-spacing: -.04em; line-height: 1.1; }
.round-form.is-page .round-form__grid { gap: 16px; }
.round-field__label { display: block; margin: 0 0 8px; padding: 0; font-family: var(--wp--preset--font-family--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(46, 46, 46, .6); }
.round-form.is-page .round-field input,
.round-form.is-page .round-field textarea { height: 54px; padding: 0 16px; border: 1px solid rgba(46, 46, 46, .1); border-radius: 14px; font-size: 16px; transition: border-color .3s ease; }
.round-form.is-page .round-field textarea { height: auto; min-height: 120px; padding: 14px 16px; line-height: 1.55; }
.round-form.is-page .round-field input:focus,
.round-form.is-page .round-field textarea:focus { border-color: var(--wp--preset--color--accent); }
.round-form.is-page .round-form__chips { gap: 8px; }
.round-form.is-page .round-form__chips legend { float: left; width: 100%; margin-bottom: 10px; }
.round-form.is-page .round-chip span { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 12px; background: var(--wp--preset--color--surface); font-size: 14px; font-weight: 500; transition: background-color .3s ease, color .3s ease; }
.round-form.is-page .round-chip span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--accent); opacity: 0; transition: opacity .3s ease; }
.round-form.is-page .round-chip span:hover { background: var(--wp--preset--color--accent-light); }
.round-form.is-page .round-chip input:checked + span { background: var(--wp--preset--color--contrast); color: #fff; }
.round-form.is-page .round-chip input:checked + span::before { opacity: 1; }
.round-form.is-page .round-form__foot { padding-top: 4px; }
.round-form.is-page .round-form__privacy { position: relative; align-items: center; gap: 10px; max-width: none; font-size: 14px; color: rgba(46, 46, 46, .75); cursor: pointer; }
.round-form.is-page .round-form__privacy input { position: absolute; opacity: 0; width: 20px; height: 20px; margin: 0; }
.round-form__ring { display: flex; flex: none; align-items: center; justify-content: center; width: 20px; height: 20px; border: 1.5px solid rgba(46, 46, 46, .3); border-radius: 50%; transition: border-color .3s ease; }
.round-form__ring::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--wp--preset--color--accent); transform: scale(0); transition: transform .35s var(--round-ease); }
.round-form__privacy input:checked + .round-form__ring { border-color: var(--wp--preset--color--accent); }
.round-form__privacy input:checked + .round-form__ring::after { transform: scale(1); }
.round-form__privacy input:focus-visible + .round-form__ring { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.round-form.is-page button[type="submit"] { display: inline-flex; align-items: center; gap: 12px; height: 54px; padding: 0 24px; border-radius: 14px; background: rgba(46, 46, 46, .08); color: rgba(46, 46, 46, .5); font-size: 15px; cursor: default; transition: background-color .35s ease, color .35s ease; }
.round-form.is-page.is-ready button[type="submit"] { background: var(--wp--preset--color--contrast); color: #fff; cursor: pointer; }
.round-form.is-page.is-ready button[type="submit"]:hover { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--contrast); }
.round-form.is-page .round-form__done { justify-content: center; gap: 18px; min-height: 420px; }
.round-form.is-page .round-form__done-title { font-size: clamp(40px, 4.6vw, 64px); line-height: .95; letter-spacing: -.06em; }
.round-form.is-page .round-form__done p:not(.round-form__done-title) { max-width: 420px; font-size: 17px; line-height: 1.6; color: rgba(46, 46, 46, .72); }
.round-form__again { align-self: flex-start; height: 48px; padding: 0 20px; border: 0; border-radius: 14px; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--contrast); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; transition: background-color .3s ease, color .3s ease; }
.round-form__again:hover { background: var(--wp--preset--color--contrast); color: #fff; }

/* Form in home (sezione #contatti): fondo grigio come in origine, campi e voci bianchi, messaggio più basso */
.round-contatti .round-form.is-page .round-form__form,
.round-contatti .round-form.is-page .round-form__done { background: var(--wp--preset--color--surface); box-shadow: none; }
.round-contatti .round-form.is-page .round-field input,
.round-contatti .round-form.is-page .round-field textarea { border-color: transparent; }
.round-contatti .round-form.is-page .round-field input:focus,
.round-contatti .round-form.is-page .round-field textarea:focus { border-color: var(--wp--preset--color--accent); }
.round-contatti .round-form.is-page .round-field textarea { height: 96px; min-height: 0; }
.round-contatti .round-form.is-page .round-chip span { background: #fff; }
.round-contatti .round-form.is-page .round-chip span:hover { background: var(--wp--preset--color--accent-light); }
.round-contatti .round-form.is-page .round-chip input:checked + span { background: var(--wp--preset--color--contrast); }
.round-contatti .round-form.is-page button[type="submit"] { background: rgba(46, 46, 46, .1); }
.round-contatti .round-form.is-page.is-ready button[type="submit"] { background: var(--wp--preset--color--contrast); }
.round-contatti .round-form.is-page.is-ready button[type="submit"]:hover { background: var(--wp--preset--color--accent); }
.round-contatti .round-form__again { background: #fff; }

.round-cstudio { padding: 12px var(--round-box) 0; }
.round-cstudio .round-photo { aspect-ratio: auto; height: clamp(320px, 38vw, 560px); border-radius: var(--wp--custom--radius--section); background: var(--wp--preset--color--surface-2, #E3EAEA); }
.round-cstudio .round-photo figcaption { left: 20px; bottom: 20px; padding: 9px 16px; font-size: 14px; }

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}
@media (prefers-reduced-motion: reduce) {
	.js .reveal,
	.js .round-hero .reveal,
	.js .round-split-hero .reveal,
	.js .round-center-hero .reveal,
	.js .round-svc-hero .reveal,
	.js .round-ads-hero .reveal,
	.js .round-mhero .reveal,
	.js .round-phero .reveal,
	.js .round-chero .reveal { opacity: 1; transform: none; filter: none; transition: none; animation: none; }
	.js .round-hero__orb { transform: none; }
	.js .round-manifesto__text .w,
	.js .round-statement__text .w { color: inherit; }
}

/* ==========================================================================
   Schermi molto larghi: i box (fasce scure, chiare, teal; non hero e footer) si fermano a
   --round-box-max e si centrano; dentro, il contenuto resta largo come le sezioni
   normali (--round-inner). Il minimo è il padding originale del box.
   ========================================================================== */
:root { --round-inner: 1184px; --round-box-max: 1400px; }
@media (min-width: 1440px) {
	.round-metodo__box,
	.round-benefits__box,
	.round-channels__box,
	.round-seo__box,
	.round-strats__box,
	.round-svc-box,
	.round-pillars,
	.round-cta-orbit,
	.round-ads-manifesto__box,
	.round-phases__box,
	.round-principles,
	.round-why-round,
	.round-traits-box { --pad: calc((min(100%, var(--round-box-max)) - var(--round-inner)) / 2); max-width: var(--round-box-max); margin-inline: auto !important; }
	/* Hero e footer restano a tutta larghezza: solo il contenuto si allinea alle sezioni */
	.round-split-hero__box,
	.round-dots-hero__box,
	.round-ads-hero__box,
	.round-mhero__box,
	.round-phero__box,
	.round-chero__box,
	.site-footer__box { --pad: calc((100% - var(--round-inner)) / 2); }
	.round-phero__box,
	.round-chero__box,
	.round-split-hero__box,
	.round-ads-hero__box,
	.round-mhero__box,
	.round-benefits__box,
	.round-channels__box,
	.round-seo__box,
	.round-strats__box,
	.round-pillars,
	.round-cta-orbit,
	.round-principles,
	.round-why-round,
	.round-traits-box { padding-inline: max(72px, var(--pad)); }
	.round-svc-box { padding-inline: max(64px, var(--pad)); }
	.round-ads-manifesto__box { padding-inline: max(96px, var(--pad)); }
	.round-phases__box { padding-inline: max(56px, var(--pad)); }
	.site-footer__box { padding-inline: max(48px, var(--pad)); }
	.round-dots-hero__box { padding-inline: max(var(--round-gutter), var(--pad)); }
	/* Metodo in home: il carosello arriva al bordo destro del box, si allinea solo il lato sinistro */
	.round-metodo__box { padding-left: max(72px, var(--pad)); }
	/* Griglia della pagina Progetti: come le fasce, al massimo 1400px */
	.round-pgrid { max-width: var(--round-box-max); margin-inline: auto; }
	/* Carosello vantaggi (Acquisire clienti): resta nei 1400px, prima card allineata al titolo */
	.round-rail-section { max-width: var(--round-box-max); margin-inline: auto; padding-left: 0; }
	.round-rail-head { padding-right: 0; }
	.round-rail { --rail-pad: calc((100% - var(--round-inner)) / 2); padding-inline: var(--rail-pad); scroll-padding-inline: var(--rail-pad); }
	/* Canali Advertising: primo pannello allineato all'intestazione */
	.round-hs__track { padding-inline: max(var(--round-gutter), calc((100vw - var(--round-inner)) / 2)); }
}
