:root{--navy:#061a2b;--navy-2:#0a2b47;--blue:#0878d1;--cyan:#37c5e8;--orange:#f36b21;--ink:#101e2e;--muted:#647387;--line:#dbe3eb;--paper:#f2f6f8;--white:#fff;--green:#1fa463;--shadow:0 24px 70px rgba(6,26,43,.14);--radius:28px;--container:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;color:#000;padding:.8rem 1rem;z-index:999}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:100;background:rgba(7,29,51,.96);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;width:148px;height:68px;align-items:center;justify-content:center;background:#fff;border-radius:13px;padding:8px}.brand img{width:100%;height:100%;object-fit:contain}.main-nav{display:flex;align-items:center;gap:1.55rem}.main-nav a{color:#fff;text-decoration:none;font-weight:700;font-size:.88rem;letter-spacing:.02em}.main-nav a:hover{color:#ff9b63}.nav-cta{background:var(--orange);padding:.65rem 1rem;border-radius:999px}.nav-cta:hover{color:#fff!important;background:#d95610}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span{display:block;width:27px;height:2px;margin:6px;background:#fff}.hero{position:relative;min-height:780px;color:#fff;display:flex;align-items:center;overflow:hidden;background:var(--navy)}.hero-media{position:absolute;inset:0;background:url('../images/hero.webp') center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,32,.94) 0%,rgba(4,18,32,.72) 45%,rgba(4,18,32,.18) 78%),linear-gradient(0deg,rgba(4,18,32,.78),transparent 45%)}.hero-content{position:relative;z-index:1;padding:110px 0 150px}.eyebrow{margin:0 0 1.1rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.76rem;color:#ff9b63}.eyebrow.dark{color:var(--blue)}h1,h2,h3{margin-top:0;line-height:1.08}h1{font-size:clamp(3.25rem,7vw,6.8rem);letter-spacing:-.055em;margin-bottom:1.5rem;max-width:820px}h1 span{color:var(--orange)}h2{font-size:clamp(2.15rem,4.4vw,4rem);letter-spacing:-.04em;margin-bottom:1.1rem}h3{font-size:1.35rem;letter-spacing:-.02em}.hero-lead{max-width:690px;font-size:1.18rem;color:#d8e4ee;margin:0 0 2rem}.hero-actions,.contact-actions{display:flex;gap:.8rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.72rem 1.35rem;border-radius:999px;text-decoration:none;font-weight:800;transition:.2s ease}.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:#d95610;transform:translateY(-2px)}.button-secondary{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);color:#fff}.button-secondary:hover{background:#fff;color:var(--navy)}.button-whatsapp{background:var(--green);color:#fff}.button.small{min-height:42px;padding:.55rem 1rem}.hero-strip{position:absolute;bottom:0;left:0;right:0;z-index:1;background:rgba(7,29,51,.94);border-top:4px solid var(--orange)}.strip-grid{min-height:92px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;gap:1rem}.strip-grid span{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.78rem;text-align:center}.section{padding:110px 0}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start}.section-heading{max-width:800px}.section-heading.centered{text-align:center;margin:0 auto 3rem}.section-heading>p:not(.eyebrow){color:var(--muted);font-size:1.08rem}.intro-copy .lead{font-size:1.45rem;color:var(--navy);font-weight:700;margin-top:0}.intro-copy>p:not(.lead){color:var(--muted)}.fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.3rem}.fact-row div{border-top:3px solid var(--orange);padding-top:1rem}.fact-row strong,.fact-row span{display:block}.fact-row strong{font-size:1.35rem;color:var(--navy)}.fact-row span{font-size:.85rem;color:var(--muted)}.section-dark{background:var(--navy);color:#fff}.section-dark .section-heading>p:not(.eyebrow),.trust .section-heading>p:not(.eyebrow){color:#b7c5d3}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.service-card{min-height:270px;padding:2rem;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);border-radius:var(--radius);transition:.25s}.service-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.075);border-color:rgba(243,107,33,.8)}.service-card>span{display:block;color:var(--orange);font-weight:900;margin-bottom:2.4rem}.service-card p{color:#bac8d6;margin-bottom:0}.process-section{background:var(--paper)}.process-grid{counter-reset:item;list-style:none;padding:0;margin:3rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.process-grid li{position:relative;background:#fff;padding:1.6rem;border-radius:18px;border:1px solid var(--line);display:grid;gap:.35rem}.process-grid b{color:var(--orange);font-size:.8rem;letter-spacing:.15em}.process-grid strong{font-size:1.2rem;color:var(--navy)}.process-grid span{color:var(--muted);font-size:.9rem}.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.fleet-card{overflow:hidden;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}.fleet-card img{width:100%;height:270px;object-fit:cover}.fleet-card>div{padding:1.65rem}.card-kicker{color:var(--blue);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.fleet-card p:last-child{color:var(--muted)}.projects{background:var(--paper)}.split-title{max-width:none;display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end;margin-bottom:3rem}.split-title>p{padding-bottom:.8rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:265px;gap:14px}.gallery figure{position:relative;margin:0;overflow:hidden;border-radius:18px;background:var(--navy)}.gallery .gallery-main{grid-column:span 2;grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:2rem 1.2rem 1rem;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;background:linear-gradient(transparent,rgba(5,20,35,.85))}.trust{background:var(--navy);color:#fff}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.trust-card{padding:2.2rem;background:#fff;color:var(--ink);border-radius:var(--radius)}.trust-card.trust-blue{background:var(--blue);color:#fff}.trust-card.trust-blue .card-kicker{color:#bfe0ff}.trust-card h3{font-size:1.65rem}.trust-card dl{margin:1.8rem 0 0}.trust-card dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(90,110,130,.25);padding:.65rem 0}.trust-blue dl div{border-color:rgba(255,255,255,.22)}.trust-card dt{color:inherit;opacity:.72}.trust-card dd{margin:0;font-weight:900;text-align:right}.contract{font-weight:800;color:var(--blue)}.trust-note{text-align:center;color:#fff;text-transform:uppercase;letter-spacing:.18em;font-weight:900;margin:3rem 0 0}.contact{position:relative;background:#fff}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center}.contact-grid>div>p:not(.eyebrow){font-size:1.1rem;color:var(--muted);max-width:650px}.contact-card{font-style:normal;background:var(--paper);border-left:5px solid var(--orange);padding:2rem;border-radius:0 var(--radius) var(--radius) 0}.contact-card p{color:var(--muted)}.contact-card a{color:var(--blue)}.text-link{font-weight:800;text-decoration:none}.site-footer{background:#041320;color:#c3cfdb;padding:2rem 0}.footer-grid{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:2rem}.footer-grid img{background:#fff;border-radius:12px;padding:.45rem}.footer-grid strong{color:#fff}.footer-grid p{font-size:.8rem;margin:.35rem 0}.footer-links{display:flex;gap:1rem;flex-wrap:wrap}.footer-links a{font-size:.85rem}.floating-whatsapp{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;text-decoration:none;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:90}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.legal-page{background:var(--paper)}.legal-content{max-width:860px;padding:90px 0}.legal-content h1{font-size:clamp(2.8rem,6vw,5rem);color:var(--navy)}.legal-content h2{font-size:1.45rem;color:var(--navy);margin-top:2.2rem}.legal-content p{color:#4e5d6d}.legal-updated{font-weight:800}.legal-note{background:#fff;border-left:4px solid var(--orange);padding:1.2rem}.legal-content a{color:var(--blue)}
@media(max-width:960px){.main-nav{position:absolute;top:88px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:var(--navy);padding:1.2rem 20px 1.6rem;border-top:1px solid rgba(255,255,255,.12)}.main-nav.open{display:flex}.menu-toggle{display:block}.hero{min-height:720px}.hero-shade{background:linear-gradient(90deg,rgba(4,18,32,.92),rgba(4,18,32,.5)),linear-gradient(0deg,rgba(4,18,32,.82),transparent)}.strip-grid{grid-template-columns:repeat(3,1fr);padding:1rem 0}.strip-grid span:nth-child(n+4){display:none}.split,.contact-grid{grid-template-columns:1fr;gap:2.5rem}.service-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.fleet-grid{grid-template-columns:1fr}.fleet-card{display:grid;grid-template-columns:.9fr 1.1fr}.fleet-card img{height:100%;min-height:250px}.gallery{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:130px 1fr}.footer-links{grid-column:1/-1}}
@media(max-width:650px){.container{width:min(calc(100% - 28px),var(--container))}.header-inner{min-height:76px}.brand{width:122px;height:57px}.main-nav{top:76px}.hero{min-height:760px}.hero-content{padding:100px 0 145px}.hero-lead{font-size:1.02rem}.hero-actions .button{width:100%}.strip-grid{grid-template-columns:1fr 1fr;min-height:80px}.strip-grid span:nth-child(3){display:none}.section{padding:76px 0}.fact-row,.service-grid,.process-grid{grid-template-columns:1fr}.fact-row{gap:.4rem}.service-card{min-height:auto}.fleet-card{display:block}.fleet-card img{height:230px}.split-title{grid-template-columns:1fr;gap:.5rem}.gallery{grid-template-columns:1fr;grid-auto-rows:245px}.gallery .gallery-main{grid-column:auto;grid-row:auto}.trust-card{padding:1.5rem}.trust-card dl div{display:block}.trust-card dd{text-align:left}.footer-grid{grid-template-columns:1fr}.footer-grid img{width:140px}.legal-content{padding:60px 0}}
/* Contenuti leggibili anche se JavaScript non è disponibile. */
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(18px)}.js .reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.js .reveal{opacity:1;transform:none;transition:none}.gallery img,.button,.service-card{transition:none}}

/* Evoluzione visuale 2026 */
img,video{display:block;max-width:100%}
.site-header{background:rgba(6,26,43,.86);backdrop-filter:blur(18px)}
.brand{border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.main-nav{gap:1.25rem}.main-nav a{font-size:.84rem}.main-nav a:hover{color:var(--cyan)}
.nav-cta,.button-primary{background:linear-gradient(135deg,var(--orange),#ff8b4d)}
.hero{min-height:820px}.hero::after{content:"";position:absolute;width:620px;height:620px;right:-260px;top:-240px;border:1px solid rgba(55,197,232,.24);border-radius:50%;box-shadow:0 0 0 100px rgba(55,197,232,.035),0 0 0 200px rgba(55,197,232,.025);z-index:1;pointer-events:none}
.hero-media{transform:scale(1.02)}.hero-shade{background:linear-gradient(90deg,rgba(3,17,29,.96) 0%,rgba(3,17,29,.76) 48%,rgba(3,17,29,.18) 82%),linear-gradient(0deg,rgba(3,17,29,.82),transparent 45%)}
.hero-content{z-index:2;padding:120px 0 160px}.hero-eyebrow{display:flex;align-items:center;gap:.65rem}.hero-eyebrow i{width:34px;height:2px;background:var(--cyan);box-shadow:0 0 16px rgba(55,197,232,.8)}
h1{font-size:clamp(3.4rem,7vw,7rem);max-width:900px}.hero h1 span{background:linear-gradient(100deg,#ff7f3a,#ffc29f);-webkit-background-clip:text;background-clip:text;color:transparent}
.button{min-height:52px}.button-primary{box-shadow:0 12px 30px rgba(243,107,33,.28)}.button-secondary{backdrop-filter:blur(12px)}
.hero-strip{z-index:2;background:rgba(6,26,43,.84);border-top:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px)}.strip-grid{min-height:94px}.strip-grid span{letter-spacing:.12em;font-size:.72rem}.strip-grid span+span{border-left:1px solid rgba(255,255,255,.16)}
.section{padding:120px 0}.section-dark{position:relative;background:linear-gradient(145deg,var(--navy),#0a2943);overflow:hidden}.section-dark::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent)}.section-dark>.container{position:relative}
.service-card{min-height:260px;backdrop-filter:blur(10px)}.service-card:hover{border-color:rgba(55,197,232,.65)}.service-card>span{color:var(--cyan);margin-bottom:2.2rem}

.specialties{background:#fff}.specialties>.container{display:grid;gap:32px}.feature{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;min-height:590px;border-radius:36px;overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,5rem);position:relative;z-index:2}.feature-number{position:absolute;right:2.2rem;top:1.3rem;color:rgba(6,26,43,.08);font-size:7rem;font-weight:900;line-height:1}.feature-copy h3{font-size:clamp(2rem,3.5vw,3.4rem);max-width:560px}.feature-copy>p:not(.card-kicker){color:var(--muted);font-size:1.04rem;max-width:590px}
.roof-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;padding:10px}.roof-collage img{width:100%;height:100%;object-fit:cover;border-radius:22px}.roof-collage .roof-large{grid-row:1/-1}.tag-list{list-style:none;padding:0;margin:1.4rem 0 0;display:flex;gap:.55rem;flex-wrap:wrap}.tag-list li{border:1px solid #cfdbe3;background:#fff;padding:.5rem .8rem;border-radius:999px;font-weight:800;font-size:.76rem;color:var(--navy)}
.feature-pool{grid-template-columns:1.15fr .85fr;background:#e9f7fa}.pool-visual{position:relative;padding:10px}.pool-visual img{width:100%;height:100%;min-height:570px;object-fit:cover;border-radius:28px}.visual-note{position:absolute;left:2rem;bottom:2rem;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);padding:.65rem 1rem;border-radius:999px;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.text-arrow{margin-top:1.2rem;color:var(--blue);font-weight:900;text-decoration:none}.text-arrow span{display:inline-block;margin-left:.4rem;transition:transform .2s}.text-arrow:hover span{transform:translate(3px,-3px)}
.feature-height{grid-template-columns:1fr .78fr;background:linear-gradient(145deg,#071d33,#0b3555);color:#fff;border:0}.feature-height .feature-number{color:rgba(255,255,255,.06)}.feature-height .feature-copy>p:not(.card-kicker){color:#bfd0dd}.tag-list-light li{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff}.video-frame{position:relative;height:100%;min-height:590px;background:#03101b;overflow:hidden}.video-frame video{width:100%;height:100%;object-fit:cover}.video-label{position:absolute;left:1rem;bottom:1rem;background:rgba(6,26,43,.78);color:#fff;padding:.55rem .8rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;pointer-events:none;backdrop-filter:blur(10px)}

.fleet{background:linear-gradient(#fff,#f7fafc)}.fleet-grid{grid-template-columns:repeat(2,1fr)}.fleet-card{display:grid;grid-template-columns:.92fr 1.08fr;min-height:320px}.fleet-card img{height:100%;min-height:320px}.fleet-card h3{font-size:1.55rem}.fleet-featured{background:var(--navy);color:#fff;border:0}.fleet-featured p:last-child{color:#bfd0dd}.fleet-featured .card-kicker{color:var(--cyan)}

.gallery-modern{grid-template-columns:repeat(4,1fr);grid-auto-rows:240px}.gallery-modern .gallery-main{grid-column:span 2;grid-row:span 2}.gallery-modern .gallery-tall{grid-row:span 2}.gallery-modern .gallery-wide{grid-column:span 2}.gallery-modern figcaption{display:flex;align-items:center;gap:.75rem}.gallery-modern figcaption b{color:var(--cyan)}
.gallery-proof{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-1.2rem 0 1.2rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72);color:var(--navy)}.gallery-proof span{color:var(--blue);font-size:.7rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.gallery-proof strong{font-size:.86rem}.js .gallery figure{cursor:zoom-in}.js .gallery figure::after{content:"↗";position:absolute;right:.8rem;top:.8rem;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:rgba(6,26,43,.72);color:#fff;font-size:1.05rem;opacity:0;transform:translateY(5px);transition:.25s;backdrop-filter:blur(10px)}.js .gallery figure:hover::after,.js .gallery figure:focus-visible::after{opacity:1;transform:none}.js .gallery figure:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.gallery-lightbox{width:min(94vw,1400px);max-width:none;max-height:92vh;margin:auto;padding:0;border:0;border-radius:24px;background:#051522;color:#fff;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.45)}.gallery-lightbox::backdrop{background:rgba(2,10,17,.88);backdrop-filter:blur(10px)}.gallery-lightbox-inner{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;max-height:92vh}.gallery-lightbox img{width:100%;height:calc(92vh - 70px);object-fit:contain;background:#020b12}.gallery-lightbox p{margin:0;padding:1rem 5rem 1rem 1.2rem;font-weight:800;letter-spacing:.03em}.gallery-lightbox-close{position:absolute;z-index:2;right:1rem;top:1rem;width:46px;height:46px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(6,26,43,.78);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;backdrop-filter:blur(10px)}
.field-story{display:grid;grid-template-columns:1fr .65fr;gap:7vw;align-items:center;margin-top:32px;background:#fff;border:1px solid var(--line);border-radius:36px;padding:clamp(1rem,3vw,2rem) clamp(1rem,4vw,4rem)}.field-story h3{font-size:clamp(1.8rem,3vw,3rem)}.field-story>div>p:not(.eyebrow){color:var(--muted)}.video-frame-light{min-height:520px;border-radius:26px;box-shadow:var(--shadow)}

@media(max-width:1100px){.main-nav{gap:.85rem}.main-nav a{font-size:.78rem}.feature{grid-template-columns:1fr 1fr}.gallery-modern{grid-template-columns:repeat(3,1fr)}}
@media(max-width:960px){.section{padding:92px 0}.feature,.feature-pool,.feature-height,.field-story{grid-template-columns:1fr}.roof-collage{min-height:520px;order:-1}.feature-pool .pool-visual{order:-1}.video-frame{min-height:650px;max-height:760px}.feature-height .video-frame{order:-1}.fleet-grid{grid-template-columns:1fr}.gallery-modern{grid-template-columns:1fr 1fr}.gallery-modern .gallery-tall{grid-row:span 1}.field-story{gap:2rem}.video-frame-light{max-width:500px;width:100%;justify-self:center}}
@media(max-width:650px){.hero{min-height:780px}.hero::after{display:none}.hero-content{padding:105px 0 145px}.section{padding:76px 0}.strip-grid span+span{border:0}.feature{border-radius:24px}.feature-copy{padding:2rem 1.3rem 2.3rem}.feature-number{font-size:4.5rem;right:1rem}.roof-collage{grid-template-columns:1fr;grid-template-rows:310px 220px 220px;min-height:0}.roof-collage .roof-large{grid-row:auto}.pool-visual img{min-height:320px}.video-frame{min-height:520px}.fleet-card{display:block;min-height:0}.fleet-card img{height:250px;min-height:0}.gallery-proof{align-items:flex-start;flex-direction:column;margin-top:0}.gallery-modern{grid-template-columns:1fr}.gallery-modern .gallery-main,.gallery-modern .gallery-wide{grid-column:auto;grid-row:auto}.gallery-lightbox{width:96vw;border-radius:18px}.gallery-lightbox img{height:calc(88vh - 78px)}.gallery-lightbox p{font-size:.86rem}.field-story{border-radius:24px;padding:1.3rem}.video-frame-light{min-height:480px}.visual-note{left:1rem;bottom:1rem}}
.site-header.is-scrolled{box-shadow:0 12px 35px rgba(0,0,0,.16)}
.video-label{transition:opacity .2s}.video-label.is-hidden{opacity:0}
