/* Font self-hosted: nessuna chiamata a Google Fonts (scelta GDPR). */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-2.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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-3.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: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/font-1.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/font-2.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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/font-3.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: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-6.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-7.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;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-8.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: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-6.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-7.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;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-8.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: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/font-4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/font-5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/font-6.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/font-7.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;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/font-8.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: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/font-4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/font-5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/font-6.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/font-7.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;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/font-8.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: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-9.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-10.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-11.woff2") format('woff2');
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-12.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-13.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;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/font-14.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: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-9.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-10.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-11.woff2") format('woff2');
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-12.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-13.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;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/font-14.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:'Rubik';src:url("../fonts/font-15.woff2");font-weight:300;}
@font-face{font-family:'Rubik';src:url("../fonts/font-16.woff2");font-weight:400;}
@font-face{font-family:'Rubik';src:url("../fonts/font-17.woff2");font-weight:500;}
@font-face{font-family:'Rubik';src:url("../fonts/font-18.woff2");font-weight:600;}
@font-face{font-family:'Rubik';src:url("../fonts/font-19.woff2");font-weight:700;}

/* ─── isolamento dagli stili globali di Divi ─────────────────────────── */
.heu-home{scroll-behavior:smooth;}
.heu-home,.heu-home *,.heu-home *::before,.heu-home *::after{box-sizing:border-box;}
.heu-home p,#et-main-area .heu-home p,
.heu-home h1,.heu-home h2,.heu-home h3,.heu-home h4,.heu-home h5,.heu-home h6,
#et-main-area .heu-home h1,#et-main-area .heu-home h2,#et-main-area .heu-home h3,
#et-main-area .heu-home h4,#et-main-area .heu-home h5,#et-main-area .heu-home h6,
.heu-home ul,.heu-home ol,.heu-home li,#et-main-area .heu-home ul,
#et-main-area .heu-home ol,#et-main-area .heu-home li{
  margin:0;padding:0;padding-bottom:0;line-height:inherit;font-weight:inherit;
  color:inherit;font-size:inherit;letter-spacing:inherit;list-style:none;}
.heu-home img,.heu-home video,.heu-home svg{max-width:100%;border:0;}
.heu-home button{font:inherit;}
.heu-home a,#et-main-area .heu-home a{text-decoration:none;}

.heu-home{scroll-behavior:smooth;}
.heu-home{margin:0;background:#F5F3EF;color:#0F0F0F;font-family:'Rubik',sans-serif;-webkit-font-smoothing:antialiased;}
.heu-home a{color:#5600FD;text-decoration:none;}
.heu-home a:hover{color:#4A00DD;}
.heu-home summary::-webkit-details-marker{display:none;}
.heu-home details[open] .faq-chevron{transform:rotate(45deg);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes kenburns{from{transform:scale(1);}to{transform:scale(1.12);}}
/* ── demo dell'app: invio, firma dal telefono, stato che si aggiorna ──
   Ricrea la dashboard reale (screenshot del 18/08/2026): righe, stati e
   colori sono quelli dell'app. Tre battute guidate da data-phase. */
.heu-app-stage{position:relative;height:470px;overflow:hidden;}
.heu-app-win{position:absolute;inset:0 0 26px 0;background:#fff;
  border:1px solid #E5E1D8;border-radius:13px;overflow:hidden;
  box-shadow:0 30px 70px rgba(20,0,76,.13),0 2px 6px rgba(20,0,76,.06);
  display:flex;flex-direction:column;}
.heu-app-badge{position:relative;display:inline-block;font-size:10.5px;
  font-weight:500;border-radius:20px;padding:3px 10px;}
.heu-app-badge .b-on,.heu-app-badge .b-off{transition:opacity 420ms ease;}
.heu-app-badge .b-on{position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;border-radius:20px;background:#EDE7FF;color:#5600FD;opacity:0;}
.heu-app[data-phase="2"] .heu-app-badge .b-on{opacity:1;}
.heu-app[data-phase="2"] .heu-app-badge .b-off{opacity:0;}
.heu-app-row-live{transition:background 500ms ease;}
.heu-app[data-phase="2"] .heu-app-row-live{background:#F7F3FF;}
/* il telefono entra da destra, fuori dal riquadro */
.heu-app-phone{position:absolute;right:3.5%;bottom:0;width:214px;
  background:#0F0F0F;border-radius:26px;padding:9px;
  box-shadow:0 34px 60px rgba(20,0,76,.3);
  transform:translate(46px,120%) rotate(4deg);opacity:0;
  transition:transform 900ms cubic-bezier(.2,0,0,1),opacity 500ms ease;}
.heu-app[data-phase="1"] .heu-app-phone,
.heu-app[data-phase="2"] .heu-app-phone{transform:translate(0,0) rotate(0deg);opacity:1;}
.heu-app-phone-screen{background:#fff;border-radius:18px;overflow:hidden;position:relative;}
.heu-sig-path{stroke-dasharray:300;stroke-dashoffset:300;}
.heu-app[data-phase="1"] .heu-sig-path,
.heu-app[data-phase="2"] .heu-sig-path{animation:heusig 1300ms 500ms cubic-bezier(.4,0,.3,1) forwards;}
@keyframes heusig{to{stroke-dashoffset:0;}}
.heu-app-phone-ok{position:absolute;inset:0;background:rgba(255,255,255,.96);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  opacity:0;transition:opacity 460ms ease;}
.heu-app[data-phase="2"] .heu-app-phone-ok{opacity:1;}
@media (max-width:960px){
  .heu-app-stage{height:430px;}
  .heu-app-phone{width:188px;right:2%;}
}
@media (max-width:560px){
  .heu-app-stage{height:380px;}
  .heu-app-phone{width:164px;right:0;}
}
@media (prefers-reduced-motion:reduce){
  .heu-app-phone,.heu-app-badge .b-on,.heu-app-badge .b-off,
  .heu-app-row-live,.heu-app-phone-ok{transition:none !important;}
  .heu-sig-path{animation:none;stroke-dashoffset:0;}
}
/* ── menu fisso ────────────────────────────────────────────────────────
   Sopra l'hero è trasparente (testo bianco sul video); appena si scorre
   prende il viola scuro del brand, così il testo resta bianco su scuro e non
   serve ricolorare nulla. Lo stacco è una transizione, non un salto. */
.heu-nav{position:fixed;top:0;left:0;right:0;z-index:60;
  transition:background 300ms ease,box-shadow 300ms ease;}
.heu-nav[data-solid]{background:#14004C;
  box-shadow:0 1px 0 rgba(255,255,255,.07),0 10px 30px rgba(20,0,76,.22);}
.heu-nav > div{transition:padding 300ms ease;}
.heu-nav[data-solid] > div{padding-top:15px;padding-bottom:15px;}
/* col menu fisso le ancore finirebbero sotto la barra */
.heu-home [id]{scroll-margin-top:88px;}
/* la barra di WordPress, visibile solo a chi è connesso, sta sopra */
body.admin-bar .heu-nav{top:32px;}
@media (max-width:782px){body.admin-bar .heu-nav{top:46px;}}
/* ── "in due clic": organizzazione e firma ──────────────────────────────
   Compatta di proposito: una striscia di 300px invece di mezza schermata,
   perché più in alto sta la sezione, più gente la vede. Un cursore finto si
   sposta fra due bersagli e clicca; le coordinate le calcola il runtime
   (heu-home.js), perché dipendono dalla larghezza della finestra. */
.heu-flow-stage{position:relative;height:302px;overflow:hidden;}
.heu-flow-win{position:absolute;inset:0;margin:auto;width:100%;max-width:900px;
  height:302px;background:#fff;border:1px solid #E5E1D8;border-radius:12px;
  overflow:hidden;box-shadow:0 18px 46px rgba(20,0,76,.10),0 1px 3px rgba(20,0,76,.06);}
.heu-btn{transition:background 300ms ease,color 300ms ease,border-color 300ms ease;}
.heu-flow[data-phase="1"] [data-flow-t="1"],
.heu-flow[data-phase="2"] [data-flow-t="1"],
.heu-flow[data-phase="2"] [data-flow-t="2"]{
  background:#5600FD !important;color:#fff !important;border-color:#5600FD !important;}
.heu-chip{opacity:0;transform:translateY(-5px);
  transition:opacity 440ms ease var(--d,0ms),transform 440ms cubic-bezier(.2,0,0,1) var(--d,0ms);}
.heu-flow[data-phase="1"] .heu-chip,.heu-flow[data-phase="2"] .heu-chip{opacity:1;transform:none;}
.heu-badge{position:relative;display:inline-block;}
.heu-badge span{transition:opacity 400ms ease;}
.heu-b-signed{position:absolute;left:0;top:0;opacity:0;white-space:nowrap;}
.heu-flow[data-phase="2"] .heu-b-pending{opacity:0;}
.heu-flow[data-phase="2"] .heu-b-signed{opacity:1;}
.heu-cursor{position:absolute;left:0;top:0;width:22px;height:22px;pointer-events:none;
  z-index:5;opacity:0;transform:translate(var(--cx,0px),var(--cy,0px));
  transition:transform 740ms cubic-bezier(.45,0,.2,1),opacity 400ms ease;}
.heu-flow[data-cursor="on"] .heu-cursor{opacity:1;}
.heu-ring{position:absolute;left:-10px;top:-10px;width:42px;height:42px;
  border-radius:50%;border:2px solid #5600FD;opacity:0;}
.heu-cursor.heu-click .heu-ring{animation:heupulse 640ms ease-out;}
@keyframes heupulse{from{transform:scale(.3);opacity:.9}to{transform:scale(1);opacity:0}}
@media (max-width:960px){
  .heu-flow-stage,.heu-flow-win{height:290px;}
  .heu-home [data-mq~="flowhide"]{display:none !important;}
}
@media (max-width:560px){
  .heu-flow-stage,.heu-flow-win{height:274px;}
  .heu-cursor{display:none;}
}
/* chi ha chiesto meno animazioni vede direttamente il risultato */
@media (prefers-reduced-motion:reduce){
  .heu-chip,.heu-badge span,.heu-cursor,.heu-btn{transition:none !important;}
  .heu-cursor.heu-click .heu-ring{animation:none;}
}
@media (max-width:960px){
  .heu-home [data-mq~="navlinks"]{display:none !important;}
  .heu-home [data-mq~="grid2"]{grid-template-columns:1fr !important;gap:32px !important;}
  .heu-home [data-mq~="feat"]{grid-template-columns:1fr !important;gap:28px !important;padding-top:36px !important;padding-bottom:36px !important;}
  .heu-home [data-mq~="feattext"]{order:-1;}
  .heu-home [data-mq~="cards3"]{grid-template-columns:1fr !important;}
  .heu-home [data-mq~="stats"]{grid-template-columns:repeat(2,1fr) !important;}
  .heu-home [data-mq~="footgrid"]{grid-template-columns:1fr 1fr !important;}
  .heu-home [data-mq~="sec"]{padding-top:64px !important;padding-bottom:64px !important;}
  .heu-home [data-mq~="hero"]{height:auto !important;min-height:660px !important;}
  .heu-home [data-mq~="appgrid"]{grid-template-columns:1fr !important;}
  .heu-home [data-mq~="appside"]{display:none !important;}
  .heu-home [data-mq~="mediaband"]{height:44vh !important;}
  .heu-home [data-mq~="apprail"]{display:none !important;}
  .heu-home [data-mq~="appcol2"]{display:none !important;}
}
@media (max-width:560px){
  .heu-home [data-mq~="login"]{display:none !important;}
  .heu-home [data-mq~="tbsep"]{display:none !important;}
  .heu-home [data-mq~="footgrid"]{grid-template-columns:1fr !important;}
  .heu-home [data-mq~="stats"]{grid-template-columns:1fr !important;}
}

.frc-t{font-size:39px;font-family:MazzardH-Medium,Mazzard,'Geist',sans-serif;font-weight:500;fill:#fff;}

.heu-home .heu-hv-1:hover{color:#fff;}
.heu-home .heu-hv-2:hover{background:#F2F1FF;color:#0F0F0F;}
.heu-home .heu-hv-3:hover{background:#4A00DD;color:#fff;}
.heu-home .heu-hv-4:hover{background:rgba(255,255,255,.12);color:#fff;}

/* ─── fix: sotto i 960px il testo dell'hero supera l'altezza del contenitore,
       che ha overflow:hidden e allineamento in basso -> il titolo veniva
       tagliato in cima. Qui l'altezza la definisce il contenuto. ─────────── */
@media (max-width:960px){
  .heu-home [data-mq~="hero"]{height:auto !important;}
  .heu-home [data-mq~="hero"] > div:nth-child(3){
    position:relative !important;inset:auto !important;overflow:visible !important;}
  .heu-home [data-mq~="hero"] > div:nth-child(3) > div{
    padding:104px 24px 64px !important;}
}
