:root {
	--gna-v: "2.11.22"; /* versione di questo file: la legge la barra nera (inc/setup.php) */
}

/* ==========================================================================
   GNA Bianco — sistema visivo (versione A «Più bianca»)
   Bianco e nero, molto vuoto, titoli enormi. Bordeaux una sola volta per
   schermata: pulsante principale o filo di hover. Niente crema, niente rosa
   (salvo il filo del diaframma nell'ingresso approvato).
   ========================================================================== */

/*
 * v2.10.5: font del tema caricati dal tema stesso (anche se il foglio
 * assets/fonts/fonts.css venisse bloccato da un plugin, qui ci sono comunque).
 */
@font-face {
	font-family: "Instrument Serif";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/InstrumentSerif-Regular.woff2") format("woff2");
}

@font-face {
	font-family: "Instrument Serif";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/InstrumentSerif-Italic.woff2") format("woff2");
}

@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/Manrope-Variable.woff2") format("woff2");
}

@font-face {
	font-family: "Cormorant Garamond";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/CormorantGaramond-Medium.woff2") format("woff2");
}

:root {
	/* Colore */
	--white: #FFFFFF;
	--ivory: #FFFFFF;         /* fondo: bianco (nome storico del token) */
	--ivory-2: #F4F4F4;       /* superfici neutre (segnaposto immagini) */
	--paper: #FFFFFF;
	--ink: #0A0A0A;           /* testo, header, pulsanti neri */
	--ink-2: #262626;
	--ink-soft: #3F3F3F;      /* testo secondario (10,4:1) */
	--ink-mute: #5E5E5E;      /* didascalie (6,4:1) */
	--line: #E6E6E6;
	--line-strong: #0A0A0A;
	--rose: #0A0A0A;          /* niente rosa nell'interfaccia */
	--rose-deep: #0A0A0A;
	--rose-text: #0A0A0A;
	--bordeaux: #6E2433;      /* solo pulsante principale o filo di hover */
	--bordeaux-2: #5A1C29;
	--on-dark: #FFFFFF;
	--on-dark-soft: #A6A6A6;
	--line-dark: rgba(255, 255, 255, .16);

	/* Tipografia */
	--serif: "Instrument Serif", "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
	--sans: "Manrope", "Inter", "Helvetica Neue", Arial, system-ui, sans-serif;

	/* Misure */
	--gutter: clamp(20px, 5vw, 88px);
	--maxw: 1600px;            /* stessa larghezza per header, contenuti e footer */
	--hh: 64px;               /* altezza header */
	--hh-s: 56px;             /* header compatto allo scroll */
	--sticky-h: 44px;
	--sec: clamp(72px, 10vw, 168px);
	--radius: 2px;

	/* Motion */
	--ease: cubic-bezier(0.22, 1, 0.36, 1);
	--t1: 200ms;
	--t2: 400ms;
	--t3: 700ms;
}

@media (min-width: 1080px) {
	:root {
		--hh: 92px;
		--hh-s: 72px;
	}
}

/* ---------------------------------------------------------------- base */

html.gna-front,
body.gna-bianco {
	scroll-behavior: smooth;
}

html {
	scroll-padding-top: calc(var(--hh) + var(--sticky-h) + 16px);
}

body.gna-bianco {
	margin: 0;
	padding-top: var(--hh);
	background: var(--ivory);
	color: var(--ink);
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.65;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}

@media (min-width: 1080px) {
	body.gna-bianco {
		font-size: 17px;
	}
}

body.gna-bianco *,
body.gna-bianco *::before,
body.gna-bianco *::after {
	box-sizing: border-box;
}

:where(body.gna-bianco) img {
	max-width: 100%;
	height: auto;
}

body.gna-bianco ::selection {
	background: var(--ink);
	color: var(--white);
}

body.gna-bianco a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
}

body.gna-bianco :focus-visible {
	outline: 2px solid var(--ink);
	outline-offset: 3px;
	border-radius: 1px;
}

body.gna-bianco .gna-dark :focus-visible,
body.gna-bianco .gna-footer :focus-visible {
	outline-color: var(--on-dark);
}

.screen-reader-text,
.gna-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.gna-skip {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 10001;
	padding: 12px 18px;
	background: var(--ink);
	color: var(--ivory) !important;
	font: 600 13px/1 var(--sans);
	transform: translateY(-160%);
	transition: transform var(--t1) var(--ease);
}

.gna-skip:focus {
	transform: none;
}

.gna-i {
	width: 1.25em;
	height: 1.25em;
	flex: none;
	vertical-align: middle;
}

.gna-i.is-flip {
	transform: scaleX(-1);
}

/* ------------------------------------------------------------- layout */

.gna-wrap {
	width: 100%;
	max-width: var(--maxw);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.gna-sec {
	padding-block: var(--sec);
	position: relative;
}

/* --------------------------------------------------------- tipografia */

.gna-h1,
.gna-h2,
.gna-h3,
body.gna-bianco .gna-hero__title {
	font-family: var(--serif);
	font-weight: 400;
	letter-spacing: -0.015em;
	text-wrap: balance;
	margin: 0;
	color: inherit;
}

.gna-h1 {
	font-size: clamp(3.4rem, 13vw, 10rem);
	line-height: .9;
}

.gna-h2 {
	font-size: clamp(2.35rem, 6.4vw, 5.4rem);
	line-height: .98;
}

.gna-h3 {
	font-size: clamp(1.9rem, 3.8vw, 3.6rem);
	line-height: 1.04;
}

.gna-h1 em,
.gna-h2 em,
.gna-h3 em {
	font-style: italic;
}

.gna-eyebrow {
	margin: 0;
	font: 600 12px/1.4 var(--sans);
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.gna-dark .gna-eyebrow {
	color: var(--on-dark-soft);
}

.gna-slash {
	color: currentColor;
	margin-right: .55em;
	font-weight: 400;
}

.gna-dark .gna-slash {
	color: var(--on-dark);
}

.gna-num {
	font: 500 12px/1 var(--sans);
	letter-spacing: .14em;
	font-variant-numeric: tabular-nums;
	color: var(--ink-mute);
}

.gna-dark .gna-num {
	color: var(--on-dark-soft);
}

.gna-sechead {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: clamp(28px, 4vw, 48px);
}

.gna-sechead__rule {
	flex: 0 0 clamp(40px, 6vw, 88px);
	height: 1px;
	background: var(--line-strong);
}

.gna-dark .gna-sechead__rule {
	background: var(--line-dark);
}

/* «Solo la parola»: niente filo. L'etichetta, piccola e molto spaziata, sta
   da sola sopra il titolo vero (Le nostre sedi, Servizi, Recensioni, Sei nel posto giusto). */
.gna-sechead--plain {
	display: block;
	margin-bottom: clamp(16px, 1.9vw, 28px);
}

.gna-sechead--plain .gna-eyebrow {
	font-weight: 500;
	letter-spacing: .32em;
	color: var(--ink-mute);
}

.gna-dark .gna-sechead--plain .gna-eyebrow {
	color: var(--on-dark-soft);
}

/* ------------------------------------------------------- pulsanti/link */

.gna-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 52px;
	padding: 0 26px;
	border: 1px solid var(--ink);
	border-radius: 0;
	background: transparent;
	color: var(--ink) !important;
	font: 600 12px/1.2 var(--sans);
	letter-spacing: .18em;
	text-transform: uppercase;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color var(--t1) var(--ease), color var(--t1) var(--ease), border-color var(--t1) var(--ease);
	white-space: normal;
	text-align: left;
}

.gna-btn .gna-i {
	width: 15px;
	height: 15px;
	transition: transform var(--t2) var(--ease);
}

.gna-btn:hover .gna-i {
	transform: translateX(3px);
}

.gna-btn:hover .gna-i[class*="arrow-ne"],
.gna-btn:hover svg:only-child {
	transform: translate(2px, -2px);
}

.gna-btn--solid {
	background: var(--bordeaux);
	border-color: var(--bordeaux);
	color: var(--ivory) !important;
}

.gna-btn--solid:hover {
	background: var(--bordeaux-2);
	border-color: var(--bordeaux-2);
}

.gna-btn--ghost:hover {
	background: var(--ink);
	color: var(--white) !important;
}

/* Pulsante nero pieno: dove il bordeaux sarebbe di troppo (mega-menu, sticky). */
.gna-btn--ink {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--white) !important;
}

.gna-btn--ink:hover {
	background: var(--ink-2);
	border-color: var(--ink-2);
}

@media (min-width: 1080px) {
	.gna-btn {
		min-height: 58px;
		padding: 0 32px;
		font-size: 12.5px;
	}
}

@media (min-width: 700px) {
	.gna-hero__ctas .gna-btn {
		white-space: nowrap;
	}
}

@media (max-width: 699px) {
	.gna-hero__ctas .gna-btn {
		justify-content: space-between;
		padding: 0 18px;
		font-size: 11px;
		letter-spacing: .13em;
	}
}

.gna-btn--light {
	border-color: var(--on-dark);
	color: var(--on-dark) !important;
}

.gna-btn--light:hover {
	background: var(--on-dark);
	color: var(--ink) !important;
}

.gna-btn--lg {
	min-height: 58px;
	padding: 0 30px;
}

.gna-btn--block {
	width: 100%;
	justify-content: space-between;
}

.gna-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	font: 600 12px/1.2 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--ink) !important;
	background: linear-gradient(currentColor, currentColor) left calc(100% - 12px) / 100% 1px no-repeat;
	transition: background-size var(--t2) var(--ease);
}

.gna-link:hover {
	background-size: 0 1px;
	background-position: right calc(100% - 12px);
}

.gna-link .gna-i {
	width: 15px;
	height: 15px;
}

.gna-iconbtn {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	background: transparent;
	color: var(--ink);
	cursor: pointer;
	transition: background-color var(--t1) var(--ease), color var(--t1) var(--ease), border-color var(--t1) var(--ease);
}

.gna-iconbtn:hover {
	background: var(--ink);
	border-color: var(--ink);
	color: var(--ivory);
}

.gna-iconbtn .gna-i {
	width: 18px;
	height: 18px;
}

/* ============================================================== HEADER */

.gna-header {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 1000;
	background: var(--ivory);
	transition: background-color var(--t2) var(--ease), box-shadow var(--t2) var(--ease);
}

.admin-bar .gna-header {
	top: 46px;
}

@media (min-width: 783px) {
	.admin-bar .gna-header {
		top: 32px;
	}
}

.gna-header__bar {
	position: static;
	display: flex;
	align-items: center;
	gap: 16px;
	height: var(--hh);
	max-width: var(--maxw);
	margin-inline: auto;
	padding-inline: var(--gutter);
	transition: height var(--t2) var(--ease);
}

.gna-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: var(--hh);
	height: 1px;
	background: var(--line);
	opacity: 0;
	transition: opacity var(--t2) var(--ease), top var(--t2) var(--ease);
	z-index: 3;
	pointer-events: none;
}

.gna-header.is-scrolled {
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.gna-header.is-scrolled .gna-header__bar {
	height: var(--hh-s);
}

.gna-header.is-scrolled::after {
	top: var(--hh-s);
	opacity: 1;
}

.gna-header.is-open,
.gna-header.has-mega {
	background: var(--ivory);
}

.gna-logo {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	flex: none;
	margin-right: auto;
}

@media (min-width: 1080px) {
	.gna-logo {
		flex: 1 1 0;
		margin-right: 0;
	}

	.gna-tools {
		flex: 1 1 0 !important;
		justify-content: flex-end;
	}
}

/* Logo: firma originale, proporzioni intatte (si fissa solo l'altezza). */
.gna-logo img {
	display: block;
	width: auto !important;
	max-width: none;
	height: 34px;
	transition: height var(--t2) var(--ease);
}

@media (min-width: 1080px) {
	.gna-logo img {
		height: 50px;
	}

	.gna-header.is-scrolled .gna-logo img {
		height: 40px;
	}
}

/* Navigazione desktop */
.gna-nav {
	display: none;
}

@media (min-width: 1080px) {
	.gna-nav {
		display: block;
		flex: none;
	}
}

.gna-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(14px, 2.2vw, 40px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.gna-nav__item {
	position: relative;
	margin: 0;
}

.gna-nav__item--mega {
	position: static;
}

.gna-nav__btn,
.gna-nav__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 4px;
	border: 0;
	background: none;
	color: var(--ink) !important;
	font: 500 15px/1 var(--sans);
	letter-spacing: .02em;
	text-decoration: none !important;
	cursor: pointer;
}

/* Ponte invisibile tra la voce del menu e il suo pannello (mega-menu Servizi,
   tendina Agenzia): scendendo con il mouse verso il pannello non si «esce»
   dalla voce, quindi il pannello non si chiude a metà strada. */
.gna-nav__btn::before {
	content: "";
	position: absolute;
	left: -14px;
	right: -14px;
	top: 100%;
	height: 26px;
}

.gna-nav__btn::after,
.gna-nav__link::after {
	content: "";
	position: absolute;
	left: 4px;
	right: 4px;
	bottom: 10px;
	height: 1px;
	background: var(--bordeaux);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--t2) var(--ease);
}

.gna-nav__btn:hover::after,
.gna-nav__link:hover::after,
.gna-nav__btn[aria-expanded="true"]::after {
	transform: scaleX(1);
	transform-origin: left;
}

.gna-nav__chev {
	width: 14px;
	height: 14px;
	transition: transform var(--t2) var(--ease);
}

.gna-nav__btn[aria-expanded="true"] .gna-nav__chev {
	transform: rotate(180deg);
}

/* Dropdown Agenzia */
.gna-drop {
	position: absolute;
	top: calc(100% + 14px);
	left: -18px;
	min-width: 290px;
	padding: 10px;
	background: var(--paper);
	border: 1px solid var(--line);
	box-shadow: 0 24px 48px -32px rgba(20, 20, 20, .35);
}

.gna-drop ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gna-drop a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 12px;
	font: 600 11px/1.3 var(--sans);
	letter-spacing: .14em;
	text-decoration: none;
	color: var(--ink);
	transition: background-color var(--t1) var(--ease);
}

.gna-drop a:hover {
	background: var(--ivory-2);
}

/* Social nell'header: sempre visibili, anche su smartphone. */
.gna-tools__social {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.gna-bianco .gna-tools__social > li {
	margin: 0;
	padding: 0;
}

.gna-tools__social a {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 44px;
	color: var(--ink) !important;
	transition: opacity var(--t1) var(--ease), transform var(--t2) var(--ease);
}

.gna-tools__social a:hover {
	opacity: .6;
	transform: translateY(-1px);
}

.gna-tools__social .gna-i {
	width: 22px;
	height: 22px;
}

@media (min-width: 1080px) {
	.gna-tools__social {
		margin-right: 10px;
		padding-right: 14px;
		border-right: 1px solid var(--line);
	}

	.gna-tools__social a {
		width: 42px;
	}
}

@media (max-width: 380px) {
	.gna-tools__social a {
		width: 36px;
	}

	.gna-tools__social .gna-i {
		width: 20px;
		height: 20px;
	}
}

/* Strumenti a destra */
.gna-tools {
	display: flex;
	align-items: center;
	gap: 4px;
	flex: none;
}

.gna-tools__shop {
	display: none;
	min-height: 44px;
	align-items: center;
	padding: 0 10px;
	font: 500 14px/1 var(--sans);
	letter-spacing: .04em;
	color: var(--ink) !important;
	text-decoration: none !important;
}

.gna-tools__shop:hover {
	color: var(--ink) !important;
}

@media (min-width: 1080px) {
	.gna-tools__shop {
		display: inline-flex;
	}
}

.gna-cart {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	color: var(--ink) !important;
	text-decoration: none !important;
}

.gna-cart .gna-i {
	width: 24px;
	height: 24px;
}

.gna-cart__count {
	position: absolute;
	top: 5px;
	right: 3px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--ink);
	color: var(--ivory);
	font: 700 10px/17px var(--sans);
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.gna-cart__count[hidden] {
	display: none;
}

.gna-cart__count.is-bump {
	animation: gna-bump 600ms var(--ease);
}

@keyframes gna-bump {
	40% { transform: scale(1.35); }
}

.gna-lang {
	display: none;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 1080px) {
	.gna-tools > .gna-lang {
		display: flex;
		margin-left: 6px;
	}
}

.gna-lang li {
	display: flex;
	align-items: center;
	margin: 0;
}

body.gna-bianco .gna-lang li + li::before {
	content: "/";
	color: var(--line-strong);
	font-size: 12px;
}

.gna-lang a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	min-height: 44px;
	font: 600 12.5px/1 var(--sans);
	letter-spacing: .12em;
	color: var(--ink-mute) !important;
	text-decoration: none !important;
}

.gna-lang a[aria-current] {
	color: var(--ink) !important;
	text-decoration: underline !important;
	text-decoration-color: var(--ink) !important;
}

/* Burger */
.gna-burger {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-right: -10px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ink);
	cursor: pointer;
}

@media (min-width: 1080px) {
	.gna-burger {
		display: none;
	}
}

.gna-burger__lines {
	position: relative;
	display: block;
	width: 22px;
	height: 10px;
}

.gna-burger__lines span {
	position: absolute;
	left: 0;
	right: 0;
	height: 1.25px;
	background: currentColor;
	transition: transform var(--t2) var(--ease), top var(--t2) var(--ease);
}

.gna-burger__lines span:first-child {
	top: 0;
}

.gna-burger__lines span:last-child {
	top: 9px;
}

.gna-burger[aria-expanded="true"] .gna-burger__lines span:first-child {
	top: 4.5px;
	transform: rotate(45deg);
}

.gna-burger[aria-expanded="true"] .gna-burger__lines span:last-child {
	top: 4.5px;
	transform: rotate(-45deg);
}

/* ------------------------------------------------------------ mega-menu */

.gna-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: var(--hh);
	z-index: 1;
	max-height: calc(100vh - var(--hh));
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--ivory);
	border-top: 1px solid var(--line);
	box-shadow: 0 40px 80px -60px rgba(20, 20, 20, .45);
}

.gna-header.is-scrolled .gna-mega {
	top: var(--hh-s);
	max-height: calc(100vh - var(--hh-s));
}

.gna-mega.is-anim {
	animation: gna-curtain var(--t3) var(--ease) both;
}

@keyframes gna-curtain {
	from { clip-path: inset(0 0 100% 0); }
	to { clip-path: inset(0 0 0 0); }
}

.gna-mega__inner {
	max-width: var(--maxw);
	margin-inline: auto;
	padding: 28px var(--gutter) 22px;
}

.gna-mega__cols {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);   /* tre colonne, o quattro con la Formazione attiva */
	gap: 0 clamp(20px, 2.4vw, 40px);
}

.gna-mega__col {
	min-width: 0;
	padding-top: 14px;
	border-top: 1px solid var(--line-strong);
}

.gna-mega__label {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 14px;
	font: 400 30px/1 var(--serif);
	color: var(--ink);
}

.gna-mega__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gna-mega__list li {
	margin: 0;
}

.gna-mega__item {
	position: relative;
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 12px;
	padding: 8px 0;
	text-decoration: none !important;
	color: var(--ink) !important;
}

.gna-mega__item::after {
	content: "";
	position: absolute;
	left: 34px;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var(--bordeaux);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--t2) var(--ease);
}

.gna-mega__item:hover::after,
.gna-mega__item:focus-visible::after {
	transform: scaleX(1);
}

.gna-mega__icon {
	padding-top: 2px;
	color: var(--ink-soft);
	transition: color var(--t1) var(--ease);
}

.gna-mega__icon .gna-i {
	width: 20px;
	height: 20px;
}

.gna-mega__item:hover .gna-mega__icon {
	color: var(--ink);
}

.gna-mega__body {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.gna-mega__title {
	font: 600 13.5px/1.35 var(--sans);
}

.gna-mega__desc {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font: 400 12.5px/1.45 var(--sans);
	color: var(--ink-soft);
}

.gna-mega__kicker {
	font-weight: 600;
	font-size: 10.5px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ink);
	margin-right: .3em;
}

.gna-mega__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 0;
	overflow: hidden;
	opacity: 0;
	font: 600 10px/1.2 var(--sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink);
	transition: opacity var(--t2) var(--ease), height var(--t2) var(--ease);
}

.gna-mega__cta .gna-i {
	width: 13px;
	height: 13px;
}

.gna-mega__item:hover .gna-mega__cta,
.gna-mega__item:focus-visible .gna-mega__cta {
	height: 18px;
	opacity: 1;
}

.gna-mega__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--line);
}

.gna-mega__shop {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	font: 400 22px/1 var(--serif);
	color: var(--ink) !important;
	text-decoration: none !important;
}

.gna-mega__shop .gna-i {
	width: 16px;
	height: 16px;
	transition: transform var(--t2) var(--ease);
}

.gna-mega__shop:hover .gna-i {
	transform: translateX(4px);
}

.gna-mega[hidden],
.gna-drop[hidden],
.gna-panel[hidden],
.gna-acc[hidden] {
	display: none !important;
}

@media (max-width: 1079px) {
	.gna-mega,
	.gna-drop {
		display: none !important;
	}
}

/* --------------------------------------------------------- sticky CTA */

.gna-sticky {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: var(--sticky-h);
	padding-inline: var(--gutter);
	background: var(--ink);
	color: var(--ivory) !important;
	font: 600 11px/1 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none !important;
	transform: translateY(-100%);
	visibility: hidden;
	transition: transform var(--t2) var(--ease), visibility 0s linear var(--t2);
}

.gna-sticky .gna-i {
	width: 16px;
	height: 16px;
}

.gna-sticky__arrow {
	margin-left: auto;
}

.gna-sticky > span {
	margin-right: auto;
}

.gna-header.has-sticky .gna-sticky {
	transform: none;
	visibility: visible;
	transition: transform var(--t2) var(--ease), visibility 0s;
}

.gna-header.is-open .gna-sticky,
.gna-header.has-mega .gna-sticky {
	transform: translateY(-100%);
	visibility: hidden;
}

@media (min-width: 1080px) {
	.gna-sticky {
		display: none;
	}
}

/* ------------------------------------------------------- pannello mobile */

.gna-panel {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: var(--hh);
	z-index: 999;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--ivory);
	border-top: 1px solid var(--line);
}

.admin-bar .gna-panel {
	top: calc(var(--hh) + 46px);
}

.gna-panel.is-anim {
	animation: gna-curtain 600ms var(--ease) both;
}

.gna-header.is-scrolled ~ .gna-panel {
	top: var(--hh-s);
}

@media (min-width: 1080px) {
	.gna-panel {
		display: none !important;
	}
}

.gna-panel__inner {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 12px var(--gutter) calc(28px + env(safe-area-inset-bottom, 0px));
}

.gna-panel__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gna-panel__list > li {
	margin: 0;
	border-bottom: 1px solid var(--line);
}

.gna-panel__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 58px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ink) !important;
	/* v2.6.2: voci più piccole, nello stile del menu desktop (prima serif 34–45px) */
	font: 500 17px/1.2 var(--sans);
	letter-spacing: .02em;
	text-align: left;
	text-decoration: none !important;
	cursor: pointer;
}

.gna-acc__icon {
	width: 18px;
	height: 18px;
	transition: transform var(--t2) var(--ease);
}

.gna-panel__link[aria-expanded="true"] .gna-acc__icon {
	transform: rotate(45deg);
}

.gna-acc {
	padding: 0 0 18px;
}

.gna-acc ul {
	margin: 0 0 8px;
	padding: 0;
	list-style: none;
}

.gna-acc li {
	margin: 0;
}

.gna-acc a {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	font: 500 15px/1.3 var(--sans);
	color: var(--ink) !important;
	text-decoration: none !important;
}

.gna-acc a .gna-i {
	width: 18px;
	height: 18px;
	color: var(--ink-soft);
}

.gna-acc__label {
	display: flex;
	gap: 10px;
	align-items: baseline;
	margin: 14px 0 2px;
	font: 400 22px/1 var(--serif);
}

.gna-panel__foot {
	display: grid;
	gap: 14px;
	margin-top: auto;
	padding-top: 32px;
}

.gna-panel__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 18px;
}

.gna-panel__small {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font: 600 11px/1 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink) !important;
	text-decoration: none !important;
}

.gna-lang--panel,
.gna-lang--footer {
	display: flex;
	margin-left: auto;
}

body.gna-panel-open {
	overflow: hidden;
}

/* ================================================================ INTRO */

.gna-intro {
	display: none;
}

html.intro-pending .gna-intro {
	position: fixed;
	inset: 0;
	z-index: 5000;
	display: grid;
	place-items: center;
	animation: gna-intro-failsafe 0s linear 7s forwards;
}

@keyframes gna-intro-failsafe {
	to { visibility: hidden; opacity: 0; pointer-events: none; }
}

.gna-intro__skip {
	position: absolute;
	right: var(--gutter);
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	z-index: 4;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius);
	background: transparent;
	color: var(--ink);
	font: 600 11px/1 var(--sans);
	letter-spacing: .2em;
	text-transform: uppercase;
	cursor: pointer;
}

.gna-intro__skip:hover {
	background: var(--ink);
	color: var(--ivory);
}

/* ------------------------------------------------ ingresso: varianti */
/*
 * «Obiettivo», approvato: colori e tempi invariati.
 * Struttura comune: .gna-intro fisso a tutto schermo, .is-leaving per il salto.
 */

html.intro-pending .gna-intro {
	overflow: hidden;
}

.gna-intro.is-leaving {
	opacity: 0;
	transition: opacity 350ms var(--ease);
}

/* Inchiostro che si posa da sinistra a destra (bordo sfumato). */
.gna-ink-write {
	-webkit-mask-image: linear-gradient(90deg, #000 47.3%, transparent 52.7%);
	mask-image: linear-gradient(90deg, #000 47.3%, transparent 52.7%);
	-webkit-mask-size: 220% 100%;
	mask-size: 220% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: 100% 0;
	mask-position: 100% 0;
}

@keyframes gna-ink-write {
	from { -webkit-mask-position: 100% 0; mask-position: 100% 0; }
	to { -webkit-mask-position: 0% 0; mask-position: 0% 0; }
}

/* --- Obiettivo ------------------------------------------------------ */

/* I colori dell'ingresso restano quelli approvati (anche il filo rosa del diaframma). */
.gna-intro--obiettivo {
	--ink: #141414;
	--on-dark: #F6F1EA;
	--rose: #E7A8B8;
}

.gna-intro--obiettivo {
	background: var(--ink);
}

.gna-intro--obiettivo.is-through {
	background: transparent;
}

.gna-iris__photo {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	visibility: hidden;
}

.gna-intro--obiettivo.is-built .gna-iris__photo {
	visibility: visible;
}

.gna-intro--obiettivo.is-through .gna-iris__photo {
	visibility: hidden;
}

.gna-iris__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 52% 70%;
	transform: scale(1.16);
	filter: blur(12px);
}

.gna-intro--obiettivo.is-open .gna-iris__photo img {
	transform: none;
	filter: none;
	transition: transform 2300ms var(--ease), filter 1400ms var(--ease);
}

.gna-iris__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(20, 20, 20, .6), rgba(20, 20, 20, 0) 46%);
}

.gna-iris {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
}

.gna-iris__edge {
	stroke: rgba(246, 241, 234, .16);
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}

.gna-iris__ring {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 3;
	width: min(22vmin, 160px);
	height: min(22vmin, 160px);
	overflow: visible;
	transform: translate(-50%, -50%);
}

.gna-iris__ring circle {
	fill: none;
	stroke: var(--rose);
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation: gna-dash 900ms var(--ease) 120ms forwards;
}

@keyframes gna-dash {
	to { stroke-dashoffset: 0; }
}

.gna-intro--obiettivo.is-open .gna-iris__ring {
	opacity: 0;
	transform: translate(-50%, -50%) scale(5);
	transition: transform 1400ms var(--ease), opacity 800ms var(--ease) 200ms;
}

.gna-iris__sign {
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(14vh + env(safe-area-inset-bottom, 0px));
	z-index: 3;
	width: min(64vw, 440px);
	margin: 0 auto;
}

.gna-iris__sign img {
	display: block;
	width: 100%;
	height: auto;
}

.gna-iris__sign img + img {
	position: absolute;
	inset: 0;
	opacity: 0;
}

.gna-intro--obiettivo.is-sign .gna-iris__sign {
	animation: gna-ink-write 950ms cubic-bezier(.6, .05, .3, 1) forwards;
}

.gna-iris__sign.is-flying img + img {
	opacity: 1;
	transition: opacity 450ms var(--ease) 200ms;
}

.gna-intro--obiettivo .gna-intro__skip {
	color: var(--on-dark);
	border-color: rgba(246, 241, 234, .42);
}

.gna-intro--obiettivo.is-through .gna-intro__skip {
	opacity: 0;
	transition: opacity 250ms var(--ease);
}

/* --- Otturatore (attivo) ------------------------------------------- */
/* Stessi colori dell'ingresso Obiettivo; nessun pulsante, uscita automatica. */

.gna-intro--otturatore {
	--ink: #141414;
	--on-dark: #F6F1EA;
	--rose: #E7A8B8;
}

.gna-intro.is-sign .gna-iris__sign {
	animation: gna-ink-write 950ms cubic-bezier(.6, .05, .3, 1) forwards;
}

.gna-iris__sign--above {
	top: calc(50% - min(15.8vw, 109px) - 36px);
	bottom: auto;
}

.gna-shut {
	position: absolute;
	left: 0;
	right: 0;
	height: 50.5%;
	background: var(--ink);
	transition: transform 1100ms cubic-bezier(.7, 0, .2, 1);
}

.gna-shut--top { top: 0; }
.gna-shut--bot { bottom: 0; }
.gna-intro--otturatore.is-through .gna-shut--top { transform: translateY(-101%); }
.gna-intro--otturatore.is-through .gna-shut--bot { transform: translateY(101%); }

.gna-shut__line {
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	z-index: 2;
	height: 1px;
	background: var(--rose);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 700ms var(--ease);
}

.gna-intro--otturatore.is-line .gna-shut__line { transform: scaleX(1); }
.gna-intro--otturatore.is-through .gna-shut__line { opacity: 0; transition: opacity 300ms var(--ease); }

/* --- Firma su rosa (ottobre 2026): coda, firma, rullo ---------------- */
/*
 * La composizione del video di riferimento: fondo rosa cipria, «SINCE 2014»,
 * la firma color prugna, un filo rosa, «MILANO — ROMA — NAPOLI» in maiuscoletto.
 * Proporzioni prese dal video (1920 px): tutto scala con --S, la larghezza
 * della firma. Le righe salgono nelle loro finestre come titoli di coda.
 */
.gna-intro--blush {
	--blush: #F8E8EC;
	--plum: #23070B;
	--plum-2: #2B1015;
	--petal: #D99AAE;
	--S: min(39.4vw, 820px);
	--credits: cubic-bezier(.33, .02, .12, 1);
	background: transparent;
}

.gna-blush__bg {
	position: absolute;
	inset: 0;
	background: var(--blush);
}

.gna-blush__stage {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
}

.gna-blush__card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.gna-blush__m {
	display: block;
	overflow: hidden;
}

.gna-blush__r {
	display: block;
}

body.gna-bianco .gna-blush__since {
	margin: 0 0 calc(var(--S) * .03);
	font: 400 clamp(10px, calc(var(--S) * .0205), 17px)/1.2 var(--sans);
	letter-spacing: .27em;
	text-indent: .27em;   /* compensa la spaziatura dopo l'ultima lettera: resta centrato */
	color: var(--bordeaux);   /* v2.11.14: bordeaux del sito (prima rosa cipria #DDA6B7) */
}

.gna-blush__sign {
	position: relative;
	width: var(--S);
	aspect-ratio: 2048 / 507;
}

.gna-blush__m--sign {
	width: 100%;
	height: 100%;
}

.gna-blush__ink {
	width: 100%;
	height: 100%;
}

.gna-blush__ink img {
	display: block;
	width: 100%;
	height: 100%;
}

.gna-blush__line {
	display: block;
	width: calc(var(--S) * .337);
	height: 1px;
	margin: calc(var(--S) * .036) 0 calc(var(--S) * .036);
	/* v2.11.19: bordeaux del sito, come «SINCE 2013» (prima rosa cipria 217, 154, 174). */
	background: linear-gradient(90deg, rgba(110, 36, 51, 0), rgba(110, 36, 51, .9) 50%, rgba(110, 36, 51, 0));
}

body.gna-bianco .gna-blush__cities {
	display: flex;
	align-items: center;
	margin: 0;
	font: 500 clamp(12px, calc(var(--S) * .0273), 22px)/1.3 "Cormorant Garamond", "Instrument Serif", Georgia, serif;
	letter-spacing: .385em;
	color: var(--plum-2);
}

.gna-blush__cities .gna-blush__m {
	display: inline-block;
	margin-right: -.385em;   /* niente spaziatura dopo l'ultima lettera */
	padding-bottom: .08em;
}

.gna-blush__dash {
	display: inline-block;
	margin: 0 1.2em;
	letter-spacing: 0;
	color: #E4B3C2;
}

@media (max-width: 699px) {
	.gna-intro--blush {
		--S: 80vw;
	}

	body.gna-bianco .gna-blush__since {
		font-size: 10px;
	}

	body.gna-bianco .gna-blush__cities {
		font-size: 13px;
		letter-spacing: .26em;
	}

	.gna-blush__dash {
		margin: 0 .7em;
	}
}

/* Stato iniziale comune: le righe aspettano sotto le loro finestre. */
html.motion .gna-intro--coda .gna-blush__r,
html.motion .gna-intro--rullo .gna-blush__r {
	transform: translateY(108%);
}

html.motion .gna-intro--blush .gna-blush__line {
	transform: scaleX(0);
}

html.motion .gna-intro--blush .gna-blush__dash {
	opacity: 0;
}

/* --- 1 · Coda: ogni riga sale nella sua finestra, poi il rosa si alza --- */
html.motion .gna-intro--coda.is-in .gna-blush__r {
	transform: none;
	transition: transform 1150ms var(--credits);
}

html.motion .gna-intro--coda.is-in .gna-blush__since .gna-blush__r { transition-delay: 120ms; }
html.motion .gna-intro--coda.is-in .gna-blush__ink { transition-duration: 1500ms; transition-delay: 380ms; }
html.motion .gna-intro--coda.is-in .gna-blush__cities .gna-blush__r { transition-delay: calc(1350ms + var(--c, 0) * 140ms); }

html.motion .gna-intro--coda.is-in .gna-blush__line {
	transform: none;
	transition: transform 1000ms var(--credits) 1150ms;
}

html.motion .gna-intro--coda.is-in .gna-blush__dash {
	opacity: 1;
	transition: opacity 600ms var(--ease) calc(1450ms + var(--c, 0) * 140ms);
}

html.motion .gna-intro--coda.is-out .gna-blush__card {
	transform: translateY(-34vh);
	opacity: 0;
	transition: transform 1150ms cubic-bezier(.6, 0, .35, 1), opacity 800ms var(--ease) 250ms;
}

html.motion .gna-intro--coda.is-out .gna-blush__bg {
	transform: translateY(-101%);
	transition: transform 1250ms cubic-bezier(.7, 0, .2, 1) 80ms;
}

/* --- 2 · Firma: affiora come nel video, poi atterra nel logo dell'header - */
html.motion .gna-intro--firma .gna-blush__since,
html.motion .gna-intro--firma .gna-blush__cities .gna-blush__r {
	opacity: 0;
	transform: translateY(8px);
}

html.motion .gna-intro--firma .gna-blush__ink {
	opacity: 0;
	filter: blur(7px);
	transform: translateY(14px) scale(.985);
}

html.motion .gna-intro--firma.is-in .gna-blush__since {
	opacity: 1;
	transform: none;
	transition: opacity 900ms var(--ease) 120ms, transform 1100ms var(--credits) 120ms;
}

html.motion .gna-intro--firma.is-in .gna-blush__ink {
	opacity: 1;
	filter: none;
	transform: none;
	transition: opacity 1100ms var(--ease) 330ms, filter 1300ms var(--ease) 330ms, transform 1600ms var(--credits) 330ms;
}

html.motion .gna-intro--firma.is-in .gna-blush__line {
	transform: none;
	transition: transform 1000ms var(--credits) 1150ms;
}

html.motion .gna-intro--firma.is-in .gna-blush__cities .gna-blush__r {
	opacity: 1;
	transform: none;
	transition: opacity 800ms var(--ease) calc(1300ms + var(--c, 0) * 130ms), transform 1000ms var(--credits) calc(1300ms + var(--c, 0) * 130ms);
}

html.motion .gna-intro--firma.is-in .gna-blush__dash {
	opacity: 1;
	transition: opacity 700ms var(--ease) calc(1400ms + var(--c, 0) * 130ms);
}

html.motion .gna-intro--firma.is-out :is(.gna-blush__since, .gna-blush__line, .gna-blush__cities) {
	opacity: 0;
	transition: opacity 380ms var(--ease);
}

/* Il rosa si ritira in un cerchio dentro il logo dell'header, dove atterra la firma. */
.gna-intro--firma .gna-blush__bg {
	clip-path: circle(150vmax at var(--lx, 50%) var(--ly, 50%));
}

html.motion .gna-intro--firma.is-out .gna-blush__bg {
	clip-path: circle(0px at var(--lx, 50%) var(--ly, 50%));
	transition: clip-path 1150ms cubic-bezier(.7, 0, .25, 1) 60ms;
}

/* --- 3 · Rullo (approvato): su bianco, la composizione scorre dal basso e si ferma al centro --- */
.gna-intro--rullo {
	--blush: #FFFFFF;   /* fondo bianco, come il sito (scelta del committente) */
}

.gna-intro--rullo .gna-blush__stage {
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0, #000 22%, #000 78%, transparent 100%);
}

html.motion .gna-intro--rullo .gna-blush__card {
	transform: translateY(62vh);
}

html.motion .gna-intro--rullo .gna-blush__r {
	transform: none;   /* qui scorre l'intera composizione, non le singole righe */
}

html.motion .gna-intro--rullo.is-in .gna-blush__card {
	transform: none;
	transition: transform 2600ms cubic-bezier(.12, .62, .16, 1);
}

html.motion .gna-intro--rullo.is-in .gna-blush__line {
	transform: none;
	transition: transform 900ms var(--credits) 1900ms;
}

html.motion .gna-intro--rullo.is-in .gna-blush__dash {
	opacity: 1;
	transition: opacity 600ms var(--ease) 900ms;
}

html.motion .gna-intro--rullo.is-out .gna-blush__card {
	transform: translateY(-46vh);
	opacity: 0;
	transition: transform 1100ms cubic-bezier(.5, 0, .75, .35), opacity 520ms var(--ease) 380ms;
}

/* Uscita: i titoli ripartono verso l'alto, poi il rosa si apre in due dal
   centro, come l'otturatore (le due metà sono ::before e ::after). */
.gna-intro--rullo .gna-blush__bg {
	background: transparent;
}

.gna-intro--rullo .gna-blush__bg::before,
.gna-intro--rullo .gna-blush__bg::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 50.5%;
	background: var(--blush);
}

.gna-intro--rullo .gna-blush__bg::before { top: 0; }
.gna-intro--rullo .gna-blush__bg::after { bottom: 0; }

html.motion .gna-intro--rullo.is-out .gna-blush__bg::before {
	transform: translateY(-101%);
	transition: transform 1150ms cubic-bezier(.7, 0, .2, 1) 580ms;
}

html.motion .gna-intro--rullo.is-out .gna-blush__bg::after {
	transform: translateY(101%);
	transition: transform 1150ms cubic-bezier(.7, 0, .2, 1) 580ms;
}

/* La firma che vola nell'header non deve portarsi dietro sfocature o maschere. */
.gna-intro--blush .gna-blush__sign.is-flying .gna-blush__m {
	overflow: visible;
}

/* ---------------------------------------------------------- transizione */

.gna-transition {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 4000;
	height: 2px;
	pointer-events: none;
}

.gna-transition span {
	display: block;
	height: 100%;
	background: var(--ink);
	transform: scaleX(0);
	transform-origin: left;
}

/* ------------------------------------- schermata di caricamento (v2.11.7) */
/* Tra una pagina e l'altra: la composizione dell'ingresso su bianco. Al clic
   compare (html.gna-out), la pagina nuova parte coperta (html.gna-in) e poi la
   schermata si apre in due come l'ingresso «Rullo» (html.gna-in-open). */
.gna-loader {
	--S: min(30vw, 520px);
	--petal: 110, 36, 51;   /* v2.11.19: filo in bordeaux (#6E2433), come «SINCE 2013»; prima rosa cipria 217, 154, 174 */
	display: none;
}

html.gna-out .gna-loader,
html.gna-in .gna-loader {
	position: fixed;
	inset: 0;
	z-index: 6000;
	display: grid;
	place-items: center;
	/* v2.11.22: copre sempre tutto lo schermo, anche quando sul telefono la
	   barra del browser compare o sparisce durante il cambio di pagina (prima
	   in basso restava una fascia della pagina, e la firma saltava). */
	bottom: auto;
	height: 100vh;
	height: 100lvh;
	background: #FFFFFF;
}

/* v2.11.22: lo sfondo sta fuori dalla griglia, così la firma è davvero al
   centro dello schermo (prima la griglia aveva due righe e la firma finiva
   sotto il centro). */
.gna-loader__bg {
	position: absolute;
	inset: 0;
}

.gna-loader__bg::before,
.gna-loader__bg::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 50.5%;
	background: #FFFFFF;
}

.gna-loader__bg::before { top: 0; }
.gna-loader__bg::after { bottom: 0; }

.gna-loader__card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

body.gna-bianco .gna-loader__since {
	margin: 0 0 calc(var(--S) * .04);
	font: 400 clamp(10px, calc(var(--S) * .026), 15px)/1.2 var(--sans);
	letter-spacing: .27em;
	text-indent: .27em;
	color: var(--bordeaux);   /* v2.11.14: bordeaux del sito (prima rosa cipria #DDA6B7) */
}

.gna-loader__sign {
	display: block;
	width: var(--S);
	aspect-ratio: 1024 / 254;
	/* La firma è dentro il foglio di stile (assets/img/firma-caricamento.webp,
	   24 KB): il browser la ha già, quindi c'è dal primo istante anche nella
	   pagina nuova, senza aspettare il file grande della Libreria media. */
	background: url("data:image/webp;base64,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") center / contain no-repeat;
}

.gna-loader__line {
	position: relative;
	display: block;
	width: calc(var(--S) * .34);
	height: 1px;
	margin: calc(var(--S) * .045) 0;
	overflow: hidden;
	background: rgba(var(--petal), .22);
}

.gna-loader__line span {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(var(--petal), 0), rgba(var(--petal), .95) 50%, rgba(var(--petal), 0));
	animation: gna-loader-run 1.15s cubic-bezier(.45, 0, .2, 1) infinite;
}

body.gna-bianco .gna-loader__claim {
	margin: 0 -.385em 0 0;
	font: 500 clamp(11px, calc(var(--S) * .034), 18px)/1.3 "Cormorant Garamond", "Instrument Serif", Georgia, serif;
	letter-spacing: .385em;
	color: #2B1015;
}

@media (max-width: 699px) {
	.gna-loader {
		--S: 68vw;
	}

	body.gna-bianco .gna-loader__claim {
		font-size: 12px;
		letter-spacing: .26em;
	}
}

@keyframes gna-loader-run {
	from { transform: translateX(-100%); }
	to { transform: translateX(100%); }
}

@keyframes gna-loader-fade {
	from { opacity: 0; }
}

@keyframes gna-loader-rise {
	from { opacity: 0; transform: translateY(26px); }
}

@keyframes gna-loader-failsafe {
	to { visibility: hidden; }
}

/* Al clic: la schermata arriva in un attimo, la composizione sale. */
/* v2.11.9: il bianco arriva subito, senza il passaggio velato (la «pagina opaca»). */
html.gna-out .gna-loader {
	animation: none;
}

/* v2.11.10: la composizione c'è subito (niente attesa su bianco vuoto). */
html.gna-out .gna-loader__card {
	animation: none;
}

/* All'arrivo: già coperta; per sicurezza si toglie comunque dopo 6 s. */
html.gna-in .gna-loader {
	animation: gna-loader-failsafe 0s linear 6s forwards;
}

/* Apertura (v2.11.22): la schermata si dissolve tutta insieme e la pagina
   nuova compare intera. Prima il bianco si apriva in due dal centro e per un
   attimo si vedeva solo una striscia della pagina («il sito si distorce»). */
html.gna-in-open .gna-loader {
	pointer-events: none;
	opacity: 0;
	transition: opacity 560ms cubic-bezier(.4, 0, .2, 1) 80ms;
}

html.gna-in-open .gna-loader__card {
	opacity: 0;
	transform: translateY(-12px);
	transition: opacity 380ms cubic-bezier(.22, 1, .36, 1), transform 600ms cubic-bezier(.22, 1, .36, 1);
}

/* v2.11.3: tolta la dissolvenza in bianco all'uscita dalla pagina (html.is-leaving). */

/* v2.11.4: tra una pagina e l'altra resta visibile quella di prima finché la
   nuova non è pronta (inc/setup.php), poi un cambio rapido senza bianco. */
/* v2.11.22: tolta la dissolvenza automatica del browser tra una pagina e
   l'altra (@view-transition, v2.11.4). Sui telefoni, se la barra del browser
   cambiava altezza, il browser stirava le due «foto» delle pagine e il sito
   sembrava distorcersi; ora il passaggio lo fa solo la schermata di caricamento. */
@view-transition {
	navigation: none;
}

html.motion.is-entering .gna-transition span {
	transform: scaleX(1);
	transform-origin: right;
	animation: gna-unline 500ms var(--ease) forwards;
}

@keyframes gna-unline {
	to { transform: scaleX(0); }
}

/* ---------------------------------------------------- testata interna */

.gna-pagehead {
	padding-block: clamp(36px, 7vw, 96px) clamp(24px, 4vw, 48px);
	border-bottom: 1px solid var(--line);
}

.gna-pagehead__title {
	margin: 0;
	font: 400 clamp(2.6rem, 8vw, 6.2rem)/.95 var(--serif);
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.gna-crumbs {
	margin-bottom: 18px;
	font: 500 12px/1.5 var(--sans);
	letter-spacing: .04em;
	color: var(--ink-mute);
}

.gna-crumbs a {
	color: var(--ink-soft) !important;
	text-decoration: none !important;
}

.gna-crumbs a:hover {
	text-decoration: underline !important;
}

/* ================================================================ HERO */
/*
 * Prima schermata (v2.3): campo nero con carosello di tre fotografie in
 * dissolvenza. Desktop: foto a destra che sfumano nel nero, testo a sinistra
 * su fondo scuro. Sotto i 1080 px: foto a tutta pagina, testo in basso su
 * una sfumatura scura. Altezza fissa dalla prima frazione di secondo:
 * nessuno spostamento del layout mentre le immagini si caricano.
 */

.gna-hero {
	position: relative;
}

.gna-hero--dark {
	overflow: hidden;
	background: var(--ink);
	color: var(--on-dark);
}

/* La homepage parte subito sotto l'header: niente margine del wrapper di Colibro. */
body.gna-bianco main#main.gna-main:has(> .gna-home),
body.gna-bianco.home main#main.gna-main {
	padding-top: 0;
	padding-bottom: 0;
}

/* v2.11.3: pagine interne nuove — niente striscia bianca tra l'ultima sezione
   (spesso scura, «Servizi») e il footer: il margine di Colibro sotto il
   contenuto si toglie; lo spazio bianco lo danno già le sezioni. */
body.gna-bianco.gna-pg-on main#main.gna-main {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* v2.11.7: in ogni pagina il footer segue il contenuto senza margini. */
body.gna-bianco footer.gna-footer {
	margin-top: 0 !important;
}

/* --- carosello -------------------------------------------------------- */
.gna-hero__slides {
	--hs: min(118vw, 64svh);     /* altezza della fascia fotografica sotto i 1080 px */
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: var(--hs);
	z-index: 0;
}

.gna-hero__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	overflow: hidden;
	opacity: 0;
	transition: opacity 1600ms cubic-bezier(.45, 0, .2, 1);
}

.gna-hero__slide.is-active {
	opacity: 1;
}

.gna-hero__slide img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: var(--pos-m, 50% 30%);
	transform: scale(1.06);
	transform-origin: 50% 35%;
	transition: transform 9000ms linear;
	will-change: transform, opacity;
}

body.gna-bianco .gna-hero .gna-hero__slide img {
	filter: grayscale(1) contrast(1.06) brightness(.94);
}

.gna-hero__slide.is-active img {
	transform: scale(1);
}

.gna-hero__shade {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(10, 10, 10, .55) 0%, rgba(10, 10, 10, 0) 22%, rgba(10, 10, 10, 0) 58%, rgba(10, 10, 10, .75) 82%, #0A0A0A 100%);
}

/* --- contenuto -------------------------------------------------------- */
.gna-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 22px var(--gutter) 0;
}

.gna-hero__kicker {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 28px;
	margin: 0 0 auto;
	font: 600 11px/1.6 var(--sans);
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--on-dark);
}

.gna-hero__kicker span + span::before {
	content: "";
	display: inline-block;
	width: 28px;
	height: 1px;
	margin: 0 20px 0 -8px;
	vertical-align: middle;
	background: currentColor;
}

body.gna-bianco .gna-hero__title {
	position: relative;
	/* il titolo entra nella parte bassa della foto, già sfumata nel nero */
	margin: calc(min(118vw, 64svh) - 150px) 0 22px;
	font-family: var(--serif);
	font-size: clamp(34px, 11.8vw, 112px);   /* v2.6.1: «Il tuo prossimo livello.» su una riga anche a 320px (prima 13.4vw, min 50px) */
	font-weight: 400;
	line-height: .92;
	letter-spacing: -.022em;
	color: var(--on-dark);
}

.gna-hero__line {
	display: block;
	overflow: hidden;
	/* v2.11.13: la finestra di ogni riga (serve alla salita del titolo) scende
	   quanto la coda di g e p (0,22 em sotto la riga in Instrument Serif):
	   prima tagliava la «g» di «strategia». Il margine negativo uguale lascia
	   le righe dove sono. */
	padding-bottom: .16em;
	margin-bottom: -.16em;
	/* v2.11.17: anche a sinistra, per l'attacco della «I» corsiva e della «Y». */
	padding-left: .12em;
	margin-left: -.12em;
}

/* v2.6.1: il corsivo parte dallo stesso punto delle righe sopra (prima rientrava).
   v2.11.17: stessa finestra a sinistra delle altre righe (il testo non si sposta). */
.gna-hero__line--em {
	padding-left: .12em;
}

.gna-hero__line em {
	font-style: italic;
	letter-spacing: -.03em;
}

.gna-hero__roll {
	display: block;
}

.gna-hero__lede {
	display: grid;
	gap: 24px;
}

.gna-hero__sub {
	max-width: 44ch;
	margin: 0;
	font: 400 clamp(16.5px, 1.2vw, 20px)/1.55 var(--sans);
	color: rgba(255, 255, 255, .8);
}

.gna-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.gna-hero__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 28px;
	min-height: 64px;
	margin-top: 32px;
	border-top: 1px solid rgba(255, 255, 255, .24);
}

.gna-hero__cities {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 16px;
	margin: 0;
	font: 400 clamp(1.25rem, 1.5vw, 1.6rem)/1 var(--serif);
	color: var(--on-dark);
}

.gna-hero__dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: currentColor;
}

/* Indicatori del carosello: tre fili, quello attivo si riempie col tempo. */
.gna-hero__dots {
	display: flex;
	gap: 6px;
	margin-left: auto;
}

body.gna-bianco button.gna-hero__ind {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 52px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent !important;
	cursor: pointer;
}

.gna-hero__ind span {
	position: relative;
	display: block;
	width: 100%;
	height: 1px;
	overflow: hidden;
	background: rgba(255, 255, 255, .32);
}

.gna-hero__ind span::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--on-dark);
	transform: scaleX(0);
	transform-origin: left;
}

.gna-hero__ind.is-active span::after {
	transform: scaleX(1);
}

html.motion .gna-hero.is-playing .gna-hero__ind.is-active span::after {
	animation: gna-ind var(--hero-int, 6500ms) linear both;
}

@keyframes gna-ind {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

.gna-hero__scroll {
	display: none;
	align-items: center;
	gap: 14px;
	min-height: 44px;
	font: 600 11.5px/1 var(--sans);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--on-dark) !important;
	text-decoration: none !important;
}

.gna-hero__scroll-line {
	position: relative;
	width: 1px;
	height: 34px;
	overflow: hidden;
	background: rgba(255, 255, 255, .25);
}

.gna-hero__scroll-line::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--on-dark);
	transform: translateY(-100%);
}

html.motion .gna-hero__scroll-line::after {
	animation: gna-scroll-cue 2.4s var(--ease) 2.6s infinite;
}

@keyframes gna-scroll-cue {
	0% { transform: translateY(-100%); }
	45% { transform: none; }
	100% { transform: translateY(100%); }
}

body.gna-bianco .gna-hero .gna-btn--light:hover {
	background: var(--on-dark);
	color: var(--ink) !important;
}

/* Tablet: un po' più di aria, titolo più grande. */
@media (min-width: 700px) and (max-width: 1079px) {
	.gna-hero__slides {
		height: min(84vw, 62svh);
	}

	.gna-hero__inner {
		padding-top: 36px;
	}

	body.gna-bianco .gna-hero__title {
		margin-top: calc(min(84vw, 62svh) - 250px);
		font-size: clamp(72px, 11vw, 112px);
	}
}

/* Smartphone: pulsanti a tutta larghezza, kicker su due righe. */
@media (max-width: 699px) {
	.gna-hero__kicker {
		display: grid;
		gap: 2px;
		letter-spacing: .2em;
	}

	.gna-hero__kicker span + span::before {
		display: none;
	}

	.gna-hero__line--em {
		padding-left: .12em;   /* v2.11.17: finestra a sinistra, testo fermo */
	}

	.gna-hero__ctas {
		flex-direction: column;
	}

	.gna-hero__ctas .gna-btn {
		width: 100%;
	}

	.gna-hero__foot {
		margin-top: 28px;
		padding-bottom: 6px;
	}
}

/* Desktop: foto a destra che sfumano nel nero, testo a sinistra. */
@media (min-width: 1080px) {
	.gna-hero__slides {
		left: max(34%, calc(100% - 1180px));
		height: auto;
		bottom: 0;
	}

	.gna-hero__slide img {
		object-position: var(--pos, 50% 30%);
	}

	.gna-hero__shade {
		background:
			linear-gradient(90deg, #0A0A0A 0%, rgba(10, 10, 10, .9) 10%, rgba(10, 10, 10, .45) 34%, rgba(10, 10, 10, .08) 62%, rgba(10, 10, 10, .18) 100%),
			linear-gradient(0deg, rgba(10, 10, 10, .85) 0%, rgba(10, 10, 10, 0) 26%),
			linear-gradient(180deg, rgba(10, 10, 10, .35) 0%, rgba(10, 10, 10, 0) 18%);
	}

	.gna-hero__inner {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		grid-template-rows: auto 1fr auto auto;
		column-gap: clamp(16px, 1.8vw, 32px);
		min-height: min(calc(100svh - var(--hh)), 1080px);
		padding-top: clamp(20px, 3.4vh, 44px);
	}

	.gna-hero__kicker {
		grid-column: 1 / 9;
		grid-row: 1;
		margin: 0;
		font-size: 12px;
		letter-spacing: .26em;
	}

	body.gna-bianco .gna-hero__title {
		grid-column: 1 / 9;
		grid-row: 2;
		align-self: center;
		margin: clamp(20px, 4vh, 56px) 0 clamp(20px, 3.5vh, 44px);
		font-size: clamp(60px, min(7.4vw, 11.6vh), 150px);
		line-height: 1;   /* v2.11.13: righe un po' più distanziate (prima .9), come «Le idee migliori…» */
	}

	.gna-hero__lede {
		grid-column: 1 / 8;
		grid-row: 3;
		padding-bottom: clamp(28px, 5vh, 56px);
	}

	.gna-hero__ctas .gna-btn {
		padding-inline: 26px;
	}

	.gna-hero__foot {
		grid-column: 1 / 13;
		grid-row: 4;
		flex-wrap: nowrap;
		margin-top: 0;
	}

	.gna-hero__scroll {
		display: inline-flex;
	}

	.gna-hero__dots {
		margin-left: auto;
		margin-right: 28px;
	}
}

@media (min-width: 1080px) and (max-width: 1399px) {
	.gna-hero__ctas .gna-btn {
		padding-inline: 20px;
		font-size: 11.5px;
		letter-spacing: .13em;
	}
}

/* Fotografie editoriali in bianco e nero, nel ritaglio: i file restano quelli originali.
   (Le copertine dei prodotti nello shop mantengono i loro colori.) */
body.gna-bianco :is(.gna-hero, .gna-locs, .gna-services, .gna-method, .gna-place, .gna-training, .gna-closing, .gna-quote) img {
	filter: grayscale(1) contrast(1.04);
}

/* Cornici fotografiche (sezioni più in basso) */
.gna-frame {
	position: relative;
	display: block;
	padding: clamp(8px, 1.3vw, 18px);
	background: var(--white);
	border: 1px solid var(--line);
}

.gna-frame__stage {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--ivory-2);
}

.gna-frame__stage img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* =============================================================== SEDI */

.gna-locs {
	padding-top: clamp(64px, 8vw, 128px);
}

.gna-locs__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 40px;
	margin-bottom: clamp(28px, 4vw, 48px);
}

.gna-locs__title {
	max-width: 22ch;
}

.gna-rail {
	position: relative;
}

.gna-rail__track {
	display: flex;
	margin: 0;
	padding: 0 var(--gutter);
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: var(--gutter);
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

@media (min-width: 1500px) {
	.gna-rail__track {
		padding-inline: calc((100vw - var(--maxw)) / 2 + var(--gutter));
		scroll-padding-inline: calc((100vw - var(--maxw)) / 2 + var(--gutter));
	}
}

.gna-rail__track::-webkit-scrollbar {
	display: none;
}

.gna-rail__track > li {
	scroll-snap-align: start;
	flex: none;
}

.gna-rail.is-dragging .gna-rail__track {
	scroll-snap-type: none;
	cursor: grabbing;
	user-select: none;
}

@media (hover: hover) and (pointer: fine) {
	.gna-rail__track {
		cursor: grab;
	}
}

.gna-rail__progress {
	height: 1px;
	margin: 28px var(--gutter) 0;
	background: var(--line);
	max-width: calc(var(--maxw) - 2 * var(--gutter));
}

@media (min-width: 1500px) {
	.gna-rail__progress {
		margin-inline: auto;
	}
}

.gna-rail__progress span {
	display: block;
	height: 100%;
	width: 100%;
	background: var(--ink);
	transform: scaleX(var(--p, .2));
	transform-origin: left;
	transition: transform 120ms linear;
}

@media (max-width: 699px) {
	/* Sedi su smartphone: le tre città una sotto l'altra, separate da un filo. */
	.gna-locs__rail {
		padding-inline: var(--gutter);
	}

	body.gna-bianco .gna-locs__list {
		display: grid;
		padding: 0;
		overflow: visible;
	}

	body.gna-bianco .gna-locs__list .gna-loc {
		width: auto;
		padding: 26px 0;
		border-left: 0;
		border-top: 1px solid var(--line);
	}

	body.gna-bianco .gna-locs__list .gna-loc:first-child {
		padding-top: 0;
		border-top: 0;
	}

	.gna-locs__rail .gna-rail__progress {
		display: none;
	}
}

@media (min-width: 700px) {
	/* Sedi: Milano, Napoli e Roma su tre colonne dentro la griglia della
	   pagina, niente carosello che esce dal bordo destro. */
	.gna-locs__rail {
		max-width: var(--maxw);
		margin-inline: auto;
		padding-inline: var(--gutter);
	}

	body.gna-bianco .gna-locs__list {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 48px;
		padding: 0;
		overflow: visible;
		cursor: auto;
	}

	.gna-locs__rail .gna-rail__progress {
		display: none;
	}

	body.gna-bianco .gna-locs__list .gna-loc {
		width: auto;
		padding-left: clamp(20px, 3vw, 56px);
		border-left: 1px solid var(--line);
	}

	body.gna-bianco .gna-locs__list .gna-loc:first-child {
		padding-left: 0;
		border-left: 0;
	}
}

.gna-loc {
	width: min(80vw, 400px);
	margin: 0;
	padding: 8px clamp(20px, 2.6vw, 36px) 8px;
	border-left: 1px solid var(--line);
}

.gna-loc:first-child {
	padding-left: 0;
	border-left: 0;
}

.gna-loc__year {
	margin: 0 0 8px;
	font: 500 12px/1 var(--sans);
	letter-spacing: .18em;
	color: var(--ink-mute);
	font-variant-numeric: tabular-nums;
}

.gna-loc__city {
	margin: 0;
	font: 400 clamp(3rem, 5.8vw, 6rem)/.95 var(--serif);
	letter-spacing: -0.02em;
}

.gna-loc__area {
	margin: 10px 0 0;
	font: 600 11px/1.3 var(--sans);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.gna-loc__addr {
	margin: 8px 0 0;
	font: 400 15px/1.4 var(--sans);
	font-style: normal;
	letter-spacing: .01em;
	color: var(--ink);
}

.gna-loc__text {
	margin: 18px 0 0;
	max-width: 34ch;
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink-soft);
}

/* ============================== PRESENTI OVUNQUE (v2.11.3) */
/* Al posto delle sedi: solo il riferimento al fatto che l'agenzia lavora ovunque. */

.gna-pres {
	padding-top: clamp(64px, 8vw, 128px);
}

.gna-pres__grid {
	display: grid;
	gap: 22px;
}

.gna-pres__title {
	max-width: 14ch;
	font-size: clamp(2.4rem, 5.6vw, 5.6rem);
	line-height: .98;
}

.gna-pres__lead {
	max-width: 46ch;
	margin: 0 0 24px;
	font-size: 17px;
	line-height: 1.65;
	color: var(--ink-soft);
}

@media (min-width: 1080px) {
	.gna-pres__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: clamp(48px, 6vw, 120px);
		align-items: end;
	}

	.gna-pres__lead {
		margin-top: 0;
	}
}

/* ============================================== ITALIA (v2.11.0) */
/* «Siamo presenti in tutta Italia»: al posto delle sedi, la cartina con le
   20 regioni e i capoluoghi di provincia (template-parts/home/italia.php). */

.gna-it {
	padding-top: clamp(64px, 8vw, 128px);
}

.gna-it__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(28px, 4vw, 48px);
}

.gna-it__title {
	max-width: 16ch;
}

.gna-it__lead {
	max-width: 46ch;
	margin: clamp(18px, 2vw, 26px) 0 0;
	font-size: 17px;
	line-height: 1.65;
	color: var(--ink-soft);
}

.gna-it__count {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: clamp(22px, 2.6vw, 34px) 0 0;
	font: 600 11px/1.3 var(--sans);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.gna-it__count strong {
	margin-right: 6px;
	font: 400 clamp(2.4rem, 3.6vw, 3.4rem)/1 var(--serif);
	letter-spacing: -0.02em;
	text-transform: none;
	color: var(--ink);
	vertical-align: -0.12em;
}

.gna-it__sep {
	width: 1px;
	height: 28px;
	background: var(--line);
}

/* --- Cartina --- */
.gna-it__map {
	margin: 0;
	width: 100%;
	max-width: 560px;
	justify-self: center;
}

.gna-it__map svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.gna-it__shape {
	fill: #EDEDED;
	stroke: #FFFFFF;
	stroke-width: 1.6;
	stroke-linejoin: round;
	cursor: pointer;
	transition: fill .45s var(--ease);
}

.gna-it__shape:hover {
	fill: #E2E2E2;
}

.gna-it__shape.is-on {
	fill: rgba(110, 36, 51, .14);
}

.gna-it__dot {
	fill: var(--ink);
	transform-box: fill-box;
	transform-origin: center;
	transition: fill .35s var(--ease), opacity .35s var(--ease), transform .35s var(--ease);
	pointer-events: none;
}

.gna-it__map.has-pick .gna-it__dot {
	opacity: .22;
}

.gna-it__map.has-pick .gna-it__dot.is-on {
	opacity: 1;
	fill: var(--bordeaux);
	transform: scale(1.35);
}

/* I punti si accendono da nord a sud, una volta sola. */
html.motion .gna-it__map.will-light .gna-it__dot {
	opacity: 0;
	transform: scale(0);
}

html.motion .gna-it__map.is-lit .gna-it__dot {
	transition: opacity .5s var(--ease), transform .7s var(--ease), fill .35s var(--ease);
	transition-delay: calc(var(--n, 0) * 1300ms + 150ms);
}

html.motion .gna-it__map.is-done .gna-it__dot {
	transition-delay: 0s;
}

/* Sedi fisiche (v2.11.1): segnate con discrezione — stesso punto nero, anello
   sottile, nome piccolo e un'onda leggera che si allarga: punti di partenza,
   non gli unici luoghi in cui lavora l'agenzia. */
.gna-it__hq {
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 46ch;
	margin: 18px 0 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--ink-mute);
}

.gna-it__hq-mark {
	position: relative;
	flex: none;
	width: 16px;
	height: 16px;
	border: 1px solid var(--ink);
	border-radius: 50%;
}

.gna-it__hq-mark::after {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: 50%;
	background: var(--ink);
}

.gna-it__hqg {
	pointer-events: none;
	transition: opacity .35s var(--ease);
}

.gna-it__ring {
	fill: none;
	stroke: var(--ink);
	stroke-width: 1.2;
}

.gna-it__wave {
	fill: none;
	stroke: var(--ink);
	stroke-width: 1;
	opacity: 0;
	transform-box: fill-box;
	transform-origin: center;
}

.gna-it__name {
	fill: var(--ink-soft);
	font: 600 15px/1 var(--sans);
	letter-spacing: .12em;
	text-transform: uppercase;
	paint-order: stroke;
	stroke: #EDEDED;
	stroke-width: 4px;
	stroke-linejoin: round;
}

.gna-it__map.has-pick .gna-it__hqg {
	opacity: .3;
}

.gna-it__map.has-pick .gna-it__hqg.is-on {
	opacity: 1;
}

.gna-it__map.has-pick .gna-it__dot--hq.is-on {
	transform: none;
}

@keyframes gna-it-wave {
	0% { opacity: .45; transform: scale(1); }
	100% { opacity: 0; transform: scale(6); }
}

html.motion .gna-it__wave {
	animation: gna-it-wave 4.2s cubic-bezier(.2, .6, .35, 1) infinite;
}

html.motion .gna-it__hqg:nth-child(2) .gna-it__wave {
	animation-delay: 1.4s;
}

html.motion .gna-it__hqg:nth-child(3) .gna-it__wave {
	animation-delay: 2.8s;
}

html.motion .gna-it__map.will-light .gna-it__hqg {
	opacity: 0;
}

html.motion .gna-it__map.is-lit .gna-it__hqg {
	transition-delay: calc(var(--n, 0) * 1300ms + 400ms);
}

html.motion .gna-it__map.is-done .gna-it__hqg {
	transition-delay: 0s;
}

/* --- Regioni --- */
.gna-it__label {
	margin: 0 0 14px;
	font: 600 11px/1.3 var(--sans);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ink-mute);
}

body.gna-bianco .gna-it__regions {
	margin: 0;
	padding: 0;
	list-style: none;
	columns: 2;
	column-gap: 24px;
}

body.gna-bianco .gna-it__regions > .gna-it__reg {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
	break-inside: avoid;
}

body.gna-bianco .gna-it .gna-it__btn {
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 9px 0 9px 16px;
	position: relative;
	box-shadow: none;
	border: 0;
	border-bottom: 1px solid var(--line);
	border-radius: 0;
	background: none;
	color: var(--ink);
	font: 500 15px/1.35 var(--sans);
	text-align: left;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: color .3s var(--ease);
}

.gna-it__btn::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-radius: 50%;
	background: var(--ink);
	transition: background-color .3s var(--ease), transform .3s var(--ease);
}

body.gna-bianco .gna-it .gna-it__btn:hover,
body.gna-bianco .gna-it .gna-it__btn[aria-pressed="true"] {
	background: none;
	color: var(--bordeaux);
}

.gna-it__btn[aria-pressed="true"]::before {
	background: var(--bordeaux);
	transform: scale(1.5);
}

.gna-it__places {
	margin: 6px 0 12px 16px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--ink-soft);
}

html.js .gna-it__places {
	display: none;
}

.gna-it__detail {
	min-height: 5.2em;
	margin: 22px 0 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink-soft);
}

.gna-it__detail strong {
	display: block;
	margin-bottom: 4px;
	font: 400 clamp(1.6rem, 2.2vw, 2rem)/1.1 var(--serif);
	letter-spacing: -0.01em;
	color: var(--ink);
}

.gna-it__hint {
	color: var(--ink-mute);
}

.gna-it__more {
	margin-top: 8px;
}

html:not(.js) .gna-it__detail {
	display: none;
}

@media (min-width: 700px) {
	body.gna-bianco .gna-it__regions {
		columns: 3;
	}
}

@media (min-width: 1080px) {
	/* Testo e regioni a sinistra, cartina a destra. */
	.gna-it__grid {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		grid-template-rows: auto 1fr;
		column-gap: clamp(48px, 6vw, 120px);
		row-gap: clamp(36px, 4vw, 56px);
		align-items: start;
	}

	.gna-it__head {
		grid-column: 1;
		grid-row: 1;
	}

	.gna-it__pick {
		grid-column: 1;
		grid-row: 2;
	}

	.gna-it__map {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: center;
		max-width: 600px;
	}
}

/* ============================================================ SERVIZI */

.gna-services {
	border-top: 1px solid var(--line);
}

.gna-services__title {
	max-width: 17ch;
}

.gna-keys {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 0;
	margin: clamp(24px, 3vw, 40px) 0 0;
	padding: 0;
	list-style: none;
	font: 600 11px/1.4 var(--sans);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.gna-keys li {
	display: inline-flex;
	align-items: center;
}

body.gna-bianco .gna-keys li + li::before {
	content: "/";
	margin: 0 .9em;
	color: var(--ink);
}

.gna-group {
	margin-top: clamp(56px, 8vw, 128px);
	padding-top: clamp(18px, 2vw, 28px);
	border-top: 1px solid var(--line-strong);
}

.gna-group__head {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: clamp(20px, 3vw, 40px);
}

.gna-group__title {
	margin: 0;
	font: 400 clamp(2.4rem, 5.2vw, 4.4rem)/1 var(--serif);
	letter-spacing: -0.015em;
}

@media (min-width: 1080px) {
	.gna-group {
		display: grid;
		grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
		gap: 40px;
	}

	.gna-group__head {
		position: sticky;
		top: calc(var(--hh-s) + 32px);
		align-self: start;
		flex-direction: column;
		gap: 12px;
	}
}

.gna-cards {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gna-cards > li {
	margin: 0;
	min-width: 0;
}

@media (min-width: 700px) {
	.gna-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(28px, 3vw, 48px) clamp(20px, 2.4vw, 40px);
	}
}

.gna-card {
	position: relative;
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 16px;
	padding: 18px 0;
	border-bottom: 1px solid var(--line);
	transition: transform 600ms var(--ease);
}

.gna-cards > li:first-child .gna-card {
	padding-top: 0;
}

.gna-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: -1px;
	height: 1px;
	width: 100%;
	background: var(--bordeaux);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 600ms var(--ease);
	z-index: 1;
}

@media (min-width: 700px) {
	.gna-card {
		display: block;
		padding: 0;
		border-bottom: 0;
	}

	.gna-cards > li:first-child .gna-card {
		padding-top: 0;
	}
}

@media (hover: hover) {
	.gna-card:hover {
		transform: translateY(-8px);
	}

	.gna-card:hover::before {
		transform: scaleX(1);
	}

	.gna-card:hover .gna-card__media img {
		transform: scale(1.08);
		transition-duration: 6s;
	}

	.gna-card:hover .gna-card__cta .gna-i {
		transform: translateX(4px);
	}
}

.gna-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--ivory-2);
}

@media (min-width: 700px) {
	.gna-card__media {
		aspect-ratio: 3 / 2;
	}
}

/* v2.11.7: tablet (due colonne) con un numero dispari di servizi: l'ultimo
   prende tutta la riga, con la foto più bassa, così non resta un vuoto. */
@media (min-width: 700px) and (max-width: 1079px) {
	.gna-cards > li:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.gna-cards > li:last-child:nth-child(odd) .gna-card__media {
		aspect-ratio: 3 / 1;
	}
}

.gna-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--pos, 50% 50%);   /* v2.6.2: ritaglio per card (default: centro, come prima) */
	transition: transform 1200ms var(--ease);
}

.gna-card--type .gna-card__media {
	display: grid;
	place-items: center;
	background: var(--ivory-2);
	border: 1px solid var(--line);
}

.gna-card__glyph .gna-i {
	width: clamp(34px, 6vw, 72px);
	height: clamp(34px, 6vw, 72px);
	stroke-width: .9;
	color: var(--ink);
}

.gna-card__body {
	min-width: 0;
}

@media (min-width: 700px) {
	.gna-card__body {
		padding-top: 18px;
	}
}

.gna-card__icon {
	display: none;
	color: var(--ink);
}

@media (min-width: 700px) {
	.gna-card__icon {
		display: block;
		margin-bottom: 10px;
	}
}

.gna-card__title {
	margin: 0;
	font: 400 clamp(1.4rem, 2.2vw, 2rem)/1.08 var(--serif);
	letter-spacing: -0.005em;
}

.gna-card__link {
	color: var(--ink) !important;
	text-decoration: none !important;
}

.gna-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

.gna-card__kicker {
	margin: 8px 0 0;
	font: 600 11px/1.45 var(--sans);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink);
}

.gna-card__text {
	margin: 8px 0 0;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--ink-soft);
}

.gna-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	font: 600 11.5px/1.2 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink);
}

.gna-card__cta .gna-i {
	width: 14px;
	height: 14px;
	transition: transform var(--t2) var(--ease);
}

/* Servizi ordinati (desktop): testata con indice dei gruppi, gruppi a tutta
   larghezza, card tutte uguali; il servizio senza foto ha una tessera nera. */
.gna-services__nav {
	display: none;
}

.gna-card--type .gna-card__media {
	background: var(--ink);
	border: 0;
}

.gna-card--type .gna-card__glyph .gna-i {
	color: var(--white);
}

@media (min-width: 1080px) {
	.gna-services {
		padding-top: clamp(64px, 6vw, 96px);
	}

	.gna-services__head {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
		gap: 40px;
		padding-bottom: 28px;
		border-bottom: 1px solid var(--ink);
	}

	body.gna-bianco .gna-services__title {
		margin: 0;
	}

	.gna-services__nav {
		display: flex;
		gap: 36px;
		padding-bottom: 10px;
	}

	.gna-services__nav a {
		position: relative;
		display: inline-flex;
		align-items: baseline;
		gap: 10px;
		padding: 8px 0;
		font: 400 clamp(1.6rem, 1.9vw, 2.1rem)/1 var(--serif);
		color: var(--ink) !important;
		text-decoration: none !important;
	}

	.gna-services__nav a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 1px;
		background: var(--bordeaux);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform 400ms var(--ease);
	}

	.gna-services__nav a:hover::after {
		transform: scaleX(1);
	}

	.gna-group {
		display: block;
		margin-top: clamp(56px, 5vw, 80px);
		padding-top: 0;
		border-top: 0;
	}

	.gna-group__head {
		position: static;
		flex-direction: row;
		align-items: baseline;
		gap: 16px;
		margin-bottom: 28px;
		padding-bottom: 16px;
		border-bottom: 1px solid var(--line);
	}

	body.gna-bianco .gna-group__title {
		font-size: clamp(2.2rem, 3.2vw, 3rem);
	}

	/* Una sola griglia a 12 colonne per tutti i gruppi: 4 card per riga
	   (3 colonne ciascuna) o 3 per riga (4 colonne) quando sono 6. Le immagini
	   hanno la stessa altezza in tutti i gruppi e i link «Scopri» chiudono
	   ogni card alla stessa quota, così le righe restano allineate. */
	.gna-cards {
		--cg: clamp(24px, 2.2vw, 36px);
		container-type: inline-size;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: 64px var(--cg);
	}

	.gna-cards > li {
		grid-column: span 3;
		display: flex;
	}

	.gna-cards:has(> li:nth-child(5)) > li {
		grid-column: span 4;
	}

	/* v2.11.7: nessun vuoto quando i servizi non sono 4 o 6 (per esempio in
	   inglese «Strategy» ne ha 2 e «Presence» 5): ogni riga si riempie. */
	.gna-cards:has(> li:nth-child(2):last-child) > li {
		grid-column: span 6;
	}

	.gna-cards:has(> li:nth-child(3):last-child) > li {
		grid-column: span 4;
	}

	.gna-cards:has(> li:nth-child(5):last-child) > li:nth-child(n+4),
	.gna-cards:has(> li:nth-child(8):last-child) > li:nth-child(n+7) {
		grid-column: span 6;
	}

	.gna-cards:has(> li:nth-child(7):last-child) > li {
		grid-column: span 3;
	}

	.gna-cards:has(> li:nth-child(7):last-child) > li:nth-child(n+5) {
		grid-column: span 4;
	}

	body.gna-bianco .gna-cards .gna-card {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	body.gna-bianco .gna-cards .gna-card__media {
		aspect-ratio: auto;
		height: calc((100cqw - 3 * var(--cg)) / 4 * .75);
	}

	.gna-card__body {
		display: flex;
		flex: 1;
		flex-direction: column;
		align-items: flex-start;
	}

	.gna-card__cta {
		margin-top: auto;
		padding-top: 18px;
	}

	body.gna-bianco .gna-card__title {
		font-size: clamp(1.55rem, 1.75vw, 2.05rem);
	}

	.gna-card__text {
		font-size: 15.5px;
	}

	.gna-card__text {
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
}

/* ======================================================= METODO (scuro) */

.gna-dark {
	background: var(--ink);
	color: var(--on-dark);
}

.gna-method__intro {
	display: grid;
	gap: 28px;
}

@media (min-width: 1080px) {
	.gna-method__intro {
		grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
		align-items: end;
		gap: 64px;
	}
}

.gna-method .gna-h2 em {
	color: var(--on-dark);
}

.gna-method__aside {
	display: grid;
	gap: 22px;
	justify-items: start;
}

.gna-method__aside p {
	margin: 0;
	color: var(--on-dark-soft);
	font-size: 15.5px;
	line-height: 1.7;
}

.gna-steps {
	margin-top: clamp(56px, 8vw, 120px);
}

.gna-steps__title {
	margin: 0 0 22px;
	font: 600 11px/1.4 var(--sans);
	letter-spacing: .2em;
	color: var(--on-dark-soft);
}

.gna-steps__list {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--line-dark);
}

@media (min-width: 700px) {
	.gna-steps__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1080px) {
	.gna-steps__list {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

.gna-step {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	align-items: baseline;
	gap: 10px;
	margin: 0;
	padding: 18px 0;
	border-bottom: 1px solid var(--line-dark);
}

@media (min-width: 700px) {
	.gna-step {
		display: flex;
		flex-direction: column;
		gap: 22px;
		padding: 22px 20px 26px 0;
		border-bottom: 0;
	}

	.gna-step + .gna-step {
		padding-left: 20px;
		border-left: 1px solid var(--line-dark);
	}
}

@media (min-width: 700px) and (max-width: 1079px) {
	.gna-step:nth-child(4) {
		padding-left: 0;
		border-left: 0;
	}

	.gna-step:nth-child(-n+3) {
		border-bottom: 1px solid var(--line-dark);
	}
}

.gna-step__n {
	font: 400 clamp(2.2rem, 3.4vw, 3.2rem)/1 var(--serif);
	color: var(--on-dark-soft);
	font-variant-numeric: tabular-nums;
}

.gna-step__label {
	font: 500 15px/1.45 var(--sans);
}

.gna-steps__source {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 20px;
	margin-top: 22px;
	padding: 18px 0;
	border-top: 1px solid var(--line-dark);
	border-bottom: 1px solid var(--line-dark);
	color: var(--on-dark) !important;
	text-decoration: none !important;
}

.gna-steps__src-label {
	font: 400 clamp(1.4rem, 2.4vw, 2rem)/1.1 var(--serif);
}

.gna-steps__src-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 600 10.5px/1.2 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--on-dark);
}

.gna-steps__src-cta .gna-i {
	width: 14px;
	height: 14px;
	transition: transform var(--t2) var(--ease);
}

.gna-steps__source:hover .gna-i {
	transform: translateX(4px);
}

.gna-method__motto {
	margin: clamp(56px, 8vw, 120px) 0 0;
	max-width: 30ch;
	font: 400 clamp(1.9rem, 4.2vw, 3.6rem)/1.08 var(--serif);
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.gna-method__motto em {
	color: var(--on-dark-soft);
}

.gna-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: clamp(56px, 8vw, 120px) 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--line-dark);
}

@media (min-width: 900px) {
	.gna-stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.gna-stat {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 24px 16px 0 0;
}

.gna-stat + .gna-stat {
	padding-left: 16px;
	border-left: 1px solid var(--line-dark);
}

@media (max-width: 899px) {
	.gna-stat:nth-child(3) {
		padding-left: 0;
		border-left: 0;
	}

	.gna-stat:nth-child(n+3) {
		margin-top: 18px;
		border-top: 1px solid var(--line-dark);
	}
}

.gna-stat__n {
	font: 400 clamp(3.4rem, 9vw, 7.4rem)/.9 var(--serif);
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}

.gna-stat__l {
	font: 600 10.5px/1.4 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--on-dark-soft);
}

/* =============================================== SEI NEL POSTO GIUSTO */

.gna-place__grid {
	display: grid;
	gap: 40px;
}

@media (min-width: 1080px) {
	.gna-place__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		gap: clamp(48px, 6vw, 112px);
		align-items: start;
	}
}

.gna-place__text {
	display: grid;
	gap: 18px;
	justify-items: start;
}

.gna-place__text .gna-h2 {
	margin-bottom: 10px;
	font-size: clamp(2.35rem, 5vw, 4.4rem);
}

.gna-place__text p {
	margin: 0;
	max-width: 52ch;
	color: var(--ink-soft);
	font-size: 16.5px;
}

.gna-place__text .gna-btn {
	margin-top: 10px;
}

.gna-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 1080px) {
	.gna-chips {
		gap: 10px;
		padding-top: 14px;
	}
}

.gna-chip {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--paper);
	font: 500 14px/1.2 var(--sans);
	color: var(--ink);
	transition: border-color var(--t1) var(--ease), background-color var(--t1) var(--ease), transform var(--t2) var(--ease);
}

.gna-chip:hover {
	border-color: var(--ink);
	transform: translateY(-2px);
}

.gna-chip:last-child {
	border-style: dashed;
	background: transparent;
	color: var(--ink-soft);
}

/* ============================================================ REVIEWS */

.gna-reviews {
	border-top: 1px solid var(--line);
	padding-bottom: clamp(40px, 5vw, 72px);
}

.gna-reviews__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 22px;
	margin-bottom: clamp(24px, 3vw, 40px);
}

.gna-reviews__title {
	margin: 0;
	font: 400 clamp(2.6rem, 6vw, 5.4rem)/1 var(--serif);
}

.gna-stars {
	display: inline-flex;
	gap: 2px;
	margin: 0;
	color: var(--ink);
}

.gna-stars .gna-i {
	width: 14px;
	height: 14px;
}

.gna-stars--lg .gna-i {
	width: 20px;
	height: 20px;
}

.gna-rail__nav {
	display: flex;
	gap: 8px;
	margin-left: auto;
}

.gna-reviews__list {
	gap: clamp(12px, 1.4vw, 20px);
	align-items: stretch;
}

/* Schede alte uguali: il nome e la data chiudono sempre in basso. */
.gna-review {
	display: flex;
	flex-direction: column;
	gap: 18px;
	width: min(84vw, 380px);
	margin: 0;
	padding: 26px;
	background: var(--paper);
	border: 1px solid var(--line);
}

.gna-review__text {
	margin: 0;
	padding: 0;
	border: 0;
}

.gna-review__text p {
	margin: 0;
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ink);
	overflow-wrap: anywhere;
}

/* Sola valutazione, senza testo: le stelle diventano il contenuto. */
.gna-review--short > .gna-stars {
	flex: 1;
	align-items: center;
	gap: 6px;
}

.gna-review--short > .gna-stars .gna-i {
	width: 26px;
	height: 26px;
}

/* Recensioni di una riga: la frase in serif, più grande, come una citazione. */
.gna-review--brief .gna-review__text p {
	font: 400 clamp(1.5rem, 1.9vw, 1.9rem)/1.2 var(--serif);
}

html.js .gna-review__text p {
	display: -webkit-box;
	-webkit-line-clamp: 9;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

html.js .gna-review.is-open .gna-review__text p {
	display: block;
	-webkit-line-clamp: unset;
}

body.gna-bianco button.gna-review__more {
	justify-self: start;
	min-height: 44px;
	margin: -10px 0 -8px;
	padding: 0;
	border: 0;
	background-color: transparent !important;
	font: 600 10.5px/1.2 var(--sans);
	font-size: 10.5px !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: .35em;
}

.gna-review__more[hidden] {
	display: none;
}

.gna-review__by {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: auto 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--line);
}

.gna-review__mono {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--ivory-2);
	font: 400 16px/1 var(--serif);
	letter-spacing: .02em;
}

.gna-review__who {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.gna-review__who cite {
	font: 600 14px/1.3 var(--sans);
	font-style: normal;
}

.gna-review__date {
	font-size: 13px;
	color: var(--ink-mute);
}

@media (min-width: 1080px) {
	/* Su desktop il carosello resta dentro la griglia della pagina: tre
	   schede per volta, allineate ai margini di titoli e sezioni. */
	.gna-reviews__rail {
		max-width: var(--maxw);
		margin-inline: auto;
		padding-inline: var(--gutter);
	}

	body.gna-bianco .gna-reviews__list {
		--rg: clamp(16px, 1.6vw, 28px);
		gap: var(--rg);
		padding: 0;
		scroll-padding-inline: 0;
	}

	body.gna-bianco .gna-reviews__list > .gna-review {
		width: calc((100% - 2 * var(--rg)) / 3);
		min-height: 300px;
		padding: clamp(28px, 2.4vw, 40px);
	}

	body.gna-bianco .gna-reviews__rail .gna-rail__progress {
		margin-inline: 0;
		max-width: none;
	}
}

/* ========================================================== FORMAZIONE */

.gna-training {
	border-top: 1px solid var(--line);
}

.gna-training__title {
	margin-bottom: clamp(32px, 5vw, 72px);
}

.gna-tlist {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--line-strong);
}

.gna-trow {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 72px;
	gap: 6px 14px;
	margin: 0;
	padding: 22px 0;
	border-top: 1px solid var(--line-strong);
}

.gna-trow__n {
	padding-top: .55em;
	font: 500 11px/1 var(--sans);
	letter-spacing: .14em;
	color: var(--ink-mute);
	font-variant-numeric: tabular-nums;
}

.gna-trow__main {
	min-width: 0;
}

.gna-trow__title {
	margin: 0;
	font: 400 clamp(1.6rem, 3.2vw, 2.9rem)/1.05 var(--serif);
	letter-spacing: -0.01em;
	transition: transform 600ms var(--ease);
}

.gna-trow__link {
	color: var(--ink) !important;
	text-decoration: none !important;
}

.gna-trow__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

.gna-trow__kicker {
	margin: 8px 0 0;
	font: 600 10.5px/1.45 var(--sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}

.gna-trow__text {
	grid-column: 2 / 4;
	margin: 0;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--ink-soft);
}

.gna-trow__cta {
	grid-column: 2 / 4;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 600 10.5px/1.2 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ink);
}

.gna-trow__cta .gna-i {
	width: 14px;
	height: 14px;
	transition: transform var(--t2) var(--ease);
}

.gna-trow__img {
	grid-column: 3;
	grid-row: 1;
	width: 72px;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--ivory-2);
}

.gna-trow__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (min-width: 1080px) {
	.gna-trow {
		grid-template-columns: 64px minmax(0, 5fr) minmax(0, 4fr) minmax(0, 2fr);
		gap: 24px;
		padding: 30px 0;
		align-items: start;
	}

	.gna-trow__text {
		grid-column: 3;
		grid-row: 1;
	}

	.gna-trow__cta {
		grid-column: 4;
		grid-row: 1;
		justify-self: end;
		padding-top: .6em;
	}

	.gna-trow__img {
		position: absolute;
		right: 18%;
		top: 50%;
		z-index: 3;
		width: clamp(160px, 15vw, 230px);
		pointer-events: none;
		opacity: 0;
		clip-path: inset(100% 0 0 0);
		transform: translateY(-50%) rotate(-2deg);
		transition: opacity var(--t2) var(--ease), clip-path var(--t3) var(--ease);
		box-shadow: 0 30px 60px -30px rgba(20, 20, 20, .45);
	}

	.gna-trow:hover .gna-trow__img {
		opacity: 1;
		clip-path: inset(0 0 0 0);
	}

	.gna-trow:hover .gna-trow__title {
		transform: translateX(14px);
	}

	.gna-trow:hover .gna-trow__title a {
		font-style: italic;
	}

	.gna-trow:hover .gna-trow__cta .gna-i {
		transform: translateX(4px);
	}
}

/* ============================================================ SHOP LINE */

.gna-shopline {
	padding-block: clamp(16px, 2.4vw, 32px) clamp(24px, 3vw, 48px);
}

.gna-shopline__link {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 22px;
	padding: clamp(22px, 2.6vw, 36px) 0;
	border-top: 1px solid var(--ink);
	border-bottom: 1px solid var(--ink);
	color: var(--ink) !important;
	text-decoration: none !important;
}

.gna-shopline__title {
	font: 400 clamp(2.2rem, 4.6vw, 4.4rem)/1 var(--serif);
	transition: transform 600ms var(--ease);
}

.gna-shopline__cat {
	font: 600 12px/1 var(--sans);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.gna-shopline__covers {
	display: none;
	margin-left: auto;
}

@media (min-width: 700px) {
	.gna-shopline__covers {
		display: flex;
	}
}

.gna-shopline__cover {
	position: relative;
	display: block;
	width: clamp(48px, 5vw, 76px);
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border: 3px solid var(--paper);
	box-shadow: 0 6px 18px -10px rgba(20, 20, 20, .5);
	background: var(--ivory-2);
}

.gna-shopline__cover + .gna-shopline__cover {
	margin-left: -12px;
}

.gna-shopline__cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gna-shopline__arrow {
	display: inline-grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin-left: auto;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	transition: background-color var(--t2) var(--ease), color var(--t2) var(--ease);
}

@media (min-width: 700px) {
	.gna-shopline__arrow {
		margin-left: 0;
	}
}

.gna-shopline__arrow .gna-i {
	width: 16px;
	height: 16px;
}

.gna-shopline__link:hover .gna-shopline__arrow {
	background: var(--ink);
	color: var(--ivory);
}

.gna-shopline__link:hover .gna-shopline__title {
	transform: translateX(10px);
	font-style: italic;
}

/* ============================================================ CHIUSURA */

.gna-closing {
	padding-block: clamp(56px, 8vw, 128px) clamp(64px, 8vw, 128px);
}

.gna-quote {
	display: grid;
	gap: 32px;
	align-items: center;
}

@media (min-width: 900px) {
	.gna-quote {
		grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
		gap: clamp(48px, 6vw, 112px);
	}
}

.gna-quote__figure {
	margin: 0;
	max-width: 480px;
}

.gna-frame--portrait .gna-frame__stage {
	aspect-ratio: 3 / 4;
}

.gna-quote__text {
	margin: 0;
	padding: 0;
	border: 0;
}

.gna-quote__text p {
	margin: 0;
	font: 400 clamp(1.9rem, 4.2vw, 3.7rem)/1.08 var(--serif);
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.gna-quote__text p + p {
	margin-top: .4em;
	font-style: italic;
	color: var(--ink-soft);
}

body.gna-bianco .gna-quote__text .gna-quote__by {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 32px;
	font-size: 12px;
	font-style: normal;
	color: var(--ink);
}

.gna-quote__text cite {
	font: 600 12px/1 var(--sans);
	font-style: normal;
	letter-spacing: .2em;
	text-transform: uppercase;
}

/* =============================================================== FOOTER */

.gna-footer {
	padding-block: clamp(64px, 8vw, 112px) 28px;
	font-size: 14px;
}

.gna-footer a {
	color: var(--on-dark) !important;
	text-decoration: none !important;
}

.gna-footer a:hover {
	text-decoration: underline !important;
	text-decoration-color: var(--on-dark) !important;
}

.gna-footer__grid {
	display: grid;
	gap: 44px;
}

@media (min-width: 700px) {
	.gna-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 56px 48px;
	}
}

@media (min-width: 1200px) {
	.gna-footer__grid {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, .9fr) minmax(0, 1.2fr);
		gap: 48px;
	}
}

.gna-footer__logo img {
	display: block;
	width: 170px;
	height: auto;
	margin-bottom: 22px;
}

.gna-footer__brand p,
.gna-footer__news p {
	margin: 0;
	max-width: 40ch;
	color: var(--on-dark-soft);
	line-height: 1.65;
}

.gna-footer .gna-eyebrow {
	margin-bottom: 16px;
}

.gna-footer__col .gna-eyebrow:not(:first-child) {
	margin-top: 30px;
}

.gna-social {
	display: flex;
	gap: 6px;
	margin: 22px 0 0 -10px;
	padding: 0;
	list-style: none;
}

.gna-social a {
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
}

.gna-social .gna-i {
	width: 20px;
	height: 20px;
}

.gna-footer__contacts {
	display: grid;
	gap: 12px;
	margin: 0;
}

.gna-footer__contacts dt {
	font-size: 12px;
	color: var(--on-dark-soft);
}

.gna-footer__contacts dd {
	margin: 0;
}

.gna-footer__contacts a {
	display: inline-flex;
	min-height: 28px;
	align-items: center;
}

.gna-footer__links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gna-footer__links a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
}

/* Mailchimp for WP (form originale) */
.gna-footer .mc4wp-form {
	margin-top: 20px;
}

.gna-footer .mc4wp-form-fields {
	display: grid;
	gap: 12px;
}

.gna-footer .mc4wp-form input[type="email"] {
	width: 100%;
	min-height: 48px;
	padding: 0 14px;
	border: 1px solid var(--line-dark);
	border-radius: var(--radius);
	background: transparent;
	color: var(--on-dark);
	font: 400 14px var(--sans);
}

.gna-footer .mc4wp-form input[type="email"]::placeholder {
	color: var(--on-dark-soft);
}

.gna-footer .mc4wp-form input[type="email"]:focus {
	border-color: var(--on-dark);
	outline: none;
}

.gna-footer .mc4wp-form input[type="submit"],
.gna-footer .mc4wp-form button {
	min-height: 48px;
	padding: 0 18px;
	border: 1px solid var(--on-dark);
	border-radius: var(--radius);
	background: var(--on-dark);
	color: var(--ink);
	font: 600 11px/1 var(--sans);
	letter-spacing: .16em;
	text-transform: uppercase;
	cursor: pointer;
}

.gna-footer .mc4wp-form label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 12px;
	line-height: 1.5;
	color: var(--on-dark-soft);
}

.gna-footer .mc4wp-form input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-top: 1px;
	accent-color: var(--on-dark);
	flex: none;
}

.gna-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-top: clamp(48px, 7vw, 96px);
	padding-top: 20px;
	border-top: 1px solid var(--line-dark);
	font-size: 12px;
	color: var(--on-dark-soft);
}

.gna-footer__bottom p {
	margin: 0;
}

.gna-footer .gna-lang a {
	color: var(--on-dark-soft) !important;
}

.gna-footer .gna-lang a[aria-current] {
	color: var(--on-dark) !important;
}

body.gna-bianco .gna-footer .gna-lang li + li::before {
	color: var(--line-dark);
}

/* ============================================== CONSULENZA (pop-up) */
/*
 * Riquadro discreto in basso a destra (desktop) o foglio dal basso
 * (smartphone). Nessun velo sulla pagina: si legge, si chiude o si compila.
 */

.gna-cp {
	position: fixed;
	right: clamp(16px, 2vw, 32px);
	bottom: clamp(16px, 2vw, 32px);
	z-index: 1100;
	width: min(420px, calc(100vw - 32px));
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 500ms var(--ease), transform 700ms var(--ease);
}

.gna-cp[hidden] {
	display: none;
}

.gna-cp.is-in {
	opacity: 1;
	transform: none;
}

.gna-cp__card {
	display: block;
	max-height: calc(100dvh - var(--hh) - 48px);
	overflow: auto;
	overscroll-behavior: contain;
	background: var(--white);
	border: 1px solid var(--line);
	border-top: 2px solid var(--ink);
	box-shadow: 0 40px 80px -40px rgba(10, 10, 10, .45), 0 2px 8px rgba(10, 10, 10, .05);
}

.gna-cp__main {
	position: relative;
	min-width: 0;
	padding: 28px 30px 26px;
}

body.gna-bianco .gna-cp__close {
	position: absolute;
	top: 8px;
	right: 8px;
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent !important;
	color: var(--ink);
	cursor: pointer;
}

.gna-cp__close .gna-i {
	width: 20px;
	height: 20px;
	transition: transform var(--t2) var(--ease);
}

.gna-cp__close:hover .gna-i {
	transform: rotate(90deg);
}

.gna-cp__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font: 600 12px/1.3 var(--sans);
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--ink-soft);
}

.gna-cp__rule {
	flex: none;
	width: 32px;
	height: 1px;
	background: var(--ink);
}

body.gna-bianco .gna-cp__title {
	margin: 14px 0 10px;
	padding-right: 28px;
	font: 400 clamp(1.8rem, 2.1vw, 2.2rem)/1.05 var(--serif);
	letter-spacing: -0.01em;
	text-wrap: balance;
	color: var(--ink);
}

.gna-cp__text,
.gna-cp__lead {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.6;
	color: var(--ink-soft);
}

.gna-cp__lead {
	margin: 14px 0 6px;
	padding-right: 28px;
}

.gna-cp__actions {
	display: grid;
	gap: 4px;
	margin-top: 22px;
}

.gna-cp__alt {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: 8px;
	min-height: 44px;
	font: 600 11.5px/1.2 var(--sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink) !important;
	text-decoration: underline !important;
	text-underline-offset: .4em;
}

.gna-cp__alt .gna-i {
	width: 14px;
	height: 14px;
}

/* Modulo */
.gna-cp__field {
	display: grid;
	gap: 4px;
	margin-top: 16px;
}

.gna-cp__field label {
	font: 600 11.5px/1.3 var(--sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ink);
}

.gna-cp__req {
	color: var(--bordeaux);
}

.gna-cp__reqnote {
	margin: 14px 0 0;
	font-size: 12.5px;
	color: var(--ink-mute);
}

.gna-cp__opt {
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: none;
	color: var(--ink-mute);
}

body.gna-bianco .gna-cp__field input {
	width: 100%;
	height: 46px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #BDBDBD;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font: 400 16px/1.2 var(--sans);
	color: var(--ink);
	transition: border-color var(--t1) var(--ease);
}

body.gna-bianco .gna-cp__field input:focus {
	outline: none;
	border-bottom: 2px solid var(--ink);
}

body.gna-bianco .gna-cp__field input:focus-visible {
	outline: 2px solid var(--ink);
	outline-offset: 2px;
}

body.gna-bianco .gna-cp__field input[aria-invalid="true"] {
	border-bottom-color: var(--bordeaux);
}

.gna-cp__row {
	display: grid;
	column-gap: 20px;
}

/* Telefono e azienda uno sotto l'altro: la notifica è stretta anche su desktop. */

.gna-cp__hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.gna-cp__consent {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 4px 12px;
	align-items: start;
	margin-top: 22px;
}

body.gna-bianco .gna-cp__consent input {
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--ink);
}

.gna-cp__consent label {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--ink-soft);
}

.gna-cp__consent label a {
	color: var(--ink) !important;
	text-decoration: underline !important;
}

.gna-cp__consent .gna-cp__err {
	grid-column: 2;
}

.gna-cp__err,
.gna-cp__status {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--bordeaux);
}

.gna-cp__err[hidden],
.gna-cp__status[hidden] {
	display: none;
}

.gna-cp__status {
	margin-top: 16px;
}

.gna-cp__submit {
	margin-top: 22px;
}

.gna-cp__submit[aria-busy="true"] {
	opacity: .6;
	pointer-events: none;
}

.gna-cp__done .gna-btn {
	margin-top: 24px;
}

.gna-cp__done:focus {
	outline: none;
}

.gna-cp__note {
	margin: 14px 0 0;
	padding: 10px 12px;
	background: var(--ivory-2);
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--ink-soft);
}

/* Smartphone e tablet piccoli: foglio dal basso, a tutta larghezza. */
@media (max-width: 699px) {
	.gna-cp {
		right: 0;
		bottom: 0;
		left: 0;
		width: auto;
	}

	.gna-cp__card {
		display: block;
		max-height: 88dvh;
		border-width: 1px 0 0;
		box-shadow: 0 -24px 64px -32px rgba(10, 10, 10, .45);
	}

	.gna-cp__main {
		padding: 26px var(--gutter) calc(22px + env(safe-area-inset-bottom));
	}

	body.gna-bianco .gna-cp__title {
		font-size: 1.85rem;
	}

}

/* ============================================================== CURSORE */

.gna-cursor {
	display: none;
}

@media (hover: hover) and (pointer: fine) {
	html.motion .gna-cursor {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 6000;
		display: block;
		pointer-events: none;
		opacity: 0;
		transition: opacity var(--t2) var(--ease);
	}

	html.motion .gna-cursor.is-on {
		opacity: 1;
	}
}

.gna-cursor__ring {
	position: absolute;
	left: -16px;
	top: -16px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid var(--ink);
	border-radius: 50%;
	transition: width var(--t2) var(--ease), height var(--t2) var(--ease), left var(--t2) var(--ease), top var(--t2) var(--ease), background-color var(--t2) var(--ease), border-color var(--t2) var(--ease);
}

.gna-cursor__label {
	font: 600 10px/1 var(--sans);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ivory);
	opacity: 0;
	transition: opacity var(--t1) var(--ease);
}

.gna-cursor.is-discover .gna-cursor__ring {
	left: -42px;
	top: -42px;
	width: 84px;
	height: 84px;
	background: var(--ink);
	border-color: var(--ink);
}

.gna-cursor.is-discover .gna-cursor__label {
	opacity: 1;
	transition-delay: 120ms;
}

.gna-cursor.is-dark .gna-cursor__ring {
	border-color: var(--on-dark);
}

/* ============================================================ MOVIMENTO */

/*
 * Animazione d'impatto, una sola: il titolo sale dal basso e si ferma,
 * come un titolo di coda (1,45 s). Parte dopo il diaframma, una volta per
 * sessione (html.hero-wait → hero-play), mai scorrendo, mai con reduced motion.
 */
html.motion.hero-wait:not(.hero-play):not(.hero-done) .gna-hero__roll {
	transform: translateY(125%);
}

html.motion.hero-wait.hero-play .gna-hero__roll {
	animation: gna-credits 1700ms cubic-bezier(.33, .02, .12, 1) both;
	animation-delay: calc(var(--l, 0) * 120ms);
}

@keyframes gna-credits {
	from { transform: translateY(125%); }   /* v2.11.13: la finestra è più alta, la riga parte un po' più in basso */
	to { transform: none; }
}

/* Le fotografie arrivano in dissolvenza mentre il titolo sale; il resto dopo. */
html.motion.hero-wait:not(.hero-play):not(.hero-done) .gna-hero__slides {
	opacity: 0;
}

html.motion.hero-wait.hero-play .gna-hero__slides {
	animation: gna-fade 1600ms cubic-bezier(.45, 0, .2, 1) 100ms both;
}

@keyframes gna-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

html.motion.hero-wait:not(.hero-play):not(.hero-done) :is(.gna-hero__kicker, .gna-hero__lede, .gna-hero__foot) {
	opacity: 0;
}

html.motion.hero-wait.hero-play :is(.gna-hero__kicker, .gna-hero__lede, .gna-hero__foot) {
	animation: gna-fade-up 1000ms var(--ease) both;
	animation-delay: 700ms;
}

html.motion.hero-wait.hero-play .gna-hero__kicker {
	animation-delay: 250ms;
}

html.motion.hero-wait.hero-play .gna-hero__foot {
	animation-delay: 1100ms;
}

@keyframes gna-fade-up {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: none; }
}

/* Reveal: nascosto solo ciò che sta sotto la piega, mai il primo frame. */
html.motion .gna-reveal.will-reveal {
	opacity: 0;
	transform: translateY(26px);
}

html.motion .gna-reveal.is-in {
	opacity: 1;
	transform: none;
	transition: opacity 900ms var(--ease), transform 900ms var(--ease);
	transition-delay: calc(var(--i, 0) * 70ms);
}

html.motion .gna-chips.will-reveal .gna-chip {
	opacity: 0;
	transform: translateY(10px);
}

html.motion .gna-chips.is-in .gna-chip {
	opacity: 1;
	transform: none;
	transition: opacity 600ms var(--ease), transform 600ms var(--ease);
	transition-delay: calc(var(--i, 0) * 22ms);
}

[data-parallax] {
	will-change: transform;
}

/* ============================================= COOKIE NOTICE e JOINCHAT */

body.gna-bianco #cookie-notice {
	left: 12px !important;
	right: 12px !important;
	bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
	width: auto !important;
	max-width: 620px;
	min-width: 0 !important;
	background: var(--ink) !important;
	color: var(--on-dark) !important;
	border: 1px solid var(--line-dark);
	font-family: var(--sans) !important;
	box-shadow: 0 24px 60px -30px rgba(0, 0, 0, .6);
}

body.gna-bianco #cookie-notice .cookie-notice-container {
	display: grid;
	gap: 14px;
	padding: 18px 20px !important;
	text-align: left !important;
}

/* v2.11.18: dopo «Ok» (o la ×) il banner resta chiuso. Il plugin Cookie
   Notice lo nasconde con la classe cookie-notice-hidden, ma la regola qui
   sopra (display: grid) era più forte e lo faceva ricomparire subito dopo la
   dissolvenza, senza poterlo togliere. Ora vince lo stato «nascosto» del
   plugin, anche per il riquadro esterno (niente bordo o ombra vuoti). */
body.gna-bianco #cookie-notice.cookie-notice-hidden .cookie-notice-container {
	display: none !important;
}

body.gna-bianco #cookie-notice.cookie-notice-hidden.cookie-revoke-hidden {
	display: none !important;
}

body.gna-bianco #cookie-notice.cookie-notice-hidden:not(:has(.cookie-revoke-container)) {
	display: none !important;
}

body.gna-bianco #cookie-notice.cookie-notice-hidden {
	border-color: transparent !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* v2.11.20: scelta già fatta (classe messa dallo script nella testata):
   il banner non si ripresenta. Mentre la schermata di caricamento copre la
   pagina, il banner aspetta e compare quando la schermata si apre. */
html.gna-cn-set body.gna-bianco #cookie-notice {
	display: none !important;
}

html.gna-out body.gna-bianco #cookie-notice,
html.gna-in:not(.gna-in-open) body.gna-bianco #cookie-notice {
	visibility: hidden !important;
}

body.gna-bianco #cookie-notice .cn-text-container {
	margin: 0 !important;
	font-size: 12.5px !important;
	line-height: 1.55 !important;
	color: var(--on-dark-soft) !important;
}

body.gna-bianco #cookie-notice .cn-buttons-container {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

body.gna-bianco #cookie-notice .cn-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 1px solid var(--on-dark) !important;
	border-radius: var(--radius) !important;
	background: transparent !important;
	color: var(--on-dark) !important;
	font: 600 11px/1 var(--sans) !important;
	letter-spacing: .16em !important;
	text-transform: uppercase;
}

body.gna-bianco #cookie-notice .cn-button.cn-set-cookie {
	background: var(--on-dark) !important;
	color: var(--ink) !important;
}

body.gna-bianco #cookie-notice .cn-close-icon {
	top: 14px !important;
	right: 12px !important;
	opacity: .7;
}

body.gna-bianco #cookie-notice .cn-close-icon::before,
body.gna-bianco #cookie-notice .cn-close-icon::after {
	background-color: var(--on-dark) !important;
}

body.gna-bianco .joinchat {
	left: auto !important;
	right: var(--sep) !important;
	--bottom: calc(18px + env(safe-area-inset-bottom, 0px));
	--sep: 16px;
}

/* v2.8.3: colori della chat come impostati nel plugin Joinchat. Il nero resta
   di scorta con la classe gna-wa-custom (filtro gna_whatsapp_custom). */
body.gna-bianco.gna-wa-custom .joinchat {
	--ch: 0 !important;      /* chat in nero: il bordeaux resta al pulsante principale */
	--cs: 0% !important;
	--cl: 4% !important;
}

/* ================================================== PAGINE INTERNE (ponte) */
/* Allinea al nuovo sistema le pagine WPBakery esistenti, senza toccarle. */

body.gna-bianco:not(.home):not(.gna-pg-on) #main,
body.gna-bianco:not(.home):not(.gna-pg-on) #main p,
body.gna-bianco:not(.home):not(.gna-pg-on) #main li,
body.gna-bianco:not(.home):not(.gna-pg-on) #main .wpb_text_column,
body.gna-bianco:not(.home):not(.gna-pg-on) #main input,
body.gna-bianco:not(.home):not(.gna-pg-on) #main textarea,
body.gna-bianco:not(.home):not(.gna-pg-on) #main select {
	font-family: var(--sans) !important;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main {
	color: var(--ink);
	background: var(--ivory);
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main h1,
body.gna-bianco:not(.home):not(.gna-pg-on) #main h2,
body.gna-bianco:not(.home):not(.gna-pg-on) #main h3,
body.gna-bianco:not(.home):not(.gna-pg-on) #main .heading_title,
body.gna-bianco:not(.home):not(.gna-pg-on) #main .heading_title * {
	font-family: var(--serif) !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em;
	line-height: 1.05;
	color: var(--ink) !important;
	text-transform: none;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main h4,
body.gna-bianco:not(.home):not(.gna-pg-on) #main h5,
body.gna-bianco:not(.home):not(.gna-pg-on) #main h6,
body.gna-bianco:not(.home):not(.gna-pg-on) #main .heading_subtitle,
body.gna-bianco:not(.home):not(.gna-pg-on) #main .infobox_title,
body.gna-bianco:not(.home):not(.gna-pg-on) #main .vc_toggle_title h4 {
	font-family: var(--sans) !important;
	font-weight: 600 !important;
	letter-spacing: .02em;
	color: var(--ink) !important;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main .heading_subtitle {
	font-size: 11px !important;
	letter-spacing: .2em !important;
	text-transform: uppercase;
	color: var(--ink-soft) !important;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main a:not(.gna-btn):not(.button):not(.wgl_button_link) {
	color: var(--ink);
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main .wgl_button_link,
body.gna-bianco:not(.home):not(.gna-pg-on) #main .wpcf7-submit,
body.gna-bianco:not(.home):not(.gna-pg-on) #main .button-read-more {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px !important;
	border: 1px solid var(--ink) !important;
	border-radius: var(--radius) !important;
	background: var(--ink) !important;
	color: var(--ivory) !important;
	font: 600 11px/1.2 var(--sans) !important;
	letter-spacing: .16em !important;
	text-transform: uppercase;
	box-shadow: none !important;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main .wgl_button_link:hover,
body.gna-bianco:not(.home):not(.gna-pg-on) #main .wpcf7-submit:hover {
	background: var(--ink-2) !important;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main .wgl_button_link * {
	color: inherit !important;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main .vc_toggle {
	border-top: 1px solid var(--line);
	margin: 0 !important;
	padding: 6px 0;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main .vc_toggle_title {
	background: transparent !important;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main .vc_single_image-img,
body.gna-bianco:not(.home):not(.gna-pg-on) #main .wpb_single_image img {
	border-radius: 0 !important;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main input[type="text"],
body.gna-bianco:not(.home):not(.gna-pg-on) #main input[type="email"],
body.gna-bianco:not(.home):not(.gna-pg-on) #main input[type="tel"],
body.gna-bianco:not(.home):not(.gna-pg-on) #main input[type="password"],
body.gna-bianco:not(.home):not(.gna-pg-on) #main input[type="number"]:not(.qty),
body.gna-bianco:not(.home):not(.gna-pg-on) #main input[type="search"],
body.gna-bianco:not(.home):not(.gna-pg-on) #main textarea,
body.gna-bianco:not(.home):not(.gna-pg-on) #main select {
	min-height: 48px;
	border: 1px solid var(--line-strong) !important;
	border-radius: var(--radius) !important;
	background: var(--paper) !important;
	color: var(--ink) !important;
	font-size: 15px !important;
	box-shadow: none !important;
}

body.gna-bianco:not(.home):not(.gna-pg-on) #main input:focus,
body.gna-bianco:not(.home):not(.gna-pg-on) #main textarea:focus,
body.gna-bianco:not(.home):not(.gna-pg-on) #main select:focus {
	border-color: var(--ink) !important;
	outline: none;
}

/* Il titolo grande di Colibro (se il parent lo stampa) cede il posto a .gna-pagehead. */
body.gna-bianco .page-header,
body.gna-bianco .wgl-theme-header,
body.gna-bianco #preloader-wrapper,
body.gna-bianco .preloader-wrapper,
body.gna-bianco .scroll_up,
body.gna-bianco #scroll_up {
	display: none !important;
}

/* =========================================================== RIDUZIONE */

@media (prefers-reduced-motion: reduce) {
	.gna-hero__slide,
	.gna-hero__slide img {
		transition: none;
		transform: none;
	}

	.gna-cp {
		transition: none;
		transform: none;
	}

	body.gna-bianco *,
	body.gna-bianco *::before,
	body.gna-bianco *::after {
		animation-duration: 1ms !important;
		animation-delay: 0ms !important;
		transition-duration: 1ms !important;
		scroll-behavior: auto !important;
	}

	.gna-intro {
		display: none !important;
	}

	.gna-card:hover {
		transform: none;
	}
}

/* ==================================================== DIFESE DAL PARENT */
/*
 * Colibro e il CSS aggiuntivo del Customizer impostano regole globali
 * (es. "button { font-size:18px !important; background-color:#fff !important }",
 * "h1 span { font: 800 48px Raleway }", "p { font-size:15px }").
 * Qui le neutralizziamo solo dentro i componenti del tema.
 */

body.gna-bianco :is(.gna-header, .gna-panel, .gna-intro, .gna-hero, .gna-sec, .gna-shopline, .gna-footer, .gna-pagehead, .gna-shophead, .gna-product, .gna-psections, .gna-cats, .gna-pcard, .gna-pg) :is(h1, h2, h3, h4, h5, h6) :is(span, a, em, strong) {
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

/* Titoli: colore e font del tema, non quelli globali di Colibro (#313538, Raleway). */
body.gna-bianco :is(.gna-header, .gna-panel, .gna-intro, .gna-hero, .gna-sec, .gna-shopline, .gna-footer, .gna-pagehead, .gna-shophead, .gna-product, .gna-psections, .gna-pcard, .gna-pg) :is(h1, h2, h3, h4, h5, h6) {
	color: inherit;
}

/* Colibro disegna un pallino assoluto su ogni "ul li:before": lo azzeriamo nei nostri elenchi. */
body.gna-bianco :is(.gna-header, .gna-panel, .gna-hero, .gna-sec, .gna-footer, .gna-cats, .gna-shophead, .gna-pg-more, .gna-pg-steps, .gna-pg-contacts, .gna-pg-faq) li::before {
	content: none;
	position: static;
	display: inline;
	width: auto;
	height: auto;
	top: auto;
	left: auto;
	bottom: auto;
	background: none;
	border: 0;
	border-radius: 0;
	transform: none;
}

/* Le citazioni di Colibro hanno virgolette giganti e serif: nei nostri blocchi no. */
body.gna-bianco :is(.gna-sec, .gna-hero, .gna-pg) blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	quotes: none;
}

body.gna-bianco :is(.gna-sec, .gna-hero, .gna-pg) blockquote p {
	padding: 0;
}

body.gna-bianco .gna-quote__text p {
	color: var(--ink);
}

body.gna-bianco .gna-quote__text p + p {
	color: var(--ink-soft);
}

/* Colibro: "ul li { padding-left:20px }" e "footer { background:#000 }". */
body.gna-bianco :is(.gna-footer__links, .gna-social, .gna-lang, .gna-keys, .gna-mega__list, .gna-drop ul, .gna-acc ul, .gna-panel__list, .gna-nav__list, .gna-cats ul, .gna-cards, .gna-hero__cities) > li {
	padding-left: 0;
}

body.gna-bianco footer.gna-footer {
	background: var(--ink);
}

body.gna-bianco :is(.gna-sec, .gna-hero, .gna-pg) blockquote::before,
body.gna-bianco :is(.gna-sec, .gna-hero, .gna-pg) blockquote::after {
	content: none !important;
	display: none !important;
}

body.gna-bianco :is(.gna-sec, .gna-hero) cite {
	font-style: normal;
}

/* "button { font-size:18px !important; background:#fff !important }" del Customizer. */
body.gna-bianco button.gna-nav__btn {
	height: 44px;
	margin: 0;
	font-size: 15px !important;   /* v2.6.4: come «Metodo» e «Contatti» (prima 13.5px) */
	line-height: 1 !important;
	text-transform: none !important;
	letter-spacing: .02em;
	background-color: transparent !important;
	border-radius: 0;
	box-shadow: none;
}

body.gna-bianco button.gna-burger,
body.gna-bianco button.gna-frames__toggle,
body.gna-bianco button.gna-iconbtn,
body.gna-bianco button[data-acc] {
	background-color: transparent !important;
	font-size: 16px !important;
	box-shadow: none;
}

body.gna-bianco button.gna-panel__link {
	font-size: 17px !important;
	text-transform: none !important;
	letter-spacing: .02em;
	margin: 0 !important;   /* v2.6.2: il tema genitore dava 16px sotto i pulsanti: righe disuguali */
}

/* Con la tendina aperta resta la distanza di prima tra voce e tendina. */
body.gna-bianco button.gna-panel__link[aria-expanded="true"] {
	margin-bottom: 16px !important;
}

body.gna-bianco button.gna-intro__skip {
	font-size: 11px !important;
	background-color: transparent !important;
}

body.gna-bianco button.gna-intro__skip:hover,
body.gna-bianco button.gna-iconbtn:hover {
	background-color: var(--ink) !important;
	color: var(--ivory);
}

body.gna-bianco .gna-intro--obiettivo button.gna-intro__skip:hover {
	background-color: var(--on-dark) !important;
	color: var(--ink);
}

body.gna-bianco .gna-intro--maschera button.gna-intro__skip {
	background-color: var(--ink) !important;
	border-color: var(--ink);
	color: var(--ivory);
}

body.gna-bianco .gna-footer .mc4wp-form button,
body.gna-bianco .gna-footer .mc4wp-form input[type="submit"] {
	background-color: var(--on-dark) !important;
	font-size: 11px !important;
	color: var(--ink) !important;
}

body.gna-bianco .gna-footer__brand p,
body.gna-bianco .gna-footer__news > p:not(.gna-eyebrow) {
	font-size: 14px;
}

body.gna-bianco .gna-footer label {
	font-family: var(--sans);
}

body.gna-bianco .gna-footer__bottom p {
	font-size: 12px;
}

body.gna-bianco .gna-footer .mc4wp-form label {
	font-size: 12px;
	font-weight: 400;
	margin: 0;
}

body.gna-bianco .gna-nl-row {
	display: flex;
	gap: 0;
}

body.gna-bianco .gna-nl-row input[type="email"] {
	border-right: 0 !important;
}

body.gna-bianco .gna-nl-row button {
	display: inline-grid;
	place-items: center;
	width: 52px;
	padding: 0 !important;
	flex: none;
}

body.gna-bianco .gna-nl-row button .gna-i {
	width: 18px;
	height: 18px;
}

/* Durante l'ingresso il banner cookie aspetta (compare subito dopo). */
html.intro-pending body.gna-bianco #cookie-notice,
html.intro-pending body.gna-bianco .joinchat {
	visibility: hidden !important;
}

/* Durante gli ingressi in cui la firma vola nell'header (Obiettivo, Otturatore,
   Firma) il logo dell'header è nascosto: lo sostituisce quello dell'intro, che
   atterra nello stesso punto. Con Rullo e Coda il logo resta al suo posto
   nell'header, coperto dal bianco: quando il bianco si apre è già lì, insieme
   al resto del sito (niente vuoto in alto a sinistra, niente comparsa dopo). */
html.intro-pending:is(.intro-obiettivo, .intro-otturatore, .intro-firma) .gna-header .gna-logo img {
	opacity: 0;
}

/* Rullo: durante i titoli l'header non si vede (tutto bianco, come approvato).
   Quando il bianco si apre, l'header è sopra le due metà e logo, menu e
   strumenti arrivano insieme all'apertura: non resta mai una fascia bianca
   vuota in alto, né il logo compare dopo. */
html.intro-pending.intro-rullo .gna-header {
	z-index: 5001;
	background: transparent;
	transition: none;
}

html.intro-rullo .gna-header__bar > * {
	transition: opacity 650ms var(--ease) 640ms;
}

html.intro-pending.intro-rullo:not(.intro-reveal) .gna-header__bar > * {
	opacity: 0;
	pointer-events: none;
}



/* Pop-up consulenza: i pulsanti e le etichette non prendono le regole globali
   di Colibro ("button { font-size:18px; background:#fff }", "label { 15px }"). */
body.gna-bianco .gna-cp button.gna-btn {
	font-size: 12px !important;
	background-color: transparent !important;
}

body.gna-bianco .gna-cp button.gna-btn--ink {
	background-color: var(--ink) !important;
}

body.gna-bianco .gna-cp button.gna-btn--ink:hover {
	background-color: var(--ink-2) !important;
}

body.gna-bianco .gna-cp button.gna-btn--ghost:hover {
	background-color: var(--ink) !important;
}

body.gna-bianco .gna-cp label {
	display: block;
	margin: 0;
	font-family: var(--sans);
}

body.gna-bianco .gna-cp .gna-cp__consent label {
	font-size: 13.5px;
	font-weight: 400;
}

/* La chat resta nascosta mentre il pop-up è aperto (stesso angolo). */
html.consult-open .joinchat {
	opacity: 0;
	pointer-events: none;
	transition: opacity 300ms var(--ease);
}

body.gna-bianco .gna-cp .gna-btn {
	letter-spacing: .12em;
}

/* Niente riquadro azzurro al tocco (Android/Chrome) su pulsanti e link del tema. */
body.gna-bianco :is(a, button, summary, label) {
	-webkit-tap-highlight-color: transparent;
}

/* ==========================================================================
   SMARTPHONE (v2.4) — solo sotto i 700 px.
   Il desktop approvato (v2.3.0) non è toccato: tutte le regole qui sotto
   sono dentro @media (max-width: 699px), e gli elementi pensati solo per
   smartphone sono nascosti da 700 px in su.
   ========================================================================== */

@media (min-width: 700px) {
	.gna-svcm,
	.gna-chips__more {
		display: none !important;
	}
}

@media (max-width: 699px) {

	/* --- Prima schermata: un solo pulsante pieno, il secondo come link --- */
	.gna-hero__ctas {
		gap: 6px;
	}

	body.gna-bianco .gna-hero__ctas .gna-btn--light {
		justify-content: flex-start;
		gap: 12px;
		min-height: 44px;
		padding: 0;
		border: 0;
		background: transparent !important;
		color: var(--on-dark) !important;
		text-decoration: underline !important;
		text-decoration-thickness: 1px !important;
		text-underline-offset: .5em;
	}

	/* Sul telefono il link resta bianco anche dopo il tocco: senza questa regola
	   lo stato «hover» del desktop (testo nero) restava attivo tornando indietro
	   alla pagina e il link spariva sul fondo nero. */
	body.gna-bianco .gna-hero .gna-hero__ctas .gna-btn--light:is(:hover, :focus, :active, :visited) {
		background: transparent !important;
		color: var(--on-dark) !important;
		border: 0;
	}

	body.gna-bianco .gna-hero .gna-hero__ctas .gna-btn--light:active {
		opacity: .7;
	}

	/* Milano · Napoli · Roma: a sinistra, a metà tra il filo sopra e i fili del carosello. */
	.gna-hero__foot {
		row-gap: 0;
		align-items: flex-start;
	}

	.gna-hero__cities {
		margin: 24px 0 2px;
	}

	/* --- Servizi: i gruppi completi lasciano il posto ai «tre tempi» ----- */
	.gna-services .gna-group {
		display: none;
	}

	.gna-svcm {
		display: block;
		margin-top: 22px;
	}

	.gna-svcm__tabs {
		position: relative;
		display: flex;
		border-bottom: 1px solid var(--line);
	}

	body.gna-bianco button.gna-svcm__tab {
		flex: 1;
		min-height: 52px;
		margin: 0;
		padding: 0;
		border: 0;
		background-color: transparent !important;
		font: 400 1.3rem/1 var(--serif);
		font-size: 1.3rem !important;
		letter-spacing: 0;
		text-transform: none;
		color: var(--ink-mute);
		cursor: pointer;
		transition: color var(--t2) var(--ease);
	}

	body.gna-bianco button.gna-svcm__tab.is-active {
		color: var(--ink);
	}

	.gna-svcm__bar {
		position: absolute;
		bottom: -1px;
		left: 0;
		width: calc(100% / 3);
		height: 2px;
		background: var(--ink);
		transform: translateX(calc(var(--p, 0) * 100%));
		pointer-events: none;
	}

	.gna-svcm__track {
		display: flex;
		align-items: flex-start;
		margin-inline: calc(var(--gutter) * -1);
		transition: height 450ms var(--ease);
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.gna-svcm__track::-webkit-scrollbar {
		display: none;
	}

	.gna-svcm__panel {
		flex: 0 0 100%;
		min-width: 0;
		padding: 30px var(--gutter) 4px;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	body.gna-bianco .gna-svcm__title {
		margin: 0;
		font: 400 3.4rem/1 var(--serif);
		letter-spacing: -.02em;
		color: var(--ink);
	}

	/* v2.11.17: finestra più bassa per la «g» di Strategia (la pagina non si sposta). */
	.gna-svcm__mask {
		display: block;
		overflow: hidden;
		padding-bottom: .26em;
		margin-bottom: -.2em;
	}

	.gna-svcm__roll {
		display: block;
	}

	.gna-svcm__lead {
		max-width: 26ch;
		margin: 10px 0 20px;
		font: italic 400 1.4rem/1.22 var(--serif);
		color: var(--ink-soft);
	}

	.gna-svcm__list {
		margin: 0;
		padding: 0;
		list-style: none;
		border-bottom: 1px solid var(--line);
	}

	body.gna-bianco .gna-svcm__list > li {
		margin: 0;
		padding: 0;
	}

	body.gna-bianco .gna-svcm__list > li::before {
		content: none;
	}

	.gna-svcm__list a {
		display: grid;
		grid-template-columns: 20px minmax(0, 1fr) 16px;
		align-items: center;
		gap: 14px;
		min-height: 52px;
		padding: 8px 0;
		border-top: 1px solid var(--line);
		font: 500 15.5px/1.3 var(--sans);
		color: var(--ink) !important;
		text-decoration: none !important;
	}

	.gna-svcm__icon .gna-i {
		width: 18px;
		height: 18px;
		color: var(--ink-soft);
	}

	.gna-svcm__arrow {
		width: 15px;
		height: 15px;
	}

	.gna-svcm__cta {
		margin-top: 26px;
	}

	/* Transizione tipografica: alla prima apparizione di ogni concetto il
	   titolo sale (come nella prima schermata) e i servizi entrano uno a uno. */
	html.motion .gna-svcm .gna-svcm__panel:not(.is-shown) .gna-svcm__roll {
		transform: translateY(calc(108% + .3em));
	}

	html.motion .gna-svcm .gna-svcm__panel:not(.is-shown) :is(.gna-svcm__lead, .gna-svcm__list > li) {
		opacity: 0;
		transform: translateY(10px);
	}

	html.motion .gna-svcm .gna-svcm__panel.is-shown .gna-svcm__roll {
		transition: transform 1000ms cubic-bezier(.33, .02, .12, 1);
	}

	html.motion .gna-svcm .gna-svcm__panel.is-shown :is(.gna-svcm__lead, .gna-svcm__list > li) {
		transition: opacity 700ms var(--ease), transform 700ms var(--ease);
		transition-delay: 250ms;
	}

	html.motion .gna-svcm .gna-svcm__panel.is-shown .gna-svcm__list > li {
		transition-delay: calc(380ms + var(--i, 0) * 60ms);
	}

	/* --- Soluzioni digitali avanzate: le sei fasi su due colonne --------- */
	.gna-steps__list {
		grid-template-columns: 1fr 1fr;
		column-gap: 20px;
	}

	.gna-step {
		grid-template-columns: 38px minmax(0, 1fr);
		padding: 14px 0;
	}

	/* --- Sei nel posto giusto: prime categorie, poi «Vedi tutte» --------- */
	.gna-chipsbox:not(.is-open) .gna-chip:nth-child(n+9):not(:last-child) {
		display: none;
	}

	body.gna-bianco button.gna-chips__more {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		margin-top: 10px;
		padding: 0;
		border: 0;
		background-color: transparent !important;
		font: 600 12px/1.2 var(--sans);
		font-size: 12px !important;
		letter-spacing: .16em;
		text-transform: uppercase;
		color: var(--ink);
		text-decoration: underline;
		text-underline-offset: .45em;
		cursor: pointer;
	}

	/* --- Recensioni: testo più breve nella scheda ----------------------- */
	html.js .gna-review__text p {
		-webkit-line-clamp: 7;
	}

	/* --- Footer: contatti e aree a fisarmonica --------------------------- */
	.gna-footer.is-acc .gna-facc {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 52px;
		margin: 0;
		padding: 0;
		border: 0;
		border-top: 1px solid rgba(255, 255, 255, .16);
		background-color: transparent !important;
		font: inherit;
		font-size: 12px !important;
		letter-spacing: inherit;
		text-transform: inherit;
		color: inherit;
		cursor: pointer;
	}

	.gna-footer.is-acc .gna-facc .gna-i {
		width: 16px;
		height: 16px;
		transition: transform var(--t2) var(--ease);
	}

	.gna-footer.is-acc .gna-facc[aria-expanded="true"] .gna-i {
		transform: rotate(45deg);
	}

	.gna-footer.is-acc .gna-footer__col .gna-eyebrow {
		margin: 0 !important;
	}

	.gna-footer.is-acc .gna-facc-body[hidden] {
		display: none;
	}

	.gna-footer.is-acc .gna-facc-body {
		padding: 6px 0 22px;
	}

	.gna-footer.is-acc .gna-footer__grid {
		gap: 0;
	}

	.gna-footer.is-acc .gna-footer__brand {
		margin-bottom: 36px;
	}

	.gna-footer.is-acc .gna-footer__news {
		margin-top: 36px;
	}
}

/* ------------------------------------------------------ WhatsApp (v2.5.9) */
/* v2.8.3 (richiesta del committente): si usa di nuovo l'icona del plugin
   Joinchat. L'icona nera qui sotto resta DI SCORTA: si attiva solo con
   add_filter( 'gna_whatsapp_custom', '__return_true' ); */
/* Il pulsante è l'icona di WhatsApp piena (fumetto nero, cornetta bianca),
   senza cerchio attorno: 48px (v2.5.11; prima 54px, all'inizio 58px). Un filo bianco
   sul bordo la stacca dai fondi scuri (prima schermata, footer). */
body.gna-bianco.gna-wa-custom .joinchat {
	--s: 48px;
}

body.gna-bianco.gna-wa-custom .joinchat__button,
body.gna-bianco.gna-wa-custom .joinchat__button:hover,
body.gna-bianco.gna-wa-custom .joinchat__button:active {
	background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 26 26'%3E%3Cpath d='M3.516 3.516c4.686-4.686 12.284-4.686 16.97 0s4.686 12.283 0 16.97a12 12 0 0 1-13.754 2.299l-5.814.735a.392.392 0 0 1-.438-.44l.748-5.788A12 12 0 0 1 3.516 3.516z' fill='%23141414' stroke='%23fff' stroke-width='1.1' stroke-linejoin='round' paint-order='stroke'/%3E%3Cpath d='M13.66 13.556l-.933 1.164a9.84 9.84 0 0 1-3.497-3.495l1.166-.933a.79.79 0 0 0 .23-.94L9.561 6.96a.79.79 0 0 0-.924-.445l-2.023.524a.797.797 0 0 0-.588.88 11.754 11.754 0 0 0 10.005 10.005.797.797 0 0 0 .88-.587l.525-2.023a.79.79 0 0 0-.445-.923L14.6 13.327a.79.79 0 0 0-.94.23z' fill='%23fff' transform='translate(12 12.25) scale(.8) translate(-12 -12.25)'/%3E%3C/svg%3E") center / 100% 100% no-repeat !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	filter: drop-shadow(0 6px 12px rgba(0, 0, 0, .22));
	transition: transform var(--t2) var(--ease);
}

@media (hover: hover) {
	body.gna-bianco.gna-wa-custom .joinchat__button:hover {
		transform: scale(1.05);
	}
}

body.gna-bianco.gna-wa-custom .joinchat__button__ico,
body.gna-bianco.gna-wa-custom .joinchat__button__image {
	display: none !important;
}

/* La chat sta a destra anche se nel plugin è impostata «a sinistra»
   (joinchat--left): il contenitore è ancorato a destra, quindi pulsante,
   fumetto, finestra della chat e QR si allineano al suo bordo destro.
   Prima il pulsante finiva 8px oltre il bordo dello schermo. */
body.gna-bianco .joinchat__button {
	left: auto !important;
	right: 0 !important;
	bottom: 0 !important;
}

body.gna-bianco .joinchat__chatbox,
body.gna-bianco .joinchat__qr {
	left: auto !important;
	right: 0 !important;
}

body.gna-bianco .joinchat__badge {
	left: auto !important;
	right: -4px !important;
}

body.gna-bianco .joinchat__tooltip {
	left: auto !important;
	right: calc(var(--s) + 14px) !important;
}

body.gna-bianco .joinchat__open {
	align-self: flex-end !important;
	flex-direction: row !important;
}

body.gna-bianco .joinchat--chatbox .joinchat__open__text {
	padding: 0 4px 0 24px !important;
}

body.gna-bianco .joinchat__tooltip::after {
	left: auto !important;
	right: -6px !important;
	border-width: 6px 0 6px 8px !important;
	border-color: transparent transparent transparent #fff !important;
}

/* Sulla prima schermata e sull'ultima riga del footer il pulsante si fa da
   parte (coprirebbe «Prenota una consulenza strategica», «Scorri», IT / EN):
   rientra in dissolvenza appena si scorre. Classe wa-hold da bianco.js. */
body.gna-bianco .joinchat {
	transition: opacity 300ms var(--ease);
}

html.wa-hold body.gna-bianco .joinchat {
	opacity: 0;
	pointer-events: none;
}

/* ============================================ PULSANTE WHATSAPP (v2.11.22) */
/* Al posto del plugin Joinchat (disattivato): l'icona verde classica, la
   stessa che mostrava il plugin, in basso a destra. Un tocco apre la chat al
   numero dell'agenzia col messaggio già scritto (template-parts/whatsapp.php).
   Come prima si fa da parte sulla prima schermata e sull'ultima riga del
   footer (wa-hold), durante l'ingresso e con il pop-up della consulenza. */
body.gna-bianco .gna-wa {
	position: fixed;
	right: 16px;
	bottom: calc(18px + env(safe-area-inset-bottom, 0px));
	z-index: 5000;
	display: block;
	width: 56px;
	height: 56px;
	padding: 0;
	border-radius: 50%;
	background: #25D366;
	box-shadow: 1px 6px 24px 0 rgba(7, 94, 84, .24);
	text-decoration: none !important;
	transition: opacity 300ms var(--ease), background-color 200ms linear, transform 300ms var(--ease);
	-webkit-tap-highlight-color: transparent;
}

body.gna-bianco .gna-wa__ico {
	position: absolute;
	inset: 0;
	background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M3.516 3.516c4.686-4.686 12.284-4.686 16.97 0s4.686 12.283 0 16.97a12 12 0 0 1-13.754 2.299l-5.814.735a.392.392 0 0 1-.438-.44l.748-5.788A12 12 0 0 1 3.517 3.517zm3.61 17.043.3.158a9.85 9.85 0 0 0 11.534-1.758c3.843-3.843 3.843-10.074 0-13.918s-10.075-3.843-13.918 0a9.85 9.85 0 0 0-1.747 11.554l.16.303-.51 3.942a.196.196 0 0 0 .219.22zm6.534-7.003-.933 1.164a9.84 9.84 0 0 1-3.497-3.495l1.166-.933a.79.79 0 0 0 .23-.94L9.561 6.96a.79.79 0 0 0-.924-.445l-2.023.524a.797.797 0 0 0-.588.88 11.754 11.754 0 0 0 10.005 10.005.797.797 0 0 0 .88-.587l.525-2.023a.79.79 0 0 0-.445-.923L14.6 13.327a.79.79 0 0 0-.94.23z'/%3E%3C/svg%3E") 50% / 60% no-repeat;
}

body.gna-bianco .gna-wa:hover,
body.gna-bianco .gna-wa:active {
	background-color: #128C7E;
}

body.gna-bianco .gna-wa:focus-visible {
	outline: 2px solid var(--ink);
	outline-offset: 3px;
}

@media (min-width: 1080px) {
	body.gna-bianco .gna-wa {
		right: 24px;
		bottom: 24px;
		width: 60px;
		height: 60px;
	}
}

html.wa-hold body.gna-bianco .gna-wa,
html.consult-open body.gna-bianco .gna-wa,
body.gna-bianco.gna-panel-open .gna-wa {
	opacity: 0;
	pointer-events: none;
}

html.intro-pending body.gna-bianco .gna-wa {
	visibility: hidden;
}

@media print {
	body.gna-bianco .gna-wa {
		display: none;
	}
}

/* ------------------------------------- niente barra «Consulenza 15 min» */
/* La barra nera sotto l'header (sotto i 1080px) è stata tolta (v2.5.9):
   l'ancora delle sezioni non deve più lasciarle spazio. Desktop invariato. */
@media (max-width: 1079px) {
	:root {
		--sticky-h: 0px;
	}
}

/*
 * v2.6.9 (richiesta della cliente): il carosello cambia foto con lo stesso
 * timer (6,5 s) ma senza indicatori di caricamento visibili. «Scorri» resta
 * a destra su desktop.
 */
.gna-hero__dots {
	display: none !important;
}

@media (min-width: 1080px) {
	.gna-hero__scroll {
		margin-left: auto;
	}
}

/* ======================================== I NOSTRI PROGETTI (v2.8.0) */
/* Bianco e nero con colore al passaggio (v2.8.0/v2.8.2). Entrata «foto posate
   sul tavolo», inclinazione 3D che segue il mouse, cursore «Apri» (v2.8.1). */

.gna-projects__title {
	margin-bottom: clamp(32px, 4vw, 64px);
}

.gna-projects__list {
	gap: 10px;
	padding-bottom: 4px;
}

.gna-project {
	width: min(78vw, 360px);
}

.gna-project__card {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--ivory-2) !important;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

body.gna-bianco .gna-project__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 50% 0;
	filter: grayscale(1) contrast(1.05);
	transform: scale(1.001);
	transition: filter 900ms var(--ease), transform 1400ms var(--ease);
}

/* v2.8.2 (richiesta della cliente): in homepage torna l'effetto della v2.8.0.
   In bianco e nero come il resto della homepage; il colore torna al passaggio
   del mouse o, su smartphone, quando il feed è al centro. A tutto schermo
   sono sempre a colori. */
.gna-project__card:hover .gna-project__img,
.gna-project__card:focus-visible .gna-project__img {
	filter: none;
}

/* v2.11.17: su smartphone e tablet il feed al centro del carosello è a
   colori (la classe la mette bianco.js in base alla larghezza). */
@media (max-width: 1079px) {
	.gna-project.is-live .gna-project__img {
		filter: none;
	}

	.gna-projects__list.is-jump .gna-project__img {
		transition: none;
	}

	.gna-project__card {
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}
}

.gna-project__card:hover .gna-project__img {
	transform: scale(1.035);
}

.gna-project__num {
	position: absolute;
	left: 14px;
	bottom: 12px;
	font: 400 22px/1 var(--serif);
	color: var(--white);
	text-shadow: 0 1px 12px rgba(0, 0, 0, .45);
	pointer-events: none;
}

/* Smartphone e tablet: carosello che scorre da solo (v2.8.4).
   Desktop: griglia 4 × 2 come nella v2.8.2; le copie per il giro continuo
   del carosello non si vedono. */
.gna-projects__list {
	gap: 10px;
}

@media (min-width: 1080px) {
	.gna-projects__rail .gna-rail__track {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 14px;
		max-width: var(--maxw);
		margin-inline: auto;
		padding-inline: var(--gutter);
		overflow: visible;
		cursor: auto;
	}

	.gna-project {
		width: auto;
	}

	.gna-project.is-clone {
		display: none;
	}

	/* v2.10.3: niente lente sui feed, resta il cursore normale (il clic apre comunque). */

	.gna-project__card:focus-visible {
		outline: 2px solid var(--ink);
		outline-offset: 3px;
	}
}

/* Foto a tutto schermo. v2.11.17: il dito sposta solo la foto (a destra e
   a sinistra cambia, in basso chiude), mai la pagina sotto. */
.gna-lightbox {
	width: 100vw;
	max-width: none;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(10, 10, 10, .96);
	color: var(--white);
	overflow: hidden;
	overscroll-behavior: contain;
	touch-action: none;
}

.gna-lightbox__fig {
	will-change: transform;
}

.gna-lightbox::backdrop {
	background: rgba(10, 10, 10, .9);
}

.gna-lightbox[open] {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) 64px;
	align-items: center;
	animation: gna-lb-in 380ms var(--ease) both;
}

@keyframes gna-lb-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

.gna-lightbox__fig {
	display: grid;
	justify-items: center;
	gap: 12px;
	margin: 0;
	padding: 56px 0 24px;
	height: 100dvh;
	align-content: center;
}

.gna-lightbox__fig img {
	max-width: 100%;
	max-height: calc(100dvh - 120px);
	width: auto;
	height: auto;
	object-fit: contain;
}

.gna-lightbox__count {
	font: 500 11px/1 var(--sans);
	letter-spacing: .24em;
	color: var(--on-dark-soft);
}

body.gna-bianco .gna-lightbox__nav,
body.gna-bianco .gna-lightbox__close {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin: 0 auto;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 50%;
	background: transparent !important;
	color: var(--white) !important;
	cursor: pointer;
}

body.gna-bianco .gna-lightbox__nav:hover,
body.gna-bianco .gna-lightbox__close:hover {
	border-color: var(--white);
}

.gna-lightbox__nav .gna-i {
	width: 18px;
	height: 18px;
}

.gna-lightbox__nav .is-flip {
	transform: scaleX(-1);
}

body.gna-bianco .gna-lightbox__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 2;
}

.gna-lightbox__close span {
	position: absolute;
	width: 18px;
	height: 1px;
	background: currentColor;
	transform: rotate(45deg);
}

.gna-lightbox__close span + span {
	transform: rotate(-45deg);
}

@media (max-width: 699px) {
	.gna-lightbox[open] {
		grid-template-columns: minmax(0, 1fr);
	}

	body.gna-bianco .gna-lightbox__nav {
		position: absolute;
		bottom: 18px;
	}

	.gna-lightbox__nav--prev { left: calc(50% - 64px); }
	.gna-lightbox__nav--next { right: calc(50% - 64px); }

	.gna-lightbox__fig {
		padding: 64px 12px 84px;
	}

	.gna-lightbox__fig img {
		max-height: calc(100dvh - 170px);
	}
}

/* ========================================= PROGETTI SINGOLI (v2.8.0) */

.gna-singles {
	padding-top: 0;
}

.gna-singles__grid {
	display: grid;
	gap: 40px;
	padding-top: var(--sec);
	background-image: linear-gradient(var(--line), var(--line));
	background-size: calc(100% - 2 * var(--gutter)) 1px;
	background-position: var(--gutter) 0;
	background-repeat: no-repeat;
}

.gna-singles__head {
	display: grid;
	gap: 22px;
	align-content: start;
	justify-items: start;
}

.gna-singles__title {
	max-width: 16ch;
}

.gna-singles__lead {
	max-width: 40ch;
	margin: 0;
	font: 400 17px/1.65 var(--sans);
	color: var(--ink-soft);
}

.gna-singles__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--ink);
}

.gna-singles__item {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	align-items: baseline;
	padding: 22px 0;
	border-bottom: 1px solid var(--line);
	transition: padding var(--t2) var(--ease);
}

.gna-singles__item::before {
	content: none !important;
}

.gna-singles__n {
	font: 500 12px/1 var(--sans);
	letter-spacing: .14em;
	color: var(--ink-mute);
}

.gna-singles__label {
	font: 400 clamp(34px, 4.6vw, 68px)/1 var(--serif);
	letter-spacing: -.015em;
	color: var(--ink);
}

.gna-singles__item:hover {
	padding-left: 14px;
}

body.gna-bianco .gna-singles__list > li {
	padding-left: 0;
}

body.gna-bianco .gna-singles__list > li:hover {
	padding-left: 14px;
}

@media (min-width: 1080px) {
	.gna-singles__grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 32px;
	}

	.gna-singles__head {
		grid-column: 1 / 6;
		position: sticky;
		top: calc(var(--hh-s) + 40px);
	}

	.gna-singles__list {
		grid-column: 7 / 13;
	}
}

/* Colibro/Customizer: bottoni con altezza e padding propri, «ul li» rientrati,
   corsivi ridotti. Qui no. */
body.gna-bianco .gna-project__card {
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	font-size: 0 !important;
	aspect-ratio: 4 / 5;
}

body.gna-bianco .gna-projects__list > li {
	padding-left: 0;
	margin: 0;
}

body.gna-bianco .gna-projects__list > li::before {
	content: none;
	display: none;
}

body.gna-bianco :is(.gna-projects__title, .gna-singles__title) em {
	font-family: var(--serif) !important;
	font-size: 1em !important;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -.02em;
}


/* --------------------------------------- progetti: giocosità (v2.8.1) */

.gna-project__card {
	transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
	transition: transform 500ms var(--ease), box-shadow 500ms var(--ease);
	will-change: transform;
}

.gna-project__card.is-tilt {
	transition: transform 120ms linear, box-shadow 500ms var(--ease);
	box-shadow: 0 30px 60px -30px rgba(10, 10, 10, .45);
}

/* Entrata: come foto lanciate sul tavolo, leggermente storte, che si raddrizzano. */
html.motion .gna-project.pg-deal {
	opacity: 0;
	transform: translateY(70px) rotate(var(--rot, 4deg)) scale(.94);
}

html.motion .gna-project.pg-deal.is-in {
	opacity: 1;
	transform: none;
	transition: opacity 700ms var(--ease), transform 1100ms cubic-bezier(.2, .9, .25, 1.18);
	transition-delay: var(--d, 0ms);
}

/* Cursore «Apri» sopra feed e foto. */
.gna-cursor.is-open .gna-cursor__ring {
	left: -40px;
	top: -40px;
	width: 80px;
	height: 80px;
	background: var(--bordeaux);
	border-color: var(--bordeaux);
}

.gna-cursor.is-open .gna-cursor__label {
	opacity: 1;
	transition-delay: 100ms;
}

/* Progetti singoli: la voce scivola e compare una freccia. */
.gna-singles__label {
	position: relative;
	display: inline-flex;
	align-items: baseline;
	gap: .3em;
	transition: color var(--t2) var(--ease);
}

.gna-singles__label::after {
	content: "→";
	font-size: .5em;
	opacity: 0;
	transform: translateX(-10px);
	transition: opacity var(--t2) var(--ease), transform var(--t2) var(--ease);
}

.gna-singles__item:hover .gna-singles__label {
	color: var(--bordeaux);
}

.gna-singles__item:hover .gna-singles__label::after {
	opacity: 1;
	transform: none;
}

/*
 * v2.11.2: lo script del vecchio tema (Colibro) avvolge i pulsanti dei moduli
 * in una cornice con gli angoli decorati (.button__wrapper): sul sito nuovo
 * appariva come una striscia attorno a «Mettiamoci in contatto». Il pulsante
 * resta lo stesso, sparisce solo la cornice.
 */
body.gna-bianco .button__wrapper {
	margin-top: 0;
	padding: 0;
	border: 0 !important;
	background: none !important;
}

body.gna-bianco .button__wrapper::before,
body.gna-bianco .button__wrapper::after,
body.gna-bianco .button__wrapper .button__wrapper-inner::before,
body.gna-bianco .button__wrapper .button__wrapper-inner::after {
	content: none !important;
	display: none !important;
}

/* v2.11.10: frase di Google reCAPTCHA sotto i moduli (il riquadro è nascosto). */
body.gna-bianco .gna-recaptcha-note {
	margin: 16px 0 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--ink-mute);
}

body.gna-bianco .gna-recaptcha-note a {
	color: inherit !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}
