/* Systemcafe s.r.l. – foglio di stile del sito (grafica "Geometrie e luce") */

@font-face { font-family: "Fraunces"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/fraunces-600.woff2") format("woff2"); }
@font-face { font-family: "Fraunces"; font-weight: 700; font-style: normal; font-display: swap; src: url("../fonts/fraunces-700.woff2") format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/instrument-sans-400.woff2") format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-weight: 500; font-style: normal; font-display: swap; src: url("../fonts/instrument-sans-500.woff2") format("woff2"); }
@font-face { font-family: "Instrument Sans"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/instrument-sans-600.woff2") format("woff2"); }

:root {
  --notte: #0A1238;      /* testi e fondi scuri */
  --testo: #4F5375;      /* testi secondari */
  --indaco: #2E2E8E;     /* colore principale */
  --arancio: #DD6A2C;    /* accento e pulsanti */
  --arancio-chiaro: #F89858;
  --lilla: #E7E5FF;
  --lavanda: #DDE2FF;
  --pesca: #FFDCC8;
  --albicocca: #FFEBDD;
  --bordo: #D2D4E8;
  --chiaro-su-scuro: #E2E3F5;
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans: "Instrument Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; font-family: var(--sans); color: var(--notte); background: #fff; line-height: 1.5; font-size: 17px; }
img, svg { max-width: 100%; }
a { color: var(--indaco); }
a:hover { color: var(--arancio); }
:focus-visible { outline: 3px solid var(--arancio); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { margin: 0; }
p { margin: 0; }
.salta { position: absolute; left: -9999px; top: 0; background: var(--notte); color: #fff; padding: 12px 16px; z-index: 10; border-radius: 12px; }
.salta:focus { left: 16px; top: 16px; color: #fff; }

.wrap { max-width: 1296px; margin: 0 auto; padding-left: 40px; padding-right: 40px; }
.titolo-1 { font-family: var(--serif); font-weight: 700; font-size: clamp(42px, 6.2vw, 82px); line-height: 0.98; letter-spacing: -0.025em; }
.titolo-2 { font-family: var(--serif); font-weight: 700; font-size: clamp(36px, 4.6vw, 60px); line-height: 1; letter-spacing: -0.02em; }
.titolo-3 { font-family: var(--serif); font-weight: 600; font-size: 28px; line-height: 1.12; }
.lead { font-size: 20px; line-height: 1.55; color: var(--testo); }
.testo { color: var(--testo); }

/* Sezioni: fondi colorati con il bordo superiore arrotondato */
.fascia { padding-top: 104px; padding-bottom: 112px; }
.fascia-tonda { border-radius: 48px 48px 0 0; }
.su-lilla { background: var(--lilla); }
.su-lavanda { background: var(--lavanda); }
.su-pesca { background: var(--pesca); }
.su-albicocca { background: var(--albicocca); }
.su-bianco { background: #fff; }
.pila { display: flex; flex-direction: column; gap: 56px; }

/* Pulsanti */
.btn { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 16px 28px; border-radius: 16px; border: 0; font: inherit; font-weight: 600; font-size: 17px; text-decoration: none; cursor: pointer; transition: transform .15s ease, background-color .15s ease; }
.btn:hover { transform: translateY(-1px); }
@media (prefers-reduced-motion: reduce) { .btn { transition: none; } .btn:hover { transform: none; } }
.btn-primario { background: var(--arancio); color: var(--notte); }
.btn-primario:hover { background: #E87B40; color: var(--notte); }
.btn-tenue { background: var(--lilla); color: var(--notte); }
.btn-tenue:hover { background: #DCD0FF; color: var(--notte); }
.btn-bianco { background: #fff; color: var(--notte); }
.btn-bianco:hover { background: var(--albicocca); color: var(--notte); }
.azioni { display: flex; flex-wrap: wrap; gap: 14px; }

/* Loghi */
.simbolo { display: block; flex: none; }
.logo { display: flex; align-items: center; gap: 12px; text-decoration: none; line-height: 1; }
.logo-testo { display: flex; flex-direction: column; }
.logo-nome { font-family: var(--serif); font-weight: 700; font-size: 34px; letter-spacing: -0.02em; }
.logo-system { color: var(--notte); }
.logo-cafe { color: var(--arancio); }
.logo-sotto { font-size: 12px; font-weight: 500; color: var(--testo); margin-top: 5px; letter-spacing: 0.02em; }
.logo-fc { display: inline-flex; align-items: center; gap: 12px; line-height: 1; }
.logo-fc-testo { font-family: var(--serif); font-weight: 700; font-size: 40px; letter-spacing: -0.02em; }
.fc-fire { color: var(--arancio); }
.fc-cafe { color: var(--indaco); }
.logo-fc-scuro .fc-fire { color: var(--arancio-chiaro); }
.logo-fc-scuro .fc-cafe { color: #fff; }

/* Intestazione */
.header .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding-top: 24px; padding-bottom: 24px; }
.menu { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; font-size: 16px; font-weight: 500; }
.menu a { color: var(--notte); text-decoration: none; }
.menu a:hover { color: var(--indaco); }
.menu a[aria-current="page"] { padding-bottom: 4px; border-bottom: 3px solid var(--arancio); }
.menu .menu-cta { background: var(--indaco); color: #fff; font-weight: 600; padding: 13px 22px; border-radius: 14px; min-height: 44px; display: inline-flex; align-items: center; }
.menu .menu-cta:hover { background: var(--notte); color: #fff; }

/* Home: prima videata */
.hero .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 64px; padding-top: 48px; padding-bottom: 112px; }
.hero-testo { flex: 1 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 30px; }
.hero-testo .lead { max-width: 560px; font-size: 21px; }
.composizione { flex: 0 1 560px; width: 100%; max-width: 560px; height: auto; }

/* Servizi */
.testata { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 40px; }
.testata .lead { max-width: 420px; font-size: 19px; }
.servizi { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 56px 48px; }
.servizio { display: flex; flex-direction: column; gap: 16px; }
.servizio-evidenza { background: #fff; border-radius: 28px; padding: 28px; margin: -28px; }
.servizio-evidenza a { align-self: flex-start; font-weight: 600; }
.tecnologie { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; padding: 0; list-style: none; }
.tecnologie .etichetta { font-weight: 600; margin-right: 6px; background: none; padding: 0; color: var(--notte); }
.tecnologie li { background: #fff; color: var(--indaco); font-weight: 600; font-size: 15px; padding: 8px 16px; border-radius: 999px; }

/* Passi numerati */
.passi { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 48px; margin: 0; padding: 0; list-style: none; }
.passo { display: flex; flex-direction: column; gap: 16px; }
.passo-num { width: 72px; height: 72px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-weight: 700; font-size: 34px; }
.passo:nth-child(1) .passo-num { background: var(--indaco); color: #fff; }
.passo:nth-child(2) .passo-num { background: var(--arancio); color: var(--notte); }
.passo:nth-child(3) .passo-num { background: var(--notte); color: #fff; }

/* Pannelli scuri arrotondati */
.pannello-esterno { padding: 0 24px; }
.pannello { border-radius: 40px; color: #fff; position: relative; overflow: hidden; }
.pannello-indaco { background: var(--indaco); }
.pannello-notte { background: var(--notte); }
.pannello .wrap { position: relative; padding-top: 96px; padding-bottom: 96px; }
.pannello .titolo-2 { color: #fff; }
.pannello-deco { position: absolute; left: -140px; bottom: -170px; opacity: 0.5; }
/* Pannello FireCafe in home: muro di mattoncini che sfuma da destra verso sinistra */
.pannello-mattoni::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='32' viewBox='0 0 72 32'%3E%3Cg fill='%23FFFFFF' fill-opacity='0.11'%3E%3Crect x='1' y='1' width='34' height='14' rx='2'/%3E%3Crect x='37' y='1' width='34' height='14' rx='2'/%3E%3Crect x='-17' y='17' width='34' height='14' rx='2'/%3E%3Crect x='19' y='17' width='34' height='14' rx='2'/%3E%3Crect x='55' y='17' width='34' height='14' rx='2'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 72px 32px;
  -webkit-mask-image: linear-gradient(to left, #000 0%, rgba(0,0,0,0.75) 30%, rgba(0,0,0,0.25) 65%, transparent 92%);
  mask-image: linear-gradient(to left, #000 0%, rgba(0,0,0,0.75) 30%, rgba(0,0,0,0.25) 65%, transparent 92%);
  pointer-events: none;
}


/* Home: sezione sicurezza */
.sicurezza .wrap { display: flex; flex-wrap: wrap; gap: 64px; align-items: flex-start; }
.sicurezza-testo { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.sicurezza-testo p { color: var(--chiaro-su-scuro); font-size: 19px; }
.sicurezza-testo .nota { font-size: 16px; color: #D2D4EC; }
.logo-fc-home .logo-fc-testo { font-size: 36px; }
.pillole { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pillole-scure li { background: rgba(255,255,255,0.12); color: #EEEFFA; font-size: 15px; padding: 7px 14px; border-radius: 999px; }
.funzioni { flex: 1 1 400px; min-width: 0; margin: 0; padding: 32px; list-style: none; background: rgba(255,255,255,0.08); border-radius: 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 28px 24px; }
.funzioni li { display: flex; gap: 12px; }
.funzioni .forma { flex: none; width: 14px; height: 14px; margin-top: 6px; }
.funzioni strong { display: block; font-weight: 600; }
.funzioni span.descr { display: block; font-size: 15px; color: #D2D4EC; }

/* Forme geometriche ricorrenti */
.forma { display: block; }
.f-cerchio { border-radius: 50%; }
.f-quadro { border-radius: 4px; }
.c-arancio { background: var(--arancio); }
.c-arancio-chiaro { background: var(--arancio-chiaro); }
.c-bianco { background: #fff; }
.c-indaco { background: var(--indaco); }
.c-lilla { background: #B9A6FF; }

/* Moduli */
.contatti .wrap { display: flex; flex-wrap: wrap; gap: 64px; }
.contatti-testo { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.recapiti { display: flex; flex-direction: column; gap: 18px; margin: 0; padding-top: 8px; }
.recapiti dt { font-size: 14px; color: var(--testo); }
.recapiti dd { margin: 0; font-size: 20px; font-weight: 600; }
.recapiti a { color: var(--notte); }
.modulo { flex: 1 1 520px; min-width: 0; border-radius: 32px; padding: 44px; display: flex; flex-direction: column; gap: 20px; color: var(--notte); }
.modulo-lavanda { background: var(--lavanda); }
.modulo-bianco { background: #fff; }
.campi-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
.modulo label { display: flex; flex-direction: column; gap: 8px; font-size: 15px; font-weight: 600; }
.modulo input, .modulo select, .modulo textarea { font: inherit; font-weight: 400; font-size: 16px; padding: 13px 16px; min-height: 48px; border: 1.5px solid var(--bordo); border-radius: 12px; background: #fff; color: var(--notte); width: 100%; }
.modulo input:focus, .modulo select:focus, .modulo textarea:focus { border-color: var(--indaco); outline: 3px solid rgba(46,46,142,0.2); outline-offset: 0; }
.modulo textarea { resize: vertical; }
.modulo .btn { align-self: flex-start; }
.facoltativo { font-weight: 400; color: var(--testo); }
.nota-privacy { font-size: 14px; color: var(--testo); }
.esca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.avviso { padding: 16px 20px; font-weight: 500; border-radius: 14px; }
.avviso-ok { background: #E3F6EC; color: #145A35; border: 1.5px solid #8FD3AE; }
.avviso-errore { background: #FFE6E1; color: #8A1E0E; border: 1.5px solid #FFA493; }

/* Pagine interne: intestazione */
.intestazione-pagina .wrap { padding-top: 48px; padding-bottom: 88px; display: flex; flex-direction: column; gap: 22px; }
.intestazione-pagina .titolo-1 { max-width: 900px; }
.intestazione-pagina .lead { max-width: 660px; }

/* FireCafe */
.fc-hero .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 64px; padding-top: 40px; padding-bottom: 104px; }
.fc-hero-testo { flex: 1 1 600px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.fc-hero-testo .lead { max-width: 620px; }
.fc-hero .titolo-1 { font-size: clamp(40px, 5.4vw, 76px); }
.schema { flex: 1 1 380px; min-width: 0; background: var(--lilla); border-radius: 40px; padding: 40px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.schema-svg { display: block; width: 100%; height: auto; }
.schema-nota { text-align: center; font-size: 15px; color: var(--testo); }
.schema-box { width: 100%; background: #fff; border-radius: 20px; padding: 18px; text-align: center; font-weight: 600; color: var(--testo); }
.schema-fc { width: 100%; background: var(--notte); border-radius: 24px; padding: 22px; display: flex; justify-content: center; }
.schema-fc .logo-fc-testo { font-size: 30px; }
.schema-dispositivi { width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; text-align: center; font-size: 14px; font-weight: 600; color: var(--testo); }
.schema-dispositivi span { background: #fff; border-radius: 16px; padding: 14px 4px; }
.due-blocchi { display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; }
.blocco-titolo { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.checklist { flex: 1 1 560px; min-width: 0; margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 14px; }
.checklist li { background: #fff; border-radius: 20px; padding: 22px 22px 22px 58px; position: relative; }
.checklist li::before { content: ""; position: absolute; left: 22px; top: 24px; width: 22px; height: 22px; border: 2.5px solid var(--arancio); border-radius: 7px; }
.su-pesca .lead { color: #5A3B2A; }
.vpn { background: var(--indaco); color: #fff; border-radius: 32px; padding: 44px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; position: relative; overflow: hidden; }
.vpn-deco { position: absolute; right: -50px; bottom: -70px; }
.vpn > svg:not(.vpn-deco), .vpn > div { position: relative; }
.vpn > div { flex: 1 1 520px; min-width: 0; max-width: 820px; display: flex; flex-direction: column; gap: 10px; }
.vpn .titolo-3 { font-size: 34px; color: #fff; }
.vpn p { font-size: 18px; color: #DCDCF5; }
.caratteristiche { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 48px; }
.caratteristica { display: flex; flex-direction: column; gap: 12px; }
.caratteristica .forma { width: 40px; height: 40px; }
.caratteristica .f-quadro { border-radius: 8px; }
.caratteristica .titolo-3 { font-size: 25px; }
.schede-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 32px; }
.scheda-bianca { background: #fff; border-radius: 32px; padding: 40px; display: flex; flex-direction: column; gap: 16px; }
.scheda-bianca .titolo-3 { font-size: 34px; }
.scheda-bianca p { font-size: 18px; color: var(--testo); }
.pillole-lavanda li { background: var(--lavanda); color: var(--indaco); font-weight: 600; font-size: 17px; padding: 12px 20px; border-radius: 999px; }
.domande { flex: 999 1 600px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.domanda { background: #fff; border-radius: 24px; padding: 28px 32px; display: flex; flex-direction: column; gap: 10px; }
.domanda .titolo-3 { font-size: 23px; color: var(--indaco); }
.checkup-esterno { background: var(--albicocca); padding: 0 24px 24px; }
.checkup .wrap { display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; }
.checkup-testo { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.checkup-testo > p { font-size: 19px; color: var(--chiaro-su-scuro); }
.checkup-testo > p a { color: #fff; font-weight: 600; }
.checkup .modulo { flex: 1 1 500px; }
.brochure-box { margin-top: 12px; background: var(--pesca); color: var(--notte); border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.brochure-box p { font-size: 16px; color: #5A3B2A; }
.brochure-box .btn { align-self: flex-start; }
.brochure-box .logo-fc-testo { font-size: 26px; }

/* Testimonianze */
.schede { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 24px; }
.scheda { color: inherit; text-decoration: none; background: #fff; padding: 32px; min-height: 280px; display: flex; flex-direction: column; gap: 18px; border-radius: 28px; border: 3px solid transparent; }
.scheda:hover { border-color: var(--bordo); color: inherit; }
.scheda[aria-current="true"] { border-color: var(--arancio); }
.scheda-settore { font-size: 14px; font-weight: 600; color: var(--indaco); }
.scheda-citazione { font-family: var(--serif); font-weight: 600; font-size: 27px; line-height: 1.2; }
.persona { display: flex; align-items: center; gap: 14px; margin-top: auto; }
.iniziali { width: 52px; height: 52px; flex-shrink: 0; border-radius: 50%; background: var(--indaco); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; }
.persona-nome { display: flex; flex-direction: column; line-height: 1.35; }
.persona-nome span { font-size: 14px; color: var(--testo); }
.intervista { background: #fff; border-radius: 40px; padding: 56px; display: flex; flex-wrap: wrap; gap: 56px; }
.intervista-scheda { flex: 1 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.intervista-scheda .iniziali { width: 88px; height: 88px; font-size: 28px; }
.intervista-scheda img.foto { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.intervista-chi strong { display: block; font-family: var(--serif); font-weight: 700; font-size: 28px; }
.intervista-chi span { color: var(--testo); }
.dati { margin: 0; display: flex; flex-direction: column; gap: 14px; background: var(--lilla); border-radius: 24px; padding: 24px; }
.dati dt { font-size: 13px; color: var(--testo); }
.dati dd { margin: 0; font-weight: 600; }
.intervista-testo { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 40px; }
.citazione { margin: 0; }
.citazione::before { content: "“"; display: block; font-family: var(--serif); font-weight: 700; font-size: 120px; line-height: 0.6; height: 52px; color: var(--arancio); }
.citazione p { font-family: var(--serif); font-weight: 700; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.08; letter-spacing: -0.015em; }
.risposte { display: flex; flex-direction: column; gap: 30px; }
.risposte h2 { font-size: 19px; font-weight: 600; color: var(--indaco); margin-bottom: 10px; }
.risposte p { font-size: 18px; color: #2E3355; margin-bottom: 12px; }
.invito { background: var(--notte); color: #fff; border-radius: 32px; padding: 44px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.invito div { display: flex; flex-direction: column; gap: 6px; max-width: 560px; }
.invito strong { font-family: var(--serif); font-weight: 700; font-size: 34px; line-height: 1.1; }
.invito span { color: var(--chiaro-su-scuro); font-size: 18px; }

/* Testo lungo (privacy) */
.foglio { background: #fff; border-radius: 40px; padding: 56px 64px 64px; max-width: 900px; }
.foglio h2 { margin: 48px 0 14px; font-family: var(--serif); font-weight: 600; font-size: 30px; line-height: 1.15; }
.foglio p, .foglio li { font-size: 17px; color: #2E3355; }
.foglio p { margin-bottom: 14px; }
.foglio ul { margin: 0 0 14px; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.tabella { overflow-x: auto; margin-bottom: 14px; }
.tabella table { border-collapse: collapse; width: 100%; min-width: 520px; }
.tabella th, .tabella td { text-align: left; vertical-align: top; padding: 12px 14px; border: 1px solid #DEDFF0; font-size: 16px; }
.tabella th { background: var(--lilla); }

/* Piè di pagina */
.footer { background: var(--notte); color: #D2D4EC; }
.footer .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; padding-top: 56px; padding-bottom: 56px; font-size: 15px; }
.footer-marchio { display: flex; flex-direction: column; gap: 12px; }
.footer-logo .logo-nome { font-size: 28px; }
.footer-logo .logo-system { color: #fff; }
.footer-logo .logo-cafe { color: var(--arancio-chiaro); }
.footer-link { display: flex; flex-wrap: wrap; gap: 28px; }
.footer a { color: #fff; }
.footer a:hover { color: var(--arancio-chiaro); }

/* Pulsante "torna su" */
.torna-su { position: fixed; right: 24px; bottom: 24px; z-index: 20; width: 52px; height: 52px; border-radius: 16px; background: var(--indaco); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 24px rgba(10,18,56,0.25); text-decoration: none; transition: opacity .2s ease, transform .2s ease, background-color .15s ease; }
.torna-su:hover { background: var(--arancio); color: var(--notte); }
.js .torna-su { opacity: 0; transform: translateY(12px); pointer-events: none; }
.js .torna-su.visibile { opacity: 1; transform: none; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) { .torna-su { transition: none; } }

/* Schermi piccoli */
@media (max-width: 760px) {
  body { font-size: 16px; }
  .wrap { padding-left: 20px; padding-right: 20px; }
  .fascia { padding-top: 72px; padding-bottom: 80px; }
  .fascia-tonda { border-radius: 32px 32px 0 0; }
  .hero .wrap, .fc-hero .wrap { padding-top: 24px; padding-bottom: 72px; gap: 40px; }
  .lead { font-size: 18px; }
  .pannello-esterno { padding: 0 10px; }
  .pannello { border-radius: 28px; }
  .pannello .wrap { padding-top: 64px; padding-bottom: 64px; }
  .modulo, .intervista, .foglio, .vpn, .scheda-bianca, .invito { padding: 26px; border-radius: 26px; }
  .servizio-evidenza { margin: -20px; padding: 20px; }
  .schema { padding: 24px; border-radius: 28px; }
  .schema-dispositivi { grid-template-columns: repeat(2, 1fr); }
  .menu { gap: 10px 20px; }
  .logo-nome { font-size: 30px; }
  .checkup-esterno { padding: 0 10px 10px; }
  .torna-su { right: 14px; bottom: 14px; width: 46px; height: 46px; border-radius: 14px; }
}
