/* WhatsApp: bottone verde con scritta che gira intorno */
.wa{position:fixed;right:18px;bottom:18px;z-index:60;width:124px;height:124px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 12px 24px rgba(0,0,0,.25))}
.wa svg.ring{position:absolute;inset:0;width:100%;height:100%;animation:rot 14s linear infinite}
.wa svg.ring text{font:800 10.4px/1 var(--bf);letter-spacing:.12em;fill:#0a0a0a;text-transform:uppercase}
.wa .disc{position:absolute;inset:14px;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.wa .core{position:relative;width:60px;height:60px;border-radius:50%;background:var(--r);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(255,0,0,.45);animation:wapulse 2s ease-in-out infinite;transition:transform .25s var(--ease)}
.wa:hover .core{transform:scale(1.08)}.wa .core svg{width:31px;height:31px}
@keyframes rot{to{transform:rotate(360deg)}}@keyframes wapulse{50%{box-shadow:0 8px 20px rgba(255,0,0,.45),0 0 0 10px rgba(255,0,0,.15)}}
/* comparsa allo scorrimento */
[data-r]{opacity:0;transform:translateY(30px);filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:var(--d,0s)}
[data-r].in{opacity:1;transform:none;filter:none}

/* bottoni più chiari da cliccare */
.btn{height:64px;font-size:14px;padding-left:26px;cursor:pointer;position:relative}
.btn:active{transform:scale(.97)}
.btn:before{content:"";position:absolute;inset:-5px;border-radius:44px;border:2px solid rgba(255,0,0,.55);opacity:0;animation:ring 2.4s ease-out infinite;pointer-events:none}
@keyframes ring{0%{opacity:.9;transform:scale(.96)}70%,100%{opacity:0;transform:scale(1.08)}}
.btn .ar{width:50px;height:50px;animation:nudge 1.8s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:none}50%{transform:translate(3px,-3px)}}
.btn:hover .ar{animation:none}
.opt{box-shadow:0 2px 0 #e2e2e2;border-width:2px}.opt:active{transform:scale(.98)}
.opt:after{content:""!important;width:30px;height:30px;border-radius:50%;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") center/15px no-repeat;display:inline-block}
.opt:hover:after{background:var(--k) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") center/15px no-repeat}.opt.sel:after{background:var(--r) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E") center/15px no-repeat}
/* caso reale */
.case{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;background:var(--k);color:var(--w);border-radius:34px;padding:clamp(24px,4vw,54px)}
.case .kp{display:grid;grid-template-columns:1fr 1fr;gap:12px}.case .kp div{background:#161616;border:1px solid #262626;border-radius:22px;padding:22px}
.case .kp b{display:block;font-family:var(--hf);font-size:clamp(34px,4vw,54px);letter-spacing:-.04em;line-height:1}.case .kp span{color:#a9a9a9;font-size:14px}
.case p{color:#bdbdbd;font-size:17px;margin-top:14px}.case small{display:block;color:#7d7d7d;font-size:12px;margin-top:14px}
@media (max-width:900px){.case{grid-template-columns:1fr}}

/* carte che si aprono al clic */
.card{cursor:pointer;grid-template-columns:auto 1fr auto}.card .pl{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);display:inline-flex;align-items:center;justify-content:center;font-size:24px;transition:transform .45s var(--ease),background .3s,border-color .3s}
.card.open .pl{transform:rotate(45deg);background:var(--r);border-color:var(--r)}.card.open .n{background:var(--r);color:var(--w)}
.card .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease),opacity .4s;opacity:0}.card.open .more{grid-template-rows:1fr;opacity:1}
.card .more>ul{overflow:hidden;list-style:none;display:grid;gap:8px;padding-top:0;transition:padding .4s}.card.open .more>ul{padding-top:16px}
.card .more li{color:#d0d0d0;font-size:16px;padding-left:22px;position:relative}.card .more li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--r)}
.card:hover{box-shadow:0 -10px 40px rgba(0,0,0,.12),0 0 0 1.5px rgba(255,255,255,.18) inset}
.card[data-r]{transform:translateX(-70px) rotate(-1.5deg)}.card[data-r]:nth-child(2){transform:translateX(70px) rotate(1.5deg)}.card[data-r].in{transform:none}
/* titoli che salgono con effetto sipario */
.h2[data-r]{clip-path:inset(0 0 100% 0);transform:translateY(50px);filter:none;padding:0 .12em .1em 0;transition:clip-path 1s var(--ease),transform 1s var(--ease),opacity .6s}.h2[data-r].in{clip-path:inset(0 0 0 0);transform:none}
.nums [data-r]{transform:translateY(40px) scale(.94)}.nums [data-r].in{transform:none}

/* cosa facciamo: bento moderno */
@keyframes grd{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.bento{display:grid;grid-template-columns:1.25fr 1fr;grid-template-areas:"a b" "c b";gap:16px;margin-top:34px}
.bc{position:relative;overflow:hidden;isolation:isolate;border-radius:30px;padding:32px 30px;min-height:250px;background:linear-gradient(160deg,#1a1a1a,#0a0a0a);color:#fff;transition:transform .4s var(--ease),box-shadow .4s}.bc:hover{transform:translateY(-4px);box-shadow:0 30px 70px rgba(0,0,0,.18)}
.b1{grid-area:a}.b2{grid-area:b;background:linear-gradient(165deg,#f6f6f8,#e6e6ea);color:var(--k);display:flex;flex-direction:column;justify-content:center}.b3{grid-area:c}
.bc .big{position:absolute;right:-4px;bottom:-40px;z-index:-1;font:800 180px/1 var(--hf);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.13)}.b2 .big{-webkit-text-stroke-color:rgba(0,0,0,.09)}
.bc .ic{width:56px;height:56px;border-radius:18px;background:linear-gradient(120deg,#ff0000,#ff5a3c,#b30000,#ff2a2a);background-size:300% 300%;animation:grd 5s ease-in-out infinite;display:grid;place-items:center;box-shadow:0 10px 26px rgba(255,0,0,.35)}.bc .ic svg{width:27px;height:27px;stroke:#fff;fill:none;stroke-width:1.8}
.bc h3{font:700 clamp(24px,2.4vw,32px)/1.08 var(--hf);letter-spacing:-.035em;margin:22px 0 8px}.bc p{color:#bdbdbd;max-width:470px}.b2 p{color:var(--g)}
.bc .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.bc .tags span{font-size:13.5px;font-weight:600;padding:9px 13px;border-radius:30px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}.b2 .tags span{background:#fff;border-color:#e2e2e6}
