@font-face{font-family:Montserrat;src:url(fonts/montserrat-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url(fonts/montserrat-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url(fonts/montserrat-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Montserrat;src:url(fonts/montserrat-800.woff2) format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Orbitron;src:url(fonts/orbitron.woff2) format('woff2');font-weight:400 900;font-display:swap}
*{box-sizing:border-box;margin:0;padding:0}a,a:hover,a:visited,a:focus,u,ins{text-decoration:none!important;color:inherit}
:root{--n0:#040b1c;--n1:#071431;--n2:#0c2350;--n3:#143a78;--ice:#7FDCFF;--ice2:#bfeeff;--pale:#eaf5fd;--ink:#0b1b3a;--mut:#5a6b88;--tx:#c9d7ee;--line:rgba(127,220,255,.18)}
html{scroll-behavior:smooth}body{font-family:Montserrat,system-ui,sans-serif;color:var(--ink);background:var(--n0);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}.w{max-width:1200px;margin:0 auto;padding:0 28px}
.hl{color:var(--ice)}
header{position:sticky;top:0;z-index:20;background:rgba(4,11,28,.78);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
header .w{display:flex;align-items:center;justify-content:space-between;height:74px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.06em;color:#fff;font-size:18px;white-space:nowrap}
.brand .g360{width:50px;height:50px;display:flex;align-items:center;justify-content:center;margin:-6px -4px}.brand .g360 img{width:38px;height:38px}.brand span.wm{font-family:Orbitron,Montserrat,sans-serif;font-weight:800;letter-spacing:2px;color:#E8EEF8}
nav.links{display:flex;gap:30px;font-size:14px;font-weight:600;color:var(--tx)}nav.links a{transition:color .2s}nav.links a:hover,nav.links a.on{color:var(--ice)}
.btn{display:inline-block;padding:14px 26px;border-radius:999px;font-weight:700;font-size:15px;background:linear-gradient(135deg,#9be5ff,#4fb8f0);color:#04122c!important;white-space:nowrap;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 30px rgba(79,184,240,.3)}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(79,184,240,.45)}
.btn.sec{background:rgba(255,255,255,.06);color:#fff!important;border:1px solid rgba(255,255,255,.28);box-shadow:none}.btn.sm{padding:10px 20px;font-size:14px}
.kick{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--ice);text-transform:uppercase}
.hero{position:relative;overflow:hidden;color:#fff;padding:110px 0 120px;background:radial-gradient(900px 500px at 80% 20%,rgba(127,220,255,.18),transparent 60%),linear-gradient(160deg,var(--n1),var(--n0) 70%)}
.hero:before{content:"";position:absolute;inset:0;background:url(img/frames/gestire.jpg) center/cover;opacity:.22;mix-blend-mode:screen}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--n0) 25%,rgba(4,11,28,.55) 65%,rgba(4,11,28,.2))}
.hero .w{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
h1{font-size:62px;line-height:1.04;font-weight:800;letter-spacing:-.01em;margin:18px 0;text-transform:uppercase}
.hero p.sub{font-size:24px;font-weight:600;color:#fff;margin-bottom:16px}.hero p.lead{color:var(--tx);font-size:17px;max-width:560px;margin-bottom:34px}
.ctas{display:flex;gap:14px;flex-wrap:wrap}
.hvis{position:relative;display:flex;justify-content:center;align-items:center}
.hlogo{display:flex;flex-direction:column;align-items:center}.hlogo .g360{display:flex;flex-direction:column;align-items:center;min-height:237px}.hlogo .g360>img{width:150px;margin:44px}.g-title{margin-top:8px;font-family:Orbitron,sans-serif;font-weight:800;letter-spacing:2px;line-height:1;color:#E8EEF8}.g-tri{display:block;margin-top:8px;margin-bottom:6px}
.chip{position:absolute;background:rgba(12,35,80,.75);border:1px solid var(--line);backdrop-filter:blur(8px);border-radius:14px;padding:10px 14px;font-size:13px;font-weight:600;color:#fff;display:flex;gap:8px;align-items:center;white-space:nowrap}
.chip i{width:8px;height:8px;border-radius:50%;background:var(--ice);box-shadow:0 0 10px var(--ice)}
.hvis{min-height:420px}.chip.c1{top:0;left:0}.chip.c2{bottom:0;left:4%}.chip.c3{top:46%;right:-2%}
.strip{background:var(--n1);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--tx)}
.strip .w{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.strip span b{color:var(--ice)}
section{padding:100px 0}.dark{background:linear-gradient(180deg,var(--n0),var(--n1));color:#fff}.pale{background:var(--pale)}.white{background:#fff}
.sh{max-width:760px;margin-bottom:52px}.sh h2{font-size:40px;font-weight:800;line-height:1.15;margin:12px 0 14px;color:var(--ink)}.sh p{color:var(--mut);font-size:17px}
.dark .sh h2{color:#fff}.dark .sh p{color:var(--tx)}.pale .kick,.white .kick{color:#1c7fc0}
.vid{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 100px rgba(0,0,0,.55),0 0 0 6px rgba(127,220,255,.06);background:#000}
.vid video{display:block;width:100%;height:auto;aspect-ratio:16/9}
.vcap{margin-top:16px;font-size:13px;color:var(--tx);text-align:center}
.feat{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;margin-bottom:84px}.feat:last-child{margin-bottom:0}
.feat.rev{grid-template-columns:.85fr 1.15fr}.feat.rev .ph{order:2}
.ph{border-radius:20px;overflow:hidden;box-shadow:0 30px 70px rgba(7,20,49,.28);border:1px solid rgba(12,35,80,.08);background:var(--n1)}
.ph img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .6s ease}.ph:hover img{transform:scale(1.03)}
.feat h3{font-size:30px;font-weight:800;line-height:1.15;margin:10px 0 14px;text-transform:uppercase}.feat p{color:var(--mut);font-size:17px}
.dark .feat p{color:var(--tx)}.dark .ph{border-color:var(--line);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.feat ul{list-style:none;margin-top:18px}.feat li{padding:6px 0 6px 26px;position:relative;font-weight:600;font-size:15px}.feat li:before{content:"";position:absolute;left:0;top:13px;width:12px;height:12px;border-radius:50%;background:var(--ice);box-shadow:0 0 0 4px rgba(127,220,255,.2)}
.shot{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 40px 90px rgba(7,20,49,.25);border:1px solid #d3e3f3}.shot .bar{height:30px;background:#0c2350;display:flex;gap:7px;align-items:center;padding:0 14px}.shot .bar i{width:10px;height:10px;border-radius:50%;background:rgba(127,220,255,.55)}.shot img{width:100%;height:auto}
.mods{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}.mod{background:#fff;border:1px solid #dbe8f5;border-radius:14px;padding:16px 18px 16px 20px;border-left:3px solid var(--ice)}.mod b{display:block;color:var(--ink);font-size:15px}.mod span{color:var(--mut);font-size:13.5px}
.grid{display:grid;gap:24px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.tile{border-radius:18px;overflow:hidden;background:#fff;border:1px solid #dbe8f5;box-shadow:0 10px 30px rgba(7,20,49,.06);transition:transform .25s,box-shadow .25s}
.tile:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(7,20,49,.14)}
.tile img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.tile .tb{padding:22px 24px 26px}.tile h3{font-size:18px;font-weight:800;color:var(--ink);margin-bottom:6px}.tile p{color:var(--mut);font-size:15px}
.card{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:18px;padding:30px}.card h3{font-size:19px;font-weight:700;color:#fff;margin-bottom:8px}.card p{color:var(--tx);font-size:15px}
.pale .card,.white .card{background:#fff;border-color:#dbe8f5}.pale .card h3,.white .card h3{color:var(--ink)}.pale .card p,.white .card p{color:var(--mut)}
.num{font-size:34px;font-weight:800;color:var(--ice);line-height:1;margin-bottom:14px}.pale .num,.white .num{color:#1c7fc0}
.note{margin-top:36px;font-size:13px;color:var(--mut)}.dark .note{color:#8fa3c4}
.cta{position:relative;overflow:hidden;border-radius:26px;padding:64px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;color:#fff;background:linear-gradient(120deg,rgba(4,11,28,.92),rgba(12,35,80,.8)),url(img/frames/regia.jpg) center/cover;border:1px solid var(--line)}
.cta h2{font-size:34px;font-weight:800;line-height:1.15;text-transform:uppercase}.cta p{color:var(--tx);margin-top:8px}
.contact{font-size:28px;font-weight:800;color:var(--ice)}
.phead{padding:96px 0 72px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--n1),var(--n0))}
.pbg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.3}
.phead.img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--n0) 30%,rgba(4,11,28,.4))}
.phead .w{position:relative;z-index:1}.phead h1{font-size:52px}.phead p{color:var(--tx);max-width:680px;font-size:18px}
.prose{max-width:780px}.prose p{color:var(--mut);font-size:17px;margin-bottom:18px}
footer{background:var(--n0);color:#8fa3c4;padding:64px 0 30px;font-size:14px;border-top:1px solid var(--line)}footer .top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:40px}
footer h4{color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}footer li{list-style:none;margin:7px 0}footer a:hover{color:var(--ice)}
footer .bot{border-top:1px solid rgba(255,255,255,.08);padding-top:22px}
.brand:focus-visible,.hlogo:focus-visible,a:focus-visible,video:focus-visible{outline:2px solid var(--ice);outline-offset:4px;border-radius:10px}
@media(max-width:960px){footer .top{grid-template-columns:1fr 1fr}.mods{grid-template-columns:1fr 1fr}.feat.rev{grid-template-columns:1fr}.hero .w,.g3,.g2,.g4,footer .top,.feat{grid-template-columns:1fr}.feat.rev .ph{order:0}.feat{gap:28px;margin-bottom:64px}nav.links{display:none}h1{font-size:44px}.hvis{display:none}section{padding:72px 0}.cta{padding:40px}.sh h2{font-size:32px}.phead h1{font-size:40px}.g4{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.mods{grid-template-columns:1fr}.w{padding:0 18px}.brand span.wm{display:none}h1{font-size:36px}.hero{padding:64px 0 76px}.hero p.sub{font-size:20px}.sh h2{font-size:27px}.feat h3{font-size:24px}.cta{padding:30px 24px}.cta h2{font-size:26px}.btn.sm{padding:9px 15px;font-size:13px}.g4{grid-template-columns:1fr}.strip .w{justify-content:center;font-size:12px}.phead h1{font-size:32px}.contact{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.ph:hover img,.tile:hover,.btn:hover{transform:none}}
nav.links{gap:22px;font-size:13.5px}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.pill{padding:8px 16px;border-radius:999px;border:1px solid var(--line);color:#fff;font-size:13px;font-weight:600;background:rgba(255,255,255,.05)}.pill:hover{border-color:var(--ice);color:var(--ice)}
.btn.ghost{background:transparent;color:#1c7fc0!important;border:1px solid #1c7fc0;box-shadow:none;margin-left:8px}
.cap{font-size:13px;color:var(--mut);margin-top:12px}
.ben .num{font-size:14px;letter-spacing:.2em;text-transform:uppercase}ul.bl{list-style:none;margin-top:12px}ul.bl li{padding:9px 0 9px 26px;position:relative;border-bottom:1px solid #e6eef7;color:var(--ink);font-weight:600;font-size:15px}ul.bl li:before{content:"";position:absolute;left:0;top:16px;width:10px;height:10px;border-radius:50%;background:var(--ice);box-shadow:0 0 0 4px rgba(127,220,255,.25)}
.h2d{font-size:40px;font-weight:800;line-height:1.15;margin:12px 0 18px;color:#fff}.pd{color:var(--tx);font-size:17px;margin-bottom:14px}
.faq details{background:#fff;border:1px solid #dbe8f5;border-radius:14px;margin-bottom:12px;padding:0 22px}.faq summary{cursor:pointer;list-style:none;padding:18px 30px 18px 0;font-weight:700;color:var(--ink);position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:0;top:14px;font-size:22px;color:#1c7fc0}.faq details[open] summary:after{content:"–"}.faq details p{color:var(--mut);padding:0 0 18px}
.cta.big{align-items:stretch}.cta .ctl{flex:1 1 420px}.cta .ctr{display:flex;flex-direction:column;gap:12px;justify-content:center;min-width:260px}.cta .ctr .btn{text-align:center}.cta .mail{color:var(--ice);font-weight:700;text-align:center;margin-top:4px}
ol.steps3{list-style:none;counter-reset:c;margin-top:22px;display:grid;gap:10px}ol.steps3 li{counter-increment:c;position:relative;padding-left:44px;color:var(--tx)}ol.steps3 li b{color:#fff}ol.steps3 li:before{content:counter(c);position:absolute;left:0;top:-2px;width:30px;height:30px;border-radius:50%;border:1px solid var(--ice);color:var(--ice);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}
.burger,.mdemo{display:none}
.burger{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.05);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}.burger span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .25s,opacity .25s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1180px){.burger{display:flex}.hdemo{display:none}header .w{position:relative}nav.links{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;gap:0;background:rgba(4,11,28,.98);border-bottom:1px solid var(--line);padding:8px 28px 22px;font-size:16px;box-shadow:0 30px 60px rgba(0,0,0,.5)}nav.links.open{display:flex}nav.links>a:not(.btn){padding:14px 0;border-bottom:1px solid rgba(127,220,255,.1)}nav.links .mdemo{display:block;text-align:center;margin-top:18px}}
@media(max-width:420px){.h2d{font-size:28px}.btn.ghost{margin:10px 0 0}}
.story .st{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;margin-bottom:80px}.story .st.rev{grid-template-columns:.9fr 1.1fr}.story .st.rev>.ph{order:2}
.story h3{font-size:40px;font-weight:800;line-height:1.05;text-transform:uppercase;color:#fff;letter-spacing:.01em}.story .ss{color:var(--ice);font-size:22px;font-weight:700;margin:6px 0 14px}.story p{color:var(--tx);font-size:17px}.story .sd{font-size:13px;color:#8fa3c4;margin-top:10px}
.sn{font-size:13px;font-weight:800;letter-spacing:.2em;color:var(--ice);opacity:.7;margin-bottom:6px}
.story .fin{grid-template-columns:1.1fr .9fr;padding-top:20px;border-top:1px solid var(--line)}
.js .rv{opacity:0;transform:translateX(80px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.js .rv.in{opacity:1;transform:none}
@media(max-width:960px){.story .st,.story .st.rev{grid-template-columns:1fr;gap:24px;margin-bottom:56px}.story .st.rev>.ph{order:0}.story h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1!important;transform:none!important}}
.prose h2{font-size:28px;font-weight:800;color:var(--ink);margin:0 0 12px}.prose h3{font-size:19px;font-weight:700;color:var(--ink);margin:30px 0 10px}.prose ul{margin:0 0 18px 22px;color:var(--mut)}.prose li{margin:6px 0}.prose a{color:#1c7fc0;font-weight:600}.prose strong{color:var(--ink)}
mark.todo{background:#ffe9ec;color:#b3122e;font-weight:700;padding:1px 6px;border-radius:4px;border:1px dashed #b3122e}
.tile .more{display:inline-block;margin-top:10px;font-weight:700;color:#1c7fc0;font-size:14px}
ol.how{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}ol.how li{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:18px;padding:26px 22px;position:relative}ol.how h3{font-size:18px;font-weight:800;color:#fff;margin-bottom:8px}ol.how p{color:var(--tx);font-size:14.5px}
@media(max-width:1180px){ol.how{grid-template-columns:1fr 1fr}}@media(max-width:600px){ol.how{grid-template-columns:1fr}}
.orecard{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:26px 30px;border-radius:18px;background:linear-gradient(135deg,#0b1a33,#12305a);color:#fff;text-decoration:none}.orecard h3{font-size:20px;font-weight:800;margin:4px 0 6px}.orecard p{color:#cfe9ff;font-size:15px}.orecard .more{color:#7FDCFF;font-weight:700;white-space:nowrap}
@media(max-width:600px){.orecard{flex-direction:column;align-items:flex-start}}
