*,
:after,
:before {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}
body {
    background-color: var(--sfondo);
    color: var(--testo);
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        Segoe UI,
        Roboto,
        sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}
canvas,
img,
picture,
svg,
video {
    display: block;
    height: auto;
    max-width: 100%;
}
button,
input,
select,
textarea {
    color: inherit;
    font: inherit;
}
button {
    background: none;
    border: none;
    cursor: pointer;
}
a {
    color: inherit;
    text-decoration: none;
}
ol,
ul {
    list-style: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    hyphens: auto;
    line-height: 1.2;
    overflow-wrap: break-word;
    word-break: break-word;
}
:root {
    --borgogna: #6b1d3a;
    --borgogna-chiaro: #8b2d4a;
    --borgogna-scuro: #4a1428;
    --borgogna-pallido: rgba(107, 29, 58, 0.08);
    --bronzo: #b8860b;
    --bronzo-chiaro: #d4a84b;
    --bronzo-scuro: #8b6508;
    --bronzo-pallido: rgba(184, 134, 11, 0.12);
    --smeraldo: #047857;
    --smeraldo-chiaro: #059669;
    --smeraldo-scuro: #065f46;
    --smeraldo-pallido: rgba(4, 120, 87, 0.1);
    --bianco: #fff;
    --crema: #fefcfa;
    --avorio: #f7f4f0;
    --beige: #efe9e1;
    --grigio-caldo: #d6cfc6;
    --grigio-medio: #a8a29e;
    --grigio-scuro: #78716c;
    --grafite: #44403c;
    --nero: #1c1917;
    --successo: #16a34a;
    --errore: #dc2626;
    --avviso: #d97706;
    --info: #0284c7;
    --primario: var(--borgogna);
    --primario-hover: var(--borgogna-chiaro);
    --secondario: var(--bronzo);
    --accento: var(--smeraldo);
    --testo: var(--nero);
    --testo-leggero: var(--grigio-scuro);
    --testo-invertito: var(--bianco);
    --sfondo: var(--bianco);
    --sfondo-alt: var(--crema);
    --sfondo-scuro: var(--borgogna-scuro);
    --bordo: var(--grigio-caldo);
    --bordo-leggero: var(--beige);
    --font-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
    --font-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
    --font-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
    --font-lg: clamp(1.125rem, 1rem + 0.5vw, 1.25rem);
    --font-xl: clamp(1.25rem, 1.1rem + 0.75vw, 1.5rem);
    --font-2xl: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);
    --font-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.5rem);
    --font-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3.25rem);
    --font-5xl: clamp(2.75rem, 2rem + 3.75vw, 4rem);
    --sp-1: 0.25rem;
    --sp-2: 0.5rem;
    --sp-3: 0.75rem;
    --sp-4: 1rem;
    --sp-5: 1.25rem;
    --sp-6: 1.5rem;
    --sp-8: 2rem;
    --sp-10: 2.5rem;
    --sp-12: 3rem;
    --sp-16: 4rem;
    --sp-20: 5rem;
    --sp-24: 6rem;
    --rad-xs: 2px;
    --rad-sm: 4px;
    --rad-md: 8px;
    --rad-lg: 12px;
    --rad-xl: 16px;
    --rad-2xl: 24px;
    --rad-full: 9999px;
    --ombra-xs: 0 1px 2px rgba(28, 25, 23, 0.04);
    --ombra-sm: 0 2px 4px rgba(28, 25, 23, 0.06);
    --ombra-md: 0 4px 12px rgba(28, 25, 23, 0.08);
    --ombra-lg: 0 8px 24px rgba(28, 25, 23, 0.1);
    --ombra-xl: 0 16px 48px rgba(28, 25, 23, 0.14);
    --ombra-borgogna: 0 4px 20px rgba(107, 29, 58, 0.2);
    --ombra-bronzo: 0 4px 16px rgba(184, 134, 11, 0.15);
    --trans-fast: 0.15s ease;
    --trans-base: 0.3s ease;
    --trans-slow: 0.5s ease;
    --trans-bounce: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    --max-width: 1280px;
    --header-h: 72px;
    --header-h-mobile: 54px;
}
.involucro {
    margin: 0 auto;
    max-width: var(--max-width);
    padding-inline: var(--sp-4);
    width: 100%;
}
@media (min-width: 640px) {
    .involucro {
        padding-inline: var(--sp-6);
    }
}
@media (min-width: 1024px) {
    .involucro {
        padding-inline: var(--sp-8);
    }
}
.sezione {
    padding-block: var(--sp-16);
}
@media (min-width: 768px) {
    .sezione {
        padding-block: var(--sp-20);
    }
}
@media (min-width: 1024px) {
    .sezione {
        padding-block: var(--sp-24);
    }
}
.sezione--sfondo {
    background-color: var(--sfondo-alt);
}
.sezione--scura {
    background-color: var(--sfondo-scuro);
    color: var(--testo-invertito);
}
.badge {
    align-items: center;
    background: transparent;
    border: 1px solid var(--borgogna);
    color: var(--borgogna);
    display: inline-flex;
    font-size: var(--font-xs);
    font-weight: 700;
    gap: var(--sp-2);
    letter-spacing: 0.12em;
    overflow: hidden;
    padding: var(--sp-2) var(--sp-5);
    position: relative;
    text-transform: uppercase;
}
.badge:before {
    background: var(--bronzo);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 4px;
}
.badge:after {
    color: var(--bronzo);
    content: "✦";
    font-size: 0.65em;
    margin-left: var(--sp-1);
    opacity: 0.8;
}
.sezione--scura .badge {
    border-color: rgba(184, 134, 11, 0.5);
    color: var(--bronzo);
}
.sezione--scura .badge:before {
    background: var(--bronzo);
}
.sezione--scura .badge:after {
    color: var(--bronzo);
}
.badge--bronzo {
    border-color: var(--bronzo);
    color: var(--bronzo-scuro);
}
.badge--bronzo:before {
    background: var(--bronzo);
}
.badge--smeraldo {
    border-color: var(--smeraldo);
    color: var(--smeraldo-scuro);
}
.badge--smeraldo:before {
    background: var(--smeraldo);
}
.badge--smeraldo:after {
    color: var(--smeraldo);
}
.titolo-sez {
    color: var(--testo);
    font-size: var(--font-3xl);
    font-weight: 800;
    margin-top: var(--sp-4);
}
.sezione--scura .titolo-sez {
    color: var(--bianco);
}
.desc-sez {
    color: var(--testo-leggero);
    font-size: var(--font-lg);
    margin-top: var(--sp-4);
    max-width: 680px;
}
.sezione--scura .desc-sez {
    color: hsla(0, 0%, 100%, 0.75);
}
.intestazione-sez {
    margin-bottom: var(--sp-8);
    text-align: center;
}
.intestazione-sez .desc-sez {
    margin-inline: auto;
}
.btn {
    align-items: center;
    border-radius: 0;
    display: inline-flex;
    font-size: var(--font-base);
    font-weight: 600;
    gap: var(--sp-2);
    justify-content: center;
    line-height: 1;
    padding: var(--sp-4) var(--sp-6);
    transition: all var(--trans-base);
    white-space: nowrap;
}
.btn svg {
    flex-shrink: 0;
    height: 20px;
    transition: transform var(--trans-base);
    width: 20px;
}
.btn--primario {
    background: linear-gradient(135deg, var(--borgogna) 0, var(--borgogna-scuro) 100%);
    box-shadow: var(--ombra-borgogna);
    color: var(--bianco);
}
.btn--primario:hover {
    background: linear-gradient(135deg, var(--borgogna-chiaro) 0, var(--borgogna) 100%);
    box-shadow: 0 6px 28px rgba(107, 29, 58, 0.3);
    transform: translateY(-2px);
}
.btn--primario:hover svg {
    transform: translateX(4px);
}
.btn--secondario {
    background: transparent;
    border: 2px solid var(--borgogna);
    color: var(--borgogna);
}
.btn--secondario:hover {
    background: var(--borgogna);
    color: var(--bianco);
}
.btn--accento {
    background: linear-gradient(135deg, var(--smeraldo) 0, var(--smeraldo-scuro) 100%);
    box-shadow: 0 4px 16px rgba(4, 120, 87, 0.25);
    color: var(--bianco);
}
.btn--accento:hover {
    background: linear-gradient(135deg, var(--smeraldo-chiaro) 0, var(--smeraldo) 100%);
    transform: translateY(-2px);
}
.btn--ghost {
    backdrop-filter: blur(8px);
    background: hsla(0, 0%, 100%, 0.1);
    border: 1px solid hsla(0, 0%, 100%, 0.25);
    color: var(--bianco);
}
.btn--ghost:hover {
    background: hsla(0, 0%, 100%, 0.2);
    border-color: hsla(0, 0%, 100%, 0.4);
}
.btn--sm {
    font-size: var(--font-sm);
    padding: var(--sp-3) var(--sp-4);
}
.btn--lg {
    font-size: var(--font-lg);
    padding: var(--sp-5) var(--sp-8);
}
.intestaz {
    background: transparent;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: all var(--trans-base);
    z-index: 1000;
}
.intestaz.ha-scroll {
    backdrop-filter: blur(12px);
    background: hsla(0, 0%, 100%, 0.95);
    box-shadow: var(--ombra-md);
}
.intestaz.ha-scroll:before {
    background-image: url(../media/header-pattern.webp);
    background-position: 50%;
    background-size: cover;
    content: "";
    inset: 0;
    opacity: 0.08;
    pointer-events: none;
    position: absolute;
    z-index: -1;
}
@media (min-width: 768px) {
    .intestaz.ha-scroll:before {
        opacity: 0.11;
    }
}
.intestaz--solido {
    background: var(--bianco);
    box-shadow: 0 1px 0 var(--bordo-leggero);
    position: fixed;
}
.intestaz--solido:before {
    background-image: url(../media/header-pattern.webp);
    background-position: 50%;
    background-size: cover;
    content: "";
    inset: 0;
    opacity: 0.08;
    pointer-events: none;
    position: absolute;
    z-index: -1;
}
@media (min-width: 768px) {
    .intestaz--solido:before {
        opacity: 0.11;
    }
}
.intestaz--solido .nav-desk__link {
    color: var(--testo);
}
.intestaz--solido .nav-desk__link:hover {
    color: var(--borgogna);
}
.intestaz--solido .hamburger__linea {
    background: var(--testo);
}
.intestaz--solido.ha-scroll {
    backdrop-filter: none;
    background: var(--bianco);
    box-shadow: var(--ombra-md);
}
.intestaz__inner {
    align-items: center;
    display: flex;
    height: var(--header-h-mobile);
    justify-content: space-between;
    position: relative;
}
@media (min-width: 1024px) {
    .intestaz__inner {
        height: var(--header-h);
    }
}
.intestaz__logo {
    align-items: center;
    display: flex;
    gap: var(--sp-3);
    z-index: 10;
}
.intestaz__logo img {
    height: 48px;
    width: auto;
}
@media (min-width: 1024px) {
    .intestaz__logo img {
        height: 68px;
    }
}
.nav-desk {
    display: none;
}
@media (min-width: 1024px) {
    .nav-desk {
        align-items: center;
        display: flex;
        left: 50%;
        position: absolute;
        transform: translateX(-50%);
    }
}
.intestaz__cta {
    display: none;
}
@media (min-width: 1024px) {
    .intestaz__cta {
        display: inline-flex;
    }
}
.nav-desk__lista {
    align-items: center;
    display: flex;
    gap: var(--sp-6);
}
.nav-desk__link {
    color: var(--bianco);
    font-size: var(--font-sm);
    font-weight: 500;
    padding: var(--sp-2) 0;
    position: relative;
    transition: color var(--trans-base);
}
.intestaz.ha-scroll .nav-desk__link {
    color: var(--testo);
}
.nav-desk__link:after {
    background: var(--bronzo);
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    transition: width var(--trans-base);
    width: 0;
}
.nav-desk__link.attivo:after,
.nav-desk__link:hover:after {
    width: 100%;
}
.hamburger {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 5px;
    height: 44px;
    justify-content: center;
    width: 44px;
    z-index: 10;
}
@media (min-width: 1024px) {
    .hamburger {
        display: none;
    }
}
.hamburger__linea {
    background: var(--bianco);
    border-radius: 0;
    height: 2px;
    transition: all var(--trans-base);
    width: 24px;
}
.intestaz.ha-scroll .hamburger__linea {
    background: var(--testo);
}
.hamburger.aperto .hamburger__linea:first-child {
    transform: rotate(45deg) translate(5px, 5px);
}
.hamburger.aperto .hamburger__linea:nth-child(2) {
    opacity: 0;
}
.hamburger.aperto .hamburger__linea:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}
.nav-mobile {
    background: var(--bianco);
    bottom: 0;
    max-width: 320px;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(100%);
    transition: transform var(--trans-base);
    width: 100%;
    z-index: 1001;
}
.nav-mobile.visibile {
    transform: translateX(0);
}
.nav-mobile__header {
    align-items: center;
    border-bottom: 1px solid var(--bordo-leggero);
    display: flex;
    justify-content: space-between;
    padding: var(--sp-2) var(--sp-4);
}
.nav-mobile__logo img {
    height: 42px;
}
.nav-mobile__chiudi {
    align-items: center;
    color: var(--testo-leggero);
    display: flex;
    height: 40px;
    justify-content: center;
    transition: color var(--trans-fast);
    width: 40px;
}
.nav-mobile__chiudi:hover {
    color: var(--testo);
}
.nav-mobile__chiudi svg {
    height: 24px;
    width: 24px;
}
.nav-mobile__corpo {
    padding: var(--sp-6);
}
.nav-mobile__lista {
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
}
.nav-mobile__link {
    border-radius: 0;
    color: var(--testo);
    display: block;
    font-size: var(--font-lg);
    font-weight: 500;
    padding: var(--sp-4);
    transition: all var(--trans-fast);
}
.nav-mobile__link:hover {
    background: var(--sfondo-alt);
    color: var(--primario);
}
.nav-mobile__cta {
    margin-top: var(--sp-6);
}
.nav-mobile__cta .btn {
    width: 100%;
}
.overlay-menu {
    background: rgba(28, 25, 23, 0.5);
    inset: 0;
    opacity: 0;
    position: fixed;
    transition: all var(--trans-base);
    visibility: hidden;
    z-index: 1000;
}
.overlay-menu.visibile {
    opacity: 1;
    visibility: visible;
}
.vetrina {
    align-items: center;
    display: flex;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
    padding-top: var(--header-h-mobile);
    position: relative;
}
@media (min-width: 1024px) {
    .vetrina {
        padding-top: 0;
    }
}
.vetrina__bg {
    inset: 0;
    position: absolute;
    z-index: -2;
}
.vetrina__bg img,
.vetrina__bg picture {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}
.vetrina__overlay {
    background: linear-gradient(135deg, rgba(74, 20, 40, 0.92), rgba(107, 29, 58, 0.85) 50%, rgba(139, 45, 74, 0.75));
    inset: 0;
    position: absolute;
    z-index: -1;
}
.vetrina__decor {
    background: radial-gradient(ellipse, rgba(184, 134, 11, 0.15) 0, transparent 70%);
    bottom: -20%;
    height: 80%;
    pointer-events: none;
    position: absolute;
    right: -10%;
    width: 60%;
    z-index: -1;
}
.vetrina__testo-decor {
    color: transparent;
    font-size: clamp(2.5rem, 4vw, 4rem);
    font-weight: 900;
    letter-spacing: 0.15em;
    line-height: 1.2;
    position: absolute;
    right: 5vw;
    text-orientation: mixed;
    text-transform: uppercase;
    top: 50%;
    transform: translateY(-50%) rotate(205deg);
    writing-mode: vertical-rl;
    -webkit-text-stroke: 1.5px rgba(184, 134, 11, 0.25);
    opacity: 0.7;
    pointer-events: none;
    z-index: 0;
}
.vetrina__testo-decor span {
    display: block;
}
@media (max-width: 1024px) {
    .vetrina__testo-decor {
        display: none;
    }
}
@media (min-width: 1400px) {
    .vetrina__testo-decor {
        font-size: 4.5rem;
        right: 9vw;
    }
}
@media (min-width: 1800px) {
    .vetrina__testo-decor {
        font-size: 5rem;
        right: 10vw;
    }
}
.vetrina__contenuto--centrato {
    margin: 0 auto;
    max-width: 720px;
    text-align: center;
}
.vetrina__contenuto--centrato .vetrina__titolo {
    margin-top: 0;
}
.vetrina__contenuto--centrato .vetrina__testo {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
}
.vetrina__contenuto--centrato .vetrina__azioni {
    justify-content: center;
}
.vetrina__contenuto {
    color: var(--bianco);
}
.vetrina__badge {
    align-items: center;
    background: transparent;
    border: 1px solid rgba(184, 134, 11, 0.4);
    color: var(--bronzo-chiaro);
    display: inline-flex;
    font-size: var(--font-xs);
    font-weight: 700;
    gap: var(--sp-2);
    letter-spacing: 0.12em;
    overflow: hidden;
    padding: var(--sp-2) var(--sp-5);
    position: relative;
    text-transform: uppercase;
}
.vetrina__badge:before {
    background: var(--bronzo);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 4px;
}
.vetrina__badge:after {
    color: var(--bronzo);
    content: "✦";
    font-size: 0.65em;
    margin-left: var(--sp-1);
    opacity: 0.7;
}
.vetrina__titolo {
    font-size: var(--font-4xl);
    font-weight: 800;
    line-height: 1.1;
    margin-top: var(--sp-6);
}
@media (min-width: 768px) {
    .vetrina__titolo {
        font-size: var(--font-5xl);
    }
}
.vetrina__titolo-evidenza {
    color: var(--bronzo-chiaro);
}
.vetrina__testo {
    color: hsla(0, 0%, 100%, 0.85);
    font-size: var(--font-lg);
    line-height: 1.7;
    margin-top: var(--sp-6);
    max-width: 540px;
}
.vetrina__azioni {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-4);
    margin-top: var(--sp-8);
}
.vetrina__trust {
    border-top: 1px solid hsla(0, 0%, 100%, 0.15);
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-6);
    margin-top: var(--sp-10);
    padding-top: var(--sp-8);
}
.vetrina__trust-item {
    align-items: center;
    display: flex;
    gap: var(--sp-3);
}
.vetrina__trust-icona {
    align-items: center;
    background: hsla(0, 0%, 100%, 0.1);
    border-radius: var(--rad-full);
    display: flex;
    height: 40px;
    justify-content: center;
    width: 40px;
}
.vetrina__trust-icona svg {
    color: var(--bronzo-chiaro);
    height: 20px;
    width: 20px;
}
.vetrina__trust-testo strong {
    display: block;
    font-size: var(--font-xl);
    font-weight: 700;
}
.vetrina__trust-testo span {
    color: hsla(0, 0%, 100%, 0.7);
    font-size: var(--font-sm);
}
.vetrina__visuale {
    display: none;
}
@media (min-width: 1024px) {
    .vetrina__visuale {
        display: block;
        position: relative;
    }
}
.vetrina__card {
    backdrop-filter: blur(16px);
    background: hsla(0, 0%, 100%, 0.08);
    border: 1px solid hsla(0, 0%, 100%, 0.15);
    border-radius: 0;
    padding: var(--sp-8);
    position: relative;
}
.vetrina__card-header {
    align-items: center;
    display: flex;
    gap: var(--sp-3);
    margin-bottom: var(--sp-6);
}
.vetrina__card-dot {
    animation: pulse 2s infinite;
    background: var(--smeraldo);
    border-radius: var(--rad-full);
    height: 12px;
    width: 12px;
}
@keyframes pulse {
    0%,
    to {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}
.vetrina__card-label {
    color: var(--bianco);
    font-size: var(--font-sm);
    font-weight: 600;
}
.vetrina__card-badge {
    background: rgba(4, 120, 87, 0.15);
    border: 1px solid rgba(4, 120, 87, 0.3);
    border-radius: 0;
    color: var(--smeraldo);
    font-size: var(--font-xs);
    font-weight: 600;
    margin-left: auto;
    padding: var(--sp-1) var(--sp-3);
}
.vetrina__stats {
    display: grid;
    gap: var(--sp-6);
    grid-template-columns: repeat(2, 1fr);
}
.vetrina__stat {
    background: hsla(0, 0%, 100%, 0.05);
    border-radius: 0;
    padding: var(--sp-4);
    text-align: center;
}
.vetrina__stat-valore {
    color: var(--bianco);
    display: block;
    font-size: var(--font-3xl);
    font-weight: 800;
}
.vetrina__stat-label {
    color: hsla(0, 0%, 100%, 0.7);
    font-size: var(--font-sm);
    margin-top: var(--sp-1);
}
.vetrina__stat-trend {
    align-items: center;
    color: var(--smeraldo-chiaro);
    display: inline-flex;
    font-size: var(--font-xs);
    gap: var(--sp-1);
    margin-top: var(--sp-2);
}
.vetrina__stat-trend svg {
    height: 14px;
    width: 14px;
}
@keyframes scorrimento-marquee {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
.vetrina__marquee {
    backdrop-filter: blur(12px);
    background: linear-gradient(90deg, rgba(107, 29, 58, 0.95), rgba(28, 25, 23, 0.9) 50%, rgba(107, 29, 58, 0.95));
    border-top: 1px solid rgba(184, 134, 11, 0.3);
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
}
.vetrina__marquee-traccia {
    animation: scorrimento-marquee 35s linear infinite;
    display: flex;
    width: -moz-max-content;
    width: max-content;
}
.vetrina__marquee:hover .vetrina__marquee-traccia {
    animation-play-state: paused;
}
.vetrina__marquee-contenuto {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: var(--sp-8);
    padding: var(--sp-3) var(--sp-4);
}
@media (min-width: 768px) {
    .vetrina__marquee-contenuto {
        gap: var(--sp-10);
        padding: var(--sp-4) var(--sp-6);
    }
}
.vetrina__marquee-item {
    align-items: center;
    color: var(--bianco);
    display: inline-flex;
    font-size: var(--font-sm);
    font-weight: 500;
    gap: var(--sp-2);
    letter-spacing: 0.01em;
    white-space: nowrap;
}
@media (min-width: 768px) {
    .vetrina__marquee-item {
        font-size: var(--font-base);
    }
}
.vetrina__marquee-item svg {
    color: var(--bronzo);
    flex-shrink: 0;
    height: 16px;
    width: 16px;
}
@media (min-width: 768px) {
    .vetrina__marquee-item svg {
        height: 18px;
        width: 18px;
    }
}
.vetrina__marquee-sep {
    color: var(--bronzo);
    font-size: var(--font-xs);
    opacity: 0.7;
}
.soluzioni {
    background: var(--sfondo-alt);
    overflow: hidden;
    position: relative;
}
.soluzioni__decor--1 {
    background: linear-gradient(
        135deg,
        transparent,
        transparent 50%,
        rgba(107, 29, 58, 0.04) 0,
        rgba(107, 29, 58, 0.08)
    );
    height: 100%;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
}
.soluzioni__decor--2 {
    background: linear-gradient(90deg, transparent 0, var(--bronzo) 50%, var(--borgogna) 100%);
    height: 3px;
    opacity: 0.13;
    pointer-events: none;
    position: absolute;
    right: -4px;
    top: 60px;
    transform: rotate(-45deg);
    transform-origin: right center;
    width: 300px;
}
.soluzioni__decor--3 {
    background: linear-gradient(45deg, rgba(184, 134, 11, 0.1), transparent 70%);
    bottom: 0;
    height: 200px;
    left: 0;
    pointer-events: none;
    position: absolute;
    width: 200px;
}
.soluzioni:before {
    background-image: linear-gradient(rgba(107, 29, 58, 0.03) 1px, transparent 0),
        linear-gradient(90deg, rgba(107, 29, 58, 0.03) 1px, transparent 0);
    background-size: 60px 60px;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.soluzioni:after {
    background: linear-gradient(
        180deg,
        transparent 0,
        var(--borgogna) 20%,
        var(--bronzo) 50%,
        var(--borgogna) 80%,
        transparent 100%
    );
    content: "";
    height: 70%;
    left: 0;
    position: absolute;
    top: 15%;
    width: 4px;
}
.soluzioni__griglia {
    display: grid;
    gap: var(--sp-8);
    position: relative;
    z-index: 1;
}
@media (min-width: 640px) {
    .soluzioni__griglia {
        gap: var(--sp-10);
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) {
    .soluzioni__griglia {
        grid-template-columns: repeat(3, 1fr);
    }
}
.soluzione {
    padding: var(--sp-6);
    position: relative;
}
.soluzione__icona {
    height: 56px;
    margin-bottom: var(--sp-4);
    width: 56px;
}
.soluzione__icona img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%;
}
.soluzione__titolo {
    color: var(--testo);
    font-size: var(--font-lg);
    font-weight: 700;
    margin-bottom: var(--sp-2);
}
.soluzione__testo {
    color: var(--testo-leggero);
    font-size: var(--font-sm);
    line-height: 1.7;
}
.dashboard {
    background: var(--sfondo-alt);
}
.dashboard__card {
    background-color: var(--bianco);
    background-image: linear-gradient(
            135deg,
            hsla(0, 0%, 100%, 0.95),
            hsla(0, 0%, 100%, 0.85) 50%,
            hsla(0, 0%, 100%, 0.6)
        ),
        url(../risorse/immagini/dashboard-bg.webp);
    background-position: 50%;
    background-repeat: no-repeat, no-repeat;
    background-size: cover;
    border: 1px solid var(--bordo-leggero);
    border-radius: 0;
    box-shadow: var(--ombra-lg);
    padding: var(--sp-8);
    position: relative;
}
@media (min-width: 768px) {
    .dashboard__card {
        padding: var(--sp-10);
    }
}
.dashboard__header {
    align-items: center;
    border-bottom: 1px solid var(--bordo-leggero);
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-4);
    margin-bottom: var(--sp-8);
    padding-bottom: var(--sp-6);
}
.dashboard__indicatore {
    align-items: center;
    display: flex;
    gap: var(--sp-3);
}
.dashboard__punto {
    animation: pulse 2s infinite;
    background: var(--smeraldo);
    border-radius: var(--rad-full);
    height: 12px;
    width: 12px;
}
.dashboard__titolo {
    color: var(--testo);
    font-size: var(--font-lg);
    font-weight: 700;
}
.dashboard__badge {
    background: var(--smeraldo-pallido);
    border-radius: var(--rad-full);
    color: var(--smeraldo-scuro);
    font-size: var(--font-xs);
    font-weight: 600;
    padding: var(--sp-1) var(--sp-3);
}
.dashboard__griglia {
    display: grid;
    gap: var(--sp-6);
}
@media (min-width: 640px) {
    .dashboard__griglia {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) {
    .dashboard__griglia {
        grid-template-columns: repeat(4, 1fr);
    }
}
.dashboard__stat {
    background: var(--sfondo-alt);
    border-radius: 0;
    padding: var(--sp-6);
    text-align: center;
}
.dashboard__stat-valore {
    color: var(--borgogna);
    font-size: var(--font-4xl);
    font-weight: 800;
}
.dashboard__stat-label {
    color: var(--testo-leggero);
    font-size: var(--font-sm);
    margin-top: var(--sp-2);
}
.dashboard__stat-trend {
    align-items: center;
    color: var(--smeraldo);
    display: inline-flex;
    font-size: var(--font-xs);
    gap: var(--sp-1);
    margin-top: var(--sp-3);
}
.dashboard__stat-trend svg {
    height: 14px;
    width: 14px;
}
.conferme {
    overflow: hidden;
    position: relative;
}
.conferme__decor--1 {
    background: linear-gradient(
        135deg,
        transparent,
        transparent 50%,
        rgba(107, 29, 58, 0.04) 0,
        rgba(107, 29, 58, 0.08)
    );
    height: 100%;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
}
.conferme__decor--2 {
    background: linear-gradient(90deg, transparent 0, var(--bronzo) 50%, var(--borgogna) 100%);
    height: 3px;
    opacity: 0.13;
    pointer-events: none;
    position: absolute;
    right: -4px;
    top: 60px;
    transform: rotate(-45deg);
    transform-origin: right center;
    width: 300px;
}
.conferme__decor--3 {
    background: linear-gradient(45deg, rgba(184, 134, 11, 0.1), transparent 70%);
    bottom: 0;
    height: 200px;
    left: 0;
    pointer-events: none;
    position: absolute;
    width: 200px;
}
.recensioni__griglia {
    display: grid;
    gap: var(--sp-6);
}
@media (min-width: 640px) {
    .recensioni__griglia {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) {
    .recensioni__griglia {
        grid-template-columns: repeat(3, 1fr);
    }
}
.recensione {
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    border-radius: 0;
    padding: var(--sp-6);
    transition: all var(--trans-base);
}
.recensione:hover {
    border-color: var(--bordo);
    box-shadow: var(--ombra-lg);
}
.recensione__stelle {
    display: flex;
    gap: var(--sp-1);
    margin-bottom: var(--sp-4);
}
.recensione__stelle svg {
    color: var(--bronzo);
    fill: var(--bronzo);
    height: 18px;
    width: 18px;
}
.recensione__virgolette {
    color: var(--borgogna-pallido);
    height: 32px;
    margin-bottom: var(--sp-3);
    width: 32px;
}
.sezione--sfondo .recensione__virgolette {
    color: var(--borgogna);
    opacity: 0.2;
}
.recensione__citazione {
    color: var(--testo);
    font-size: var(--font-base);
    font-style: italic;
    line-height: 1.7;
    margin-bottom: var(--sp-6);
}
.recensione__footer {
    align-items: center;
    border-top: 1px solid var(--bordo-leggero);
    display: flex;
    gap: var(--sp-4);
    justify-content: space-between;
    padding-top: var(--sp-4);
}
.recensione__autore {
    align-items: center;
    display: flex;
    gap: var(--sp-3);
}
.recensione__avatar {
    border: 2px solid var(--bordo-leggero);
    border-radius: var(--rad-full);
    height: 48px;
    -o-object-fit: cover;
    object-fit: cover;
    width: 48px;
}
.recensione__nome {
    color: var(--testo);
    font-weight: 600;
}
.recensione__luogo {
    color: var(--testo-leggero);
    font-size: var(--font-sm);
}
.recensione__meta {
    text-align: right;
}
.recensione__tipo {
    align-items: center;
    background: transparent;
    border: 1px solid var(--borgogna);
    color: var(--borgogna);
    display: inline-flex;
    font-size: var(--font-xs);
    font-weight: 700;
    gap: var(--sp-1);
    letter-spacing: 0.08em;
    margin-bottom: var(--sp-2);
    overflow: hidden;
    padding: var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-4);
    position: relative;
    text-transform: uppercase;
}
.recensione__tipo:before {
    background: var(--bronzo);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 3px;
}
.recensione__importo {
    color: var(--smeraldo);
    display: block;
    font-size: var(--font-lg);
    font-weight: 700;
}
@media (min-width: 768px) {
    .recensioni__griglia--3 {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 767px) {
    .recensioni__griglia--3 {
        grid-template-columns: 1fr;
    }
}
.identita {
    overflow: hidden;
    position: relative;
}
.identita__decor--1 {
    background: linear-gradient(
        -135deg,
        transparent,
        transparent 50%,
        rgba(107, 29, 58, 0.04) 0,
        rgba(107, 29, 58, 0.08)
    );
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 50%;
}
.identita__decor--2 {
    background: linear-gradient(-90deg, transparent 0, var(--bronzo) 50%, var(--borgogna) 100%);
    height: 3px;
    left: -4px;
    opacity: 0.13;
    pointer-events: none;
    position: absolute;
    top: 60px;
    transform: rotate(45deg);
    transform-origin: left center;
    width: 300px;
}
.identita__decor--3 {
    background: linear-gradient(-45deg, rgba(184, 134, 11, 0.1), transparent 70%);
    bottom: 0;
    height: 200px;
    pointer-events: none;
    position: absolute;
    right: 0;
    width: 200px;
}
.identita__griglia {
    display: grid;
    gap: var(--sp-6);
    margin-top: var(--sp-12);
}
@media (min-width: 768px) {
    .identita__griglia {
        gap: var(--sp-8);
        grid-template-columns: repeat(3, 1fr);
    }
}
.identita__card {
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    padding: var(--sp-8);
    position: relative;
    text-align: center;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
.identita__card:hover {
    box-shadow: var(--ombra-xl);
    transform: translateY(-4px);
}
.identita__card-numero {
    color: var(--borgogna);
    font-size: clamp(2.5rem, 6vw, 3.5rem);
    font-weight: 800;
    line-height: 1;
    margin-bottom: var(--sp-4);
}
.identita__card-icona {
    align-items: center;
    background: linear-gradient(135deg, var(--borgogna) 0, var(--borgogna-scuro) 100%);
    border-radius: var(--rad-full);
    display: flex;
    height: 80px;
    justify-content: center;
    margin: 0 auto var(--sp-4);
    width: 80px;
}
.identita__card-icona svg {
    color: var(--bianco);
    height: 40px;
    width: 40px;
}
.identita__card--evidenza {
    background: linear-gradient(135deg, var(--borgogna) 0, var(--borgogna-scuro) 100%);
    border-color: transparent;
}
.identita__card--evidenza .identita__card-testo,
.identita__card--evidenza .identita__card-titolo {
    color: var(--bianco);
}
.identita__card--evidenza .identita__card-icona {
    background: hsla(0, 0%, 100%, 0.2);
}
.identita__card--evidenza:hover {
    transform: translateY(-4px) scale(1.02);
}
.identita__card-titolo {
    color: var(--testo);
    font-size: var(--font-xl);
    font-weight: 700;
    margin-bottom: var(--sp-3);
}
.identita__card-testo {
    color: var(--testo-leggero);
    font-size: var(--font-base);
    line-height: 1.7;
}
.identita__caratteristiche {
    border-top: 1px solid var(--bordo-leggero);
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-6) var(--sp-10);
    justify-content: center;
    margin-top: var(--sp-12);
    padding-top: var(--sp-8);
}
.identita__caratteristica {
    align-items: center;
    color: var(--testo);
    display: flex;
    font-size: var(--font-sm);
    font-weight: 500;
    gap: var(--sp-2);
}
.identita__caratteristica svg {
    color: var(--smeraldo);
    height: 20px;
    width: 20px;
}
.fasi {
    display: flex;
    flex-direction: column;
    gap: var(--sp-10);
}
.fasi__centro {
    display: flex;
    justify-content: center;
}
.fasi__immagine {
    border: 4px solid var(--borgogna);
    border-radius: var(--rad-full);
    box-shadow:
        0 0 0 8px rgba(107, 29, 58, 0.1),
        var(--ombra-lg);
    height: 240px;
    overflow: hidden;
    width: 240px;
}
.fasi__immagine img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}
.fasi__lista {
    display: flex;
    flex-direction: column;
    gap: var(--sp-6);
}
.fase {
    align-items: flex-start;
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    display: flex;
    gap: var(--sp-5);
    padding: var(--sp-6);
    transition: all var(--trans-base);
}
.fase:hover {
    border-color: var(--borgogna);
    box-shadow: var(--ombra-md);
}
.fase__numero {
    align-items: center;
    background: linear-gradient(135deg, var(--borgogna) 0, var(--borgogna-chiaro) 100%);
    border-radius: var(--rad-full);
    box-shadow: var(--ombra-borgogna);
    color: var(--bianco);
    display: flex;
    flex-shrink: 0;
    font-size: var(--font-lg);
    font-weight: 700;
    height: 48px;
    justify-content: center;
    width: 48px;
}
.fase__contenuto {
    flex: 1;
}
.fase__titolo {
    color: var(--testo);
    font-size: var(--font-xl);
    font-weight: 700;
    margin-bottom: var(--sp-2);
}
.fase__testo {
    color: var(--testo-leggero);
    font-size: var(--font-base);
    line-height: 1.6;
}
@media (min-width: 1024px) {
    .fasi {
        align-items: center;
        display: grid;
        gap: var(--sp-8);
        grid-template-columns: 1fr 320px 1fr;
        grid-template-rows: auto auto;
        padding-block: var(--sp-8);
        position: relative;
    }
    .fasi__centro {
        align-items: center;
        grid-column: 2;
        grid-row: 1/3;
        justify-content: center;
    }
    .fasi__immagine {
        border-width: 6px;
        box-shadow:
            0 0 0 12px rgba(107, 29, 58, 0.08),
            0 0 0 24px rgba(184, 134, 11, 0.06),
            var(--ombra-xl);
        height: 320px;
        width: 320px;
    }
    .fasi__lista {
        display: contents;
    }
    .fase {
        background: var(--bianco);
        border: 1px solid var(--bordo-leggero);
        padding: var(--sp-5);
        position: relative;
    }
    .fase--1 {
        flex-direction: row-reverse;
        grid-column: 1;
        grid-row: 1;
        text-align: right;
    }
    .fase--2 {
        grid-column: 3;
        grid-row: 1;
    }
    .fase--3 {
        flex-direction: row-reverse;
        grid-column: 1;
        grid-row: 2;
        text-align: right;
    }
    .fase--4 {
        grid-column: 3;
        grid-row: 2;
    }
    .fase:after {
        background: linear-gradient(90deg, var(--bordo) 0, var(--borgogna) 100%);
        content: "";
        height: 2px;
        position: absolute;
        top: 50%;
        width: 40px;
    }
    .fase--1:after,
    .fase--3:after {
        background: linear-gradient(90deg, var(--borgogna) 0, var(--bordo) 100%);
        right: -40px;
    }
    .fase--2:after,
    .fase--4:after {
        left: -40px;
    }
    .fase__numero {
        font-size: var(--font-xl);
        height: 52px;
        width: 52px;
    }
    .fase__titolo {
        font-size: var(--font-lg);
    }
    .fase__testo {
        font-size: var(--font-sm);
    }
}
.fasi__azione {
    margin-top: var(--sp-10);
    text-align: center;
}
.risposte__lista {
    display: flex;
    flex-direction: column;
    gap: var(--sp-4);
    margin: 0 auto;
    max-width: 880px;
}
.risposte-item {
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    border-radius: var(--rad-xl);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    position: relative;
    transition: all var(--trans-base);
}
.risposte-item:after,
.risposte-item:before {
    background: transparent;
    bottom: 0;
    content: "";
    pointer-events: none;
    position: absolute;
    top: 0;
    transition: background var(--trans-base);
    width: 4px;
    z-index: 2;
}
.risposte-item:before {
    border-radius: var(--rad-xl) 0 0 var(--rad-xl);
    left: 0;
}
.risposte-item:after {
    border-radius: 0 var(--rad-xl) var(--rad-xl) 0;
    right: 0;
}
.risposte-item:hover {
    border-color: var(--bordo);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}
.risposte-item.aperta {
    border-color: rgba(139, 42, 74, 0.2);
    box-shadow: 0 8px 32px rgba(139, 42, 74, 0.12);
}
.risposte-item.aperta:after,
.risposte-item.aperta:before {
    background: linear-gradient(180deg, var(--borgogna), var(--borgogna-scuro));
}
.risposte-item__trigger {
    align-items: center;
    background: none;
    cursor: pointer;
    display: flex;
    gap: var(--sp-4);
    padding: var(--sp-5) var(--sp-6);
    padding-left: var(--sp-7);
    padding-right: 0;
    text-align: left;
    width: 100%;
}
.risposte-item__num {
    align-items: center;
    background: linear-gradient(135deg, var(--borgogna-pallido), rgba(139, 42, 74, 0.08));
    border-radius: var(--rad-lg);
    border-radius: 0 12px 12px 0;
    color: var(--borgogna);
    display: flex;
    flex-shrink: 0;
    font-size: var(--font-sm);
    font-weight: 700;
    height: 40px;
    justify-content: center;
    transition: all var(--trans-base);
    width: 40px;
}
.risposte-item:hover .risposte-item__num {
    transform: scale(1.05);
}
.risposte-item.aperta .risposte-item__num {
    background: linear-gradient(135deg, var(--borgogna), var(--borgogna-scuro));
    box-shadow: 0 4px 12px rgba(139, 42, 74, 0.3);
    color: var(--bianco);
}
.risposte-item__domanda {
    color: var(--testo);
    flex: 1;
    font-size: var(--font-base);
    font-weight: 600;
    line-height: 1.5;
    transition: color var(--trans-fast);
}
@media (min-width: 768px) {
    .risposte-item__domanda {
        font-size: var(--font-lg);
    }
}
.risposte-item.aperta .risposte-item__domanda,
.risposte-item:hover .risposte-item__domanda {
    color: var(--borgogna);
}
.risposte-item__icona {
    align-items: center;
    background: linear-gradient(135deg, var(--borgogna-pallido), rgba(139, 42, 74, 0.08));
    border-radius: 12px 0 0 12px;
    color: var(--borgogna);
    display: flex;
    flex-shrink: 0;
    height: 40px;
    justify-content: center;
    transition:
        background var(--trans-base),
        box-shadow var(--trans-base),
        color var(--trans-base);
    width: 40px;
}
.risposte-item__icona svg {
    height: 20px;
    transition: transform var(--trans-base);
    width: 20px;
}
.risposte-item:hover .risposte-item__icona {
    background: linear-gradient(135deg, rgba(139, 42, 74, 0.15), rgba(139, 42, 74, 0.1));
}
.risposte-item.aperta .risposte-item__icona {
    background: linear-gradient(135deg, var(--borgogna), var(--borgogna-scuro));
    box-shadow: 0 4px 12px rgba(139, 42, 74, 0.3);
    color: var(--bianco);
}
.risposte-item.aperta .risposte-item__icona svg {
    transform: rotate(180deg);
}
.risposte-item__pannello {
    animation: faq-slide-in 0.3s ease-out;
    margin-left: calc(40px + var(--sp-4));
    padding: 0 var(--sp-6) var(--sp-6);
    padding-left: var(--sp-7);
}
@media (max-width: 575px) {
    .risposte-item__pannello {
        margin-left: 0;
        padding-left: var(--sp-5);
        padding-right: var(--sp-5);
    }
}
@keyframes faq-slide-in {
    0% {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.risposte-item__pannello[hidden] {
    display: none;
}
.risposte-item__risposta {
    background: var(--sfondo);
    border-left: 3px solid var(--borgogna-pallido);
    border-radius: var(--rad-lg);
    color: var(--testo-leggero);
    font-size: var(--font-base);
    line-height: 1.8;
    padding: var(--sp-4);
}
.risposte__lista--compatta {
    gap: var(--sp-3);
}
.risposte__lista--compatta .risposte-item__trigger {
    padding: var(--sp-4) var(--sp-5);
    padding-left: var(--sp-6);
}
.risposte__lista--compatta .risposte-item__pannello {
    padding: 0 var(--sp-5) var(--sp-5);
    padding-left: var(--sp-6);
}
.approfondimenti {
    overflow: hidden;
    position: relative;
}
.approfondimenti__sfondo {
    background-color: var(--borgogna);
    background-image: url(../risorse/immagini/approfondimenti-bg-mob.webp);
    background-position: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    inset: 0;
    position: absolute;
}
@media (min-width: 1200px) {
    .approfondimenti__sfondo {
        background-image: url(../risorse/immagini/approfondimenti-bg.webp);
        background-position: 50%;
    }
}
.approfondimenti__sfondo:after {
    background: linear-gradient(135deg, rgba(107, 29, 58, 0.95), rgba(107, 29, 58, 0.88) 50%, rgba(60, 16, 32, 0.95));
    content: "";
    inset: 0;
    position: absolute;
}
.approfondimenti .involucro {
    position: relative;
    z-index: 1;
}
.intestazione-sez--chiara .titolo-sez {
    color: var(--bianco);
}
.intestazione-sez--chiara .desc-sez {
    color: hsla(0, 0%, 100%, 0.8);
}
.badge--chiaro {
    background: hsla(0, 0%, 100%, 0.15);
    border-color: var(--bronzo);
    color: var(--bronzo-chiaro);
}
.approfondimenti__lista {
    display: flex;
    flex-direction: column;
    gap: var(--sp-5);
}
.guida {
    --guida-inset: var(--sp-3);
    align-items: flex-start;
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    border-radius: var(--rad-xl);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    display: flex;
    gap: var(--sp-3);
    overflow: hidden;
    padding: var(--sp-4);
    padding-left: 0;
    padding-right: 0;
    position: relative;
    transition: all var(--trans-base);
}
.guida:hover {
    border-color: var(--bordo);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}
.guida__numero {
    align-items: center;
    background: linear-gradient(135deg, var(--borgogna-pallido), rgba(139, 42, 74, 0.08));
    border-radius: 0 var(--rad-md) var(--rad-md) 0;
    bottom: var(--guida-inset);
    color: var(--borgogna);
    display: flex;
    font-size: var(--font-sm);
    font-weight: 700;
    justify-content: center;
    left: 0;
    position: absolute;
    top: var(--guida-inset);
    width: 36px;
}
.guida__corpo {
    flex: 1;
    min-width: 0;
    padding-left: calc(36px + var(--sp-3));
    padding-right: calc(36px + var(--sp-3));
}
.guida__tag {
    background: var(--borgogna-pallido);
    border-radius: var(--rad-sm);
    color: var(--borgogna);
    display: inline-block;
    font-size: var(--font-xs);
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-bottom: var(--sp-3);
    padding: var(--sp-1) var(--sp-3);
    text-transform: uppercase;
}
.guida__titolo {
    color: var(--testo);
    font-size: var(--font-lg);
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: var(--sp-2);
}
.guida__titolo a {
    transition: color var(--trans-fast);
}
.guida__titolo a:hover {
    color: var(--borgogna);
}
.guida__estratto {
    color: var(--testo-leggero);
    font-size: var(--font-sm);
    line-height: 1.6;
    margin-bottom: var(--sp-4);
}
.guida__footer {
    align-items: center;
    color: var(--testo-leggero);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--font-xs);
    gap: var(--sp-2) var(--sp-4);
}
.guida__autore {
    color: var(--testo);
    font-weight: 500;
}
.guida__tempo {
    align-items: center;
    display: flex;
    gap: var(--sp-1);
}
.guida__tempo:before {
    color: var(--bordo);
    content: "•";
}
.guida__link {
    align-items: center;
    background: linear-gradient(135deg, var(--borgogna-pallido), rgba(139, 42, 74, 0.08));
    border-radius: var(--rad-md) 0 0 var(--rad-md);
    bottom: var(--guida-inset);
    color: var(--borgogna);
    display: flex;
    justify-content: center;
    position: absolute;
    right: 0;
    top: var(--guida-inset);
    transition: all var(--trans-base);
    width: 36px;
}
.guida__link svg {
    height: 18px;
    width: 18px;
}
.guida__link:hover {
    background: linear-gradient(135deg, var(--borgogna), var(--borgogna-scuro));
    color: var(--bianco);
}
.approfondimenti__azione {
    margin-top: var(--sp-10);
    text-align: center;
}
.btn--chiaro {
    background: transparent;
    border: 2px solid hsla(0, 0%, 100%, 0.4);
    color: var(--bianco);
}
.btn--chiaro:hover {
    background: var(--bianco);
    border-color: var(--bianco);
    color: var(--borgogna);
}
@media (min-width: 768px) {
    .guida {
        --guida-inset: var(--sp-4);
        gap: var(--sp-5);
        padding: var(--sp-6);
        padding-left: 0;
        padding-right: 0;
    }
    .guida__numero {
        border-radius: 0 var(--rad-lg) var(--rad-lg) 0;
        font-size: var(--font-base);
        width: 48px;
    }
    .guida__corpo {
        padding-left: calc(48px + var(--sp-4));
        padding-right: calc(48px + var(--sp-4));
    }
    .guida__titolo {
        font-size: var(--font-xl);
    }
    .guida__estratto {
        font-size: var(--font-base);
    }
    .guida__footer {
        font-size: var(--font-sm);
    }
    .guida__link {
        border-radius: var(--rad-lg) 0 0 var(--rad-lg);
        width: 48px;
    }
    .guida__link svg {
        height: 20px;
        width: 20px;
    }
}
@media (min-width: 1024px) {
    .guida {
        --guida-inset: var(--sp-5);
        padding: var(--sp-8);
        padding-left: 0;
        padding-right: 0;
    }
    .guida__numero {
        font-size: var(--font-lg);
        width: 56px;
    }
    .guida__corpo {
        padding-left: calc(56px + var(--sp-5));
        padding-right: calc(56px + var(--sp-5));
    }
    .guida__estratto {
        max-width: 85%;
    }
    .guida__link {
        width: 56px;
    }
    .guida__link svg {
        height: 22px;
        width: 22px;
    }
}
.modale-overlay {
    backdrop-filter: blur(6px);
    background: rgba(28, 25, 23, 0.7);
    inset: 0;
    opacity: 0;
    position: fixed;
    transition: all var(--trans-base);
    visibility: hidden;
    z-index: 2000;
}
.modale-overlay.visibile {
    opacity: 1;
    visibility: visible;
}
.modale {
    background: var(--bianco);
    z-index: 2001;
}
.modale.visibile {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
    visibility: visible;
}
.modale__contenitore {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - var(--sp-8));
}
.modale__intestazione {
    align-items: flex-start;
    background: linear-gradient(135deg, var(--borgogna) 0, var(--borgogna-scuro) 100%);
    color: var(--bianco);
    display: flex;
    gap: var(--sp-4);
    justify-content: space-between;
    padding: var(--sp-6);
}
.modale__titolo {
    font-size: var(--font-xl);
    font-weight: 700;
    line-height: 1.3;
}
.modale__sottotitolo {
    color: hsla(0, 0%, 100%, 0.75);
    font-size: var(--font-sm);
    margin-top: var(--sp-2);
}
.modale__chiudi {
    align-items: center;
    background: hsla(0, 0%, 100%, 0.1);
    border: none;
    color: hsla(0, 0%, 100%, 0.8);
    cursor: pointer;
    display: flex;
    flex-shrink: 0;
    height: 36px;
    justify-content: center;
    transition: all var(--trans-fast);
    width: 36px;
}
.modale__chiudi:hover {
    background: hsla(0, 0%, 100%, 0.2);
    color: var(--bianco);
}
.modale__chiudi svg {
    height: 20px;
    width: 20px;
}
.modale__corpo {
    flex: 1;
    overflow-y: auto;
    padding: var(--sp-6);
}
.modale__riga {
    display: grid;
    gap: var(--sp-4);
}
@media (min-width: 480px) {
    .modale__riga {
        grid-template-columns: 1fr 1fr;
    }
}
.modale__nota {
    align-items: center;
    color: var(--testo-leggero);
    display: flex;
    font-size: var(--font-xs);
    gap: var(--sp-2);
    justify-content: center;
    margin-top: var(--sp-5);
    text-align: center;
}
.modale__nota svg {
    color: var(--smeraldo);
    flex-shrink: 0;
}
.campo {
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
    margin-bottom: var(--sp-4);
}
.campo__etichetta {
    color: var(--testo);
    font-size: var(--font-sm);
    font-weight: 600;
}
.campo__opzionale {
    color: var(--testo-leggero);
    font-weight: 400;
}
.campo__input,
.campo__select,
.campo__textarea {
    background: var(--bianco);
    border: 2px solid var(--bordo);
    color: var(--testo);
    font-size: var(--font-base);
    padding: var(--sp-3) var(--sp-4);
    transition: all var(--trans-fast);
    width: 100%;
}
.campo__input:focus,
.campo__select:focus,
.campo__textarea:focus {
    border-color: var(--borgogna);
    box-shadow: 0 0 0 3px var(--borgogna-pallido);
    outline: none;
}
.campo__input::-moz-placeholder,
.campo__textarea::-moz-placeholder {
    color: var(--grigio-medio);
}
.campo__input::placeholder,
.campo__textarea::placeholder {
    color: var(--grigio-medio);
}
.campo__select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2378716c' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-position: right var(--sp-4) center;
    background-repeat: no-repeat;
    cursor: pointer;
    padding-right: var(--sp-10);
}
.campo__textarea {
    min-height: 80px;
    resize: vertical;
}
.campo__errore {
    color: var(--errore);
    display: none;
    font-size: var(--font-xs);
    margin-top: var(--sp-1);
}
.campo.ha-errore .campo__input,
.campo.ha-errore .campo__select {
    border-color: var(--errore);
}
.campo.ha-errore .campo__errore {
    display: block;
}
.telefono-wrapper {
    background: var(--bianco);
    border: 2px solid var(--bordo);
    display: flex;
    transition:
        border-color var(--trans-fast),
        box-shadow var(--trans-fast);
}
.telefono-wrapper:focus-within {
    border-color: var(--borgogna);
    box-shadow: 0 0 0 3px var(--borgogna-pallido);
}
.campo.ha-errore .telefono-wrapper {
    border-color: var(--errore);
}
.telefono__prefisso {
    align-items: center;
    background: var(--sfondo-alt);
    border-right: 2px solid var(--bordo);
    display: flex;
    gap: var(--sp-2);
    padding: var(--sp-3);
}
.telefono__bandiera {
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
    height: 18px;
    width: 24px;
}
.telefono__prefisso span {
    color: var(--testo);
    font-size: var(--font-sm);
    font-weight: 600;
}
.telefono__input {
    border: none !important;
    box-shadow: none !important;
    flex: 1;
}
.telefono__input:focus {
    outline: none;
}
@media (max-width: 479px) {
    .modale__intestazione {
        padding: var(--sp-4);
    }
    .modale__titolo {
        font-size: var(--font-lg);
    }
    .modale__sottotitolo {
        font-size: var(--font-xs);
        margin-top: var(--sp-1);
    }
    .modale__corpo {
        padding: var(--sp-4);
    }
    .campo {
        gap: var(--sp-1);
        margin-bottom: var(--sp-3);
    }
    .campo__input,
    .campo__select {
        padding: var(--sp-3);
    }
    .campo--checkbox {
        margin-bottom: var(--sp-2);
    }
    .campo__checkbox-text,
    .modale__nota {
        font-size: var(--font-xs);
    }
    .modale__nota {
        margin-top: var(--sp-3);
    }
    .modale__riga {
        gap: var(--sp-3);
    }
}
.campo--checkbox {
    margin-bottom: var(--sp-3);
}
.campo__checkbox-label {
    align-items: flex-start;
    cursor: pointer;
    display: flex;
    gap: var(--sp-3);
}
.campo__checkbox-label input {
    height: 0;
    opacity: 0;
    position: absolute;
    width: 0;
}
.campo__checkbox-box {
    align-items: center;
    background: var(--bianco);
    border: 2px solid var(--bordo);
    display: flex;
    flex-shrink: 0;
    height: 20px;
    justify-content: center;
    margin-top: 2px;
    transition: all var(--trans-fast);
    width: 20px;
}
.campo__checkbox-box svg {
    color: var(--bianco);
    opacity: 0;
    transition: opacity var(--trans-fast);
}
.campo__checkbox-label input:checked + .campo__checkbox-box {
    background: var(--borgogna);
    border-color: var(--borgogna);
}
.campo__checkbox-label input:checked + .campo__checkbox-box svg {
    opacity: 1;
}
.campo__checkbox-label input:focus + .campo__checkbox-box {
    box-shadow: 0 0 0 3px var(--borgogna-pallido);
}
.campo__checkbox-testo {
    color: var(--testo-leggero);
    font-size: var(--font-sm);
    line-height: 1.5;
}
.campo__checkbox-testo a {
    color: var(--borgogna);
    text-decoration: underline;
}
.campo__checkbox-testo a:hover {
    color: var(--borgogna-scuro);
}
.campo--nascosto {
    left: -9999px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
}
.btn--largo {
    justify-content: center;
    width: 100%;
}
.btn__caricamento {
    align-items: center;
    display: none;
    gap: var(--sp-2);
}
.btn__spinner {
    animation: ruota 1s linear infinite;
}
@keyframes ruota {
    0% {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(1turn);
    }
}
.btn--caricando .btn__icona,
.btn--caricando .btn__testo {
    display: none;
}
.btn--caricando .btn__caricamento {
    display: flex;
}
.btn--caricando {
    opacity: 0.8;
    pointer-events: none;
}
.cta-sezione {
    background: linear-gradient(135deg, var(--borgogna-scuro) 0, var(--borgogna) 50%, var(--borgogna-chiaro) 100%);
    color: var(--bianco);
    overflow: hidden;
    position: relative;
    text-align: center;
}
.cta-sezione:before {
    background: radial-gradient(ellipse at center, rgba(184, 134, 11, 0.1) 0, transparent 60%);
    content: "";
    height: 100%;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 150%;
}
.cta-sezione__inner {
    margin: 0 auto;
    max-width: 700px;
    position: relative;
}
.cta-sezione .badge {
    background: hsla(0, 0%, 100%, 0.15);
    border: 1px solid hsla(0, 0%, 100%, 0.2);
    color: var(--bianco);
}
.cta-sezione__titolo {
    font-size: var(--font-3xl);
    font-weight: 800;
    margin-top: var(--sp-4);
}
.cta-sezione__testo {
    color: hsla(0, 0%, 100%, 0.8);
    font-size: var(--font-lg);
    margin-top: var(--sp-4);
}
.cta-sezione__azioni {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-4);
    justify-content: center;
    margin-top: var(--sp-8);
}
.piede {
    background: var(--nero);
    color: var(--bianco);
}
.piede__cta {
    background: linear-gradient(135deg, var(--borgogna) 0, var(--borgogna-scuro) 100%);
    padding: var(--sp-10) 0;
}
.piede__cta-inner {
    display: flex;
    flex-direction: column;
    gap: var(--sp-6);
    text-align: center;
}
.piede__cta-titolo {
    color: var(--bianco);
    font-size: var(--font-2xl);
    font-weight: 700;
}
.piede__cta-desc {
    color: hsla(0, 0%, 100%, 0.8);
    font-size: var(--font-base);
    margin: 0 auto;
    max-width: 500px;
}
.btn--bronzo {
    background: linear-gradient(135deg, var(--bronzo) 0, var(--bronzo-scuro) 100%);
    border: none;
    color: var(--bianco);
}
.btn--bronzo:hover {
    background: linear-gradient(135deg, var(--bronzo-chiaro) 0, var(--bronzo) 100%);
    box-shadow: 0 8px 24px rgba(184, 134, 11, 0.3);
    transform: translateY(-2px);
}
@media (min-width: 768px) {
    .piede__cta-inner {
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }
    .piede__cta-desc {
        margin: 0;
    }
}
.piede__principale {
    padding: var(--sp-12) 0;
}
@media (min-width: 768px) {
    .piede__principale {
        padding: var(--sp-16) 0;
    }
}
.piede__griglia {
    display: grid;
    gap: var(--sp-10);
}
@media (min-width: 768px) {
    .piede__griglia {
        gap: var(--sp-8);
        grid-template-columns: 1.2fr 1.5fr 1fr;
    }
}
@media (min-width: 1024px) {
    .piede__griglia {
        gap: var(--sp-12);
    }
}
.piede__brand {
    max-width: 320px;
}
.piede__logo img {
    height: 64px;
}
@media (min-width: 768px) {
    .piede__logo img {
        height: 72px;
    }
}
.piede__desc {
    color: hsla(0, 0%, 100%, 0.6);
    font-size: var(--font-sm);
    line-height: 1.7;
    margin-bottom: var(--sp-6);
    margin-top: var(--sp-5);
}
.piede__info {
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
}
.piede__email {
    color: var(--bronzo-chiaro);
    font-size: var(--font-sm);
    transition: color var(--trans-fast);
}
.piede__email:hover {
    color: var(--bronzo);
}
.piede__orari {
    color: hsla(0, 0%, 100%, 0.5);
    font-size: var(--font-xs);
}
.piede__nav {
    display: grid;
    gap: var(--sp-8);
    grid-template-columns: 1fr 1fr;
}
.piede__titolo {
    border-bottom: 1px solid hsla(0, 0%, 100%, 0.1);
    color: var(--bronzo);
    font-size: var(--font-xs);
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: var(--sp-5);
    padding-bottom: var(--sp-3);
    text-transform: uppercase;
}
.piede__lista {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
}
.piede__lista a {
    color: hsla(0, 0%, 100%, 0.6);
    font-size: var(--font-sm);
    transition: all var(--trans-fast);
}
.piede__lista a:hover {
    color: var(--bianco);
    padding-left: var(--sp-2);
}
.piede__fiducia {
    border-left: 1px solid hsla(0, 0%, 100%, 0.1);
    padding-left: var(--sp-6);
}
@media (max-width: 767px) {
    .piede__fiducia {
        border-left: none;
        border-top: 1px solid hsla(0, 0%, 100%, 0.1);
        padding-left: 0;
        padding-top: var(--sp-6);
    }
}
.piede__garanzie {
    display: flex;
    flex-direction: column;
    gap: var(--sp-4);
}
.piede__garanzie li {
    align-items: center;
    color: hsla(0, 0%, 100%, 0.7);
    display: flex;
    font-size: var(--font-sm);
    gap: var(--sp-3);
}
.piede__garanzie svg {
    color: var(--smeraldo);
    flex-shrink: 0;
}
.piede__fondo {
    background: rgba(0, 0, 0, 0.3);
    padding: var(--sp-5) 0;
}
.piede__fondo-inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--sp-4);
    text-align: center;
}
@media (min-width: 768px) {
    .piede__fondo-inner {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }
}
.piede__copy {
    color: hsla(0, 0%, 100%, 0.4);
    font-size: var(--font-xs);
}
.piede__legale {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-2);
}
.piede__legale a,
.piede__legale button {
    background: none;
    border: none;
    color: hsla(0, 0%, 100%, 0.4);
    cursor: pointer;
    font-size: var(--font-xs);
    transition: color var(--trans-fast);
}
.piede__legale a:hover,
.piede__legale button:hover {
    color: var(--bronzo-chiaro);
}
.piede__sep {
    color: hsla(0, 0%, 100%, 0.2);
    font-size: var(--font-xs);
}
.cookie-banner {
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    border-radius: var(--rad-xl);
    bottom: var(--sp-4);
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.15),
        0 8px 24px rgba(107, 29, 58, 0.1);
    left: var(--sp-4);
    margin-left: auto;
    max-width: 380px;
    padding: var(--sp-5);
    position: fixed;
    right: var(--sp-4);
    transform: translateY(calc(100% + var(--sp-8)));
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 3000;
}
@media (min-width: 480px) {
    .cookie-banner {
        left: auto;
        padding: var(--sp-6);
    }
}
.cookie-banner.visibile {
    transform: translateY(0);
}
.cookie-banner__icona {
    align-items: center;
    background: linear-gradient(135deg, var(--borgogna-pallido), rgba(107, 29, 58, 0.08));
    border-radius: var(--rad-lg);
    color: var(--borgogna);
    display: flex;
    height: 44px;
    justify-content: center;
    margin-bottom: var(--sp-4);
    width: 44px;
}
.cookie-banner__icona svg {
    height: 27px;
    width: 27px;
}
.cookie-banner__contenuto {
    margin-bottom: var(--sp-4);
}
.cookie-banner__titolo {
    color: var(--testo);
    font-size: var(--font-base);
    font-weight: 700;
    margin-bottom: var(--sp-2);
}
.cookie-banner__testo {
    color: var(--testo-leggero);
    font-size: var(--font-sm);
    line-height: 1.6;
}
.cookie-banner__azioni {
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
    margin-bottom: var(--sp-3);
}
@media (min-width: 400px) {
    .cookie-banner__azioni {
        flex-direction: row;
        gap: var(--sp-3);
    }
}
.cookie-banner__btn {
    border-radius: var(--rad-md);
    cursor: pointer;
    flex: 1;
    font-size: var(--font-sm);
    font-weight: 600;
    padding: var(--sp-2) var(--sp-4);
    transition: all var(--trans-fast);
}
.cookie-banner__btn--primario {
    background: var(--borgogna);
    color: var(--bianco);
}
.cookie-banner__btn--primario:hover {
    background: var(--borgogna-chiaro);
}
.cookie-banner__btn--secondario {
    background: var(--sfondo-alt);
    border: 1px solid var(--bordo);
    color: var(--testo);
}
.cookie-banner__btn--secondario:hover {
    background: var(--sfondo);
    border-color: var(--bordo);
}
.cookie-banner__link {
    border-radius: var(--rad-sm);
    color: var(--testo-leggero);
    cursor: pointer;
    display: block;
    font-size: var(--font-xs);
    font-weight: 500;
    padding: var(--sp-2);
    text-align: center;
    transition: all var(--trans-fast);
    width: 100%;
}
.cookie-banner__link:hover {
    background: var(--borgogna-pallido);
    color: var(--borgogna);
}
.cookie-modale {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    opacity: 0;
    padding: var(--sp-4);
    position: fixed;
    transition: all var(--trans-base);
    visibility: hidden;
    z-index: 3001;
}
.cookie-modale.visibile {
    opacity: 1;
    visibility: visible;
}
.cookie-modale__sfondo {
    backdrop-filter: blur(6px);
    background: rgba(28, 25, 23, 0.6);
    inset: 0;
    position: absolute;
}
.cookie-modale__card {
    background: var(--bianco);
    border-radius: var(--rad-2xl);
    box-shadow:
        0 32px 80px rgba(0, 0, 0, 0.2),
        0 12px 32px rgba(107, 29, 58, 0.1);
    max-height: 90vh;
    max-width: 520px;
    overflow-y: auto;
    position: relative;
    transform: scale(0.95) translateY(20px);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    width: 100%;
}
.cookie-modale.visibile .cookie-modale__card {
    transform: scale(1) translateY(0);
}
.cookie-modale__header {
    align-items: center;
    background: linear-gradient(135deg, var(--borgogna-pallido) 0, var(--sfondo) 100%);
    border-bottom: 1px solid var(--bordo-leggero);
    display: flex;
    gap: var(--sp-3);
    padding: var(--sp-5) var(--sp-6);
}
.cookie-modale__header-icona {
    align-items: center;
    background: var(--bianco);
    border-radius: var(--rad-lg);
    box-shadow: var(--ombra-sm);
    color: var(--borgogna);
    display: flex;
    height: 40px;
    justify-content: center;
    width: 40px;
}
.cookie-modale__header-icona svg {
    height: 20px;
    width: 20px;
}
.cookie-modale__titolo {
    color: var(--testo);
    flex: 1;
    font-size: var(--font-lg);
    font-weight: 700;
}
.cookie-modale__chiudi {
    align-items: center;
    border-radius: var(--rad-full);
    color: var(--testo-leggero);
    cursor: pointer;
    display: flex;
    height: 36px;
    justify-content: center;
    transition: all var(--trans-fast);
    width: 36px;
}
.cookie-modale__chiudi:hover {
    background: var(--bianco);
    box-shadow: var(--ombra-sm);
    color: var(--borgogna);
}
.cookie-modale__chiudi svg {
    height: 18px;
    width: 18px;
}
.cookie-modale__intro {
    background: var(--sfondo-alt);
    border-bottom: 1px solid var(--bordo-leggero);
    padding: var(--sp-4) var(--sp-6);
}
.cookie-modale__intro p {
    color: var(--testo-leggero);
    font-size: var(--font-sm);
    line-height: 1.6;
}
.cookie-modale__corpo {
    padding: var(--sp-4) var(--sp-6);
}
.cookie-modale__opzione {
    align-items: center;
    background: var(--sfondo);
    border: 1px solid var(--bordo-leggero);
    border-radius: var(--rad-lg);
    display: flex;
    gap: var(--sp-4);
    margin-bottom: var(--sp-3);
    padding: var(--sp-4);
    transition: all var(--trans-fast);
}
.cookie-modale__opzione:last-child {
    margin-bottom: 0;
}
.cookie-modale__opzione:hover {
    border-color: var(--bordo);
}
.cookie-modale__opzione--bloccato {
    background: linear-gradient(135deg, var(--smeraldo-pallido), rgba(16, 185, 129, 0.05));
    border-color: rgba(16, 185, 129, 0.2);
}
.cookie-modale__opzione-icona {
    align-items: center;
    background: var(--bianco);
    border-radius: var(--rad-md);
    box-shadow: var(--ombra-xs);
    color: var(--borgogna);
    display: flex;
    flex-shrink: 0;
    height: 40px;
    justify-content: center;
    width: 40px;
}
.cookie-modale__opzione--bloccato .cookie-modale__opzione-icona {
    color: var(--smeraldo);
}
.cookie-modale__opzione-icona svg {
    height: 20px;
    width: 20px;
}
.cookie-modale__opzione-info {
    flex: 1;
    min-width: 0;
}
.cookie-modale__opzione-info h4 {
    color: var(--testo);
    font-size: var(--font-sm);
    font-weight: 600;
    margin-bottom: var(--sp-1);
}
.cookie-modale__opzione-info p {
    color: var(--testo-leggero);
    font-size: var(--font-xs);
    line-height: 1.5;
}
.cookie-modale__stato {
    flex-shrink: 0;
}
.cookie-modale__stato-testo {
    background: rgba(16, 185, 129, 0.1);
    border-radius: var(--rad-full);
    color: var(--smeraldo);
    display: inline-block;
    font-size: var(--font-xs);
    font-weight: 600;
    padding: var(--sp-1) var(--sp-3);
}
.cookie-modale__toggle {
    cursor: pointer;
    flex-shrink: 0;
    height: 26px;
    position: relative;
    width: 48px;
}
.cookie-modale__toggle input {
    height: 0;
    opacity: 0;
    position: absolute;
    width: 0;
}
.cookie-modale__toggle-slider {
    background: var(--grigio-caldo);
    border-radius: var(--rad-full);
    inset: 0;
    position: absolute;
    transition: background var(--trans-fast);
}
.cookie-modale__toggle-slider:before {
    background: var(--bianco);
    border-radius: var(--rad-full);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    content: "";
    height: 20px;
    left: 3px;
    position: absolute;
    top: 3px;
    transition: transform var(--trans-fast);
    width: 20px;
}
.cookie-modale__toggle input:checked + .cookie-modale__toggle-slider {
    background: var(--smeraldo);
}
.cookie-modale__toggle input:checked + .cookie-modale__toggle-slider:before {
    transform: translateX(22px);
}
.cookie-modale__footer {
    background: var(--sfondo);
    border-top: 1px solid var(--bordo-leggero);
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    padding: var(--sp-5) var(--sp-6);
}
@media (min-width: 480px) {
    .cookie-modale__footer {
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
    }
}
.cookie-modale__privacy-link {
    color: var(--testo-leggero);
    font-size: var(--font-xs);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color var(--trans-fast);
}
.cookie-modale__privacy-link:hover {
    color: var(--borgogna);
}
.cookie-modale__footer-azioni {
    display: flex;
    gap: var(--sp-2);
}
.cookie-modale__btn {
    border-radius: var(--rad-md);
    cursor: pointer;
    font-size: var(--font-sm);
    font-weight: 600;
    padding: var(--sp-2) var(--sp-4);
    transition: all var(--trans-fast);
    white-space: nowrap;
}
.cookie-modale__btn--outline {
    background: var(--bianco);
    border: 1px solid var(--bordo);
    color: var(--testo);
}
.cookie-modale__btn--outline:hover {
    border-color: var(--borgogna);
    color: var(--borgogna);
}
.cookie-modale__btn--solido {
    background: var(--borgogna);
    color: var(--bianco);
}
.cookie-modale__btn--solido:hover {
    background: var(--borgogna-chiaro);
}
.scroll-su {
    align-items: center;
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    border-radius: var(--rad-full);
    bottom: var(--sp-6);
    box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.12),
        0 2px 8px rgba(107, 29, 58, 0.08);
    cursor: pointer;
    display: flex;
    height: 52px;
    justify-content: center;
    opacity: 0;
    position: fixed;
    right: var(--sp-6);
    transform: translateY(20px) scale(0.9);
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    visibility: hidden;
    width: 52px;
    z-index: 100;
}
.scroll-su.visibile {
    opacity: 1;
    transform: translateY(0) scale(1);
    visibility: visible;
}
.scroll-su:hover {
    border-color: var(--borgogna);
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.15),
        0 4px 12px rgba(107, 29, 58, 0.12);
    transform: translateY(-4px) scale(1.05);
}
.scroll-su__progresso {
    height: 100%;
    inset: 0;
    position: absolute;
    transform: rotate(-90deg);
    width: 100%;
}
.scroll-su__traccia {
    stroke: var(--bordo-leggero);
}
.scroll-su__riempimento {
    stroke: var(--borgogna);
    stroke-dasharray: 126;
    stroke-dashoffset: 126;
    stroke-linecap: round;
    transition: stroke-dashoffset 0.1s ease-out;
}
.scroll-su__icona {
    align-items: center;
    color: var(--borgogna);
    display: flex;
    justify-content: center;
    position: relative;
    transition: transform var(--trans-fast);
    z-index: 1;
}
.scroll-su:hover .scroll-su__icona {
    transform: translateY(-2px);
}
.scroll-su__icona svg {
    height: 22px;
    width: 22px;
}
.pagina-hero {
    background: linear-gradient(145deg, var(--borgogna-scuro) 0, var(--borgogna) 50%, #6b2c3d 100%);
    color: var(--bianco);
    overflow: hidden;
    padding-bottom: var(--sp-16);
    padding-top: calc(var(--header-h-mobile) + var(--sp-16));
    position: relative;
    text-align: center;
}
.pagina-hero:before {
    background-image: radial-gradient(circle at 20% 80%, hsla(0, 0%, 100%, 0.03) 0, transparent 50%),
        radial-gradient(circle at 80% 20%, hsla(0, 0%, 100%, 0.05) 0, transparent 40%);
    bottom: 0;
    content: "";
    right: 0;
}
.pagina-hero:before,
.pagina-hero__decor--1 {
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
}
.pagina-hero__decor--1 {
    background: linear-gradient(
        -135deg,
        transparent,
        transparent 50%,
        hsla(0, 0%, 100%, 0.03) 0,
        hsla(0, 0%, 100%, 0.06)
    );
    height: 100%;
    width: 50%;
}
.pagina-hero__decor--2 {
    background: linear-gradient(-90deg, transparent 0, var(--bronzo) 50%, var(--borgogna) 100%);
    height: 3px;
    left: -4px;
    opacity: 0.13;
    pointer-events: none;
    position: absolute;
    top: 60px;
    transform: rotate(45deg);
    transform-origin: left center;
    width: 300px;
}
.pagina-hero__decor--3 {
    background: linear-gradient(-45deg, rgba(184, 134, 11, 0.08), transparent 60%);
    bottom: 0;
    height: 250px;
    pointer-events: none;
    position: absolute;
    right: 0;
    width: 250px;
}
.pagina-hero__inner {
    margin: 0 auto;
    max-width: 800px;
    padding-bottom: var(--sp-12);
    position: relative;
    z-index: 1;
}
.pagina-hero__etichetta {
    align-items: center;
    backdrop-filter: blur(4px);
    background: hsla(0, 0%, 100%, 0.1);
    border: 1px solid hsla(0, 0%, 100%, 0.15);
    border-radius: var(--rad-full);
    color: hsla(0, 0%, 100%, 0.9);
    display: inline-flex;
    font-size: var(--font-sm);
    font-weight: 500;
    gap: var(--sp-2);
    letter-spacing: 0.5px;
    padding: var(--sp-2) var(--sp-4);
    text-transform: uppercase;
}
.pagina-hero__etichetta:before {
    background: var(--bronzo);
    border-radius: 50%;
    content: "";
    height: 6px;
    width: 6px;
}
.pagina-hero__titolo {
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 3.25rem);
    font-weight: 700;
    line-height: 1.15;
    margin-top: var(--sp-5);
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.2);
}
.pagina-hero__titolo-accento {
    color: var(--bronzo);
}
.pagina-hero__desc {
    color: hsla(0, 0%, 100%, 0.85);
    font-size: var(--font-lg);
    line-height: 1.7;
    margin: var(--sp-5) auto 0;
    max-width: 650px;
}
.pagina-hero__stats {
    border-top: 1px solid hsla(0, 0%, 100%, 0.1);
    display: flex;
    gap: var(--sp-8);
    justify-content: center;
    margin-top: var(--sp-8);
    padding-top: var(--sp-6);
}
.pagina-hero__stat {
    text-align: center;
}
.pagina-hero__stat-numero {
    color: var(--bronzo);
    display: block;
    font-family: var(--font-display);
    font-size: var(--font-3xl);
    font-weight: 700;
}
.pagina-hero__stat-testo {
    color: hsla(0, 0%, 100%, 0.7);
    display: block;
    font-size: var(--font-sm);
    margin-top: var(--sp-1);
}
@media (min-width: 768px) {
    .pagina-hero__stats {
        gap: var(--sp-12);
    }
}
@media (min-width: 1024px) {
    .pagina-hero {
        padding-bottom: var(--sp-20);
        padding-top: calc(var(--header-h) + var(--sp-20));
    }
    .pagina-hero__deco-cerchio--1 {
        height: 500px;
        right: -120px;
        top: -180px;
        width: 500px;
    }
    .pagina-hero__deco-cerchio--2 {
        bottom: -150px;
        height: 400px;
        left: -100px;
        width: 400px;
    }
}
.collaboratori {
    background: var(--grigio-50);
    overflow: hidden;
    position: relative;
}
.collaboratori__decor--1 {
    background: linear-gradient(
        135deg,
        transparent,
        transparent 50%,
        rgba(107, 29, 58, 0.04) 0,
        rgba(107, 29, 58, 0.08)
    );
    height: 100%;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
}
.collaboratori__decor--2 {
    background: linear-gradient(90deg, transparent 0, var(--bronzo) 50%, var(--borgogna) 100%);
    height: 3px;
    opacity: 0.13;
    pointer-events: none;
    position: absolute;
    right: -4px;
    top: 60px;
    transform: rotate(-45deg);
    transform-origin: right center;
    width: 300px;
}
.collaboratori__decor--3 {
    background: linear-gradient(45deg, rgba(184, 134, 11, 0.1), transparent 70%);
    bottom: 0;
    height: 200px;
    left: 0;
    pointer-events: none;
    position: absolute;
    width: 200px;
}
.collaboratori__griglia {
    display: flex;
    flex-direction: column;
    gap: var(--sp-6);
}
.collaboratori__membro {
    background: var(--bianco);
    border-radius: var(--rad-xl);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    display: grid;
    grid-template-columns: 160px 1fr;
    overflow: hidden;
    transition:
        transform var(--trans-base),
        box-shadow var(--trans-base);
}
@media (min-width: 768px) {
    .collaboratori__membro {
        grid-template-columns: 220px 1fr;
    }
}
.collaboratori__membro:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}
.collaboratori__foto {
    aspect-ratio: 3/4;
    background: var(--grigio-100);
    overflow: hidden;
}
.collaboratori__foto img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: transform var(--trans-base);
    width: 100%;
}
.collaboratori__membro:hover .collaboratori__foto img {
    transform: scale(1.05);
}
.collaboratori__info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--sp-4) var(--sp-5);
}
@media (min-width: 768px) {
    .collaboratori__info {
        padding: var(--sp-6) var(--sp-8);
    }
}
.collaboratori__nome {
    color: var(--testo);
    font-family: var(--font-display);
    font-size: var(--font-lg);
    font-weight: 600;
    margin-bottom: var(--sp-1);
}
@media (min-width: 768px) {
    .collaboratori__nome {
        font-size: var(--font-xl);
    }
}
.collaboratori__ruolo {
    color: var(--borgogna);
    display: block;
    font-size: var(--font-sm);
    font-weight: 500;
    margin-bottom: var(--sp-3);
}
.collaboratori__bio {
    color: var(--testo-leggero);
    font-size: var(--font-sm);
    line-height: 1.7;
}
@media (min-width: 768px) {
    .collaboratori__bio {
        font-size: var(--font-base);
    }
}
.cta {
    background: linear-gradient(135deg, var(--borgogna-scuro) 0, var(--borgogna) 50%, #6b2c3d 100%);
    color: var(--bianco);
    overflow: hidden;
    padding: var(--sp-16) 0;
    position: relative;
    text-align: center;
}
.cta:before {
    background-image: radial-gradient(circle at 30% 70%, hsla(0, 0%, 100%, 0.04) 0, transparent 50%),
        radial-gradient(circle at 70% 30%, hsla(0, 0%, 100%, 0.06) 0, transparent 40%);
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
}
.cta__contenuto {
    margin: 0 auto;
    max-width: 700px;
    position: relative;
    z-index: 1;
}
.cta .badge {
    background: hsla(0, 0%, 100%, 0.1);
    border: 1px solid hsla(0, 0%, 100%, 0.2);
    color: var(--bronzo);
}
.cta .badge:before {
    background: var(--bronzo);
}
.cta .badge:after {
    color: var(--bronzo);
}
.cta__titolo {
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--sp-4);
}
.cta__testo {
    color: hsla(0, 0%, 100%, 0.85);
    font-size: var(--font-lg);
    line-height: 1.7;
    margin-bottom: var(--sp-6);
}
.cta__azioni {
    margin-bottom: var(--sp-4);
}
.cta__nota {
    color: hsla(0, 0%, 100%, 0.6);
    font-size: var(--font-sm);
}
.cta__decoro {
    border: 1px solid hsla(0, 0%, 100%, 0.06);
    border-radius: 50%;
    pointer-events: none;
    position: absolute;
}
.cta__decoro--1 {
    height: 300px;
    right: -80px;
    top: -100px;
    width: 300px;
}
.cta__decoro--2 {
    bottom: -60px;
    height: 200px;
    left: -50px;
    width: 200px;
}
.btn--bianco {
    background: var(--bianco);
    border: none;
    color: var(--borgogna);
}
.btn--bianco:hover {
    background: hsla(0, 0%, 100%, 0.9);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    transform: translateY(-2px);
}
@media (min-width: 1024px) {
    .cta {
        padding: var(--sp-20) 0;
    }
    .cta__decoro--1 {
        height: 400px;
        right: -100px;
        top: -150px;
        width: 400px;
    }
    .cta__decoro--2 {
        bottom: -100px;
        height: 300px;
        left: -80px;
        width: 300px;
    }
}
.pagina-header {
    background: linear-gradient(135deg, var(--borgogna-scuro) 0, var(--borgogna) 100%);
    color: var(--bianco);
    padding-bottom: var(--sp-12);
    padding-top: calc(var(--header-h-mobile) + var(--sp-16));
    text-align: center;
}
@media (min-width: 1024px) {
    .pagina-header {
        padding-bottom: var(--sp-16);
        padding-top: calc(var(--header-h) + var(--sp-20));
    }
}
.pagina-header .badge {
    background: hsla(0, 0%, 100%, 0.15);
    color: var(--bianco);
}
.pagina-header__titolo {
    font-size: var(--font-4xl);
    font-weight: 800;
    margin-top: var(--sp-4);
}
.pagina-header__desc {
    color: hsla(0, 0%, 100%, 0.8);
    font-size: var(--font-lg);
    margin: var(--sp-4) auto 0;
    max-width: 600px;
}
.pagina-header--compatta {
    padding-bottom: var(--sp-10);
    padding-top: calc(var(--header-h-mobile) + var(--sp-16));
}
.pagina-header--compatta .pagina-header__titolo {
    font-size: var(--font-3xl);
}
.pagina-header--compatta .pagina-header__desc {
    font-size: var(--font-base);
    margin-top: var(--sp-2);
}
@media (min-width: 1024px) {
    .pagina-header--compatta {
        padding-bottom: var(--sp-12);
        padding-top: calc(var(--header-h) + var(--sp-20));
    }
    .pagina-header--compatta .pagina-header__titolo {
        font-size: var(--font-4xl);
    }
}
.legale-contenuto {
    margin: 0 auto;
    max-width: 800px;
}
.legale-contenuto h2 {
    color: var(--testo);
    font-size: var(--font-2xl);
    font-weight: 700;
    margin-bottom: var(--sp-4);
    margin-top: var(--sp-10);
}
.legale-contenuto h3 {
    color: var(--testo);
    font-size: var(--font-xl);
    font-weight: 600;
    margin-bottom: var(--sp-3);
    margin-top: var(--sp-8);
}
.legale-contenuto p {
    color: var(--testo-leggero);
    font-size: var(--font-base);
    line-height: 1.8;
    margin-bottom: var(--sp-4);
}
.legale-contenuto ol,
.legale-contenuto ul {
    margin-bottom: var(--sp-4);
    padding-left: var(--sp-6);
}
.legale-contenuto li {
    color: var(--testo-leggero);
    font-size: var(--font-base);
    line-height: 1.8;
    list-style: disc;
    margin-bottom: var(--sp-2);
}
.legale-contenuto ol li {
    list-style: decimal;
}
.legale-contenuto a {
    color: var(--borgogna);
    text-decoration: underline;
}
.legale-contenuto a:hover {
    color: var(--borgogna-scuro);
}
.legale-tabella {
    margin: var(--sp-6) 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.legale-tabella table {
    border-collapse: collapse;
    font-size: var(--font-sm);
    min-width: 500px;
    width: 100%;
}
.legale-tabella td,
.legale-tabella th {
    border-bottom: 1px solid var(--bordo);
    padding: var(--sp-3) var(--sp-4);
    text-align: left;
}
.legale-tabella th {
    background: var(--sfondo-alt);
    color: var(--testo);
    font-weight: 600;
    white-space: nowrap;
}
.legale-tabella td {
    color: var(--testo-leggero);
}
.legale-tabella tr:hover td {
    background: var(--sfondo-alt);
}
@media (min-width: 768px) {
    .legale-tabella table {
        font-size: var(--font-base);
    }
}
.successo {
    align-items: center;
    background: var(--sfondo-alt);
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: var(--sp-8);
}
.successo__card {
    background: var(--bianco);
    border-radius: 0;
    box-shadow: var(--ombra-xl);
    max-width: 500px;
    padding: var(--sp-12);
    text-align: center;
}
.successo__icona {
    align-items: center;
    background: var(--smeraldo-pallido);
    border-radius: var(--rad-full);
    display: flex;
    height: 80px;
    justify-content: center;
    margin: 0 auto var(--sp-6);
    width: 80px;
}
.successo__icona svg {
    color: var(--smeraldo);
    height: 40px;
    width: 40px;
}
.successo__titolo {
    color: var(--testo);
    font-size: var(--font-2xl);
    font-weight: 700;
    margin-bottom: var(--sp-4);
}
.successo__testo {
    color: var(--testo-leggero);
    font-size: var(--font-base);
    line-height: 1.7;
    margin-bottom: var(--sp-8);
}
.articolo {
    padding-top: calc(var(--header-h-mobile) + var(--sp-4));
}
@media (min-width: 1024px) {
    .articolo {
        padding-top: calc(var(--header-h) + var(--sp-8));
    }
}
.articolo__intestazione {
    padding: var(--sp-8) 0 var(--sp-10);
    text-align: center;
}
@media (min-width: 768px) {
    .articolo__intestazione {
        padding: var(--sp-12) 0 var(--sp-14);
    }
}
.articolo__meta {
    align-items: center;
    color: var(--testo-leggero);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--font-sm);
    gap: var(--sp-2) var(--sp-4);
    justify-content: center;
    margin-bottom: var(--sp-4);
}
@media (min-width: 768px) {
    .articolo__meta {
        gap: var(--sp-3) var(--sp-6);
        margin-bottom: var(--sp-6);
    }
}
.articolo__categoria {
    background: var(--borgogna-pallido);
    border-radius: var(--rad-sm);
    color: var(--borgogna);
    display: inline-block;
    font-size: var(--font-xs);
    font-weight: 600;
    letter-spacing: 0.05em;
    padding: var(--sp-1) var(--sp-3);
    text-transform: uppercase;
}
.articolo__data,
.articolo__lettura {
    align-items: center;
    display: flex;
    gap: var(--sp-1);
}
.articolo__titolo {
    color: var(--testo);
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--sp-4);
}
@media (min-width: 768px) {
    .articolo__titolo {
        margin-bottom: var(--sp-6);
    }
}
.articolo__estratto {
    color: var(--testo-leggero);
    font-size: var(--font-lg);
    line-height: 1.7;
    margin: 0 auto;
    max-width: 720px;
}
@media (min-width: 768px) {
    .articolo__estratto {
        font-size: var(--font-xl);
    }
}
.articolo__immagine-principale {
    background: linear-gradient(135deg, var(--borgogna-pallido) 0, var(--sfondo) 50%, var(--borgogna-pallido) 100%);
    border-radius: var(--rad-xl);
    margin-bottom: var(--sp-10);
    padding: var(--sp-3);
    position: relative;
}
.articolo__immagine-principale:before {
    background: linear-gradient(135deg, var(--borgogna), var(--bronzo), var(--borgogna));
    border-radius: var(--rad-xl);
    content: "";
    inset: 0;
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    padding: 2px;
    pointer-events: none;
    position: absolute;
}
@media (min-width: 768px) {
    .articolo__immagine-principale {
        border-radius: var(--rad-2xl);
        margin-bottom: var(--sp-14);
        padding: var(--sp-4);
    }
    .articolo__immagine-principale:before {
        border-radius: var(--rad-2xl);
    }
}
.articolo__immagine-principale img {
    aspect-ratio: 16/9;
    border-radius: var(--rad-lg);
    box-shadow:
        0 8px 32px rgba(107, 29, 58, 0.15),
        0 4px 16px rgba(0, 0, 0, 0.1);
    display: block;
    margin: 0 auto;
    max-width: 1000px;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}
@media (min-width: 768px) {
    .articolo__immagine-principale img {
        border-radius: var(--rad-xl);
        box-shadow:
            0 12px 48px rgba(107, 29, 58, 0.18),
            0 6px 24px rgba(0, 0, 0, 0.12);
    }
}
.articolo__corpo {
    padding-bottom: var(--sp-12);
}
@media (min-width: 768px) {
    .articolo__corpo {
        padding-bottom: var(--sp-16);
    }
}
.articolo__contenuto {
    color: var(--testo);
    font-size: var(--font-base);
    line-height: 1.8;
}
@media (min-width: 768px) {
    .articolo__contenuto {
        font-size: var(--font-lg);
    }
}
.articolo__lead {
    border-bottom: 1px solid var(--bordo);
    color: var(--testo);
    font-size: var(--font-lg);
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: var(--sp-8);
    padding-bottom: var(--sp-6);
}
@media (min-width: 768px) {
    .articolo__lead {
        font-size: var(--font-xl);
        margin-bottom: var(--sp-10);
        padding-bottom: var(--sp-8);
    }
}
.articolo__contenuto h2 {
    color: var(--testo);
    font-family: var(--font-display);
    font-size: var(--font-xl);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: var(--sp-4);
    margin-top: var(--sp-10);
}
@media (min-width: 768px) {
    .articolo__contenuto h2 {
        font-size: var(--font-2xl);
        margin-bottom: var(--sp-5);
        margin-top: var(--sp-12);
    }
}
.articolo__contenuto h3 {
    color: var(--testo);
    font-size: var(--font-lg);
    font-weight: 600;
    margin-bottom: var(--sp-3);
    margin-top: var(--sp-6);
}
@media (min-width: 768px) {
    .articolo__contenuto h3 {
        font-size: var(--font-xl);
        margin-bottom: var(--sp-4);
        margin-top: var(--sp-8);
    }
}
.articolo__contenuto p {
    margin-bottom: var(--sp-5);
}
.articolo__contenuto ol,
.articolo__contenuto ul {
    margin-bottom: var(--sp-6);
    padding-left: var(--sp-6);
}
.articolo__contenuto li {
    line-height: 1.7;
    margin-bottom: var(--sp-2);
}
.articolo__contenuto li strong {
    color: var(--testo);
}
.articolo__contenuto blockquote {
    background: var(--sfondo);
    border-left: 4px solid var(--borgogna);
    border-radius: var(--rad-md);
    color: var(--testo);
    font-style: italic;
    margin: var(--sp-8) 0;
    padding: var(--sp-5) var(--sp-6);
}
@media (min-width: 768px) {
    .articolo__contenuto blockquote {
        margin: var(--sp-10) 0;
        padding: var(--sp-6) var(--sp-8);
    }
}
.articolo__avviso {
    background: var(--sfondo);
    border: 1px solid var(--bordo);
    border-radius: var(--rad-lg);
    display: flex;
    gap: var(--sp-4);
    margin: var(--sp-6) 0;
    padding: var(--sp-5);
}
@media (min-width: 768px) {
    .articolo__avviso {
        margin: var(--sp-8) 0;
        padding: var(--sp-6);
    }
}
.articolo__avviso > svg {
    color: var(--borgogna);
    flex-shrink: 0;
    height: 24px;
    width: 24px;
}
.articolo__avviso p {
    font-size: var(--font-base);
    line-height: 1.7;
    margin: 0;
}
.articolo__avviso--attenzione {
    background: rgba(234, 179, 8, 0.08);
    border-color: rgba(234, 179, 8, 0.3);
}
.articolo__avviso--attenzione > svg {
    color: #b45309;
}
.articolo__avviso--attenzione h4 {
    color: #92400e;
    font-size: var(--font-base);
    font-weight: 600;
    margin-bottom: var(--sp-2);
}
.articolo__avviso--attenzione p {
    color: var(--testo);
}
.articolo__cta {
    background: linear-gradient(135deg, var(--borgogna-pallido) 0, var(--sfondo) 100%);
    border: 1px solid rgba(107, 29, 58, 0.1);
    border-radius: var(--rad-xl);
    margin-top: var(--sp-12);
    padding: var(--sp-8);
    text-align: center;
}
@media (min-width: 768px) {
    .articolo__cta {
        margin-top: var(--sp-16);
        padding: var(--sp-10) var(--sp-12);
    }
}
.articolo__cta h3 {
    color: var(--testo);
    font-family: var(--font-display);
    font-size: var(--font-xl);
    font-weight: 700;
    margin-bottom: var(--sp-3);
}
@media (min-width: 768px) {
    .articolo__cta h3 {
        font-size: var(--font-2xl);
        margin-bottom: var(--sp-4);
    }
}
.articolo__cta p {
    color: var(--testo-leggero);
    font-size: var(--font-base);
    margin-bottom: var(--sp-6);
    margin-left: auto;
    margin-right: auto;
    max-width: 500px;
}
@media (min-width: 768px) {
    .articolo__cta p {
        font-size: var(--font-lg);
        margin-bottom: var(--sp-8);
    }
}
.articoli-grid--2 {
    grid-template-columns: 1fr;
}
@media (min-width: 768px) {
    .articoli-grid--2 {
        gap: var(--sp-8);
        grid-template-columns: repeat(2, 1fr);
    }
}
.articolo-card {
    border-radius: var(--rad-xl);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    display: flex;
    flex-direction: column;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
.articolo-card:hover {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
}
.articolo-card__immagine img {
    aspect-ratio: 16/10;
    transition: transform 0.4s ease;
}
.articolo-card__categoria {
    left: var(--sp-4);
    padding: var(--sp-1) var(--sp-3);
    top: var(--sp-4);
}
.articolo-card__contenuto {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
@media (min-width: 768px) {
    .articolo-card__contenuto {
        padding: var(--sp-6);
    }
}
.articolo-card__data {
    font-size: var(--font-sm);
}
.articolo-card__titolo {
    flex-grow: 1;
    font-family: var(--font-display);
    font-weight: 600;
    margin-bottom: var(--sp-4);
}
@media (min-width: 768px) {
    .articolo-card__titolo {
        font-size: var(--font-xl);
    }
}
.articolo-card__link {
    text-decoration: none;
    transition: gap 0.3s ease;
}
.articolo-card__link:hover {
    gap: var(--sp-3);
}
.articolo-card__link svg {
    transition: transform 0.3s ease;
}
.articolo-card__link:hover svg {
    transform: translateX(2px);
}
.articolo-pagina {
    padding-top: calc(var(--header-h-mobile) + var(--sp-8));
}
@media (min-width: 1024px) {
    .articolo-pagina {
        padding-top: calc(var(--header-h) + var(--sp-12));
    }
}
.articolo-pagina__header {
    margin: 0 auto var(--sp-10);
    max-width: 800px;
    text-align: center;
}
.articolo-pagina__categoria {
    background: var(--borgogna-pallido);
    border-radius: 0;
    color: var(--borgogna);
    display: inline-block;
    font-size: var(--font-xs);
    font-weight: 600;
    margin-bottom: var(--sp-4);
    padding: var(--sp-1) var(--sp-4);
}
.articolo-pagina__titolo {
    color: var(--testo);
    font-size: var(--font-4xl);
    font-weight: 800;
    line-height: 1.2;
}
.articolo-pagina__meta {
    align-items: center;
    color: var(--testo-leggero);
    display: flex;
    font-size: var(--font-sm);
    gap: var(--sp-6);
    justify-content: center;
    margin-top: var(--sp-6);
}
.articolo-pagina__img {
    border-radius: 0;
    margin: 0 auto var(--sp-12);
    max-width: 1000px;
    overflow: hidden;
    width: 100%;
}
.articolo-pagina__img img {
    aspect-ratio: 16/9;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}
.articolo-pagina__contenuto {
    margin: 0 auto;
    max-width: 720px;
}
.articolo-pagina__contenuto h2 {
    color: var(--testo);
    font-size: var(--font-2xl);
    font-weight: 700;
    margin-bottom: var(--sp-4);
    margin-top: var(--sp-10);
}
.articolo-pagina__contenuto p {
    color: var(--testo);
    font-size: var(--font-lg);
    line-height: 1.8;
    margin-bottom: var(--sp-5);
}
.articolo-pagina__contenuto ol,
.articolo-pagina__contenuto ul {
    margin-bottom: var(--sp-5);
    padding-left: var(--sp-6);
}
.articolo-pagina__contenuto li {
    color: var(--testo);
    font-size: var(--font-lg);
    line-height: 1.8;
    list-style: disc;
    margin-bottom: var(--sp-2);
}
.articolo-pagina__contenuto ol li {
    list-style: decimal;
}
.articolo-pagina__contenuto blockquote {
    background: var(--borgogna-pallido);
    border-left: 4px solid var(--borgogna);
    border-radius: 0;
    color: var(--testo);
    font-size: var(--font-lg);
    font-style: italic;
    margin: var(--sp-8) 0;
    padding: var(--sp-6);
}
.articolo-featured {
    background: var(--sfondo);
    border-radius: var(--rad-xl);
    display: grid;
    gap: var(--sp-8);
    margin-bottom: var(--sp-12);
    padding: var(--sp-6);
}
@media (min-width: 768px) {
    .articolo-featured {
        align-items: center;
        grid-template-columns: 1fr 1fr;
        padding: var(--sp-8);
    }
}
.articolo-featured__immagine {
    border-radius: var(--rad-lg);
    overflow: hidden;
    position: relative;
}
.articolo-featured__immagine img {
    aspect-ratio: 16/10;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
}
.articolo-featured__categoria {
    background: var(--borgogna);
    border-radius: var(--rad-md);
    color: var(--bianco);
    font-size: var(--font-xs);
    font-weight: 600;
    left: var(--sp-4);
    letter-spacing: 0.05em;
    padding: var(--sp-1) var(--sp-3);
    position: absolute;
    text-transform: uppercase;
    top: var(--sp-4);
}
.articolo-featured__contenuto {
    padding: var(--sp-4) 0;
}
.articolo-featured__data {
    color: var(--testo-leggero);
    display: block;
    font-size: var(--font-sm);
    margin-bottom: var(--sp-3);
}
.articolo-featured__titolo {
    color: var(--testo);
    font-size: var(--font-2xl);
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: var(--sp-4);
}
.articolo-featured__estratto {
    color: var(--testo-leggero);
    font-size: var(--font-base);
    line-height: 1.7;
    margin-bottom: var(--sp-6);
}
.articoli-grid {
    display: grid;
    gap: var(--sp-6);
    margin-bottom: var(--sp-12);
}
@media (min-width: 640px) {
    .articoli-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) {
    .articoli-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.articolo-card {
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    border-radius: var(--rad-lg);
    overflow: hidden;
    transition: all var(--trans-base);
}
.articolo-card:hover {
    border-color: var(--bordo);
    box-shadow: var(--ombra-lg);
    transform: translateY(-4px);
}
.articolo-card__immagine {
    overflow: hidden;
    position: relative;
}
.articolo-card__immagine img {
    aspect-ratio: 3/2;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    transition: transform var(--trans-base);
    width: 100%;
}
.articolo-card:hover .articolo-card__immagine img {
    transform: scale(1.05);
}
.articolo-card__categoria {
    background: var(--borgogna);
    border-radius: var(--rad-sm);
    color: var(--bianco);
    font-size: var(--font-xs);
    font-weight: 600;
    left: var(--sp-3);
    letter-spacing: 0.05em;
    padding: var(--sp-1) var(--sp-2);
    position: absolute;
    text-transform: uppercase;
    top: var(--sp-3);
}
.articolo-card__contenuto {
    padding: var(--sp-5);
}
.articolo-card__data {
    color: var(--testo-leggero);
    display: block;
    font-size: var(--font-xs);
    margin-bottom: var(--sp-2);
}
.articolo-card__titolo {
    color: var(--testo);
    font-size: var(--font-lg);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: var(--sp-3);
}
.articolo-card__estratto {
    color: var(--testo-leggero);
    font-size: var(--font-sm);
    line-height: 1.7;
    margin-bottom: var(--sp-4);
}
.articolo-card__link {
    align-items: center;
    color: var(--borgogna);
    display: inline-flex;
    font-size: var(--font-sm);
    font-weight: 600;
    gap: var(--sp-2);
    transition: color var(--trans-base);
}
.articolo-card__link:hover {
    color: var(--borgogna-scuro);
}
.articolo-card__link svg {
    height: 16px;
    transition: transform var(--trans-base);
    width: 16px;
}
.articolo-card__link:hover svg {
    transform: translateX(4px);
}
.risorse-categorie {
    border-top: 1px solid var(--bordo-leggero);
    padding-top: var(--sp-12);
}
.risorse-categorie__titolo {
    color: var(--testo);
    font-size: var(--font-xl);
    font-weight: 700;
    margin-bottom: var(--sp-8);
    text-align: center;
}
.risorse-categorie__grid {
    display: grid;
    gap: var(--sp-4);
}
@media (min-width: 640px) {
    .risorse-categorie__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 1024px) {
    .risorse-categorie__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.risorsa-categoria {
    background: var(--sfondo);
    border-radius: var(--rad-lg);
    display: block;
    padding: var(--sp-6);
    text-align: center;
    transition: all var(--trans-base);
}
.risorsa-categoria:hover {
    background: var(--borgogna-pallido);
    transform: translateY(-4px);
}
.risorsa-categoria__icona {
    align-items: center;
    background: var(--borgogna);
    border-radius: var(--rad-full);
    display: flex;
    height: 48px;
    justify-content: center;
    margin: 0 auto var(--sp-4);
    width: 48px;
}
.risorsa-categoria__icona svg {
    color: var(--bianco);
    height: 24px;
    width: 24px;
}
.risorsa-categoria h3 {
    color: var(--testo);
    font-size: var(--font-base);
    font-weight: 700;
    margin-bottom: var(--sp-2);
}
.risorsa-categoria p {
    color: var(--testo-leggero);
    font-size: var(--font-sm);
    line-height: 1.5;
}
.risposte-pagina {
    margin: 0 auto;
    max-width: 900px;
}
.risposte-categoria {
    margin-bottom: var(--sp-12);
}
.risposte-categoria:last-child {
    margin-bottom: 0;
}
.risposte-categoria__titolo {
    border-bottom: 2px solid var(--borgogna);
    color: var(--testo);
    display: inline-block;
    font-size: var(--font-xl);
    font-weight: 700;
    margin-bottom: var(--sp-6);
    padding-bottom: var(--sp-3);
}
.risposte-pagina .accordion {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
}
.risposte-pagina .accordion__item {
    background: var(--bianco);
    border: 1px solid var(--bordo-leggero);
    border-radius: var(--rad-lg);
    overflow: hidden;
    transition: all var(--trans-base);
}
.risposte-pagina .accordion__item:hover {
    border-color: var(--bordo);
    box-shadow: var(--ombra-md);
}
.risposte-pagina .accordion__item.e-aperta {
    border-color: var(--borgogna-pallido);
    box-shadow: var(--ombra-lg);
}
.risposte-pagina .accordion__trigger {
    align-items: center;
    background: none;
    color: var(--testo);
    cursor: pointer;
    display: flex;
    font-size: var(--font-base);
    font-weight: 600;
    gap: var(--sp-4);
    justify-content: space-between;
    padding: var(--sp-5) var(--sp-6);
    text-align: left;
    transition: color var(--trans-base);
    width: 100%;
}
.risposte-pagina .accordion__trigger:hover {
    color: var(--borgogna);
}
.risposte-pagina .accordion__trigger svg {
    color: var(--testo-leggero);
    flex-shrink: 0;
    height: 20px;
    transition: transform var(--trans-base);
    width: 20px;
}
.risposte-pagina .accordion__item.e-aperta .accordion__trigger svg {
    color: var(--borgogna);
    transform: rotate(180deg);
}
.risposte-pagina .accordion__panel {
    padding: 0 var(--sp-6) var(--sp-5);
}
.risposte-pagina .accordion__panel p {
    color: var(--testo-leggero);
    font-size: var(--font-base);
    line-height: 1.8;
}
.risposte-contatto {
    background: linear-gradient(135deg, var(--borgogna) 0, var(--borgogna-scuro) 100%);
    border-radius: var(--rad-xl);
    margin-top: var(--sp-16);
    padding: var(--sp-10);
    text-align: center;
}
.risposte-contatto__contenuto h3 {
    color: var(--bianco);
    font-size: var(--font-2xl);
    font-weight: 700;
    margin-bottom: var(--sp-3);
}
.risposte-contatto__contenuto p {
    color: hsla(0, 0%, 100%, 0.85);
    font-size: var(--font-lg);
    margin-bottom: var(--sp-6);
}
.risposte-contatto .btn {
    background: var(--bianco);
    color: var(--borgogna);
}
.risposte-contatto .btn:hover {
    background: var(--bronzo);
    color: var(--bianco);
}
.nascondi-mobile {
    display: none !important;
}
@media (min-width: 768px) {
    .nascondi-mobile {
        display: inline-flex !important;
    }
}
.solo-mobile {
    display: block;
}
@media (min-width: 768px) {
    .solo-mobile {
        display: none;
    }
}
.sr-only {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap;
}
.placeholder-img {
    align-items: center;
    background: var(--beige);
    color: var(--grigio-scuro);
    display: flex;
    font-size: var(--font-sm);
    justify-content: center;
    padding: var(--sp-4);
    text-align: center;
}
.placeholder-img:before {
    content: "[ PLACEHOLDER: " attr(data-placeholder) " ]";
}
