.servizi-body{overflow:hidden;height:100vh;height:100dvh;width:100vw;background:#f5f5f0;color:#0a0a0a}.servizi-watermark{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(5rem,12vw,14rem);font-weight:900;letter-spacing:-.05em;color:rgba(0,0,0,.035);pointer-events:none;z-index:0;user-select:none;white-space:nowrap}.grid-viewport{position:fixed;inset:0;overflow:hidden;cursor:grab;z-index:1;touch-action:none;-webkit-user-select:none;user-select:none}.grid-viewport:active{cursor:grabbing}.grid-plane{position:absolute;inset:0}.grid-cell{position:absolute;top:0;left:0;border-radius:12px;overflow:hidden;backface-visibility:hidden;contain:layout style paint}.cell-service{background:#fff;border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(16px,2vw,28px);gap:6px}.cell-number{font-size:.7rem;font-weight:500;letter-spacing:.12em;color:#3fa9f5}.cell-title{font-size:clamp(1.5rem,2.2vw,2.6rem);font-weight:900;line-height:.92;letter-spacing:-.03em;text-transform:uppercase;margin:0;color:#0a0a0a}.cell-desc{font-size:clamp(.65rem,.8vw,.78rem);font-weight:400;line-height:1.45;color:rgba(0,0,0,.45);margin:8px 0 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.cell-service:hover{background:#fff;border-color:rgba(63,169,245,.3)}.cell-service:hover .cell-desc{color:rgba(0,0,0,.65)}.cell-text{background:#fff;border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;justify-content:center;padding:clamp(16px,2vw,28px);gap:8px}.text-heading{font-size:clamp(.7rem,.85vw,.82rem);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3fa9f5}.text-body{font-size:clamp(.68rem,.8vw,.78rem);font-weight:400;line-height:1.5;color:rgba(0,0,0,.55);margin:0}.cell-text:hover{border-color:rgba(63,169,245,.2)}.cell-text:hover .text-body{color:rgba(0,0,0,.75)}.cell-image{background:#e8e8e4}.cell-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.cell-image:hover img{transform:scale(1.06)}.cell-logo,.cell-quote{display:flex;justify-content:center}.cell-logo{background:#fff;border:1px solid rgba(0,0,0,.06);align-items:center;padding:clamp(20px,2.5vw,36px)}.cell-logo img{max-width:80%;max-height:65%;object-fit:contain;opacity:.9;transition:opacity .35s ease,transform .35s ease}.cell-logo:hover img{opacity:1;transform:scale(1.05)}.cell-quote{background:#0a0a0a;color:#fff;flex-direction:column;padding:clamp(18px,2.2vw,32px)}.cell-quote p{font-size:clamp(.9rem,1.2vw,1.3rem);font-weight:700;line-height:1.35;font-style:italic;margin:0}.cell-author{font-size:.72rem;font-weight:500;margin-top:10px;opacity:.65;letter-spacing:.05em}.cell-stat{background:#fff;border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.stat-number{font-size:clamp(2rem,3vw,3.5rem);font-weight:900;letter-spacing:-.03em;color:#3fa9f5;line-height:1}.stat-label{font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-top:8px;opacity:.5}@media (max-width:768px){.servizi-body{height:100dvh;height:100vh}.grid-viewport{touch-action:none;-webkit-overflow-scrolling:touch}.servizi-watermark{font-size:clamp(3rem,15vw,6rem);max-width:100vw;overflow:hidden;white-space:nowrap}.cell-title{font-size:clamp(1.1rem,4vw,1.8rem);line-height:.95}.cell-number{font-size:.65rem}.cell-desc,.text-body{font-size:clamp(.65rem,2vw,.78rem);-webkit-line-clamp:2}.text-heading{font-size:clamp(.65rem,1.8vw,.78rem)}.cell-quote p{font-size:clamp(.8rem,2.5vw,1rem)}.cell-author{font-size:.65rem}.stat-number{font-size:clamp(1.5rem,4.5vw,2.2rem)}.stat-label{font-size:.62rem}.cell-quote,.cell-service,.cell-stat,.cell-text{padding:clamp(10px,2.5vw,18px)}.cell-logo{padding:clamp(12px,3vw,20px)}}@media (max-width:480px){.cell-title{font-size:clamp(1rem,3.5vw,1.5rem)}.cell-quote p{font-size:clamp(.75rem,2.2vw,.9rem)}.stat-number{font-size:clamp(1.3rem,4vw,1.8rem)}}@media (min-width:2200px){.cell-title{font-size:clamp(2rem,2.2vw,3.5rem)}.cell-desc,.text-body{font-size:clamp(.8rem,.8vw,1rem)}.text-heading{font-size:clamp(.8rem,.85vw,1rem)}.cell-quote p{font-size:clamp(1.1rem,1.2vw,1.6rem)}.stat-number{font-size:clamp(2.5rem,3vw,4.5rem)}.cell-author,.cell-number,.stat-label{font-size:clamp(.75rem,.6vw,.9rem)}}