/* Landing professionali MiaFattura: estensione visiva del tema base. */

body {
	color: #565973;
	line-height: 1.6;
}

.navbar-toggler-icon,
.navbar-toggler-icon::after,
.navbar-toggler-icon::before {
	background-color: #fff;
}

.landing-hero {
	--landing-blue: var(--main-blue, #4c82f7);
	--landing-ink: #181a22;
	--landing-muted: #6e7188;
	position: relative;
	overflow: hidden;
	padding: clamp(7.5rem, 12vw, 10.25rem) 0 clamp(4.5rem, 7vw, 6.75rem);
	background:
		radial-gradient(circle at 50% 0%, rgba(76, 130, 247, .16), transparent 38%),
		radial-gradient(circle at 88% 72%, rgba(99, 102, 241, .10), transparent 26%),
		linear-gradient(180deg, #fff 0%, #f6f8ff 100%);
}

.landing-hero::before {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(76, 130, 247, .18) .7px, transparent .7px);
	background-size: 20px 20px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 24%, #000 76%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 24%, #000 76%, transparent);
	opacity: .42;
	content: "";
	pointer-events: none;
}

.landing-hero .container {
	position: relative;
	z-index: 1;
}

.landing-hero h1 {
	max-width: 17ch;
	margin-right: auto;
	margin-left: auto;
	color: var(--landing-ink);
	font-size: clamp(2.4rem, 4.4vw, 4.2rem);
	line-height: 1.12;
	letter-spacing: -.045em;
}

.landing-hero .lead {
	max-width: 54rem;
	margin-right: auto;
	margin-left: auto;
	color: #4f536d;
	font-size: clamp(1.1rem, 1.4vw, 1.3rem);
	line-height: 1.65;
}

.landing-hero .text-muted {
	max-width: 46rem;
	margin-right: auto;
	margin-left: auto;
	color: var(--landing-muted) !important;
}

.landing-hero .list-unstyled {
	max-width: 43.75rem;
	padding: 1.25rem 1.35rem;
	border: 1px solid rgba(76, 130, 247, .14);
	border-radius: 1rem;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 1rem 2.5rem rgba(24, 26, 34, .05);
	backdrop-filter: blur(8px);
}

.landing-hero .btn-primary {
	--si-btn-bg: var(--landing-blue);
	--si-btn-border-color: var(--landing-blue);
	--si-btn-hover-bg: #3f73e7;
	--si-btn-hover-border-color: #3f73e7;
	padding: .95rem 1.5rem;
	border-radius: .8rem;
	box-shadow: 0 .8rem 1.5rem rgba(76, 130, 247, .28);
	font-weight: 800;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.landing-hero .btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 1rem 1.9rem rgba(76, 130, 247, .36) !important;
}

.landing-hero .btn-primary:focus-visible {
	outline: 3px solid rgba(76, 130, 247, .35);
	outline-offset: 4px;
}

.landing-hero-split {
	--hero-header-height: 78px;
	--hero-blue: var(--main-blue, #4c82f7);
	--hero-ink: #181a22;
	--hero-body: #4f536d;
	--hero-muted: #6e7188;
	--hero-inline-start: max(1.5rem, calc((100vw - 1296px) / 2));
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	width: 100%;
	min-height: calc(100vh - var(--hero-header-height));
	min-height: calc(100svh - var(--hero-header-height));
	margin-top: var(--hero-header-height);
	overflow: hidden;
	background:
		radial-gradient(circle at 6% -8%, rgba(76, 130, 247, .18), transparent 42%),
		radial-gradient(circle at 44% 108%, rgba(99, 102, 241, .12), transparent 38%),
		linear-gradient(180deg, #fff 0%, #f6f8ff 100%);
}

.landing-hero-split::before {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(76, 130, 247, .18) .7px, transparent .7px);
	background-size: 20px 20px;
	-webkit-mask-image: linear-gradient(90deg, #000 0%, #000 38%, transparent 66%);
	mask-image: linear-gradient(90deg, #000 0%, #000 38%, transparent 66%);
	opacity: .4;
	content: "";
	pointer-events: none;
}

.landing-hero-split-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.75rem, 5vh, 4.5rem) clamp(2rem, 4.5vw, 4rem) clamp(1.75rem, 5vh, 4.5rem) var(--hero-inline-start);
}

.landing-hero-split-content > .text-primary {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: .5rem;
	margin-bottom: clamp(.75rem, 1.6vh, 1.15rem) !important;
	padding: .4rem .85rem;
	border: 1px solid rgba(76, 130, 247, .22);
	border-radius: 2rem;
	background: rgba(76, 130, 247, .08);
	box-shadow: inset 0 1px rgba(255, 255, 255, .6);
	color: var(--hero-blue) !important;
	font-size: .75rem !important;
	letter-spacing: .08em;
}

.landing-hero-split-content > .text-primary::before {
	width: .4rem;
	height: .4rem;
	border-radius: 50%;
	background: var(--hero-blue);
	box-shadow: 0 0 0 .25rem rgba(76, 130, 247, .16);
	content: "";
}

.landing-hero-split-content h1 {
	max-width: 17ch;
	margin-bottom: clamp(.75rem, 1.7vh, 1.15rem) !important;
	color: var(--hero-ink);
	font-size: clamp(2.05rem, min(3.1vw, 5.4vh), 3.5rem);
	line-height: 1.08;
	letter-spacing: -.045em;
	text-wrap: balance;
}

.landing-hero-split-content .lead {
	max-width: 40rem;
	margin-bottom: clamp(1rem, 2.4vh, 1.75rem) !important;
	color: var(--hero-body);
	font-size: clamp(1.02rem, 1.05vw, 1.175rem) !important;
	line-height: 1.65;
}

.landing-hero-split-content ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: clamp(.5rem, 1.2vh, .7rem) 2rem;
	width: 100%;
	max-width: 42rem;
	margin-top: 0;
	margin-right: 0 !important;
	margin-bottom: clamp(1rem, 2.3vh, 1.6rem) !important;
	margin-left: 0 !important;
	padding-top: clamp(.9rem, 2.2vh, 1.5rem);
	border-top: 1px solid rgba(76, 130, 247, .16);
}

.landing-hero-split-content ul li {
	gap: .55rem;
	width: auto;
	margin-top: 0;
	padding: 0;
	color: var(--hero-body);
	font-size: .9375rem;
	line-height: 1.45;
}

.landing-hero-split-content ul li i {
	flex: 0 0 auto;
	margin: .05rem 0 0 !important;
	color: var(--hero-blue) !important;
	font-size: 1.15rem !important;
	line-height: 1.2;
}

.landing-hero-split-content ul li strong {
	color: #2f3350;
	font-weight: 700;
}

.landing-hero-split-content > .text-muted {
	max-width: 38rem;
	margin-bottom: clamp(1.1rem, 2.5vh, 1.85rem) !important;
	color: var(--hero-muted) !important;
	font-size: .9rem;
}

.landing-hero-split-content .btn-primary {
	--si-btn-bg: var(--hero-blue);
	--si-btn-border-color: var(--hero-blue);
	--si-btn-hover-bg: #3f73e7;
	--si-btn-hover-border-color: #3f73e7;
	--si-btn-active-bg: #3a6cdd;
	--si-btn-active-border-color: #3a6cdd;
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	padding: 1rem 1.7rem;
	border-radius: .85rem;
	box-shadow: 0 .85rem 1.75rem rgba(76, 130, 247, .3);
	font-weight: 800;
	letter-spacing: -.01em;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.landing-hero-split-content .btn-primary i {
	transition: transform .2s ease;
}

.landing-hero-split-content .btn-primary:focus-visible {
	outline: 3px solid rgba(76, 130, 247, .35);
	outline-offset: 4px;
}

.landing-hero-split-image {
	position: relative;
	background-position: 50% 22%;
	background-size: cover;
	background-repeat: no-repeat;
}

.landing-hero-split-image::before {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(250, 251, 255, .96) 0%, rgba(250, 251, 255, .45) 8%, rgba(250, 251, 255, 0) 24%),
		linear-gradient(200deg, rgba(76, 130, 247, .16), transparent 52%),
		linear-gradient(180deg, rgba(24, 26, 34, .10), transparent 26%);
	content: "";
	pointer-events: none;
}

.landing-hero-split-image::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 1px;
	background: linear-gradient(180deg, transparent, rgba(76, 130, 247, .35) 35%, rgba(76, 130, 247, .35) 65%, transparent);
	content: "";
	pointer-events: none;
}

@media (hover: hover) {
	.landing-hero-split-content .btn-primary:hover {
		transform: translateY(-2px);
		box-shadow: 0 1.05rem 2.1rem rgba(76, 130, 247, .38) !important;
	}

	.landing-hero-split-content .btn-primary:hover i {
		transform: translateX(3px);
	}
}

@media (max-width: 1199.98px) {
	.landing-hero-split {
		grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
	}

	.landing-hero-split-content ul {
		gap: clamp(.45rem, 1vh, .65rem) 1.5rem;
	}
}

@media (max-width: 991.98px) {
	.landing-hero-split {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.landing-hero-split::before {
		-webkit-mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 85%);
		mask-image: linear-gradient(180deg, #000 0%, #000 55%, transparent 85%);
	}

	.landing-hero-split-content {
		min-width: 0;
		padding: clamp(2.5rem, 7vw, 3.75rem) 1.5rem clamp(2.25rem, 6vw, 3rem);
	}

	.landing-hero-split-content h1 {
		max-width: 20ch;
	}

	.landing-hero-split-image {
		min-height: clamp(17rem, 55vw, 26rem);
		background-position: 50% 16%;
	}

	.landing-hero-split-image::before {
		background:
			linear-gradient(180deg, rgba(250, 251, 255, .96) 0%, rgba(250, 251, 255, 0) 22%),
			linear-gradient(200deg, rgba(76, 130, 247, .16), transparent 58%);
	}

	.landing-hero-split-image::after {
		top: 0;
		right: 0;
		bottom: auto;
		left: 0;
		width: auto;
		height: 1px;
		background: linear-gradient(90deg, transparent, rgba(76, 130, 247, .35), transparent);
	}
}

@media (max-width: 575.98px) {
	.landing-hero-split {
		--hero-header-height: 67px;
		min-height: calc(100vh - var(--hero-header-height));
		min-height: calc(100svh - var(--hero-header-height));
		margin-top: var(--hero-header-height);
	}

	.landing-hero-split-content .btn-primary {
		align-self: stretch;
		justify-content: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.landing-hero-split-content .btn-primary,
	.landing-hero-split-content .btn-primary i {
		transition: none;
	}
}

.landing-breadcrumb {
	border-bottom: 1px solid rgba(76, 130, 247, .10);
	background: #f8faff !important;
}

.landing-breadcrumb .breadcrumb {
	--si-breadcrumb-divider-color: #9499af;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .01em;
}

.landing-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
	color: #a4a9bc;
}

.landing-breadcrumb .breadcrumb-item a {
	color: var(--main-blue, #4c82f7);
	text-decoration: none;
}

.landing-section {
	position: relative;
	padding: clamp(4.5rem, 7vw, 6.75rem) 0;
}

.landing-anchor--avvocati {
	scroll-margin-top: 78px;
}

.landing-anchor--psicologi {
	scroll-margin-top: 78px;
}

.landing-section h2,
.landing-section h3,
.landing-section .h3,
.landing-section .h4 {
	color: #181a22;
	letter-spacing: -.028em;
}

.landing-section h2 {
	line-height: 1.2;
}

.landing-section-eyebrow {
	color: var(--main-blue, #4c82f7);
	font-size: .8125rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.landing-section p,
.landing-section li {
	line-height: 1.7;
}

.landing-section.bg-body-tertiary {
	background:
		linear-gradient(115deg, rgba(76, 130, 247, .055), transparent 46%),
		#f5f7ff !important;
}

.landing-section.bg-body-tertiary::before {
	position: absolute;
	inset: 0;
	border-top: 1px solid rgba(76, 130, 247, .08);
	border-bottom: 1px solid rgba(76, 130, 247, .08);
	content: "";
	pointer-events: none;
}

.landing-section.bg-body-tertiary > .container,
.landing-section.bg-dark > .container {
	position: relative;
	z-index: 1;
}

.landing-section .text-muted {
	color: #747891 !important;
}

.landing-card {
	position: relative;
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid rgba(76, 130, 247, .13);
	border-radius: 1rem;
	box-shadow: 0 .75rem 2rem rgba(24, 26, 34, .055);
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.landing-section:not(.bg-body-tertiary) .landing-card.bg-body-tertiary {
	background: linear-gradient(135deg, #f8faff, #f1f5ff) !important;
}

.landing-section.bg-body-tertiary .landing-card.bg-body {
	background: rgba(255, 255, 255, .92) !important;
}

.landing-card::after {
	position: absolute;
	top: 0;
	left: 1.5rem;
	width: 3.25rem;
	height: 3px;
	border-radius: 0 0 .5rem .5rem;
	background: var(--main-blue, #4c82f7);
	content: "";
}


.landing-card .icon-badge,
.landing-box-normativo .icon-badge,
.landing-section.bg-dark .icon-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border: 1px solid rgba(76, 130, 247, .14);
	border-radius: 1rem;
	background: linear-gradient(135deg, rgba(76, 130, 247, .16), rgba(99, 102, 241, .08));
	color: var(--main-blue, #4c82f7);
	box-shadow: inset 0 1px rgba(255, 255, 255, .45);
	flex-shrink: 0;
}

.landing-card .icon-badge {
	margin-bottom: 1.25rem;
}

.landing-card .icon-badge i,
.landing-box-normativo .icon-badge i,
.landing-section.bg-dark .icon-badge i {
	font-size: 1.4rem;
	line-height: 1;
}

.landing-card .icon-badge i,
.landing-box-normativo .icon-badge i {
	color: var(--main-blue, #4c82f7);
}

.landing-box-normativo {
	position: relative;
	overflow: hidden;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid rgba(76, 130, 247, .24);
	border-radius: 1.15rem;
	background: linear-gradient(135deg, rgba(76, 130, 247, .10), rgba(255, 255, 255, .96) 55%);
	box-shadow: 0 1rem 2.5rem rgba(76, 130, 247, .07);
}

.landing-box-normativo::after {
	position: absolute;
	top: -5rem;
	right: -3rem;
	width: 13rem;
	height: 13rem;
	border: 1.5rem solid rgba(76, 130, 247, .06);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.landing-box-normativo > * {
	position: relative;
	z-index: 1;
}

.landing-section ul:not(.list-unstyled) {
	padding-left: 1.25rem;
}

.landing-section ul:not(.list-unstyled) li::marker {
	color: var(--main-blue, #4c82f7);
}

.landing-section .list-unstyled .text-primary,
.landing-hero .list-unstyled .text-primary {
	color: var(--main-blue, #4c82f7) !important;
}

.landing-section.bg-dark {
	overflow: hidden;
	background:
		radial-gradient(circle at 50% 115%, rgba(76, 130, 247, .30), transparent 43%),
		linear-gradient(135deg, #181a22, #202543) !important;
	color: rgba(255, 255, 255, .78);
}

.landing-section.bg-dark::after {
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, .15) .65px, transparent .65px);
	background-size: 22px 22px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 23%, #000 77%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 23%, #000 77%, transparent);
	opacity: .32;
	content: "";
	pointer-events: none;
}

.landing-section.bg-dark h2,
.landing-section.bg-dark h3,
.landing-section.bg-dark .h1,
.landing-section.bg-dark .h3,
.landing-section.bg-dark .h4 {
	color: #fff;
}

.landing-section.bg-dark .text-muted {
	color: rgba(255, 255, 255, .66) !important;
}

.landing-section.bg-dark .landing-section-eyebrow {
	color: #9ab5ff;
}

.landing-section.bg-dark .icon-badge {
	border-color: rgba(255, 255, 255, .17);
	background: rgba(255, 255, 255, .09);
	color: #fff;
	box-shadow: none;
}

.landing-section.bg-dark .icon-badge i {
	color: #9ab5ff;
}

.landing-section.bg-dark .icon-badge .fw-bold {
	font-size: 1.1rem;
}

.landing-steps-section {
	padding-top: clamp(3.5rem, 5vw, 4.75rem);
	padding-bottom: clamp(3.5rem, 5vw, 4.75rem);
}

.landing-steps {
	max-width: none;
}

.landing-step {
	position: relative;
	height: 100%;
	min-height: 9.5rem;
	padding: 1.25rem;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: .875rem;
	background: rgba(255, 255, 255, .055);
	text-align: left;
}

.landing-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	margin-bottom: .875rem;
	border-radius: 50%;
	background: #fff;
	color: #202543;
	font-size: .9375rem;
	font-weight: 800;
}

.landing-step-label {
	color: rgba(255, 255, 255, .58);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.landing-step .h5 {
	font-size: .975rem;
	line-height: 1.35;
}

.landing-step-description {
	color: rgba(255, 255, 255, .7);
	font-size: .875rem;
	line-height: 1.55 !important;
}

@media (min-width: 992px) {
	.landing-step::after {
		position: absolute;
		top: 2.3rem;
		left: calc(100% + .25rem);
		width: calc(100% - 1rem);
		height: 1px;
		background: linear-gradient(90deg, rgba(255, 255, 255, .38), transparent);
		content: "";
	}

	.landing-steps li:last-child .landing-step::after {
		display: none;
	}
}

.landing-steps-note {
	max-width: 52rem;
	margin-right: auto;
	margin-left: auto;
	color: rgba(255, 255, 255, .72);
}

.landing-suppliers-section {
	padding-top: clamp(3.5rem, 5vw, 4.5rem);
	padding-bottom: clamp(3.5rem, 5vw, 4.5rem);
}

.landing-regime-box {
	padding: clamp(1.5rem, 3vw, 2rem);
	background: #f5f7ff;
}

.landing-regime-eyebrow {
	color: var(--main-blue, #4c82f7);
	font-size: .8125rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.landing-regime-list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

.landing-regime-list div {
	display: flex;
	align-items: flex-start;
	gap: .625rem;
	padding: .625rem .75rem;
	border: 1px solid rgba(76, 130, 247, .11);
	border-radius: .625rem;
	background: #f8faff;
	line-height: 1.45;
}

.landing-regime-list i {
	margin-top: .1rem;
	color: var(--main-blue, #4c82f7);
	font-size: 1.1rem;
}

.landing-regime-note {
	color: #565973;
}

.landing-regime-card {
	display: flex;
	flex-direction: column;
}

.landing-regime-points {
	display: grid;
	gap: .75rem;
	margin-top: auto;
	padding-top: .5rem;
}

.landing-regime-points li {
	display: flex;
	align-items: center;
	gap: .75rem;
	min-height: 3.25rem;
	padding: .75rem .9rem;
	border: 1px solid rgba(76, 130, 247, .16);
	border-radius: .8rem;
	background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(247, 249, 255, .88));
	box-shadow: 0 .4rem 1.1rem rgba(35, 48, 86, .045), inset 0 1px rgba(255, 255, 255, .9);
	color: #363b55;
	font-weight: 600;
	line-height: 1.4;
}

.landing-regime-points i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 1.75rem;
	width: 1.75rem;
	height: 1.75rem;
	margin: 0;
	border: 1px solid rgba(76, 130, 247, .16);
	border-radius: 50%;
	background: rgba(76, 130, 247, .1);
	box-shadow: 0 .2rem .55rem rgba(76, 130, 247, .08);
	color: var(--main-blue, #4c82f7);
	font-size: 1rem;
	line-height: 1;
}

.landing-anywhere-section.bg-dark .landing-card.bg-body {
	border-color: rgba(255, 255, 255, .16);
	background: rgba(255, 255, 255, .08) !important;
	box-shadow: none;
}

.landing-anywhere-section.bg-dark .landing-card .icon-badge {
	border-color: rgba(255, 255, 255, .16);
	background: rgba(255, 255, 255, .10);
}

.landing-anywhere-section.bg-dark .landing-card .icon-badge i {
	color: #9ab5ff;
}

.landing-anywhere-content > p {
	max-width: 35rem;
}

.landing-anywhere-items .col {
	display: flex;
}

.landing-anywhere-item {
	display: flex;
	flex-direction: column;
	align-items: start;
	width: 100%;
	padding: 1.125rem 1.25rem;
}

.landing-anywhere-item .icon-badge {
	grid-row: span 2;
	margin-bottom: 0;
}

.landing-anywhere-item .h5 {
	margin-top: .15rem;
}

.landing-anywhere-item p {
	grid-column: 2;
}

.landing-visual {
	max-width: 36rem;
	margin-right: auto;
	margin-left: auto;
}

.landing-visual img {
	display: block;
	width: 100%;
	height: auto;
}

.landing-image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 14rem;
	border: 1px dashed rgba(76, 130, 247, .42);
	border-radius: 1rem;
	background:
		radial-gradient(circle at 35% 25%, rgba(76, 130, 247, .16), transparent 34%),
		linear-gradient(135deg, rgba(248, 250, 255, .96), rgba(231, 237, 255, .86));
	color: #6e7188;
	text-align: center;
}

.landing-image-placeholder-label {
	max-width: 12rem;
	padding: .7rem 1rem;
	border: 1px solid rgba(76, 130, 247, .18);
	border-radius: .75rem;
	background: rgba(255, 255, 255, .68);
	box-shadow: 0 .5rem 1.25rem rgba(24, 26, 34, .06);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .02em;
}

.landing-hero-split-image.landing-image-placeholder {
	min-height: 0;
	border: 0;
	border-radius: 0;
	background:
		radial-gradient(circle at 50% 30%, rgba(76, 130, 247, .18), transparent 34%),
		linear-gradient(160deg, #f8faff, #e5ebff);
}

.landing-hero-split-image.landing-image-placeholder::before,
.landing-hero-split-image.landing-image-placeholder::after {
	display: none;
}

@media (max-width: 991.98px) {
	.landing-hero-split-image.landing-image-placeholder {
		min-height: clamp(17rem, 55vw, 26rem);
	}
}

.landing-anywhere-visual.landing-image-placeholder {
	aspect-ratio: 16 / 10;
}

.landing-suppliers-visual.landing-image-placeholder {
	aspect-ratio: 3 / 2;
}

.landing-anywhere-visual {
	filter: drop-shadow(0 1rem 2rem rgba(0, 0, 0, .16));
}

.landing-anywhere-visual--avvocati {
	max-width: 39rem;
}

.landing-anywhere-visual--avvocati img {
	aspect-ratio: 1000 / 744;
	object-fit: contain;
}

.landing-suppliers-card {
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid rgba(76, 130, 247, .16);
	border-radius: 1rem;
	background: linear-gradient(120deg, #f8faff, #fff 60%);
	box-shadow: 0 .75rem 2rem rgba(24, 26, 34, .05);
}

.landing-suppliers-copy {
	max-width: 33rem;
}

.landing-suppliers-eyebrow {
	color: var(--main-blue, #4c82f7);
	font-size: .8125rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.landing-suppliers-visual {
	max-width: 34rem;
}

.landing-suppliers-visual--avvocati img {
	aspect-ratio: 1000 / 799;
	object-fit: contain;
}

.landing-final-cta {
	padding: clamp(4rem, 7vw, 6.5rem) 0;
	color: rgba(255, 255, 255, .78);
}

.landing-final-cta-panel {
	position: relative;
	overflow: visible;
	padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.25rem, 5vw, 4rem);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 1.25rem;
	background:
			radial-gradient(circle at 50% 115%, rgba(76, 130, 247, .30), transparent 43%),
			linear-gradient(135deg, #181a22, #202543);
	box-shadow: 0 1rem 2.75rem rgba(0, 0, 0, .18);
}

.landing-final-cta-copy {
	position: relative;
	z-index: 3;
}

.landing-final-cta-visual {
	position: absolute;
	bottom: 0;
	left: clamp(1rem, 5vw, 4rem);
	z-index: 2;
	width: clamp(12rem, 24vw, 15rem);
	margin: 0;
	filter: drop-shadow(0 1.25rem 1.5rem rgba(0, 0, 0, .28));
	pointer-events: none;
}

.landing-final-cta-visual img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10rem 10rem 1.25rem 1.25rem;
}

.landing-final-cta-visual.landing-image-placeholder {
	aspect-ratio: 605 / 1048;
	min-height: 0;
	border: 0;
	border-radius: 10rem 10rem 1.25rem 1.25rem;
	background:
		radial-gradient(circle at 50% 30%, rgba(154, 181, 255, .24), transparent 35%),
		linear-gradient(160deg, #303858, #151824);
	color: rgba(255, 255, 255, .66);
}

.landing-final-cta-visual.landing-image-placeholder .landing-image-placeholder-label {
	border-color: rgba(255, 255, 255, .2);
	background: rgba(255, 255, 255, .08);
	box-shadow: none;
}

.landing-final-cta-panel .row {
	position: relative;
	z-index: 1;
}

.landing-final-cta h2 {
	color: #fff;
	letter-spacing: -.035em;
}

.landing-final-cta p {
	max-width: 38rem;
	margin-right: auto;
	margin-left: auto;
	color: rgba(255, 255, 255, .72);
}

.landing-store-buttons {
	gap: .875rem;
}

.landing-store-buttons--avvocati {
	gap: 1.125rem;
}

.landing-store-downloads {
	gap: .875rem;
}

.landing-web-app-copy {
	font-size: .875rem;
	color: rgba(255, 255, 255, .65) !important;
}

.landing-web-app-link {
	color: #fff;
	font-weight: 700;
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
}

.landing-web-app-link:hover,
.landing-web-app-link:focus-visible {
	color: #fff;
}

.landing-store-button {
	min-width: 10.5rem;
	min-height: 3.5rem;
	padding: .6rem 1rem;
	border: 1px solid rgba(255, 255, 255, .26);
	border-radius: .8rem;
	background: #fff;
	box-shadow: 0 .45rem 1rem rgba(0, 0, 0, .16);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.landing-store-button .light-mode-img {
	display: block !important;
}

.landing-store-button .dark-mode-img {
	display: none !important;
}

.landing-store-button--web {
	min-width: 9.75rem;
	min-height: 3.25rem;
	opacity: .78;
	transform: scale(.94);
	box-shadow: 0 .3rem .7rem rgba(0, 0, 0, .12);
}

.landing-store-button--web:focus-visible {
	opacity: 1;
}

@media (hover: hover) {
	.landing-store-button:hover {
		transform: translateY(-3px);
		border-color: #fff;
		box-shadow: 0 .85rem 1.5rem rgba(0, 0, 0, .25) !important;
	}

	.landing-store-button--web:hover {
		opacity: 1;
		transform: translateY(-2px) scale(.96);
	}
}

@media (max-width: 767.98px) {
	.landing-regime-list{
		grid-template-columns: repeat(1, 1fr);
		gap: 0.5em;
	}

	.landing-hero {
		padding-top: 6.75rem;
	}

	.landing-hero h1 {
		font-size: clamp(2.15rem, 10vw, 3rem);
	}

	.landing-hero .list-unstyled {
		padding: 1rem;
		text-align: left;
	}

	.landing-card,
	.landing-box-normativo {
		border-radius: .9rem;
	}

	.landing-box-normativo::after {
		display: none;
	}

	.landing-steps-section {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.landing-step {
		min-height: auto;
	}

	.landing-final-cta-panel {
		display: flex;
		flex-direction: column;
		align-items: center;
		border-radius: 1rem;
		row-gap: 1rem;
		padding-bottom: 0;
	}

	.landing-final-cta-visual {
		position: relative;
		left: auto;
		bottom: auto;
		width: 11rem;
	}

	.landing-anywhere-content {
		text-align: center;
	}

	.landing-anywhere-content > p {
		margin-right: auto;
		margin-left: auto;
	}

	.landing-anywhere-item {
		text-align: left;
	}

	.landing-suppliers-card {
		padding: 1.5rem;
	}

	.landing-suppliers-copy {
		margin-right: auto;
		margin-left: auto;
		text-align: center;
	}

	.landing-suppliers-visual {
		max-width: 30rem;
	}

	.landing-store-button {
		width: min(100%, 15rem);
	}

	.landing-store-downloads {
		flex-direction: column;
		align-items: center;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.landing-card,
	.landing-hero .btn-primary,
	.landing-store-button {
		transition: none;
	}
}
