
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/bricolage.woff2') format('woff2')}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 500;font-display:swap;src:url('../fonts/dmsans.woff2') format('woff2')}
:root{
  --pinktint-100:#fcecf4;
  --pinktint-200:#fcdbeb;
  --pinktint-300:#fac4de;
  --pinktint-deep:#f3a9c9;
  --wisteria:#e9e6f8;
  --wisteria-2:#dadbf7;

  --panel:#fffffe;
  --panel-50:#fcf6f8;
  --panel-2:#fbe8ef;

  --rose:#ed4d95;
  --rose-hover:#e32f7b;
  --warm:#f95d72;
  --warm-2:#f94b65;
  --peach:#f97a3a;
  --peach-2:#f76b26;
  --heart:#ff4f5f;
  --periwinkle:#c9ccf1;
  --promo-hover:linear-gradient(95deg,var(--peach),var(--warm) 55%,var(--rose));

  --fg:#29252e;
  --fg-50:#6d6570;
  --faint:#9892a0;
  --rule:#f1dae4;

  --ondark:#fffffe;
  --blank:#fffffe;
  --green:#8ec7a8;
  --rule-50:rgba(255,255,254,.88);
  --panel-back:rgba(255,255,254,.94);
  --shroud:rgba(41,37,46,.49);
  --ft-back:#29252e;
  --ft:#d8d1dc;
  --ft-2:#fffffe;
  --ft-50:#aba1af;
  --ft-edge:rgba(255,255,254,.12);

  --ro-sm:14px;
  --ro-md:20px;
  --ro-lg:28px;
  --ro-xl:36px;
  --ro-pill:999px;
  --ro-btn:10px;

  --sh-sm:0 6px 16px -8px rgba(237,77,149,.35);
  --sh-md:0 18px 38px -18px rgba(237,77,149,.39);
  --sh-lg:0 30px 60px -24px rgba(227,47,123,.43);

  --display:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",sans-serif;
  --face:"DM Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;

  --shell:1200px;
  --gap:10px;
  --sy:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--face);color:var(--fg);margin:0;line-height:1.6;
  background:linear-gradient(180deg, #fff0f5 0%, #fffffe 30%, #fffffe 100%);
  -webkit-font-smoothing:antialiased;background-attachment:fixed;
}
img{max-width:100%;display:block}
.menuEntry{border-radius:var(--ro-pill);font-weight:600;color:var(--fg);padding:9px 14px;font-size:.96rem;transition:background .18s,color .18s}
.menuEntry:hover{color:var(--rose-hover);background:var(--panel-2)}
.menuLampo{gap:7px;padding:9px 12px;color:var(--fg);font-weight:600;display:inline-flex;border:none;align-items:center;text-decoration:none;cursor:pointer;font-size:.96rem;transition:background .18s ease,color .18s ease;border-radius:var(--ro-pill);background:none;position:relative}
.menuLampo:hover{background:var(--panel-2);color:var(--rose-hover)}
.menuLampo svg{color:var(--rose);width:20px;height:20px}
.menuLampo:hover svg{color:var(--rose-hover)}
.menuLampoParagrafo{white-space:nowrap}
.menuLampo .dmStato{position:static;top:auto;right:auto}
.menuLampoSmall{text-align:left;color:var(--fg);text-decoration:none;cursor:pointer;align-items:center;font-weight:600;font-size:15px;gap:9px;padding:14px 2px;border:none;border-bottom:1px solid var(--rule);width:100%;background:none;display:flex}
.menuLampoSmall:hover{color:var(--rose-hover)}
.menuLampoSmall svg{width:18px;height:18px;color:var(--rose)}
.menuOverlay{opacity:0;position:fixed;z-index:1090;visibility:hidden;transition:opacity .3s ease;background:var(--shroud);inset:0}
.menuOverlay.current{opacity:1;visibility:visible}
.sidebarSmall{overflow-y:auto;z-index:1100;top:0;background:var(--panel);max-width:320px;position:fixed;box-shadow:-6px 0 30px rgba(41,37,46,.21);padding:84px 22px 22px;right:-100%;height:100vh;transition:right .3s ease;height:100dvh;width:80%}
.sidebarSmall.current{right:0}
.sidebarSmall nav{flex-direction:column;display:flex}
.sidebarSmall a:not(.premi){font-weight:600;border-bottom:1px solid var(--rule);padding:14px 2px;color:var(--fg);font-size:15px}
.sidebarSmall a:not(.premi):hover{color:var(--rose-hover)}
.sidebarSmall a.premi{margin-top:22px}
button{font-family:inherit}
.logotipo{color:var(--fg);align-items:center;font-family:var(--display);font-weight:800;letter-spacing:-.02em;gap:11px;display:flex;font-size:1.28rem}
.logotipo:hover{color:var(--fg)}
.logotipoIcon{display:inline-flex;color:var(--ondark);flex-shrink:0;box-shadow:0 8px 18px -8px rgba(237,77,149,.82);background:linear-gradient(135deg,var(--rose),var(--warm) 55%,var(--peach));justify-content:center;border-radius:14px;width:42px;height:42px;align-items:center}
.logotipoIcon svg{height:22px;width:22px}
.h2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
.logotipo,.menuEntry,.sidebarSmall a,.premi,.percorso a,.mainPiede a,.regioneNav a{text-decoration:none}




.utentiRow{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}

.mainAppbar{top:0;background:var(--panel);position:sticky;z-index:60;border-bottom:1px solid var(--rule)}
.mainAppbarIn{display:flex;gap:20px;justify-content:space-between;align-items:center;padding-block:12px}

.involucro{margin-inline:auto;max-width:var(--shell);padding-inline:var(--gap)}
.intro{font-size:1.06rem;margin-top:14px;color:var(--fg-50)}
.symDone svg{stroke:none;fill:currentColor}

.premi{
  padding:14px 26px;cursor:pointer;white-space:nowrap;justify-content:center;
  font-weight:700;align-items:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;border:1.5px solid transparent;
  text-align:center;font-size:1rem;border-radius:var(--ro-btn);display:inline-flex;
  gap:9px;
}
.premi svg{height:18px;width:18px}
.premiSm{padding:10px 18px;font-size:.9rem}
.premiFull{width:100%}
.premiGo{background:linear-gradient(95deg,var(--peach),var(--warm) 55%,var(--rose));box-shadow:0 14px 26px -12px rgba(249,75,101,.75);color:var(--ondark)}
.premiGo:hover{color:var(--ondark);transform:translateY(-2px);box-shadow:0 20px 34px -12px rgba(249,75,101,.87);background:var(--promo-hover)}
.premiLight{background:var(--panel);border-color:var(--rule);color:var(--rose)}
.premiLight:hover{color:var(--rose-hover);transform:translateY(-2px);background:var(--panel-2)}
.premiClear{background:var(--blank);color:var(--rose-hover)}
.premiClear:hover{color:var(--rose-hover);transform:translateY(-2px);box-shadow:var(--sh-md)}
.premi.taste{justify-content:space-between;gap:12px;margin:0 auto 26px;display:flex;padding-inline:16px;max-width:540px}
p{margin:0}
.hl{background:linear-gradient(92deg,var(--rose),var(--warm) 60%,var(--peach));color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic}
svg{display:block}
.percorso a:hover{color:var(--rose-hover)}
h1,h2,h3,h4{margin:0;line-height:1.12;font-family:var(--display);color:var(--fg);letter-spacing:-.01em}
::selection{background:rgba(237,77,149,.21)}
.utenteCard{background:var(--panel);border-radius:var(--ro-lg);overflow:hidden;position:relative;border:1px solid var(--rule-50);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;cursor:pointer}
.utenteCard:hover{box-shadow:var(--sh-lg);transform:translateY(-8px) scale(1.02);z-index:3}
.utentePic{position:relative;aspect-ratio:3/4;background:linear-gradient(160deg,var(--pinktint-200),var(--wisteria-2));display:block;overflow:hidden}
.utentePic img{transition:transform .5s ease,filter .3s ease;width:100%;height:100%;object-fit:cover;display:block}
.utenteCard:hover .utentePic img{transform:scale(1.1);filter:brightness(.7)}
.utenteStato{background:linear-gradient(135deg,#112b48,#0a1f35);padding:5px 9px;gap:6px;align-items:center;top:10px;font-weight:800;border:1px solid #5b9cd6;z-index:3;box-shadow:0 2px 8px rgba(0,1,0,.19);border-radius:var(--ro-pill);letter-spacing:.05em;right:10px;position:absolute;color:#e9f4fd;font-size:.68rem;display:inline-flex}
.utenteStato .bullet{background:var(--green);height:8px;position:relative;width:8px;font-size:0;border-radius:50%;box-shadow:0 0 6px rgba(142,199,168,.7);color:transparent}
.utenteStato .bullet::after{position:absolute;content:"";background:var(--green);border-radius:50%;animation:sway 1.8s ease-out infinite;inset:0}
.utenteIn{left:0;right:0;bottom:0;text-align:left;z-index:2;background:linear-gradient(to top,rgba(0,1,0,.95),rgba(0,1,0,.7) 55%,rgba(0,1,0,.02));padding:20px 15px 15px;position:absolute;transition:opacity .3s ease}
.utenteCard:hover .utenteIn{opacity:0}
.utenteSlogan{border-radius:var(--ro-pill);color:#edfcf8;padding:4px 9px;font-size:.68rem;border:1px solid rgba(73,116,108,.88);margin-bottom:8px;font-weight:700;background:rgba(25,46,42,.94);gap:5px;display:inline-flex;letter-spacing:.02em;align-items:center;box-shadow:0 2px 8px rgba(0,1,0,.19)}
.utenteSlogan svg{color:#a8e3ce;width:14px;height:14px}
.utenteTitolo{font-family:var(--display);color:#fffffe;line-height:1.2;font-weight:800;font-size:1.32rem}
.utenteTitolo span{font-weight:600;font-size:.86rem;color:rgba(255,255,254,.84)}
.utenteAddr{display:flex;gap:6px;color:rgba(255,255,254,.88);margin-top:3px;font-size:.82rem;align-items:center}
.utenteAddr .needle svg{height:14px;color:#fffffe;width:14px}

.utenteAddr{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}
.utenteAddr .needle{margin-right:6px;display:inline-flex;vertical-align:middle}
.utenteLampo{border-radius:50%;height:34px;top:10px;width:34px;background:rgba(0,1,0,.43);z-index:6;place-items:center;color:#fffffe;border:none;box-shadow:0 2px 8px rgba(0,1,0,.27);display:grid;transition:transform .2s ease,background .2s ease,color .2s ease;left:10px;cursor:pointer;position:absolute}
.utenteLampo svg{width:18px;height:18px}
.utenteLampo:hover{transform:scale(1.1);background:rgba(0,1,0,.58)}
.utenteLampo.done{background:var(--warm);color:var(--ondark)}
.utenteLampo.done svg{fill:currentColor}
.pageMenu{align-items:center;margin-left:auto;display:flex;gap:8px}
:focus-visible{outline:3px solid var(--rose);border-radius:6px;outline-offset:2px}
.zona{padding-block:var(--sy)}
.zonaSecond{background:var(--panel-2)}
ul{list-style:none;margin:0;padding:0}
.tasteStrip{display:inline-flex;align-items:center;flex:none}
.tasteStrip img{margin-left:-13px;border-radius:50%;width:38px;border:2px solid var(--ondark);object-fit:cover;height:38px;box-shadow:var(--sh-sm)}
.tasteStrip img:first-child{margin-left:0}
.tasteTitolo{overflow-wrap:break-word;white-space:normal;text-align:center;flex:1 1 auto}
.tasteFwd{display:inline-flex;flex:none;align-items:center}
.tasteFwd svg{width:20px;height:20px}
figure{margin:0}

.toggle{padding:6px;cursor:pointer;background:none;z-index:1105;flex-direction:column;gap:5px;border:none;display:none}
.toggle span{height:3px;background:var(--fg);transition:transform .3s ease,opacity .3s ease;display:block;width:26px;border-radius:2px}
.toggle.current span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.toggle.current span:nth-child(2){opacity:0}
.toggle.current span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
.introHead{max-width:640px;text-align:center;margin:0 auto 30px}
@media(max-width:768px){.utenteLampo{top:8px;left:8px;width:30px;height:30px}.utenteLampo svg{width:16px;height:16px}.utenteStato{top:8px;right:8px;gap:4px;padding:3px 7px;font-size:9.5px;letter-spacing:.03em}.utenteStato .bullet{width:6px;height:6px}.utenteCard .utenteIn{padding:10px 9px 9px}.utenteSlogan{gap:3px;margin-bottom:5px;padding:3px 6px;font-size:9.5px}.utenteSlogan svg{width:12px;height:12px}.utenteTitolo{font-size:.92rem;line-height:1.2;padding-right:40px}.utenteTitolo span{font-size:.72rem;white-space:nowrap}.utenteAddr{font-size:.72rem;gap:4px;margin-top:2px;padding-right:40px}.utenteAddr .needle svg{width:12px;height:12px}}
@keyframes sway{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}

.bullet{font-size:.6rem;color:var(--green);line-height:1}

.vibe{margin-top:18px}
.vibeTitolo{color:var(--rose-hover);font-family:var(--display);margin:0 0 12px;text-transform:uppercase;font-weight:800;font-size:.95rem;letter-spacing:.07em}
.vibeRow{display:grid;align-items:stretch;grid-template-columns:1fr 1fr;gap:12px}
.vibeColumn{padding:14px;border-radius:var(--ro-md);border:1px solid}
.vibeColumnDone{border-color:var(--rule);background:var(--panel-2)}
.vibeColumnHidden{border-color:#e3e6f3;background:#f2f6fc}
.vibeHeader{margin:0 0 12px;font-weight:800;font-size:.82rem;align-items:center;letter-spacing:.04em;display:flex;gap:7px;text-transform:uppercase}
.vibeHeader svg{height:16px;flex:none;width:16px}
.vibeColumnDone .vibeHeader{color:var(--rose-hover)}
.vibeColumnHidden .vibeHeader{color:var(--faint)}
.vibeColumn ul{padding:0;margin:0;gap:11px;display:flex;flex-direction:column;list-style:none}
.vibeColumn li{align-items:center;line-height:1.25;display:flex;font-size:.88rem;gap:10px}
.vibeColumnDone li{color:var(--fg)}
.vibeColumnHidden li{color:var(--faint)}
.vibeSym{height:30px;place-items:center;flex:none;width:30px;border-radius:50%;display:grid}
.vibeSym svg{height:15px;width:15px}
.vibeColumnDone .vibeSym{color:#fffffe;background:linear-gradient(135deg,var(--rose),var(--warm))}
.vibeColumnHidden .vibeSym{color:#a5acc3;background:#fffffe;border:1.5px solid #d6d9ea}
.planning{padding:14px;border:1px solid var(--rule);margin-top:16px;border-radius:var(--ro-md);background:var(--panel-2)}
.planningTitolo{margin:0 0 12px;font-weight:800;gap:7px;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;display:flex;color:var(--rose-hover);align-items:center}
.planningTitolo svg{color:var(--rose);height:16px;flex:none;width:16px}
.planningStrip{margin:0 0 14px;display:flex;padding:0;gap:5px;list-style:none}
.planningUnit{background:#fffffe;align-items:center;flex:1 1 0;border-radius:11px;gap:6px;flex-direction:column;display:flex;padding:7px 1px;min-width:0;border:1px solid var(--rule)}
.planningSlogan{letter-spacing:.02em;color:var(--faint);font-weight:800;text-transform:uppercase;font-size:.6rem}
.planningBullet{border-radius:50%;width:7px;background:#d1d5e5;height:7px}
.planningUnit.done{background:var(--pinktint-200);border-color:var(--rose)}
.planningUnit.done .planningSlogan{color:var(--rose-hover)}
.planningUnit.done .planningBullet{background:var(--green);box-shadow:0 0 0 3px rgba(142,199,168,.29)}
.planningSet{display:flex;gap:12px;padding:0;flex-direction:column;list-style:none;margin:0}
.planningSet li{gap:11px;display:flex;align-items:center}
.planningSym{width:34px;border-radius:50%;color:#fffffe;background:linear-gradient(135deg,var(--rose),var(--warm));height:34px;display:grid;flex:none;place-items:center}
.planningSym svg{width:16px;height:16px}
.planningParagrafo{min-width:0;display:flex;flex-direction:column;line-height:1.2}
.planningParagrafo strong{letter-spacing:.05em;font-size:.66rem;text-transform:uppercase;font-weight:800;color:var(--faint)}
.planningParagrafo span{font-size:.92rem;color:var(--fg);font-weight:700}
.utenteSidebar{top:96px;position:sticky}

.about{margin-top:18px}
.aboutTitolo{margin:0 0 8px;align-items:center;font-family:var(--display);gap:7px;color:var(--fg);font-weight:800;font-size:1rem;display:flex}
.about .intro{font-style:italic;border-left:3px solid var(--rose);color:var(--fg-50);border-radius:0 var(--ro-md) var(--ro-md) 0;margin:0;padding:13px 16px;background:var(--panel-2)}
.utenteWindowLampo{top:14px;right:14px;width:46px;left:auto;height:46px}
.utenteWindowLampo svg{height:21px;width:21px}
.utenteRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid;margin-top:22px;gap:clamp(24px,4vw,52px)}
.utenteColumn{min-width:0}
.utenteWindow{overflow:hidden;margin:0;border-radius:var(--ro-sm);position:relative;box-shadow:var(--sh-md);background:linear-gradient(160deg,var(--pinktint-200),var(--wisteria-2))}
.utenteWindow img{aspect-ratio:4/5;height:auto;display:block;width:100%;object-fit:cover}
.stash{margin-top:10px}
.stashRow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stashUnit{cursor:pointer;border-radius:var(--ro-sm);aspect-ratio:3/4;position:relative;box-shadow:var(--sh-sm);display:block;overflow:hidden}
.stashUnit img{height:100%;display:block;width:100%;object-fit:cover}

.stashUnit:nth-child(1) img{object-position:50% 12%;transform:scale(1.6) rotate(2deg);filter:blur(9px) brightness(.9) contrast(1.03)}
.stashUnit:nth-child(2) img{filter:blur(11px) brightness(.82) contrast(1.06) grayscale(.3);object-position:88% 42%;transform:scale(-2,2) rotate(5deg)}
.stashUnit:nth-child(3) img{object-position:12% 80%;filter:blur(9px) brightness(.92) sepia(.38);transform:scale(-1.4,1.4) rotate(8deg)}
.stashUnit::after{content:"";inset:0;position:absolute;background:linear-gradient(180deg,rgba(0,1,0,.03),rgba(0,1,0,.19));z-index:1}
.stashStato{position:absolute;display:grid;inset:0;z-index:2;color:#fffffe;place-items:center}
.stashStato svg{height:26px;filter:drop-shadow(0 2px 6px rgba(0,1,0,.58));width:26px}
.stashUnit:hover::after{background:linear-gradient(180deg,rgba(0,1,0,.03),rgba(0,1,0,.21))}

.utenteEntry{justify-content:center;border-radius:var(--ro-pill);padding:5px 14px;margin-top:11px;display:inline-flex;color:var(--ondark);font-weight:700;align-items:center;gap:6px;box-shadow:var(--sh-sm);width:100%;font-size:.82rem;background:linear-gradient(135deg,var(--rose),var(--warm))}
.utenteEntry svg{width:15px;height:15px}
.utenteSecond:hover .utenteIn{opacity:1}
@media(max-width:480px){.vibeRow{gap:8px}.vibeColumn{padding:11px 9px}.vibeColumn li{font-size:.78rem;gap:7px}.vibeHeader{font-size:.74rem;gap:5px}.vibeSym{width:26px;height:26px}.vibeSym svg{width:13px;height:13px}.vibeTitolo{font-size:.88rem}}
.utenteColumn .premiFull{margin-top:14px}


.stickyFoglio{position:fixed;z-index:84;pointer-events:none;animation:throb 2.8s ease-in-out infinite;opacity:0;width:58px;height:58px;transform-origin:center bottom;border-radius:50%;transition:opacity .3s ease;right:16px;bottom:86px}
.stickyFoglio::after{animation:glow 2.2s ease-out infinite;border-radius:50%;content:"";inset:0;pointer-events:none;position:absolute}

.lead{background:var(--panel-2);padding:16px 18px;border:1px solid var(--rule-50);margin-bottom:14px;box-shadow:var(--sh-sm);border-radius:var(--ro-sm);text-align:center}
.leadTitolo{margin:0;font-family:var(--display);color:var(--fg);line-height:1.1;font-weight:800;font-size:1.6rem}
.leadSlogan{flex-wrap:wrap;justify-content:center;margin:6px 0 0;display:flex;gap:4px 10px;font-size:.98rem;align-items:center;color:var(--fg-50)}
.leadSlogan span,.leadSlogan a{display:inline-flex;align-items:center;gap:4px}
.leadSlogan a{color:var(--rose-hover);text-decoration:none}
.leadSlogan a:hover{text-decoration:underline}
.leadSlogan svg{height:14px;color:var(--rose);width:14px}
@keyframes throb{0%,78%,100%{transform:rotate(0) translate3d(0,0,0)}80%{transform:rotate(-9deg) translate3d(-4px,0,0)}83%{transform:rotate(8deg) translate3d(4px,0,0)}86%{transform:rotate(-6deg) translate3d(-3px,0,0)}89%{transform:rotate(4deg) translate3d(2px,0,0)}92%{transform:rotate(-2deg) translate3d(-1px,0,0)}95%{transform:rotate(1deg) translate3d(0,0,0)}}
@keyframes glow{0%{box-shadow:0 0 0 0 rgba(237,77,149,.49)}70%,100%{box-shadow:0 0 0 16px rgba(237,77,149,.02)}}

.utenteWindow .utenteWindowStato{top:12px;left:12px;right:auto}
.utenteSidebar .intro{margin-top:18px}

.scopriContatto{margin:0 auto;border-radius:var(--ro-pill);border:1px solid var(--rule-50);background:var(--panel);gap:12px;display:flex;box-shadow:var(--sh-md);padding:12px}
.scopriContatto .fld{font-size:1.06rem;background:transparent;border:none;box-shadow:none}
.scopriContatto .fld:focus{box-shadow:none}
.scopriContatto+.regione{margin-top:40px}

.contattoFrame{max-width:640px}
.contattoGhost{width:1px;height:1px;position:absolute;overflow:hidden;left:-9999px}

.mainPiede{background:var(--ft-back);color:var(--ft)}
.mainPiede .involucro{padding-block:56px 22px}
.mainPiede a{color:var(--ft)}
.mainPiede a:hover{color:var(--ft-2)}

.storia{grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;display:grid}

.regione{display:flex;flex-direction:column;gap:32px}
.regionePart h2{font-size:1.15rem;font-weight:800;margin-bottom:16px;color:var(--fg)}
.regioneNav{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid;gap:12px}
.regioneNav a{font-size:.92rem;border:1px solid var(--rule);background:var(--panel);align-items:center;display:flex;box-shadow:var(--sh-sm);border-radius:var(--ro-md);color:var(--fg);font-weight:600;justify-content:space-between;gap:10px;padding:13px 16px;transition:transform .14s,box-shadow .14s,color .14s}
.regioneNav a:hover{transform:translateY(-3px);color:var(--rose-hover);box-shadow:var(--sh-md)}
.regioneNav a .needle{font-size:.82rem;display:inline-flex;align-items:center;white-space:nowrap;font-weight:700;gap:4px;flex:none;color:var(--rose)}
.regioneNav a .needle svg{width:14px;height:14px}
.contattoAvviso{font-weight:700}
.contattoAvvisoDone{color:var(--green)}
.contattoAvvisoHidden{color:var(--rose-hover)}

.contatto{background:var(--panel);border-radius:var(--ro-lg);border:1px solid var(--rule-50);box-shadow:var(--sh-md);padding:clamp(24px,3vw,40px)}
.contattoUnit{margin-bottom:18px;display:grid;gap:7px}
.contattoUnit label{font-weight:700;font-size:.92rem}

.screenApertura{padding-block:clamp(40px,6vw,80px) 20px}
.screenApertura h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.screenApertura p{color:var(--fg-50);margin:16px auto 0;font-size:1.08rem}
.fact{box-shadow:var(--sh-sm);padding:14px 16px;border-radius:var(--ro-md);display:flex;gap:12px;align-items:center;border:1px solid var(--rule-50);background:var(--panel)}
.factSym{height:40px;border-radius:12px;background:var(--panel-2);color:var(--rose);flex:none;display:grid;width:40px;place-items:center}
.factSym svg{width:18px;height:18px}
.factParagrafo dt{text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;color:var(--faint)}
.factParagrafo dd{margin:2px 0 0;font-family:var(--display);font-weight:800;font-size:.98rem}
.notice{font-size:.86rem;padding-top:22px;border-top:1px solid var(--ft-edge);margin-top:34px;color:var(--ft-50)}
.stickyFoglioPic{display:block;width:100%;box-shadow:0 12px 26px -8px rgba(0,1,0,.45);border-radius:50%;object-fit:cover;border:3px solid var(--panel);height:100%}
.stickyFoglioBullet{box-shadow:var(--sh-sm);border-radius:50%;display:grid;width:23px;border:2px solid var(--panel);background:linear-gradient(135deg,var(--rose),var(--warm));top:-3px;color:var(--ondark);place-items:center;height:23px;position:absolute;right:-3px}
.stickyFoglioBullet svg{height:12px;width:12px}
.fldLine{gap:18px;grid-template-columns:1fr 1fr;display:grid}
.fld{width:100%;border-radius:var(--ro-sm);font-family:inherit;transition:border-color .16s,box-shadow .16s;background:var(--panel-50);padding:13px 16px;font-size:1rem;border:1.5px solid var(--rule);color:var(--fg)}
.fld:focus{border-color:var(--rose);outline:none;box-shadow:0 0 0 3px rgba(237,77,149,.13)}
textarea.fld{min-height:140px;resize:vertical}


.toolbar{position:fixed;z-index:80;display:flex;pointer-events:none;padding:0 12px;left:0;right:0;bottom:14px;justify-content:center}
.toolbarIn{backdrop-filter:blur(16px) saturate(1.3);padding:6px 12px;background:rgba(24,17,28,.88);gap:7px;border-radius:22px;max-width:calc(100vw - 24px);border:1px solid rgba(255,255,254,.12);-webkit-backdrop-filter:blur(16px) saturate(1.3);pointer-events:auto;box-shadow:0 14px 40px -10px rgba(0,1,0,.49);align-items:center;display:flex}
.toolbarUnit{flex-direction:column;font-size:.6rem;justify-content:center;border-radius:13px;position:relative;transition:color .15s ease,background .15s ease;min-width:50px;text-decoration:none;gap:3px;align-items:center;color:rgba(255,255,254,.8);display:flex;font-weight:700;padding:5px 7px}
.toolbarUnit:hover{background:rgba(255,255,254,.1);color:#fffffe}
.toolbarUnit svg{height:21px;width:21px}
.toolbarCount{background:var(--heart);margin-left:2px;position:absolute;text-align:center;padding:0 4px;color:#fffffe;height:15px;min-width:15px;top:-2px;border-radius:var(--ro-pill);left:50%;font-size:.56rem;font-weight:800;line-height:15px;border:2px solid rgba(24,17,28,.95)}
.toolbarUnitHidden{opacity:.38;pointer-events:none}
.toolbarUnit span{white-space:nowrap}
.toolbarGancio{margin:0 2px;text-decoration:none;color:#fffffe;font-size:.6rem;display:flex;font-weight:800;align-items:center;gap:3px;flex-direction:column}
.toolbarGancioIn{width:54px;overflow:hidden;margin-top:-22px;display:grid;border-radius:50%;box-shadow:0 8px 20px -5px rgba(249,75,101,.87);border:3px solid rgba(24,17,28,.95);background:linear-gradient(135deg,var(--peach),var(--warm) 55%,var(--rose));place-items:center;height:54px}
.toolbarGancioIn img{width:100%;height:100%;object-fit:cover}
.toolbarGancioIn svg{height:24px;width:24px;color:#fffffe}


.infosFacts{gap:16px;display:grid;grid-template-columns:1fr 1fr}
.piedeRow{display:grid;gap:40px;grid-template-columns:1.6fr 1fr 1fr}
.piedeLogotipo{margin-bottom:12px;font-family:var(--display);display:flex;gap:10px;color:var(--ft-2);align-items:center;font-weight:800;font-size:1.2rem}
.piedeColumn>p:not(.piedeTitolo){max-width:34ch;font-size:.94rem;color:var(--ft-50)}
.piedeTitolo{font-size:1rem;color:var(--ft-2);margin-bottom:14px;font-weight:800}
.piedeNav{font-size:.94rem;display:grid;gap:10px}
.percorso{font-size:.86rem;flex-wrap:wrap;gap:6px;color:var(--faint);justify-content:flex-start;display:flex;margin-bottom:14px}
.percorso li:not(:last-child)::after{color:var(--faint);margin-left:6px;content:"\00203a"}
.percorso a{color:var(--fg-50)}
.percorso:has(+ .introHead){justify-content:center}

.dmStato{box-shadow:var(--sh-sm);place-items:center;position:absolute;height:22px;top:-3px;border-radius:var(--ro-pill);display:grid;font-size:.72rem;min-width:22px;color:var(--ondark);padding:0 6px;border:2px solid var(--panel);background:var(--heart);line-height:1;font-weight:800;right:-3px}
.dmStato[hidden]{display:none}
.geoCard{box-shadow:var(--sh-md);background:var(--wisteria);aspect-ratio:4/3;border-radius:var(--ro-lg);border:1px solid var(--rule-50);position:relative;overflow:hidden}
.geoCard.geoLazy{cursor:pointer}
.geoGhost{background:linear-gradient(160deg,var(--wisteria-2),var(--panel-2));padding:20px;inset:0;place-items:center;gap:10px;text-align:center;position:absolute;display:grid}
.geoGhost p{color:var(--fg);font-weight:700}
.geoNeedle{color:var(--warm);filter:drop-shadow(0 10px 12px rgba(249,75,101,.49))}
.geoNeedle svg{fill:currentColor;height:40px;width:40px;stroke:none}
.geoCard iframe{width:100%;border:0;inset:0;position:absolute;height:100%}
.geoCard.loaded .geoGhost{display:none}

.ghost{padding-block:clamp(60px,10vw,140px);text-align:center}
.ghostRank{font-family:var(--display);line-height:.9;font-weight:800;font-size:clamp(6rem,20vw,13rem)}
.ghostPart{justify-content:center;display:flex;margin-top:30px;gap:14px;flex-wrap:wrap}

@media (max-width:980px){
  
  .involucro{max-width:720px}
  .utentiRow{grid-template-columns:repeat(3,1fr)}
  .utenteRow{grid-template-columns:1fr}
  .utenteWindow{width:100%;justify-self:start}
  .utenteSidebar{position:static}
  .storia{grid-template-columns:1fr}
  .piedeRow{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .pageMenu{display:none}
  .toggle{display:flex;position:fixed;top:18px;right:18px}
}
@media (min-width:861px){
  .sidebarSmall,.menuOverlay{display:none}
}
@media (max-width:600px){
  :root{--sy:clamp(30px,7vw,48px);--gap:8px}
  
  .introHead{margin-bottom:10px}
  .zona{padding-top:16px}
  .piedeRow,.fldLine{grid-template-columns:1fr}
  .utentiRow{grid-template-columns:repeat(2,1fr);gap:5px}
  .utenteCard{border-radius:var(--ro-sm)}
  .geoCard{border-radius:var(--ro-sm)}
  .utenteIn{padding:16px 10px}
  
  .zonaIntro{padding-top:8px}
  .zonaIntro .percorso{margin-bottom:8px;font-size:.78rem}
  .scopriContatto{flex-direction:column;border-radius:var(--ro-lg)}
  .scopriContatto .premi{width:100%}
  .zonaUtente{padding-top:0}
  .zonaUtente .percorso{margin-bottom:8px;font-size:.78rem}
  .utenteWindow img{aspect-ratio:1/1;max-height:40vh}
  .stash{margin-top:8px}
  .stashRow{gap:6px}
  .stashUnit{aspect-ratio:1/1}
  .lead{padding:8px 12px;margin-bottom:8px}
  .leadTitolo{font-size:1.2rem}
  .leadSlogan{font-size:.85rem;margin-top:3px}
  .utenteColumn .premiFull{margin-top:8px}
  .utenteRow{margin-top:0}
  .utenteSidebar{display:flex;flex-direction:column;margin-top:8px}
  .utenteSidebar>:first-child{margin-top:4px}
  .toolbar{bottom:10px;padding:0 8px}
  .toolbarIn{max-width:calc(100vw - 16px);gap:10px;padding:5px 14px}
  .toolbarUnit{min-width:44px;padding:3px 4px;gap:2px;font-size:.54rem}
  .toolbarUnit svg{width:20px;height:20px}
  .toolbarLampo span{max-width:88px;overflow:hidden;text-overflow:ellipsis}
  .toolbarGancioIn{width:46px;height:46px;margin-top:-16px}
  .toolbarGancioIn svg{width:22px;height:22px}
  .infosFacts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .fact{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .factSym{width:34px;height:34px}
  .factParagrafo{min-width:0}
  .factParagrafo dd{font-size:.92rem;overflow-wrap:anywhere}
}



.addioFoglio{inset:0;z-index:1200;justify-content:center;background:var(--shroud);position:fixed;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:none;align-items:center;padding:20px}
.addioFoglio.loaded{display:flex}
.addioFoglioCard{overflow:hidden;max-width:400px;animation:breathe .34s cubic-bezier(.175,.885,.32,1.275);width:100%;box-shadow:var(--sh-lg);background:var(--panel);border-radius:var(--ro-xl);position:relative;color:var(--fg)}
@keyframes breathe{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.addioFoglioHeader{overflow:hidden;height:92px;position:relative;background:linear-gradient(135deg,var(--peach),var(--warm) 52%,var(--rose))}
.addioFoglioHeader::after{right:-18%;top:-70%;content:"";position:absolute;width:62%;border-radius:50%;border:18px solid rgba(255,255,254,.1);height:220%}
.addioFoglioIn{padding:0 clamp(24px,5vw,34px) clamp(24px,5vw,30px);text-align:center}
.addioFoglioPic{height:88px;width:88px;margin:-44px auto 0;position:relative}
.addioFoglioPic img{border-radius:50%;box-shadow:var(--sh-md);height:100%;width:100%;display:block;border:4px solid var(--panel);object-fit:cover}
.addioFoglioPic::before{border-radius:50%;pointer-events:none;content:"";inset:-5px;animation:drift 2.2s ease-out infinite;position:absolute}
@keyframes drift{0%{box-shadow:0 0 0 0 rgba(237,77,149,.49)}70%,100%{box-shadow:0 0 0 13px rgba(237,77,149,.02)}}
.addioFoglioBullet{height:17px;right:5px;width:17px;background:var(--green);border-radius:50%;position:absolute;border:3px solid var(--panel);bottom:5px}
.addioFoglioPretitolo{font-weight:800;margin:14px 0 0;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rose-hover)}
.addioFoglioTitolo{line-height:1.16;margin:7px 0 0;font-size:clamp(1.3rem,3.6vw,1.62rem)}
.addioFoglioAddr{margin:9px 0 0;font-weight:700;font-size:.9rem;color:var(--faint)}
.addioFoglioParagrafo{color:var(--fg-50);margin:11px 0 0;font-size:.95rem}
.addioFoglioGancio{margin-top:20px;font-family:var(--display);font-weight:800;align-items:center;justify-content:center;width:100%;box-shadow:var(--sh-md);gap:8px;color:var(--ondark);padding:14px 22px;display:inline-flex;transition:transform .16s ease,box-shadow .16s ease;border-radius:var(--ro-btn);background:linear-gradient(135deg,var(--peach),var(--warm) 55%,var(--rose))}
.addioFoglioGancio:hover{box-shadow:var(--sh-lg);transform:translateY(-2px)}
.addioFoglioGancio svg{width:18px;height:18px}
.addioFoglioClose{border-radius:50%;place-items:center;background:rgba(255,255,254,.86);height:34px;border:0;color:var(--fg);display:grid;top:12px;box-shadow:var(--sh-sm);cursor:pointer;z-index:3;width:34px;right:12px;position:absolute}
.addioFoglioClose svg{height:15px;width:15px}
.addioFoglioAnnulla{text-decoration:underline;font-size:.83rem;cursor:pointer;margin:11px auto 0;border:0;color:var(--faint);background:none}
@media(max-width:640px){.addioFoglio{display:none!important}}
