:root{--bg: #FFFFFF;--bg-tint: #F3F7F9;--ink: #0F3B52;--ink-2: #4F6B79;--ink-3: #7E929E;--red: #B65E62;--red-hover: #8E3C41;--red-glow: #D34B55;--red-deep: #A5494E;--blue: #005882;--blue-deep: #00425F;--line: rgba(10,36,51,.14);--line-strong: rgba(10,36,51,.26);--font-display: "Alfa Slab One", Georgia, "Times New Roman", serif;--font-body: "Public Sans", system-ui, sans-serif;--maxw: 1200px;--pad: clamp(20px, 6vw, 72px);--sp-section: clamp(84px, 13vh, 150px);--r: 12px;--ease: cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--bg);background-image:radial-gradient(1100px 760px at 0% 0%,rgba(0,88,130,.075),transparent 70%),radial-gradient(1000px 800px at 0% 58%,rgba(182,94,98,.065),transparent 70%),radial-gradient(1100px 800px at 100% 100%,rgba(0,88,130,.06),transparent 70%);background-repeat:no-repeat;color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;line-height:1.08;color:var(--blue)}::selection{background:var(--red);color:#fff}.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}.rule{height:1px;background:var(--line);border:0}.eyebrow{font-family:var(--font-body);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--red-deep);display:inline-flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:26px;height:1px;background:currentColor;flex-shrink:0}.btn{--btn-bg: var(--red-deep);font-family:var(--font-body);font-weight:600;font-size:14px;letter-spacing:0;padding:14px 24px;border-radius:10px;background:var(--btn-bg);color:#fff;border:1px solid var(--btn-bg);cursor:pointer;display:inline-flex;align-items:center;gap:9px;text-decoration:none;transition:background-color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}.btn .arw{transition:transform .25s var(--ease)}.btn:hover{background:var(--red-hover);border-color:var(--red-hover)}.btn:hover .arw{transform:translate(4px)}.btn.ghost{background:transparent;color:var(--blue);border-color:var(--blue)}.btn.ghost:hover{background:#00588214;border-color:var(--blue-deep);color:var(--blue-deep);transform:translateY(-1px)}.link-arrow{font-weight:600;font-size:14.5px;text-decoration:none;color:var(--red-deep);display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid rgba(165,73,78,.4);padding-bottom:3px;transition:color .2s var(--ease),border-color .2s var(--ease)}.link-arrow .arw{transition:transform .25s var(--ease)}.link-arrow:hover{color:var(--red-glow);border-color:var(--red-glow)}.link-arrow:hover .arw{transform:translate(4px)}.tag{font-family:var(--font-body);font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-2);background:#fff;border:1px solid rgba(0,88,130,.35);border-radius:999px;padding:5px 12px;display:inline-block;white-space:nowrap}.tag.red{color:var(--red-deep);border-color:#b65e628c}header{position:sticky;top:0;z-index:100;transition:background-color .3s var(--ease),border-color .3s var(--ease),backdrop-filter .3s var(--ease);border-bottom:1px solid transparent}header.scrolled{background:#ffffffd9;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--blue)}.logo{display:block;flex-shrink:0}.brand .logo{width:60px;height:60px;transition:transform .3s var(--ease)}.brand:hover .logo{transform:rotate(-6deg) scale(1.04)}.brand .wordmark{font-family:var(--font-display);font-weight:400;font-size:18px;letter-spacing:-.01em}.brand .wordmark .dim{color:var(--red-deep);font-weight:400}.nav-links{display:flex;gap:32px;font-family:var(--font-body);font-size:14.5px;font-weight:500;letter-spacing:0;margin-left:auto;margin-right:8px}.nav-links a{text-decoration:none;color:var(--ink-2);transition:color .2s var(--ease)}.nav-links a:hover{color:var(--red-glow)}.nav .btn{padding:11px 18px;font-size:13.5px}.nav-right{display:flex;align-items:center;gap:16px}.lang-switch{display:flex;gap:2px;font-size:12.5px;font-weight:600;letter-spacing:.04em}.lang-switch a{text-decoration:none;color:var(--ink-3);padding:6px 8px;border-radius:8px;transition:color .2s var(--ease),background .2s var(--ease)}.lang-switch a:hover{color:var(--red-glow)}.lang-switch a.is-active{color:var(--blue);background:#00588217}.hero{position:relative;padding-top:clamp(56px,9vh,104px);padding-bottom:var(--sp-section);overflow:hidden}.hero-glow{position:absolute;top:-340px;right:-220px;width:940px;height:940px;border-radius:50%;background:radial-gradient(circle,#fff,#ffffff8c 45%,#fff0 72%);filter:blur(40px);pointer-events:none;z-index:0;will-change:transform}.hero .wrap{position:relative;z-index:1}.hero h1{font-size:clamp(2.3rem,6vw,4.7rem);font-weight:400;letter-spacing:-.015em;line-height:1.08;max-width:15ch;margin:26px 0 0}.hero h1 .accent{position:relative;color:var(--red);white-space:nowrap}.hero h1 .accent svg{position:absolute;left:-1%;bottom:-.16em;width:102%;height:.34em;overflow:visible}.hero h1 .accent svg path{fill:none;stroke:var(--red);stroke-width:7;stroke-linecap:round;stroke-dasharray:640;stroke-dashoffset:640}.is-visible .hero h1 .accent svg path,.hero h1.is-visible .accent svg path{animation:draw .9s var(--ease) .5s forwards}@keyframes draw{to{stroke-dashoffset:0}}.hero-sub{font-size:clamp(1.05rem,1.55vw,1.24rem);line-height:1.6;color:var(--ink-2);max-width:56ch;margin:32px 0 40px}.hero-sub strong{color:var(--ink);font-weight:600}.cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.proof{margin-top:clamp(72px,13vh,140px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px)}.proof-item{--tint: rgba(0, 88, 130, .07);--accent: var(--blue);position:relative;padding:18px clamp(18px,2vw,24px) 20px;border-radius:16px;background:var(--tint);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}.proof-item:nth-child(2){--tint: rgba(182, 94, 98, .09);--accent: var(--red-deep)}.proof-item:hover{transform:translateY(-6px);box-shadow:0 18px 30px -18px color-mix(in srgb,var(--accent) 55%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.proof-num{color:var(--accent);font-family:var(--font-display);font-weight:400;font-size:clamp(1.05rem,1.6vw,1.3rem);letter-spacing:-.01em;display:block;margin-bottom:6px}.proof-label{font-size:13px;color:var(--ink-2);line-height:1.55}@media(prefers-reduced-motion:reduce){.proof-item,.proof-item:hover{transition:none;transform:none}}section.block{padding:var(--sp-section) 0}.section-head{max-width:680px;margin-bottom:clamp(44px,6vh,72px)}.section-head h2{font-size:clamp(1.9rem,4vw,3rem);margin:16px 0 0;letter-spacing:-.01em}.section-head h1{font-size:clamp(2.1rem,4.6vw,3.2rem);line-height:1.08;margin:16px 0 0;letter-spacing:-.01em}.section-head p{color:var(--ink-2);font-size:1.06rem;margin-top:16px;max-width:60ch}.servizio{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);padding:clamp(40px,6vh,64px) 0;border-top:1px solid var(--line)}.servizio:last-child{border-bottom:1px solid var(--line)}.servizio .s-num{font-family:var(--font-display);font-weight:400;font-size:15px;letter-spacing:.1em;color:var(--red-deep);display:block;margin-bottom:18px}.servizio h3{font-size:clamp(1.5rem,2.7vw,2.1rem);letter-spacing:-.01em}.servizio p{color:var(--ink-2);font-size:1.02rem}.servizio .includes{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.includes .includes-label{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:12px}.includes .chips{display:flex;flex-wrap:wrap;gap:8px}.progetti-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,52px) clamp(24px,4vw,44px)}.progetto{display:flex;flex-direction:column;text-decoration:none;color:inherit}.progetto .p-img{aspect-ratio:4 / 3;border-radius:var(--r);overflow:hidden;margin-bottom:20px;clip-path:inset(0 0 100% 0 round var(--r));transition:clip-path .95s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease)}.progetto.is-visible .p-img{clip-path:inset(0 0 0% 0 round var(--r))}.progetto .p-img>*{transform:scale(1.05);transition:transform 1.05s var(--ease)}.progetto.is-visible .p-img>*{transform:scale(1)}.progetto .p-img img{width:100%;height:100%;object-fit:cover}.progetto:hover .p-img{transform:translateY(-6px);box-shadow:0 24px 50px -24px #0a243347}.progetto .p-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.progetto h3{font-size:1.4rem;letter-spacing:-.01em;transition:color .2s var(--ease)}.progetto:hover h3{color:var(--red)}.progetto p{color:var(--ink-2);font-size:.98rem;margin-top:8px}.progetti-more{margin-top:clamp(40px,6vh,60px)}.ph{background:var(--bg-tint);border:1.5px dashed var(--line-strong);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--ink-3);font-size:12px;line-height:1.55;padding:22px}.ph .ph-icon{font-size:22px;display:block;margin-bottom:8px;opacity:.8}.ph b{color:var(--ink-2);font-weight:600}.metodo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,36px)}.step{display:flex}.step-card{--card: var(--blue);position:relative;overflow:hidden;display:flex;flex-direction:column;width:100%;padding:30px clamp(24px,3vw,36px) 32px;border-radius:18px;background:var(--card);color:#fff;box-shadow:0 10px 28px -14px #0a243359;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease}.step:nth-child(2) .step-card,.step:nth-child(3) .step-card{--card: var(--red-deep)}.step-card:hover{transform:translateY(-8px);box-shadow:0 22px 36px -14px #0a243373}.step .st-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#ffffff29;margin-bottom:22px}.step .st-icon svg{width:30px;height:30px;fill:#fff}.step .st-icon .soft{opacity:.8}.step .st-icon .cut{fill:var(--card)}.step .st-icon .cut-stroke{fill:none;stroke:var(--card);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}.step .st-num{position:absolute;top:12px;right:18px;font-family:var(--font-display);font-weight:400;font-size:3.6rem;line-height:1;letter-spacing:-.02em;color:#ffffff38;will-change:transform}.step h3{font-size:1.2rem;letter-spacing:-.01em;margin-bottom:10px;color:#fff}.step p{color:#ffffffe6;font-size:.94rem}@media(prefers-reduced-motion:reduce){.step-card,.step-card:hover{transition:none;transform:none}}.metodo-grid.soft .step-card{--tint: rgba(0, 88, 130, .07);--accent: var(--blue);background:var(--tint);color:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:none}.metodo-grid.soft .step:nth-child(2) .step-card,.metodo-grid.soft .step:nth-child(3) .step-card{--tint: rgba(182, 94, 98, .09);--accent: var(--red-deep)}.metodo-grid.soft .step-card:hover{box-shadow:0 18px 30px -18px color-mix(in srgb,var(--accent) 55%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.metodo-grid.soft .st-icon{background:var(--accent)}.metodo-grid.soft .st-icon .cut{fill:var(--accent)}.metodo-grid.soft .st-icon .cut-stroke{stroke:var(--accent)}.metodo-grid.soft .st-num{color:color-mix(in srgb,var(--accent) 22%,transparent)}.metodo-grid.soft .step h3{color:var(--accent)}.metodo-grid.soft .step p{color:var(--ink-2)}.testi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,32px)}.testi{display:flex;flex-direction:column;margin:0;border:1px solid var(--line);border-radius:var(--r);padding:30px;background:#fff}.testi .t-logo{height:34px;width:auto;max-width:160px;object-fit:contain;object-position:left center;align-self:flex-start}.testi .quote{margin:22px 0 0;font-size:1rem;line-height:1.62;color:var(--ink)}.testi .who{margin-top:auto;padding-top:24px}.testi .who-name{font-weight:700;font-size:.9rem}.testi .who-role{font-size:.8rem;color:var(--ink-3)}.testi .t-note{font-size:.74rem;color:var(--ink-3);font-style:italic;margin-top:2px}.cta{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(36px,6vw,72px);box-shadow:0 30px 60px -34px #0a243329}.cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:start}.cta h2{font-size:clamp(1.9rem,3.6vw,2.8rem);letter-spacing:-.01em}.cta .sub{color:var(--ink-2);font-size:1.04rem;margin-top:16px;max-width:40ch}.cta .avail{margin-top:26px;font-size:13px;font-weight:600;color:var(--ink-2);display:inline-flex;align-items:center;gap:9px}.cta .av-ico svg,.cp-ico svg{fill:currentColor;display:block}.cta .av-ico{width:20px;height:20px;color:var(--blue);display:inline-grid;place-items:center}.cta .av-ico svg{width:20px;height:20px}.cta .av-ico .cut-stroke{fill:none;stroke:#fff;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}.cta-points{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:14px}.cta-points li{display:flex;gap:14px;align-items:flex-start;font-size:.92rem;color:var(--ink-2);line-height:1.45}.cta-points b{color:var(--ink);font-weight:600}.cp-ico{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--blue);color:#fff}.cp-ico.alt{background:var(--red-deep)}.cp-ico svg{width:21px;height:21px;fill:#fff}.cp-ico .cut{fill:var(--red-deep)}.cp-ico .cut-stroke{fill:none;stroke:var(--blue);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;padding:13px 14px;font-family:var(--font-body);font-size:14px;color:var(--ink);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.form-group textarea{resize:vertical;min-height:96px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--ink-3)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #b65e622e}.form-submit{width:100%;margin-top:4px;justify-content:center}.form-note{font-size:12px;color:var(--ink-3);margin-top:12px;text-align:center}.form-status{border-radius:10px;padding:14px 16px;margin-bottom:18px;font-size:13.5px;line-height:1.5}.form-status .fs-ok,.form-status .fs-err{display:none}.form-status[data-state=ok]{background:#0058820f;border:1px solid rgba(0,88,130,.3);color:var(--blue)}.form-status[data-state=ok] .fs-ok{display:block}.form-status[data-state=err]{background:#f6e6e7;border:1px solid rgba(182,94,98,.4);color:var(--red-deep)}.form-status[data-state=err] .fs-err{display:block}footer{padding:46px 0 40px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px}footer .f-left{display:flex;align-items:center;gap:13px}footer .f-left .logo{width:40px;height:40px}footer .f-meta{font-size:13px;color:var(--ink-3)}footer .f-links{display:flex;gap:22px;font-size:13px}footer .f-links a{color:var(--red-deep);text-decoration:none;transition:color .2s var(--ease)}footer .f-links a:hover{color:var(--red-glow)}[data-reveal]{opacity:0;transform:translateY(var(--dist, 20px));transition:opacity var(--dur, .7s) var(--ease),transform var(--dur, .7s) var(--ease);transition-delay:var(--d, 0s);will-change:opacity,transform}[data-reveal].is-visible{opacity:1;transform:none}.section-head[data-reveal]{--dist: 24px;--dur: .78s}.servizio[data-reveal]{--dist: 18px;--dur: .8s}.step[data-reveal]{--dist: 26px;--dur: .8s}.progetto[data-reveal]{--dist: 10px;--dur: .8s}.testi[data-reveal]{--dist: 22px;--dur: .78s}.cta[data-reveal]{--dist: 26px;--dur: .85s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.progetto .p-img{clip-path:none!important}.progetto .p-img>*{transform:none!important}.hero h1 .accent svg path{stroke-dashoffset:0!important;animation:none!important}.st-num,.hero-glow{transform:none!important}}[data-lightbox]{cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:1000;background:#0a2433eb;display:flex;align-items:center;justify-content:center;padding:clamp(20px,6vw,80px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}.lightbox.is-open{opacity:1;pointer-events:auto}.lightbox img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 30px 80px -20px #0009;cursor:zoom-out}.lightbox-close{position:absolute;top:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px);width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#ffffff0f;color:#fff;font-size:16px;cursor:pointer;transition:background-color .2s var(--ease)}.lightbox-close:hover{background:#ffffff29}@media(prefers-reduced-motion:reduce){.lightbox{transition:none}}@media(max-width:940px){.nav-links{display:none}.servizio,.progetti-grid{grid-template-columns:1fr}.progetti-grid{row-gap:0}.progetti-grid>.progetto+.progetto{margin-top:56px;padding-top:56px;border-top:1px solid rgba(10,36,51,.07)}.metodo-grid{grid-template-columns:1fr 1fr}.testi-grid,.cta-inner,.proof{grid-template-columns:1fr}}@media(max-width:560px){.nav-right{gap:8px}.lang-switch a{padding:6px 5px}.nav{gap:10px}.brand .wordmark{display:none}.metodo-grid{grid-template-columns:1fr}.tag{font-size:10px;letter-spacing:.06em;padding:5px 10px}.includes .chips,.progetto .p-tags{gap:6px}.proof{grid-template-columns:1fr}.cta{border-radius:18px}}.avail .dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px #b65e6233}
