:root{--bg:#05070a;--ink:#edf1f3;--muted:#78858e;--line:#202a31;--green:#39d27b;--red:#e34a45;--light:#eef0ef;--dark:#07090b;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}.header{height:78px;position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;gap:28px;padding:8px 4vw;background:linear-gradient(#05070af5,transparent);transition:.3s}.header.scrolled{background:#05070af5;border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.brand{width:180px;height:58px;display:flex}.brand img{width:100%;height:100%;object-fit:contain}.header nav{display:flex;justify-content:center;gap:28px;flex:1}.header nav a,.headbtn{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#aab4ba}.header nav a:hover{color:#fff}.headbtn{border:1px solid #4a5861;padding:12px 15px;color:#fff}.header button{display:none;background:none;border:0;color:#fff;font-size:23px}#mobile{display:none}.hero{height:100vh;min-height:720px;position:relative;overflow:hidden;display:flex;align-items:center;padding:120px 7vw}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 48%,#1a3024,transparent 28%),linear-gradient(120deg,#05070a 25%,#08100e 70%,#05070a)}.grid{position:absolute;inset:-20%;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:65px 65px;opacity:.035;transform:perspective(500px) rotateX(60deg) translateY(24%)}.copy{position:relative;z-index:5;max-width:680px}.copy>small,.statement>small,.head small,.innerhero>small,.detail small,.fleetcard small,.contact small,.feature small,.final small{font-size:8px;letter-spacing:.2em;font-weight:900;color:#77848d}.copy h1{font-family:"Space Grotesk";font-size:clamp(78px,11vw,155px);line-height:.78;letter-spacing:-.07em;margin:20px 0 30px}.copy h1 em{font-style:normal;color:#6d7981}.copy>p:not(small){font-size:17px;line-height:1.75;color:#9aa6ad;max-width:590px}.copy>p b{color:#fff}.btn{display:inline-flex;gap:10px;padding:14px 17px;font-size:9px;font-weight:900;letter-spacing:.1em;margin-top:28px}.light{background:#eef1f2;color:#05070a}.ghost{border:1px solid #43515a;color:#d2d8dc;margin-left:8px}.drone{position:absolute;right:-3%;top:13%;width:min(58vw,820px);height:650px;z-index:3;display:flex;align-items:center;justify-content:center;animation:float 6s ease-in-out infinite}.drone img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 35px 40px #000) brightness(1.45) contrast(1.1);mix-blend-mode:screen}.hud{position:absolute;z-index:5;right:7%;bottom:20%;font-size:7px;letter-spacing:.15em;color:#58666f}.hud b{color:#dce3e7;font-size:9px}.scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:6;font-size:7px;letter-spacing:.2em;color:#65727a}.statement{max-width:var(--max);margin:auto;padding:150px 5vw;display:grid;grid-template-columns:180px 1fr;gap:60px}.statement h2,.head h2,.vision h2,.final h2,.innerhero h1,.contact h1{font-family:"Space Grotesk";font-size:clamp(54px,7vw,100px);line-height:.86;letter-spacing:-.06em;margin:0}.statement h2 span,.head h2 span,.vision h2 span,.final h2 span,.innerhero h1 span,.contact h1 span,.feature h2 span{color:#68757e}.statement p{max-width:600px;color:#7d8991;font-size:18px;line-height:1.75;margin-top:35px}.services{background:var(--light);color:#07090b;padding:120px 5vw 140px}.head{max-width:var(--max);margin:0 auto 60px;display:flex;justify-content:space-between;align-items:end;gap:30px}.head>p{max-width:330px;color:#6e797f;line-height:1.7;font-size:12px}.cards{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cbd0ce}.card{background:var(--light);min-height:320px;padding:30px;display:flex;flex-direction:column;transition:.3s;position:relative;overflow:hidden}.card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--green),#fff,var(--red));transform:translateY(5px);transition:.3s}.card:hover{background:#fff;transform:translateY(-5px)}.card:hover:after{transform:none}.card i{font-style:normal;color:#889297;font-size:9px}.card h3{font-family:"Space Grotesk";font-size:30px;margin:55px 0 14px}.card p{color:#68747b;line-height:1.7;font-size:12px}.card b{margin-top:auto;font-size:8px;letter-spacing:.15em}.vision{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.visionimg{min-height:550px;background:url('https://i0.wp.com/www.la-droneservice.com/wp-content/uploads/2023/09/termografia-drone.jpg?ssl=1&w=1200') center/cover;filter:saturate(.75)}.visioncopy{display:flex;flex-direction:column;justify-content:center;padding:90px}.visioncopy h2{font-family:"Space Grotesk";font-size:clamp(54px,6vw,88px);line-height:.88;letter-spacing:-.06em}.visioncopy p{max-width:500px;color:#7d8991;line-height:1.8}.visioncopy a{font-size:8px;font-weight:900;letter-spacing:.15em;margin-top:25px}.numbers{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:85px 5vw}.numbers div{padding:0 25px;border-right:1px solid var(--line)}.numbers div:last-child{border:0}.numbers b{font-family:"Space Grotesk";font-size:50px}.numbers span{display:block;color:#59666e;font-size:7px;letter-spacing:.18em;margin-top:8px}.process{padding:130px 5vw}.steps{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #28323a}.step{padding:35px 22px;border-right:1px solid #28323a;min-height:190px}.step:last-child{border:0}.step>b{color:var(--green);font-size:9px}.step h3{font-family:"Space Grotesk";margin-top:42px}.step p{font-size:11px;color:#69767e}.final{text-align:center;padding:150px 5vw;background:radial-gradient(circle at center,#12251a,transparent 35%),#05070a}.final p{max-width:560px;margin:25px auto;color:#78858d;line-height:1.8;font-size:13px}.inner{padding-top:78px}.innerhero{max-width:var(--max);margin:auto;min-height:570px;padding:120px 5vw 80px;display:flex;flex-direction:column;justify-content:center}.innerhero h1{margin:18px 0 30px}.innerhero>p{max-width:650px;color:#7d8991;font-size:17px;line-height:1.8}.detail{max-width:var(--max);margin:auto;padding:0 5vw 130px}.detail article{border-top:1px solid var(--line);padding:65px 0}.detail h2{font-family:"Space Grotesk";font-size:60px;margin:15px 0}.detail p{max-width:700px;color:#7c8991;line-height:1.8}.detail a{font-size:8px;letter-spacing:.15em;font-weight:900}.fleet{max-width:var(--max);margin:auto;padding:0 5vw 130px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fleetcard{background:#0a0f13;border:1px solid #202a31;min-height:250px;padding:25px;position:relative;overflow:hidden}.fleetcard h3{font-family:"Space Grotesk";font-size:23px;margin-top:95px}.fleetcard p{font-size:9px;color:#73808a;letter-spacing:.08em}.shape{position:absolute;right:25px;top:50px;width:85px;height:3px;background:#d8dde0}.shape:before,.shape:after{content:"";position:absolute;width:24px;height:14px;border:1px solid #7d888f;border-radius:50%;top:-6px}.shape:before{left:-3px}.shape:after{right:-3px}.contact{max-width:var(--max);margin:auto;padding:130px 5vw;display:grid;grid-template-columns:1fr .75fr;gap:100px}.contact h1{margin:20px 0 30px}.contact>div>p{max-width:560px;color:#7d8991;line-height:1.8}.data{display:flex;flex-direction:column;gap:12px;margin-top:40px}.data a{font-family:"Space Grotesk";font-size:22px}.data span{color:#69757d;font-size:10px}.contact form{background:#0b1014;border:1px solid #202a31;padding:30px;display:flex;flex-direction:column;gap:18px}.contact label{font-size:8px;letter-spacing:.12em;color:#73808a;text-transform:uppercase}.contact input,.contact select,.contact textarea{display:block;width:100%;margin-top:8px;background:#070a0d;border:1px solid #28333a;color:#fff;padding:13px;outline:none}.feature{max-width:900px;margin:auto;padding:0 5vw 150px}.feature h2{font-family:"Space Grotesk";font-size:65px;line-height:.9}.feature p{color:#7d8991;line-height:1.8;max-width:650px}.foot{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;align-items:end}.foot img{width:250px}.foot p,.foot small{font-size:8px;letter-spacing:.18em;color:#5f6c74}.foot a{font-family:"Space Grotesk";font-size:24px;display:block;margin-top:12px}.footbottom{max-width:var(--max);margin:55px auto 0;padding-top:18px;border-top:1px solid #1e272e;display:flex;justify-content:space-between;color:#58646c;font-size:8px}.r{opacity:0;transform:translateY(28px);transition:.8s}.r.on{opacity:1;transform:none}@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(-18px,-12px)}}@media(max-width:950px){.header nav{display:none}.headbtn{margin-left:auto}.header button{display:block}.header{padding:8px 18px}.brand{width:150px}#mobile{position:fixed;z-index:99;top:78px;left:0;right:0;background:#06090c;border-bottom:1px solid var(--line);padding:15px 22px;flex-direction:column}#mobile.open{display:flex}#mobile a{padding:15px 0;border-bottom:1px solid #1d262d;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.drone{right:-18%;opacity:.55}.cards{grid-template-columns:1fr 1fr}.vision,.contact{grid-template-columns:1fr}.fleet{grid-template-columns:1fr 1fr}.numbers{grid-template-columns:1fr 1fr;gap:35px}.numbers div{border:0}.steps{grid-template-columns:1fr 1fr}}@media(max-width:620px){.headbtn{display:none}.hero{min-height:760px;padding:130px 22px}.copy h1{font-size:70px}.copy>p:not(small){font-size:14px}.drone{right:-58%;top:31%;width:600px;opacity:.42}.ghost{margin-left:0}.statement,.services,.process{padding:90px 22px}.statement{display:block}.statement>small{display:block;margin-bottom:30px}.head{display:block}.head>p{margin-top:25px}.cards{grid-template-columns:1fr}.card{min-height:280px}.visioncopy{padding:75px 22px}.numbers{padding:70px 22px}.steps{grid-template-columns:1fr 1fr}.innerhero{padding:100px 22px 70px}.innerhero h1{font-size:62px}.detail{padding:0 22px 90px}.detail h2{font-size:42px}.fleet{grid-template-columns:1fr;padding:0 22px 90px}.contact{padding:90px 22px;gap:55px}.contact h1{font-size:62px}.foot{display:block}.foot>div:last-child{margin-top:40px}.footbottom{display:flex;flex-direction:column;gap:10px}}

/* ===== WOW V2 — HERO + NAV REDESIGN ===== */
.topbar{height:92px;position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;padding:9px clamp(18px,4vw,55px);gap:24px;background:rgba(4,7,9,.82);border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(14px)}.topbar .brand{width:205px;height:70px;flex:0 0 205px}.topbar .brand img{width:100%;height:100%;object-fit:contain}.mainnav{display:flex;align-items:center;justify-content:center;gap:18px;flex:1}.mainnav a{font-size:8px;font-weight:900;letter-spacing:.09em;color:#b8c1c6;padding:12px 8px;white-space:nowrap;position:relative}.mainnav a:after{content:"";position:absolute;left:8px;right:8px;bottom:4px;height:2px;background:linear-gradient(90deg,#39d27b,#fff,#e34a45);transform:scaleX(0);transition:.25s}.mainnav a:hover,.mainnav .nav-active{color:#fff}.mainnav a:hover:after,.mainnav .nav-active:after{transform:scaleX(1)}.topbar .headbtn{display:inline-flex;align-items:center;gap:8px;padding:13px 14px;border:1px solid #4a5962;color:#fff;font-size:8px;font-weight:900;letter-spacing:.09em;white-space:nowrap}.topbar .headbtn:hover{background:#fff;color:#05070a}.topbar #menu{display:none}
.wowhero{height:100vh;min-height:760px;padding:140px 6vw 65px;align-items:center;background:#040709}.wowhero:before{background:radial-gradient(circle at 78% 45%,#1a3a28 0,transparent 25%),linear-gradient(115deg,#040709 0%,#050b0c 60%,#030608 100%)}.wowhero .grid{opacity:.045;transform:perspective(650px) rotateX(58deg) translateY(20%) scale(1.15)}.hero-glow{position:absolute;width:620px;height:620px;border-radius:50%;right:8%;top:50%;transform:translateY(-50%);background:radial-gradient(circle,#39d27b12,transparent 67%);filter:blur(2px);z-index:1}.wowhero .copy{max-width:650px;z-index:8;margin-top:-10px}.wowhero .copy h1{font-size:clamp(76px,9.5vw,142px);letter-spacing:-.075em;margin:24px 0 28px}.wowhero .copy h1 em{color:#65727b}.wowhero .copy>p:not(small){font-size:18px;line-height:1.65;color:#a1adb4;max-width:550px}.hero-buttons{margin-top:30px}.hero-buttons .btn{margin-top:0}.hero-buttons .ghost{margin-left:8px}.hero-tags{display:flex;gap:18px;margin-top:36px}.hero-tags span{font-size:7px;letter-spacing:.14em;color:#68757d;border-left:2px solid #39d27b;padding-left:7px}.hero-tags span:nth-child(2){border-color:#fff}.hero-tags span:nth-child(3){border-color:#e34a45}.wowhero .drone{position:absolute;right:2%;top:18%;width:min(53vw,770px);height:590px;z-index:5;display:block;animation:droneFloat 6s ease-in-out infinite}.drone-frame{position:absolute;inset:0;overflow:hidden;border:1px solid rgba(255,255,255,.11);background:linear-gradient(145deg,#101719,#06090b);clip-path:polygon(9% 0,100% 0,100% 91%,91% 100%,0 100%,0 9%)}.drone-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#ffffff08 48%,transparent 53%);transform:translateX(-80%);animation:scan 5s ease-in-out infinite}.drone-frame img{width:100%;height:100%;object-fit:cover;filter:brightness(1.15) contrast(1.08) saturate(.8);mix-blend-mode:normal}.drone-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,#040709 100%),radial-gradient(circle at center,transparent 35%,#04070955 100%)}.drone-label{position:absolute;right:22px;bottom:20px;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.drone-label b{font-size:10px;letter-spacing:.12em}.drone-label span{font-size:7px;color:#7f8c94;letter-spacing:.15em}.wowhero .hud{z-index:7;display:flex;flex-direction:column;gap:5px;background:#05080a99;border-left:2px solid #39d27b;padding:9px 12px}.wowhero .hud span{font-size:7px;color:#65727a}.wowhero .hud b{font-size:8px;letter-spacing:.12em}.wowhero .hud1{right:4%;top:35%}.wowhero .hud2{right:8%;bottom:17%;border-color:#e34a45}.wowhero .scroll{bottom:25px}.wowhero .scroll:first-letter{color:#39d27b}@keyframes droneFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-12px,-10px,0)}}@keyframes scan{0%,35%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}
@media(max-width:1200px){.mainnav{gap:7px}.mainnav a{font-size:7px;padding-inline:5px}.topbar .brand{width:175px;flex-basis:175px}.topbar .headbtn{font-size:7px}.wowhero .drone{right:-8%;width:60vw}}
@media(max-width:950px){.topbar{height:82px}.topbar .brand{width:170px;height:64px;flex-basis:170px}.mainnav,.topbar .headbtn{display:none!important}.topbar #menu{display:block;margin-left:auto;background:transparent;border:1px solid #39464e;padding:10px}.topbar #menu i{display:block;width:24px;height:2px;background:#fff;margin:5px}.wowhero{padding:125px 22px 70px}.wowhero .drone{right:-28%;top:31%;width:650px;height:500px;opacity:.58}.wowhero .copy{max-width:620px}.wowhero .hud{display:none}}
@media(max-width:620px){.topbar .brand{width:150px;flex-basis:150px}.wowhero{min-height:780px}.wowhero .copy h1{font-size:70px}.wowhero .copy>p:not(small){font-size:14px}.wowhero .drone{right:-63%;top:37%;width:610px;height:430px;opacity:.42}.hero-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.hero-buttons .ghost{margin-left:0}.hero-tags{gap:9px;flex-wrap:wrap}.hero-tags span{font-size:6px}}
/* ===== HERO V3 : CINEMATIC / AERIAL INTELLIGENCE ===== */
.hero-v3{height:100vh;min-height:760px;position:relative;overflow:hidden;display:flex;align-items:center;padding:110px 6vw 80px;background:#030608}
.hero-v3:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 73% 49%,#1a3b28 0%,#0b1712 17%,transparent 39%),linear-gradient(110deg,#030608 0%,#050a0b 52%,#020506 100%)}
.hero-noise{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.hero-v3 .hero-grid{position:absolute;inset:-15%;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:72px 72px;opacity:.035;transform:perspective(650px) rotateX(60deg) translateY(22%);mask-image:linear-gradient(transparent 3%,#000 40%,transparent 90%)}
.hero-scan{position:absolute;top:0;bottom:0;left:58%;width:1px;background:linear-gradient(transparent,#39d27b55,transparent);box-shadow:0 0 28px #39d27b22;animation:heroScanV3 7s ease-in-out infinite;z-index:2}
.hero-v3 .hero-copy{position:relative;z-index:10;max-width:660px;margin-top:-20px}.hero-kicker{font-size:8px;font-weight:900;letter-spacing:.18em;color:#8a969d}.hero-kicker span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#39d27b;margin-right:8px;box-shadow:0 0 0 5px #39d27b12}.hero-kicker b{color:#3f4a51;margin:0 7px}.hero-v3 .hero-copy h1{font-family:"Space Grotesk";font-size:clamp(82px,10vw,148px);line-height:.78;letter-spacing:-.075em;margin:22px 0 30px}.hero-v3 .hero-copy h1 em{font-style:normal;color:#65727b}.hero-v3 .hero-copy>p:not(.hero-kicker){font-size:18px;line-height:1.7;color:#9ba7ae;max-width:560px}.hero-v3 .hero-copy strong{color:#fff}.hero-buttons{margin-top:30px}.hero-v3 .btn{display:inline-flex;align-items:center;gap:10px;padding:14px 17px;font-size:9px;font-weight:900;letter-spacing:.1em}.hero-v3 .ghost{margin-left:8px}.hero-capabilities{display:flex;gap:0;margin-top:45px}.hero-capabilities span{font-size:7px;letter-spacing:.12em;color:#78858d;padding-right:18px;margin-right:18px;border-right:1px solid #2a343b}.hero-capabilities span:last-child{border:0}.hero-capabilities i{font-style:normal;color:#39d27b;margin-right:6px}
.hero-stage{position:absolute;right:0;top:78px;width:57%;height:calc(100% - 78px);z-index:4}.hero-stage:before{content:"";position:absolute;width:560px;height:560px;left:51%;top:48%;transform:translate(-50%,-50%);border:1px solid #39d27b12;border-radius:50%;box-shadow:0 0 90px #39d27b0a}.hero-stage:after{content:"";position:absolute;left:12%;right:0;top:48%;height:1px;background:linear-gradient(90deg,transparent,#ffffff10,#39d27b18,transparent)}.radar{position:absolute;border:1px solid #ffffff12;border-radius:50%;left:51%;top:48%;transform:translate(-50%,-50%) rotate(-15deg);z-index:1}.radar-a{width:470px;height:235px}.radar-b{width:690px;height:345px;border-color:#39d27b0b}.radar:before{content:"";position:absolute;left:50%;top:50%;width:50%;height:1px;transform-origin:left;background:linear-gradient(90deg,#39d27b55,transparent);animation:radarSpin 8s linear infinite}.target{position:absolute;left:51%;top:48%;width:92px;height:92px;transform:translate(-50%,-50%);z-index:7}.target:before,.target:after,.target i,.target b{content:"";position:absolute;width:18px;height:18px;border-color:#cbd4d8;border-style:solid;opacity:.7}.target:before{left:0;top:0;border-width:1px 0 0 1px}.target:after{right:0;top:0;border-width:1px 1px 0 0}.target i{left:0;bottom:0;border-width:0 0 1px 1px}.target b{right:0;bottom:0;border-width:0 1px 1px 0}.target span{position:absolute;left:108px;top:8px;font-size:7px;line-height:1.5;letter-spacing:.15em;color:#637078;white-space:nowrap}.target strong{color:#e8edf0}.drone-v3{position:absolute;left:5%;right:0;top:6%;bottom:10%;display:flex;align-items:center;justify-content:center;animation:droneFloatV3 6s ease-in-out infinite;z-index:5}.drone-v3 img{width:100%;height:100%;object-fit:contain;filter:brightness(1.35) contrast(1.12) drop-shadow(0 35px 45px #000);mix-blend-mode:screen;mask-image:radial-gradient(ellipse 65% 60% at 50% 50%,#000 55%,transparent 100%)}.stage-label{position:absolute;right:8%;bottom:11%;z-index:8;text-align:right;display:flex;flex-direction:column;gap:5px}.stage-label span,.stage-label small{font-size:7px;letter-spacing:.16em;color:#627078}.stage-label b{font-size:11px;letter-spacing:.13em}.telemetry{position:absolute;right:4%;top:29%;z-index:8;display:grid;grid-template-columns:auto auto;gap:6px 14px;border-left:1px solid #39d27b66;padding-left:12px;font-size:7px;letter-spacing:.14em}.telemetry span{color:#5e6b73}.telemetry b{color:#d8dfe2}.hero-bottom{position:absolute;z-index:10;bottom:24px;left:6vw;right:6vw;display:flex;align-items:center;gap:16px}.hero-bottom span{font-size:7px;letter-spacing:.16em;color:#647078}.hero-bottom span:nth-child(2){color:#c1c9cd}.hero-bottom span:nth-child(3){color:#d24c49}.hero-bottom em{height:1px;flex:1;background:linear-gradient(90deg,#39d27b44,#ffffff12,#e34a4544)}.hero-bottom small{font-size:7px;letter-spacing:.18em;color:#59666e}
@keyframes heroScanV3{0%,30%{transform:translateX(-40vw);opacity:0}45%{opacity:1}70%,100%{transform:translateX(40vw);opacity:0}}@keyframes radarSpin{to{transform:rotate(360deg)}}@keyframes droneFloatV3{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(-15px,-11px,0) rotate(-1deg)}}
@media(max-width:950px){.hero-stage{width:58%;opacity:.65}.hero-v3 .hero-copy{max-width:610px}.telemetry{display:none}}
@media(max-width:620px){.hero-v3{min-height:780px;padding:125px 22px 90px;align-items:flex-start}.hero-v3 .hero-copy{margin-top:20px}.hero-v3 .hero-copy h1{font-size:70px}.hero-v3 .hero-copy>p:not(.hero-kicker){font-size:14px;max-width:390px}.hero-stage{top:280px;right:-42%;width:760px;height:500px;opacity:.48}.hero-stage:before{width:390px;height:390px}.radar-a{width:340px;height:170px}.radar-b{width:470px;height:235px}.hero-capabilities{gap:8px;flex-wrap:wrap;margin-top:28px}.hero-capabilities span{padding-right:8px;margin-right:8px}.hero-bottom{left:22px;right:22px}.hero-bottom span{display:none}.hero-bottom small{margin-left:auto}.hero-scan{left:45%}}

/* V4 — photogrammetry / electro-optical survey hero */
.survey-scene{position:absolute;left:3%;right:0;top:4%;bottom:7%;z-index:5;overflow:hidden;perspective:900px}
.survey-stars{position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px);background-size:74px 63px;opacity:.12;mask-image:linear-gradient(180deg,transparent,#000 25%,#000 70%,transparent)}
.survey-ground{position:absolute;left:6%;right:3%;bottom:3%;height:46%;transform:perspective(520px) rotateX(62deg);transform-origin:center bottom;border:1px solid #39d27b20;background-image:linear-gradient(#39d27b24 1px,transparent 1px),linear-gradient(90deg,#39d27b24 1px,transparent 1px);background-size:52px 52px;box-shadow:0 -30px 90px #39d27b08}
.survey-ground:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,#39d27b18,transparent 58%);animation:groundPulse 3.5s ease-in-out infinite}
.survey-ground span,.survey-ground i,.survey-ground b,.survey-ground em{position:absolute;display:block;width:7px;height:7px;border:1px solid #dfe8e8;border-radius:50%;box-shadow:0 0 12px #39d27b;z-index:2}
.survey-ground span{left:21%;top:37%}.survey-ground i{left:47%;top:52%}.survey-ground b{left:68%;top:30%}.survey-ground em{left:79%;top:64%}
.laser-beam{position:absolute;z-index:4;left:51%;top:47%;height:49%;width:2px;transform-origin:top center;background:linear-gradient(180deg,#e8ffff,#39d27b 35%,#39d27b00);box-shadow:0 0 12px #39d27b,0 0 30px #39d27b55;opacity:.8}
.beam-1{transform:rotate(8deg);animation:laserPulse 2.6s ease-in-out infinite}.beam-2{transform:rotate(-8deg);animation:laserPulse 2.6s ease-in-out .4s infinite}.beam-3{height:57%;transform:rotate(0);animation:laserPulse 2.6s ease-in-out .8s infinite}
.survey-drone{position:absolute;left:51%;top:36%;width:390px;height:205px;transform:translate(-50%,-50%);z-index:8;filter:drop-shadow(0 28px 25px #000);animation:surveyFloat 5s ease-in-out infinite}
.drone-body{position:absolute;left:50%;top:50%;width:110px;height:70px;transform:translate(-50%,-50%);background:linear-gradient(145deg,#e9edee,#727c82);border:1px solid #fff;border-radius:27px 27px 21px 21px;box-shadow:inset -10px -12px 22px #0005,0 0 20px #ffffff12}
.drone-body:before{content:"";position:absolute;left:20px;right:20px;top:8px;height:17px;border-radius:50%;background:#cdd3d5;border:1px solid #fff8}.camera{position:absolute;left:50%;bottom:-19px;transform:translateX(-50%);width:39px;height:35px;border-radius:11px;background:#1c252a;border:1px solid #bfc9cd;box-shadow:0 0 20px #39d27b30}.camera:before{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid #dfe6e8;box-shadow:inset 0 0 0 4px #10171b,0 0 12px #39d27b55}.camera span{position:absolute;left:50%;bottom:-18px;width:2px;height:18px;background:linear-gradient(#39d27b,#39d27b00);transform:translateX(-50%);box-shadow:0 0 9px #39d27b}
.sensor{position:absolute;left:50%;bottom:-6px;width:7px;height:7px;border-radius:50%;transform:translateX(-50%);background:#39d27b;box-shadow:0 0 12px #39d27b}
.arm{position:absolute;top:50%;width:150px;height:7px;border-radius:8px;background:linear-gradient(90deg,#7b858a,#e6eaeb);box-shadow:0 2px 5px #000}.a1{left:5%;transform:rotate(20deg)}.a2{right:5%;transform:rotate(-20deg)}.a3{left:5%;transform:rotate(-20deg)}.a4{right:5%;transform:rotate(20deg)}
.prop{position:absolute;top:14%;width:78px;height:17px;border:1px solid #dbe1e3;border-radius:50%;opacity:.8;box-shadow:0 0 12px #fff2}.p1{left:0}.p2{right:0}.p3{left:0;top:72%}.p4{right:0;top:72%}
.point-cloud{position:absolute;width:130px;height:130px;z-index:3;background-image:radial-gradient(circle,#eaffff 0 1px,transparent 1.5px);background-size:15px 15px;opacity:.25;transform:rotateX(62deg) rotateZ(-12deg);mask-image:radial-gradient(circle,#000,transparent 68%)}.pc1{left:19%;bottom:12%;animation:cloudFloat 4s ease-in-out infinite}.pc2{left:58%;bottom:6%;animation:cloudFloat 4s ease-in-out 1s infinite}.pc3{right:7%;bottom:16%;animation:cloudFloat 4s ease-in-out 1.7s infinite}
.survey-scene:after{content:"";position:absolute;inset:8% 3% 5%;border:1px solid #ffffff09;clip-path:polygon(5% 0,100% 0,100% 88%,94% 100%,0 100%,0 9%);pointer-events:none}
@keyframes surveyFloat{0%,100%{transform:translate(-50%,-50%) translate3d(0,0,0) rotate(-1deg)}50%{transform:translate(-50%,-50%) translate3d(-8px,-13px,0) rotate(1deg)}}
@keyframes laserPulse{0%,100%{opacity:.25;filter:blur(.5px)}50%{opacity:1;filter:blur(0);box-shadow:0 0 14px #39d27b,0 0 38px #39d27b66}}
@keyframes groundPulse{0%,100%{opacity:.25;transform:scale(.96)}50%{opacity:.8;transform:scale(1)}}
@keyframes cloudFloat{0%,100%{opacity:.12;transform:rotateX(62deg) rotateZ(-12deg) translateY(0)}50%{opacity:.42;transform:rotateX(62deg) rotateZ(-12deg) translateY(-8px)}}
@media(max-width:950px){.survey-scene{left:-10%;right:-20%;top:20%;opacity:.72}.survey-drone{transform:translate(-50%,-50%) scale(.82)}.stage-label{display:none}}
@media(max-width:620px){.survey-scene{left:-37%;right:-55%;top:31%;bottom:4%;opacity:.5}.survey-drone{transform:translate(-50%,-50%) scale(.68)}.survey-ground{height:42%;background-size:40px 40px}.hero-v3 .hero-copy{position:relative;z-index:12}}

/* ===== WOW V5: REAL HERO CONCEPT + MOTION ===== */
.hero-v5 .hero-copy{z-index:20}.hero-v5 .hero-stage{position:absolute;inset:0;z-index:4;pointer-events:none}
.v5-stage .hero-image-wrap{position:absolute;right:-3%;top:8%;width:68%;height:90%;overflow:hidden;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,4% 56%);box-shadow:-35px 0 90px #040608}
.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.9;transform:scale(1.035);animation:heroDrift 9s ease-in-out infinite}
.image-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#040608 0%,transparent 18%,transparent 80%,#040608 100%),linear-gradient(0deg,#040608 0%,transparent 20%,transparent 82%,#040608 100%)}
.scan-beam{position:absolute;left:25%;right:4%;top:27%;height:2px;background:linear-gradient(90deg,transparent,#54ff8e,#d9ffe5,transparent);box-shadow:0 0 18px #54ff8e;opacity:.9;animation:beamSweep 4s ease-in-out infinite}
.scan-pulse{position:absolute;left:49%;top:50%;width:90px;height:90px;border:1px solid #55ef9188;border-radius:50%;box-shadow:0 0 25px #55ef9133;animation:target 2.6s ease-in-out infinite}
.target-mark{position:absolute;width:35px;height:35px;border:1px solid #55ef91aa;border-radius:50%;box-shadow:0 0 10px #55ef9144}.target-mark:before,.target-mark:after{content:"";position:absolute;background:#55ef9188}.target-mark:before{width:50px;height:1px;left:-8px;top:16px}.target-mark:after{height:50px;width:1px;top:-8px;left:16px}.tm1{left:41%;top:61%}.tm2{left:63%;top:69%;transform:scale(.65)}.tm3{left:31%;top:70%;transform:scale(.5)}
.point-label{position:absolute;color:#dffff0;font:700 7px Inter;letter-spacing:.13em;text-shadow:0 0 9px #000;background:#06100dbb;border:1px solid #55ef9166;padding:5px 7px}.pl1{left:46%;top:57%}.pl2{left:68%;top:67%}.pl3{left:34%;top:73%}
.mission-panel{position:absolute;right:6%;top:18%;width:215px;padding:18px;background:#06100dde;border:1px solid #55ef9166;backdrop-filter:blur(9px);box-shadow:0 15px 45px #0009;color:#fff}.mission-panel small{display:block;color:#74818a;font-size:7px;letter-spacing:.17em;margin-top:7px}.mission-panel b{display:block;color:#55ef91;font-size:12px;margin-top:3px}.mission-panel span{display:block;font-size:8px;color:#e2e8ea;margin-top:4px}.mission-panel em{position:absolute;right:18px;bottom:17px;color:#55ef91;font-size:8px;font-style:normal}.progress{height:4px;background:#26342e;margin-top:12px}.progress i{display:block;width:78%;height:100%;background:#55ef91;box-shadow:0 0 10px #55ef91;animation:prog 4s ease-in-out infinite}
.v5-stage .telemetry{position:absolute;right:6%;bottom:16%;display:flex;gap:10px;align-items:center;background:#06100dd9;border:1px solid #27352f;padding:11px 14px;font-size:7px;color:#68767e;letter-spacing:.12em}.v5-stage .telemetry b{font-size:8px;color:#e2e8ea}
.hero-v5 .hero-bottom{z-index:25}.hero-v5 .hero-bottom span{font-size:7px;letter-spacing:.17em}.hero-v5 .hero-bottom em{width:55px;height:1px;background:linear-gradient(90deg,#39d27b,#fff,#e34a45);display:block;margin:0 15px}
@keyframes heroDrift{0%,100%{transform:scale(1.035) translate3d(0,0,0)}50%{transform:scale(1.075) translate3d(-10px,-7px,0)}}@keyframes beamSweep{0%,100%{top:27%;opacity:0}12%{opacity:1}52%{top:70%;opacity:1}88%{opacity:0}}@keyframes target{0%,100%{transform:scale(.8);opacity:.35}50%{transform:scale(1.08);opacity:1}}@keyframes prog{0%,100%{width:62%}50%{width:91%}}
@media(max-width:950px){.v5-stage .hero-image-wrap{right:-20%;width:82%;opacity:.62}.mission-panel{right:5%;transform:scale(.82);transform-origin:top right}.v5-stage .telemetry{right:5%}}
@media(max-width:620px){.hero-v5{min-height:900px;padding-top:125px}.v5-stage .hero-image-wrap{top:34%;right:-55%;width:135%;height:58%;clip-path:none;opacity:.55}.mission-panel,.v5-stage .telemetry,.point-label,.target-mark,.scan-pulse{display:none}.hero-v5 .hero-bottom{bottom:105px}.hero-v5 .hero-bottom span{display:none}.hero-v5 .hero-bottom em{display:none}}
@media(prefers-reduced-motion:reduce){.hero-image-wrap img,.scan-beam,.scan-pulse,.progress i{animation:none}}

/* ===== V6: FULL-WIDTH PHOTOGRAMMETRY HERO ===== */
.hero-v5{
  min-height:100vh;
  height:100vh;
  padding:0;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.hero-v5 .hero-grid{z-index:3}
.hero-v5 .hero-stage{position:absolute;inset:0;z-index:2}
.v5-stage .hero-image-wrap{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  clip-path:none;
  overflow:hidden;
  box-shadow:none;
}
.hero-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:.92;
  transform:scale(1.045);
  animation:heroFullDrift 11s ease-in-out infinite;
}
.image-vignette{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,6,8,.94) 0%,rgba(4,6,8,.72) 28%,rgba(4,6,8,.18) 62%,rgba(4,6,8,.30) 100%),
    linear-gradient(0deg,rgba(4,6,8,.92) 0%,transparent 22%,rgba(4,6,8,.08) 72%,rgba(4,6,8,.72) 100%);
  z-index:4;
}
.hero-v5 .hero-copy{
  position:relative;
  z-index:20;
  width:min(610px,48vw);
  margin-left:7vw;
}
.hero-v5 .hero-stage{pointer-events:none}
.hero-v5 .mission-panel{z-index:12;top:22%;right:7%}
.hero-v5 .telemetry{z-index:12;right:7%;bottom:18%}
.hero-v5 .scan-beam{z-index:8}
.hero-v5 .scan-pulse,.hero-v5 .target-mark,.hero-v5 .point-label{z-index:9}
.hero-v5 .hero-bottom{z-index:25}
.hero-v5:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(circle at 72% 48%,rgba(57,210,123,.12),transparent 28%);
}
@keyframes heroFullDrift{
  0%,100%{transform:scale(1.045) translate3d(0,0,0)}
  50%{transform:scale(1.075) translate3d(-14px,-8px,0)}
}
@media(max-width:950px){
  .hero-v5 .hero-copy{width:min(620px,70vw);margin-left:5vw}
  .hero-v5 .mission-panel{right:5%}
  .hero-v5 .telemetry{right:5%}
}
@media(max-width:620px){
  .hero-v5{min-height:900px;height:100vh;padding-top:110px;align-items:flex-start}
  .hero-v5 .hero-copy{width:auto;margin:0 22px}
  .hero-image-wrap img{object-position:58% center;opacity:.68}
  .image-vignette{
    background:
      linear-gradient(180deg,rgba(4,6,8,.82) 0%,rgba(4,6,8,.20) 38%,rgba(4,6,8,.72) 72%,rgba(4,6,8,.96) 100%);
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-image-wrap img{animation:none}
}

/* ===== V7: FOTO DAVVERO A TUTTO SCHERMO ===== */
html,body{width:100%;margin:0;padding:0}
.hero-v5{
  position:relative!important;
  width:100vw!important;
  max-width:none!important;
  height:100svh!important;
  min-height:760px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.hero-v5 .hero-stage{
  position:absolute!important;
  inset:0!important;
  width:100vw!important;
  height:100%!important;
  z-index:2!important;
}
.hero-v5 .hero-image-wrap{
  position:absolute!important;
  inset:0!important;
  width:100vw!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  clip-path:none!important;
  overflow:hidden!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.hero-v5 .hero-image-wrap img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:.96!important;
  transform:scale(1.035)!important;
  animation:heroFullPageDrift 12s ease-in-out infinite!important;
}
.hero-v5 .image-vignette{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:4!important;
  background:
    linear-gradient(90deg,rgba(3,6,8,.96) 0%,rgba(3,6,8,.76) 25%,rgba(3,6,8,.18) 57%,rgba(3,6,8,.30) 100%),
    linear-gradient(0deg,rgba(3,6,8,.88) 0%,transparent 28%,rgba(3,6,8,.10) 68%,rgba(3,6,8,.72) 100%)!important;
}
.hero-v5 .hero-copy{
  position:absolute!important;
  left:7vw!important;
  top:50%!important;
  transform:translateY(-46%)!important;
  width:min(620px,46vw)!important;
  margin:0!important;
  z-index:30!important;
}
.hero-v5 .hero-bottom{
  position:absolute!important;
  left:7vw!important;
  right:7vw!important;
  bottom:28px!important;
  z-index:35!important;
}
.hero-v5 .mission-panel{z-index:30!important}
.hero-v5 .telemetry{z-index:30!important}
@keyframes heroFullPageDrift{
  0%,100%{transform:scale(1.035) translate3d(0,0,0)}
  50%{transform:scale(1.075) translate3d(-12px,-7px,0)}
}
@media(max-width:950px){
  .hero-v5 .hero-copy{left:5vw!important;width:min(620px,70vw)!important}
}
@media(max-width:620px){
  .hero-v5{height:100svh!important;min-height:820px!important}
  .hero-v5 .hero-image-wrap img{object-position:60% center!important}
  .hero-v5 .hero-copy{
    left:22px!important;right:22px!important;top:42%!important;
    width:auto!important;transform:translateY(-50%)!important;
  }
  .hero-v5 .image-vignette{
    background:
      linear-gradient(180deg,rgba(3,6,8,.78) 0%,rgba(3,6,8,.20) 35%,rgba(3,6,8,.70) 72%,rgba(3,6,8,.96) 100%)!important;
  }
}

/* ===== V8: HERO IMAGE FILLS THE ENTIRE PAGE — NO SIDE PANEL ===== */
.hero-v5{width:100vw!important;height:100svh!important;min-height:760px!important;margin:0!important;padding:0!important;overflow:hidden!important;position:relative!important;background:#030706!important}
.hero-v5 .hero-stage{position:absolute!important;inset:0!important;width:100vw!important;height:100%!important;z-index:2!important}
.hero-v5 .hero-image-wrap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;clip-path:none!important;overflow:hidden!important;box-shadow:none!important}
.hero-v5 .hero-image-wrap img{
  content:url("/assets/images/hero-photogrammetry-wide.jpg")!important;
  position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center!important;
  max-width:none!important;opacity:1!important;
  transform:scale(1.015)!important;
  animation:wideHeroMotion 12s ease-in-out infinite!important;
}
.hero-v5 .image-vignette{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  background:
   linear-gradient(90deg,rgba(3,6,7,.94) 0%,rgba(3,6,7,.68) 23%,rgba(3,6,7,.12) 58%,rgba(3,6,7,.18) 100%),
   linear-gradient(0deg,rgba(3,6,7,.88) 0%,transparent 28%,rgba(3,6,7,.05) 68%,rgba(3,6,7,.70) 100%)!important;
  z-index:4!important;
}
.hero-v5 .hero-copy{position:absolute!important;z-index:30!important;left:7vw!important;top:50%!important;width:min(620px,46vw)!important;margin:0!important;transform:translateY(-46%)!important}
.hero-v5 .hero-bottom{position:absolute!important;left:7vw!important;right:7vw!important;bottom:28px!important;z-index:35!important}
@keyframes wideHeroMotion{0%,100%{transform:scale(1.015) translate3d(0,0,0)}50%{transform:scale(1.045) translate3d(-8px,-5px,0)}}
@media(max-width:950px){.hero-v5 .hero-copy{left:5vw!important;width:min(620px,70vw)!important}}
@media(max-width:620px){.hero-v5{height:100svh!important;min-height:820px!important}.hero-v5 .hero-copy{left:22px!important;right:22px!important;top:42%!important;width:auto!important;transform:translateY(-50%)!important}.hero-v5 .hero-image-wrap img{object-position:center!important}.hero-v5 .image-vignette{background:linear-gradient(180deg,rgba(3,6,7,.78) 0%,rgba(3,6,7,.18) 35%,rgba(3,6,7,.70) 72%,rgba(3,6,7,.96) 100%)!important}}
@media(prefers-reduced-motion:reduce){.hero-v5 .hero-image-wrap img{animation:none}}

/* ===== V9: ORIGINAL SCENE, TRUE COVER ===== */
.hero-v5 .hero-image-wrap img{
  content:url("/assets/images/hero-photogrammetry.jpg")!important;
  object-fit:cover!important;
  object-position:center center!important;
  width:100vw!important;
  height:100%!important;
  max-width:none!important;
  transform:scale(1.001)!important;
  animation:heroCoverMotion 12s ease-in-out infinite!important;
}
@keyframes heroCoverMotion{
  0%,100%{transform:scale(1.001)}
  50%{transform:scale(1.035)}
}
.hero-v5 .hero-image-wrap{background:#030706!important}
.hero-v5 .image-vignette{
  background:
   linear-gradient(90deg,rgba(3,6,7,.90) 0%,rgba(3,6,7,.55) 22%,rgba(3,6,7,.08) 58%,rgba(3,6,7,.10) 100%),
   linear-gradient(0deg,rgba(3,6,7,.78) 0%,transparent 25%,rgba(3,6,7,.05) 70%,rgba(3,6,7,.58) 100%)!important;
}
@media(max-width:620px){
  .hero-v5 .hero-image-wrap img{object-position:center center!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-v5 .hero-image-wrap img{animation:none!important}
}

/* ===== V10: FORCE THE PHOTOGRAMMETRY SCENE AS THE ENTIRE HERO BACKGROUND ===== */
/* The image is attached directly to the Hero, so there is physically no right-side panel. */
.hero-v5{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  height:100vh!important;
  min-height:760px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#030706 url("/assets/images/hero-photogrammetry.jpg") center center / cover no-repeat!important;
}
.hero-v5 .hero-stage,
.hero-v5 .hero-image-wrap,
.hero-v5 .hero-image-wrap img{
  display:none!important;
}
.hero-v5 .hero-stage{pointer-events:none!important}
.hero-v5:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  background:
    linear-gradient(90deg,rgba(3,6,7,.94) 0%,rgba(3,6,7,.63) 24%,rgba(3,6,7,.10) 58%,rgba(3,6,7,.18) 100%),
    linear-gradient(0deg,rgba(3,6,7,.88) 0%,transparent 28%,rgba(3,6,7,.04) 72%,rgba(3,6,7,.70) 100%)!important;
}
.hero-v5:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:radial-gradient(circle at 55% 52%,rgba(57,210,123,.08),transparent 30%)!important;
}
.hero-v5 .hero-copy{
  position:absolute!important;
  z-index:20!important;
  left:7vw!important;
  top:50%!important;
  width:min(620px,46vw)!important;
  margin:0!important;
  transform:translateY(-46%)!important;
}
.hero-v5 .hero-grid{z-index:4!important}
.hero-v5 .mission-panel,.hero-v5 .telemetry{z-index:20!important}
.hero-v5 .hero-bottom{z-index:25!important}
@media(max-width:950px){
 .hero-v5{background-position:center center!important}
 .hero-v5 .hero-copy{left:5vw!important;width:min(620px,70vw)!important}
}
@media(max-width:620px){
 .hero-v5{height:100svh!important;min-height:820px!important;background-position:center center!important}
 .hero-v5 .hero-copy{left:22px!important;right:22px!important;top:42%!important;width:auto!important;transform:translateY(-50%)!important}
 .hero-v5:before{background:linear-gradient(180deg,rgba(3,6,7,.80) 0%,rgba(3,6,7,.15) 38%,rgba(3,6,7,.72) 72%,rgba(3,6,7,.96) 100%)!important}
}

/* ===== V11: HEADER PIU' ALTO E IMPORTANTE ===== */
.header{
  height:112px!important;
  padding:12px clamp(24px,4vw,65px)!important;
  gap:38px!important;
  background:linear-gradient(180deg,rgba(3,6,8,.98) 0%,rgba(3,6,8,.88) 72%,rgba(3,6,8,0) 100%)!important;
}
.header.scrolled{
  height:96px!important;
  background:rgba(3,6,8,.97)!important;
  backdrop-filter:blur(16px)!important;
}
.brand{
  width:235px!important;
  height:86px!important;
  flex-shrink:0!important;
}
.brand img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.header nav{
  gap:34px!important;
}
.header nav a{
  font-size:10px!important;
  letter-spacing:.10em!important;
  white-space:nowrap!important;
}
.head-btn{
  padding:15px 19px!important;
  font-size:9px!important;
  white-space:nowrap!important;
}
.hero-v5{
  padding-top:0!important;
}
@media(max-width:1100px){
  .header{gap:22px!important;padding-left:28px!important;padding-right:28px!important}
  .brand{width:205px!important}
  .header nav{gap:20px!important}
  .header nav a{font-size:8px!important}
}
@media(max-width:950px){
  .header{height:92px!important;padding:8px 22px!important}
  .header.scrolled{height:82px!important}
  .brand{width:190px!important;height:76px!important}
}
@media(max-width:620px){
  .header{height:82px!important;padding:7px 16px!important}
  .header.scrolled{height:76px!important}
  .brand{width:165px!important;height:68px!important}
}

/* ===== V12: CINEMATIC PHOTOGRAMMETRY MISSION ===== */
.hero-v5{position:relative!important;width:100vw!important;max-width:none!important;height:100svh!important;min-height:780px!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#030706!important}
.hero-v5 .hero-scene-bg{position:absolute;inset:0;background:url("/assets/images/hero-photogrammetry-clean.jpg") center/cover no-repeat;z-index:1;transform:scale(1.03);animation:sceneDrift 14s ease-in-out infinite}
.hero-v5:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(2,5,7,.95) 0%,rgba(2,5,7,.70) 26%,rgba(2,5,7,.14) 61%,rgba(2,5,7,.24) 100%),linear-gradient(0deg,rgba(2,5,7,.86),transparent 30%,rgba(2,5,7,.52));pointer-events:none}
.hero-v5 .hero-grid{z-index:3}.hero-v5 .hero-copy{position:absolute;z-index:30;left:7vw;top:51%;width:min(620px,46vw);margin:0;transform:translateY(-46%)}
.matrice-stage{position:absolute;inset:0;z-index:20;pointer-events:none}
.drone-flight{position:absolute;z-index:8;right:17%;top:13%;width:min(560px,39vw);filter:drop-shadow(0 25px 28px #000b);animation:droneFloat 5.5s ease-in-out infinite;transition:transform .18s ease-out}
.drone-flight img{display:block;width:100%;height:auto}
.radar{position:absolute;right:36%;top:20%;width:150px;height:150px;border:1px solid #55ef9144;border-radius:50%;box-shadow:0 0 0 28px #55ef9107,0 0 0 58px #55ef9104;animation:radarPulse 3.2s ease-in-out infinite}
.radar:before{content:"";position:absolute;left:50%;top:0;width:1px;height:100%;background:#55ef9130}.radar:after{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:#55ef9130}
.laser-beam{position:absolute;z-index:7;right:26%;top:34%;width:250px;height:330px;transform:perspective(400px) rotateX(9deg);filter:drop-shadow(0 0 12px #39ff80)}
.laser-beam:after{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;background:linear-gradient(180deg,#49ff8c44,#49ff8c08 78%,transparent);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);animation:beamPulse 2.4s ease-in-out infinite}
.laser-beam i{position:absolute;top:0;width:2px;height:100%;background:linear-gradient(#d9ffe6,#39ff80 35%,transparent);transform-origin:top;animation:beamSweep 2.7s ease-in-out infinite}.laser-beam i:nth-child(1){left:42%}.laser-beam i:nth-child(2){left:46%;animation-delay:.18s}.laser-beam i:nth-child(3){left:50%;animation-delay:.36s}.laser-beam i:nth-child(4){left:54%;animation-delay:.54s}.laser-beam i:nth-child(5){left:58%;animation-delay:.72s}
.scan-surface{position:absolute;z-index:6;right:9%;bottom:17%;width:55%;height:33%;border-top:1px solid #55ef9155;transform:perspective(420px) rotateX(63deg);background:repeating-linear-gradient(90deg,transparent 0 58px,#55ef9112 59px 60px),repeating-linear-gradient(0deg,transparent 0 42px,#55ef9110 43px 44px);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 85%,transparent)}
.capture-point{position:absolute;z-index:10;color:#70ff9f;font-size:24px;text-shadow:0 0 15px #39ff80;animation:captureBlink 1.8s infinite}.capture-point small{display:block;font-size:6px;letter-spacing:.15em;color:#e8fff0;margin-top:-5px}.cp1{right:48%;bottom:37%}.cp2{right:34%;bottom:27%;animation-delay:.4s}.cp3{right:58%;bottom:25%;animation-delay:.8s}.cp4{right:22%;bottom:39%;animation-delay:1.2s}
.mission-panel{position:absolute;right:6%;top:22%;z-index:30;width:215px;padding:18px;background:#06100dde;border:1px solid #55ef9166;backdrop-filter:blur(9px);box-shadow:0 15px 45px #0009;color:#fff}.mission-panel small{display:block;color:#74818a;font-size:7px;letter-spacing:.17em;margin-top:7px}.mission-panel b{display:block;color:#55ef91;font-size:12px;margin-top:3px}.mission-panel span{display:block;font-size:8px;color:#e2e8ea;margin-top:4px}.mission-panel em{position:absolute;right:18px;bottom:17px;color:#55ef91;font-size:8px;font-style:normal}.progress{height:4px;background:#26342e;margin-top:12px}.progress i{display:block;width:78%;height:100%;background:#55ef91;box-shadow:0 0 10px #55ef91;transition:width .12s linear}.telemetry{position:absolute;right:7%;bottom:17%;z-index:30;display:flex;gap:10px;align-items:center;background:#06100dd9;border:1px solid #27352f;padding:11px 14px;font-size:7px;color:#68767e;letter-spacing:.12em}.telemetry b{font-size:8px;color:#e2e8ea}
@keyframes sceneDrift{0%,100%{transform:scale(1.03) translate3d(0,0,0)}50%{transform:scale(1.055) translate3d(-8px,-5px,0)}}@keyframes droneFloat{0%,100%{transform:translate3d(0,0,0) rotateZ(0)}50%{transform:translate3d(-8px,-13px,0) rotateZ(-.7deg)}}@keyframes beamSweep{0%,100%{opacity:.35;transform:scaleY(.72)}50%{opacity:1;transform:scaleY(1)}}@keyframes beamPulse{0%,100%{opacity:.28}50%{opacity:.75}}@keyframes radarPulse{0%,100%{opacity:.3;transform:scale(.96)}50%{opacity:.9;transform:scale(1.03)}}@keyframes captureBlink{0%,100%{opacity:.25;transform:scale(.75)}50%{opacity:1;transform:scale(1.08)}}
@media(max-width:950px){.drone-flight{right:7%;top:17%;width:48vw}.laser-beam{right:18%;top:38%;transform:scale(.85)}.mission-panel{right:4%;top:24%;transform:scale(.85);transform-origin:top right}.telemetry{right:4%}.hero-v5 .hero-copy{left:5vw;width:60vw}}
@media(max-width:620px){.hero-v5{min-height:820px}.hero-v5 .hero-copy{left:22px;right:22px;top:43%;width:auto}.drone-flight{right:-12%;top:24%;width:78vw;opacity:.9}.laser-beam{right:3%;top:43%;width:220px;height:250px;transform:scale(.7)}.radar,.mission-panel,.telemetry{display:none}.scan-surface{right:-10%;bottom:20%;width:90%;height:30%}.capture-point{font-size:18px}.hero-v5:before{background:linear-gradient(180deg,rgba(2,5,7,.76),rgba(2,5,7,.16) 35%,rgba(2,5,7,.74) 76%,rgba(2,5,7,.96))}}
@media(prefers-reduced-motion:reduce){.hero-v5 .hero-scene-bg,.drone-flight,.laser-beam i,.laser-beam:after,.radar,.capture-point{animation:none}}

/* ===== V13: REAL DJI MATRICE 4E + MOVING TECH CURSORS ===== */
.drone-flight{
  width:min(620px,43vw)!important;
  right:14%!important;
  top:11%!important;
  filter:drop-shadow(0 28px 35px #000c)!important;
  z-index:16!important;
}
.drone-flight img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  mix-blend-mode:screen!important;
  filter:drop-shadow(0 0 18px #fff2)!important;
}
.tech-cursor{
  position:absolute;
  z-index:24;
  width:185px;
  padding:10px 12px 11px;
  background:rgba(4,10,9,.78);
  border:1px solid rgba(82,239,145,.35);
  box-shadow:0 0 22px rgba(43,220,121,.08);
  backdrop-filter:blur(7px);
  color:#cbd8d3;
  font-size:7px;
  letter-spacing:.12em;
  overflow:hidden;
}
.tech-cursor span{display:block;color:#6d7d78;font-size:6px;letter-spacing:.18em}
.tech-cursor b{font-family:"Space Grotesk";font-size:20px;line-height:1;color:#f0fff7;margin-right:4px}
.tech-cursor em{font-style:normal;color:#55ef91;font-size:6px}
.tech-cursor i{
  display:block;
  position:absolute;
  left:12px;
  right:12px;
  bottom:7px;
  height:2px;
  background:#1c3027;
}
.tech-cursor i:after{
  content:"";
  display:block;
  height:100%;
  width:35%;
  background:linear-gradient(90deg,#39d27b,#e7fff0);
  box-shadow:0 0 8px #39d27b;
  animation:cursorSweep 2.8s ease-in-out infinite;
}
.tc1{right:36%;top:18%;animation:cursorFloat1 5s ease-in-out infinite}
.tc2{right:11%;top:34%;width:155px;animation:cursorFloat2 6.5s ease-in-out infinite}
.tc3{right:31%;bottom:25%;width:165px;animation:cursorFloat3 5.8s ease-in-out infinite}
.tc4{right:7%;bottom:31%;width:145px;animation:cursorFloat2 7s ease-in-out infinite}
.tc2 i:after{animation-delay:.5s}.tc3 i:after{animation-delay:1s}.tc4 i:after{animation-delay:1.5s}
.flight-cursor{
  position:absolute;
  z-index:25;
  right:20%;
  top:48%;
  width:180px;
  height:34px;
  color:#75a48b;
  font-size:6px;
  letter-spacing:.14em;
  display:flex;
  align-items:center;
  gap:8px;
  opacity:.8;
  animation:flightCursor 4.5s ease-in-out infinite;
}
.flight-cursor span{
  width:9px;height:9px;border:1px solid #55ef91;border-radius:50%;
  box-shadow:0 0 10px #55ef91;position:relative;
}
.flight-cursor span:before,.flight-cursor span:after{content:"";position:absolute;background:#55ef91}
.flight-cursor span:before{width:24px;height:1px;left:-8px;top:3px}.flight-cursor span:after{height:24px;width:1px;top:-8px;left:3px}
.flight-cursor i{height:1px;flex:1;background:linear-gradient(90deg,#55ef91,transparent)}
.flight-cursor b{font-size:6px;font-weight:600}.flight-cursor em{font-style:normal;color:#55ef91;font-size:12px}
@keyframes cursorSweep{0%,100%{width:22%;transform:translateX(0)}50%{width:65%;transform:translateX(50%)}}
@keyframes cursorFloat1{0%,100%{transform:translate(0,0)}50%{transform:translate(-13px,8px)}}
@keyframes cursorFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,-9px)}}
@keyframes cursorFloat3{0%,100%{transform:translate(0,0)}50%{transform:translate(-9px,-7px)}}
@keyframes flightCursor{0%,100%{transform:translateX(0);opacity:.45}50%{transform:translateX(-34px);opacity:1}}
@media(max-width:950px){
 .drone-flight{right:7%!important;top:15%!important;width:53vw!important}
 .tc1{right:35%;top:20%}.tc2{right:4%;top:38%}.tc3{right:26%;bottom:23%}.tc4{right:4%;bottom:28%}
 .flight-cursor{right:18%;top:50%}
}
@media(max-width:620px){
 .drone-flight{right:-16%!important;top:24%!important;width:88vw!important;opacity:.92}
 .tech-cursor,.flight-cursor{display:none}
}
@media(prefers-reduced-motion:reduce){
 .tech-cursor,.flight-cursor{animation:none}.tech-cursor i:after{animation:none}
}

/* ===== V14: MENU PIU' GRANDE E LEGGIBILE ===== */
.header{
  min-height:118px!important;
  height:118px!important;
  padding:14px clamp(28px,4.5vw,72px)!important;
  gap:42px!important;
}
.header nav{
  gap:42px!important;
}
.header nav a{
  font-size:13px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  font-weight:700!important;
  padding:12px 0!important;
}
.head-btn{
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.07em!important;
  padding:17px 22px!important;
}
.brand{
  width:235px!important;
  height:90px!important;
}
.header nav a:after{
  height:2px!important;
}
@media(max-width:1250px){
  .header{gap:28px!important;padding-left:28px!important;padding-right:28px!important}
  .header nav{gap:25px!important}
  .header nav a{font-size:11px!important}
  .head-btn{font-size:10px!important;padding:15px 17px!important}
}
@media(max-width:950px){
  .header{height:96px!important;min-height:96px!important;padding:9px 22px!important}
  .brand{width:195px!important;height:78px!important}
}
@media(max-width:620px){
  .header{height:82px!important;min-height:82px!important;padding:7px 16px!important}
  .brand{width:165px!important;height:68px!important}
}

/* ===== V15: PULSANTI MENU 2X ===== */
.header{
  min-height:136px!important;
  height:136px!important;
  padding:16px clamp(30px,4.5vw,72px)!important;
  gap:48px!important;
}
.header nav{
  gap:48px!important;
  align-items:center!important;
}
.header nav a{
  font-size:17px!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  line-height:1.15!important;
  padding:16px 0!important;
  min-height:20px!important;
}
.head-btn{
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:.065em!important;
  padding:21px 28px!important;
  min-height:58px!important;
}
.brand{
  width:245px!important;
  height:100px!important;
}
@media(max-width:1350px){
  .header{gap:30px!important}
  .header nav{gap:28px!important}
  .header nav a{font-size:14px!important}
  .head-btn{font-size:12px!important;padding:18px 22px!important}
}
@media(max-width:1100px){
  .header{height:112px!important;min-height:112px!important;padding:12px 26px!important}
  .brand{width:210px!important;height:86px!important}
  .header nav{gap:20px!important}
  .header nav a{font-size:11px!important}
  .head-btn{font-size:10px!important;padding:15px 18px!important;min-height:48px!important}
}
@media(max-width:950px){
  .header{height:96px!important;min-height:96px!important;padding:9px 22px!important}
  .brand{width:195px!important;height:78px!important}
}
@media(max-width:620px){
  .header{height:82px!important;min-height:82px!important;padding:7px 16px!important}
  .brand{width:165px!important;height:68px!important}
}

/* =========================================================
   V16 — MENU REALE: dimensioni aumentate sui selettori corretti
   ========================================================= */
.topbar{
  height:126px!important;
  min-height:126px!important;
  padding:14px clamp(24px,4vw,68px)!important;
  gap:38px!important;
}
.topbar .brand{
  width:235px!important;
  height:94px!important;
  flex:0 0 235px!important;
}
.mainnav{
  gap:30px!important;
  align-items:center!important;
}
.mainnav a{
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.085em!important;
  padding:17px 10px!important;
  line-height:1.2!important;
}
.mainnav a:after{
  left:10px!important;
  right:10px!important;
  bottom:5px!important;
  height:2px!important;
}
.topbar .headbtn{
  padding:19px 23px!important;
  min-height:56px!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  border-width:1px!important;
}
@media(max-width:1450px){
  .topbar{gap:25px!important;padding-left:25px!important;padding-right:25px!important}
  .topbar .brand{width:215px!important;flex-basis:215px!important}
  .mainnav{gap:20px!important}
  .mainnav a{font-size:11px!important;padding:15px 7px!important}
  .topbar .headbtn{font-size:10px!important;padding:17px 19px!important}
}
@media(max-width:1100px){
  .topbar{height:108px!important;min-height:108px!important}
  .topbar .brand{width:195px!important;height:82px!important;flex-basis:195px!important}
  .mainnav{gap:13px!important}
  .mainnav a{font-size:9px!important;padding:13px 5px!important}
  .topbar .headbtn{font-size:9px!important;padding:15px 16px!important}
}
@media(max-width:950px){
  .topbar{height:92px!important;min-height:92px!important;padding:8px 18px!important}
  .topbar .brand{width:180px!important;height:72px!important;flex-basis:180px!important}
}
@media(max-width:620px){
  .topbar{height:82px!important;min-height:82px!important;padding:7px 16px!important}
  .topbar .brand{width:165px!important;height:68px!important;flex-basis:165px!important}
}

/* ===== V17: DYNAMIC CLOSING "NUMERI CHE PARLANO" ===== */
.wow-proof{position:relative;min-height:920px;overflow:hidden;padding:120px 5vw 100px;background:#030608;border-top:1px solid #17221d;border-bottom:1px solid #17221d}
.wow-proof-bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 52%,rgba(39,214,117,.12),transparent 23%),radial-gradient(circle at 50% 52%,rgba(255,255,255,.035),transparent 42%)}
.wow-proof-bg:before{content:"";position:absolute;inset:-20%;background-image:linear-gradient(rgba(80,255,154,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(80,255,154,.08) 1px,transparent 1px);background-size:55px 55px;transform:perspective(700px) rotateX(65deg) translateY(34%);opacity:.22}
.wow-proof-inner{max-width:1320px;margin:auto;position:relative;z-index:2}
.wow-proof-head{text-align:center;position:relative;z-index:8}
.wow-proof-head small{font-size:8px;letter-spacing:.24em;color:#4c9a70;font-weight:900}
.wow-proof-head h2{font-family:"Space Grotesk";font-size:clamp(62px,8vw,118px);line-height:.82;letter-spacing:-.065em;margin:18px 0}
.wow-proof-head h2 span{color:#66737b}
.wow-proof-head p{max-width:520px;margin:25px auto 0;color:#77848c;font-size:13px;line-height:1.7}
.wow-orbit{position:relative;width:min(720px,72vw);height:600px;margin:30px auto 0}
.orbit-ring{position:absolute;border:1px solid rgba(79,231,139,.18);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.ring-a{width:78%;height:78%}.ring-b{width:58%;height:58%;border-color:rgba(255,255,255,.10)}.ring-c{width:36%;height:36%;border-color:rgba(79,231,139,.28)}
.orbit-sweep{position:absolute;left:50%;top:50%;width:46%;height:2px;transform-origin:left center;background:linear-gradient(90deg,rgba(57,210,123,0),#39d27b,rgba(57,210,123,0));box-shadow:0 0 16px #39d27b;animation:orbitSweep 4.2s linear infinite}
.orbit-center{position:absolute;left:50%;top:50%;width:120px;height:120px;transform:translate(-50%,-50%);border:1px solid rgba(57,210,123,.55);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(3,9,7,.82);box-shadow:0 0 45px rgba(57,210,123,.12)}
.orbit-center:before,.orbit-center:after{content:"";position:absolute;background:#39d27b}.orbit-center:before{width:180px;height:1px;opacity:.18}.orbit-center:after{height:180px;width:1px;opacity:.18}
.orbit-center span{font-family:"Space Grotesk";font-size:28px;color:#f4fff8;font-weight:700}.orbit-center b{font-size:6px;letter-spacing:.25em;color:#4ddd89;margin-top:4px}
.metric-card{position:absolute;width:205px;padding:13px 15px;background:rgba(5,11,10,.86);border:1px solid rgba(57,210,123,.25);backdrop-filter:blur(9px);box-shadow:0 12px 30px rgba(0,0,0,.25);text-align:left}
.metric-card i{display:block;font-style:normal;font-size:6px;letter-spacing:.2em;color:#65746d}.metric-card strong{font-family:"Space Grotesk";font-size:35px;line-height:1;color:#effff5;margin-right:7px}.metric-card span{display:block;margin-top:6px;font-size:6px;letter-spacing:.13em;color:#91a19a}.metric-card em{position:absolute;right:12px;top:13px;font-style:normal;font-size:6px;color:#39d27b}
.metric-1{left:0;top:26%;animation:metricFloatA 5s ease-in-out infinite}.metric-2{right:0;top:16%;animation:metricFloatB 6s ease-in-out infinite}.metric-3{right:2%;bottom:22%;animation:metricFloatA 5.7s ease-in-out infinite}.metric-4{left:2%;bottom:14%;animation:metricFloatB 6.3s ease-in-out infinite}
.wow-stats-image{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);width:min(950px,92vw);opacity:.18;pointer-events:none;mix-blend-mode:screen}.wow-stats-image img{width:100%;height:auto;display:block}
@keyframes orbitSweep{to{transform:rotate(360deg)}}@keyframes metricFloatA{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-12px,0)}}@keyframes metricFloatB{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(10px,8px,0)}}
@media(max-width:800px){.wow-proof{min-height:850px;padding:90px 22px 70px}.wow-orbit{width:94vw;height:600px}.metric-card{width:165px}.metric-card strong{font-size:28px}.metric-1{left:-5px}.metric-2{right:-5px}.metric-3{right:-5px}.metric-4{left:-5px}.wow-stats-image{bottom:30px;opacity:.13}}
@media(max-width:620px){.wow-proof{min-height:780px}.wow-proof-head h2{font-size:58px}.wow-orbit{width:100%;height:500px}.orbit-center{width:92px;height:92px}.orbit-center span{font-size:22px}.ring-a{width:74%;height:74%}.ring-b{width:54%;height:54%}.ring-c{width:34%;height:34%}.metric-card{width:140px;padding:10px}.metric-card strong{font-size:24px}.metric-card span{font-size:5px}.metric-card em{display:none}.metric-1{top:22%;left:-8px}.metric-2{top:17%;right:-8px}.metric-3{bottom:19%;right:-8px}.metric-4{bottom:12%;left:-8px}}
@media(prefers-reduced-motion:reduce){.orbit-sweep,.metric-card{animation:none}}

/* ===== V18: SEO CONTENT — VISUAL MATCH, NO GRAPHIC DISRUPTION ===== */
.seo-locations{
  position:relative;overflow:hidden;padding:120px 5vw 95px;
  background:#05080a;border-top:1px solid #17221d;
}
.seo-locations:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 82% 50%,rgba(39,214,117,.07),transparent 32%);
}
.seo-location-inner{max-width:1320px;margin:auto;position:relative;z-index:2}
.seo-location-copy{max-width:720px}
.seo-location-copy small{font-size:8px;letter-spacing:.23em;color:#4c9a70;font-weight:900}
.seo-location-copy h2{font-family:"Space Grotesk";font-size:clamp(54px,6vw,88px);line-height:.86;letter-spacing:-.055em;margin:18px 0 25px}
.seo-location-copy h2 span{color:#65727a}
.seo-location-copy p{max-width:760px;color:#87949b;font-size:14px;line-height:1.8;margin:0}
.seo-location-copy p strong{color:#e5eee9;font-weight:700}
.seo-location-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:58px;background:#1b2923;border:1px solid #1b2923}
.seo-location-card{min-height:155px;padding:22px;background:rgba(5,11,10,.86);transition:transform .35s ease,background .35s ease,border-color .35s ease}
.seo-location-card:hover{transform:translateY(-7px);background:#09120f;border-color:#3bd47d}
.seo-location-card i{font-style:normal;font-size:7px;color:#4c9a70;letter-spacing:.16em}
.seo-location-card b{display:block;font-size:12px;letter-spacing:.08em;color:#effff6;margin:28px 0 9px}
.seo-location-card span{display:block;color:#73817a;font-size:10px;line-height:1.55}
.seo-area-strip{display:flex;justify-content:space-between;gap:20px;margin-top:1px;padding:18px 20px;background:#07100d;border:1px solid #1b2923;color:#607068;font-size:7px;letter-spacing:.14em}
.seo-area-strip b{color:#dce9e2}
@media(max-width:900px){.seo-location-grid{grid-template-columns:repeat(2,1fr)}.seo-area-strip{flex-wrap:wrap}.seo-area-strip span{width:calc(50% - 10px)}}
@media(max-width:620px){.seo-locations{padding:85px 22px 70px}.seo-location-copy h2{font-size:52px}.seo-location-grid{grid-template-columns:1fr;margin-top:40px}.seo-location-card{min-height:125px}.seo-area-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px}.seo-area-strip span{width:auto}}

/* =========================================================
   V19 — SEO COPY DINAMICO / EDITORIAL TECH
   Testo sempre presente nel DOM per SEO; animazioni solo visive.
   ========================================================= */
.seo-locations{
  position:relative;overflow:hidden;padding:135px 5vw 105px;
  background:#040709;border-top:1px solid #18251f;
}
.seo-location-gridbg{
  position:absolute;inset:-20%;pointer-events:none;opacity:.20;
  background-image:linear-gradient(rgba(57,210,123,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(57,210,123,.06) 1px,transparent 1px);
  background-size:70px 70px;transform:perspective(850px) rotateX(64deg) translateY(28%);
}
.seo-location-inner{max-width:1320px;margin:auto;position:relative;z-index:2}
.seo-location-copy{max-width:980px}
.seo-location-copy small,.seo-detail-intro small,.seo-cta-panel small{font-size:8px;letter-spacing:.23em;color:#4c9a70;font-weight:900}
.seo-location-copy h2{font-family:"Space Grotesk";font-size:clamp(55px,6.5vw,94px);line-height:.84;letter-spacing:-.06em;margin:18px 0 34px}
.seo-location-copy h2 span,.seo-detail-intro h3 span,.seo-cta-panel h3 span{color:#65737b}
.seo-reveal{max-width:850px;position:relative;padding-left:28px}
.seo-reveal:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2px;background:linear-gradient(#39d27b,transparent);transform:scaleY(0);transform-origin:top;animation:seoLineIn 1.2s .2s ease-out forwards}
.seo-reveal p,.seo-detail-copy p{color:#849197;font-size:14px;line-height:1.85;margin:0 0 17px;opacity:0;transform:translateY(18px);animation:seoTextIn .9s .45s ease-out forwards}
.seo-reveal p:nth-child(2){animation-delay:.65s}
.seo-reveal strong,.seo-detail-copy strong{color:#edf6f1}
.seo-techline{display:flex;align-items:center;gap:16px;margin:55px 0 65px;color:#5b7167;font-size:7px;letter-spacing:.2em;font-weight:800}
.seo-techline i{display:block;height:1px;flex:1;max-width:180px;background:linear-gradient(90deg,#2bbd6b,transparent)}
.seo-detail{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start;padding:55px 0;border-top:1px solid #17241e;border-bottom:1px solid #17241e}
.seo-detail-intro h3{font-family:"Space Grotesk";font-size:clamp(42px,5vw,70px);line-height:.88;letter-spacing:-.05em;margin:18px 0}
.seo-detail-copy p{margin-bottom:20px}
.seo-cta-panel{
  position:relative;display:grid;grid-template-columns:1fr 1.1fr auto;gap:42px;align-items:center;
  margin-top:65px;padding:34px 36px;background:linear-gradient(105deg,rgba(9,23,17,.94),rgba(5,10,11,.90));
  border:1px solid rgba(57,210,123,.25);overflow:hidden;
}
.seo-cta-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 50%,rgba(57,210,123,.12),transparent 30%);pointer-events:none}
.seo-cta-scan{position:absolute;top:0;bottom:0;width:1px;background:#39d27b;box-shadow:0 0 18px #39d27b;animation:seoScan 4.5s ease-in-out infinite;opacity:.6}
.seo-cta-panel h3{font-family:"Space Grotesk";font-size:clamp(34px,4vw,56px);line-height:.85;letter-spacing:-.045em;margin:12px 0 0}
.seo-cta-panel p{font-size:11px;line-height:1.7;color:#82908b;margin:0;position:relative}
.seo-cta-button{position:relative;display:inline-flex;align-items:center;gap:15px;padding:17px 20px;border:1px solid #3b7658;color:#eef8f2;text-decoration:none;font-size:8px;font-weight:900;letter-spacing:.1em;white-space:nowrap;transition:.3s}
.seo-cta-button:hover{background:#dfece5;color:#06100b;border-color:#dfece5;transform:translateY(-3px)}
.seo-cta-button span{font-size:14px}
.seo-area-strip{display:flex;justify-content:space-between;gap:20px;margin-top:1px;padding:18px 20px;background:#07100d;border:1px solid #1b2923;color:#607068;font-size:7px;letter-spacing:.14em}
.seo-area-strip b{color:#dce9e2}
@keyframes seoLineIn{to{transform:scaleY(1)}}@keyframes seoTextIn{to{opacity:1;transform:translateY(0)}}@keyframes seoScan{0%,100%{left:-1%}50%{left:101%}}
@media(max-width:900px){
 .seo-detail{grid-template-columns:1fr;gap:15px}.seo-cta-panel{grid-template-columns:1fr;gap:25px}
 .seo-area-strip{flex-wrap:wrap}.seo-area-strip span{width:calc(50% - 10px)}
}
@media(max-width:620px){
 .seo-locations{padding:90px 22px 70px}.seo-location-copy h2{font-size:52px}.seo-reveal{padding-left:20px}
 .seo-reveal p,.seo-detail-copy p{font-size:13px;line-height:1.75}.seo-techline{gap:8px;margin:42px 0}
 .seo-detail{padding:40px 0}.seo-cta-panel{padding:26px 20px}.seo-area-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px}
 .seo-area-strip span{width:auto}
}
@media(prefers-reduced-motion:reduce){
 .seo-reveal:before,.seo-reveal p,.seo-cta-scan{animation:none;opacity:1;transform:none}
}

/* ===== V20: SEO / SERVICES IMMEDIATELY UNDER HERO ===== */
.seo-locations{padding-top:105px!important}
@media(max-width:620px){.seo-locations{padding-top:72px!important}}
/* =========================================================
   SERVICES V2 — TECHNICAL MISSION GRID
   ========================================================= */

.services-v2{
  position:relative;
  overflow:hidden;
  background:#eef0ef;
  color:#07090b;
  padding:135px 5vw 150px;
}

.services-v2:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 30%,rgba(57,210,123,.10),transparent 25%),
    linear-gradient(135deg,transparent 70%,rgba(227,74,69,.035));
}

.services-v2-head{
  position:relative;
  z-index:2;
  max-width:1320px;
  margin:0 auto 70px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:50px;
}

.services-v2-head small{
  display:block;
  font-size:8px;
  font-weight:900;
  letter-spacing:.22em;
  color:#65716f;
}

.services-v2-head h2{
  font-family:"Space Grotesk";
  font-size:clamp(58px,7vw,105px);
  line-height:.84;
  letter-spacing:-.065em;
  margin:18px 0 0;
}

.services-v2-head h2 span{
  color:#68757e;
}

.services-v2-head>p{
  max-width:330px;
  margin:0 0 5px;
  color:#68747a;
  font-size:12px;
  line-height:1.8;
}

.services-v2-grid{
  position:relative;
  z-index:2;
  max-width:1320px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:#c7cdca;
  border:1px solid #c7cdca;
}

.service-v2-card{
  min-height:390px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:28px;
  background:#eef0ef;
  transition:
    transform .45s cubic-bezier(.2,.7,.2,1),
    background .35s ease,
    color .35s ease;
}

.service-v2-card:hover{
  background:#080c0e;
  color:#eef4f1;
  transform:translateY(-8px);
  z-index:3;
}

.service-v2-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #d0d5d3;
  padding-bottom:16px;
  transition:border-color .35s;
}

.service-v2-card:hover .service-v2-top{
  border-color:#26342e;
}

.service-v2-top span{
  font-family:"Space Grotesk";
  font-size:11px;
  font-weight:700;
  color:#39a967;
}

.service-v2-top b{
  font-size:6px;
  letter-spacing:.18em;
  color:#7a8588;
}

.service-v2-icon{
  position:absolute;
  right:28px;
  top:82px;
  width:75px;
  height:55px;
  opacity:.65;
}

.service-v2-icon i{
  position:absolute;
  display:block;
  width:44px;
  height:1px;
  background:#87918f;
  transform-origin:left center;
  transition:
    background .35s,
    box-shadow .35s,
    transform .35s;
}

.service-v2-icon i:nth-child(1){
  left:5px;
  top:20px;
  transform:rotate(20deg);
}

.service-v2-icon i:nth-child(2){
  left:22px;
  top:20px;
  transform:rotate(-20deg);
}

.service-v2-icon i:nth-child(3){
  left:14px;
  top:34px;
  width:48px;
  transform:rotate(0);
}

.service-v2-card:hover .service-v2-icon i{
  background:#55ef91;
  box-shadow:0 0 8px #39d27b;
}

.service-v2-content{
  margin-top:105px;
  max-width:330px;
}

.service-v2-content h3{
  font-family:"Space Grotesk";
  font-size:32px;
  line-height:.95;
  letter-spacing:-.04em;
  margin:0 0 17px;
}

.service-v2-content p{
  max-width:310px;
  color:#69757a;
  font-size:11px;
  line-height:1.75;
  margin:0;
  transition:color .35s;
}

.service-v2-card:hover .service-v2-content p{
  color:#879590;
}

.service-v2-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:auto;
  padding-top:25px;
  border-top:1px solid #d0d5d3;
  transition:border-color .35s;
}

.service-v2-card:hover .service-v2-bottom{
  border-color:#26342e;
}

.service-v2-bottom span{
  font-size:7px;
  font-weight:900;
  letter-spacing:.16em;
  color:#68747a;
}

.service-v2-bottom strong{
  font-size:18px;
  font-weight:400;
  transition:transform .35s,color .35s;
}

.service-v2-card:hover .service-v2-bottom strong{
  color:#55ef91;
  transform:translate(4px,-4px);
}

.service-v2-scan{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,#39d27b,#fff,#e34a45);
  transform:translateX(-101%);
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}

.service-v2-card:hover .service-v2-scan{
  transform:translateX(0);
}

@media(max-width:950px){

  .services-v2{
    padding:100px 22px 110px;
  }

  .services-v2-head{
    display:block;
    margin-bottom:50px;
  }

  .services-v2-head>p{
    margin-top:25px;
  }

  .services-v2-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .service-v2-card{
    min-height:350px;
  }
}

@media(max-width:620px){

  .services-v2{
    padding:85px 22px 90px;
  }

  .services-v2-head h2{
    font-size:52px;
  }

  .services-v2-grid{
    grid-template-columns:1fr;
  }

  .service-v2-card{
    min-height:330px;
    padding:24px;
  }

  .service-v2-content{
    margin-top:90px;
  }

  .service-v2-content h3{
    font-size:29px;
  }
}

@media(prefers-reduced-motion:reduce){

  .service-v2-card{
    transition:none;
  }

  .service-v2-scan{
    transition:none;
  }

}
/* =========================================================
   THERMAL V2 — INFRARED VISION
   ========================================================= */

.thermal-v2{
  position:relative;
  min-height:720px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  overflow:hidden;
  background:#05080a;
  border-top:1px solid #18221f;
  border-bottom:1px solid #18221f;
}

.thermal-v2-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 28% 50%,rgba(57,210,123,.10),transparent 30%),
    radial-gradient(circle at 78% 40%,rgba(227,74,69,.06),transparent 25%);
}

.thermal-v2-image{
  position:relative;
  min-height:720px;
  overflow:hidden;
  background:
    url("https://i0.wp.com/www.la-droneservice.com/wp-content/uploads/2023/09/termografia-drone.jpg?ssl=1&w=1200")
    center/cover no-repeat;
  filter:saturate(.75) contrast(1.08);
}

.thermal-v2-image:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 55%,#05080a 100%),
    linear-gradient(0deg,#05080a55,transparent 35%,#05080a55);
  z-index:2;
}

.thermal-v2-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      0deg,
      transparent 0 48px,
      rgba(85,239,145,.09) 49px,
      transparent 50px
    );
  opacity:.25;
  z-index:3;
  animation:thermalGrid 7s linear infinite;
}

.thermal-v2-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 58% 46%,rgba(57,210,123,.18),transparent 17%),
    linear-gradient(90deg,rgba(57,210,123,.04),transparent 65%);
  mix-blend-mode:screen;
  z-index:4;
}

.thermal-v2-copy{
  position:relative;
  z-index:8;
  padding:100px 7vw 100px 55px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.thermal-v2-copy>small{
  font-size:8px;
  letter-spacing:.23em;
  color:#4c9a70;
  font-weight:900;
}

.thermal-v2-title{
  display:flex;
  align-items:flex-end;
  gap:12px;
  margin:28px 0 18px;
}

.thermal-v2-title span{
  font-family:"Space Grotesk";
  font-size:14px;
  color:#55ef91;
  letter-spacing:.15em;
  font-weight:700;
}

.thermal-v2-title b{
  font-size:7px;
  line-height:1.35;
  letter-spacing:.17em;
  color:#65736d;
}

.thermal-v2-copy h2{
  font-family:"Space Grotesk";
  font-size:clamp(52px,5.5vw,82px);
  line-height:.87;
  letter-spacing:-.06em;
  margin:0 0 28px;
}

.thermal-v2-copy h2 span{
  color:#68757e;
}

.thermal-v2-copy>p{
  max-width:510px;
  color:#829098;
  font-size:13px;
  line-height:1.85;
  margin:0;
}

.thermal-v2-data{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:540px;
  margin-top:38px;
  border-top:1px solid #202c28;
  border-bottom:1px solid #202c28;
}

.thermal-v2-data div{
  padding:18px 14px 18px 0;
  border-right:1px solid #202c28;
}

.thermal-v2-data div:last-child{
  border:0;
  padding-left:14px;
}

.thermal-v2-data div:nth-child(2){
  padding-left:14px;
}

.thermal-v2-data b{
  display:block;
  font-family:"Space Grotesk";
  font-size:23px;
  color:#effff5;
}

.thermal-v2-data span{
  display:block;
  margin-top:6px;
  font-size:6px;
  letter-spacing:.16em;
  color:#65736d;
}

.thermal-v2-button{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  width:220px;
  margin-top:32px;
  padding:15px 17px;
  border:1px solid #315640;
  color:#eaf5ef;
  font-size:7px;
  font-weight:900;
  letter-spacing:.13em;
  transition:.3s;
}

.thermal-v2-button span{
  font-size:15px;
  color:#55ef91;
  transition:.3s;
}

.thermal-v2-button:hover{
  background:#eaf2ee;
  color:#05080a;
  transform:translateY(-3px);
}

.thermal-v2-button:hover span{
  color:#05080a;
  transform:translate(3px,-3px);
}

/* TECH LABELS */

.thermal-v2-label{
  position:absolute;
  z-index:8;
  min-width:120px;
  padding:9px 11px;
  background:rgba(3,9,7,.78);
  border:1px solid rgba(85,239,145,.42);
  backdrop-filter:blur(7px);
  color:#dfffee;
  box-shadow:0 0 20px rgba(57,210,123,.08);
}

.thermal-v2-label span{
  display:block;
  font-size:6px;
  letter-spacing:.18em;
  color:#708078;
}

.thermal-v2-label b{
  display:block;
  margin-top:3px;
  font-family:"Space Grotesk";
  font-size:15px;
}

.thermal-v2-label i{
  display:block;
  width:100%;
  height:1px;
  margin-top:7px;
  background:#39d27b;
  box-shadow:0 0 7px #39d27b;
}

.thermal-label-1{
  left:54%;
  top:28%;
  animation:thermalFloat1 5s ease-in-out infinite;
}

.thermal-label-2{
  left:30%;
  bottom:27%;
  animation:thermalFloat2 6s ease-in-out infinite;
}

.thermal-v2-crosshair{
  position:absolute;
  z-index:8;
  left:63%;
  top:51%;
  width:54px;
  height:54px;
  border:1px solid rgba(85,239,145,.65);
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 20px rgba(57,210,123,.15);
  animation:thermalTarget 2.8s ease-in-out infinite;
}

.thermal-v2-crosshair:before,
.thermal-v2-crosshair:after{
  content:"";
  position:absolute;
  background:#55ef91;
}

.thermal-v2-crosshair:before{
  width:72px;
  height:1px;
  left:-10px;
  top:26px;
}

.thermal-v2-crosshair:after{
  width:1px;
  height:72px;
  top:-10px;
  left:26px;
}

.thermal-v2-crosshair span{
  position:absolute;
  width:7px;
  height:7px;
  border:1px solid #dffff0;
  border-radius:50%;
  left:23px;
  top:23px;
}

.thermal-v2-crosshair i{
  position:absolute;
  width:95px;
  height:1px;
  left:48px;
  top:26px;
  background:linear-gradient(90deg,#55ef91,transparent);
}

.thermal-v2-scale{
  position:absolute;
  z-index:8;
  right:30px;
  top:25%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  font-size:6px;
  color:#9aaba3;
  letter-spacing:.1em;
}

.thermal-v2-scale i{
  display:block;
  width:3px;
  height:42px;
  background:linear-gradient(#e34a45,#fff,#39d27b);
  box-shadow:0 0 8px rgba(57,210,123,.3);
}

@keyframes thermalGrid{
  from{transform:translateY(0)}
  to{transform:translateY(50px)}
}

@keyframes thermalFloat1{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(-10px,8px)}
}

@keyframes thermalFloat2{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(9px,-10px)}
}

@keyframes thermalTarget{
  0%,100%{transform:translate(-50%,-50%) scale(.88);opacity:.55}
  50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}
}

@media(max-width:950px){

  .thermal-v2{
    grid-template-columns:1fr;
  }

  .thermal-v2-image{
    min-height:520px;
  }

  .thermal-v2-copy{
    padding:75px 40px 90px;
  }

}

@media(max-width:620px){

  .thermal-v2-image{
    min-height:390px;
  }

  .thermal-v2-copy{
    padding:70px 22px 80px;
  }

  .thermal-v2-copy h2{
    font-size:52px;
  }

  .thermal-v2-data{
    grid-template-columns:1fr 1fr;
  }

  .thermal-v2-data div:nth-child(3){
    grid-column:1/-1;
    border-top:1px solid #202c28;
    border-right:0;
    padding-left:0;
  }

  .thermal-v2-label{
    transform:scale(.8);
  }

  .thermal-label-1{
    left:50%;
    top:22%;
  }

  .thermal-label-2{
    left:15%;
    bottom:20%;
  }

  .thermal-v2-scale{
    right:14px;
  }

}

@media(prefers-reduced-motion:reduce){

  .thermal-v2-image:after,
  .thermal-v2-label,
  .thermal-v2-crosshair{
    animation:none;
  }

}
/* =========================================================
   NUMERI CHE PARLANO — LIVE DATA MOTION
   ========================================================= */

.wow-proof{
  isolation:isolate;
}

.wow-proof-head,
.wow-orbit,
.wow-stats-image{
  transition:opacity .8s ease,transform .8s ease;
}

/* Stato iniziale */

.wow-proof:not(.numbers-active) .wow-proof-head{
  opacity:.45;
  transform:translateY(25px);
}

.wow-proof:not(.numbers-active) .wow-orbit{
  opacity:.55;
  transform:scale(.96);
}

.wow-proof:not(.numbers-active) .wow-stats-image{
  opacity:0;
}

/* Stato attivo */

.wow-proof.numbers-active .wow-proof-head{
  opacity:1;
  transform:none;
}

.wow-proof.numbers-active .wow-orbit{
  opacity:1;
  transform:scale(1);
}

.wow-proof.numbers-active .wow-stats-image{
  opacity:.18;
}

/* Numeri */

.metric-card strong{
  display:inline-block;
  min-width:75px;
  font-variant-numeric:tabular-nums;
  text-shadow:0 0 18px rgba(57,210,123,.08);
}

.metric-card{
  transition:
    border-color .4s ease,
    box-shadow .4s ease,
    background .4s ease;
}

.wow-proof.numbers-active .metric-card{
  border-color:rgba(57,210,123,.34);
}

.wow-proof.numbers-active .metric-card:hover{
  border-color:#55ef91;
  box-shadow:
    0 0 25px rgba(57,210,123,.10),
    0 18px 40px rgba(0,0,0,.30);
}

/* Stato LIVE */

.metric-card em{
  transition:opacity .3s ease;
}

.wow-proof.numbers-active .metric-card em{
  text-shadow:0 0 8px rgba(57,210,123,.5);
}

/* Punto centrale */

.orbit-center{
  transition:
    box-shadow .8s ease,
    border-color .8s ease,
    transform .8s ease;
}

.wow-proof.numbers-active .orbit-center{
  border-color:rgba(85,239,145,.85);
  box-shadow:
    0 0 35px rgba(57,210,123,.16),
    0 0 80px rgba(57,210,123,.08);
}

/* Sweep più evidente quando la sezione è attiva */

.wow-proof.numbers-active .orbit-sweep{
  box-shadow:
    0 0 12px #39d27b,
    0 0 28px rgba(57,210,123,.5);
}

/* Linee dell'orbita */

.wow-proof.numbers-active .orbit-ring{
  transition:border-color .8s ease;
}

.wow-proof.numbers-active .ring-a{
  border-color:rgba(79,231,139,.28);
}

.wow-proof.numbers-active .ring-c{
  border-color:rgba(79,231,139,.45);
}

@media(max-width:620px){

  .metric-card strong{
    min-width:55px;
  }

}
/* =========================================================
   NUMERI CHE PARLANO — CONTRASTO FINALE
   ========================================================= */

.wow-proof .metric-card strong{
  color:#f1fff6!important;
  text-shadow:0 0 18px rgba(57,210,123,.12);
}

.wow-proof .metric-card i{
  color:#71817a!important;
}

.wow-proof .metric-card span{
  color:#82928a!important;
}

.wow-proof .metric-card em{
  color:#55ef91!important;
}

.wow-proof .orbit-center span{
  color:#f1fff6!important;
}

.wow-proof .orbit-center b{
  color:#55ef91!important;
}
/* =========================================================
   SECTION 03 — TERMOGRAFIA / THERMAL SOLAR FIELD
   CSS VISUAL — NESSUNA IMMAGINE
   ========================================================= */

.thermal-section{
  min-height:680px;
  display:grid;
  grid-template-columns:1.45fr 1fr;
  background:#030607;
  overflow:hidden;
  border-top:1px solid #17221e;
  border-bottom:1px solid #17221e;
}

.thermal-visual{
  position:relative;
  min-height:680px;
  overflow:hidden;
  background:
    radial-gradient(circle at 52% 48%,#5a008c 0%,#240044 24%,#080018 54%,#020607 100%);
}

/* atmosfera infrarossa */

.thermal-sky{
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 45% 42%,rgba(255,0,110,.22),transparent 25%),
    radial-gradient(ellipse at 70% 65%,rgba(255,90,0,.18),transparent 28%),
    linear-gradient(180deg,#050009 0%,#16002e 42%,#08000f 100%);
  z-index:1;
}

/* griglia tecnica */

.thermal-grid{
  position:absolute;
  inset:-20%;
  z-index:2;
  opacity:.28;
  background-image:
    linear-gradient(rgba(92,255,172,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,255,172,.08) 1px,transparent 1px);
  background-size:52px 52px;
  transform:
    perspective(500px)
    rotateX(63deg)
    translateY(22%);
  transform-origin:center bottom;
}

/* campo fotovoltaico */

.solar-field{
  position:absolute;
  z-index:4;
  left:2%;
  right:-8%;
  bottom:-8%;
  height:76%;
  transform:
    perspective(700px)
    rotateX(57deg)
    rotateZ(-8deg)
    skewX(-5deg);
  transform-origin:center bottom;
}

.solar-row{
  position:absolute;
  left:0;
  right:0;
  height:65px;
  display:flex;
  gap:5px;
}

.solar-row i{
  flex:1;
  display:block;
  min-width:55px;
  border:1px solid rgba(121,0,255,.8);
  background:
    linear-gradient(
      105deg,
      #26005c 0%,
      #6a008f 22%,
      #e30070 43%,
      #ff3500 61%,
      #ffbd00 78%,
      #ff4b00 100%
    );
  box-shadow:
    inset 0 0 18px rgba(255,40,0,.45),
    0 0 12px rgba(255,0,120,.18);
  position:relative;
  overflow:hidden;
}

/* celle fotovoltaiche */

.solar-row i:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 17px,
      rgba(0,0,0,.28) 18px,
      transparent 19px
    ),
    repeating-linear-gradient(
      0deg,
      transparent 0 14px,
      rgba(0,0,0,.25) 15px,
      transparent 16px
    );
}

/* zone calde */

.solar-row i:nth-child(2),
.solar-row i:nth-child(5){
  background:
    radial-gradient(
      circle at 55% 48%,
      #fff900 0%,
      #ff8a00 17%,
      #ff2100 36%,
      #e00075 60%,
      #41007a 100%
    );
}

.solar-row i:nth-child(4){
  background:
    radial-gradient(
      circle at 30% 50%,
      #fff 0%,
      #ffe000 8%,
      #ff5700 24%,
      #e60070 52%,
      #30005f 100%
    );
}

.row-1{top:0;transform:scale(.55)}
.row-2{top:12%;transform:scale(.68)}
.row-3{top:25%;transform:scale(.82)}
.row-4{top:39%;transform:scale(.98)}
.row-5{top:55%;transform:scale(1.12)}
.row-6{top:73%;transform:scale(1.28)}

/* bagliore generale */

.thermal-visual:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:6;
  pointer-events:none;
  background:
    radial-gradient(
      ellipse at center,
      transparent 25%,
      rgba(0,0,0,.15) 55%,
      rgba(0,0,0,.72) 100%
    ),
    linear-gradient(
      90deg,
      rgba(2,5,7,.72),
      transparent 25%,
      transparent 78%,
      rgba(2,5,7,.35)
    );
}

/* hotspot */

.thermal-hotspot{
  position:absolute;
  z-index:9;
  width:90px;
  height:90px;
  border-radius:50%;
  background:
    radial-gradient(
      circle,
      rgba(255,255,255,.95) 0 2%,
      rgba(255,240,0,.9) 5%,
      rgba(255,40,0,.6) 20%,
      rgba(255,0,120,.18) 42%,
      transparent 70%
    );
  filter:blur(2px);
  animation:thermalHotspot 2.8s ease-in-out infinite;
}

.hotspot-1{
  left:36%;
  top:55%;
}

.hotspot-2{
  left:62%;
  top:63%;
  transform:scale(.7);
  animation-delay:.7s;
}

.hotspot-3{
  left:46%;
  top:73%;
  transform:scale(.5);
  animation-delay:1.2s;
}

@keyframes thermalHotspot{
  0%,100%{
    opacity:.45;
    transform:scale(.72);
  }
  50%{
    opacity:1;
    transform:scale(1.15);
  }
}

/* target */

.thermal-target{
  position:absolute;
  z-index:15;
  left:38%;
  top:52%;
  width:110px;
  height:110px;
  border:1px solid #65ff9a;
  border-radius:50%;
  box-shadow:
    0 0 0 18px rgba(57,210,123,.035),
    0 0 25px rgba(57,210,123,.22);
  animation:thermalTarget 3s ease-in-out infinite;
}

.thermal-target:before,
.thermal-target:after{
  content:"";
  position:absolute;
  background:#65ff9a;
}

.thermal-target:before{
  width:150px;
  height:1px;
  left:-20px;
  top:54px;
  opacity:.5;
}

.thermal-target:after{
  width:1px;
  height:150px;
  left:54px;
  top:-20px;
  opacity:.5;
}

.thermal-target span{
  position:absolute;
  left:49px;
  top:49px;
  width:10px;
  height:10px;
  border:1px solid #fff;
  border-radius:50%;
  box-shadow:0 0 10px #fff;
}

.thermal-target i{
  position:absolute;
  left:115px;
  top:20px;
  width:140px;
  height:65px;
  background:rgba(3,10,8,.9);
  border:1px solid rgba(82,239,145,.55);
}

.thermal-target b{
  position:absolute;
  left:130px;
  top:31px;
  color:#73827a;
  font-size:6px;
  letter-spacing:.16em;
  white-space:nowrap;
}

.thermal-target strong{
  position:absolute;
  left:130px;
  top:45px;
  color:#effff5;
  font-family:"Space Grotesk";
  font-size:18px;
  white-space:nowrap;
}

@keyframes thermalTarget{
  0%,100%{transform:scale(.96);opacity:.7}
  50%{transform:scale(1.03);opacity:1}
}

/* pannello IR */

.thermal-label{
  position:absolute;
  z-index:16;
  background:rgba(3,10,8,.82);
  border:1px solid rgba(82,239,145,.45);
  backdrop-filter:blur(7px);
  padding:12px 15px;
  display:flex;
  flex-direction:column;
}

.thermal-label small{
  font-size:6px;
  color:#728079;
  letter-spacing:.17em;
}

.thermal-label strong{
  color:#65ff9a;
  font-family:"Space Grotesk";
  font-size:17px;
  margin-top:3px;
}

.thermal-top{
  top:10%;
  left:12%;
}

.thermal-bottom{
  left:10%;
  bottom:9%;
  width:205px;
}

.thermal-bottom em{
  margin-top:16px;
  color:#65ff9a;
  font-style:normal;
  font-size:6px;
  letter-spacing:.14em;
}

/* REC */

.thermal-rec{
  position:absolute;
  right:10%;
  top:10%;
  z-index:16;
  color:#65ff9a;
  font-size:8px;
  letter-spacing:.15em;
}

.thermal-rec span{
  display:inline-block;
  width:8px;
  height:8px;
  background:#65ff9a;
  border-radius:50%;
  margin-right:6px;
  box-shadow:0 0 12px #65ff9a;
  animation:recBlink 1s infinite;
}

@keyframes recBlink{
  50%{opacity:.25}
}

/* scala temperatura */

.thermal-scale{
  position:absolute;
  z-index:16;
  right:4%;
  top:32%;
  height:190px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-end;
}

.thermal-scale i{
  width:9px;
  flex:1;
  min-height:100px;
  margin:5px 0;
  background:
    linear-gradient(
      180deg,
      #fff 0%,
      #ffe600 18%,
      #ff5500 42%,
      #ed0077 66%,
      #27005c 100%
    );
  box-shadow:0 0 12px rgba(255,60,0,.4);
}

.thermal-scale b{
  font-size:6px;
  color:#b8c2c4;
}

/* linea scanner */

.thermal-scan-line{
  position:absolute;
  z-index:17;
  left:8%;
  right:5%;
  top:20%;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    #65ff9a,
    transparent
  );
  box-shadow:0 0 12px #65ff9a;
  opacity:.65;
  animation:thermalScan 4s ease-in-out infinite;
}

@keyframes thermalScan{
  0%,100%{top:18%;opacity:0}
  20%{opacity:.8}
  70%{top:78%;opacity:.8}
  90%{opacity:0}
}

/* =========================================================
   LATO TESTUALE
   ========================================================= */

.thermal-copy{
  min-height:680px;
  padding:80px 6vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#050709;
}

.thermal-kicker{
  font-size:8px;
  font-weight:900;
  color:#55ef91;
  letter-spacing:.2em;
}

.thermal-heading-meta{
  display:flex;
  gap:16px;
  align-items:center;
  margin-top:30px;
}

.thermal-heading-meta b{
  color:#55ef91;
  font-family:"Space Grotesk";
  font-size:17px;
}

.thermal-heading-meta span{
  padding-left:12px;
  border-left:1px solid #29332f;
  color:#6d7978;
  font-size:7px;
  line-height:1.5;
  letter-spacing:.14em;
}

.thermal-copy h2{
  font-family:"Space Grotesk";
  font-size:clamp(58px,5.5vw,90px);
  line-height:.88;
  letter-spacing:-.065em;
  margin:30px 0;
  color:#f1f4f4;
}

.thermal-copy h2 span{
  color:#68747b;
}

.thermal-copy>p{
  max-width:570px;
  color:#7f8c93;
  font-size:14px;
  line-height:1.85;
}

.thermal-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:38px;
  border-block:1px solid #202a2d;
}

.thermal-stats div{
  padding:22px 15px;
  border-right:1px solid #202a2d;
}

.thermal-stats div:last-child{
  border-right:0;
}

.thermal-stats strong{
  display:block;
  color:#f0f4f3;
  font-family:"Space Grotesk";
  font-size:25px;
}

.thermal-stats span{
  display:block;
  margin-top:8px;
  color:#58666c;
  font-size:6px;
  letter-spacing:.16em;
}

.thermal-button{
  width:max-content;
  display:flex;
  align-items:center;
  gap:25px;
  margin-top:32px;
  padding:16px 20px;
  border:1px solid #3a7758;
  color:#edf8f1;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  transition:.3s;
}

.thermal-button span{
  color:#55ef91;
  font-size:16px;
}

.thermal-button:hover{
  background:#e7f0eb;
  color:#06100b;
  transform:translateY(-3px);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:950px){

  .thermal-section{
    grid-template-columns:1fr;
  }

  .thermal-visual{
    min-height:600px;
  }

  .thermal-copy{
    min-height:auto;
    padding:80px 7vw;
  }

}

@media(max-width:620px){

  .thermal-visual{
    min-height:570px;
  }

  .solar-field{
    left:-25%;
    right:-25%;
    width:150%;
  }

  .thermal-target{
    left:28%;
    top:53%;
  }

  .thermal-target i{
    display:none;
  }

  .thermal-target b,
  .thermal-target strong{
    left:72px;
  }

  .thermal-target b{
    top:31px;
  }

  .thermal-target strong{
    top:45px;
  }

  .thermal-scale{
    right:3%;
    top:28%;
  }

  .thermal-top{
    left:6%;
  }

  .thermal-bottom{
    left:6%;
  }

  .thermal-copy{
    padding:75px 22px;
  }

  .thermal-copy h2{
    font-size:54px;
  }

  .thermal-stats strong{
    font-size:20px;
  }

}
/* =========================================================
   MISSION PROTOCOL — DAL DATO AL RISULTATO
   ========================================================= */

.mission-process {
  position: relative;
  overflow: hidden;
  min-height: 920px;
  padding: 95px 5vw 70px;
  background: #020608;
  border-top: 1px solid #18231f;
  border-bottom: 1px solid #18231f;
}

.mission-process-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 50% 42%,
      rgba(57, 210, 123, .12),
      transparent 24%
    ),
    radial-gradient(
      circle at 50% 42%,
      rgba(255, 255, 255, .025),
      transparent 44%
    );
}

.mission-process-bg::before {
  content: "";
  position: absolute;
  inset: -20%;
  background-image:
    linear-gradient(
      rgba(57, 210, 123, .055) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(57, 210, 123, .055) 1px,
      transparent 1px
    );
  background-size: 72px 72px;
  transform:
    perspective(850px)
    rotateX(64deg)
    translateY(28%);
  opacity: .32;
  mask-image:
    linear-gradient(
      transparent 0%,
      #000 28%,
      #000 78%,
      transparent 100%
    );
}


/* CONTENITORE */

.mission-process-inner {
  position: relative;
  z-index: 2;
  max-width: 1480px;
  margin: auto;
}


/* INTRO */

.mission-process-head {
  max-width: 720px;
  padding-left: 2.5vw;
}

.mission-process-head small {
  display: block;
  margin-bottom: 30px;
  color: #39d27b;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .18em;
}

.mission-process-head h2 {
  margin: 0;
  font-family: "Space Grotesk", sans-serif;
  font-size: clamp(58px, 6vw, 92px);
  line-height: .86;
  letter-spacing: -.065em;
  color: #f0f4f3;
}

.mission-process-head h2 span {
  color: #68767b;
}

.mission-process-head p {
  max-width: 650px;
  margin: 34px 0 0;
  color: #8a969b;
  font-size: 14px;
  line-height: 1.8;
}


/* TIMELINE */

.mission-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 105px;
}


/* LINEA CENTRALE */

.mission-timeline::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 67px;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      #39d27b,
      #39d27b 25%,
      #31503f 48%,
      #56605c 100%
    );
  opacity: .8;
}


/* STEP */

.mission-step {
  position: relative;
  min-height: 375px;
  padding: 0 34px 0 0;
  margin-right: 34px;
  border-right: 1px dotted #27332e;
}

.mission-step:last-child {
  border-right: 0;
  margin-right: 0;
}


/* PARTE ALTA */

.mission-step-top {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: baseline;
  gap: 24px;
  height: 67px;
}

.mission-step-top b {
  color: #39d27b;
  font-family: "Space Grotesk", sans-serif;
  font-size: 26px;
  font-weight: 700;
}

.mission-step-top span {
  color: #8b9699;
  font-family: "Space Grotesk", sans-serif;
  font-size: 11px;
  letter-spacing: .08em;
}


/* NODO */

.mission-node {
  position: absolute;
  z-index: 5;
  top: 59px;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #39d27b;
  border-radius: 50%;
  background: #020608;
  box-shadow: 0 0 0 5px #020608;
}

.mission-step.active .mission-node {
  width: 22px;
  height: 22px;
  top: 56px;
  left: -3px;
  background: #020608;
  box-shadow:
    0 0 0 5px #020608,
    0 0 25px rgba(57, 210, 123, .7);
}

.mission-step.active .mission-node::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #39d27b;
  box-shadow: 0 0 14px #39d27b;
}


/* CONTENUTO STEP */

.mission-step h3 {
  margin: 65px 0 22px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 27px;
  line-height: .98;
  letter-spacing: -.035em;
  color: #f0f4f3;
}

.mission-step p {
  max-width: 260px;
  margin: 0;
  color: #899499;
  font-size: 12px;
  line-height: 1.75;
}

.mission-step > small {
  display: block;
  margin-top: 28px;
  color: #4dde88;
  font-family: "Space Grotesk", sans-serif;
  font-size: 8px;
  letter-spacing: .15em;
}


/* STATUS BAR */

.mission-status {
  display: grid;
  grid-template-columns: 150px 170px 1fr 120px;
  align-items: center;
  gap: 28px;
  margin: 55px 2.5vw 0;
  padding: 25px 28px;
  background: rgba(4, 10, 9, .75);
  border: 1px solid #1b2a24;
  border-radius: 7px;
}

.status-label {
  color: #87928f;
  font-family: "Space Grotesk", sans-serif;
  font-size: 10px;
  letter-spacing: .1em;
}

.mission-status > b {
  color: #63ee96;
  font-family: "Space Grotesk", sans-serif;
  font-size: 12px;
  letter-spacing: .04em;
}

.status-line {
  position: relative;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      #31503f,
      #31503f 70%,
      transparent
    );
}

.status-line i {
  position: absolute;
  left: 9%;
  top: 50%;
  width: 8px;
  height: 8px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #6bff9b;
  box-shadow:
    0 0 10px #6bff9b,
    0 0 20px rgba(107, 255, 155, .5);
  animation: statusMove 4s ease-in-out infinite;
}

.status-online {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  color: #4ee88a;
  font-family: "Space Grotesk", sans-serif;
  font-size: 11px;
}

.status-online i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4ee88a;
  box-shadow: 0 0 10px #4ee88a;
  animation: onlinePulse 2s ease-in-out infinite;
}


/* ANIMAZIONI */

@keyframes statusMove {
  0%, 100% {
    left: 9%;
  }

  50% {
    left: 68%;
  }
}

@keyframes onlinePulse {
  0%, 100% {
    opacity: .4;
    transform: scale(.8);
  }

  50% {
    opacity: 1;
    transform: scale(1.15);
  }
}


/* RESPONSIVE */

@media (max-width: 1000px) {

  .mission-process {
    min-height: auto;
    padding: 90px 5vw 70px;
  }

  .mission-process-head {
    padding-left: 0;
  }

  .mission-timeline {
    grid-template-columns: repeat(2, 1fr);
    gap: 55px 30px;
    margin-top: 80px;
  }

  .mission-timeline::before {
    display: none;
  }

  .mission-step {
    min-height: 330px;
    padding-right: 25px;
    margin-right: 0;
  }

  .mission-step:nth-child(2) {
    border-right: 0;
  }

  .mission-node {
    display: none;
  }

  .mission-step h3 {
    margin-top: 45px;
  }

  .mission-status {
    grid-template-columns: 1fr 1fr;
  }

  .status-line {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .status-online {
    justify-content: flex-end;
  }
}


@media (max-width: 620px) {

  .mission-process {
    padding: 75px 22px 55px;
  }

  .mission-process-head small {
    font-size: 7px;
  }

  .mission-process-head h2 {
    font-size: 54px;
  }

  .mission-process-head p {
    font-size: 13px;
    line-height: 1.7;
  }

  .mission-timeline {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 65px;
  }

  .mission-step {
    min-height: 300px;
    padding: 0 0 45px;
    margin: 0;
    border-right: 0;
    border-bottom: 1px dotted #27332e;
  }

  .mission-step:last-child {
    border-bottom: 0;
  }

  .mission-step-top {
    height: 55px;
  }

  .mission-step-top b {
    font-size: 22px;
  }

  .mission-step-top span {
    font-size: 9px;
  }

  .mission-step h3 {
    margin-top: 38px;
    font-size: 26px;
  }

  .mission-step p {
    max-width: 340px;
  }

  .mission-status {
    grid-template-columns: 1fr;
    gap: 15px;
    margin: 30px 0 0;
    padding: 20px;
  }

  .status-line {
    grid-column: auto;
    grid-row: auto;
  }

  .status-online {
    justify-content: flex-start;
  }
}


@media (prefers-reduced-motion: reduce) {

  .status-line i,
  .status-online i {
    animation: none;
  }
}
/* ===== FIX MISSION FLOW — SPAZIO SUPERIORE ===== */

.mission-flow {
  padding-top: 150px !important;
}

.mission-flow-head {
  padding-left: 9vw !important;
}

.mission-flow-head h2 {
  margin-top: 18px !important;
}

@media (max-width: 620px) {
  .mission-flow {
    padding-top: 110px !important;
  }

  .mission-flow-head {
    padding-left: 22px !important;
  }
}
/* =========================================================
   FOOTER — LA DRONE SERVICE
   ========================================================= */

.site-footer {
  position: relative;
  background: #05070a;
  border-top: 1px solid #202a31;
  padding: 75px 5vw 25px;
  color: #edf1f3;
}

.site-footer-inner {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr .7fr;
  gap: 100px;
}

.footer-company small,
.footer-contact small {
  display: block;
  margin-bottom: 22px;
  color: #39d27b;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .2em;
}

.footer-company h3 {
  margin: 0 0 20px;
  font-family: "Space Grotesk", sans-serif;
  font-size: 30px;
  letter-spacing: -.03em;
}

.footer-company p {
  margin: 7px 0;
  color: #78858e;
  font-size: 13px;
  line-height: 1.7;
}

.footer-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer-contact a {
  display: block;
  margin: 6px 0;
  color: #d9e0e3;
  font-family: "Space Grotesk", sans-serif;
  font-size: 18px;
  transition: .25s ease;
}

.footer-contact a:hover {
  color: #39d27b;
}

.footer-bottom {
  max-width: 1320px;
  margin: 65px auto 0;
  padding-top: 18px;
  border-top: 1px solid #202a31;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #56636b;
  font-size: 8px;
  letter-spacing: .16em;
}

@media (max-width: 700px) {

  .site-footer {
    padding: 60px 22px 22px;
  }

  .site-footer-inner {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .footer-company h3 {
    font-size: 27px;
  }

  .footer-contact a {
    font-size: 16px;
  }

  .footer-bottom {
    margin-top: 45px;
    flex-direction: column;
    gap: 10px;
  }

}
/* =========================================================
   SERVICES PAGE — LA DRONE SERVICE
   ========================================================= */

.services-page {
  background: #05070a;
}


/* HERO */

.services-hero {
  min-height: 720px;
  height: 88vh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 150px 7vw 90px;
  border-bottom: 1px solid #202a31;
  background:
    radial-gradient(circle at 78% 50%, rgba(57,210,123,.10), transparent 27%),
    linear-gradient(115deg,#040709,#07100e 60%,#030608);
}

.services-hero-grid {
  position: absolute;
  inset: -20%;
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 70px 70px;
  transform: perspective(700px) rotateX(62deg) translateY(22%);
  opacity: .18;
  mask-image: linear-gradient(transparent,#000 35%,transparent 90%);
}

.services-hero-copy {
  position: relative;
  z-index: 10;
  max-width: 690px;
}

.services-hero-copy small,
.services-list-head small,
.services-approach-label small,
.services-final small {
  color: #4c9a70;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .23em;
}

.services-hero-copy h1 {
  font-family: "Space Grotesk";
  font-size: clamp(72px,9vw,135px);
  line-height: .82;
  letter-spacing: -.075em;
  margin: 25px 0 32px;
}

.services-hero-copy h1 span {
  color: #65727b;
}

.services-hero-copy p {
  max-width: 580px;
  color: #8b979e;
  font-size: 17px;
  line-height: 1.8;
}

.services-hero-meta {
  display: flex;
  gap: 22px;
  margin-top: 40px;
}

.services-hero-meta span {
  font-size: 7px;
  letter-spacing: .15em;
  color: #69767d;
  padding-left: 9px;
  border-left: 2px solid #39d27b;
}

.services-hero-meta span:nth-child(2) {
  border-color: #fff;
}

.services-hero-meta span:nth-child(3) {
  border-color: #e34a45;
}

.services-hero-meta i {
  font-style: normal;
  color: #39d27b;
  margin-right: 5px;
}


/* HERO TECH */

.services-hero-tech {
  position: absolute;
  right: 8%;
  top: 50%;
  width: 430px;
  height: 430px;
  transform: translateY(-50%);
}

.tech-circle {
  position: absolute;
  inset: 70px;
  border: 1px solid rgba(57,210,123,.25);
  border-radius: 50%;
  box-shadow:
    0 0 0 35px rgba(57,210,123,.025),
    0 0 0 70px rgba(57,210,123,.015);
  animation: servicesRadar 4s ease-in-out infinite;
}

.tech-circle:before,
.tech-circle:after {
  content: "";
  position: absolute;
  background: rgba(57,210,123,.25);
}

.tech-circle:before {
  left: 50%;
  top: -30px;
  bottom: -30px;
  width: 1px;
}

.tech-circle:after {
  top: 50%;
  left: -30px;
  right: -30px;
  height: 1px;
}

.tech-line {
  position: absolute;
  height: 1px;
  background: linear-gradient(90deg,transparent,#39d27b,transparent);
}

.tl-1 {
  width: 250px;
  right: 0;
  top: 42%;
  transform: rotate(-18deg);
}

.tl-2 {
  width: 210px;
  right: 25px;
  top: 65%;
  transform: rotate(22deg);
}

.tech-point {
  position: absolute;
  color: #55ef91;
  font-size: 25px;
  text-shadow: 0 0 18px #39d27b;
  animation: servicesPoint 2.2s ease-in-out infinite;
}

.tp-1 {
  left: 30%;
  top: 31%;
}

.tp-2 {
  right: 17%;
  bottom: 28%;
  animation-delay: .7s;
}

.tech-readout {
  position: absolute;
  right: 0;
  bottom: 5%;
  width: 190px;
  padding: 14px;
  background: rgba(4,10,9,.82);
  border: 1px solid rgba(57,210,123,.25);
}

.tech-readout small,
.tech-readout strong,
.tech-readout span {
  display: block;
}

.tech-readout small {
  color: #62736b;
  font-size: 6px;
  letter-spacing: .18em;
}

.tech-readout strong {
  color: #55ef91;
  font-size: 13px;
  margin: 6px 0;
}

.tech-readout span {
  color: #89968f;
  font-size: 6px;
  letter-spacing: .12em;
}


/* HERO BOTTOM */

.services-hero-bottom {
  position: absolute;
  left: 7vw;
  right: 7vw;
  bottom: 25px;
  z-index: 15;
  display: flex;
  align-items: center;
  gap: 15px;
}

.services-hero-bottom span,
.services-hero-bottom small {
  font-size: 7px;
  letter-spacing: .17em;
  color: #65727a;
}

.services-hero-bottom span:nth-child(2) {
  color: #c5ced2;
}

.services-hero-bottom span:nth-child(3) {
  color: #d24c49;
}

.services-hero-bottom em {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg,#39d27b44,#fff1,#e34a4544);
}


/* SERVICES LIST */

.services-list {
  padding: 130px 5vw 150px;
  background: #05070a;
}

.services-list-head {
  max-width: 1320px;
  margin: 0 auto 75px;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 50px;
}

.services-list-head h2 {
  font-family: "Space Grotesk";
  font-size: clamp(55px,6.5vw,92px);
  line-height: .85;
  letter-spacing: -.06em;
  margin: 18px 0 0;
}

.services-list-head h2 span {
  color: #65727b;
}

.services-list-head > p {
  max-width: 390px;
  color: #78858d;
  font-size: 12px;
  line-height: 1.8;
}

.services-list-grid {
  max-width: 1320px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1px;
  background: #24312b;
  border: 1px solid #24312b;
}


/* SERVICE CARD */

.service-large {
  position: relative;
  min-height: 390px;
  padding: 30px;
  background: #070c0f;
  overflow: hidden;
  transition: .4s ease;
}

.service-large:hover {
  background: #09130f;
  transform: translateY(-5px);
}

.service-large-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.service-large-top span {
  font-family: "Space Grotesk";
  font-size: 13px;
  color: #39d27b;
}

.service-large-top small {
  color: #56646b;
  font-size: 6px;
  letter-spacing: .18em;
}

.service-large-icon {
  position: absolute;
  right: 32px;
  top: 65px;
  width: 95px;
  height: 95px;
  border: 1px solid rgba(57,210,123,.20);
  transform: rotate(45deg);
}

.service-large-icon div {
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(255,255,255,.25);
}

.service-large-icon i,
.service-large-icon b {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #39d27b;
  box-shadow: 0 0 12px #39d27b;
}

.service-large-icon i {
  top: 10px;
  left: 10px;
}

.service-large-icon b {
  right: 10px;
  bottom: 10px;
}

.service-large-content {
  position: relative;
  z-index: 3;
  max-width: 65%;
  margin-top: 125px;
}

.service-large-content h3 {
  font-family: "Space Grotesk";
  font-size: 36px;
  line-height: 1;
  letter-spacing: -.035em;
  margin: 0 0 18px;
}

.service-large-content p {
  max-width: 430px;
  color: #748189;
  font-size: 12px;
  line-height: 1.75;
}

.service-large-bottom {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.service-large-bottom a {
  color: #dce6e1;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .14em;
}

.service-large-bottom a span {
  margin-left: 8px;
  font-size: 14px;
  color: #39d27b;
}

.service-large-bottom strong {
  color: #29362f;
  font-family: "Space Grotesk";
  font-size: 34px;
}

.service-scan {
  position: absolute;
  left: -100%;
  top: 0;
  width: 1px;
  height: 100%;
  background: #39d27b;
  box-shadow: 0 0 20px #39d27b;
  opacity: .45;
}

.service-large:hover .service-scan {
  animation: serviceScan .9s ease forwards;
}


/* APPROACH */

.services-approach {
  max-width: 1320px;
  margin: auto;
  padding: 120px 5vw 140px;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 60px;
  border-top: 1px solid #202a31;
}

.services-approach-content h2 {
  font-family: "Space Grotesk";
  font-size: clamp(55px,6vw,90px);
  line-height: .85;
  letter-spacing: -.06em;
  margin: 0 0 30px;
}

.services-approach-content h2 span {
  color: #65727b;
}

.services-approach-content p {
  max-width: 650px;
  color: #7c8991;
  font-size: 14px;
  line-height: 1.85;
}

.approach-line {
  max-width: 650px;
  margin-top: 45px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.approach-line span {
  color: #62716a;
  font-size: 7px;
  letter-spacing: .18em;
}

.approach-line i {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg,#39d27b55,transparent);
}


/* FINAL */

.services-final {
  text-align: center;
  padding: 150px 5vw;
  background:
    radial-gradient(circle at center,rgba(57,210,123,.12),transparent 35%),
    #040709;
  border-top: 1px solid #18251f;
}

.services-final h2 {
  font-family: "Space Grotesk";
  font-size: clamp(60px,8vw,115px);
  line-height: .83;
  letter-spacing: -.065em;
  margin: 20px 0 30px;
}

.services-final h2 span {
  color: #65727b;
}

.services-final p {
  max-width: 560px;
  margin: auto;
  color: #78858d;
  font-size: 13px;
  line-height: 1.8;
}


/* ANIMATIONS */

@keyframes servicesRadar {
  0%,100% {
    transform: scale(.96);
    opacity: .35;
  }
  50% {
    transform: scale(1.04);
    opacity: .85;
  }
}

@keyframes servicesPoint {
  0%,100% {
    opacity: .25;
    transform: scale(.75);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

@keyframes serviceScan {
  from {
    left: -1%;
  }
  to {
    left: 101%;
  }
}


/* RESPONSIVE */

@media(max-width:900px) {

  .services-hero-tech {
    right: -5%;
    opacity: .55;
  }

  .services-list-head {
    display: block;
  }

  .services-list-head > p {
    margin-top: 25px;
  }

  .services-list-grid {
    grid-template-columns: 1fr;
  }

  .services-approach {
    grid-template-columns: 1fr;
    gap: 25px;
  }

}

@media(max-width:620px) {

  .services-hero {
    min-height: 760px;
    height: 100svh;
    padding: 125px 22px 90px;
  }

  .services-hero-copy h1 {
    font-size: 68px;
  }

  .services-hero-copy p {
    font-size: 14px;
  }

  .services-hero-meta {
    gap: 10px;
    flex-wrap: wrap;
  }

  .services-hero-meta span {
    font-size: 6px;
  }

  .services-hero-tech {
    right: -35%;
    top: 65%;
    width: 360px;
    height: 360px;
    opacity: .42;
  }

  .services-hero-bottom {
    left: 22px;
    right: 22px;
  }

  .services-hero-bottom span {
    display: none;
  }

  .services-hero-bottom small {
    margin-left: auto;
  }

  .services-list {
    padding: 90px 22px 100px;
  }

  .services-list-head h2 {
    font-size: 52px;
  }

  .service-large {
    min-height: 350px;
    padding: 24px;
  }

  .service-large-content {
    max-width: 72%;
    margin-top: 115px;
  }

  .service-large-content h3 {
    font-size: 29px;
  }

  .service-large-icon {
    right: 22px;
    top: 60px;
    transform: rotate(45deg) scale(.8);
  }

  .service-large-bottom {
    left: 24px;
    right: 24px;
  }

  .services-approach {
    padding: 90px 22px 100px;
  }

  .services-final {
    padding: 100px 22px;
  }

}
/* =========================================================
   SERVIZI — SERVICE GRID
   ========================================================= */

.services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  padding: 0 4.5vw;
  background: #030708;
  border-top: 1px solid rgba(120, 150, 145, .22);
  border-left: 1px solid rgba(120, 150, 145, .22);
}

.service-card {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  background: #05090a;
  border-right: 1px solid rgba(120, 150, 145, .22);
  border-bottom: 1px solid rgba(120, 150, 145, .22);
  isolation: isolate;
}

/* FOTO */

.service-card-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}

.service-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(3,7,8,.98) 0%,
      rgba(3,7,8,.88) 30%,
      rgba(3,7,8,.35) 62%,
      rgba(3,7,8,.18) 100%
    ),
    linear-gradient(
      0deg,
      rgba(3,7,8,.88) 0%,
      transparent 45%
    );
  z-index: 2;
}

.service-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: .78;
  filter: saturate(.85) contrast(1.08);
  transform: scale(1.04);
  transition:
    transform .8s cubic-bezier(.2,.7,.2,1),
    opacity .5s ease,
    filter .5s ease;
}

.service-card:hover .service-card-image img {
  transform: scale(1.10);
  opacity: .95;
  filter: saturate(1) contrast(1.12);
}

/* CONTENUTO */

.service-card-content {
  position: relative;
  z-index: 3;
  height: 100%;
  min-height: 390px;
  padding: 28px 30px 25px;
  display: flex;
  flex-direction: column;
}

/* TESTATA */

.service-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.service-card-top small {
  color: #19e878;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
}

.service-brand {
  color: rgba(160,180,180,.55);
  font-size: 8px;
  letter-spacing: .18em;
  white-space: nowrap;
}

/* TESTO */

.service-card-main {
  max-width: 62%;
  margin-top: 78px;
}

.service-card-main h2 {
  margin: 0 0 15px;
  color: #f4f7f6;
  font-size: clamp(28px, 2.4vw, 40px);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 700;
}

.service-card-main p {
  margin: 0;
  color: rgba(155,175,178,.82);
  font-size: 14px;
  line-height: 1.7;
  max-width: 390px;
}

/* PARTE INFERIORE */

.service-card-bottom {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.service-card-bottom a {
  color: #f4f7f6;
  text-decoration: none;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  transition: color .25s ease;
}

.service-card-bottom a span {
  color: #19e878;
  font-size: 17px;
  margin-left: 8px;
  transition: transform .25s ease;
}

.service-card-bottom a:hover {
  color: #19e878;
}

.service-card-bottom a:hover span {
  display: inline-block;
  transform: translate(4px,-4px);
}

.service-card-bottom strong {
  color: rgba(35,55,54,.9);
  font-size: 35px;
  line-height: 1;
  font-weight: 600;
}

/* DIAMANTE */

.service-diamond {
  position: absolute;
  right: 28px;
  top: 45px;
  width: 72px;
  height: 72px;
  transform: rotate(45deg);
  border: 1px solid rgba(25,232,120,.18);
  z-index: 4;
  pointer-events: none;
}

.service-diamond::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(150,170,170,.32);
}

.service-diamond i {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #19e878;
  box-shadow: 0 0 12px rgba(25,232,120,.7);
}

.service-diamond i:nth-child(1) {
  top: -4px;
  left: 50%;
  transform: translateX(-50%);
}

.service-diamond i:nth-child(2) {
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
}

.service-diamond i:nth-child(3) {
  display: none;
}

/* LINEA VERDE SULLA CARD ATTIVA */

.service-card:first-child {
  box-shadow: inset 0 -3px 0 #19e878;
}

/* HOVER */

.service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      135deg,
      transparent 0 55%,
      rgba(25,232,120,.06) 55.2%,
      transparent 55.5%
    );
  opacity: 0;
  transition: opacity .4s ease;
}

.service-card:hover::before {
  opacity: 1;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

  .services-grid {
    grid-template-columns: 1fr;
    padding: 0;
  }

  .service-card {
    min-height: 360px;
  }

  .service-card-content {
    min-height: 360px;
  }

  .service-card-main {
    max-width: 65%;
  }

}

@media (max-width: 600px) {

  .service-card {
    min-height: 330px;
  }

  .service-card-content {
    min-height: 330px;
    padding: 22px;
  }

  .service-card-main {
    max-width: 75%;
    margin-top: 60px;
  }

  .service-card-main h2 {
    font-size: 29px;
  }

  .service-brand {
    display: none;
  }

  .service-diamond {
    right: 20px;
    top: 35px;
    transform: rotate(45deg) scale(.8);
  }

}
/* =========================================================
   SERVIZI — FOTO NEI RIQUADRI
   ========================================================= */

.services-list-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0 4.5vw;
  background: #030708;
  border-top: 1px solid rgba(120,150,145,.22);
  border-left: 1px solid rgba(120,150,145,.22);
}

.service-large {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  background: #05090a;
  border-right: 1px solid rgba(120,150,145,.22);
  border-bottom: 1px solid rgba(120,150,145,.22);
  isolation: isolate;
}

/* FOTO DI SFONDO */

.service-large::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(
      90deg,
      rgba(3,7,8,.97) 0%,
      rgba(3,7,8,.86) 32%,
      rgba(3,7,8,.42) 68%,
      rgba(3,7,8,.18) 100%
    ),
    linear-gradient(
      0deg,
      rgba(3,7,8,.92) 0%,
      transparent 55%
    );
  pointer-events: none;
}

/* CONTENITORE FOTO */

.service-large-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}

.service-large-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: .72;
  filter: saturate(.8) contrast(1.08);
  transform: scale(1.04);
  transition:
    transform .8s cubic-bezier(.2,.7,.2,1),
    opacity .5s ease,
    filter .5s ease;
}

.service-large:hover .service-large-image img {
  transform: scale(1.10);
  opacity: .92;
  filter: saturate(1) contrast(1.12);
}

/* CONTENUTO SOPRA LA FOTO */

.service-large-top,
.service-large-content,
.service-large-bottom,
.service-large-icon,
.service-scan {
  position: relative;
  z-index: 3;
}

/* TESTATA */

.service-large-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 28px 30px 0;
}

.service-large-top > span {
  color: #19e878;
  font-size: 13px;
  font-weight: 700;
}

.service-large-top small {
  color: rgba(160,180,180,.55);
  font-size: 8px;
  letter-spacing: .18em;
}

/* TESTO */

.service-large-content {
  max-width: 65%;
  margin: 78px 30px 0;
}

.service-large-content h3 {
  margin: 0 0 15px;
  color: #f4f7f6;
  font-size: clamp(28px, 2.4vw, 40px);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 700;
}

.service-large-content p {
  margin: 0;
  max-width: 390px;
  color: rgba(155,175,178,.82);
  font-size: 14px;
  line-height: 1.7;
}

/* LINK IN BASSO */

.service-large-bottom {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 25px;

  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.service-large-bottom a {
  color: #f4f7f6;
  text-decoration: none;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  transition: color .25s ease;
}

.service-large-bottom a span {
  color: #19e878;
  font-size: 17px;
  margin-left: 8px;
  transition: transform .25s ease;
}

.service-large-bottom a:hover {
  color: #19e878;
}

.service-large-bottom a:hover span {
  display: inline-block;
  transform: translate(4px,-4px);
}

.service-large-bottom strong {
  color: rgba(35,55,54,.9);
  font-size: 35px;
  line-height: 1;
  font-weight: 600;
}

/* DIAMANTE TECNICO */

.service-large-icon {
  position: absolute;
  top: 45px;
  right: 28px;
  width: 72px;
  height: 72px;
  transform: rotate(45deg);
  border: 1px solid rgba(25,232,120,.18);
  pointer-events: none;
}

.service-large-icon div {
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(150,170,170,.30);
}

.service-large-icon i,
.service-large-icon b {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #19e878;
  box-shadow: 0 0 12px rgba(25,232,120,.7);
}

.service-large-icon i {
  top: -4px;
  left: 50%;
  transform: translateX(-50%);
}

.service-large-icon b {
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%);
}

/* EFFETTO SCAN */

.service-scan {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: rgba(25,232,120,.5);
  opacity: 0;
  pointer-events: none;
  animation: serviceScan 5s linear infinite;
}

.service-large:hover .service-scan {
  opacity: 1;
}

@keyframes serviceScan {
  0% {
    top: 0;
  }

  100% {
    top: 100%;
  }
}

/* PRIMA CARD */

.service-large:first-child {
  box-shadow: inset 0 -3px 0 #19e878;
}

/* MOBILE */

@media (max-width: 900px) {

  .services-list-grid {
    grid-template-columns: 1fr;
    padding: 0;
  }

  .service-large {
    min-height: 360px;
  }

}

@media (max-width: 600px) {

  .service-large {
    min-height: 330px;
  }

  .service-large-content {
    max-width: 75%;
    margin-top: 60px;
  }

  .service-large-content h3 {
    font-size: 29px;
  }

  .service-large-top {
    padding: 22px 22px 0;
  }

  .service-large-bottom {
    left: 22px;
    right: 22px;
    bottom: 22px;
  }

  .service-large-icon {
    right: 20px;
    top: 35px;
    transform: rotate(45deg) scale(.8);
  }

}
/* =========================================================
   SERVICES CARDS — PHOTO EDITION
   ========================================================= */

.services-page {
  background: #030608;
}

.services-list {
  position: relative;
  padding: 110px 5vw 140px;
  overflow: hidden;
}

.services-list-head {
  max-width: 1320px;
  margin: 0 auto 65px;
  display: grid;
  grid-template-columns: 1fr .65fr;
  gap: 80px;
  align-items: end;
}

.services-list-head small {
  font-size: 8px;
  letter-spacing: .22em;
  color: #4c9a70;
  font-weight: 900;
}

.services-list-head h2 {
  font-family: "Space Grotesk";
  font-size: clamp(55px, 6.5vw, 94px);
  line-height: .84;
  letter-spacing: -.06em;
  margin: 18px 0 0;
}

.services-list-head h2 span {
  color: #65737b;
}

.services-list-head > p {
  color: #7f8c93;
  font-size: 13px;
  line-height: 1.8;
  max-width: 430px;
  margin: 0;
}


/* GRIGLIA */

.services-grid {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}


/* CARD */

.service-card {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  background: #07100d;
  border: 1px solid #1c2925;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  transition:
    transform .45s ease,
    border-color .45s ease,
    box-shadow .45s ease;
}

.service-card:hover {
  transform: translateY(-8px);
  border-color: #3bd47d;
  box-shadow: 0 25px 70px rgba(0,0,0,.45);
}


/* FOTO */

.service-card-image {
  position: absolute;
  inset: 0;
  z-index: -3;
  overflow: hidden;
}

.service-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  opacity: .72;
  transform: scale(1.01);
  transition:
    transform 1.2s cubic-bezier(.2,.7,.2,1),
    opacity .6s ease,
    filter .6s ease;
  filter: saturate(.72) contrast(1.08);
}

.service-card:hover .service-card-image img {
  transform: scale(1.09);
  opacity: .9;
  filter: saturate(.9) contrast(1.1);
}


/* OVERLAY */

.service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(
      180deg,
      rgba(2,6,7,.78) 0%,
      rgba(2,6,7,.28) 35%,
      rgba(2,6,7,.48) 55%,
      rgba(2,6,7,.96) 100%
    );
}

.service-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 70% 40%,
      rgba(57,210,123,.12),
      transparent 35%
    );
  opacity: .8;
}


/* CONTENUTO */

.service-card-content {
  min-height: 520px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  position: relative;
}


/* TOP */

.service-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
}

.service-card-top small {
  font-size: 8px;
  letter-spacing: .2em;
  font-weight: 900;
  color: #55ef91;
}

.service-brand {
  font-size: 6px;
  letter-spacing: .16em;
  color: #a7b2b5;
  opacity: .7;
}


/* CENTRO */

.service-card-main {
  margin-top: auto;
  margin-bottom: auto;
  max-width: 580px;
}

.service-card-main h2 {
  font-family: "Space Grotesk";
  font-size: clamp(42px, 4vw, 65px);
  line-height: .88;
  letter-spacing: -.055em;
  margin: 0 0 22px;
  color: #f2f7f5;
  text-shadow: 0 4px 25px rgba(0,0,0,.45);
}

.service-card-main p {
  max-width: 430px;
  margin: 0;
  color: #c0cbca;
  font-size: 12px;
  line-height: 1.75;
  text-shadow: 0 2px 15px rgba(0,0,0,.8);
}


/* BOTTOM */

.service-card-bottom {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.service-card-bottom a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
  color: #eef7f2;
  transition: color .3s ease;
}

.service-card-bottom a span {
  font-size: 15px;
  color: #55ef91;
  transition: transform .3s ease;
}

.service-card-bottom a:hover {
  color: #55ef91;
}

.service-card-bottom a:hover span {
  transform: translate(4px,-4px);
}

.service-card-bottom strong {
  font-family: "Space Grotesk";
  font-size: 42px;
  line-height: .8;
  color: rgba(255,255,255,.16);
}


/* DIAMANTE TECNICO */

.service-diamond {
  position: absolute;
  right: 28px;
  top: 48%;
  width: 70px;
  height: 70px;
  transform: rotate(45deg);
  border: 1px solid rgba(85,239,145,.28);
  pointer-events: none;
  opacity: .7;
  transition:
    transform .7s ease,
    opacity .4s ease,
    border-color .4s ease;
}

.service-card:hover .service-diamond {
  transform: rotate(135deg) scale(1.08);
  opacity: 1;
  border-color: rgba(85,239,145,.7);
}

.service-diamond i {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #55ef91;
  box-shadow: 0 0 12px #55ef91;
}

.service-diamond i:nth-child(1) {
  left: -3px;
  top: -3px;
}

.service-diamond i:nth-child(2) {
  right: -3px;
  top: -3px;
}

.service-diamond i:nth-child(3) {
  left: 50%;
  bottom: -3px;
  transform: translateX(-50%);
}


/* SCAN */

.service-card .service-scan {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    #55ef91,
    #ffffff,
    #55ef91,
    transparent
  );
  box-shadow: 0 0 15px #55ef91;
  opacity: 0;
  transform: translateX(-100%);
  pointer-events: none;
}

.service-card:hover .service-scan {
  opacity: .8;
  animation: serviceScan 1.8s ease-in-out;
}

@keyframes serviceScan {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(100%);
  }
}


/* CARD ALTERNATE */

.service-card:nth-child(2n) .service-card-top small {
  color: #e8edf0;
}

.service-card:nth-child(3n) .service-card-top small {
  color: #e34a45;
}

.service-card:nth-child(3n) .service-diamond {
  border-color: rgba(227,74,69,.35);
}

.service-card:nth-child(3n) .service-diamond i {
  background: #e34a45;
  box-shadow: 0 0 12px #e34a45;
}


/* =========================================================
   APPROACH
   ========================================================= */

.services-approach {
  max-width: 1320px;
  margin: 0 auto;
  padding: 130px 5vw;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 70px;
  border-top: 1px solid #18251f;
}

.services-approach-label small {
  font-size: 8px;
  letter-spacing: .22em;
  color: #4c9a70;
  font-weight: 900;
}

.services-approach-content h2 {
  font-family: "Space Grotesk";
  font-size: clamp(60px, 7vw, 105px);
  line-height: .84;
  letter-spacing: -.06em;
  margin: 0 0 30px;
}

.services-approach-content h2 span {
  color: #65737b;
}

.services-approach-content > p {
  max-width: 650px;
  color: #7e8b92;
  font-size: 14px;
  line-height: 1.85;
}

.approach-line {
  display: flex;
  align-items: center;
  gap: 15px;
  max-width: 600px;
  margin-top: 55px;
}

.approach-line span {
  font-size: 7px;
  letter-spacing: .18em;
  color: #dce6e1;
}

.approach-line i {
  height: 1px;
  flex: 1;
  background: linear-gradient(
    90deg,
    #39d27b,
    rgba(255,255,255,.15)
  );
}


/* =========================================================
   CTA FINALE
   ========================================================= */

.services-final {
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: 150px 5vw;
  background:
    radial-gradient(
      circle at center,
      rgba(39,214,117,.13),
      transparent 32%
    ),
    #030608;
  border-top: 1px solid #18251f;
}

.services-final small {
  font-size: 8px;
  letter-spacing: .22em;
  color: #4c9a70;
  font-weight: 900;
}

.services-final h2 {
  font-family: "Space Grotesk";
  font-size: clamp(58px, 8vw, 115px);
  line-height: .82;
  letter-spacing: -.065em;
  margin: 22px 0;
}

.services-final h2 span {
  color: #65737b;
}

.services-final p {
  max-width: 550px;
  margin: 25px auto;
  color: #7d8991;
  font-size: 13px;
  line-height: 1.8;
}

.services-final .btn {
  margin-top: 25px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

  .services-list {
    padding: 90px 22px 110px;
  }

  .services-list-head {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .services-grid {
    grid-template-columns: 1fr 1fr;
  }

  .service-card,
  .service-card-content {
    min-height: 470px;
  }

  .service-card-content {
    padding: 22px;
  }

  .service-card-main h2 {
    font-size: 42px;
  }

  .service-diamond {
    width: 55px;
    height: 55px;
    right: 22px;
  }

  .services-approach {
    padding: 100px 22px;
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .services-final {
    padding: 110px 22px;
  }
}


@media (max-width: 620px) {

  .services-list {
    padding: 75px 22px 90px;
  }

  .services-list-head h2 {
    font-size: 52px;
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .service-card,
  .service-card-content {
    min-height: 430px;
  }

  .service-card-content {
    padding: 20px;
  }

  .service-card-main h2 {
    font-size: 44px;
  }

  .service-card-main p {
    font-size: 11px;
  }

  .service-brand {
    display: none;
  }

  .service-diamond {
    width: 48px;
    height: 48px;
    right: 20px;
  }

  .service-card-bottom strong {
    font-size: 34px;
  }

  .services-approach-content h2 {
    font-size: 58px;
  }

  .services-final h2 {
    font-size: 58px;
  }

  .approach-line {
    gap: 8px;
  }
}


@media (prefers-reduced-motion: reduce) {

  .service-card,
  .service-card-image img,
  .service-diamond {
    transition: none;
  }

  .service-card:hover .service-scan {
    animation: none;
  }
}
/* =========================================================
   HOME — SERVIZI CON IMMAGINI
   ========================================================= */

.services .cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #1d272c;
}

.services .card {
  position: relative;
  min-height: 360px;
  padding: 30px;
  overflow: hidden;
  background: #080d10;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: transform .45s ease, border-color .45s ease;
}

/* immagini */
.services .card:nth-child(1) {
  background:
    linear-gradient(180deg, rgba(3,6,8,.05), rgba(3,6,8,.92)),
    url("/assets/images/services/fotogrammetria.jpg")
    center / cover no-repeat;
}

.services .card:nth-child(2) {
  background:
    linear-gradient(180deg, rgba(3,6,8,.05), rgba(3,6,8,.92)),
    url("/assets/images/services/termografia.jpg")
    center / cover no-repeat;
}

.services .card:nth-child(3) {
  background:
    linear-gradient(180deg, rgba(3,6,8,.05), rgba(3,6,8,.92)),
    url("/assets/images/services/ispezioni.jpg")
    center / cover no-repeat;
}

.services .card:nth-child(4) {
  background:
    linear-gradient(180deg, rgba(3,6,8,.05), rgba(3,6,8,.92)),
    url("/assets/images/services/cantieri.jpg")
    center / cover no-repeat;
}

.services .card:nth-child(5) {
  background:
    linear-gradient(180deg, rgba(3,6,8,.05), rgba(3,6,8,.92)),
    url("/assets/images/services/agricoltura.jpg")
    center / cover no-repeat;
}

.services .card:nth-child(6) {
  background:
    linear-gradient(180deg, rgba(3,6,8,.05), rgba(3,6,8,.92)),
    url("/assets/images/services/riprese-aeree.jpg")
    center / cover no-repeat;
}

/* overlay tecnico */
.services .card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(3,6,8,.08) 0%,
      rgba(3,6,8,.18) 35%,
      rgba(3,6,8,.72) 72%,
      rgba(3,6,8,.96) 100%
    );
  z-index: 0;
}

/* contenuto sopra la foto */
.services .card > * {
  position: relative;
  z-index: 2;
}

/* numero */
.services .card i {
  color: #55ef91;
  font-size: 9px;
  letter-spacing: .18em;
}

/* titolo */
.services .card h3 {
  font-family: "Space Grotesk";
  font-size: 32px;
  line-height: .95;
  margin: 45px 0 12px;
  color: #fff;
  text-shadow: 0 3px 18px rgba(0,0,0,.65);
}

/* descrizione */
.services .card p {
  color: #c2cccf;
  font-size: 12px;
  line-height: 1.65;
  max-width: 390px;
  text-shadow: 0 2px 12px rgba(0,0,0,.8);
}

/* barra inferiore */
.services .card::after {
  z-index: 4;
  height: 3px;
  transform: translateY(4px);
  background: linear-gradient(
    90deg,
    #39d27b,
    #fff,
    #e34a45
  );
}

/* hover */
.services .card:hover {
  transform: translateY(-6px);
}

.services .card:hover::after {
  transform: none;
}

/* zoom immagine */
.services .card {
  background-size: cover;
  transition:
    transform .45s ease,
    background-size 1s ease;
}

.services .card:hover {
  background-size: 108%;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 950px) {

  .services .cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .services .card {
    min-height: 330px;
  }

}

@media (max-width: 620px) {

  .services .cards {
    grid-template-columns: 1fr;
  }

  .services .card {
    min-height: 320px;
  }

  .services .card h3 {
    font-size: 29px;
  }

}
/* =========================================================
   HOME — SERVICE CARDS / IMMAGINI
   ========================================================= */

.service-v2-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-height: 430px;
}

.service-v2-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -3;
  transition: transform .7s cubic-bezier(.2,.7,.2,1),
              filter .7s ease;
  filter: saturate(.75) contrast(1.05);
}

.service-v2-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(
      180deg,
      rgba(4,8,12,.18) 0%,
      rgba(4,8,12,.30) 38%,
      rgba(4,8,12,.88) 100%
    );
  pointer-events: none;
}

.service-v2-card:hover .service-v2-image {
  transform: scale(1.06);
  filter: saturate(.95) contrast(1.08);
}

.service-v2-card .service-v2-top,
.service-v2-card .service-v2-content,
.service-v2-card .service-v2-bottom {
  position: relative;
  z-index: 3;
}

.service-v2-card .service-v2-top {
  padding: 24px 24px 0;
}

.service-v2-card .service-v2-content {
  padding: 0 24px;
}

.service-v2-card .service-v2-bottom {
  padding: 0 24px 24px;
}

.service-v2-card h3,
.service-v2-card p,
.service-v2-card span,
.service-v2-card b,
.service-v2-card strong {
  position: relative;
  z-index: 4;
}

.service-v2-scan {
  z-index: 5;
}
/* =========================================================
   FLEET PAGE
   ========================================================= */

.fleet-page{
  background:#030607;
  color:#f4f7f5;
}


/* HERO */

.fleet-hero{
  position:relative;
  min-height:720px;
  overflow:hidden;
  background:
    radial-gradient(circle at 70% 45%,rgba(0,255,128,.10),transparent 30%),
    #030607;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.fleet-hero-grid{
  position:absolute;
  inset:0;
  opacity:.35;
  background-image:
    linear-gradient(rgba(0,255,128,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,255,128,.06) 1px,transparent 1px);
  background-size:80px 80px;
  transform:perspective(700px) rotateX(58deg) scale(1.5);
  transform-origin:center bottom;
}

.fleet-hero-copy{
  position:relative;
  z-index:3;
  width:min(680px,90%);
  padding:150px 0 100px;
  margin-left:max(7vw,40px);
}

.fleet-hero-copy small,
.fleet-section-head small,
.fleet-approach small,
.fleet-final small{
  display:block;
  margin-bottom:28px;
  color:#31e878;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
}

.fleet-hero-copy h1{
  margin:0;
  font-size:clamp(58px,7vw,110px);
  line-height:.88;
  letter-spacing:-.055em;
}

.fleet-hero-copy h1 span{
  color:#69747a;
}

.fleet-hero-copy p{
  max-width:570px;
  margin:42px 0 0;
  color:#84939b;
  font-size:16px;
  line-height:1.7;
}

.fleet-meta{
  display:flex;
  gap:36px;
  margin-top:55px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.10);
}

.fleet-meta span{
  color:#87939a;
  font-size:10px;
  letter-spacing:.12em;
}

.fleet-meta i{
  margin-right:8px;
  color:#31e878;
  font-style:normal;
}


/* HERO TECH */

.fleet-hero-tech{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.fleet-radar{
  position:absolute;
  width:520px;
  height:520px;
  right:10%;
  top:50%;
  transform:translateY(-50%);
  border:1px solid rgba(49,232,120,.18);
  border-radius:50%;
  box-shadow:
    0 0 0 70px rgba(49,232,120,.025),
    0 0 0 140px rgba(49,232,120,.018);
}

.fleet-radar:before,
.fleet-radar:after{
  content:"";
  position:absolute;
  background:rgba(49,232,120,.18);
}

.fleet-radar:before{
  width:100%;
  height:1px;
  top:50%;
  left:0;
}

.fleet-radar:after{
  width:1px;
  height:100%;
  top:0;
  left:50%;
}

.fleet-tech-line{
  position:absolute;
  height:1px;
  background:linear-gradient(90deg,transparent,#31e878,transparent);
  opacity:.45;
}

.fleet-line-1{
  width:300px;
  right:13%;
  top:32%;
  transform:rotate(-28deg);
}

.fleet-line-2{
  width:260px;
  right:7%;
  top:67%;
  transform:rotate(22deg);
}

.fleet-tech-point{
  position:absolute;
  color:#31e878;
  font-size:28px;
  text-shadow:0 0 20px rgba(49,232,120,.7);
}

.fleet-point-1{
  right:27%;
  top:35%;
}

.fleet-point-2{
  right:14%;
  top:64%;
}

.fleet-readout{
  position:absolute;
  right:7%;
  bottom:13%;
  width:270px;
  padding:18px;
  border:1px solid rgba(49,232,120,.22);
  background:rgba(3,8,7,.72);
  backdrop-filter:blur(8px);
}

.fleet-readout small{
  display:block;
  color:#64736d;
  font-size:8px;
  letter-spacing:.18em;
}

.fleet-readout strong{
  display:block;
  margin:5px 0;
  color:#31e878;
  font-size:24px;
}

.fleet-readout span{
  color:#718079;
  font-size:8px;
  letter-spacing:.12em;
}


/* FLEET SECTION */

.fleet-section{
  padding:140px max(5vw,30px);
  background:#030607;
}

.fleet-section-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:end;
  max-width:1250px;
  margin:0 auto 70px;
}

.fleet-section-head h2{
  margin:0;
  font-size:clamp(48px,5vw,76px);
  line-height:.92;
  letter-spacing:-.05em;
}

.fleet-section-head h2 span{
  color:#68747a;
}

.fleet-section-head p{
  max-width:540px;
  margin:0;
  color:#7c8b92;
  font-size:15px;
  line-height:1.8;
}


/* GRID */

.fleet-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:1400px;
  margin:0 auto;
  border-top:1px solid rgba(255,255,255,.10);
  border-left:1px solid rgba(255,255,255,.10);
}

.fleet-card{
  position:relative;
  min-height:560px;
  overflow:hidden;
  padding:25px 30px 26px;
  background:
    linear-gradient(145deg,rgba(7,16,13,.95),rgba(3,7,7,.98));
  border-right:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
  transition:
    transform .45s ease,
    background .45s ease,
    border-color .45s ease;
}

.fleet-card:hover{
  z-index:2;
  transform:translateY(-5px);
  border-color:rgba(49,232,120,.38);
  background:
    radial-gradient(circle at 50% 42%,rgba(49,232,120,.12),transparent 42%),
    #050b09;
}


/* CARD TOP */

.fleet-card-top{
  position:relative;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.fleet-card-top span{
  color:#31e878;
  font-size:14px;
  font-weight:700;
}

.fleet-card-top small{
  color:#53615e;
  font-size:8px;
  letter-spacing:.16em;
}


/* IMAGE AREA */

.fleet-image{
  position:relative;
  height:330px;
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.fleet-image-grid{
  position:absolute;
  inset:15%;
  background-image:
    linear-gradient(rgba(49,232,120,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(49,232,120,.08) 1px,transparent 1px);
  background-size:35px 35px;
  transform:perspective(500px) rotateX(55deg);
  opacity:.4;
}

.fleet-glow{
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(49,232,120,.13);
  filter:blur(55px);
  transition:transform .5s ease,opacity .5s ease;
}

.fleet-card:hover .fleet-glow{
  transform:scale(1.25);
  opacity:1.4;
}

.fleet-image img{
  position:relative;
  z-index:2;

  display:block;

  width:100%;
  height:100%;

  object-fit:contain;
  object-position:center;

  padding:45px;

  box-sizing:border-box;

  filter:
    drop-shadow(0 18px 25px rgba(0,0,0,.7));

  transition:
    transform .55s cubic-bezier(.2,.8,.2,1),
    filter .55s ease;
}

.fleet-card:hover .fleet-image img{
  transform:scale(1.06);
  filter:
    drop-shadow(0 25px 35px rgba(0,0,0,.8))
    drop-shadow(0 0 20px rgba(49,232,120,.18));
}

.fleet-card:hover .fleet-image img{
  transform:scale(1.08) translateY(-5px);
  filter:
    drop-shadow(0 25px 35px rgba(0,0,0,.8))
    drop-shadow(0 0 20px rgba(49,232,120,.18));
}

.fleet-target{
  position:absolute;
  z-index:3;
  right:15px;
  bottom:20px;
  color:#31e878;
  font-size:28px;
  opacity:.6;
  transition:transform .4s ease;
}

.fleet-card:hover .fleet-target{
  transform:rotate(90deg);
}


/* CONTENT */

.fleet-card-content{
  position:relative;
  z-index:4;
}

.fleet-card-content h3{
  margin:0 0 12px;
  color:#f4f7f5;
  font-size:28px;
  line-height:1;
  letter-spacing:-.035em;
}

.fleet-card-content p{
  max-width:430px;
  margin:0;
  color:#718087;
  font-size:12px;
  line-height:1.65;
}


/* CARD BOTTOM */

.fleet-card-bottom{
  position:relative;
  z-index:4;
  display:flex;
  justify-content:space-between;
  gap:15px;
  margin-top:28px;
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.09);
}

.fleet-card-bottom span{
  color:#31e878;
  font-size:8px;
  font-weight:700;
  letter-spacing:.11em;
}

.fleet-card-bottom strong{
  color:#55625f;
  font-size:8px;
  letter-spacing:.12em;
}


/* SCAN EFFECT */

.fleet-scan{
  position:absolute;
  left:0;
  right:0;
  top:-30%;
  height:1px;
  background:#31e878;
  box-shadow:0 0 18px rgba(49,232,120,.8);
  opacity:0;
}

.fleet-card:hover .fleet-scan{
  opacity:.5;
  animation:fleetScan 2.2s linear infinite;
}

@keyframes fleetScan{
  from{top:15%}
  to{top:88%}
}


/* APPROACH */

.fleet-approach{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:80px;
  max-width:1250px;
  margin:0 auto;
  padding:150px 30px;
  border-top:1px solid rgba(255,255,255,.08);
}

.fleet-approach-content{
  max-width:800px;
}

.fleet-approach h2{
  margin:0;
  font-size:clamp(55px,6vw,90px);
  line-height:.9;
  letter-spacing:-.055em;
}

.fleet-approach h2 span{
  color:#68747a;
}

.fleet-approach p{
  max-width:650px;
  margin:40px 0;
  color:#7c8b92;
  line-height:1.8;
}

.fleet-approach-line{
  display:flex;
  align-items:center;
  gap:15px;
  color:#31e878;
  font-size:9px;
  letter-spacing:.14em;
}

.fleet-approach-line i{
  display:block;
  width:70px;
  height:1px;
  background:#31e878;
  opacity:.5;
}


/* FINAL CTA */

.fleet-final{
  position:relative;
  padding:160px 30px;
  text-align:center;
  overflow:hidden;
  background:
    radial-gradient(circle at center,rgba(49,232,120,.09),transparent 45%),
    #030607;
  border-top:1px solid rgba(255,255,255,.08);
}

.fleet-final h2{
  margin:0;
  font-size:clamp(55px,7vw,100px);
  line-height:.9;
  letter-spacing:-.06em;
}

.fleet-final h2 span{
  color:#68747a;
}

.fleet-final p{
  max-width:600px;
  margin:35px auto 45px;
  color:#7c8b92;
  line-height:1.7;
}

.fleet-final .btn{
  display:inline-flex;
  align-items:center;
  gap:15px;
}


/* RESPONSIVE */

@media(max-width:1000px){

  .fleet-hero{
    min-height:650px;
  }

  .fleet-hero-copy{
    margin-left:30px;
  }

  .fleet-hero-tech{
    opacity:.45;
  }

  .fleet-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .fleet-section-head{
    grid-template-columns:1fr;
    gap:30px;
  }

  .fleet-approach{
    grid-template-columns:1fr;
    gap:30px;
  }

}


@media(max-width:650px){

  .fleet-hero{
    min-height:700px;
  }

  .fleet-hero-copy{
    width:auto;
    margin:0;
    padding:110px 25px 70px;
  }

  .fleet-hero-copy h1{
    font-size:58px;
  }

  .fleet-meta{
    flex-wrap:wrap;
    gap:18px;
  }

  .fleet-radar{
    width:330px;
    height:330px;
    right:-120px;
    top:48%;
  }

  .fleet-readout{
    right:20px;
    bottom:35px;
    width:220px;
  }

  .fleet-section{
    padding:90px 15px;
  }

  .fleet-section-head{
    margin-bottom:45px;
  }

  .fleet-section-head h2{
    font-size:48px;
  }

  .fleet-grid{
    grid-template-columns:1fr;
  }

  .fleet-card{
    min-height:520px;
  }

  .fleet-image{
    height:290px;
  }

  .fleet-card-content h3{
    font-size:25px;
  }

  .fleet-approach{
    padding:100px 25px;
  }

  .fleet-approach-line{
    flex-wrap:wrap;
  }

  .fleet-final{
    padding:110px 25px;
  }

}
/* =========================================================
   SERVICE DETAIL — FOTOGRAMMETRIA
   ========================================================= */

.service-detail-page{
  background:#030607;
  color:#f4f7f5;
}

.service-detail-hero{
  position:relative;
  min-height:760px;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 48%,rgba(49,232,120,.10),transparent 30%),
    #030607;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.service-detail-grid{
  position:absolute;
  inset:0;
  opacity:.3;
  background-image:
    linear-gradient(rgba(49,232,120,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(49,232,120,.06) 1px,transparent 1px);
  background-size:80px 80px;
  transform:perspective(700px) rotateX(58deg) scale(1.5);
  transform-origin:center bottom;
}

.service-detail-copy{
  position:relative;
  z-index:3;
  width:min(680px,90%);
  padding:155px 0 110px;
  margin-left:max(7vw,40px);
}

.service-detail-copy small,
.service-detail-label small,
.service-section-head small,
.service-workflow-label small,
.service-detail-final small{
  display:block;
  margin-bottom:28px;
  color:#31e878;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
}

.service-detail-copy h1{
  margin:0;
  font-size:clamp(62px,7vw,112px);
  line-height:.87;
  letter-spacing:-.06em;
}

.service-detail-copy h1 span{
  color:#68747a;
}

.service-detail-copy p{
  max-width:590px;
  margin:42px 0 0;
  color:#84939b;
  font-size:16px;
  line-height:1.75;
}

.service-detail-meta{
  display:flex;
  gap:35px;
  margin-top:55px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
}

.service-detail-meta span{
  color:#7d898e;
  font-size:9px;
  letter-spacing:.13em;
}

.service-detail-meta i{
  margin-right:8px;
  color:#31e878;
  font-style:normal;
}


/* HERO VISUAL */

.service-detail-visual{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.service-visual-grid{
  position:absolute;
  width:520px;
  height:520px;
  right:8%;
  top:50%;
  transform:translateY(-50%);
  border:1px solid rgba(49,232,120,.18);
  background-image:
    linear-gradient(rgba(49,232,120,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(49,232,120,.055) 1px,transparent 1px);
  background-size:42px 42px;
  border-radius:50%;
  box-shadow:
    0 0 0 70px rgba(49,232,120,.025),
    0 0 0 140px rgba(49,232,120,.015);
}

.service-visual-ring{
  position:absolute;
  border:1px solid rgba(49,232,120,.25);
  border-radius:50%;
}

.ring-1{
  width:300px;
  height:300px;
  right:18%;
  top:50%;
  transform:translateY(-50%);
}

.ring-2{
  width:150px;
  height:150px;
  right:calc(18% + 75px);
  top:50%;
  transform:translateY(-50%);
}

.service-visual-point{
  position:absolute;
  color:#31e878;
  font-size:25px;
  text-shadow:0 0 18px rgba(49,232,120,.8);
}

.point-1{
  right:28%;
  top:31%;
}

.point-2{
  right:12%;
  top:62%;
}

.point-3{
  right:38%;
  top:57%;
}

.service-visual-readout{
  position:absolute;
  right:6%;
  bottom:12%;
  width:285px;
  padding:18px;
  background:rgba(3,8,7,.75);
  border:1px solid rgba(49,232,120,.2);
  backdrop-filter:blur(8px);
}

.service-visual-readout small{
  display:block;
  color:#5d6c66;
  font-size:8px;
  letter-spacing:.17em;
}

.service-visual-readout strong{
  display:block;
  margin:6px 0;
  color:#31e878;
  font-size:21px;
  letter-spacing:.03em;
}

.service-visual-readout span{
  color:#718079;
  font-size:8px;
  letter-spacing:.12em;
}

.service-detail-bottom{
  position:absolute;
  z-index:4;
  left:max(7vw,40px);
  right:6%;
  bottom:30px;
  display:flex;
  align-items:center;
  gap:25px;
}

.service-detail-bottom span{
  color:#697570;
  font-size:9px;
  letter-spacing:.14em;
}

.service-detail-bottom em{
  flex:1;
  height:1px;
  background:rgba(255,255,255,.1);
}

.service-detail-bottom small{
  color:#53605d;
  font-size:8px;
  letter-spacing:.14em;
}


/* INTRO */

.service-detail-intro{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:80px;
  max-width:1250px;
  margin:0 auto;
  padding:150px 30px;
}

.service-detail-intro-content{
  max-width:850px;
}

.service-detail-intro h2{
  margin:0;
  font-size:clamp(55px,6vw,90px);
  line-height:.9;
  letter-spacing:-.055em;
}

.service-detail-intro h2 span{
  color:#68747a;
}

.service-detail-intro p{
  max-width:700px;
  margin:45px 0 0;
  color:#7d8b91;
  font-size:15px;
  line-height:1.85;
}


/* OUTPUT */

.service-output,
.service-applications{
  padding:140px max(5vw,30px);
  border-top:1px solid rgba(255,255,255,.08);
}

.service-section-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:end;
  max-width:1250px;
  margin:0 auto 70px;
}

.service-section-head h2{
  margin:0;
  font-size:clamp(50px,5vw,78px);
  line-height:.9;
  letter-spacing:-.055em;
}

.service-section-head h2 span{
  color:#68747a;
}

.service-section-head p{
  max-width:540px;
  margin:0;
  color:#7d8b91;
  font-size:15px;
  line-height:1.8;
}

.service-output-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  max-width:1400px;
  margin:0 auto;
  border-top:1px solid rgba(255,255,255,.1);
  border-left:1px solid rgba(255,255,255,.1);
}

.service-output-card{
  position:relative;
  min-height:390px;
  padding:28px;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  background:#050908;
  transition:.4s ease;
}

.service-output-card:hover{
  background:
    radial-gradient(circle at 50% 35%,rgba(49,232,120,.09),transparent 45%),
    #050908;
  border-color:rgba(49,232,120,.3);
  transform:translateY(-4px);
}

.service-output-card > span{
  color:#31e878;
  font-size:12px;
  font-weight:700;
}

.output-icon{
  position:relative;
  width:90px;
  height:90px;
  margin:45px 0 35px;
  border:1px solid rgba(49,232,120,.3);
  transform:rotate(45deg);
}

.output-icon i{
  position:absolute;
  display:block;
  background:#31e878;
}

.output-icon i:nth-child(1){
  width:1px;
  height:100%;
  left:50%;
}

.output-icon i:nth-child(2){
  width:100%;
  height:1px;
  top:50%;
}

.output-icon i:nth-child(3){
  width:9px;
  height:9px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}

.service-output-card h3{
  margin:0 0 13px;
  font-size:25px;
  letter-spacing:-.03em;
}

.service-output-card p{
  color:#728087;
  font-size:12px;
  line-height:1.7;
}

.service-output-card > small{
  position:absolute;
  left:28px;
  bottom:25px;
  color:#52605c;
  font-size:8px;
  letter-spacing:.14em;
}


/* WORKFLOW */

.service-workflow{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:80px;
  max-width:1250px;
  margin:0 auto;
  padding:150px 30px;
}

.service-workflow-content{
  max-width:1000px;
}

.service-workflow h2{
  margin:0;
  font-size:clamp(55px,6vw,90px);
  line-height:.9;
  letter-spacing:-.055em;
}

.service-workflow h2 span{
  color:#68747a;
}

.workflow-line{
  display:flex;
  align-items:stretch;
  margin-top:70px;
}

.workflow-line > div{
  flex:1;
}

.workflow-line strong{
  display:block;
  margin-bottom:14px;
  color:#31e878;
  font-size:12px;
}

.workflow-line span{
  display:block;
  margin-bottom:15px;
  color:#f0f4f2;
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
}

.workflow-line p{
  max-width:180px;
  margin:0;
  color:#6e7b81;
  font-size:11px;
  line-height:1.6;
}

.workflow-line > i{
  width:50px;
  height:1px;
  margin:8px 15px 0;
  background:#31e878;
  opacity:.4;
}


/* APPLICATIONS */

.application-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  max-width:1250px;
  margin:0 auto;
  border-top:1px solid rgba(255,255,255,.1);
  border-left:1px solid rgba(255,255,255,.1);
}

.application-item{
  display:grid;
  grid-template-columns:50px 150px 1fr;
  align-items:center;
  gap:20px;
  min-height:110px;
  padding:20px 25px;
  border-right:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
}

.application-item > span{
  color:#31e878;
  font-size:11px;
}

.application-item strong{
  font-size:10px;
  letter-spacing:.14em;
}

.application-item p{
  margin:0;
  color:#718087;
  font-size:11px;
}


/* FINAL */

.service-detail-final{
  padding:160px 30px;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at center,rgba(49,232,120,.08),transparent 45%),
    #030607;
}

.service-detail-final h2{
  margin:0;
  font-size:clamp(55px,7vw,100px);
  line-height:.9;
  letter-spacing:-.06em;
}

.service-detail-final h2 span{
  color:#68747a;
}

.service-detail-final p{
  max-width:600px;
  margin:35px auto 45px;
  color:#78868c;
  line-height:1.75;
}


/* RESPONSIVE */

@media(max-width:1000px){

  .service-detail-hero{
    min-height:700px;
  }

  .service-detail-copy{
    margin-left:30px;
  }

  .service-detail-visual{
    opacity:.4;
  }

  .service-section-head{
    grid-template-columns:1fr;
    gap:30px;
  }

  .service-output-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .service-detail-intro,
  .service-workflow{
    grid-template-columns:1fr;
    gap:30px;
  }

  .workflow-line{
    flex-wrap:wrap;
    gap:35px;
  }

  .workflow-line > i{
    display:none;
  }

}


@media(max-width:650px){

  .service-detail-hero{
    min-height:720px;
  }

  .service-detail-copy{
    width:auto;
    margin:0;
    padding:110px 25px 70px;
  }

  .service-detail-copy h1{
    font-size:58px;
  }

  .service-detail-meta{
    flex-wrap:wrap;
    gap:18px;
  }

  .service-visual-grid{
    width:340px;
    height:340px;
    right:-100px;
  }

  .service-visual-readout{
    right:20px;
    bottom:85px;
    width:220px;
  }

  .service-detail-bottom{
    left:25px;
    right:25px;
    gap:14px;
  }

  .service-detail-bottom span:nth-child(3){
    display:none;
  }

  .service-detail-intro,
  .service-workflow{
    padding:100px 25px;
  }

  .service-detail-intro h2,
  .service-workflow h2{
    font-size:50px;
  }

  .service-output,
  .service-applications{
    padding:90px 15px;
  }

  .service-section-head h2{
    font-size:50px;
  }

  .service-output-grid,
  .application-list{
    grid-template-columns:1fr;
  }

  .service-output-card{
    min-height:350px;
  }

  .application-item{
    grid-template-columns:40px 1fr;
  }

  .application-item p{
    grid-column:2;
  }

  .service-detail-final{
    padding:110px 25px;
  }

}
/* =========================================================
   FOTOGRAMMETRIA HERO IMAGE
   ========================================================= */

.service-visual-image{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  top:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#020504;
  border:0;
  box-shadow:none;
  transform:none;
}

.service-visual-image img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
}
.service-visual-image img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
}
.service-image-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(3,6,7,.35),
      transparent 40%,
      transparent 80%,
      rgba(3,6,7,.15)
    ),
    linear-gradient(
      0deg,
      rgba(3,6,7,.30),
      transparent 40%
    );
}
.service-image-label{
  position:absolute;
  left:22px;
  bottom:20px;
  padding:14px 18px;
  min-width:230px;
  background:rgba(3,8,7,.82);
  border-left:2px solid #31e878;
  backdrop-filter:blur(8px);
}

.service-image-label small{
  display:block;
  color:#687570;
  font-size:8px;
  letter-spacing:.16em;
}

.service-image-label strong{
  display:block;
  margin:5px 0;
  color:#31e878;
  font-size:16px;
  letter-spacing:.05em;
}

.service-image-label span{
  color:#899590;
  font-size:8px;
  letter-spacing:.10em;
}
.service-visual-image img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  object-fit:contain;
}

.service-image-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(3,6,7,.55) 0%,
      transparent 35%,
      transparent 75%,
      rgba(3,6,7,.20) 100%
    ),
    linear-gradient(
      0deg,
      rgba(3,6,7,.45),
      transparent 40%
    );
}

.service-image-label{
  position:absolute;
  left:22px;
  bottom:20px;

  min-width:230px;
  padding:14px 18px;

  background:rgba(3,8,7,.82);
  border-left:2px solid #31e878;

  backdrop-filter:blur(8px);
}

.service-image-label small{
  display:block;
  color:#687570;
  font-size:8px;
  letter-spacing:.16em;
}

.service-image-label strong{
  display:block;
  margin:5px 0;

  color:#31e878;
  font-size:16px;
  letter-spacing:.05em;
}

.service-image-label span{
  color:#899590;
  font-size:8px;
  letter-spacing:.10em;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1000px){

  .service-visual-image{
    right:2%;
    width:58vw;
    opacity:.65;
  }

}


@media(max-width:650px){

  .service-visual-image{
    right:-80px;
    top:52%;
    width:440px;
    opacity:.40;
  }

  .service-image-label{
    left:15px;
    bottom:15px;
    min-width:190px;
  }

}
/* =========================================
   OUTPUT CARD IMAGES
   ========================================= */

.service-output-card{
  position:relative;
  overflow:hidden;
}

.service-output-image{
  position:relative;
  width:100%;
  height:190px;
  overflow:hidden;
  margin-bottom:28px;
  background:#020504;
}

.service-output-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .6s ease, filter .6s ease;
}

.service-output-image-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.05) 0%,
      rgba(0,0,0,.15) 55%,
      rgba(0,0,0,.55) 100%
    );
  pointer-events:none;
}

.service-output-card:hover .service-output-image img{
  transform:scale(1.04);
  filter:brightness(.82);
}
/* =========================================
   PHOTOGRAMMETRY STORY
   ========================================= */

.photogrammetry-story{
  position:relative;
  padding:180px 0 170px;
  border-top:1px solid rgba(255,255,255,.08);
}

.photogrammetry-story-label{
  position:absolute;
  top:180px;
  left:0;
}

.photogrammetry-story-label small{
  font-size:10px;
  letter-spacing:.18em;
  color:#27e36a;
}

.photogrammetry-story-main{
  width:100%;
}

.photogrammetry-story-lead{
  width:58%;
  margin-left:18%;
  margin-bottom:150px;
}

.photogrammetry-story-text{
  width:68%;
  margin-left:18%;
}

.story-number{
  display:block;
  margin-bottom:25px;
  font-size:11px;
  letter-spacing:.18em;
  color:#27e36a;
}

.photogrammetry-story-lead h2{
  margin:0 0 35px;
  font-size:clamp(48px,5.5vw,88px);
  line-height:.92;
  letter-spacing:-.045em;
  font-weight:500;
}

.photogrammetry-story-lead h2 span{
  color:#27e36a;
}

.story-intro{
  max-width:650px;
  margin:0;
  font-size:20px;
  line-height:1.6;
  color:rgba(255,255,255,.62);
}

.story-intro strong,
.story-block p strong,
.story-highlight strong,
.story-final strong{
  color:#fff;
  font-weight:500;
}

.photogrammetry-story-text{
  width:78%;
  margin-left:auto;
}

.story-block{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:50px;
  max-width:900px;
  padding:80px 0;
  border-top:1px solid rgba(255,255,255,.08);
}

.story-block-offset{
  margin-left:15%;
}

.story-index{
  font-size:11px;
  letter-spacing:.15em;
  color:#27e36a;
  padding-top:12px;
}

.story-block h3{
  margin:0 0 25px;
  font-size:clamp(38px,4vw,65px);
  line-height:.95;
  letter-spacing:-.035em;
  font-weight:500;
}

.story-block h3 span{
  color:#27e36a;
}

.story-block p{
  max-width:650px;
  margin:0;
  font-size:17px;
  line-height:1.75;
  color:rgba(255,255,255,.52);
}


/* HIGHLIGHT */

.story-highlight{
  position:relative;
  margin:100px 0 80px;
  padding:80px 0 90px 15%;
  border-top:1px solid rgba(39,227,106,.25);
  border-bottom:1px solid rgba(39,227,106,.25);
}

.story-highlight span{
  display:block;
  margin-bottom:25px;
  font-size:10px;
  letter-spacing:.2em;
  color:#27e36a;
}

.story-highlight strong{
  display:block;
  margin-bottom:30px;
  font-size:clamp(42px,5vw,76px);
  line-height:.95;
  letter-spacing:-.04em;
  font-weight:500;
}

.story-highlight p{
  max-width:600px;
  margin:0;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,255,255,.5);
}


/* FINAL */

.story-final{
  max-width:900px;
  margin:100px 0 0 auto;
  padding-top:80px;
  border-top:1px solid rgba(255,255,255,.08);
}

.story-final small{
  display:block;
  margin-bottom:35px;
  font-size:10px;
  letter-spacing:.2em;
  color:#27e36a;
}

.story-final p{
  max-width:800px;
  margin:0 0 25px;
  font-size:21px;
  line-height:1.65;
  color:rgba(255,255,255,.62);
}


/* MOBILE */

@media (max-width: 800px){

  .photogrammetry-story{
    padding:110px 0;
  }

  .photogrammetry-story-label{
    position:static;
    margin-bottom:70px;
  }

  .photogrammetry-story-lead,
  .photogrammetry-story-text{
    width:100%;
  }

  .photogrammetry-story-lead{
    margin-bottom:100px;
  }

  .story-intro{
    font-size:17px;
  }

  .story-block{
    grid-template-columns:45px 1fr;
    gap:20px;
    padding:60px 0;
  }

  .story-block-offset{
    margin-left:0;
  }

  .story-block h3{
    font-size:38px;
  }

  .story-block p{
    font-size:15px;
  }

  .story-highlight{
    margin:70px 0;
    padding:60px 0;
  }

  .story-highlight strong{
    font-size:42px;
  }

  .story-final p{
    font-size:17px;
  }

}
/* =========================================================
   THERMOGRAPHY — TECHNOLOGY
   ========================================================= */

.thermal-intro {
  position: relative;
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 80px;
  padding: 180px 7vw 190px;
  border-top: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}

.thermal-intro::before {
  content: "THERMAL";
  position: absolute;
  right: -20px;
  bottom: -70px;
  font-size: clamp(100px, 18vw, 280px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.06em;
  color: rgba(255,255,255,.025);
  pointer-events: none;
}

.thermal-intro-label {
  position: relative;
  z-index: 2;
  padding-top: 10px;
}

.thermal-intro-label small {
  display: block;
  color: #20e46b;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
}

.thermal-intro-content {
  position: relative;
  z-index: 2;
  max-width: 1050px;
}

.thermal-intro-heading {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 45px;
  align-items: start;
  margin-bottom: 70px;
}

.thermal-intro-heading > small {
  padding-top: 18px;
  color: rgba(255,255,255,.42);
  font-size: 10px;
  letter-spacing: .2em;
}

.thermal-intro-heading h2 {
  margin: 0;
  font-size: clamp(58px, 7vw, 110px);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.055em;
  color: #f4f4f2;
}

.thermal-intro-heading h2 span {
  color: #20e46b;
}

.thermal-intro-text {
  max-width: 760px;
  margin-left: 225px;
}

.thermal-intro-text p {
  margin: 0 0 28px;
  color: rgba(255,255,255,.62);
  font-size: 18px;
  line-height: 1.8;
}

.thermal-intro-text p strong {
  color: #f4f4f2;
  font-weight: 500;
}

@media (max-width: 900px) {

  .thermal-intro {
    grid-template-columns: 1fr;
    gap: 45px;
    padding: 120px 6vw;
  }

  .thermal-intro-heading {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-bottom: 50px;
  }

  .thermal-intro-text {
    margin-left: 0;
  }

}

@media (max-width: 600px) {

  .thermal-intro {
    padding: 90px 24px;
  }

  .thermal-intro-heading h2 {
    font-size: 54px;
  }

  .thermal-intro-text p {
    font-size: 16px;
    line-height: 1.7;
  }

}
/* =========================================================
   THERMOGRAPHY — PRINCIPLES
   ========================================================= */

.thermal-principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 100px;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.thermal-principle {
  position: relative;
  min-height: 260px;
  padding: 35px 35px 40px;
  border-right: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
  transition: transform .5s ease, background .5s ease;
}

.thermal-principle:last-child {
  border-right: 0;
}

.thermal-principle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 2px;
  background: #20e46b;
  transition: width .6s ease;
}

.thermal-principle:hover {
  background: rgba(255,255,255,.025);
  transform: translateY(-5px);
}

.thermal-principle:hover::before {
  width: 100%;
}

.thermal-principle > span {
  display: block;
  margin-bottom: 55px;
  color: #20e46b;
  font-size: 11px;
  letter-spacing: .18em;
}

.thermal-principle strong {
  display: block;
  margin-bottom: 18px;
  color: #f4f4f2;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .18em;
}

.thermal-principle p {
  max-width: 300px;
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 15px;
  line-height: 1.7;
}

@media (max-width: 900px) {

  .thermal-principles {
    grid-template-columns: 1fr;
  }

  .thermal-principle {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .thermal-principle:last-child {
    border-bottom: 0;
  }

}
/* =========================================================
   THERMOGRAPHY — PHOTOVOLTAIC
   ========================================================= */

.thermal-photovoltaic {
  position: relative;
  padding: 170px 7vw 180px;
  border-top: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}

.thermal-photovoltaic-head {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
  gap: 100px;
  align-items: end;
  margin-bottom: 90px;
}

.thermal-photovoltaic-head small {
  display: block;
  margin-bottom: 25px;
  color: #20e46b;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
}

.thermal-photovoltaic-head h2 {
  max-width: 900px;
  margin: 0;
  color: #f4f4f2;
  font-size: clamp(52px, 6vw, 96px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.055em;
}

.thermal-photovoltaic-head h2 span {
  color: #20e46b;
}

.thermal-photovoltaic-head > p {
  max-width: 430px;
  margin: 0 0 5px;
  color: rgba(255,255,255,.58);
  font-size: 17px;
  line-height: 1.75;
}


/* IMMAGINE */

.thermal-photovoltaic-visual {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  background: #050707;
}

.thermal-photovoltaic-visual img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 1.2s cubic-bezier(.2,.7,.2,1);
}

.thermal-photovoltaic-visual:hover img {
  transform: scale(1.025);
}

.thermal-photovoltaic-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,.65),
    transparent 45%
  );
  pointer-events: none;
}

.thermal-photovoltaic-label {
  position: absolute;
  left: 35px;
  bottom: 30px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.thermal-photovoltaic-label small {
  color: #20e46b;
  font-size: 10px;
  letter-spacing: .18em;
}

.thermal-photovoltaic-label strong {
  color: #fff;
  font-size: 18px;
  letter-spacing: .08em;
}

.thermal-photovoltaic-label span {
  color: rgba(255,255,255,.55);
  font-size: 10px;
  letter-spacing: .14em;
}


/* ANOMALIE */

.thermal-anomalies {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 1px;
  border-left: 1px solid rgba(255,255,255,.08);
}

.thermal-anomaly {
  position: relative;
  min-height: 250px;
  padding: 32px;
  border-right: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
  transition: background .45s ease;
}

.thermal-anomaly::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: #20e46b;
  transition: width .55s ease;
}

.thermal-anomaly:hover {
  background: rgba(255,255,255,.025);
}

.thermal-anomaly:hover::before {
  width: 100%;
}

.thermal-anomaly > span {
  display: block;
  margin-bottom: 45px;
  color: #20e46b;
  font-size: 11px;
  letter-spacing: .18em;
}

.thermal-anomaly small {
  display: block;
  margin-bottom: 12px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  letter-spacing: .18em;
}

.thermal-anomaly h3 {
  margin: 0 0 18px;
  color: #f4f4f2;
  font-size: 23px;
  font-weight: 400;
  letter-spacing: -.02em;
}

.thermal-anomaly p {
  max-width: 280px;
  margin: 0;
  color: rgba(255,255,255,.52);
  font-size: 14px;
  line-height: 1.7;
}


/* FOOTER DELLA SEZIONE */

.thermal-photovoltaic-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 60px;
  margin-top: 70px;
  padding: 35px 0 0;
  border-top: 1px solid rgba(255,255,255,.08);
}

.thermal-photovoltaic-footer strong {
  color: #f4f4f2;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .04em;
}

.thermal-photovoltaic-footer strong span {
  color: #20e46b;
}

.thermal-benefits {
  display: flex;
  gap: 50px;
}

.thermal-benefits span {
  color: rgba(255,255,255,.4);
  font-size: 10px;
  letter-spacing: .18em;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

  .thermal-photovoltaic-head {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .thermal-anomalies {
    grid-template-columns: repeat(2, 1fr);
  }

}

@media (max-width: 650px) {

  .thermal-photovoltaic {
    padding: 110px 24px 120px;
  }

  .thermal-photovoltaic-head h2 {
    font-size: 52px;
  }

  .thermal-anomalies {
    grid-template-columns: 1fr;
  }

  .thermal-anomaly {
    min-height: auto;
  }

  .thermal-photovoltaic-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .thermal-benefits {
    flex-wrap: wrap;
    gap: 20px 35px;
  }

}
/* =========================================================
   THERMOGRAPHY — WORKFLOW
   ========================================================= */

.thermal-workflow {
  position: relative;
  padding: 170px 7vw 180px;
  border-top: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}

.thermal-workflow-content {
  max-width: 1400px;
  margin: 0 auto;
}

.thermal-workflow-heading {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 100px;
  align-items: end;
  margin-bottom: 120px;
}

.thermal-workflow-heading > small {
  grid-column: 1 / -1;
  margin-bottom: -65px;
  color: #20e46b;
  font-size: 10px;
  letter-spacing: .2em;
}

.thermal-workflow-heading h2 {
  margin: 0;
  color: #f4f4f2;
  font-size: clamp(52px, 6vw, 92px);
  font-weight: 400;
  line-height: .94;
  letter-spacing: -.055em;
}

.thermal-workflow-heading h2 span {
  color: #20e46b;
}

.thermal-workflow-heading p {
  max-width: 430px;
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 16px;
  line-height: 1.75;
}


/* TIMELINE */

.thermal-workflow-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.thermal-workflow-timeline::before {
  content: "";
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(255,255,255,.14);
}

.thermal-workflow-step {
  position: relative;
  padding-right: 45px;
}

.thermal-workflow-step:last-child {
  padding-right: 0;
}

.thermal-workflow-number {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  margin-bottom: 55px;
  border: 1px solid rgba(255,255,255,.2);
  background: #080a09;
  color: #20e46b;
  font-size: 12px;
  letter-spacing: .1em;
  transition: all .4s ease;
}

.thermal-workflow-step:hover .thermal-workflow-number {
  border-color: #20e46b;
  background: #20e46b;
  color: #050505;
  transform: scale(1.08);
}

.thermal-workflow-info small {
  display: block;
  margin-bottom: 18px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  letter-spacing: .2em;
}

.thermal-workflow-info h3 {
  margin: 0 0 20px;
  color: #f4f4f2;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: -.02em;
}

.thermal-workflow-info p {
  max-width: 270px;
  margin: 0;
  color: rgba(255,255,255,.5);
  font-size: 14px;
  line-height: 1.75;
}


/* PUNTO DI CONNESSIONE */

.thermal-workflow-line {
  display: none;
}


/* RESPONSIVE */

@media (max-width: 1000px) {

  .thermal-workflow-heading {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .thermal-workflow-heading > small {
    margin-bottom: -20px;
  }

  .thermal-workflow-timeline {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 80px;
  }

  .thermal-workflow-timeline::before {
    display: none;
  }

  .thermal-workflow-step {
    padding-right: 40px;
  }

}

@media (max-width: 650px) {

  .thermal-workflow {
    padding: 110px 24px 120px;
  }

  .thermal-workflow-heading h2 {
    font-size: 52px;
  }

  .thermal-workflow-timeline {
    grid-template-columns: 1fr;
    gap: 65px;
  }

  .thermal-workflow-step {
    padding-right: 0;
  }

  .thermal-workflow-number {
    margin-bottom: 30px;
  }

}
/* =========================================================
   THERMOGRAPHY — CERTIFIED INSPECTION
   ========================================================= */

.thermal-certification {
  position: relative;
  padding: 180px 7vw 190px;
  border-top: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}


/* =========================================================
   INTRO
   ========================================================= */

.thermal-certification-top {
  display: grid;
  grid-template-columns: .35fr 1.65fr;
  gap: 80px;
  max-width: 1400px;
  margin: 0 auto 120px;
}

.thermal-certification-label small {
  color: rgba(255,255,255,.35);
  font-size: 10px;
  letter-spacing: .2em;
}

.thermal-certification-intro {
  max-width: 1000px;
}

.thermal-certification-intro > small {
  display: block;
  margin-bottom: 25px;
  color: #20e46b;
  font-size: 10px;
  letter-spacing: .2em;
}

.thermal-certification-intro h2 {
  margin: 0 0 35px;
  color: #f4f4f2;
  font-size: clamp(58px, 7vw, 105px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.06em;
}

.thermal-certification-intro h2 span {
  color: #20e46b;
}

.thermal-certification-intro p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 17px;
  line-height: 1.8;
}


/* =========================================================
   MAIN CERTIFICATION BLOCK
   ========================================================= */

.thermal-certification-main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1400px;
  margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,.1);
  border-left: 1px solid rgba(255,255,255,.1);
}


/* LEFT */

.thermal-certification-statement {
  position: relative;
  padding: 65px 70px 75px;
  border-right: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.thermal-certification-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  margin-bottom: 65px;
  border: 1px solid #20e46b;
  border-radius: 50%;
}

.thermal-certification-mark span {
  color: #20e46b;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .1em;
}

.thermal-certification-statement > small {
  display: block;
  margin-bottom: 20px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  letter-spacing: .2em;
}

.thermal-certification-statement h3 {
  margin: 0 0 35px;
  color: #f4f4f2;
  font-size: clamp(42px, 4vw, 64px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
}

.thermal-certification-statement h3 span {
  color: #20e46b;
}

.thermal-certification-statement p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 15px;
  line-height: 1.85;
}

.thermal-certification-statement strong {
  color: #f4f4f2;
  font-weight: 500;
}


/* =========================================================
   TECHNICAL SPECS
   ========================================================= */

.thermal-certification-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: rgba(255,255,255,.015);
}

.thermal-certification-spec {
  position: relative;
  min-height: 280px;
  padding: 35px 40px;
  border-right: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.1);
  overflow: hidden;
  transition: background .45s ease;
}

.thermal-certification-spec:nth-child(2n) {
  border-right: 0;
}

.thermal-certification-spec:hover {
  background: rgba(255,255,255,.035);
}

.thermal-certification-spec::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: #20e46b;
  transition: width .5s ease;
}

.thermal-certification-spec:hover::after {
  width: 100%;
}

.thermal-certification-spec > span {
  display: block;
  margin-bottom: 55px;
  color: #20e46b;
  font-size: 10px;
  letter-spacing: .15em;
}

.thermal-certification-spec strong {
  display: block;
  color: #f4f4f2;
  font-size: clamp(30px, 3vw, 46px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.04em;
}

.thermal-certification-spec > small {
  display: block;
  margin-top: 7px;
  color: #20e46b;
  font-size: 9px;
  letter-spacing: .18em;
}

.thermal-certification-spec p {
  margin: 28px 0 0;
  color: rgba(255,255,255,.4);
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: .08em;
}


/* =========================================================
   FINAL RESULT
   ========================================================= */

.thermal-certification-bottom {
  display: grid;
  grid-template-columns: .35fr 1.65fr;
  gap: 80px;
  max-width: 1400px;
  margin: 130px auto 0;
  padding-top: 45px;
  border-top: 1px solid rgba(255,255,255,.1);
}

.thermal-certification-bottom-label small {
  color: rgba(255,255,255,.3);
  font-size: 9px;
  letter-spacing: .2em;
}

.thermal-certification-result {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 50px;
}

.thermal-certification-result-number {
  color: #20e46b;
  font-size: 12px;
  letter-spacing: .15em;
}

.thermal-certification-result small {
  display: block;
  margin-bottom: 20px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  letter-spacing: .2em;
}

.thermal-certification-result h3 {
  margin: 0 0 30px;
  color: #f4f4f2;
  font-size: clamp(42px, 4vw, 65px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
}

.thermal-certification-result h3 span {
  color: #20e46b;
}

.thermal-certification-result p {
  max-width: 700px;
  margin: 0 0 18px;
  color: rgba(255,255,255,.52);
  font-size: 15px;
  line-height: 1.8;
}

.thermal-certification-result strong {
  color: #f4f4f2;
  font-weight: 500;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

  .thermal-certification-top,
  .thermal-certification-bottom {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .thermal-certification-main {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 650px) {

  .thermal-certification {
    padding: 110px 24px 120px;
  }

  .thermal-certification-top {
    margin-bottom: 80px;
  }

  .thermal-certification-intro h2 {
    font-size: 54px;
  }

  .thermal-certification-statement {
    padding: 45px 30px 55px;
  }

  .thermal-certification-specs {
    grid-template-columns: 1fr;
  }

  .thermal-certification-spec {
    min-height: auto;
    padding: 30px;
  }

  .thermal-certification-spec:nth-child(2n) {
    border-right: 1px solid rgba(255,255,255,.1);
  }

  .thermal-certification-result {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .thermal-certification-result h3 {
    font-size: 45px;
  }

}
/* =========================================================
   THERMOGRAPHY — APPLICATIONS
   ========================================================= */

.thermal-applications {
  position: relative;
  padding: 180px 7vw 190px;
  border-top: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}


/* =========================================================
   HEADER
   ========================================================= */

.thermal-applications-head {
  display: grid;
  grid-template-columns: .35fr 1.65fr;
  gap: 80px;
  max-width: 1400px;
  margin: 0 auto 110px;
}

.thermal-applications-label small {
  color: rgba(255,255,255,.35);
  font-size: 10px;
  letter-spacing: .2em;
}

.thermal-applications-intro {
  max-width: 1000px;
}

.thermal-applications-intro > small {
  display: block;
  margin-bottom: 25px;
  color: #20e46b;
  font-size: 10px;
  letter-spacing: .2em;
}

.thermal-applications-intro h2 {
  margin: 0 0 35px;
  color: #f4f4f2;
  font-size: clamp(58px, 7vw, 105px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.06em;
}

.thermal-applications-intro h2 span {
  color: #20e46b;
}

.thermal-applications-intro p {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 17px;
  line-height: 1.8;
}


/* =========================================================
   APPLICATION GRID
   ========================================================= */

.thermal-applications-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 1400px;
  margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,.1);
  border-left: 1px solid rgba(255,255,255,.1);
}


/* CARD */

.thermal-application-card {
  position: relative;
  overflow: hidden;
  border-right: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: #070908;
}


/* IMAGE */

.thermal-application-image {
  position: relative;
  height: 430px;
  overflow: hidden;
  background: #050606;
}

.thermal-application-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform 1s cubic-bezier(.2,.7,.2,1),
    filter .8s ease;
}

.thermal-application-card:hover
.thermal-application-image img {
  transform: scale(1.055);
}

.thermal-application-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.08),
      rgba(0,0,0,.72)
    );
  pointer-events: none;
}

.thermal-application-image > span {
  position: absolute;
  top: 28px;
  right: 30px;
  color: #20e46b;
  font-size: 11px;
  letter-spacing: .18em;
}


/* CONTENT */

.thermal-application-content {
  position: relative;
  padding: 40px 45px 50px;
}

.thermal-application-content > small {
  display: block;
  margin-bottom: 18px;
  color: #20e46b;
  font-size: 9px;
  letter-spacing: .18em;
}

.thermal-application-content h3 {
  margin: 0 0 22px;
  color: #f4f4f2;
  font-size: clamp(32px, 3vw, 48px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.04em;
}

.thermal-application-content p {
  max-width: 520px;
  margin: 0 0 30px;
  color: rgba(255,255,255,.5);
  font-size: 14px;
  line-height: 1.75;
}

.thermal-application-content strong {
  color: rgba(255,255,255,.3);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .18em;
}


/* =========================================================
   BOTTOM STATEMENT
   ========================================================= */

.thermal-applications-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
  max-width: 1400px;
  margin: 120px auto 0;
  padding-top: 50px;
  border-top: 1px solid rgba(255,255,255,.1);
}

.thermal-applications-bottom small {
  display: block;
  margin-bottom: 22px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  letter-spacing: .2em;
}

.thermal-applications-bottom h3 {
  margin: 0;
  color: #f4f4f2;
  font-size: clamp(42px, 4.5vw, 68px);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.05em;
}

.thermal-applications-bottom h3 span {
  color: #20e46b;
}

.thermal-applications-bottom p {
  max-width: 560px;
  align-self: end;
  margin: 0;
  color: rgba(255,255,255,.5);
  font-size: 15px;
  line-height: 1.8;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

  .thermal-applications-head {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .thermal-applications-grid {
    grid-template-columns: 1fr;
  }

  .thermal-applications-bottom {
    grid-template-columns: 1fr;
    gap: 45px;
  }

}


@media (max-width: 650px) {

  .thermal-applications {
    padding: 110px 24px 120px;
  }

  .thermal-applications-intro h2 {
    font-size: 54px;
  }

  .thermal-application-image {
    height: 320px;
  }

  .thermal-application-content {
    padding: 32px 28px 40px;
  }

  .thermal-applications-bottom {
    margin-top: 80px;
  }

  .thermal-applications-bottom h3 {
    font-size: 48px;
  }

}
/* =========================================================
   SERVICES DROPDOWN
   ========================================================= */

.nav-dropdown {
  position: relative;
}

.nav-dropdown-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nav-dropdown-trigger span {
  font-size: 15px;
  line-height: 1;
  transition: transform .35s ease;
}

.nav-dropdown:hover .nav-dropdown-trigger span {
  transform: rotate(180deg);
}


/* PANNELLO */

.services-dropdown {
  position: absolute;
  top: calc(100% + 28px);
  left: 50%;
  transform: translateX(-50%) translateY(12px);

  width: 430px;

  padding: 10px;

  background: rgba(5, 8, 9, .97);
  border: 1px solid rgba(255,255,255,.12);

  box-shadow:
    0 25px 70px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(255,255,255,.04);

  opacity: 0;
  visibility: hidden;

  transition:
    opacity .3s ease,
    transform .3s ease,
    visibility .3s ease;

  z-index: 9999;
}


/* piccolo collegamento invisibile tra voce e pannello */

.services-dropdown::before {
  content: "";
  position: absolute;

  top: -29px;
  left: 0;

  width: 100%;
  height: 30px;
}


/* APERTURA */

.nav-dropdown:hover .services-dropdown {
  opacity: 1;
  visibility: visible;

  transform: translateX(-50%) translateY(0);
}


/* SINGOLA VOCE */

.service-menu-item {
  position: relative;

  display: grid;
  grid-template-columns: 38px 1fr 25px;
  align-items: center;

  gap: 12px;

  padding: 18px 16px;

  text-decoration: none;

  border-bottom: 1px solid rgba(255,255,255,.07);

  transition:
    background .25s ease,
    padding-left .25s ease;
}

.service-menu-item:last-child {
  border-bottom: 0;
}


/* NUMERO */

.service-menu-number {
  font-family: "Space Grotesk", sans-serif;

  font-size: 11px;
  font-weight: 700;

  color: #18e86a;

  letter-spacing: .08em;
}


/* TESTI */

.service-menu-item strong {
  display: block;

  font-family: "Space Grotesk", sans-serif;

  font-size: 13px;
  font-weight: 700;

  letter-spacing: .08em;

  color: #f5f5f5;

  transition: color .25s ease;
}

.service-menu-item small {
  display: block;

  margin-top: 5px;

  font-family: "Inter", sans-serif;

  font-size: 10px;

  color: rgba(255,255,255,.42);

  letter-spacing: .03em;

  transition: color .25s ease;
}


/* FRECCIA */

.service-menu-item b {
  font-size: 16px;
  font-weight: 400;

  color: rgba(255,255,255,.35);

  transform: translateX(-4px);

  transition:
    color .25s ease,
    transform .25s ease;
}


/* HOVER */

.service-menu-item:hover {
  background: rgba(24,232,106,.055);

  padding-left: 22px;
}

.service-menu-item:hover strong {
  color: #18e86a;
}

.service-menu-item:hover small {
  color: rgba(255,255,255,.65);
}

.service-menu-item:hover b {
  color: #18e86a;

  transform: translateX(0);
}


/* LINEA VERDE LATERALE */

.service-menu-item::before {
  content: "";

  position: absolute;

  left: 0;
  top: 0;
  bottom: 0;

  width: 2px;

  background: #18e86a;

  transform: scaleY(0);
  transform-origin: center;

  transition: transform .25s ease;
}

.service-menu-item:hover::before {
  transform: scaleY(1);
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 900px) {

  .nav-dropdown {
    width: 100%;
  }

  .nav-dropdown-trigger {
    width: 100%;
  }

  .services-dropdown {
    position: static;

    width: 100%;

    margin-top: 12px;

    transform: none;

    opacity: 1;
    visibility: visible;

    display: none;

    box-shadow: none;
  }

  .nav-dropdown:hover .services-dropdown {
    transform: none;
  }

  .nav-dropdown:focus-within .services-dropdown {
    display: block;
  }

}
/* =========================================================
   ISPEZIONI — SERVICE PAGE
   ========================================================= */


/* ---------------------------------------------------------
   HERO
   --------------------------------------------------------- */

.inspection-hero {
  position: relative;
}

.inspection-hero .service-detail-copy {
  z-index: 5;
}

.inspection-hero .service-detail-visual {
  z-index: 2;
}

.inspection-hero .service-visual-image {
  overflow: hidden;
}

.inspection-hero .service-visual-image img {
  transition: transform 1.2s cubic-bezier(.2,.7,.2,1);
}

.inspection-hero .service-visual-image:hover img {
  transform: scale(1.035);
}


/* ---------------------------------------------------------
   THE INSPECTION
   --------------------------------------------------------- */

.inspection-intro {
  position: relative;
  padding: 150px 0;
}

.inspection-intro-label {
  margin-bottom: 70px;
}

.inspection-intro-label small,
.inspection-intro-heading small,
.inspection-services-head small,
.inspection-why-heading small,
.inspection-data-head small,
.inspection-applications-head small,
.inspection-workflow-heading small {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.inspection-intro-content {
  max-width: 1250px;
  margin: 0 auto;
}

.inspection-intro-heading {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(420px, 1.1fr);
  gap: 80px;
  align-items: end;
}

.inspection-intro-heading h2 {
  margin: 15px 0 0;
  font-size: clamp(52px, 6vw, 100px);
  line-height: .92;
  letter-spacing: -.055em;
  font-weight: 800;
}

.inspection-intro-heading h2 span {
  opacity: .38;
}

.inspection-intro-text {
  max-width: 680px;
  margin: 75px 0 0 auto;
}

.inspection-intro-text p {
  margin: 0 0 25px;
  font-size: 18px;
  line-height: 1.7;
}

.inspection-intro-text strong {
  font-weight: 800;
}

.inspection-principles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 100px;
  border-top: 1px solid rgba(0,0,0,.14);
  border-bottom: 1px solid rgba(0,0,0,.14);
}

.inspection-principle {
  min-height: 250px;
  padding: 30px 25px;
  border-right: 1px solid rgba(0,0,0,.14);
}

.inspection-principle:last-child {
  border-right: 0;
}

.inspection-principle > span {
  display: block;
  margin-bottom: 55px;
  font-size: 11px;
  opacity: .45;
}

.inspection-principle strong {
  display: block;
  margin-bottom: 15px;
  font-size: 13px;
  letter-spacing: .14em;
}

.inspection-principle p {
  max-width: 220px;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  opacity: .65;
}


/* ---------------------------------------------------------
   WHAT WE INSPECT
   --------------------------------------------------------- */

.inspection-services {
  padding: 150px 0;
}

.inspection-services-head,
.inspection-data-head,
.inspection-applications-head {
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(350px, .8fr);
  justify-content: space-between;
  gap: 80px;
  align-items: end;
  margin-bottom: 80px;
}

.inspection-services-head h2,
.inspection-data-head h2,
.inspection-applications-head h2 {
  margin: 18px 0 0;
  font-size: clamp(50px, 6vw, 94px);
  line-height: .9;
  letter-spacing: -.055em;
}

.inspection-services-head h2 span,
.inspection-data-head h2 span,
.inspection-applications-head h2 span {
  opacity: .38;
}

.inspection-services-head > p,
.inspection-data-head > p,
.inspection-applications-head > p {
  max-width: 560px;
  margin: 0 0 5px auto;
  font-size: 16px;
  line-height: 1.7;
  opacity: .68;
}

.inspection-services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.inspection-service-card {
  position: relative;
  min-width: 0;
}

.inspection-service-image {
  position: relative;
  height: min(47vw, 610px);
  min-height: 420px;
  overflow: hidden;
  background: #111;
}

.inspection-service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition:
    transform 1s cubic-bezier(.2,.7,.2,1),
    filter .8s ease;
}

.inspection-service-card:hover img {
  transform: scale(1.055);
}

.inspection-service-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to top,
      rgba(0,0,0,.82) 0%,
      rgba(0,0,0,.25) 45%,
      rgba(0,0,0,.05) 100%
    );
  pointer-events: none;
}

.inspection-service-number {
  position: absolute;
  top: 28px;
  left: 30px;
  color: #fff;
  font-size: 11px;
  letter-spacing: .15em;
}

.inspection-service-label {
  position: absolute;
  left: 30px;
  bottom: 30px;
  color: #fff;
}

.inspection-service-label small {
  display: block;
  margin-bottom: 13px;
  font-size: 9px;
  letter-spacing: .18em;
  opacity: .65;
}

.inspection-service-label h3 {
  margin: 0;
  font-size: clamp(34px, 4vw, 62px);
  line-height: .9;
  letter-spacing: -.045em;
}

.inspection-service-arrow {
  position: absolute;
  right: 30px;
  bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  color: #fff;
  font-size: 19px;
  transition:
    transform .4s ease,
    background .4s ease;
}

.inspection-service-card:hover .inspection-service-arrow {
  transform: rotate(45deg);
  background: rgba(255,255,255,.12);
}


/* ---------------------------------------------------------
   WHY DRONE
   --------------------------------------------------------- */

.inspection-why {
  padding: 160px 0;
  background: #111;
  color: #fff;
}

.inspection-why-label {
  margin-bottom: 70px;
}

.inspection-why-heading h2 {
  margin: 18px 0 0;
  font-size: clamp(55px, 7vw, 110px);
  line-height: .88;
  letter-spacing: -.06em;
}

.inspection-why-heading h2 span {
  opacity: .38;
}

.inspection-why-content {
  max-width: 1250px;
  margin: 0 auto;
}

.inspection-why-text {
  max-width: 680px;
  margin: 75px 0 0 auto;
}

.inspection-why-text p {
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 1.7;
  opacity: .7;
}

.inspection-why-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 110px;
  border-top: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);
}

.inspection-why-stat {
  min-height: 290px;
  padding: 30px 25px;
  border-right: 1px solid rgba(255,255,255,.18);
}

.inspection-why-stat:last-child {
  border-right: 0;
}

.inspection-why-stat > span {
  display: block;
  margin-bottom: 75px;
  font-size: 11px;
  opacity: .4;
}

.inspection-why-stat strong {
  display: block;
  margin-bottom: 15px;
  font-size: 13px;
  letter-spacing: .15em;
}

.inspection-why-stat p {
  max-width: 220px;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  opacity: .55;
}


/* ---------------------------------------------------------
   INSPECTION DATA
   --------------------------------------------------------- */

.inspection-data {
  padding: 160px 0;
}

.inspection-data-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: rgba(0,0,0,.13);
  border-top: 1px solid rgba(0,0,0,.13);
  border-bottom: 1px solid rgba(0,0,0,.13);
}

.inspection-data-card {
  position: relative;
  min-height: 420px;
  padding: 35px;
  background: #fff;
  transition: transform .45s ease;
}

.inspection-data-card:hover {
  transform: translateY(-5px);
}

.inspection-data-card > span {
  position: absolute;
  top: 35px;
  right: 35px;
  font-size: 11px;
  opacity: .4;
}

.inspection-data-card > small {
  display: block;
  margin-bottom: 20px;
  font-size: 9px;
  letter-spacing: .18em;
  opacity: .5;
}

.inspection-data-card h3 {
  margin: 0 0 25px;
  font-size: clamp(32px, 3.5vw, 52px);
  line-height: .94;
  letter-spacing: -.045em;
}

.inspection-data-card p {
  max-width: 480px;
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  opacity: .62;
}

.inspection-data-icon {
  display: flex;
  gap: 5px;
  height: 35px;
  margin-bottom: 65px;
  align-items: flex-end;
}

.inspection-data-icon i {
  display: block;
  width: 7px;
  background: currentColor;
}

.inspection-data-icon i:nth-child(1) {
  height: 13px;
  opacity: .25;
}

.inspection-data-icon i:nth-child(2) {
  height: 23px;
  opacity: .5;
}

.inspection-data-icon i:nth-child(3) {
  height: 35px;
}

.inspection-data-statement {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 50px;
  margin-top: 110px;
}

.inspection-data-statement small {
  font-size: 9px;
  letter-spacing: .18em;
  opacity: .45;
}

.inspection-data-statement strong {
  font-size: clamp(45px, 6vw, 90px);
  line-height: .85;
  letter-spacing: -.06em;
  text-align: right;
}

.inspection-data-statement strong span {
  opacity: .35;
}


/* ---------------------------------------------------------
   APPLICATIONS
   --------------------------------------------------------- */

.inspection-applications {
  padding: 160px 0;
  background: #05070a !important;
  color: #edf1f3 !important;
}
.inspection-applications,
.inspection-applications *,
.inspection-application-list,
.inspection-application-item {
  background-color: transparent;
}

.inspection-applications {
  background: #05070a !important;
}

.inspection-application-item {
  color: #edf1f3;
  border-color: rgba(255,255,255,.16);
}

.inspection-workflow-line > i {
  background: rgba(255,255,255,.2);
}

.inspection-application-list {
  border-top: 1px solid rgba(0,0,0,.16);
}

.inspection-application-item {
  display: grid;
  grid-template-columns: 80px 1fr 60px;
  gap: 30px;
  align-items: center;
  min-height: 145px;
  padding: 25px 0;
  border-bottom: 1px solid rgba(0,0,0,.16);
  transition:
    padding .45s ease,
    background .45s ease;
}

.inspection-application-item > span {
  font-size: 11px;
  opacity: .4;
}

.inspection-application-item div {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 40px;
  align-items: center;
}

.inspection-application-item small {
  font-size: 9px;
  letter-spacing: .18em;
  opacity: .45;
}

.inspection-application-item h3 {
  margin: 0;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1;
  letter-spacing: -.045em;
}

.inspection-application-item p {
  max-width: 520px;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  opacity: .58;
}

.inspection-application-item > strong {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 50%;
  font-size: 18px;
  font-weight: 400;
  transition: transform .4s ease;
}

.inspection-application-item:hover {
  padding-left: 20px;
  padding-right: 20px;
}

.inspection-application-item:hover > strong {
  transform: rotate(45deg);
}

.inspection-applications-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 50px;
  margin-top: 120px;
}

.inspection-applications-bottom small {
  font-size: 9px;
  letter-spacing: .18em;
  opacity: .45;
}

.inspection-applications-bottom strong {
  font-size: clamp(45px, 6vw, 90px);
  line-height: .84;
  letter-spacing: -.06em;
  text-align: right;
}

.inspection-applications-bottom strong span {
  opacity: .35;
}


/* ---------------------------------------------------------
   WORKFLOW
   --------------------------------------------------------- */

.inspection-workflow {
  padding: 160px 0;
}

.inspection-workflow-label {
  margin-bottom: 70px;
}

.inspection-workflow-content {
  max-width: 1250px;
  margin: 0 auto;
}

.inspection-workflow-heading {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 80px;
  align-items: end;
}

.inspection-workflow-heading h2 {
  margin: 18px 0 0;
  font-size: clamp(50px, 6vw, 92px);
  line-height: .9;
  letter-spacing: -.055em;
}

.inspection-workflow-heading h2 span {
  opacity: .38;
}

.inspection-workflow-heading p {
  max-width: 500px;
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  opacity: .65;
}

.inspection-workflow-line {
  display: grid;
  grid-template-columns: 1fr 45px 1fr 45px 1fr 45px 1fr;
  gap: 20px;
  align-items: center;
  margin-top: 110px;
}

.inspection-workflow-step {
  min-height: 280px;
}

.inspection-workflow-step > strong {
  display: block;
  margin-bottom: 65px;
  font-size: 12px;
  opacity: .45;
}

.inspection-workflow-step > small {
  display: block;
  margin-bottom: 12px;
  font-size: 9px;
  letter-spacing: .18em;
  opacity: .5;
}

.inspection-workflow-step h3 {
  margin: 0 0 18px;
  font-size: 28px;
  letter-spacing: -.03em;
}

.inspection-workflow-step p {
  max-width: 230px;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  opacity: .6;
}

.inspection-workflow-line > i {
  position: relative;
  display: block;
  height: 1px;
  background: rgba(0,0,0,.2);
}

.inspection-workflow-line > i::after {
  content: "→";
  position: absolute;
  right: -4px;
  top: 50%;
  transform: translateY(-50%);
  font-style: normal;
  font-size: 13px;
  opacity: .5;
}


/* ---------------------------------------------------------
   FINAL CTA
   --------------------------------------------------------- */

.inspection-final {
  position: relative;
  padding: 180px 0 45px;
  overflow: hidden;
  background: #111;
  color: #fff;
}

.inspection-final-inner {
  max-width: 1250px;
  margin: 0 auto;
}

.inspection-final-inner > small {
  display: block;
  margin-bottom: 70px;
  font-size: 10px;
  letter-spacing: .18em;
  opacity: .45;
}

.inspection-final h2 {
  max-width: 1000px;
  margin: 0;
  font-size: clamp(65px, 9vw, 145px);
  line-height: .82;
  letter-spacing: -.07em;
}

.inspection-final h2 span {
  opacity: .38;
}

.inspection-final p {
  max-width: 570px;
  margin: 70px 0 45px auto;
  font-size: 17px;
  line-height: 1.7;
  opacity: .62;
}

.inspection-final .btn {
  margin-left: auto;
}

.inspection-final-meta {
  display: flex;
  gap: 30px;
  max-width: 1250px;
  margin: 150px auto 0;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,.18);
}

.inspection-final-meta span {
  font-size: 9px;
  letter-spacing: .17em;
  opacity: .45;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

  .inspection-intro,
  .inspection-services,
  .inspection-why,
  .inspection-data,
  .inspection-applications,
  .inspection-workflow {
    padding: 110px 0;
  }

  .inspection-intro-heading,
  .inspection-services-head,
  .inspection-data-head,
  .inspection-applications-head,
  .inspection-workflow-heading {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .inspection-intro-text,
  .inspection-services-head > p,
  .inspection-data-head > p,
  .inspection-applications-head > p {
    margin-left: 0;
    margin-right: 0;
  }

  .inspection-principles,
  .inspection-why-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .inspection-principle:nth-child(2),
  .inspection-why-stat:nth-child(2) {
    border-right: 0;
  }

  .inspection-principle:nth-child(-n+2),
  .inspection-why-stat:nth-child(-n+2) {
    border-bottom: 1px solid rgba(0,0,0,.14);
  }

  .inspection-why-stat:nth-child(-n+2) {
    border-bottom-color: rgba(255,255,255,.18);
  }

  .inspection-services-grid {
    grid-template-columns: 1fr;
  }

  .inspection-service-image {
    height: 70vw;
    min-height: 450px;
  }

  .inspection-workflow-line {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .inspection-workflow-line > i {
    width: 100%;
    margin: 25px 0;
  }

  .inspection-workflow-line > i::after {
    content: "↓";
    right: 0;
  }

  .inspection-workflow-step {
    min-height: auto;
    padding: 25px 0;
  }

  .inspection-workflow-step > strong {
    margin-bottom: 35px;
  }

  .inspection-application-item {
    grid-template-columns: 50px 1fr 50px;
  }

  .inspection-application-item div {
    grid-template-columns: 1fr;
    gap: 10px;
  }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 650px) {

  .inspection-intro,
  .inspection-services,
  .inspection-why,
  .inspection-data,
  .inspection-applications,
  .inspection-workflow {
    padding: 85px 0;
  }

  .inspection-intro-label,
  .inspection-why-label,
  .inspection-workflow-label {
    margin-bottom: 45px;
  }

  .inspection-intro-heading h2,
  .inspection-services-head h2,
  .inspection-data-head h2,
  .inspection-applications-head h2 {
    font-size: clamp(44px, 13vw, 70px);
  }

  .inspection-intro-text,
  .inspection-why-text {
    margin-top: 45px;
  }

  .inspection-intro-text p,
  .inspection-why-text p {
    font-size: 16px;
  }

  .inspection-principles,
  .inspection-why-stats {
    grid-template-columns: 1fr;
    margin-top: 70px;
  }

  .inspection-principle,
  .inspection-why-stat {
    min-height: auto;
    padding: 28px 20px;
    border-right: 0;
    border-bottom: 1px solid rgba(0,0,0,.14);
  }

  .inspection-principle:last-child,
  .inspection-why-stat:last-child {
    border-bottom: 0;
  }

  .inspection-principle > span,
  .inspection-why-stat > span {
    margin-bottom: 35px;
  }

  .inspection-service-image {
    height: 115vw;
    min-height: 400px;
  }

  .inspection-service-label {
    left: 20px;
    bottom: 22px;
  }

  .inspection-service-number {
    left: 20px;
    top: 20px;
  }

  .inspection-service-arrow {
    right: 20px;
    bottom: 20px;
  }

  .inspection-data-grid {
    grid-template-columns: 1fr;
  }

  .inspection-data-card {
    min-height: 360px;
    padding: 28px 22px;
  }

  .inspection-data-statement,
  .inspection-applications-bottom {
    display: block;
    margin-top: 75px;
  }

  .inspection-data-statement strong,
  .inspection-applications-bottom strong {
    display: block;
    margin-top: 35px;
    text-align: left;
    font-size: 50px;
  }

  .inspection-application-item {
    grid-template-columns: 35px 1fr 42px;
    gap: 15px;
    min-height: 130px;
  }

  .inspection-application-item:hover {
    padding-left: 10px;
    padding-right: 10px;
  }

  .inspection-application-item h3 {
    font-size: 28px;
  }

  .inspection-application-item p {
    font-size: 12px;
  }

  .inspection-final {
    padding: 110px 0 30px;
  }

  .inspection-final-inner > small {
    margin-bottom: 45px;
  }

  .inspection-final h2 {
    font-size: clamp(54px, 15vw, 85px);
  }

  .inspection-final p {
    margin: 50px 0 35px;
    font-size: 15px;
  }

  .inspection-final .btn {
    margin-left: 0;
  }

  .inspection-final-meta {
    flex-wrap: wrap;
    gap: 15px 25px;
    margin-top: 90px;
  }

}
/* =========================================================
   ISPEZIONI — HERO TEXT
   ========================================================= */

.inspection-hero .service-detail-copy {
  color: #fff;
  text-shadow: 0 2px 18px rgba(0,0,0,.45);
}

.inspection-hero .service-detail-copy small {
  color: #fff;
  opacity: .9;
}

.inspection-hero .service-detail-copy h1 {
  color: #fff;
  text-shadow: 0 3px 25px rgba(0,0,0,.55);
}

.inspection-hero .service-detail-copy h1 span {
  color: #fff;
  opacity: .95;
}

.inspection-hero .service-detail-copy > p {
  color: #fff;
  opacity: .9;
  text-shadow: 0 2px 14px rgba(0,0,0,.5);
}

.inspection-hero .service-detail-meta {
  color: #fff;
}

.inspection-hero .service-detail-meta span {
  color: #fff;
}

.inspection-hero .service-detail-meta i {
  color: #fff;
  opacity: .7;
}
/* =========================================================
   ISPEZIONI — FIX VISIBILITÀ SEZIONI
   ========================================================= */

.inspection-applications.r,
.inspection-workflow.r {
  opacity: 1;
  transform: none;
}
/* =========================================================
   FIX DEFINITIVO — FOOTER PAGINA ISPEZIONI
   ========================================================= */

html,
body {
    background: #05070a !important;
}

main {
    background: #05070a !important;
}

footer,
.footer,
.site-footer {
    background: #05070a !important;
    color: #edf1f3;
}
/* =========================================================
   L.A. THERMAL ANALYSIS — SOFTWARE PAGE
   ========================================================= */

.thermal-software-page{
  background:#05070a;
  color:#edf1f3;
  overflow:hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.software-hero{
  position:relative;
  min-height:calc(100vh - 82px);
  padding:120px 6vw 55px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:70px;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 75% 45%,rgba(32,228,107,.08),transparent 32%),
    #05070a;
}

.software-hero-grid{
  position:absolute;
  inset:0;
  opacity:.22;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:70px 70px;
  mask-image:linear-gradient(to bottom,black,transparent 90%);
}

.software-hero-copy{
  position:relative;
  z-index:2;
  max-width:680px;
}

.software-hero-copy > small{
  display:block;
  margin-bottom:32px;
  color:#20e46b;
  font-size:9px;
  font-weight:800;
  letter-spacing:.2em;
}

.software-hero-copy h1{
  margin:0;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(58px,6.5vw,110px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:600;
}

.software-hero-copy h1 span{
  color:#20e46b;
}

.software-hero-copy p{
  max-width:590px;
  margin:38px 0 0;
  color:rgba(237,241,243,.58);
  font-size:16px;
  line-height:1.8;
}

.software-hero-actions{
  display:flex;
  align-items:center;
  gap:30px;
  margin-top:42px;
}

.software-hero-actions .btn{
  display:inline-flex;
  align-items:center;
  gap:20px;
}

.software-text-link{
  color:rgba(237,241,243,.55);
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
  text-decoration:none;
  transition:.3s;
}

.software-text-link:hover{
  color:#20e46b;
}

.software-hero-meta{
  display:flex;
  gap:35px;
  margin-top:65px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.1);
}

.software-hero-meta span{
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.38);
  font-size:8px;
  letter-spacing:.15em;
}

.software-hero-meta i{
  color:#20e46b;
  font-style:normal;
}


/* =========================================================
   HERO SOFTWARE IMAGE
   ========================================================= */

.software-hero-visual{
  position:relative;
  z-index:2;
}

.software-hero-image{
  position:relative;
  min-height:570px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:#090d10;
  box-shadow:
    0 35px 90px rgba(0,0,0,.55),
    0 0 60px rgba(32,228,107,.05);
}

.software-hero-image img{
  width:100%;
  height:100%;
  min-height:570px;
  display:block;
  object-fit:cover;
  object-position:center;
}

.software-hero-overlay{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.3)),
    linear-gradient(90deg,rgba(0,0,0,.18),transparent 50%);
}

.software-hero-image:after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(32,228,107,.14);
  pointer-events:none;
}

.software-hero-label{
  position:absolute;
  left:28px;
  bottom:28px;
  z-index:3;
  padding:17px 20px;
  min-width:280px;
  background:rgba(3,7,8,.82);
  border:1px solid rgba(32,228,107,.28);
  backdrop-filter:blur(12px);
}

.software-hero-label small,
.software-hero-label strong,
.software-hero-label span{
  display:block;
}

.software-hero-label small{
  color:rgba(255,255,255,.4);
  font-size:7px;
  letter-spacing:.18em;
}

.software-hero-label strong{
  margin-top:6px;
  color:#20e46b;
  font-family:"Space Grotesk",sans-serif;
  font-size:18px;
}

.software-hero-label span{
  margin-top:6px;
  color:rgba(255,255,255,.48);
  font-size:7px;
  letter-spacing:.13em;
}

.software-hero-bottom{
  position:absolute;
  left:6vw;
  right:6vw;
  bottom:20px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:35px;
}

.software-hero-bottom span,
.software-hero-bottom small{
  color:rgba(255,255,255,.35);
  font-size:7px;
  letter-spacing:.17em;
}

.software-hero-bottom em{
  flex:1;
  height:1px;
  background:rgba(255,255,255,.1);
}


/* =========================================================
   INTRO
   ========================================================= */

.software-intro{
  padding:170px 7vw;
  border-top:1px solid rgba(255,255,255,.08);
}

.software-section-number small{
  color:rgba(255,255,255,.3);
  font-size:8px;
  letter-spacing:.2em;
}

.software-intro-content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  max-width:1450px;
  margin:70px auto 0;
}

.software-intro-heading small,
.software-features-heading small{
  color:#20e46b;
  font-size:8px;
  font-weight:800;
  letter-spacing:.2em;
}

.software-intro-heading h2,
.software-features-heading h2{
  margin:25px 0 0;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(45px,5vw,78px);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:500;
}

.software-intro-heading h2 span,
.software-features-heading h2 span{
  display:block;
  color:#20e46b;
}

.software-intro-text{
  padding-top:20px;
}

.software-intro-text p{
  max-width:650px;
  margin:0 0 28px;
  color:rgba(255,255,255,.55);
  font-size:15px;
  line-height:1.85;
}

.software-intro-text strong{
  color:#edf1f3;
  font-weight:500;
}


/* =========================================================
   SHOWCASE
   ========================================================= */

.software-showcase{
  padding:160px 6vw;
  background:#080c0f;
  border-top:1px solid rgba(255,255,255,.08);
}

.software-showcase-head,
.software-report-head,
.software-licenses-head{
  max-width:1450px;
  margin:0 auto 75px;
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:100px;
  align-items:end;
}

.software-showcase-head small,
.software-report-head small,
.software-licenses-head small{
  color:#20e46b;
  font-size:8px;
  letter-spacing:.2em;
}

.software-showcase-head h2,
.software-report-head h2,
.software-licenses-head h2{
  margin:25px 0 0;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(52px,5.5vw,88px);
  line-height:.92;
  letter-spacing:-.055em;
  font-weight:500;
}

.software-showcase-head h2 span,
.software-report-head h2 span,
.software-licenses-head h2 span{
  color:#20e46b;
}

.software-showcase-head p,
.software-report-head p,
.software-licenses-head > p{
  margin:0;
  color:rgba(255,255,255,.48);
  font-size:14px;
  line-height:1.8;
}

.software-screen{
  position:relative;
  max-width:1500px;
  margin:auto;
  border:1px solid rgba(255,255,255,.12);
  background:#030607;
  overflow:hidden;
  box-shadow:0 35px 90px rgba(0,0,0,.5);
}

.software-screen img{
  display:block;
  width:100%;
  height:auto;
}

.software-screen:after{
  content:"";
  position:absolute;
  inset:20px;
  border:1px solid rgba(32,228,107,.12);
  pointer-events:none;
}

.software-screen-tag{
  position:absolute;
  right:25px;
  bottom:25px;
  padding:14px 18px;
  background:rgba(2,7,8,.85);
  border:1px solid rgba(32,228,107,.3);
  backdrop-filter:blur(10px);
}

.software-screen-tag small,
.software-screen-tag strong{
  display:block;
}

.software-screen-tag small{
  color:rgba(255,255,255,.38);
  font-size:7px;
  letter-spacing:.18em;
}

.software-screen-tag strong{
  margin-top:5px;
  color:#20e46b;
  font-size:11px;
  letter-spacing:.13em;
}


/* =========================================================
   FEATURES
   ========================================================= */

.software-features{
  padding:170px 7vw;
  border-top:1px solid rgba(255,255,255,.08);
}

.software-features-content{
  max-width:1450px;
  margin:70px auto 0;
}

.software-feature-list{
  margin-top:100px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
}

.software-feature{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:30px;
  min-height:250px;
  padding:45px 40px;
  border-top:1px solid rgba(255,255,255,.1);
  transition:.35s;
}

.software-feature:nth-child(odd){
  border-right:1px solid rgba(255,255,255,.1);
}

.software-feature:hover{
  background:rgba(32,228,107,.035);
}

.software-feature > span{
  color:#20e46b;
  font-size:10px;
  letter-spacing:.15em;
}

.software-feature small{
  color:rgba(255,255,255,.32);
  font-size:8px;
  letter-spacing:.18em;
}

.software-feature h3{
  margin:15px 0 18px;
  font-family:"Space Grotesk",sans-serif;
  color:#edf1f3;
  font-size:25px;
  font-weight:500;
}

.software-feature p{
  max-width:430px;
  margin:0;
  color:rgba(255,255,255,.45);
  font-size:13px;
  line-height:1.75;
}


/* =========================================================
   ANALYSIS IMAGE
   ========================================================= */

.software-analysis-image{
  padding:160px 6vw;
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:80px;
  align-items:center;
  background:#070b0d;
  border-top:1px solid rgba(255,255,255,.08);
}

.software-analysis-copy{
  max-width:500px;
}

.software-analysis-copy small{
  color:#20e46b;
  font-size:8px;
  letter-spacing:.2em;
}

.software-analysis-copy h2{
  margin:25px 0;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(52px,5vw,80px);
  line-height:.92;
  letter-spacing:-.05em;
  font-weight:500;
}

.software-analysis-copy h2 span{
  color:#20e46b;
}

.software-analysis-copy p{
  color:rgba(255,255,255,.5);
  font-size:14px;
  line-height:1.8;
}

.software-analysis-visual{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}

.software-analysis-visual img{
  display:block;
  width:100%;
}

.software-analysis-label{
  position:absolute;
  left:25px;
  bottom:25px;
  padding:13px 17px;
  background:rgba(2,7,8,.84);
  border:1px solid rgba(32,228,107,.3);
}

.software-analysis-label small,
.software-analysis-label strong{
  display:block;
}

.software-analysis-label small{
  color:rgba(255,255,255,.35);
  font-size:7px;
  letter-spacing:.18em;
}

.software-analysis-label strong{
  margin-top:5px;
  color:#20e46b;
  font-size:10px;
  letter-spacing:.12em;
}


/* =========================================================
   REPORT
   ========================================================= */

.software-report{
  padding:170px 6vw;
  border-top:1px solid rgba(255,255,255,.08);
}

.software-report-visual{
  position:relative;
  max-width:1250px;
  margin:auto;
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  box-shadow:0 40px 100px rgba(0,0,0,.55);
}

.software-report-visual img{
  display:block;
  width:100%;
}

.software-report-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55));
}

.software-report-label{
  position:absolute;
  left:30px;
  bottom:30px;
  z-index:2;
  padding:16px 20px;
  background:rgba(3,7,8,.86);
  border:1px solid rgba(32,228,107,.28);
}

.software-report-label small,
.software-report-label strong,
.software-report-label span{
  display:block;
}

.software-report-label small{
  color:rgba(255,255,255,.35);
  font-size:7px;
  letter-spacing:.18em;
}

.software-report-label strong{
  margin-top:6px;
  color:#20e46b;
  font-size:12px;
  letter-spacing:.1em;
}

.software-report-label span{
  margin-top:5px;
  color:rgba(255,255,255,.4);
  font-size:7px;
  letter-spacing:.12em;
}


/* =========================================================
   DJI MATRICE 4T
   ========================================================= */

.software-platform{
  padding:170px 7vw;
  border-top:1px solid rgba(255,255,255,.08);
}

.software-platform-content{
  max-width:1450px;
  margin:75px auto 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
}

.software-platform-heading small{
  color:#20e46b;
  font-size:8px;
  letter-spacing:.2em;
}

.software-platform-heading h2{
  margin:25px 0 0;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(50px,5vw,82px);
  line-height:.94;
  letter-spacing:-.05em;
  font-weight:500;
}

.software-platform-heading h2 span{
  color:#20e46b;
}

.software-platform-text{
  padding-top:15px;
}

.software-platform-text p{
  margin:0 0 25px;
  color:rgba(255,255,255,.5);
  font-size:15px;
  line-height:1.8;
}

.software-platform-text strong{
  color:#edf1f3;
}

.software-platform-specs{
  max-width:1450px;
  margin:100px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
}

.software-platform-specs > div{
  padding:35px;
  border-right:1px solid rgba(255,255,255,.1);
}

.software-platform-specs > div:last-child{
  border-right:0;
}

.software-platform-specs span,
.software-platform-specs strong{
  display:block;
}

.software-platform-specs span{
  color:rgba(255,255,255,.3);
  font-size:7px;
  letter-spacing:.18em;
}

.software-platform-specs strong{
  margin-top:12px;
  color:#20e46b;
  font-family:"Space Grotesk",sans-serif;
  font-size:14px;
}


/* =========================================================
   LICENSES
   ========================================================= */

.software-licenses{
  padding:170px 7vw;
  background:#080c0f;
  border-top:1px solid rgba(255,255,255,.08);
}

.software-license-grid{
  max-width:1450px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
}

.software-license{
  position:relative;
  min-height:350px;
  padding:45px;
  border-right:1px solid rgba(255,255,255,.1);
}

.software-license:last-child{
  border-right:0;
}

.software-license.featured{
  background:rgba(32,228,107,.045);
}

.software-license-number{
  position:absolute;
  top:45px;
  right:45px;
  color:#20e46b;
  font-size:9px;
}

.software-license small{
  color:rgba(255,255,255,.35);
  font-size:8px;
  letter-spacing:.2em;
}

.software-license h3{
  margin:25px 0 20px;
  font-family:"Space Grotesk",sans-serif;
  font-size:42px;
  font-weight:500;
  letter-spacing:-.04em;
}

.software-license p{
  max-width:330px;
  min-height:80px;
  color:rgba(255,255,255,.48);
  font-size:13px;
  line-height:1.75;
}

.software-license > strong{
  display:block;
  margin-top:45px;
  color:#20e46b;
  font-size:8px;
  letter-spacing:.17em;
}

.software-license-note{
  max-width:1450px;
  margin:70px auto 0;
  padding:35px 0;
  display:grid;
  grid-template-columns:.4fr .6fr 1fr;
  gap:40px;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.1);
}

.software-license-note span{
  color:rgba(255,255,255,.3);
  font-size:8px;
  letter-spacing:.18em;
}

.software-license-note > strong{
  color:#20e46b;
  font-family:"Space Grotesk",sans-serif;
  font-size:25px;
}

.software-license-note p{
  margin:0;
  color:rgba(255,255,255,.45);
  font-size:12px;
  line-height:1.6;
}

.software-license-note p strong{
  color:#edf1f3;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.software-access{
  position:relative;
  padding:180px 7vw 60px;
  background:
    radial-gradient(circle at 50% 30%,rgba(32,228,107,.09),transparent 35%),
    #05070a;
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}

.software-access-inner{
  position:relative;
  z-index:2;
  max-width:900px;
  margin:auto;
  text-align:center;
}

.software-access-inner > small{
  color:#20e46b;
  font-size:8px;
  letter-spacing:.2em;
}

.software-access-inner h2{
  margin:30px 0;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(55px,7vw,105px);
  line-height:.88;
  letter-spacing:-.06em;
  font-weight:500;
}

.software-access-inner h2 span{
  color:#20e46b;
}

.software-access-inner p{
  max-width:650px;
  margin:0 auto 40px;
  color:rgba(255,255,255,.5);
  font-size:15px;
  line-height:1.8;
}

.software-access-inner .btn{
  display:inline-flex;
  align-items:center;
  gap:20px;
}

.software-access-meta{
  position:relative;
  z-index:2;
  max-width:1450px;
  margin:140px auto 0;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;
  justify-content:space-between;
}

.software-access-meta span{
  color:rgba(255,255,255,.28);
  font-size:7px;
  letter-spacing:.18em;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1000px){

  .software-hero{
    grid-template-columns:1fr;
    padding-top:100px;
    padding-bottom:100px;
  }

  .software-hero-image,
  .software-hero-image img{
    min-height:480px;
  }

  .software-hero-bottom{
    display:none;
  }

  .software-intro-content,
  .software-platform-content,
  .software-analysis-image{
    grid-template-columns:1fr;
    gap:55px;
  }

  .software-showcase-head,
  .software-report-head,
  .software-licenses-head{
    grid-template-columns:1fr;
    gap:35px;
  }

  .software-feature-list{
    grid-template-columns:1fr;
  }

  .software-feature:nth-child(odd){
    border-right:0;
  }

  .software-license-grid{
    grid-template-columns:1fr;
  }

  .software-license{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.1);
  }

  .software-license:last-child{
    border-bottom:0;
  }

  .software-platform-specs{
    grid-template-columns:1fr;
  }

  .software-platform-specs > div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.1);
  }

  .software-license-note{
    grid-template-columns:1fr;
    gap:15px;
  }

}

@media(max-width:650px){

  .software-hero{
    padding:80px 24px;
  }

  .software-hero-copy h1{
    font-size:55px;
  }

  .software-hero-actions{
    flex-direction:column;
    align-items:flex-start;
  }

  .software-hero-meta{
    flex-wrap:wrap;
    gap:18px;
  }

  .software-hero-image,
  .software-hero-image img{
    min-height:330px;
  }

  .software-hero-label{
    left:15px;
    right:15px;
    bottom:15px;
    min-width:0;
  }

  .software-intro,
  .software-showcase,
  .software-features,
  .software-analysis-image,
  .software-report,
  .software-platform,
  .software-licenses{
    padding:110px 24px;
  }

  .software-feature{
    grid-template-columns:40px 1fr;
    gap:15px;
    padding:35px 15px;
  }

  .software-feature h3{
    font-size:22px;
  }

  .software-license{
    padding:35px 25px;
  }

  .software-access{
    padding:120px 24px 40px;
  }

  .software-access-meta{
    margin-top:90px;
    flex-wrap:wrap;
    gap:20px 35px;
  }

}
.software-license-note p a,
.software-access-contact a{
  color:#20e46b;
  text-decoration:none;
  transition:.3s;
}

.software-license-note p a:hover,
.software-access-contact a:hover{
  text-decoration:underline;
}

.software-access-contact{
  margin-top:30px;
}

.software-access-contact small{
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,.3);
  font-size:7px;
  letter-spacing:.18em;
}

.software-access-contact a{
  font-size:14px;
  font-weight:600;
  letter-spacing:.04em;
}
/* =========================================================
   L.A. THERMAL ANALYSIS — MOTION
   ========================================================= */

/* Elementi inizialmente nascosti */
.thermal-software-page .r{
  opacity:0;
  transform:translateY(45px);
  transition:
    opacity .9s ease,
    transform .9s cubic-bezier(.22,1,.36,1);
}

/* Quando entrano nella viewport */
.thermal-software-page .r.is-visible{
  opacity:1;
  transform:translateY(0);
}


/* =========================================================
   HERO
   ========================================================= */

.software-hero-copy{
  transition-delay:.05s;
}

.software-hero-visual{
  transition-delay:.18s;
}

.software-hero-meta{
  transition-delay:.35s;
}

.software-hero-image{
  transform:scale(1.035);
  transition:transform 1.4s cubic-bezier(.22,1,.36,1);
}

.software-hero-visual.is-visible .software-hero-image{
  transform:scale(1);
}


/* =========================================================
   HERO IMAGE — MOVIMENTO LEGGERO
   ========================================================= */

@keyframes softwareHeroGlow{

  0%{
    opacity:.25;
    transform:translateX(-10%);
  }

  50%{
    opacity:.55;
  }

  100%{
    opacity:.25;
    transform:translateX(10%);
  }

}

.software-hero-overlay{
  overflow:hidden;
}

.software-hero-overlay:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-35%;
  width:30%;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(32,228,107,.10),
    transparent
  );
  transform:skewX(-15deg);
  animation:softwareHeroGlow 7s ease-in-out infinite;
}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.software-intro-heading,
.software-features-heading,
.software-platform-heading{
  transition-delay:.08s;
}

.software-intro-text,
.software-platform-text{
  transition-delay:.18s;
}


/* =========================================================
   FEATURES — ENTRATA SEQUENZIALE
   ========================================================= */

.software-feature{
  opacity:0;
  transform:translateY(35px);
  transition:
    opacity .75s ease,
    transform .75s cubic-bezier(.22,1,.36,1),
    background .35s ease;
}

.software-feature.is-visible{
  opacity:1;
  transform:translateY(0);
}

.software-feature:nth-child(1){
  transition-delay:.05s;
}

.software-feature:nth-child(2){
  transition-delay:.12s;
}

.software-feature:nth-child(3){
  transition-delay:.19s;
}

.software-feature:nth-child(4){
  transition-delay:.26s;
}

.software-feature:nth-child(5){
  transition-delay:.33s;
}

.software-feature:nth-child(6){
  transition-delay:.40s;
}


/* =========================================================
   FEATURE NUMBER
   ========================================================= */

.software-feature > span{
  transition:
    color .35s ease,
    transform .35s ease;
}

.software-feature:hover > span{
  transform:translateX(6px);
  color:#edf1f3;
}


/* =========================================================
   SCREEN / REPORT
   ========================================================= */

.software-screen,
.software-analysis-visual,
.software-report-visual{
  transition:
    transform 1s cubic-bezier(.22,1,.36,1),
    box-shadow 1s ease;
}

.software-screen.is-visible,
.software-analysis-visual.is-visible,
.software-report-visual.is-visible{
  transform:translateY(0);
  box-shadow:
    0 35px 90px rgba(0,0,0,.55),
    0 0 50px rgba(32,228,107,.045);
}


/* =========================================================
   SCREEN IMAGE HOVER
   ========================================================= */

.software-screen img,
.software-analysis-visual img,
.software-report-visual img{
  transition:
    transform 1.2s cubic-bezier(.22,1,.36,1);
}

.software-screen:hover img,
.software-analysis-visual:hover img,
.software-report-visual:hover img{
  transform:scale(1.018);
}


/* =========================================================
   TECHNICAL LABELS
   ========================================================= */

.software-screen-tag,
.software-analysis-label,
.software-report-label{
  transition:
    transform .4s ease,
    border-color .4s ease;
}

.software-screen:hover .software-screen-tag,
.software-analysis-visual:hover .software-analysis-label,
.software-report-visual:hover .software-report-label{
  transform:translateY(-5px);
  border-color:rgba(32,228,107,.55);
}


/* =========================================================
   DJI SPECS
   ========================================================= */

.software-platform-specs > div{
  position:relative;
  overflow:hidden;
  transition:
    background .35s ease,
    transform .35s ease;
}

.software-platform-specs > div:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:#20e46b;
  transition:width .5s ease;
}

.software-platform-specs > div:hover{
  background:rgba(32,228,107,.035);
}

.software-platform-specs > div:hover:after{
  width:100%;
}


/* =========================================================
   LICENSES
   ========================================================= */

.software-license{
  opacity:0;
  transform:translateY(40px);
  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.22,1,.36,1),
    background .35s ease;
}

.software-license.is-visible{
  opacity:1;
  transform:translateY(0);
}

.software-license:nth-child(1){
  transition-delay:.05s;
}

.software-license:nth-child(2){
  transition-delay:.18s;
}

.software-license:nth-child(3){
  transition-delay:.31s;
}

.software-license:hover{
  background:rgba(32,228,107,.035);
}

.software-license.featured:hover{
  background:rgba(32,228,107,.07);
}


/* =========================================================
   LICENSE NOTE
   ========================================================= */

.software-license-note{
  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.22,1,.36,1);
}


/* =========================================================
   CTA
   ========================================================= */

.software-access-inner{
  transition:
    opacity 1s ease,
    transform 1s cubic-bezier(.22,1,.36,1);
}

.software-access-meta{
  transition:
    opacity 1s ease .25s,
    transform 1s cubic-bezier(.22,1,.36,1) .25s;
}


/* =========================================================
   ACCESS BUTTON
   ========================================================= */

.software-access-inner .btn,
.software-hero-actions .btn{
  position:relative;
  overflow:hidden;
  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.software-access-inner .btn:after,
.software-hero-actions .btn:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:-120%;
  width:70%;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.25),
    transparent
  );
  transform:skewX(-20deg);
  transition:left .7s ease;
}

.software-access-inner .btn:hover,
.software-hero-actions .btn:hover{
  transform:translateY(-3px);
}

.software-access-inner .btn:hover:after,
.software-hero-actions .btn:hover:after{
  left:140%;
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

  .thermal-software-page .r,
  .software-feature,
  .software-license{
    opacity:1;
    transform:none;
    transition:none;
  }

  .software-hero-image,
  .software-screen img,
  .software-analysis-visual img,
  .software-report-visual img{
    transform:none;
    transition:none;
  }

  .software-hero-overlay:after{
    animation:none;
  }

}
/* =========================================================
   L.A. THERMAL ANALYSIS — REQUEST FORM
   ========================================================= */

.software-request{
  position:relative;
  padding:170px 7vw;
  background:#05070a;
  border-top:1px solid rgba(255,255,255,.08);
}

.software-request-inner{
  max-width:1450px;
  margin:auto;
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:110px;
  align-items:start;
}

.software-request-heading{
  position:sticky;
  top:120px;
}

.software-request-heading > small{
  color:#20e46b;
  font-size:8px;
  font-weight:800;
  letter-spacing:.2em;
}

.software-request-heading h2{
  margin:25px 0 30px;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(52px,5vw,82px);
  line-height:.92;
  letter-spacing:-.05em;
  font-weight:500;
}

.software-request-heading h2 span{
  color:#20e46b;
}

.software-request-heading > p{
  max-width:500px;
  margin:0;
  color:rgba(255,255,255,.48);
  font-size:14px;
  line-height:1.85;
}

.software-request-contact{
  margin-top:55px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.1);
}

.software-request-contact small{
  display:block;
  margin-bottom:10px;
  color:rgba(255,255,255,.3);
  font-size:7px;
  letter-spacing:.18em;
}

.software-request-contact a{
  color:#20e46b;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}

.software-request-contact a:hover{
  text-decoration:underline;
}


/* =========================================================
   FORM CONTAINER
   ========================================================= */

.software-request-form-wrap{
  padding:45px;
  background:#080d10;
  border:1px solid rgba(255,255,255,.1);
}

.software-request-form{
  display:block;
}

.software-form-group{
  margin-bottom:45px;
}

.software-form-group > label,
.software-field > label{
  display:block;
  margin-bottom:15px;
  color:rgba(255,255,255,.42);
  font-size:8px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.software-form-group label sup,
.software-field label sup{
  color:#20e46b;
}


/* =========================================================
   REQUEST TYPE
   ========================================================= */

.software-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.software-choice{
  position:relative;
  cursor:pointer;
}

.software-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.software-choice span{
  display:block;
  min-height:105px;
  padding:22px;
  border:1px solid rgba(255,255,255,.1);
  background:#05080a;
  transition:.3s;
}

.software-choice strong,
.software-choice small{
  display:block;
}

.software-choice strong{
  color:#edf1f3;
  font-family:"Space Grotesk",sans-serif;
  font-size:18px;
  font-weight:500;
}

.software-choice small{
  margin-top:8px;
  color:rgba(255,255,255,.35);
  font-size:8px;
  letter-spacing:.05em;
}

.software-choice:hover span{
  border-color:rgba(32,228,107,.35);
}

.software-choice input:checked + span{
  background:rgba(32,228,107,.06);
  border-color:#20e46b;
  box-shadow:inset 3px 0 0 #20e46b;
}

.software-choice input:checked + span strong{
  color:#20e46b;
}


/* =========================================================
   PC SELECTOR
   ========================================================= */

.software-pc-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}

.software-pc-option{
  position:relative;
  cursor:pointer;
  text-align:center;
}

.software-pc-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.software-pc-option span{
  display:block;
  padding:20px 10px 6px;
  border:1px solid rgba(255,255,255,.1);
  background:#05080a;
  color:#edf1f3;
  font-family:"Space Grotesk",sans-serif;
  font-size:24px;
  transition:.3s;
}

.software-pc-option small{
  display:block;
  padding:0 10px 15px;
  border:1px solid rgba(255,255,255,.1);
  border-top:0;
  background:#05080a;
  color:rgba(255,255,255,.3);
  font-size:7px;
  letter-spacing:.15em;
}

.software-pc-option:hover span{
  color:#20e46b;
}

.software-pc-option input:checked + span{
  border-color:#20e46b;
  background:rgba(32,228,107,.06);
  color:#20e46b;
}

.software-pc-option input:checked + span + small{
  border-color:#20e46b;
  color:#20e46b;
}


/* =========================================================
   TEXT FIELDS
   ========================================================= */

.software-form-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px 20px;
}

.software-field input,
.software-field textarea{
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:16px 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.15);
  outline:0;
  background:transparent;
  color:#edf1f3;
  font-family:Inter,sans-serif;
  font-size:14px;
  border-radius:0;
  transition:border-color .3s;
}

.software-field input:focus,
.software-field textarea:focus{
  border-color:#20e46b;
}

.software-field textarea{
  min-height:130px;
  resize:vertical;
}

.software-message-field{
  margin-top:35px;
}


/* =========================================================
   PRIVACY
   ========================================================= */

.software-privacy{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:35px;
  cursor:pointer;
}

.software-privacy input{
  flex:0 0 auto;
  width:16px;
  height:16px;
  margin:0;
  accent-color:#20e46b;
}

.software-privacy span{
  color:rgba(255,255,255,.36);
  font-size:10px;
  line-height:1.6;
}


/* =========================================================
   SUBMIT
   ========================================================= */

.software-form-submit{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  margin-top:35px;
  padding:20px 22px;
  border:1px solid #20e46b;
  background:#20e46b;
  color:#05070a;
  cursor:pointer;
  font-family:Inter,sans-serif;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
  overflow:hidden;
  transition:.3s;
}

.software-form-submit strong{
  font-size:18px;
  font-weight:500;
}

.software-form-submit:hover{
  background:#edf1f3;
  border-color:#edf1f3;
  transform:translateY(-2px);
}

.software-form-required{
  margin:14px 0 0;
  color:rgba(255,255,255,.22);
  font-size:8px;
}


/* =========================================================
   HONEYPOT
   ========================================================= */

.software-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* =========================================================
   ERROR
   ========================================================= */

.software-form-error{
  margin-bottom:30px;
  padding:15px 18px;
  border-left:2px solid #e34b4b;
  background:rgba(227,75,75,.06);
  color:#ff8d8d;
  font-size:11px;
  line-height:1.6;
}


/* =========================================================
   SUCCESS
   ========================================================= */

.software-form-success{
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.software-form-success > span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:55px;
  height:55px;
  margin-bottom:30px;
  border:1px solid #20e46b;
  border-radius:50%;
  color:#20e46b;
  font-size:22px;
}

.software-form-success > small{
  color:#20e46b;
  font-size:8px;
  letter-spacing:.18em;
}

.software-form-success h3{
  margin:25px 0;
  font-family:"Space Grotesk",sans-serif;
  font-size:65px;
  line-height:.9;
  font-weight:500;
  letter-spacing:-.05em;
}

.software-form-success h3 strong{
  color:#20e46b;
}

.software-form-success p{
  max-width:500px;
  color:rgba(255,255,255,.48);
  font-size:14px;
  line-height:1.8;
}

.software-form-back{
  display:inline-block;
  margin-top:30px;
  color:#20e46b;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-decoration:none;
}

.software-form-back:hover{
  text-decoration:underline;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1000px){

  .software-request-inner{
    grid-template-columns:1fr;
    gap:60px;
  }

  .software-request-heading{
    position:static;
  }

  .software-choice-grid{
    grid-template-columns:1fr;
  }

}

@media(max-width:650px){

  .software-request{
    padding:110px 24px;
  }

  .software-request-form-wrap{
    padding:25px 20px;
  }

  .software-form-fields{
    grid-template-columns:1fr;
    gap:25px;
  }

  .software-pc-grid{
    gap:6px;
  }

  .software-pc-option span{
    padding:15px 5px 5px;
    font-size:20px;
  }

  .software-pc-option small{
    padding:0 5px 12px;
  }

  .software-form-success h3{
    font-size:50px;
  }

}
/* =========================================================
   MOBILE MENU — SOFTWARE DROPDOWN
   ========================================================= */

.mobile-dropdown{
  width:100%;
}

.mobile-dropdown-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}

.mobile-dropdown-arrow{
  transition:transform .3s ease;
}

.mobile-dropdown.open .mobile-dropdown-arrow{
  transform:rotate(180deg);
}

.mobile-dropdown-content{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .35s ease;
  overflow:hidden;
}

.mobile-dropdown.open .mobile-dropdown-content{
  grid-template-rows:1fr;
}

.mobile-dropdown-content > a{
  min-height:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 0 0 20px;
  color:rgba(255,255,255,.55);
  font-size:.75em;
  transition:
    color .25s ease,
    padding .25s ease;
}

.mobile-dropdown.open .mobile-dropdown-content > a{
  padding-top:14px;
  padding-bottom:14px;
}

.mobile-dropdown-content > a:hover{
  color:#20e46b;
}

.mobile-dropdown-content > a span:last-child{
  color:#20e46b;
}
/* =========================================================
   FOTO & VIDEO — PAGE
   ========================================================= */

.foto-video-page{
  background:#050708;
  color:#fff;
  overflow:hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.fv-hero{
  position:relative;
  min-height:calc(100vh - 120px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
}

.fv-hero-image{
  position:absolute;
  inset:0;
  z-index:-3;
}

.fv-hero-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.fv-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(
      90deg,
      rgba(3,6,7,.94) 0%,
      rgba(3,6,7,.78) 32%,
      rgba(3,6,7,.18) 72%,
      rgba(3,6,7,.08) 100%
    ),
    linear-gradient(
      0deg,
      rgba(3,6,7,.72) 0%,
      transparent 45%
    );
}

.fv-hero-bg{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
}

.fv-hero-content{
  width:min(1450px, calc(100% - 100px));
  margin:0 auto;
  padding:130px 0 70px;
}

.fv-hero-content > small{
  display:block;
  margin-bottom:28px;
  color:#20e46b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.fv-hero-content h1{
  max-width:900px;
  margin:0;
  font-family:'Space Grotesk', sans-serif;
  font-size:clamp(58px, 7vw, 118px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:700;
}

.fv-hero-content h1 span{
  display:block;
  color:#20e46b;
}

.fv-hero-content p{
  max-width:610px;
  margin:38px 0 0;
  color:rgba(255,255,255,.72);
  font-size:17px;
  line-height:1.7;
}

.fv-hero-actions{
  display:flex;
  align-items:center;
  gap:35px;
  margin-top:42px;
}

.fv-hero-actions .btn{
  display:inline-flex;
  align-items:center;
  gap:18px;
}

.fv-text-link{
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-decoration:none;
  transition:.3s ease;
}

.fv-text-link:hover{
  color:#20e46b;
}

.fv-hero-meta{
  display:flex;
  gap:55px;
  margin-top:75px;
}

.fv-hero-meta span{
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.65);
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
}

.fv-hero-meta i{
  color:#20e46b;
  font-style:normal;
}


/* =========================================================
   INTRO
   ========================================================= */

.fv-intro{
  width:min(1450px, calc(100% - 100px));
  margin:0 auto;
  padding:150px 0;
  border-top:1px solid rgba(255,255,255,.1);
}

.fv-section-number{
  margin-bottom:65px;
  color:rgba(255,255,255,.28);
  font-size:11px;
  letter-spacing:.15em;
}

.fv-intro-content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
}

.fv-intro-content small,
.fv-services-head small,
.fv-applications-head small,
.fv-workflow-head small,
.fv-cinematic-content small,
.fv-cta-inner small{
  display:block;
  margin-bottom:22px;
  color:#20e46b;
  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
}

.fv-intro h2,
.fv-services h2,
.fv-workflow h2{
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(42px,5vw,78px);
  line-height:.95;
  letter-spacing:-.045em;
}

.fv-intro h2 span,
.fv-services h2 span,
.fv-workflow h2 span,
.fv-applications h2 span,
.fv-cta h2 span{
  color:#20e46b;
}

.fv-intro-content p{
  max-width:600px;
  margin:0 0 25px;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}

.fv-intro-content .fv-lead{
  color:#fff;
  font-size:21px;
  line-height:1.55;
}


/* =========================================================
   SERVICES
   ========================================================= */

.fv-services{
  padding:150px max(50px, calc((100% - 1450px)/2));
  background:#080b0c;
}

.fv-services-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:100px;
  margin-bottom:90px;
}

.fv-services-head p{
  align-self:end;
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:15px;
  line-height:1.8;
}

.fv-service-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid rgba(255,255,255,.12);
}

.fv-service{
  position:relative;
  display:grid;
  grid-template-columns:55px 1fr 30px;
  gap:25px;
  min-height:280px;
  padding:45px 35px;
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:
    background .35s ease,
    transform .35s ease;
}

.fv-service:nth-child(odd){
  border-right:1px solid rgba(255,255,255,.12);
}

.fv-service:hover{
  background:rgba(255,255,255,.025);
}

.fv-service-number{
  color:#20e46b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
}

.fv-service small{
  color:rgba(255,255,255,.35);
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
}

.fv-service h3{
  margin:15px 0 15px;
  font-family:'Space Grotesk',sans-serif;
  font-size:30px;
  line-height:1;
  letter-spacing:-.025em;
}

.fv-service p{
  max-width:430px;
  margin:0;
  color:rgba(255,255,255,.52);
  font-size:14px;
  line-height:1.7;
}

.fv-service-arrow{
  align-self:start;
  color:#20e46b;
  font-size:18px;
  transition:transform .3s ease;
}

.fv-service:hover .fv-service-arrow{
  transform:translate(4px,-4px);
}


/* =========================================================
   CINEMATIC
   ========================================================= */

.fv-cinematic{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
}

.fv-cinematic-image{
  position:absolute;
  inset:0;
  z-index:-3;
}

.fv-cinematic-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9);
}

.fv-cinematic-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(
      90deg,
      rgba(3,6,7,.9),
      rgba(3,6,7,.2) 70%
    ),
    linear-gradient(
      0deg,
      rgba(3,6,7,.8),
      transparent 65%
    );
}

.fv-cinematic-content{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:100px 0;
}

.fv-cinematic-content h2{
  max-width:900px;
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(50px,6vw,92px);
  line-height:.92;
  letter-spacing:-.05em;
}

.fv-cinematic-content h2 span{
  color:#20e46b;
}

.fv-cinematic-content p{
  max-width:570px;
  margin:35px 0 0;
  color:rgba(255,255,255,.68);
  font-size:16px;
  line-height:1.8;
}


/* =========================================================
   APPLICATIONS
   ========================================================= */

.fv-applications{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:150px 0;
}

.fv-applications-head{
  margin-bottom:80px;
}

.fv-applications h2{
  max-width:800px;
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(48px,6vw,90px);
  line-height:.92;
  letter-spacing:-.05em;
}

.fv-application-list{
  border-top:1px solid rgba(255,255,255,.12);
}

.fv-application{
  display:grid;
  grid-template-columns:70px 1fr 1.3fr 35px;
  align-items:center;
  gap:25px;
  padding:35px 10px;
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:
    padding .3s ease,
    background .3s ease;
}

.fv-application:hover{
  padding-left:25px;
  padding-right:25px;
  background:rgba(255,255,255,.02);
}

.fv-application > span{
  color:#20e46b;
  font-size:10px;
  font-weight:700;
}

.fv-application strong{
  font-size:13px;
  letter-spacing:.08em;
}

.fv-application p{
  margin:0;
  color:rgba(255,255,255,.5);
  font-size:13px;
}

.fv-application b{
  color:#20e46b;
  font-size:17px;
}


/* =========================================================
   WORKFLOW
   ========================================================= */

.fv-workflow{
  padding:150px max(50px,calc((100% - 1450px)/2));
  background:#080b0c;
}

.fv-workflow-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:100px;
  margin-bottom:85px;
}

.fv-workflow-head p{
  align-self:end;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:15px;
  line-height:1.8;
}

.fv-workflow-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.fv-workflow-step{
  min-height:250px;
  padding:35px 25px;
  border-right:1px solid rgba(255,255,255,.12);
}

.fv-workflow-step:last-child{
  border-right:0;
}

.fv-workflow-step > span{
  display:block;
  margin-bottom:70px;
  color:#20e46b;
  font-size:10px;
  font-weight:700;
}

.fv-workflow-step strong{
  display:block;
  margin-bottom:15px;
  font-size:12px;
  letter-spacing:.1em;
}

.fv-workflow-step p{
  margin:0;
  color:rgba(255,255,255,.45);
  font-size:13px;
  line-height:1.65;
}


/* =========================================================
   CTA
   ========================================================= */

.fv-cta{
  position:relative;
  min-height:650px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:120px max(50px,calc((100% - 1450px)/2)) 45px;
  background:
    radial-gradient(
      circle at 80% 30%,
      rgba(32,228,107,.08),
      transparent 30%
    ),
    #050708;
}

.fv-cta-inner{
  max-width:900px;
}

.fv-cta h2{
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(58px,7vw,110px);
  line-height:.88;
  letter-spacing:-.055em;
}

.fv-cta p{
  max-width:570px;
  margin:40px 0;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}

.fv-cta .btn{
  display:inline-flex;
  align-items:center;
  gap:18px;
}

.fv-cta-meta{
  display:flex;
  gap:45px;
  margin-top:120px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.12);
}

.fv-cta-meta span{
  color:rgba(255,255,255,.32);
  font-size:9px;
  font-weight:700;
  letter-spacing:.17em;
}


/* =========================================================
   SCROLL REVEAL
   ========================================================= */

.foto-video-page .r,
.foto-video-page .fv-service,
.foto-video-page .fv-application,
.foto-video-page .fv-workflow-step{
  opacity:0;
  transform:translateY(35px);
  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.2,.7,.2,1);
}

.foto-video-page .is-visible{
  opacity:1;
  transform:none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1100px){

  .fv-hero-content,
  .fv-intro,
  .fv-applications,
  .fv-cinematic-content{
    width:calc(100% - 70px);
  }

  .fv-services,
  .fv-workflow,
  .fv-cta{
    padding-left:35px;
    padding-right:35px;
  }

  .fv-intro-content,
  .fv-services-head,
  .fv-workflow-head{
    grid-template-columns:1fr;
    gap:50px;
  }

  .fv-workflow-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .fv-workflow-step:nth-child(2){
    border-right:0;
  }

  .fv-workflow-step:nth-child(4){
    border-right:0;
  }

  .fv-workflow-step:last-child{
    border-right:1px solid rgba(255,255,255,.12);
  }

}


@media(max-width:750px){

  .fv-hero{
    min-height:720px;
  }

  .fv-hero-content{
    width:calc(100% - 48px);
    padding:100px 0 50px;
  }

  .fv-hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(3,6,7,.94),
        rgba(3,6,7,.58)
      ),
      linear-gradient(
        0deg,
        rgba(3,6,7,.88),
        transparent 60%
      );
  }

  .fv-hero-content h1{
    font-size:clamp(48px,13vw,72px);
  }

  .fv-hero-content p{
    font-size:15px;
  }

  .fv-hero-actions{
    flex-direction:column;
    align-items:flex-start;
    gap:25px;
  }

  .fv-hero-meta{
    flex-wrap:wrap;
    gap:20px 30px;
    margin-top:55px;
  }

  .fv-intro{
    width:calc(100% - 48px);
    padding:100px 0;
  }

  .fv-services,
  .fv-workflow,
  .fv-cta{
    padding:100px 24px;
  }

  .fv-service-grid{
    grid-template-columns:1fr;
  }

  .fv-service:nth-child(odd){
    border-right:0;
  }

  .fv-service{
    min-height:0;
    grid-template-columns:40px 1fr 20px;
    padding:35px 15px;
  }

  .fv-service h3{
    font-size:25px;
  }

  .fv-cinematic{
    min-height:600px;
  }

  .fv-cinematic-content{
    width:calc(100% - 48px);
    padding:80px 0;
  }

  .fv-cinematic-content h2{
    font-size:clamp(45px,12vw,70px);
  }

  .fv-applications{
    width:calc(100% - 48px);
    padding:100px 0;
  }

  .fv-application{
    grid-template-columns:40px 1fr 20px;
    gap:15px;
  }

  .fv-application p{
    display:none;
  }

  .fv-workflow-grid{
    grid-template-columns:1fr;
  }

  .fv-workflow-step{
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .fv-workflow-step:last-child{
    border-right:0;
    border-bottom:0;
  }

  .fv-workflow-step > span{
    margin-bottom:40px;
  }

  .fv-cta{
    min-height:580px;
  }

  .fv-cta-meta{
    flex-wrap:wrap;
    gap:20px 30px;
    margin-top:80px;
  }

}


@media(prefers-reduced-motion:reduce){

  .foto-video-page .r,
  .foto-video-page .fv-service,
  .foto-video-page .fv-application,
  .foto-video-page .fv-workflow-step{
    opacity:1;
    transform:none;
    transition:none;
  }

}
/* =========================================================
   IMMOBILIARE — PAGE
   ========================================================= */

.immobiliare-page{
  background:#050708;
  color:#fff;
  overflow:hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.im-hero{
  position:relative;
  min-height:calc(100vh - 120px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
}

.im-hero-image{
  position:absolute;
  inset:0;
  z-index:-3;
}

.im-hero-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.im-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(
      90deg,
      rgba(3,6,7,.95) 0%,
      rgba(3,6,7,.78) 35%,
      rgba(3,6,7,.22) 75%,
      rgba(3,6,7,.08) 100%
    ),
    linear-gradient(
      0deg,
      rgba(3,6,7,.78) 0%,
      transparent 55%
    );
}

.im-hero-grid{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.18;
  background-image:
    linear-gradient(
      rgba(255,255,255,.08) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.08) 1px,
      transparent 1px
    );
  background-size:80px 80px;
  mask-image:linear-gradient(
    90deg,
    #000,
    transparent 80%
  );
}

.im-hero-content{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:130px 0 70px;
}

.im-hero-content > small{
  display:block;
  margin-bottom:28px;
  color:#20e46b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.im-hero-content h1{
  max-width:950px;
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(58px,7vw,118px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:700;
}

.im-hero-content h1 span{
  display:block;
  color:#20e46b;
}

.im-hero-content p{
  max-width:620px;
  margin:38px 0 0;
  color:rgba(255,255,255,.72);
  font-size:17px;
  line-height:1.7;
}

.im-hero-actions{
  display:flex;
  align-items:center;
  gap:35px;
  margin-top:42px;
}

.im-hero-actions .btn{
  display:inline-flex;
  align-items:center;
  gap:18px;
}

.im-text-link{
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-decoration:none;
  transition:.3s ease;
}

.im-text-link:hover{
  color:#20e46b;
}

.im-hero-meta{
  display:flex;
  gap:55px;
  margin-top:75px;
}

.im-hero-meta span{
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.65);
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
}

.im-hero-meta i{
  color:#20e46b;
  font-style:normal;
}

.im-hero-label{
  position:absolute;
  right:50px;
  bottom:50px;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:245px;
  padding:22px 25px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(3,6,7,.55);
  backdrop-filter:blur(10px);
}

.im-hero-label small{
  color:#20e46b;
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
}

.im-hero-label strong{
  font-family:'Space Grotesk',sans-serif;
  font-size:17px;
  letter-spacing:.02em;
}

.im-hero-label span{
  color:rgba(255,255,255,.42);
  font-size:7px;
  letter-spacing:.14em;
}


/* =========================================================
   INTRO
   ========================================================= */

.im-intro{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:150px 0;
  border-top:1px solid rgba(255,255,255,.1);
}

.im-section-number{
  margin-bottom:65px;
  color:rgba(255,255,255,.28);
  font-size:11px;
  letter-spacing:.15em;
}

.im-intro-content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
}

.im-intro-content small,
.im-services-head small,
.im-applications-head small,
.im-workflow-head small,
.im-cinematic-content small,
.im-cta-inner small{
  display:block;
  margin-bottom:22px;
  color:#20e46b;
  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
}

.im-intro h2,
.im-services h2,
.im-workflow h2{
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(42px,5vw,78px);
  line-height:.95;
  letter-spacing:-.045em;
}

.im-intro h2 span,
.im-services h2 span,
.im-workflow h2 span,
.im-cinematic-content h2 span,
.im-cta h2 span{
  color:#20e46b;
}

.im-intro-content p{
  max-width:600px;
  margin:0 0 25px;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}

.im-intro-content .im-lead{
  color:#fff;
  font-size:21px;
  line-height:1.55;
}


/* =========================================================
   SERVICES
   ========================================================= */

.im-services{
  padding:150px max(50px,calc((100% - 1450px)/2));
  background:#080b0c;
}

.im-services-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:100px;
  margin-bottom:90px;
}

.im-services-head p{
  align-self:end;
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:15px;
  line-height:1.8;
}

.im-service-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid rgba(255,255,255,.12);
}

.im-service{
  position:relative;
  display:grid;
  grid-template-columns:55px 1fr 30px;
  gap:25px;
  min-height:285px;
  padding:45px 35px;
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:
    background .35s ease,
    padding .35s ease;
}

.im-service:nth-child(odd){
  border-right:1px solid rgba(255,255,255,.12);
}

.im-service:hover{
  background:rgba(255,255,255,.025);
  padding-left:45px;
}

.im-service-number{
  color:#20e46b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
}

.im-service small{
  color:rgba(255,255,255,.35);
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
}

.im-service h3{
  margin:15px 0;
  font-family:'Space Grotesk',sans-serif;
  font-size:30px;
  line-height:1;
  letter-spacing:-.025em;
}

.im-service p{
  max-width:430px;
  margin:0;
  color:rgba(255,255,255,.52);
  font-size:14px;
  line-height:1.7;
}

.im-service b{
  align-self:start;
  color:#20e46b;
  font-size:18px;
  transition:transform .3s ease;
}

.im-service:hover b{
  transform:translate(4px,-4px);
}


/* =========================================================
   CINEMATIC
   ========================================================= */

.im-cinematic{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(
      circle at 75% 35%,
      rgba(32,228,107,.08),
      transparent 30%
    ),
    #050708;
}

.im-cinematic::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.35;
  background:
    linear-gradient(
      135deg,
      transparent 0 48%,
      rgba(32,228,107,.08) 48% 48.2%,
      transparent 48.2% 100%
    );
}

.im-cinematic-content{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:110px 0;
}

.im-cinematic-content h2{
  max-width:950px;
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(52px,6.5vw,100px);
  line-height:.9;
  letter-spacing:-.055em;
}

.im-cinematic-content p{
  max-width:570px;
  margin:38px 0 0;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}


/* =========================================================
   APPLICATIONS
   ========================================================= */

.im-applications{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:150px 0;
}

.im-applications-head{
  margin-bottom:80px;
}

.im-applications h2{
  max-width:900px;
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(48px,6vw,90px);
  line-height:.92;
  letter-spacing:-.05em;
}

.im-application-list{
  border-top:1px solid rgba(255,255,255,.12);
}

.im-application{
  display:grid;
  grid-template-columns:70px 1fr 1.3fr 35px;
  align-items:center;
  gap:25px;
  padding:35px 10px;
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:
    padding .3s ease,
    background .3s ease;
}

.im-application:hover{
  padding-left:25px;
  padding-right:25px;
  background:rgba(255,255,255,.02);
}

.im-application > span{
  color:#20e46b;
  font-size:10px;
  font-weight:700;
}

.im-application strong{
  font-size:13px;
  letter-spacing:.08em;
}

.im-application p{
  margin:0;
  color:rgba(255,255,255,.5);
  font-size:13px;
  line-height:1.6;
}

.im-application b{
  color:#20e46b;
  font-size:17px;
}


/* =========================================================
   WORKFLOW
   ========================================================= */

.im-workflow{
  padding:150px max(50px,calc((100% - 1450px)/2));
  background:#080b0c;
}

.im-workflow-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:100px;
  margin-bottom:85px;
}

.im-workflow-head p{
  align-self:end;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:15px;
  line-height:1.8;
}

.im-workflow-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.im-workflow-step{
  min-height:260px;
  padding:35px 25px;
  border-right:1px solid rgba(255,255,255,.12);
}

.im-workflow-step:last-child{
  border-right:0;
}

.im-workflow-step > span{
  display:block;
  margin-bottom:75px;
  color:#20e46b;
  font-size:10px;
  font-weight:700;
}

.im-workflow-step strong{
  display:block;
  margin-bottom:15px;
  font-size:12px;
  letter-spacing:.1em;
}

.im-workflow-step p{
  margin:0;
  color:rgba(255,255,255,.45);
  font-size:13px;
  line-height:1.65;
}


/* =========================================================
   CTA
   ========================================================= */

.im-cta{
  position:relative;
  min-height:650px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:120px max(50px,calc((100% - 1450px)/2)) 45px;
  background:
    radial-gradient(
      circle at 80% 30%,
      rgba(32,228,107,.08),
      transparent 30%
    ),
    #050708;
}

.im-cta-inner{
  max-width:900px;
}

.im-cta h2{
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(58px,7vw,110px);
  line-height:.88;
  letter-spacing:-.055em;
}

.im-cta p{
  max-width:570px;
  margin:40px 0;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}

.im-cta .btn{
  display:inline-flex;
  align-items:center;
  gap:18px;
}

.im-cta-meta{
  display:flex;
  gap:45px;
  margin-top:120px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.12);
}

.im-cta-meta span{
  color:rgba(255,255,255,.32);
  font-size:9px;
  font-weight:700;
  letter-spacing:.17em;
}


/* =========================================================
   SCROLL REVEAL
   ========================================================= */

.immobiliare-page .r,
.immobiliare-page .im-service,
.immobiliare-page .im-application,
.immobiliare-page .im-workflow-step{
  opacity:0;
  transform:translateY(35px);
  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.2,.7,.2,1);
}

.immobiliare-page .is-visible{
  opacity:1;
  transform:none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1100px){

  .im-hero-content,
  .im-intro,
  .im-applications,
  .im-cinematic-content{
    width:calc(100% - 70px);
  }

  .im-services,
  .im-workflow,
  .im-cta{
    padding-left:35px;
    padding-right:35px;
  }

  .im-intro-content,
  .im-services-head,
  .im-workflow-head{
    grid-template-columns:1fr;
    gap:50px;
  }

  .im-workflow-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .im-workflow-step:nth-child(2){
    border-right:0;
  }

  .im-workflow-step:nth-child(4){
    border-right:0;
  }

  .im-workflow-step:last-child{
    border-right:1px solid rgba(255,255,255,.12);
  }

  .im-hero-label{
    right:35px;
    bottom:35px;
  }

}


@media(max-width:750px){

  .im-hero{
    min-height:720px;
  }

  .im-hero-content{
    width:calc(100% - 48px);
    padding:100px 0 50px;
  }

  .im-hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(3,6,7,.95),
        rgba(3,6,7,.55)
      ),
      linear-gradient(
        0deg,
        rgba(3,6,7,.9),
        transparent 60%
      );
  }

  .im-hero-content h1{
    font-size:clamp(48px,13vw,72px);
  }

  .im-hero-content p{
    font-size:15px;
  }

  .im-hero-actions{
    flex-direction:column;
    align-items:flex-start;
    gap:25px;
  }

  .im-hero-meta{
    flex-wrap:wrap;
    gap:20px 30px;
    margin-top:55px;
  }

  .im-hero-label{
    display:none;
  }

  .im-intro{
    width:calc(100% - 48px);
    padding:100px 0;
  }

  .im-services,
  .im-workflow,
  .im-cta{
    padding:100px 24px;
  }

  .im-service-grid{
    grid-template-columns:1fr;
  }

  .im-service:nth-child(odd){
    border-right:0;
  }

  .im-service{
    min-height:0;
    grid-template-columns:40px 1fr 20px;
    padding:35px 15px;
  }

  .im-service:hover{
    padding-left:20px;
  }

  .im-service h3{
    font-size:25px;
  }

  .im-cinematic{
    min-height:600px;
  }

  .im-cinematic-content{
    width:calc(100% - 48px);
    padding:80px 0;
  }

  .im-cinematic-content h2{
    font-size:clamp(45px,12vw,70px);
  }

  .im-applications{
    width:calc(100% - 48px);
    padding:100px 0;
  }

  .im-application{
    grid-template-columns:40px 1fr 20px;
    gap:15px;
  }

  .im-application p{
    display:none;
  }

  .im-workflow-grid{
    grid-template-columns:1fr;
  }

  .im-workflow-step{
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .im-workflow-step:last-child{
    border-right:0;
    border-bottom:0;
  }

  .im-workflow-step > span{
    margin-bottom:40px;
  }

  .im-cta{
    min-height:580px;
  }

  .im-cta-meta{
    flex-wrap:wrap;
    gap:20px 30px;
    margin-top:80px;
  }

}


@media(prefers-reduced-motion:reduce){

  .immobiliare-page .r,
  .immobiliare-page .im-service,
  .immobiliare-page .im-application,
  .immobiliare-page .im-workflow-step{
    opacity:1;
    transform:none;
    transition:none;
  }

}
/* =========================================================
   VIDEO EDITING — PAGE
   ========================================================= */

.video-editing-page{
  background:#050708;
  color:#fff;
  overflow:hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.ve-hero{
  position:relative;
  min-height:calc(100vh - 120px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
}

.ve-hero-image{
  position:absolute;
  inset:0;
  z-index:-3;
}

.ve-hero-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.ve-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(
      90deg,
      rgba(3,6,7,.96) 0%,
      rgba(3,6,7,.80) 34%,
      rgba(3,6,7,.32) 72%,
      rgba(3,6,7,.08) 100%
    ),
    linear-gradient(
      0deg,
      rgba(3,6,7,.88) 0%,
      transparent 58%
    );
}

.ve-hero-grid{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.15;
  background-image:
    linear-gradient(
      rgba(255,255,255,.08) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.08) 1px,
      transparent 1px
    );
  background-size:80px 80px;
  mask-image:linear-gradient(
    90deg,
    #000,
    transparent 80%
  );
}

.ve-hero-content{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:130px 0 70px;
}

.ve-hero-content > small{
  display:block;
  margin-bottom:28px;
  color:#20e46b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.ve-hero-content h1{
  max-width:950px;
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(58px,7vw,118px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:700;
}

.ve-hero-content h1 span{
  display:block;
  color:#20e46b;
}

.ve-hero-content p{
  max-width:620px;
  margin:38px 0 0;
  color:rgba(255,255,255,.72);
  font-size:17px;
  line-height:1.7;
}

.ve-hero-actions{
  display:flex;
  align-items:center;
  gap:35px;
  margin-top:42px;
}

.ve-hero-actions .btn{
  display:inline-flex;
  align-items:center;
  gap:18px;
}

.ve-text-link{
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-decoration:none;
  transition:.3s ease;
}

.ve-text-link:hover{
  color:#20e46b;
}

.ve-hero-meta{
  display:flex;
  gap:55px;
  margin-top:75px;
}

.ve-hero-meta span{
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(255,255,255,.65);
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
}

.ve-hero-meta i{
  color:#20e46b;
  font-style:normal;
}

.ve-hero-label{
  position:absolute;
  right:50px;
  bottom:50px;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:260px;
  padding:22px 25px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(3,6,7,.55);
  backdrop-filter:blur(10px);
}

.ve-hero-label small{
  color:#20e46b;
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
}

.ve-hero-label strong{
  font-family:'Space Grotesk',sans-serif;
  font-size:17px;
  letter-spacing:.02em;
}

.ve-hero-label span{
  color:rgba(255,255,255,.42);
  font-size:7px;
  letter-spacing:.14em;
}


/* =========================================================
   INTRO
   ========================================================= */

.ve-intro{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:150px 0;
  border-top:1px solid rgba(255,255,255,.1);
}

.ve-section-number{
  margin-bottom:65px;
  color:rgba(255,255,255,.28);
  font-size:11px;
  letter-spacing:.15em;
}

.ve-intro-content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
}

.ve-intro-content small,
.ve-services-head small,
.ve-formats-head small,
.ve-workflow-head small,
.ve-cinematic-content small,
.ve-drone-content small,
.ve-cta-inner small{
  display:block;
  margin-bottom:22px;
  color:#20e46b;
  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
}

.ve-intro h2,
.ve-services h2,
.ve-workflow h2{
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(42px,5vw,78px);
  line-height:.95;
  letter-spacing:-.045em;
}

.ve-intro h2 span,
.ve-services h2 span,
.ve-workflow h2 span,
.ve-cinematic-content h2 span,
.ve-formats h2 span,
.ve-drone-content h2 span,
.ve-cta h2 span{
  color:#20e46b;
}

.ve-intro-content p{
  max-width:600px;
  margin:0 0 25px;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}

.ve-intro-content .ve-lead{
  color:#fff;
  font-size:21px;
  line-height:1.55;
}


/* =========================================================
   SERVICES
   ========================================================= */

.ve-services{
  padding:150px max(50px,calc((100% - 1450px)/2));
  background:#080b0c;
}

.ve-services-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:100px;
  margin-bottom:90px;
}

.ve-services-head p{
  align-self:end;
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:15px;
  line-height:1.8;
}

.ve-service-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid rgba(255,255,255,.12);
}

.ve-service{
  position:relative;
  display:grid;
  grid-template-columns:55px 1fr 30px;
  gap:25px;
  min-height:285px;
  padding:45px 35px;
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:
    background .35s ease,
    padding .35s ease;
}

.ve-service:nth-child(odd){
  border-right:1px solid rgba(255,255,255,.12);
}

.ve-service:hover{
  background:rgba(255,255,255,.025);
  padding-left:45px;
}

.ve-service-number{
  color:#20e46b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
}

.ve-service small{
  color:rgba(255,255,255,.35);
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
}

.ve-service h3{
  margin:15px 0;
  font-family:'Space Grotesk',sans-serif;
  font-size:30px;
  line-height:1;
  letter-spacing:-.025em;
}

.ve-service p{
  max-width:430px;
  margin:0;
  color:rgba(255,255,255,.52);
  font-size:14px;
  line-height:1.7;
}

.ve-service b{
  align-self:start;
  color:#20e46b;
  font-size:18px;
  transition:transform .3s ease;
}

.ve-service:hover b{
  transform:translate(4px,-4px);
}


/* =========================================================
   CINEMATIC
   ========================================================= */

.ve-cinematic{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(
      circle at 75% 35%,
      rgba(32,228,107,.08),
      transparent 30%
    ),
    #050708;
}

.ve-cinematic::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.35;
  background:
    linear-gradient(
      135deg,
      transparent 0 48%,
      rgba(32,228,107,.08) 48% 48.2%,
      transparent 48.2% 100%
    );
}

.ve-cinematic-content{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:110px 0;
}

.ve-cinematic-content h2{
  max-width:1000px;
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(52px,6.5vw,100px);
  line-height:.9;
  letter-spacing:-.055em;
}

.ve-cinematic-content p{
  max-width:570px;
  margin:38px 0 0;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}


/* =========================================================
   FORMATS
   ========================================================= */

.ve-formats{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:150px 0;
}

.ve-formats-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:100px;
  margin-bottom:80px;
}

.ve-formats-head small{
  grid-column:1 / -1;
}

.ve-formats h2{
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(48px,6vw,90px);
  line-height:.92;
  letter-spacing:-.05em;
}

.ve-formats-head p{
  align-self:end;
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:15px;
  line-height:1.8;
}

.ve-format-list{
  border-top:1px solid rgba(255,255,255,.12);
}

.ve-format{
  display:grid;
  grid-template-columns:70px 1fr 1.3fr 35px;
  align-items:center;
  gap:25px;
  padding:35px 10px;
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:
    padding .3s ease,
    background .3s ease;
}

.ve-format:hover{
  padding-left:25px;
  padding-right:25px;
  background:rgba(255,255,255,.02);
}

.ve-format > span{
  color:#20e46b;
  font-size:10px;
  font-weight:700;
}

.ve-format strong{
  font-size:13px;
  letter-spacing:.08em;
}

.ve-format p{
  margin:0;
  color:rgba(255,255,255,.5);
  font-size:13px;
  line-height:1.6;
}

.ve-format b{
  color:#20e46b;
  font-size:17px;
}


/* =========================================================
   WORKFLOW
   ========================================================= */

.ve-workflow{
  padding:150px max(50px,calc((100% - 1450px)/2));
  background:#080b0c;
}

.ve-workflow-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:100px;
  margin-bottom:85px;
}

.ve-workflow-head p{
  align-self:end;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:15px;
  line-height:1.8;
}

.ve-workflow-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.ve-workflow-step{
  min-height:260px;
  padding:35px 25px;
  border-right:1px solid rgba(255,255,255,.12);
}

.ve-workflow-step:last-child{
  border-right:0;
}

.ve-workflow-step > span{
  display:block;
  margin-bottom:75px;
  color:#20e46b;
  font-size:10px;
  font-weight:700;
}

.ve-workflow-step strong{
  display:block;
  margin-bottom:15px;
  font-size:12px;
  letter-spacing:.1em;
}

.ve-workflow-step p{
  margin:0;
  color:rgba(255,255,255,.45);
  font-size:13px;
  line-height:1.65;
}


/* =========================================================
   DRONE MATERIAL
   ========================================================= */

.ve-drone{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(
      circle at 80% 50%,
      rgba(32,228,107,.09),
      transparent 35%
    ),
    #050708;
}

.ve-drone::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.18;
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,.08) 1px,
      transparent 1px
    ),
    linear-gradient(
      rgba(255,255,255,.08) 1px,
      transparent 1px
    );
  background-size:100px 100px;
}

.ve-drone-content{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
}

.ve-drone-content h2{
  max-width:950px;
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(50px,6vw,92px);
  line-height:.9;
  letter-spacing:-.055em;
}

.ve-drone-content p{
  max-width:590px;
  margin:40px 0 0;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}


/* =========================================================
   CTA
   ========================================================= */

.ve-cta{
  position:relative;
  min-height:650px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:120px max(50px,calc((100% - 1450px)/2)) 45px;
  background:
    radial-gradient(
      circle at 80% 30%,
      rgba(32,228,107,.08),
      transparent 30%
    ),
    #050708;
}

.ve-cta-inner{
  max-width:900px;
}

.ve-cta h2{
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(58px,7vw,110px);
  line-height:.88;
  letter-spacing:-.055em;
}

.ve-cta p{
  max-width:570px;
  margin:40px 0;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}

.ve-cta .btn{
  display:inline-flex;
  align-items:center;
  gap:18px;
}

.ve-cta-meta{
  display:flex;
  gap:45px;
  margin-top:120px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.12);
}

.ve-cta-meta span{
  color:rgba(255,255,255,.32);
  font-size:9px;
  font-weight:700;
  letter-spacing:.17em;
}


/* =========================================================
   SCROLL REVEAL
   ========================================================= */

.video-editing-page .r,
.video-editing-page .ve-service,
.video-editing-page .ve-format,
.video-editing-page .ve-workflow-step{
  opacity:0;
  transform:translateY(35px);
  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.2,.7,.2,1);
}

.video-editing-page .is-visible{
  opacity:1;
  transform:none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1100px){

  .ve-hero-content,
  .ve-intro,
  .ve-formats,
  .ve-cinematic-content,
  .ve-drone-content{
    width:calc(100% - 70px);
  }

  .ve-services,
  .ve-workflow,
  .ve-cta{
    padding-left:35px;
    padding-right:35px;
  }

  .ve-intro-content,
  .ve-services-head,
  .ve-formats-head,
  .ve-workflow-head{
    grid-template-columns:1fr;
    gap:50px;
  }

  .ve-formats-head small{
    grid-column:auto;
  }

  .ve-workflow-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .ve-workflow-step:nth-child(2),
  .ve-workflow-step:nth-child(4){
    border-right:0;
  }

  .ve-workflow-step:last-child{
    border-right:1px solid rgba(255,255,255,.12);
  }

  .ve-hero-label{
    right:35px;
    bottom:35px;
  }

}


@media(max-width:750px){

  .ve-hero{
    min-height:720px;
  }

  .ve-hero-content{
    width:calc(100% - 48px);
    padding:100px 0 50px;
  }

  .ve-hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(3,6,7,.96),
        rgba(3,6,7,.55)
      ),
      linear-gradient(
        0deg,
        rgba(3,6,7,.92),
        transparent 60%
      );
  }

  .ve-hero-content h1{
    font-size:clamp(48px,13vw,72px);
  }

  .ve-hero-content p{
    font-size:15px;
  }

  .ve-hero-actions{
    flex-direction:column;
    align-items:flex-start;
    gap:25px;
  }

  .ve-hero-meta{
    flex-wrap:wrap;
    gap:20px 30px;
    margin-top:55px;
  }

  .ve-hero-label{
    display:none;
  }

  .ve-intro{
    width:calc(100% - 48px);
    padding:100px 0;
  }

  .ve-services,
  .ve-workflow,
  .ve-cta{
    padding:100px 24px;
  }

  .ve-service-grid{
    grid-template-columns:1fr;
  }

  .ve-service:nth-child(odd){
    border-right:0;
  }

  .ve-service{
    min-height:0;
    grid-template-columns:40px 1fr 20px;
    padding:35px 15px;
  }

  .ve-service:hover{
    padding-left:20px;
  }

  .ve-service h3{
    font-size:25px;
  }

  .ve-cinematic{
    min-height:600px;
  }

  .ve-cinematic-content{
    width:calc(100% - 48px);
    padding:80px 0;
  }

  .ve-cinematic-content h2{
    font-size:clamp(45px,12vw,70px);
  }

  .ve-formats{
    width:calc(100% - 48px);
    padding:100px 0;
  }

  .ve-format{
    grid-template-columns:40px 1fr 20px;
    gap:15px;
  }

  .ve-format p{
    display:none;
  }

  .ve-workflow-grid{
    grid-template-columns:1fr;
  }

  .ve-workflow-step{
    min-height:0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .ve-workflow-step:last-child{
    border-right:0;
    border-bottom:0;
  }

  .ve-workflow-step > span{
    margin-bottom:40px;
  }

  .ve-drone{
    min-height:570px;
  }

  .ve-drone-content{
    width:calc(100% - 48px);
  }

  .ve-drone-content h2{
    font-size:clamp(45px,12vw,70px);
  }

  .ve-cta{
    min-height:580px;
  }

  .ve-cta-meta{
    flex-wrap:wrap;
    gap:20px 30px;
    margin-top:80px;
  }

}


@media(prefers-reduced-motion:reduce){

  .video-editing-page .r,
  .video-editing-page .ve-service,
  .video-editing-page .ve-format,
  .video-editing-page .ve-workflow-step{
    opacity:1;
    transform:none;
    transition:none;
  }

}
/* =========================================================
   ASSICURAZIONE DRONI — PAGE
   ========================================================= */

.insurance-page{
  background:#050708;
  color:#fff;
  overflow:hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.ins-hero{
  position:relative;
  min-height:calc(100vh - 120px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
}


/* HERO IMAGE */

.ins-hero-image{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}

.ins-hero-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}


/* HERO OVERLAY */

.ins-hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(3,6,7,.96) 0%,
      rgba(3,6,7,.78) 35%,
      rgba(3,6,7,.25) 72%,
      rgba(3,6,7,.08) 100%
    ),
    linear-gradient(
      0deg,
      rgba(3,6,7,.88) 0%,
      transparent 58%
    );
}


/* HERO GRID */

.ins-hero-grid{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.14;

  background-image:
    linear-gradient(
      rgba(255,255,255,.08) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.08) 1px,
      transparent 1px
    );

  background-size:80px 80px;

  mask-image:linear-gradient(
    90deg,
    #000,
    transparent 80%
  );
}


/* HERO CONTENT */

.ins-hero-content{
  position:relative;
  z-index:3;

  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:130px 0 70px;
}

.ins-hero-content > small{
  display:block;
  margin-bottom:28px;

  color:#20e46b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.ins-hero-content h1{
  max-width:1000px;
  margin:0;

  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(58px,7vw,118px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:700;
}

.ins-hero-content h1 span{
  display:block;
  color:#20e46b;
}

.ins-hero-content p{
  max-width:650px;
  margin:38px 0 0;

  color:rgba(255,255,255,.72);
  font-size:17px;
  line-height:1.7;
}


/* HERO ACTIONS */

.ins-hero-actions{
  display:flex;
  align-items:center;
  gap:35px;
  margin-top:42px;
}

.ins-hero-actions .btn{
  display:inline-flex;
  align-items:center;
  gap:18px;
}

.ins-text-link{
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-decoration:none;
  transition:.3s ease;
}

.ins-text-link:hover{
  color:#20e46b;
}


/* HERO META */

.ins-hero-meta{
  display:flex;
  gap:55px;
  margin-top:75px;
}

.ins-hero-meta span{
  display:flex;
  align-items:center;
  gap:12px;

  color:rgba(255,255,255,.65);
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
}

.ins-hero-meta i{
  color:#20e46b;
  font-style:normal;
}


/* HERO LABEL */

.ins-hero-label{
  position:absolute;
  right:50px;
  bottom:50px;
  z-index:4;

  display:flex;
  flex-direction:column;
  gap:7px;

  min-width:250px;
  padding:22px 25px;

  border:1px solid rgba(255,255,255,.18);
  background:rgba(3,6,7,.58);
  backdrop-filter:blur(10px);
}

.ins-hero-label small{
  color:#20e46b;
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
}

.ins-hero-label strong{
  font-family:'Space Grotesk',sans-serif;
  font-size:18px;
  letter-spacing:.02em;
}

.ins-hero-label span{
  color:rgba(255,255,255,.42);
  font-size:7px;
  letter-spacing:.14em;
}


/* =========================================================
   INTRO
   ========================================================= */

.ins-intro{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:150px 0;
  border-top:1px solid rgba(255,255,255,.1);
}

.ins-section-number{
  margin-bottom:65px;
  color:rgba(255,255,255,.28);
  font-size:11px;
  letter-spacing:.15em;
}

.ins-intro-content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
}

.ins-intro-content small,
.ins-coverage-head small,
.ins-users-head small,
.ins-coverdrone-content small,
.ins-benefits-head small,
.ins-guide-content small,
.ins-cta-inner small{
  display:block;
  margin-bottom:22px;
  color:#20e46b;
  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
}

.ins-intro h2,
.ins-coverage h2,
.ins-users h2,
.ins-benefits h2{
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(42px,5vw,78px);
  line-height:.95;
  letter-spacing:-.045em;
}

.ins-intro h2 span,
.ins-coverage h2 span,
.ins-users h2 span,
.ins-benefits h2 span,
.ins-coverdrone-content h2 span,
.ins-guide-content h2 span,
.ins-cta h2 span{
  color:#20e46b;
}

.ins-intro-content p{
  max-width:600px;
  margin:0 0 25px;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}

.ins-intro-content .ins-lead{
  color:#fff;
  font-size:21px;
  line-height:1.55;
}


/* =========================================================
   COVERAGE
   ========================================================= */

.ins-coverage{
  padding:150px max(50px,calc((100% - 1450px)/2));
  background:#080b0c;
}

.ins-coverage-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:100px;
  margin-bottom:90px;
}

.ins-coverage-head p{
  align-self:end;
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:15px;
  line-height:1.8;
}

.ins-coverage-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid rgba(255,255,255,.12);
}

.ins-coverage-card{
  position:relative;
  min-height:300px;
  padding:45px 40px;
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:
    background .35s ease,
    padding .35s ease;
}

.ins-coverage-card:nth-child(odd){
  border-right:1px solid rgba(255,255,255,.12);
}

.ins-coverage-card:hover{
  background:rgba(255,255,255,.025);
  padding-left:50px;
}

.ins-card-number{
  display:block;
  margin-bottom:60px;
  color:#20e46b;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
}

.ins-coverage-card small{
  color:rgba(255,255,255,.35);
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
}

.ins-coverage-card h3{
  margin:15px 0;
  font-family:'Space Grotesk',sans-serif;
  font-size:31px;
  line-height:1;
  letter-spacing:-.025em;
}

.ins-coverage-card p{
  max-width:470px;
  margin:0;
  color:rgba(255,255,255,.52);
  font-size:14px;
  line-height:1.7;
}

.ins-coverage-card b{
  position:absolute;
  top:45px;
  right:40px;
  color:#20e46b;
  font-size:18px;
  transition:transform .3s ease;
}

.ins-coverage-card:hover b{
  transform:translate(4px,-4px);
}


/* =========================================================
   USERS
   ========================================================= */

.ins-users{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:150px 0;
}

.ins-users-head{
  margin-bottom:85px;
}

.ins-users-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid rgba(255,255,255,.12);
}

.ins-user{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:25px;
  min-height:320px;
  padding:45px 35px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.ins-user:first-child{
  border-right:1px solid rgba(255,255,255,.12);
}

.ins-user > span{
  color:#20e46b;
  font-size:10px;
  font-weight:700;
}

.ins-user small{
  color:rgba(255,255,255,.35);
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
}

.ins-user h3{
  margin:15px 0;
  font-family:'Space Grotesk',sans-serif;
  font-size:35px;
  letter-spacing:-.03em;
}

.ins-user p{
  max-width:470px;
  margin:0;
  color:rgba(255,255,255,.52);
  font-size:14px;
  line-height:1.75;
}


/* =========================================================
   COVERDRONE
   ========================================================= */

.ins-coverdrone{
  position:relative;
  min-height:680px;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(
      circle at 75% 45%,
      rgba(32,228,107,.10),
      transparent 34%
    ),
    #050708;
}

.ins-coverdrone::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.18;
  background-image:
    linear-gradient(
      90deg,
      rgba(255,255,255,.08) 1px,
      transparent 1px
    ),
    linear-gradient(
      rgba(255,255,255,.08) 1px,
      transparent 1px
    );
  background-size:100px 100px;
}

.ins-coverdrone::after{
  content:"";
  position:absolute;
  right:-100px;
  top:50%;
  width:600px;
  height:600px;
  border:1px solid rgba(32,228,107,.18);
  border-radius:50%;
  transform:translateY(-50%);
  box-shadow:
    0 0 0 60px rgba(32,228,107,.025),
    0 0 0 120px rgba(32,228,107,.018);
  pointer-events:none;
}

.ins-coverdrone-content{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
}

.ins-coverdrone-content h2{
  max-width:900px;
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(55px,7vw,105px);
  line-height:.88;
  letter-spacing:-.055em;
}

.ins-coverdrone-content p{
  max-width:580px;
  margin:40px 0;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}

.ins-coverdrone-link{
  display:inline-flex;
  align-items:center;
  gap:18px;
  color:#20e46b;
  font-size:11px;
  font-weight:700;
  letter-spacing:.15em;
  text-decoration:none;
  transition:.3s ease;
}

.ins-coverdrone-link:hover{
  color:#fff;
}

.ins-coverdrone-link span{
  font-size:17px;
}


/* =========================================================
   BENEFITS
   ========================================================= */

.ins-benefits{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;
  padding:150px 0;
}

.ins-benefits-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:100px;
  margin-bottom:80px;
}

.ins-benefits-head small{
  grid-column:1 / -1;
}

.ins-benefits-head p{
  align-self:end;
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:15px;
  line-height:1.8;
}

.ins-benefit-list{
  border-top:1px solid rgba(255,255,255,.12);
}

.ins-benefit{
  display:grid;
  grid-template-columns:70px 1fr 1.3fr 35px;
  align-items:center;
  gap:25px;
  padding:35px 10px;
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:
    padding .3s ease,
    background .3s ease;
}

.ins-benefit:hover{
  padding-left:25px;
  padding-right:25px;
  background:rgba(255,255,255,.02);
}

.ins-benefit > span{
  color:#20e46b;
  font-size:10px;
  font-weight:700;
}

.ins-benefit strong{
  font-size:12px;
  letter-spacing:.08em;
}

.ins-benefit p{
  margin:0;
  color:rgba(255,255,255,.5);
  font-size:13px;
  line-height:1.6;
}

.ins-benefit b{
  color:#20e46b;
  font-size:17px;
}


/* =========================================================
   GUIDE
   ========================================================= */

.ins-guide{
  position:relative;
  min-height:600px;
  display:flex;
  align-items:center;
  padding:110px max(50px,calc((100% - 1450px)/2));
  background:#080b0c;
  overflow:hidden;
}

.ins-guide::before{
  content:"COVERDRONE";
  position:absolute;
  right:-50px;
  bottom:-55px;
  color:rgba(255,255,255,.025);
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(100px,16vw,260px);
  font-weight:700;
  letter-spacing:-.08em;
  pointer-events:none;
}

.ins-guide-content{
  max-width:850px;
  position:relative;
  z-index:1;
}

.ins-guide-content h2{
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(55px,6.5vw,100px);
  line-height:.88;
  letter-spacing:-.055em;
}

.ins-guide-content p{
  max-width:570px;
  margin:40px 0;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}

.ins-guide-content .btn{
  display:inline-flex;
  align-items:center;
  gap:18px;
}


/* =========================================================
   CTA
   ========================================================= */

.ins-cta{
  position:relative;
  min-height:650px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:120px max(50px,calc((100% - 1450px)/2)) 45px;
  background:
    radial-gradient(
      circle at 80% 30%,
      rgba(32,228,107,.09),
      transparent 30%
    ),
    #050708;
}

.ins-cta-inner{
  max-width:900px;
}

.ins-cta h2{
  margin:0;
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(58px,7vw,110px);
  line-height:.88;
  letter-spacing:-.055em;
}

.ins-cta p{
  max-width:570px;
  margin:40px 0;
  color:rgba(255,255,255,.58);
  font-size:16px;
  line-height:1.8;
}

.ins-cta .btn{
  display:inline-flex;
  align-items:center;
  gap:18px;
}

.ins-cta-meta{
  display:flex;
  gap:45px;
  margin-top:120px;
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.12);
}

.ins-cta-meta span{
  color:rgba(255,255,255,.32);
  font-size:9px;
  font-weight:700;
  letter-spacing:.17em;
}


/* =========================================================
   SCROLL REVEAL
   ========================================================= */

.insurance-page .r,
.insurance-page .ins-coverage-card,
.insurance-page .ins-user,
.insurance-page .ins-benefit{
  opacity:0;
  transform:translateY(35px);
  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.2,.7,.2,1);
}

.insurance-page .is-visible{
  opacity:1;
  transform:none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1100px){

  .ins-hero-content,
  .ins-intro,
  .ins-users,
  .ins-benefits,
  .ins-coverdrone-content{
    width:calc(100% - 70px);
  }

  .ins-coverage,
  .ins-guide,
  .ins-cta{
    padding-left:35px;
    padding-right:35px;
  }

  .ins-intro-content,
  .ins-coverage-head,
  .ins-benefits-head{
    grid-template-columns:1fr;
    gap:50px;
  }

  .ins-benefits-head small{
    grid-column:auto;
  }

  .ins-hero-label{
    right:35px;
    bottom:35px;
  }

}


@media(max-width:750px){

  .ins-hero{
    min-height:720px;
  }

  .ins-hero-content{
    width:calc(100% - 48px);
    padding:100px 0 50px;
  }

  .ins-hero-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(3,6,7,.97),
        rgba(3,6,7,.55)
      ),
      linear-gradient(
        0deg,
        rgba(3,6,7,.92),
        transparent 60%
      );
  }

  .ins-hero-content h1{
    font-size:clamp(48px,13vw,72px);
  }

  .ins-hero-content p{
    font-size:15px;
  }

  .ins-hero-actions{
    flex-direction:column;
    align-items:flex-start;
    gap:25px;
  }

  .ins-hero-meta{
    flex-wrap:wrap;
    gap:20px 30px;
    margin-top:55px;
  }

  .ins-hero-label{
    display:none;
  }

  .ins-intro{
    width:calc(100% - 48px);
    padding:100px 0;
  }

  .ins-coverage,
  .ins-guide,
  .ins-cta{
    padding:100px 24px;
  }

  .ins-coverage-grid{
    grid-template-columns:1fr;
  }

  .ins-coverage-card:nth-child(odd){
    border-right:0;
  }

  .ins-coverage-card{
    min-height:0;
    padding:35px 20px;
  }

  .ins-coverage-card:hover{
    padding-left:25px;
  }

  .ins-card-number{
    margin-bottom:45px;
  }

  .ins-coverage-card b{
    right:20px;
    top:35px;
  }

  .ins-users{
    width:calc(100% - 48px);
    padding:100px 0;
  }

  .ins-users-grid{
    grid-template-columns:1fr;
  }

  .ins-user:first-child{
    border-right:0;
  }

  .ins-user{
    min-height:0;
    grid-template-columns:40px 1fr;
    padding:35px 15px;
  }

  .ins-user h3{
    font-size:28px;
  }

  .ins-coverdrone{
    min-height:600px;
  }

  .ins-coverdrone-content{
    width:calc(100% - 48px);
  }

  .ins-coverdrone-content h2{
    font-size:clamp(48px,12vw,72px);
  }

  .ins-coverdrone::after{
    width:350px;
    height:350px;
    right:-190px;
  }

  .ins-benefits{
    width:calc(100% - 48px);
    padding:100px 0;
  }

  .ins-benefit{
    grid-template-columns:40px 1fr 20px;
    gap:15px;
  }

  .ins-benefit p{
    display:none;
  }

  .ins-guide{
    min-height:550px;
  }

  .ins-guide-content h2{
    font-size:clamp(48px,12vw,72px);
  }

  .ins-cta{
    min-height:580px;
  }

  .ins-cta-meta{
    flex-wrap:wrap;
    gap:20px 30px;
    margin-top:80px;
  }

}


@media(prefers-reduced-motion:reduce){

  .insurance-page .r,
  .insurance-page .ins-coverage-card,
  .insurance-page .ins-user,
  .insurance-page .ins-benefit{
    opacity:1;
    transform:none;
    transition:none;
  }

}
/* =========================================================
   COVERDRONE BANNER
   ========================================================= */

.ins-coverdrone-banner{
  position:relative;
  width:100%;
  background:#080b0c;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.ins-coverdrone-banner-inner{
  width:min(1450px,calc(100% - 100px));
  min-height:180px;
  margin:0 auto;

  display:grid;
  grid-template-columns:1fr 1.2fr auto;
  align-items:center;
  gap:60px;
}


/* LOGO */

.ins-coverdrone-banner-logo{
  display:flex;
  align-items:center;
}

.ins-coverdrone-banner-logo img{
  display:block;
  width:min(360px,100%);
  height:auto;
  max-height:90px;
  object-fit:contain;
  object-position:left center;
}


/* TEXT */

.ins-coverdrone-banner-text{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.ins-coverdrone-banner-text small{
  color:#20e46b;
  font-size:8px;
  font-weight:700;
  letter-spacing:.2em;
}

.ins-coverdrone-banner-text strong{
  color:#fff;
  font-family:'Space Grotesk',sans-serif;
  font-size:24px;
  line-height:1.05;
  letter-spacing:-.025em;
}


/* BUTTON */

.ins-coverdrone-banner-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;

  min-width:220px;
  padding:20px 25px;

  background:#20e46b;
  color:#050708;

  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-decoration:none;

  transition:
    background .3s ease,
    color .3s ease,
    transform .3s ease;
}

.ins-coverdrone-banner-button span{
  font-size:17px;
}

.ins-coverdrone-banner-button:hover{
  background:#fff;
  color:#050708;
  transform:translateY(-2px);
}


/* =========================================================
   COVERDRONE BANNER — MOBILE
   ========================================================= */

@media(max-width:750px){

  .ins-coverdrone-banner-inner{
    width:calc(100% - 48px);
    min-height:0;

    grid-template-columns:1fr;
    gap:30px;

    padding:45px 0;
  }

  .ins-coverdrone-banner-logo img{
    width:min(330px,90%);
    max-height:80px;
  }

  .ins-coverdrone-banner-text strong{
    font-size:21px;
  }

  .ins-coverdrone-banner-button{
    width:100%;
    box-sizing:border-box;
  }

}
/* =========================================================
   GUIDA COVERDRONE — BUTTON
   ========================================================= */

.ins-guide-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;

  padding:18px 25px;

  border:1px solid #20e46b;
  background:transparent;
  color:#20e46b;

  font-family:'Inter',sans-serif;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;

  cursor:pointer;

  transition:
    background .3s ease,
    color .3s ease,
    transform .3s ease;
}

.ins-guide-button span{
  font-size:17px;
}

.ins-guide-button:hover{
  background:#20e46b;
  color:#050708;
  transform:translateY(-2px);
}


/* =========================================================
   GUIDA COVERDRONE — MODAL
   ========================================================= */

.ins-guide-modal{
  position:fixed;
  inset:0;
  z-index:99999;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:30px;

  opacity:0;
  visibility:hidden;

  transition:
    opacity .3s ease,
    visibility .3s ease;
}

.ins-guide-modal.open{
  opacity:1;
  visibility:visible;
}


/* SFONDO */

.ins-guide-modal-overlay{
  position:absolute;
  inset:0;

  background:rgba(0,0,0,.88);

  backdrop-filter:blur(8px);
}


/* FINESTRA */

.ins-guide-modal-window{
  position:relative;
  z-index:2;

  width:min(1200px,100%);
  height:min(850px,90vh);

  display:flex;
  flex-direction:column;

  background:#080b0c;
  border:1px solid rgba(255,255,255,.15);

  box-shadow:
    0 30px 100px rgba(0,0,0,.7);

  transform:translateY(25px) scale(.98);

  transition:
    transform .35s cubic-bezier(.2,.7,.2,1);
}

.ins-guide-modal.open .ins-guide-modal-window{
  transform:none;
}


/* HEADER MODALE */

.ins-guide-modal-header{
  flex:0 0 auto;

  min-height:80px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:20px 25px;

  border-bottom:1px solid rgba(255,255,255,.12);
}

.ins-guide-modal-header > div{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.ins-guide-modal-header small{
  color:#20e46b;
  font-size:8px;
  font-weight:700;
  letter-spacing:.2em;
}

.ins-guide-modal-header strong{
  color:#fff;
  font-family:'Space Grotesk',sans-serif;
  font-size:17px;
  letter-spacing:.02em;
}


/* CHIUDI */

.ins-guide-modal-close{
  width:45px;
  height:45px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid rgba(255,255,255,.18);
  background:transparent;

  color:#fff;

  font-size:30px;
  line-height:1;

  cursor:pointer;

  transition:
    background .3s ease,
    color .3s ease;
}

.ins-guide-modal-close:hover{
  background:#20e46b;
  color:#050708;
}


/* CONTENUTO */

.ins-guide-modal-content{
  position:relative;
  flex:1 1 auto;
  min-height:0;

  background:#fff;
}

.ins-guide-modal-content iframe{
  width:100%;
  height:100%;

  display:block;

  border:0;
}


/* BLOCCA SCROLL PAGINA */

body.guide-modal-open{
  overflow:hidden;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:750px){

  .ins-guide-modal{
    padding:10px;
  }

  .ins-guide-modal-window{
    width:100%;
    height:94vh;
  }

  .ins-guide-modal-header{
    min-height:65px;
    padding:15px;
  }

  .ins-guide-modal-header strong{
    font-size:13px;
  }

  .ins-guide-modal-close{
    width:40px;
    height:40px;
    font-size:26px;
  }

  .ins-guide-button{
    width:100%;
  }

}
/* =========================================================
   COVERDRONE GUIDE
   ========================================================= */

.coverdrone-guide-page{
  background:#050708;
  color:#fff;
}


/* =========================================================
   GUIDE HERO
   ========================================================= */

.guide-hero{
  position:relative;
  min-height:calc(100vh - 100px);

  display:flex;
  align-items:center;

  overflow:hidden;
  isolation:isolate;

  background:#050708;
}

.guide-hero-grid{
  position:absolute;
  inset:0;
  z-index:0;

  pointer-events:none;
  opacity:.10;

  background-image:
    linear-gradient(
      rgba(255,255,255,.08) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.08) 1px,
      transparent 1px
    );

  background-size:90px 90px;

  mask-image:linear-gradient(
    90deg,
    #000 0%,
    transparent 80%
  );
}

.guide-hero-content{
  position:relative;
  z-index:2;

  width:min(1450px,calc(100% - 100px));
  margin:0 auto;

  padding:130px 0 100px;
}

.guide-hero-content > small{
  display:block;

  margin-bottom:30px;

  color:#20e46b;

  font-size:9px;
  font-weight:700;
  letter-spacing:.22em;
}

.guide-hero-content h1{
  max-width:1000px;

  margin:0;

  font-family:'Space Grotesk',sans-serif;

  font-size:clamp(58px,7vw,115px);
  line-height:.91;

  letter-spacing:-.055em;
  font-weight:700;
}

.guide-hero-content h1 span{
  display:block;
  color:#20e46b;
}

.guide-hero-content p{
  max-width:680px;

  margin:40px 0 0;

  color:rgba(255,255,255,.68);

  font-size:17px;
  line-height:1.7;
}


/* =========================================================
   HERO ACTIONS
   ========================================================= */

.guide-hero-actions{
  display:flex;
  align-items:center;
  gap:35px;

  margin-top:45px;
}

.guide-text-link{
  color:#fff;

  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;

  text-decoration:none;

  transition:color .3s ease;
}

.guide-text-link:hover{
  color:#20e46b;
}


/* =========================================================
   INTRO
   ========================================================= */

.guide-intro{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;

  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;

  padding:130px 0;

  border-top:1px solid rgba(255,255,255,.12);
}

.guide-intro > div small{
  display:block;

  margin-bottom:25px;

  color:#20e46b;

  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
}

.guide-intro h2{
  margin:0;

  font-family:'Space Grotesk',sans-serif;

  font-size:clamp(42px,5vw,75px);
  line-height:.94;

  letter-spacing:-.05em;
}

.guide-intro h2 span{
  color:#20e46b;
}

.guide-intro > p{
  align-self:end;

  max-width:620px;

  margin:0;

  color:rgba(255,255,255,.62);

  font-size:16px;
  line-height:1.75;
}


/* =========================================================
   GUIDE STEP
   ========================================================= */

.guide-step{
  position:relative;

  width:min(1450px,calc(100% - 100px));
  margin:0 auto;

  display:grid;
  grid-template-columns:90px minmax(280px,.75fr) minmax(500px,1.25fr);

  gap:55px;
  align-items:center;

  padding:120px 0;

  border-top:1px solid rgba(255,255,255,.10);
}

.guide-step-reverse{
  grid-template-columns:90px minmax(500px,1.25fr) minmax(280px,.75fr);
}

.guide-step-reverse .guide-step-copy{
  grid-column:3;
  grid-row:1;
}

.guide-step-reverse .guide-step-image{
  grid-column:2;
  grid-row:1;
}


/* =========================================================
   STEP NUMBER
   ========================================================= */

.guide-step-number{
  align-self:start;

  color:#20e46b;

  font-family:'Space Grotesk',sans-serif;

  font-size:15px;
  font-weight:700;
  letter-spacing:.08em;
}


/* =========================================================
   STEP TEXT
   ========================================================= */

.guide-step-copy small{
  display:block;

  margin-bottom:20px;

  color:#20e46b;

  font-size:8px;
  font-weight:700;
  letter-spacing:.2em;
}

.guide-step-copy h2{
  margin:0;

  font-family:'Space Grotesk',sans-serif;

  font-size:clamp(34px,4vw,60px);
  line-height:.95;

  letter-spacing:-.045em;
}

.guide-step-copy p{
  max-width:540px;

  margin:28px 0 0;

  color:rgba(255,255,255,.60);

  font-size:15px;
  line-height:1.75;
}


/* =========================================================
   STEP IMAGE
   ========================================================= */

.guide-step-image{
  position:relative;

  width:100%;

  padding:14px;

  background:#0a0e0f;

  border:1px solid rgba(255,255,255,.14);

  box-sizing:border-box;
}

.guide-step-image::before{
  content:"";

  position:absolute;
  top:-1px;
  left:-1px;

  width:65px;
  height:2px;

  background:#20e46b;
}

.guide-step-image img{
  display:block;

  width:100%;
  height:auto;

  border:0;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.guide-final{
  position:relative;

  width:min(1450px,calc(100% - 100px));

  margin:0 auto;

  padding:150px 0;

  border-top:1px solid rgba(255,255,255,.12);
}

.guide-final > small{
  display:block;

  margin-bottom:28px;

  color:#20e46b;

  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
}

.guide-final h2{
  max-width:900px;

  margin:0;

  font-family:'Space Grotesk',sans-serif;

  font-size:clamp(50px,6vw,95px);
  line-height:.91;

  letter-spacing:-.055em;
}

.guide-final h2 span{
  color:#20e46b;
}

.guide-final p{
  max-width:620px;

  margin:35px 0 40px;

  color:rgba(255,255,255,.62);

  font-size:16px;
  line-height:1.7;
}


/* =========================================================
   SCROLL REVEAL
   ========================================================= */

.coverdrone-guide-page .r{
  opacity:0;
  transform:translateY(35px);

  transition:
    opacity .8s ease,
    transform .8s cubic-bezier(.2,.7,.2,1);
}

.coverdrone-guide-page .r.is-visible{
  opacity:1;
  transform:none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1000px){

  .guide-hero-content,
  .guide-intro,
  .guide-step,
  .guide-final{
    width:calc(100% - 70px);
  }

  .guide-step,
  .guide-step-reverse{
    grid-template-columns:65px 1fr;
    gap:35px;
  }

  .guide-step-copy,
  .guide-step-reverse .guide-step-copy{
    grid-column:2;
    grid-row:1;
  }

  .guide-step-image,
  .guide-step-reverse .guide-step-image{
    grid-column:2;
    grid-row:2;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:700px){

  .guide-hero{
    min-height:auto;
  }

  .guide-hero-content{
    width:calc(100% - 48px);

    padding:100px 0 75px;
  }

  .guide-hero-content h1{
    font-size:clamp(48px,14vw,70px);
  }

  .guide-hero-content p{
    margin-top:30px;
    font-size:15px;
  }

  .guide-hero-actions{
    align-items:flex-start;
    flex-direction:column;
    gap:25px;
  }


  /* INTRO */

  .guide-intro{
    width:calc(100% - 48px);

    grid-template-columns:1fr;
    gap:35px;

    padding:85px 0;
  }

  .guide-intro h2{
    font-size:44px;
  }


  /* STEPS */

  .guide-step,
  .guide-step-reverse{
    width:calc(100% - 48px);

    display:flex;
    flex-direction:column;
    align-items:stretch;

    gap:25px;

    padding:80px 0;
  }

  .guide-step-number{
    order:0;
  }

  .guide-step-copy,
  .guide-step-reverse .guide-step-copy{
    order:1;
  }

  .guide-step-image,
  .guide-step-reverse .guide-step-image{
    order:2;
  }

  .guide-step-copy h2{
    font-size:38px;
  }

  .guide-step-copy p{
    font-size:15px;
  }

  .guide-step-image{
    padding:8px;
  }


  /* FINAL */

  .guide-final{
    width:calc(100% - 48px);

    padding:100px 0;
  }

  .guide-final h2{
    font-size:48px;
  }

  .guide-final p{
    font-size:15px;
  }

  .guide-final .btn{
    width:100%;
    box-sizing:border-box;
    justify-content:center;
  }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:420px){

  .guide-hero-content h1{
    font-size:45px;
  }

  .guide-intro h2{
    font-size:38px;
  }

  .guide-step-copy h2{
    font-size:34px;
  }

  .guide-final h2{
    font-size:42px;
  }

}
/* =========================================================
   CONTACT PAGE
   ========================================================= */

.contact-page{
  background:#050708;
  color:#fff;
  overflow:hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.contact-hero{
  position:relative;
  min-height:calc(100vh - 110px);

  display:flex;
  align-items:center;

  overflow:hidden;
  isolation:isolate;

  background:#050708;
}

.contact-hero-grid{
  position:absolute;
  inset:0;
  z-index:0;

  pointer-events:none;
  opacity:.12;

  background-image:
    linear-gradient(
      rgba(255,255,255,.08) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,.08) 1px,
      transparent 1px
    );

  background-size:90px 90px;

  mask-image:linear-gradient(
    90deg,
    #000 0%,
    transparent 82%
  );
}

.contact-hero::after{
  content:"";

  position:absolute;
  right:-180px;
  top:50%;

  width:620px;
  height:620px;

  border:1px solid rgba(32,228,107,.12);
  border-radius:50%;

  transform:translateY(-50%);

  box-shadow:
    0 0 0 70px rgba(32,228,107,.025),
    0 0 0 140px rgba(32,228,107,.015);

  pointer-events:none;
}

.contact-hero-content{
  position:relative;
  z-index:2;

  width:min(1450px,calc(100% - 100px));
  margin:0 auto;

  padding:130px 0 100px;
}

.contact-hero-content > small{
  display:block;

  margin-bottom:30px;

  color:#20e46b;

  font-size:9px;
  font-weight:700;
  letter-spacing:.22em;
}

.contact-hero-content h1{
  max-width:1000px;

  margin:0;

  font-family:'Space Grotesk',sans-serif;

  font-size:clamp(60px,7.5vw,120px);
  line-height:.88;

  letter-spacing:-.06em;
  font-weight:700;
}

.contact-hero-content h1 span{
  display:block;
  color:#20e46b;
}

.contact-hero-content p{
  max-width:650px;

  margin:42px 0 0;

  color:rgba(255,255,255,.65);

  font-size:17px;
  line-height:1.75;
}

.contact-hero-meta{
  display:flex;
  flex-wrap:wrap;

  gap:45px;

  margin-top:75px;
}

.contact-hero-meta span{
  display:flex;
  align-items:center;
  gap:12px;

  color:rgba(255,255,255,.5);

  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
}

.contact-hero-meta i{
  color:#20e46b;
  font-style:normal;
}


/* =========================================================
   CONTACT INFO
   ========================================================= */

.contact-info{
  width:min(1450px,calc(100% - 100px));
  margin:0 auto;

  padding:140px 0;

  border-top:1px solid rgba(255,255,255,.11);
}

.contact-info-head{
  margin-bottom:80px;
}

.contact-info-head small{
  display:block;

  margin-bottom:25px;

  color:#20e46b;

  font-size:9px;
  font-weight:700;
  letter-spacing:.2em;
}

.contact-info-head h2{
  margin:0;

  font-family:'Space Grotesk',sans-serif;

  font-size:clamp(45px,5vw,78px);
  line-height:.93;

  letter-spacing:-.05em;
}

.contact-info-head h2 span{
  color:#20e46b;
}

.contact-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  border-top:1px solid rgba(255,255,255,.12);
}

.contact-info-card{
  position:relative;

  min-height:260px;

  display:flex;
  flex-direction:column;

  padding:38px 35px;

  border-bottom:1px solid rgba(255,255,255,.12);

  box-sizing:border-box;

  text-decoration:none;

  transition:
    background .35s ease,
    padding .35s ease;
}

.contact-info-card:not(:last-child){
  border-right:1px solid rgba(255,255,255,.12);
}

.contact-info-card:hover{
  background:rgba(255,255,255,.025);
  padding-left:45px;
}

.contact-info-card > span{
  color:#20e46b;

  font-size:10px;
  font-weight:700;

  margin-bottom:55px;
}

.contact-info-card small{
  color:rgba(255,255,255,.35);

  font-size:8px;
  font-weight:700;

  letter-spacing:.18em;
}

.contact-info-card strong{
  display:block;

  margin-top:14px;

  color:#fff;

  font-family:'Space Grotesk',sans-serif;

  font-size:21px;
  line-height:1.2;

  letter-spacing:-.02em;
}

.contact-info-card b{
  position:absolute;

  top:38px;
  right:35px;

  color:#20e46b;

  font-size:18px;

  transition:transform .3s ease;
}

.contact-info-card:hover b{
  transform:translate(4px,-4px);
}


/* =========================================================
   FORM SECTION
   ========================================================= */

.contact-form-section{
  padding:150px max(50px,calc((100% - 1450px)/2));

  background:#080b0c;
}

.contact-form-wrapper{
  display:grid;
  grid-template-columns:.75fr 1.25fr;

  gap:110px;

  align-items:start;
}

.contact-form-intro{
  position:sticky;
  top:120px;
}

.contact-form-intro small{
  display:block;

  margin-bottom:25px;

  color:#20e46b;

  font-size:9px;
  font-weight:700;

  letter-spacing:.2em;
}

.contact-form-intro h2{
  margin:0;

  font-family:'Space Grotesk',sans-serif;

  font-size:clamp(45px,5vw,75px);
  line-height:.93;

  letter-spacing:-.05em;
}

.contact-form-intro h2 span{
  color:#20e46b;
}

.contact-form-intro p{
  max-width:450px;

  margin:35px 0 0;

  color:rgba(255,255,255,.55);

  font-size:15px;
  line-height:1.75;
}


/* =========================================================
   FORM CONTAINER
   ========================================================= */

.contact-form-container{
  position:relative;

  padding:45px;

  border:1px solid rgba(255,255,255,.13);

  background:#050708;
}

.contact-form{
  display:grid;

  grid-template-columns:1fr 1fr;

  gap:28px 25px;
}

.contact-form-field{
  display:flex;
  flex-direction:column;
}

.contact-form-field.full{
  grid-column:1 / -1;
}

.contact-form-field label{
  margin-bottom:10px;

  color:rgba(255,255,255,.42);

  font-size:8px;
  font-weight:700;

  letter-spacing:.17em;
}

.contact-form-field input,
.contact-form-field select,
.contact-form-field textarea{
  width:100%;

  box-sizing:border-box;

  border:1px solid rgba(255,255,255,.14);

  border-radius:0;

  outline:none;

  background:#090d0e;

  color:#fff;

  font-family:'Inter',sans-serif;

  font-size:14px;

  padding:17px 16px;

  transition:
    border-color .3s ease,
    background .3s ease;
}

.contact-form-field input:focus,
.contact-form-field select:focus,
.contact-form-field textarea:focus{
  border-color:#20e46b;
  background:#0b1011;
}

.contact-form-field select{
  cursor:pointer;

  appearance:auto;
}

.contact-form-field textarea{
  resize:vertical;

  min-height:160px;

  line-height:1.6;
}

.contact-form-field input::placeholder,
.contact-form-field textarea::placeholder{
  color:rgba(255,255,255,.25);
}


/* =========================================================
   PRIVACY
   ========================================================= */

.contact-form-privacy{
  grid-column:1 / -1;

  margin-top:5px;
}

.contact-form-privacy label{
  display:flex;
  align-items:flex-start;

  gap:12px;

  cursor:pointer;
}

.contact-form-privacy input{
  flex:0 0 auto;

  width:17px;
  height:17px;

  margin:0;

  accent-color:#20e46b;

  cursor:pointer;
}

.contact-form-privacy span{
  max-width:650px;

  color:rgba(255,255,255,.42);

  font-size:11px;
  line-height:1.6;
}


/* =========================================================
   SUBMIT
   ========================================================= */

.contact-form-submit{
  grid-column:1 / -1;

  margin-top:10px;
}

.contact-form-submit .btn{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  gap:18px;

  border:0;

  cursor:pointer;
}


/* =========================================================
   HONEYPOT
   ========================================================= */

.contact-honeypot{
  position:absolute !important;

  width:1px !important;
  height:1px !important;

  padding:0 !important;
  margin:-1px !important;

  overflow:hidden !important;

  clip:rect(0,0,0,0) !important;

  white-space:nowrap !important;

  border:0 !important;
}


/* =========================================================
   FORM SUCCESS
   ========================================================= */

.contact-form-success{
  min-height:420px;

  display:flex;
  flex-direction:column;

  justify-content:center;
  align-items:flex-start;
}

.contact-form-success > span{
  width:55px;
  height:55px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin-bottom:30px;

  border:1px solid #20e46b;

  color:#20e46b;

  font-size:25px;
}

.contact-form-success small{
  color:#20e46b;

  font-size:9px;
  font-weight:700;

  letter-spacing:.2em;
}

.contact-form-success h3{
  margin:18px 0 12px;

  font-family:'Space Grotesk',sans-serif;

  font-size:35px;
  line-height:1;

  letter-spacing:-.03em;
}

.contact-form-success p{
  max-width:500px;

  margin:0;

  color:rgba(255,255,255,.55);

  font-size:15px;
  line-height:1.7;
}


/* =========================================================
   FORM ERROR
   ========================================================= */

.contact-form-error{
  margin-bottom:30px;

  padding:16px 18px;

  border-left:2px solid #20e46b;

  background:rgba(32,228,107,.05);

  color:#fff;

  font-size:12px;
  line-height:1.5;
}


/* =========================================================
   FINAL CTA
   ========================================================= */

.contact-final{
  width:min(1450px,calc(100% - 100px));

  margin:0 auto;

  padding:150px 0 100px;

  border-top:1px solid rgba(255,255,255,.12);
}

.contact-final > small{
  display:block;

  margin-bottom:25px;

  color:#20e46b;

  font-size:9px;
  font-weight:700;

  letter-spacing:.2em;
}

.contact-final h2{
  margin:0;

  font-family:'Space Grotesk',sans-serif;

  font-size:clamp(55px,7vw,105px);
  line-height:.88;

  letter-spacing:-.055em;
}

.contact-final h2 span{
  color:#20e46b;
}

.contact-final p{
  max-width:600px;

  margin:40px 0;

  color:rgba(255,255,255,.58);

  font-size:16px;
  line-height:1.75;
}

.contact-final-links{
  display:flex;
  gap:45px;

  padding-top:30px;

  border-top:1px solid rgba(255,255,255,.12);
}

.contact-final-links a{
  display:inline-flex;

  align-items:center;

  gap:18px;

  color:#20e46b;

  font-size:10px;
  font-weight:700;

  letter-spacing:.15em;

  text-decoration:none;

  transition:color .3s ease;
}

.contact-final-links a:hover{
  color:#fff;
}

.contact-final-links span{
  font-size:17px;
}


/* =========================================================
   SCROLL REVEAL
   ========================================================= */

/* =========================================================
   CONTACT PAGE — SCROLL REVEAL
   ========================================================= */

.contact-page .r,
.contact-page .contact-info-card,
.contact-page .contact-form-field{
  opacity:1;
  transform:none;
}

/*
   Le animazioni vengono gestite direttamente
   dagli elementi che necessitano del reveal.
*/
.contact-page .is-visible{
  opacity:1;
  transform:none;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1050px){

  .contact-hero-content,
  .contact-info,
  .contact-final{
    width:calc(100% - 70px);
  }

  .contact-form-section{
    padding-left:35px;
    padding-right:35px;
  }

  .contact-form-wrapper{
    grid-template-columns:1fr;

    gap:70px;
  }

  .contact-form-intro{
    position:static;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:700px){

  .contact-hero{
    min-height:auto;
  }

  .contact-hero::after{
    width:380px;
    height:380px;

    right:-250px;
  }

  .contact-hero-content{
    width:calc(100% - 48px);

    padding:100px 0 80px;
  }

  .contact-hero-content h1{
    font-size:clamp(48px,13vw,72px);
  }

  .contact-hero-content p{
    margin-top:30px;

    font-size:15px;
  }

  .contact-hero-meta{
    gap:20px 28px;

    margin-top:55px;
  }


  /* INFO */

  .contact-info{
    width:calc(100% - 48px);

    padding:90px 0;
  }

  .contact-info-head{
    margin-bottom:55px;
  }

  .contact-info-head h2{
    font-size:45px;
  }

  .contact-info-grid{
    grid-template-columns:1fr;
  }

  .contact-info-card{
    min-height:210px;

    padding:30px 20px;
  }

  .contact-info-card:not(:last-child){
    border-right:0;
  }

  .contact-info-card > span{
    margin-bottom:40px;
  }

  .contact-info-card:hover{
    padding-left:25px;
  }

  .contact-info-card b{
    right:20px;
    top:30px;
  }


  /* FORM */

  .contact-form-section{
    padding:90px 24px;
  }

  .contact-form-wrapper{
    gap:55px;
  }

  .contact-form-intro h2{
    font-size:45px;
  }

  .contact-form-container{
    padding:25px 20px;
  }

  .contact-form{
    grid-template-columns:1fr;

    gap:25px;
  }

  .contact-form-field.full{
    grid-column:auto;
  }

  .contact-form-privacy{
    grid-column:auto;
  }

  .contact-form-submit{
    grid-column:auto;
  }

  .contact-form-submit .btn{
    width:100%;
    box-sizing:border-box;
  }


  /* FINAL */

  .contact-final{
    width:calc(100% - 48px);

    padding:100px 0 80px;
  }

  .contact-final h2{
    font-size:52px;
  }

  .contact-final p{
    font-size:15px;
  }

  .contact-final-links{
    flex-direction:column;

    gap:25px;
  }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:420px){

  .contact-hero-content h1{
    font-size:44px;
  }

  .contact-info-head h2,
  .contact-form-intro h2{
    font-size:40px;
  }

  .contact-final h2{
    font-size:45px;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media(prefers-reduced-motion:reduce){

  .contact-page .r,
  .contact-page .contact-info-card,
  .contact-page .contact-form-field{
    opacity:1;
    transform:none;
    transition:none;
  }

}
/* =========================================================
   CONTACT MAP HERO
   ========================================================= */

.contact-map-hero{
    position:relative;
    min-height:760px;
    overflow:hidden;
    isolation:isolate;
    background:#050807;
}

.contact-map{
    position:absolute;
    inset:0;
    z-index:0;
    filter:
        grayscale(1)
        brightness(.48)
        contrast(1.15)
        saturate(.7);
}

.contact-map-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            rgba(3,8,7,.96) 0%,
            rgba(3,8,7,.88) 28%,
            rgba(3,8,7,.48) 54%,
            rgba(3,8,7,.12) 100%
        ),
        linear-gradient(
            180deg,
            rgba(2,5,4,.72) 0%,
            transparent 35%,
            rgba(2,5,4,.75) 100%
        );
}

.contact-map-grid{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    opacity:.16;

    background-image:
        linear-gradient(
            rgba(92,255,177,.18) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(92,255,177,.18) 1px,
            transparent 1px
        );

    background-size:80px 80px;

    mask-image:
        linear-gradient(
            90deg,
            black,
            transparent 85%
        );
}

.contact-map-hero .contact-hero-content{
    position:relative;
    z-index:5;
    width:min(650px, 100%);
    padding-top:170px;
    padding-bottom:120px;
}

.contact-map-hero .contact-hero-label{
    display:flex;
    align-items:center;
    gap:12px;

    margin-bottom:28px;

    font-size:12px;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;

    color:#63f7ad;
}

.contact-map-hero .contact-hero-label span{
    color:rgba(255,255,255,.38);
}

.contact-map-hero h1{
    margin:0;

    font-size:clamp(52px, 7vw, 92px);
    line-height:.94;
    letter-spacing:-.055em;
    font-weight:400;

    color:#fff;
}

.contact-map-hero h1 strong{
    color:#63f7ad;
    font-weight:700;
}

.contact-map-hero p{
    max-width:560px;
    margin:35px 0 34px;

    font-size:18px;
    line-height:1.65;

    color:rgba(255,255,255,.72);
}

.contact-location-card{
    display:flex;
    align-items:center;
    gap:18px;

    width:max-content;
    max-width:100%;

    padding:18px 24px;

    border:1px solid rgba(99,247,173,.22);
    background:rgba(4,12,9,.68);

    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);

    box-shadow:
        0 20px 60px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.04);
}

.contact-location-icon{
    position:relative;

    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    border:1px solid rgba(99,247,173,.5);
    border-radius:50%;

    color:#63f7ad;
}

.contact-location-icon::before{
    content:"";

    position:absolute;
    inset:-6px;

    border:1px solid rgba(99,247,173,.15);
    border-radius:50%;
}

.contact-location-icon span{
    font-size:25px;
    line-height:1;
}

.contact-location-card > div:last-child{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.contact-location-card small{
    font-size:9px;
    font-weight:700;
    letter-spacing:.2em;
    color:#63f7ad;
}

.contact-location-card strong{
    font-size:15px;
    color:#fff;
}

.contact-location-card span{
    font-size:13px;
    line-height:1.5;
    color:rgba(255,255,255,.58);
}

.contact-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;

    margin-top:28px;
}

.contact-map-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    min-height:52px;
    padding:0 22px;

    border:1px solid #63f7ad;

    background:#63f7ad;
    color:#04100a;

    font-size:11px;
    font-weight:800;
    letter-spacing:.12em;
    text-decoration:none;

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease,
        box-shadow .25s ease;
}

.contact-map-btn:hover{
    transform:translateY(-2px);

    background:#fff;
    border-color:#fff;

    box-shadow:
        0 12px 35px rgba(99,247,173,.18);
}

.contact-map-btn span{
    font-size:17px;
}

.contact-map-btn-secondary{
    background:rgba(3,10,7,.55);
    color:#fff;
    border-color:rgba(255,255,255,.28);

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.contact-map-btn-secondary:hover{
    background:#63f7ad;
    color:#04100a;
    border-color:#63f7ad;
}

.contact-map-status{
    position:absolute;
    right:36px;
    top:130px;

    z-index:6;

    display:flex;
    align-items:center;
    gap:10px;

    padding:9px 14px;

    border:1px solid rgba(99,247,173,.2);
    background:rgba(3,10,7,.68);

    color:rgba(255,255,255,.65);

    font-size:9px;
    font-weight:700;
    letter-spacing:.18em;

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.contact-map-pulse{
    width:7px;
    height:7px;

    border-radius:50%;

    background:#63f7ad;

    box-shadow:
        0 0 0 5px rgba(99,247,173,.08),
        0 0 15px rgba(99,247,173,.7);

    animation:contactMapPulse 2s infinite;
}

@keyframes contactMapPulse{

    0%{
        box-shadow:
            0 0 0 0 rgba(99,247,173,.35),
            0 0 15px rgba(99,247,173,.7);
    }

    70%{
        box-shadow:
            0 0 0 9px rgba(99,247,173,0),
            0 0 20px rgba(99,247,173,.5);
    }

    100%{
        box-shadow:
            0 0 0 0 rgba(99,247,173,0),
            0 0 15px rgba(99,247,173,.7);
    }

}

.contact-map-coordinates{
    position:absolute;
    right:36px;
    bottom:30px;

    z-index:6;

    color:rgba(255,255,255,.42);

    font-size:9px;
    font-weight:700;
    letter-spacing:.2em;
}

/* =========================================================
   CUSTOM MAP MARKER
   ========================================================= */

.la-map-marker-wrapper{
    background:transparent;
    border:0;
}

.la-map-marker{
    position:relative;

    width:54px;
    height:54px;

    display:grid;
    place-items:center;
}

.la-map-marker-ring{
    position:absolute;
    inset:3px;

    border:1px solid rgba(99,247,173,.8);
    border-radius:50%;

    animation:
        laMarkerRotate 5s linear infinite;
}

.la-map-marker-ring::before,
.la-map-marker-ring::after{
    content:"";

    position:absolute;

    width:7px;
    height:7px;

    border-radius:50%;

    background:#63f7ad;

    box-shadow:0 0 14px #63f7ad;
}

.la-map-marker-ring::before{
    top:-4px;
    left:50%;
    transform:translateX(-50%);
}

.la-map-marker-ring::after{
    bottom:-4px;
    left:50%;
    transform:translateX(-50%);
}

.la-map-marker-core{
    position:relative;
    z-index:2;

    width:24px;
    height:24px;

    display:grid;
    place-items:center;

    border:1px solid #63f7ad;
    border-radius:50%;

    background:#06120c;

    color:#63f7ad;

    font-size:18px;
    font-weight:400;

    box-shadow:
        0 0 0 5px rgba(99,247,173,.08),
        0 0 25px rgba(99,247,173,.45);
}

@keyframes laMarkerRotate{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}

/* =========================================================
   LEAFLET POPUP
   ========================================================= */

.leaflet-popup-content-wrapper{
    background:#07100c;
    color:#fff;

    border:1px solid rgba(99,247,173,.28);
    border-radius:0;

    box-shadow:
        0 20px 50px rgba(0,0,0,.4);
}

.leaflet-popup-tip{
    background:#07100c;
}

.leaflet-popup-close-button{
    color:rgba(255,255,255,.6) !important;
}

.la-map-popup{
    min-width:220px;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.la-map-popup-label{
    margin-bottom:3px;

    font-size:9px;
    font-weight:800;
    letter-spacing:.16em;

    color:#63f7ad;
}

.la-map-popup strong{
    font-size:14px;
    line-height:1.35;
}

.la-map-popup span{
    font-size:12px;
    color:rgba(255,255,255,.55);
}

.la-map-popup a{
    display:inline-block;

    margin-top:10px;

    color:#63f7ad;

    font-size:10px;
    font-weight:800;
    letter-spacing:.1em;
    text-decoration:none;
}

.la-map-popup a:hover{
    color:#fff;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:900px){

    .contact-map-hero{
        min-height:720px;
    }

    .contact-map-hero .contact-hero-content{
        padding-top:130px;
        padding-bottom:110px;
        padding-left:22px;
        padding-right:22px;
    }

    .contact-map-overlay{
        background:
            linear-gradient(
                180deg,
                rgba(3,8,7,.95) 0%,
                rgba(3,8,7,.78) 38%,
                rgba(3,8,7,.4) 72%,
                rgba(3,8,7,.9) 100%
            );
    }

    .contact-map-grid{
        opacity:.08;
    }

    .contact-map-status{
        top:auto;
        right:18px;
        bottom:24px;
    }

    .contact-map-coordinates{
        display:none;
    }

}

@media (max-width:600px){

    .contact-map-hero{
        min-height:760px;
    }

    .contact-map-hero .contact-hero-content{
        padding-top:115px;
    }

    .contact-map-hero h1{
        font-size:54px;
    }

    .contact-map-hero p{
        margin-top:25px;
        font-size:15px;
        line-height:1.6;
    }

    .contact-location-card{
        width:100%;
        padding:16px;
    }

    .contact-hero-actions{
        flex-direction:column;
    }

    .contact-map-btn{
        width:100%;
    }

    .contact-map-status{
        display:none;
    }

}
/* =========================================================
   CONTACT HERO V2
   ========================================================= */

.contact-hero-v2{
    position:relative;
    min-height:760px;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 78% 50%,
            rgba(67,220,150,.055),
            transparent 30%
        ),
        #050807;
}


/* subtle background */
.contact-hero-v2::before{
    content:"";

    position:absolute;
    inset:0;

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            rgba(99,247,173,.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(99,247,173,.035) 1px,
            transparent 1px
        );

    background-size:90px 90px;

    opacity:.35;
}


.contact-v2-inner{
    position:relative;
    z-index:2;

    width:min(1450px, calc(100% - 80px));

    margin:0 auto;

    display:grid;
    grid-template-columns:
        minmax(420px, .82fr)
        minmax(560px, 1.18fr);

    gap:70px;

    align-items:center;
}


/* =========================================================
   LEFT
   ========================================================= */

.contact-v2-content{
    max-width:620px;
}

.contact-v2-eyebrow{
    display:flex;
    align-items:center;
    gap:12px;

    margin-bottom:30px;

    color:#63f7ad;

    font-size:11px;
    font-weight:800;

    letter-spacing:.22em;
}

.contact-v2-eyebrow span{
    color:rgba(255,255,255,.28);
}


.contact-v2-content h1{
    margin:0;

    color:#fff;

    font-size:
        clamp(56px, 5.4vw, 88px);

    line-height:.94;

    letter-spacing:-.055em;

    font-weight:500;
}


.contact-v2-content h1 em{
    color:#63f7ad;

    font-style:normal;

    font-weight:700;
}


.contact-v2-intro{
    max-width:540px;

    margin:34px 0 38px;

    color:rgba(255,255,255,.62);

    font-size:17px;

    line-height:1.7;
}


/* =========================================================
   ADDRESS
   ========================================================= */

.contact-v2-address{
    display:flex;
    align-items:center;

    gap:18px;

    width:max-content;
    max-width:100%;

    padding:17px 22px;

    border-left:2px solid #63f7ad;

    background:
        rgba(255,255,255,.025);

    transition:
        background .25s ease,
        transform .25s ease;
}

.contact-v2-address:hover{
    transform:translateX(4px);

    background:
        rgba(99,247,173,.045);
}


.contact-v2-address-icon{
    width:42px;
    height:42px;

    position:relative;

    display:grid;
    place-items:center;

    border:1px solid rgba(99,247,173,.35);

    border-radius:50%;
}


.contact-v2-address-icon::before{
    content:"";

    width:12px;
    height:12px;

    border:2px solid #63f7ad;

    border-radius:50%;
}


.contact-v2-address-icon span{
    position:absolute;

    width:4px;
    height:4px;

    border-radius:50%;

    background:#63f7ad;
}


.contact-v2-address-text{
    display:flex;
    flex-direction:column;

    gap:3px;
}


.contact-v2-address-text small{
    color:#63f7ad;

    font-size:8px;
    font-weight:800;

    letter-spacing:.18em;
}


.contact-v2-address-text strong{
    color:#fff;

    font-size:14px;
}


.contact-v2-address-text p{
    margin:0;

    color:rgba(255,255,255,.48);

    font-size:12px;

    line-height:1.45;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.contact-v2-actions{
    display:flex;

    gap:12px;

    margin-top:30px;
}


.contact-v2-btn{
    min-height:52px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:13px;

    padding:0 22px;

    font-size:10px;
    font-weight:800;

    letter-spacing:.13em;

    text-decoration:none;

    transition:
        transform .25s ease,
        background .25s ease,
        border-color .25s ease,
        color .25s ease;
}


.contact-v2-btn span{
    font-size:17px;
}


.contact-v2-btn-primary{
    background:#63f7ad;

    border:1px solid #63f7ad;

    color:#031008;
}


.contact-v2-btn-primary:hover{
    transform:translateY(-2px);

    background:#fff;

    border-color:#fff;
}


.contact-v2-btn-outline{
    background:rgba(255,255,255,.015);

    border:1px solid rgba(255,255,255,.22);

    color:#fff;
}


.contact-v2-btn-outline:hover{
    transform:translateY(-2px);

    border-color:#63f7ad;

    color:#63f7ad;
}


/* =========================================================
   MAP CARD
   ========================================================= */

.contact-v2-map-wrap{
    position:relative;

    height:590px;

    overflow:hidden;

    border:1px solid rgba(99,247,173,.25);

    background:#0b100e;

    box-shadow:
        0 30px 100px rgba(0,0,0,.38);

    isolation:isolate;
}


/* top information bar */

.contact-v2-map-top{
    position:absolute;

    z-index:20;

    top:0;
    left:0;
    right:0;

    height:52px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:0 18px;

    background:
        rgba(4,9,7,.92);

    border-bottom:1px solid rgba(99,247,173,.16);

    backdrop-filter:blur(12px);
}


.contact-v2-map-top > div{
    display:flex;
    align-items:center;

    gap:9px;

    color:rgba(255,255,255,.7);

    font-size:9px;
    font-weight:800;

    letter-spacing:.15em;
}


.contact-v2-map-top > span{
    color:rgba(255,255,255,.3);

    font-size:9px;
    font-weight:700;

    letter-spacing:.16em;
}


.contact-v2-map-dot{
    width:6px;
    height:6px;

    border-radius:50%;

    background:#63f7ad;

    box-shadow:
        0 0 10px rgba(99,247,173,.8);
}


/* map */

.contact-v2-map{
    position:absolute;

    inset:0;

    z-index:1;

    filter:
        grayscale(.8)
        contrast(1.05)
        brightness(.72);
}


/*
 * leggero tono scuro sui bordi,
 * NON sopra tutta la mappa.
 */

.contact-v2-map-wrap::after{
    content:"";

    position:absolute;

    z-index:5;

    inset:0;

    pointer-events:none;

    box-shadow:
        inset 0 0 90px rgba(0,0,0,.55),
        inset 0 -120px 100px rgba(0,0,0,.4);
}


/* =========================================================
   MAP BOTTOM CARD
   ========================================================= */

.contact-v2-map-info{
    position:absolute;

    z-index:20;

    left:18px;
    right:18px;
    bottom:18px;

    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:20px;

    padding:17px 19px;

    border:1px solid rgba(255,255,255,.12);

    background:
        rgba(4,9,7,.88);

    backdrop-filter:blur(14px);
}


.contact-v2-map-info div{
    display:flex;
    flex-direction:column;

    gap:5px;
}


.contact-v2-map-info small{
    color:#63f7ad;

    font-size:8px;
    font-weight:800;

    letter-spacing:.17em;
}


.contact-v2-map-info strong{
    color:#fff;

    font-size:13px;
}


.contact-v2-map-info > span{
    color:rgba(255,255,255,.38);

    font-size:9px;
    font-weight:700;

    letter-spacing:.13em;
}


/* =========================================================
   CUSTOM MARKER
   ========================================================= */

.contact-v2-marker{
    background:transparent;

    border:0;
}


.contact-marker-core{
    position:relative;

    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    border:1px solid rgba(99,247,173,.9);

    border-radius:50%;

    background:
        rgba(3,15,9,.9);

    box-shadow:
        0 0 0 7px rgba(99,247,173,.09),
        0 0 35px rgba(99,247,173,.35);
}


.contact-marker-core::before{
    content:"";

    position:absolute;

    inset:-11px;

    border:1px solid rgba(99,247,173,.22);

    border-radius:50%;

    animation:
        contactMarkerPulse 2.4s infinite;
}


.contact-marker-center{
    width:9px;
    height:9px;

    border-radius:50%;

    background:#63f7ad;

    box-shadow:
        0 0 15px #63f7ad;
}


@keyframes contactMarkerPulse{

    0%{
        transform:scale(.8);

        opacity:.9;
    }

    70%{
        transform:scale(1.15);

        opacity:0;
    }

    100%{
        transform:scale(1.15);

        opacity:0;
    }

}


/* =========================================================
   POPUP
   ========================================================= */

.leaflet-popup-content-wrapper{
    padding:0;

    border-radius:0;

    background:#07100c;

    color:#fff;

    border:1px solid rgba(99,247,173,.25);

    box-shadow:
        0 20px 60px rgba(0,0,0,.5);
}


.leaflet-popup-content{
    margin:0;
}


.leaflet-popup-tip{
    background:#07100c;
}


.leaflet-popup-close-button{
    color:rgba(255,255,255,.5) !important;
}


.contact-v2-popup{
    min-width:210px;

    display:flex;
    flex-direction:column;

    gap:6px;

    padding:16px;
}


.contact-v2-popup small{
    color:#63f7ad;

    font-size:8px;
    font-weight:800;

    letter-spacing:.17em;
}


.contact-v2-popup strong{
    font-size:13px;
}


.contact-v2-popup span{
    color:rgba(255,255,255,.5);

    font-size:11px;
}


.contact-v2-popup a{
    margin-top:7px;

    color:#63f7ad;

    font-size:9px;
    font-weight:800;

    letter-spacing:.1em;

    text-decoration:none;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:1000px){

    .contact-v2-inner{
        width:min(100% - 40px, 720px);

        grid-template-columns:1fr;

        gap:45px;

        padding:110px 0 70px;
    }


    .contact-v2-content{
        max-width:680px;
    }


    .contact-v2-map-wrap{
        height:500px;
    }

}


@media (max-width:600px){

    .contact-hero-v2{
        min-height:auto;
    }


    .contact-v2-inner{
        width:calc(100% - 30px);

        padding:
            90px 0
            45px;
    }


    .contact-v2-content h1{
        font-size:54px;
    }


    .contact-v2-intro{
        font-size:15px;

        margin:
            26px 0
            30px;
    }


    .contact-v2-address{
        width:100%;

        padding:15px;
    }


    .contact-v2-actions{
        flex-direction:column;
    }


    .contact-v2-btn{
        width:100%;
    }


    .contact-v2-map-wrap{
        height:430px;
    }


    .contact-v2-map-info{
        flex-direction:column;
        align-items:flex-start;
    }


    .contact-v2-map-info > span{
        display:none;
    }

}
/* =========================================================
   CONTACT MAP — MARKER FIX
   ========================================================= */

.contact-v2-marker{
    background:transparent !important;
    border:0 !important;
}

.contact-marker-core{
    position:relative;
    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    border:1px solid #63f7ad;
    border-radius:50%;

    background:rgba(4,16,10,.92);

    color:#63f7ad;

    box-shadow:
        0 0 0 5px rgba(99,247,173,.08),
        0 0 28px rgba(99,247,173,.55);
}

.contact-marker-core::before{
    content:"";

    position:absolute;
    inset:-9px;

    border:1px solid rgba(99,247,173,.28);
    border-radius:50%;

    animation:
        contactMarkerPulse 2s ease-out infinite;
}

.contact-marker-ring{
    position:absolute;
    inset:4px;

    border:1px dashed rgba(99,247,173,.65);
    border-radius:50%;

    animation:
        contactMarkerRotate 5s linear infinite;
}

.contact-marker-core > span{
    position:relative;
    z-index:2;

    font-size:20px;
    line-height:1;
}

@keyframes contactMarkerPulse{

    0%{
        transform:scale(.75);
        opacity:.9;
    }

    70%{
        transform:scale(1.25);
        opacity:0;
    }

    100%{
        transform:scale(1.25);
        opacity:0;
    }
}

@keyframes contactMarkerRotate{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}
/* =========================================================
   LA DRONE SERVICE — FAVICON MAP MARKER
   ========================================================= */

.la-drone-favicon-marker {
    background: transparent !important;
    border: 0 !important;
}


/* CONTENITORE */

.la-drone-marker {
    position: relative;
    width: 120px;
    height: 155px;
    pointer-events: none;
}


/* =========================================================
   FAVICON
   ========================================================= */

.la-drone-marker-logo {

    position: absolute;

    top: 0;
    left: 50%;

    width: 76px;
    height: 76px;

    transform: translateX(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #050b08;

    border: 2px solid #63f7ad;

    box-shadow:
        0 0 0 4px rgba(99,247,173,.10),
        0 0 18px rgba(99,247,173,.65),
        0 0 40px rgba(99,247,173,.35);

    z-index: 10;

    overflow: hidden;
}


/* FAVICON */

.la-drone-marker-logo img {

    width: 62px;
    height: 62px;

    object-fit: contain;

    display: block;

}


/* =========================================================
   PUNTA DEL MARKER
   ========================================================= */

.la-drone-marker-point {

    position: absolute;

    top: 64px;
    left: 50%;

    width: 24px;
    height: 24px;

    transform:
        translateX(-50%)
        rotate(45deg);

    background: #050b08;

    border-right: 2px solid #63f7ad;
    border-bottom: 2px solid #63f7ad;

    z-index: 5;

}


/* PUNTO CENTRALE */

.la-drone-marker-point span {

    position: absolute;

    width: 7px;
    height: 7px;

    left: 7px;
    top: 7px;

    border-radius: 50%;

    background: #63f7ad;

    box-shadow:
        0 0 8px #63f7ad,
        0 0 18px #63f7ad;

    transform: rotate(-45deg);

}


/* =========================================================
   RADAR
   ========================================================= */

.la-drone-marker-pulse {

    position: absolute;

    left: 50%;
    top: 112px;

    width: 55px;
    height: 55px;

    transform: translateX(-50%);

    border: 1px solid rgba(99,247,173,.55);

    border-radius: 50%;

    pointer-events: none;

}


.la-drone-marker-pulse::before {

    content: "";

    position: absolute;

    inset: 10px;

    border: 1px solid rgba(99,247,173,.35);

    border-radius: 50%;

}


.la-drone-marker-pulse::after {

    content: "";

    position: absolute;

    left: 50%;
    top: 50%;

    width: 6px;
    height: 6px;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    background: #63f7ad;

    box-shadow:
        0 0 10px #63f7ad,
        0 0 20px #63f7ad;

}


/* RADAR 1 */

.la-drone-marker-pulse.pulse-1 {

    animation:
        laDroneRadar 2.5s
        ease-out
        infinite;

}


/* RADAR 2 */

.la-drone-marker-pulse.pulse-2 {

    animation:
        laDroneRadar 2.5s
        ease-out
        1.25s
        infinite;

}


@keyframes laDroneRadar {

    0% {

        opacity: .8;

        transform:
            translateX(-50%)
            scale(.35);

    }

    70% {

        opacity: .25;

    }

    100% {

        opacity: 0;

        transform:
            translateX(-50%)
            scale(1.45);

    }

}


/* =========================================================
   BAGLIORE SOTTO IL PUNTO
   ========================================================= */

.la-drone-marker::after {

    content: "";

    position: absolute;

    left: 50%;
    top: 126px;

    width: 45px;
    height: 12px;

    transform: translateX(-50%);

    border-radius: 50%;

    background:
        rgba(99,247,173,.30);

    filter: blur(7px);

    animation:
        laDroneGlow 2s
        ease-in-out
        infinite;

}


@keyframes laDroneGlow {

    0%,
    100% {

        opacity: .4;

        transform:
            translateX(-50%)
            scale(.8);

    }

    50% {

        opacity: 1;

        transform:
            translateX(-50%)
            scale(1.15);

    }

}


/* =========================================================
   POPUP
   ========================================================= */

.contact-map-popup {

    min-width: 230px;

    padding: 4px;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

}


.contact-map-popup-title {

    font-size: 15px;

    font-weight: 800;

    letter-spacing: 1px;

    color: #111;

}


.contact-map-popup-line {

    height: 2px;

    margin:
        10px 0 12px;

    background: #63f7ad;

}


.contact-map-popup-address {

    display: flex;

    gap: 10px;

    align-items: flex-start;

    margin-bottom: 14px;

}


.contact-map-popup-icon {

    color: #15945d;

    font-size: 22px;

    line-height: 1;

}


.contact-map-popup-address strong {

    display: block;

    color: #222;

    font-size: 13px;

    line-height: 1.4;

}


.contact-map-popup-address span {

    display: block;

    margin-top: 2px;

    color: #666;

    font-size: 12px;

}


.contact-map-popup-button {

    display: block;

    padding: 10px 12px;

    border-radius: 7px;

    background: #63f7ad;

    color: #06110b !important;

    text-align: center;

    text-decoration: none !important;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .5px;

    transition:
        transform .2s ease,
        box-shadow .2s ease;

}


.contact-map-popup-button:hover {

    transform: translateY(-1px);

    box-shadow:
        0 5px 18px
        rgba(99,247,173,.35);

}