*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#000;color:#fff;font-family:'Open Sans',-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;font-size:18px;line-height:29px;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit}ul{margin:0;padding:0}h1,h2,h3,h4,p{margin:0 0 1em}:root{--c-bg:#000000;--c-text:#ffffff;--c-blue:#004AAD;--c-purple:#8C52FF}h1,h2{font-weight:600;line-height:1.2;margin-bottom:.5em}h1{font-size:32px}h2{font-size:32px}h3{font-weight:600;font-size:24px;color:var(--c-blue)}h4{font-weight:600;font-size:20px}.page-title{font-family:'Open Sans',sans-serif;font-size:55px;font-weight:800;text-transform:uppercase;line-height:65px;letter-spacing:5.5px;margin-bottom:.5em}@media (max-width:1024px){.page-title{font-size:40px;line-height:1.3em;letter-spacing:2px}}@media (max-width:767px){.page-title{font-size:37px;line-height:1.3em;letter-spacing:2px}}.eyebrow{display:block;font-weight:600;font-size:24px;color:var(--c-text);opacity:.85;margin-bottom:.6em}.accent{color:var(--c-blue)}p.lead{font-size:22px;line-height:30px}.container{max-width:var(--container-max);margin:0 auto;padding:0 6%}.menu-overlay:not(.is-open){display:none}body.home .header:not(.is-scrolled){background-color:transparent!important}html{scroll-snap-type:y mandatory}.hero,.band{scroll-snap-align:start}.header__title a{text-decoration:none}.header__icon,.menu-overlay__close{appearance:none;-webkit-appearance:none;background:none;border:none;padding:0;cursor:pointer}.header__icon{padding-top:3px}.section{padding-block:120px}.section-narrow{max-width:900px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:140px}.two-col.uneven{grid-template-columns:1.1fr 0.9fr}@media (max-width:900px){.two-col,.two-col.uneven{grid-template-columns:1fr}}.sticky-col{position:sticky;top:100px;align-self:start}.media-col{position:sticky;top:0;align-self:stretch;height:100vh;overflow:hidden}.media-col img{width:100%;height:100%;object-fit:cover;object-position:22% center;border-radius:0}@media (max-width:900px){.sticky-col{position:static}.media-col{position:static;height:320px}}.lista-ottimizzata{list-style:none;padding-left:0}.lista-ottimizzata li{position:relative;padding-left:30px;margin-bottom:15px;line-height:1.6}.lista-ottimizzata li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:10px;background-color:var(--c-blue);border-radius:50%}.skill{margin-bottom:1.8em}.skill span{display:block;margin-bottom:10px;font-weight:600;font-size:1.05rem}.skill .bar-track{height:6px;background:rgb(255 255 255 / .12);border-radius:3px}.skill .bar-fill{height:6px;background:linear-gradient(90deg,var(--c-blue),#2f7bff);border-radius:3px;box-shadow:0 0 12px rgb(0 74 173 / .8)}.box-metodo{background:linear-gradient(135deg,rgb(255 255 255 / .08) 0%,rgb(255 255 255 / .03) 100%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1.5px solid rgb(255 255 255 / .4);border-left:1.5px solid rgb(255 255 255 / .4);border-right:1.5px solid rgb(0 150 255 / .5);border-bottom:1.5px solid rgb(0 150 255 / .5);box-shadow:0 4px 15px 0 rgb(0 114 255 / .4),0 0 30px 0 rgb(0 114 255 / .2);border-radius:16px;padding:40px 30px;transition:border-color 0.3s ease,box-shadow 0.3s ease}.box-metodo:hover{border-color:rgb(0 180 255 / .9);box-shadow:0 0 20px 0 rgb(0 150 255 / .6),0 0 50px 0 rgb(0 150 255 / .3)}.box-metodo h3,.box-metodo h4{color:#fff;text-shadow:0 0 15px rgb(0 150 255 / .6)}.servizi-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width:800px){.servizi-grid{grid-template-columns:1fr}}.custom-hover-card{position:relative;display:flex;height:50vh;min-height:340px;overflow:hidden;border-radius:10px;text-decoration:none;color:#fff}.custom-hover-card::before{content:'';position:absolute;inset:0;background-color:rgb(0 0 0 / .6);z-index:1;pointer-events:none;transition:opacity 0.5s ease;opacity:1}.custom-hover-card .foto-zoom{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:.85;filter:brightness(125%) contrast(55%) saturate(30%);transition:transform 0.6s ease;transform:scale(1)}.custom-hover-card .testo-overlay{position:absolute;left:0;right:0;bottom:0;padding:36px;z-index:2;text-align:center;transition:all 0.5s ease;opacity:1}.custom-hover-card .testo-overlay h2{margin:0;font-size:22px;font-weight:600;text-transform:uppercase}@media (min-width:1025px){.custom-hover-card::before{opacity:0}.custom-hover-card .testo-overlay{opacity:0}.custom-hover-card .foto-zoom{transform:scale(1.1)}.custom-hover-card:hover::before{opacity:1}.custom-hover-card:hover .foto-zoom{transform:scale(1)}.custom-hover-card:hover .testo-overlay{opacity:1}}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media (max-width:900px){.step-grid{grid-template-columns:1fr}}.step-item{display:flex;gap:20px;align-items:flex-start}.box-step-icona{flex:0 0 auto;width:110px;height:110px;background-color:#fff;border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px;box-shadow:0 4px 10px rgb(0 0 0 / .05);transition:all 0.3s ease;color:#8A2BE2;font-weight:700;font-size:16px;line-height:1.2;text-align:center;word-break:break-word}.box-step-icona:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgb(138 43 226 / .2);border:1px solid #8A2BE2}.step-item p:not(.box-step-icona){font-size:18px;opacity:.9;margin:0}.btn{display:inline-block;background:var(--c-blue);color:#fff;text-decoration:none;padding:18px 36px;border-radius:6px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:.9rem;box-shadow:0 15px 35px -12px rgb(0 74 173 / .7);transition:transform 0.25s ease,box-shadow 0.25s ease,background 0.25s ease}.btn:hover{background:#0057c9;transform:translateY(-3px);box-shadow:0 20px 40px -12px rgb(0 74 173 / .9)}@media (max-width:600px){.container{padding:0 20px}.section{padding-block:56px}}.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s ease,transform 0.7s ease}.reveal-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}main::after{content:"";display:block;height:32px}