/* Il sito pubblico di SednaCloud: pagine statiche, niente JavaScript.
   ⚠️ NIENTE RISORSE DA TERZI (font, script, immagini, analisi): il sito non chiede consensi
   perché non ne carica. Inter è servito in casa, come nell'AdminPortal.
   La tavolozza è quella delle email (ModelloEmail.cs): inchiostro e blu del marchio, il verde
   della foglia, l'oro solo nella lineetta sotto il logotipo. */

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/assets/inter-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/assets/inter-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    color-scheme: light;
    --inchiostro: #0E1A2B;
    --inchiostro-2: #16263D;
    --blu: #1E5AA8;
    --blu-scuro: #174A8C;
    --blu-chiaro: #5B8FD6;
    --foglia: #84B23A;
    --salvia: #8FBFA4;
    --oro: #FFD54F;
    --testo: #334155;
    --tenue: #5B6B80;
    --bordo: #E3E8EF;
    --bordo-forte: #CBD5E1;
    --fondo: #F5F7FA;
    --tinta-blu: #EDF3FB;
    --tinta-verde: #F1F6E8;
    --raggio: 14px;
    --ombra: 0 1px 2px rgba(14, 26, 43, .05), 0 8px 24px -12px rgba(14, 26, 43, .14);
    --ombra-alta: 0 30px 60px -28px rgba(14, 26, 43, .45), 0 12px 24px -12px rgba(14, 26, 43, .18);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
    margin: 0;
    background: #fff;
    color: var(--testo);
    font: 16px/1.6 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-feature-settings: 'cv11', 'ss01';
    /* Le pagine corte (privacy, 404) tengono il piè di pagina in fondo allo schermo. */
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
main { flex: 1 0 auto; }
img { max-width: 100%; }
a { color: var(--blu); text-underline-offset: .18em; }
a:hover { color: var(--blu-scuro); }
:focus-visible { outline: 2px solid var(--blu); outline-offset: 3px; border-radius: 4px; }
[id] { scroll-margin-top: 1.25rem; }

.wrap { max-width: 1120px; margin: 0 auto; padding-inline: 20px; }
.wrap.stretto { max-width: 760px; }

.salta { position: absolute; left: -9999px; top: 8px; z-index: 10; background: #fff; padding: .45rem .8rem; border: 1px solid var(--bordo); border-radius: 8px; }
.salta:focus { left: 20px; }

h1, h2, h3 { color: var(--inchiostro); text-wrap: balance; }
h1 { font-size: clamp(2.15rem, 1.2rem + 3.6vw, 3.6rem); line-height: 1.06; letter-spacing: -.034em; font-weight: 780; margin: 0 0 1.2rem; }
h2 { font-size: clamp(1.65rem, 1.2rem + 1.6vw, 2.35rem); line-height: 1.15; letter-spacing: -.026em; font-weight: 730; margin: 0 0 .9rem; }
h3 { font-size: 1.1rem; line-height: 1.3; letter-spacing: -.012em; font-weight: 660; margin: 0 0 .4rem; }
p { margin: 0 0 1rem; }
.evidenza { color: var(--blu); }

.occhiello { display: inline-flex; align-items: center; gap: .5rem; font-weight: 650; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--blu); margin: 0 0 1rem; }
.occhiello::before { content: ""; width: 18px; height: 3px; border-radius: 2px; background: var(--oro); }

/* ── testata ── */
.testata { background: rgba(255, 255, 255, .92); border-bottom: 1px solid var(--bordo); position: sticky; top: 0; z-index: 5; backdrop-filter: saturate(1.4) blur(8px); -webkit-backdrop-filter: saturate(1.4) blur(8px); }
.testata .wrap { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1.4rem; min-height: 68px; padding-block: .55rem; }
.marchio { display: flex; align-items: center; gap: 11px; margin-right: auto; text-decoration: none; color: var(--inchiostro); }
.marchio img { width: 40px; height: 28px; display: block; flex: none; }
.logotipo { display: inline-block; font-weight: 700; font-size: 1.28rem; line-height: 1; letter-spacing: -.01em; color: var(--inchiostro); white-space: nowrap; }
.logotipo em { font-style: normal; font-weight: 500; color: var(--blu); margin-left: .16em; }
.logotipo::after { content: ""; display: block; width: 28px; height: 3px; margin-top: 6px; background: var(--oro); border-radius: 2px; }
.menu { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem 1.4rem; }
.menu a:not(.bottone) { font-weight: 600; font-size: .95rem; color: var(--testo); text-decoration: none; }
.menu a:not(.bottone):hover, .menu a[aria-current] { color: var(--blu); }

/* ── pulsanti ── */
.bottone { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; font-weight: 650; font-size: 1rem; line-height: 1.2; padding: .8rem 1.35rem; border-radius: 10px; border: 1px solid transparent; text-decoration: none; transition: background-color .15s, box-shadow .15s, transform .15s; }
.bottone svg { width: 18px; height: 18px; flex: none; }
.bottone.pieno { background: var(--blu); color: #fff; box-shadow: 0 6px 16px -8px rgba(30, 90, 168, .8); }
.bottone.pieno:hover { background: var(--blu-scuro); color: #fff; transform: translateY(-1px); }
.bottone.vuoto { background: #fff; color: var(--inchiostro); border-color: var(--bordo-forte); }
.bottone.vuoto:hover { background: var(--fondo); color: var(--inchiostro); }
.bottone.chiaro { background: #fff; color: var(--inchiostro); }
.bottone.chiaro:hover { background: var(--tinta-blu); color: var(--inchiostro); }
.bottone.contorno-chiaro { color: #fff; border-color: rgba(255, 255, 255, .45); }
.bottone.contorno-chiaro:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.menu .bottone { font-size: .95rem; padding: .52rem 1.05rem; }

/* ── apertura ── */
.apertura {
    background:
        radial-gradient(900px 480px at 88% -8%, #DCE8F8 0%, rgba(220, 232, 248, 0) 62%),
        radial-gradient(700px 420px at -5% 10%, #EDF5E2 0%, rgba(237, 245, 226, 0) 60%),
        linear-gradient(180deg, #F7FAFD 0%, #FFFFFF 100%);
    border-bottom: 1px solid var(--bordo);
    overflow: hidden;
}
.apertura .wrap { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 3.5rem; align-items: center; padding-block: 5rem 5.5rem; }
.apertura .lead { font-size: 1.18rem; line-height: 1.6; max-width: 33em; margin-bottom: 2rem; color: var(--testo); }
.azioni { display: flex; flex-wrap: wrap; gap: .75rem; }
.riservato { display: flex; align-items: center; gap: .5rem; font-size: .93rem; color: var(--tenue); margin: 1.15rem 0 0; }
.riservato svg { width: 17px; height: 17px; color: var(--foglia); flex: none; }

/* L'illustrazione del programma: disegnata in HTML, non è una schermata vera. */
.vetrina { position: relative; padding: 0 0 2.2rem 1.2rem; }
.finestra { background: #fff; border: 1px solid #D5DEEA; border-radius: 16px; box-shadow: var(--ombra-alta); overflow: hidden; }
.finestra-barra { display: flex; align-items: center; gap: 6px; padding: .6rem .9rem; background: #F2F5F9; border-bottom: 1px solid var(--bordo); }
.finestra-barra i { width: 10px; height: 10px; border-radius: 50%; background: #D3DAE4; }
.finestra-barra span { margin-left: .7rem; flex: 1; max-width: 16rem; font-size: .76rem; color: var(--tenue); background: #fff; border: 1px solid var(--bordo); border-radius: 6px; padding: .18rem .6rem; display: flex; align-items: center; gap: .35rem; }
.finestra-barra span svg { width: 11px; height: 11px; color: var(--foglia); }
.finestra-corpo { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); min-height: 22rem; }
.finto-menu { list-style: none; margin: 0; padding: .9rem .55rem; background: var(--inchiostro); display: flex; flex-direction: column; gap: .15rem; }
.finto-menu li { font-size: .76rem; color: #AEBBCD; padding: .42rem .6rem; border-radius: 7px; white-space: nowrap; }
.finto-menu li.attivo { background: rgba(255, 255, 255, .1); color: #fff; font-weight: 600; }
.finto-menu .marchietto { display: flex; align-items: center; gap: .4rem; color: #fff; font-weight: 700; font-size: .8rem; padding: .1rem .6rem .8rem; margin-bottom: .3rem; border-bottom: 1px solid rgba(255, 255, 255, .1); border-radius: 0; }
.finto-menu .marchietto em { font-style: normal; font-weight: 500; color: #9DBDF0; margin-left: -.15rem; }
.finto-pannello { padding: 1rem 1rem 1.1rem; background: #FAFBFD; display: flex; flex-direction: column; gap: .6rem; }
.finto-titolo { display: flex; justify-content: space-between; align-items: baseline; font-size: .82rem; font-weight: 700; color: var(--inchiostro); margin: 0 0 .1rem; }
.finto-titolo small { font-weight: 500; color: var(--tenue); font-size: .72rem; }
.evento { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: .7rem; align-items: center; background: #fff; border: 1px solid var(--bordo); border-radius: 11px; padding: .6rem .7rem; box-shadow: 0 1px 2px rgba(14, 26, 43, .04); }
.evento .icona { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: var(--tinta-blu); color: var(--blu); }
.evento .icona.verde { background: var(--tinta-verde); color: #5E8A1F; }
.evento .icona svg { width: 18px; height: 18px; }
.evento b { display: block; font-size: .8rem; color: var(--inchiostro); font-weight: 650; line-height: 1.3; }
.evento span { display: block; font-size: .74rem; color: var(--tenue); line-height: 1.35; }
.evento em { font-style: normal; font-size: .68rem; font-weight: 650; color: #4F7A16; background: var(--tinta-verde); border-radius: 99px; padding: .15rem .5rem; white-space: nowrap; }
.evento em.blu { color: var(--blu); background: var(--tinta-blu); }
.bollino { position: absolute; left: 0; bottom: 0; display: flex; align-items: center; gap: .65rem; background: #fff; border: 1px solid var(--bordo); border-radius: 12px; padding: .7rem .95rem; box-shadow: var(--ombra-alta); font-size: .82rem; color: var(--inchiostro); max-width: 20rem; }
.bollino .icona { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--foglia); color: #fff; flex: none; }
.bollino .icona svg { width: 17px; height: 17px; }
.bollino b { display: block; font-weight: 650; }
.bollino span { display: block; color: var(--tenue); font-size: .75rem; }

/* ── sezioni ── */
.sezione { padding-block: 5.5rem; }
.sezione.tinta { background: var(--fondo); border-block: 1px solid var(--bordo); }
.testa-sezione { max-width: 44rem; margin-bottom: 2.8rem; }
.testa-sezione.centro { margin-inline: auto; text-align: center; }
.testa-sezione p:not(.occhiello) { font-size: 1.1rem; color: var(--testo); margin: 0; }

/* i quattro motivi del cloud */
.pilastri { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; list-style: none; margin: 0; padding: 0; }
.pilastri li { position: relative; background: #fff; border: 1px solid var(--bordo); border-radius: var(--raggio); padding: 1.5rem 1.4rem 1.35rem; box-shadow: var(--ombra); }
.pilastri .icona { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(135deg, var(--blu) 0%, #3A78C9 100%); color: #fff; margin-bottom: 1.1rem; box-shadow: 0 8px 18px -10px rgba(30, 90, 168, .9); }
.pilastri li:nth-child(2) .icona { background: linear-gradient(135deg, #5E8A1F 0%, var(--foglia) 100%); box-shadow: 0 8px 18px -10px rgba(94, 138, 31, .9); }
.pilastri li:nth-child(3) .icona { background: linear-gradient(135deg, var(--inchiostro) 0%, #2B4263 100%); box-shadow: 0 8px 18px -10px rgba(14, 26, 43, .9); }
.pilastri li:nth-child(4) .icona { background: linear-gradient(135deg, #2C7A7B 0%, var(--salvia) 100%); box-shadow: 0 8px 18px -10px rgba(44, 122, 123, .9); }
.pilastri .icona svg { width: 23px; height: 23px; }
.pilastri h3 { font-size: 1.15rem; }
.pilastri p { margin: 0; font-size: .97rem; }

/* le funzioni */
.funzioni { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; list-style: none; margin: 0; padding: 0; }
.funzioni li { background: #fff; border: 1px solid var(--bordo); border-radius: var(--raggio); padding: 1.4rem 1.4rem 1.25rem; transition: border-color .15s, box-shadow .15s, transform .15s; }
.funzioni li:hover { border-color: #C9D8EC; box-shadow: var(--ombra); transform: translateY(-2px); }
.funzioni .icona { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: var(--tinta-blu); color: var(--blu); margin-bottom: .95rem; }
.funzioni li.verde .icona { background: var(--tinta-verde); color: #5E8A1F; }
.funzioni .icona svg { width: 21px; height: 21px; }
.funzioni p { font-size: .97rem; margin: 0; }
.funzioni li { position: relative; }
.funzioni h3 a { color: inherit; text-decoration: none; }
.funzioni h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--raggio); }
.funzioni h3 a:focus-visible { outline: none; }
.funzioni h3 a:focus-visible::after { outline: 2px solid var(--blu); outline-offset: 2px; }
.funzioni li:hover h3 { color: var(--blu); }

/* per chi */
.per-chi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; list-style: none; margin: 0 0 1.4rem; padding: 0; }
.per-chi li { border-radius: var(--raggio); padding: 1.6rem 1.5rem; background: #fff; border: 1px solid var(--bordo); border-top: 4px solid var(--c, var(--blu)); }
.per-chi li:nth-child(2) { --c: var(--foglia); }
.per-chi li:nth-child(3) { --c: var(--inchiostro); }
.per-chi h3 { font-size: 1.2rem; }
.per-chi p { margin: 0; }
.nota-flussi { display: flex; align-items: center; gap: .8rem; background: var(--tinta-verde); border: 1px solid #DCE9C6; border-radius: 12px; padding: .9rem 1.1rem; margin: 0; color: var(--inchiostro); }
.nota-flussi img { width: 38px; height: 27px; flex: none; }

/* come si comincia */
.passi { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; list-style: none; margin: 0; padding: 0; counter-reset: passo; }
.passi li { position: relative; padding: 1.4rem 1.3rem 1.3rem; border-radius: var(--raggio); background: #fff; border: 1px solid var(--bordo); counter-increment: passo; }
.passi li::before { content: counter(passo); display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--inchiostro); color: #fff; font-weight: 700; font-size: .95rem; margin-bottom: 1rem; }
.passi li:not(:last-child)::after { content: ""; position: absolute; top: 2.45rem; left: calc(1.3rem + 42px); right: -1.1rem; height: 2px; background: repeating-linear-gradient(90deg, var(--bordo-forte) 0 6px, transparent 6px 11px); }
.passi p { margin: 0; font-size: .97rem; }

/* le email della ditta */
.email { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; margin: 0 0 1.4rem; }
.riquadro { background: #fff; border: 1px solid var(--bordo); border-top: 4px solid var(--c, var(--blu)); border-radius: var(--raggio); padding: 1.3rem 1.4rem 1.2rem; }
.riquadro.no { --c: var(--inchiostro); }
.riquadro.si { --c: var(--foglia); }
.riquadro ul { margin: 0; padding-left: 1.15rem; }
.riquadro li { margin: .35rem 0; }
.in-arrivo { display: inline-block; margin-bottom: .55rem; font-size: .72rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; color: #8A5A00; background: #FFF3D6; border-radius: 99px; padding: .12rem .55rem; }
code { font: 500 .88em ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; background: var(--tinta-blu); color: var(--inchiostro); padding: .08em .35em; border-radius: 5px; overflow-wrap: anywhere; }

/* dati e abbonamento */
.due { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.4rem; align-items: stretch; }
.fiducia { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.fiducia li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 1rem; align-items: start; }
.fiducia .icona { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--tinta-blu); color: var(--blu); }
.fiducia .icona svg { width: 22px; height: 22px; }
.fiducia p { margin: 0; }
.scheda { background: var(--inchiostro); color: #C9D3E0; border-radius: 18px; padding: 2rem 1.9rem; position: relative; overflow: hidden; }
.scheda::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(91, 143, 214, .35) 0%, rgba(91, 143, 214, 0) 70%); }
.scheda h2, .scheda h3 { color: #fff; }
.scheda h2 { font-size: 1.6rem; }
.scheda ul { list-style: none; margin: 1.2rem 0 1.6rem; padding: 0; display: grid; gap: .75rem; }
.scheda li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: .7rem; }
.scheda li svg { width: 20px; height: 20px; color: var(--foglia); margin-top: .15rem; }
.scheda li b { color: #fff; font-weight: 650; }

/* perché sceglierci: la fascia scura */
.sezione.scura { background: radial-gradient(900px 400px at 100% 0%, rgba(58, 120, 201, .28) 0%, rgba(58, 120, 201, 0) 60%), var(--inchiostro); color: #C9D3E0; }
.sezione.scura h2, .sezione.scura h3 { color: #fff; }
.sezione.scura .testa-sezione p:not(.occhiello) { color: #C9D3E0; }
.sezione.scura .occhiello { color: #9DBDF0; }
.motivi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; list-style: none; margin: 0; padding: 0; }
.motivi li { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .1); border-radius: var(--raggio); padding: 1.5rem 1.4rem 1.35rem; }
.motivi .icona { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: rgba(132, 178, 58, .16); color: #B6D97A; margin-bottom: 1rem; }
.motivi li:nth-child(even) .icona { background: rgba(91, 143, 214, .18); color: #9DBDF0; }
.motivi .icona svg { width: 22px; height: 22px; }
.motivi p { margin: 0; font-size: .97rem; }
.link-freccia { display: inline-flex; align-items: center; gap: .4rem; font-weight: 650; text-decoration: none; margin-top: 1.6rem; }
.link-freccia svg { width: 17px; height: 17px; transition: transform .15s; }
.link-freccia:hover svg { transform: translateX(3px); }

/* la pagina dei moduli */
.apertura.corta .wrap { grid-template-columns: minmax(0, 1fr); padding-block: 4rem 3.6rem; }
.apertura.corta .lead { max-width: 42em; }
.moduli-corpo { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 3.5rem; align-items: start; padding-block: 3.5rem 4.5rem; }
.indice-moduli { position: sticky; top: 92px; }
.indice-moduli p { font-size: .76rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--tenue); margin: 0 0 .6rem; }
.indice-moduli ol { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--bordo); }
.indice-moduli a { display: block; padding: .32rem .9rem; margin-left: -2px; border-left: 2px solid transparent; color: var(--testo); text-decoration: none; font-size: .93rem; font-weight: 550; }
.indice-moduli a:hover { color: var(--blu); border-left-color: var(--blu); }
.modulo { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 1.3rem; padding-block: 2.2rem; border-top: 1px solid var(--bordo); }
.modulo:first-child { border-top: 0; padding-top: 0; }
.modulo > .icona { width: 56px; height: 56px; border-radius: 15px; display: grid; place-items: center; background: var(--tinta-blu); color: var(--blu); }
.modulo.verde > .icona { background: var(--tinta-verde); color: #5E8A1F; }
.modulo > .icona svg { width: 27px; height: 27px; }
.modulo h2 { font-size: 1.55rem; margin-bottom: .45rem; }
.modulo .perche { font-size: 1.08rem; color: var(--testo); margin-bottom: 1.1rem; max-width: 42em; }
.spunte { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem 1.6rem; }
.spunte li { position: relative; padding-left: 1.7rem; font-size: .97rem; }
.spunte li::before { content: ""; position: absolute; left: 0; top: .28em; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: var(--tinta-verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E8A1F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center / 70% no-repeat; }
.prossimi { margin-top: 1rem; background: #FFFBEF; border: 1px solid #F3E2B3; border-radius: var(--raggio); padding: 1.3rem 1.4rem; }
.prossimi h2 { font-size: 1.25rem; }
.prossimi ul { margin: .4rem 0 0; padding-left: 1.2rem; }
.prossimi li { margin: .3rem 0; }

/* chi siamo */
.chi { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 3rem; align-items: start; }
.contatti { margin: 0; background: #fff; border: 1px solid var(--bordo); border-radius: var(--raggio); padding: 1.2rem 1.4rem; box-shadow: var(--ombra); }
.contatti div { padding: .6rem 0; border-top: 1px solid var(--bordo); }
.contatti div:first-child { border-top: 0; padding-top: 0; }
.contatti dt { font-size: .76rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--tenue); }
.contatti dd { margin: .1rem 0 0; color: var(--inchiostro); overflow-wrap: anywhere; }

/* l'invito finale */
.invito { padding-block: 0 5.5rem; }
.invito .riquadro-invito { border-radius: 22px; padding: 3.2rem 2.4rem; text-align: center; color: #D7E3F4; background: radial-gradient(700px 300px at 50% -20%, #3A78C9 0%, rgba(58, 120, 201, 0) 70%), linear-gradient(135deg, #123A6E 0%, var(--inchiostro) 100%); position: relative; overflow: hidden; }
.invito h2 { color: #fff; margin-bottom: .7rem; }
.invito p { font-size: 1.1rem; max-width: 36rem; margin: 0 auto 1.8rem; }
.invito .azioni { justify-content: center; }
.invito img { width: 58px; height: 41px; margin: 0 auto 1.2rem; display: block; filter: brightness(0) invert(1); opacity: .9; }

/* ── pagine dei testi legali ── */
.legale { padding-block: 3.5rem 4.5rem; }
.legale .avviso { background: var(--tinta-blu); border: 1px solid #C9DAF2; border-radius: var(--raggio); padding: 1.1rem 1.3rem; margin: 1.5rem 0; }
.legale .avviso p:last-child { margin-bottom: 0; }
.versione { color: var(--tenue); font-size: .95rem; }
.testo-legale { max-width: 46em; }
.testo-legale h2 { font-size: 1.3rem; margin: 2.4rem 0 .7rem; }
.testo-legale ul { padding-left: 1.2rem; }
.testo-legale li { margin: .3rem 0; }
.tabella { overflow-x: auto; margin: 0 0 1.2rem; border: 1px solid var(--bordo); border-radius: 10px; }
.tabella table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.tabella th, .tabella td { text-align: left; vertical-align: top; padding: .6rem .8rem; border-bottom: 1px solid var(--bordo); }
.tabella th { background: var(--fondo); color: var(--inchiostro); font-weight: 650; }
.tabella tr:last-child td { border-bottom: 0; }
.indice { background: var(--fondo); border: 1px solid var(--bordo); border-radius: var(--raggio); padding: 1rem 1.3rem; margin: 1.5rem 0 1rem; }
.indice ol { margin: .3rem 0 0; padding-left: 1.3rem; columns: 2; column-gap: 2rem; }
.indice li { margin: .15rem 0; break-inside: avoid; }

/* ── piè di pagina ── */
.piede { background: var(--inchiostro); color: #C5CEDA; padding-block: 2.8rem 2.2rem; font-size: .93rem; }
.piede a { color: #fff; }
.piede .wrap { display: grid; gap: 1.2rem; }
.piede-alto { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; }
.piede-marchio { display: flex; align-items: center; gap: .7rem; color: #fff; font-weight: 650; }
.piede-marchio span { font-weight: 400; color: #C5CEDA; }
.piede nav { display: flex; flex-wrap: wrap; gap: .4rem 1.3rem; }
.piede nav a { text-decoration: none; font-weight: 600; }
.piede nav a:hover { text-decoration: underline; }
.societa { margin: 0; padding-top: 1.2rem; border-top: 1px solid rgba(255, 255, 255, .14); line-height: 1.7; }

/* ── pagina non trovata ── */
.vuota { padding-block: 5rem 6rem; text-align: center; }
.vuota .occhiello { justify-content: center; }
.vuota .azioni { justify-content: center; }

@media (max-width: 1000px) {
    .pilastri, .motivi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .moduli-corpo { grid-template-columns: 1fr; gap: 1.5rem; }
    .indice-moduli { position: static; }
    .indice-moduli ol { display: flex; flex-wrap: wrap; gap: .4rem; border: 0; }
    .indice-moduli a { border: 1px solid var(--bordo); border-radius: 99px; padding: .3rem .8rem; margin: 0; font-size: .88rem; }
    .indice-moduli a:hover { border-color: var(--blu); }
    .passi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .passi li::after { display: none; }
}
@media (max-width: 900px) {
    .apertura .wrap, .chi, .due { grid-template-columns: 1fr; gap: 2.6rem; }
    .apertura .wrap { padding-block: 3.4rem 3.6rem; }
    .vetrina { max-width: 34rem; }
    .funzioni, .per-chi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sezione { padding-block: 4rem; }
    .invito { padding-block: 0 4rem; }
    .menu .solo-largo { display: none; }
}
@media (max-width: 620px) {
    .funzioni, .per-chi, .pilastri, .passi, .email, .motivi, .spunte { grid-template-columns: 1fr; }
    .modulo { grid-template-columns: 1fr; gap: .9rem; }
    .finestra-corpo { grid-template-columns: 1fr; min-height: 0; }
    .finto-menu { display: none; }
    .vetrina { padding-left: 0; }
    .bollino { position: relative; margin: -1.4rem auto 0; left: auto; bottom: auto; }
    .indice ol { columns: 1; }
    .invito .riquadro-invito { padding: 2.4rem 1.3rem; }
    .scheda { padding: 1.6rem 1.3rem; }
}
/* Sul telefono la testata sta su una riga: le altre voci restano nel piè di pagina. */
@media (max-width: 480px) {
    .menu .largo { display: none; }
    .testata .wrap { gap: .5rem 1rem; }
    .menu { gap: .3rem 1rem; }
    .menu a:not(.bottone) { font-size: .9rem; }
}
@media (max-width: 380px) {
    .logotipo { font-size: 1.12rem; }
    .marchio img { width: 34px; height: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .bottone, .funzioni li { transition: none; }
    .bottone.pieno:hover, .funzioni li:hover { transform: none; }
}
@media print {
    .testata { position: static; }
    .testata .menu, .azioni, .salta, .vetrina, .invito { display: none; }
    .piede { background: none; color: var(--testo); }
    .piede a { color: var(--blu); }
}
