@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/plus-jakarta-sans-latin-wght.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500 600;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-600.woff2) format('woff2')}
body{margin:0;background:#F6F7FB}
a{color:#283593}a:hover{color:#1A237E}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
@keyframes rc-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes rc-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rc-pulse{animation:rc-pulse 1.4s ease-in-out infinite}
.rc-in{animation:rc-in .45s ease both}
@media (prefers-reduced-motion: reduce){.rc-pulse,.rc-in{animation:none}}
input:focus,textarea:focus{outline:2px solid #3949AB;outline-offset:1px}
.lg h2{margin:40px 0 12px;font-size:22px;letter-spacing:-0.02em;color:#151B3D}
.lg p,.lg li{font-size:16px;line-height:1.7;color:#2B3256}
.lg p{margin:0 0 12px}
.lg ul{margin:0 0 12px;padding-left:22px}
.lg li{margin-bottom:6px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
.rc-step{font:inherit;text-align:left;color:#151B3D;background:#FFFFFF;border:1px solid #E3E6F0;border-radius:14px;padding:16px 18px;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:14px;position:relative;overflow:hidden}
.rc-step .rc-num{color:#6B7194}
.rc-step[aria-selected="true"]{background:#EEF0FA;border-color:#3949AB}
.rc-step[aria-selected="true"] .rc-num{color:#1A237E}
.rc-bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:#3949AB;transition:width .6s linear}
/* campo trappola anti-spam del modulo contatti: fuori schermo, non display:none */
.rc-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* gestione cookie (assets/js/cookie.js): banner e pannello preferenze */
.rc-ck-banner,.rc-ck-dialogo{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:#151B3D;background:#FFFFFF;border:1px solid #E3E6F0;border-radius:16px;box-shadow:0 12px 40px rgba(21,27,61,.18)}
.rc-ck-banner{position:fixed;z-index:1000;left:16px;right:16px;bottom:16px;max-width:720px;margin:0 auto;padding:22px 22px 18px;box-sizing:border-box}
.rc-ck-titolo{margin:0 40px 8px 0;font-size:18px;font-weight:800;letter-spacing:-0.01em}
.rc-ck-testo{margin:0 0 16px;font-size:15px;line-height:1.55;color:#4A5275}
.rc-ck-azioni{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.rc-ck-btn{font:inherit;font-weight:700;font-size:15px;min-height:44px;padding:10px 20px;border-radius:10px;border:1px solid #1A237E;background:#1A237E;color:#FFFFFF;cursor:pointer;flex:1 1 auto}
.rc-ck-btn:not(.rc-ck-sec){flex:1 1 40%}
.rc-ck-btn.rc-ck-sec{background:#FFFFFF;color:#1A237E}
.rc-ck-btn:hover{background:#283593;border-color:#283593;color:#FFFFFF}
.rc-ck-btn:focus-visible,.rc-ck-x:focus-visible,.rc-ck-link:focus-visible{outline:3px solid #3949AB;outline-offset:2px}
.rc-ck-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;color:#4A5275;cursor:pointer;border-radius:10px}
.rc-ck-x:hover{color:#151B3D;background:#EEF0FA}
.rc-ck-dialogo{width:calc(100% - 32px);max-width:560px;padding:24px;box-sizing:border-box}
.rc-ck-dialogo::backdrop{background:rgba(21,27,61,.45)}
.rc-ck-voce{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid #E3E6F0;cursor:pointer}
.rc-ck-voce input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:#1A237E}
.rc-ck-voce strong{display:block;font-size:16px}
.rc-ck-desc{display:block;font-size:14px;line-height:1.5;color:#4A5275;margin:4px 0 0}
.rc-ck-dialogo p.rc-ck-desc{margin:4px 0 16px}
.rc-ck-link{font:inherit;color:#283593;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.rc-ck-link:hover{color:#1A237E}
.rc-ck-tabella{border-collapse:collapse;width:100%;min-width:560px;font-size:15px;line-height:1.5;color:#2B3256}
.rc-ck-tabella th,.rc-ck-tabella td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid #E3E6F0}
.rc-ck-tabella th{background:#EEF0FA;color:#151B3D;font-weight:700}
.rc-ck-fab{position:fixed;z-index:999;right:16px;bottom:16px;width:48px;height:48px;border-radius:50%;border:2px solid #FFFFFF;background:#1A237E;color:#FFFFFF;box-shadow:0 6px 20px rgba(21,27,61,.18);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.rc-ck-fab:hover{background:#283593}
.rc-ck-fab:focus-visible{outline:3px solid #3949AB;outline-offset:2px}
.rc-ck-fab[hidden]{display:none}
@media print{.rc-ck-fab,.rc-ck-banner{display:none}}
