*{margin:0;padding:0;box-sizing:border-box}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
:root{
  --bg:#05070a;--bg-elevated:#080d14;--card:#0e1622;--card-soft:#101a28;--border:rgba(255,255,255,.07);
  --surface:linear-gradient(180deg,rgba(14,22,34,.94),rgba(9,14,22,.97));
  --surface-soft:linear-gradient(180deg,rgba(16,26,40,.9),rgba(10,16,25,.96));
  --blue:#2b7fff;--blue-glow:rgba(43,127,255,.22);--blue-dim:rgba(43,127,255,.09);
  --text:#f0f3f8;--text-secondary:#8b9bb0;--text-muted:#7a8ba6;
  --font-sans:'Inter',system-ui,-apple-system,sans-serif;
  --font-display:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
  --max-width:1280px;
}
body{background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle 900px at 50% -18%,rgba(43,127,255,.12),transparent 58%),radial-gradient(circle 760px at 50% 112%,rgba(43,127,255,.08),transparent 62%),#05070a}
a{color:inherit}
main{overflow:hidden}
.container{max-width:var(--max-width);margin:0 auto;padding:0 2rem}
.container.narrow{max-width:860px}
.section{padding:3.7rem 0;position:relative}
.section.alt{background:transparent}
.section.alt::before,.section.alt::after{content:'';position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);pointer-events:none}
.section.alt::before{top:0}.section.alt::after{bottom:0}
.section-header{text-align:center;max-width:760px;margin:0 auto 2rem}
.section-header p,.section p{color:var(--text-secondary);font-size:1.04rem}
h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:0}
h2{font-size:clamp(2rem,5vw,3rem);line-height:1.12;margin-bottom:1rem}
.gradient-text{background:linear-gradient(135deg,#fff 0%,#9dc4ff 38%,var(--blue) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.badge{display:inline-flex;align-items:center;width:fit-content;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);background:var(--blue-dim);padding:.28rem .85rem;border:1px solid rgba(43,127,255,.16);border-radius:20px;margin-bottom:1.25rem}
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--blue);color:#fff;padding:.75rem 1.25rem;border-radius:0 0 8px 0;text-decoration:none;font-weight:700}
.skip-link:focus{left:0}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:220;pointer-events:none;background:rgba(255,255,255,.04)}
.scroll-progress::after{content:'';display:block;height:100%;background:linear-gradient(90deg,var(--blue),#9dc4ff,var(--blue));transform:scaleX(var(--progress,0));transform-origin:left;box-shadow:0 0 14px rgba(43,127,255,.75)}
.global-spotlight{position:fixed;inset:0;pointer-events:none;z-index:150;opacity:.9;mix-blend-mode:screen;background:radial-gradient(circle 460px at var(--x,50%) var(--y,45%),rgba(70,145,255,.25),rgba(43,127,255,.1) 34%,transparent 72%)}
.nav{position:fixed;top:0;left:0;right:0;z-index:180;padding:1rem 2rem;background:rgba(5,7,10,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{font-family:var(--font-display);font-size:1.45rem;font-weight:800;letter-spacing:0;text-decoration:none}
.logo span{color:var(--blue)}
.btn-nav{background:#1a6be8;color:#fff;padding:.52rem 1.25rem;border-radius:30px;font-weight:800;font-size:.875rem;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.btn-nav:hover{background:#1258cc;transform:translateY(-1px)}
.hero{padding:8.2rem 2rem 3.4rem;position:relative;overflow:hidden;text-align:left}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 28% 18%,rgba(43,127,255,.16),transparent 58%);pointer-events:none}
.hero::after{content:'';position:absolute;left:50%;bottom:-28rem;width:58rem;height:58rem;transform:translateX(-50%);background:radial-gradient(circle,rgba(43,127,255,.08),transparent 62%);pointer-events:none}
.hero .container{position:relative;z-index:1}
.crumbs{font-size:.85rem;color:var(--text-muted);margin-bottom:1.35rem}
.crumbs a{color:var(--text-secondary);text-decoration:none}
.crumbs a:hover{color:var(--blue)}
.crumbs span{margin:0 .25rem}
.hero h1{font-size:clamp(2.7rem,7vw,5.2rem);line-height:1.05;margin-bottom:1.35rem;max-width:980px}
.hero-desc{font-size:clamp(1.05rem,2vw,1.18rem);color:var(--text-secondary);max-width:780px;margin-bottom:2rem}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 2rem;border-radius:40px;font-weight:700;text-decoration:none;transition:all .2s}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 22px var(--blue-glow)}
.btn-primary:hover{background:#1a6be8;transform:translateY(-2px)}
.btn-outline{border:1px solid var(--border);color:var(--text);background:rgba(255,255,255,.015)}
.btn-outline:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-dim)}
.btn-magnetic{position:relative;isolation:isolate;overflow:hidden;transform:translate(var(--mx,0),var(--my,0));transition:transform .35s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .3s}
.btn-magnetic::after{content:'';position:absolute;inset:-1px;z-index:-1;opacity:0;background:radial-gradient(circle 110px at calc(50% + var(--mx,0px)) calc(50% + var(--my,0px)),rgba(255,255,255,.32),transparent 68%);transition:opacity .25s}
.btn-magnetic:hover::after{opacity:1}
.live-dot,.live-dot-small{display:inline-block;background:var(--blue);border-radius:50%;filter:drop-shadow(0 0 6px rgba(43,127,255,.9));animation:dotGlow 2s ease-in-out infinite}
.live-dot{width:9px;height:9px;margin-right:.5rem;position:relative}
.live-dot::after{content:'';position:absolute;inset:0;border-radius:50%;background:var(--blue);animation:livePulse 1.8s ease-out infinite}
.live-dot-small{width:6px;height:6px;flex-shrink:0}
@keyframes livePulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(4.5);opacity:0}}
@keyframes dotGlow{0%,100%{filter:drop-shadow(0 0 4px rgba(43,127,255,.7))}50%{filter:drop-shadow(0 0 10px rgba(43,127,255,1))}}
.local-section{padding-top:2.15rem;padding-bottom:3.2rem}
.signals-section{padding-top:3.2rem;padding-bottom:3.4rem}
.benefit-section{padding-top:3.1rem;padding-bottom:3.1rem}
.faq-section{padding-top:3.3rem;padding-bottom:3.4rem}
.cta-wrap{padding-top:2.8rem;padding-bottom:2.8rem}
.local-panel{max-width:980px;margin:0 auto}
.local-copy,.benefit-panel,.signal-card{border:1px solid var(--border);background:var(--surface);box-shadow:0 24px 50px -24px rgba(0,0,0,.8)}
.local-copy{border-radius:8px;padding:3rem;position:relative;overflow:hidden}
.local-copy::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 92% 8%,rgba(43,127,255,.16),transparent 42%);pointer-events:none}
.local-copy>*{position:relative;z-index:1}
.local-copy p+p{margin-top:1rem}
.local-road-strip{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.7rem 0}
.local-road-strip span{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border:1px solid rgba(43,127,255,.24);border-radius:999px;background:rgba(43,127,255,.09);color:#dceaff;font-weight:800;font-size:.92rem}
.local-road-strip span::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 12px rgba(43,127,255,.8)}
.signal-card,.benefit-list div,.local-road-strip span{animation:softReveal .72s cubic-bezier(.22,1,.36,1) both}
.signal-card:nth-child(2),.benefit-list div:nth-child(2),.local-road-strip span:nth-child(2){animation-delay:.08s}
.signal-card:nth-child(3),.benefit-list div:nth-child(3),.local-road-strip span:nth-child(3){animation-delay:.16s}
.signal-card:nth-child(4),.local-road-strip span:nth-child(4){animation-delay:.24s}
.signal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.signal-card{border-radius:8px;padding:1.45rem;min-height:220px;transition:transform .25s,border-color .25s,box-shadow .25s}
.signal-card span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:1.1rem;border-radius:50%;background:var(--blue-dim);color:var(--blue);font-weight:800;font-family:var(--font-display)}
.signal-card h3{font-size:1.08rem;margin-bottom:.6rem}
.signal-card p{font-size:.93rem;color:var(--text-secondary)}
.signal-card:hover{transform:translateY(-4px);border-color:rgba(43,127,255,.45);box-shadow:0 24px 52px -28px rgba(43,127,255,.7)}
.benefit-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);gap:2rem;align-items:center;border-radius:8px;padding:2.5rem}
.benefit-list{display:grid;gap:.85rem}
.benefit-list>div{display:flex;align-items:center;gap:1rem;border:1px solid var(--border);border-radius:8px;background:linear-gradient(135deg,rgba(43,127,255,.09),rgba(255,255,255,.035));padding:1rem 1.05rem;position:relative;overflow:hidden}
.benefit-list>div::before{content:'';position:absolute;inset:0;background:radial-gradient(circle 160px at 100% 0,rgba(43,127,255,.16),transparent 60%);opacity:.7;pointer-events:none}
.benefit-list>div:hover{border-color:rgba(43,127,255,.45);transform:translateX(4px);box-shadow:0 18px 34px -24px rgba(43,127,255,.8)}
.benefit-icon{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;box-shadow:0 10px 24px rgba(43,127,255,.24)}
.benefit-icon svg{width:22px;height:22px;fill:currentColor}
.benefit-copy{position:relative;z-index:1;display:block}
.benefit-list strong{display:block;color:#fff;font-family:var(--font-display);font-size:1rem;margin-bottom:.2rem}
.benefit-list span span{color:var(--text-secondary);font-size:.94rem}
.road-tags,.features-tags,.comuni-index{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.road-tag,.tag,.comuni-index a,.quick-comuni a{background:linear-gradient(180deg,var(--card-soft),var(--card));border:1px solid var(--border);border-radius:40px;padding:.55rem 1rem;font-size:.9rem;color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}
.road-tag:hover,.tag:hover,.comuni-index a:hover,.quick-comuni a:hover{border-color:rgba(43,127,255,.65);transform:translateY(-2px);background:var(--blue-dim);box-shadow:0 12px 30px rgba(43,127,255,.08)}
.comuni-index{justify-content:center;max-width:1040px;margin-left:auto;margin-right:auto}
.faq-list{max-width:860px;margin:0 auto}
.faq-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 24px 50px -24px rgba(0,0,0,.82);overflow:hidden}
.faq-item{border-bottom:1px solid var(--border);transition:background .2s;padding:0 1rem}
.faq-item:last-child{border-bottom:0}
.faq-item:hover{background:rgba(43,127,255,.03)}
.faq-question{width:100%;padding:1.35rem .5rem;text-align:left;background:none;border:none;font-weight:700;font-size:1.06rem;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer}
.faq-question::after{content:'+';font-size:1.7rem;font-weight:300;color:var(--blue);transition:transform .35s,color .2s;line-height:1}
.faq-item.open .faq-question::after{transform:rotate(135deg);color:#fff}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.23,1,.32,1);color:var(--text-secondary);font-size:.96rem;padding:0 .5rem}
.faq-answer>div{overflow:hidden;min-height:0}
.faq-item.open .faq-answer{grid-template-rows:1fr}
.faq-item.open .faq-answer>div{padding-bottom:1.35rem}
.cta-section{text-align:center;background:var(--surface);border-radius:28px;margin:0 auto;max-width:1120px;padding:3.35rem 2rem 2.35rem;border:1px solid var(--border);box-shadow:0 20px 40px -10px rgba(0,0,0,.5);position:relative;isolation:isolate;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0,rgba(43,127,255,.13),transparent 48%);pointer-events:none}
.cta-section>*{position:relative;z-index:1}
.cta-section::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 30px 10px rgba(43,127,255,.35);opacity:0;pointer-events:none;z-index:-1}
.cta-section.in-view::after{animation:ctaPulse 2s ease-out}
@keyframes ctaPulse{0%,100%{opacity:0}50%{opacity:1}}
.cta-micro{font-size:.9rem;color:var(--blue);text-transform:uppercase;letter-spacing:.2em;font-weight:800;display:block;width:fit-content;margin:0 auto 1.5rem;background:rgba(43,127,255,.1);padding:.25rem 1.2rem;border-radius:30px;border:1px solid rgba(43,127,255,.2)}
.cta-title{font-size:clamp(2.5rem,6vw,3.8rem);font-weight:800;line-height:1.2;margin-bottom:1.5rem}
.cta-desc{color:var(--text-secondary);max-width:600px;margin:0 auto 1.8rem;font-size:1.1rem}
.benefits-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 2.5rem;margin-bottom:2.5rem;color:var(--text-secondary);font-weight:500}
.benefit-item{display:flex;align-items:center;gap:.5rem}
.benefit-item svg{width:20px;height:20px;fill:var(--blue);flex:0 0 20px}
.btn-cta{background:#fff;color:#000;padding:1rem 3rem;border-radius:60px;font-weight:800;font-size:1.2rem;display:inline-block;text-decoration:none;box-shadow:0 10px 30px -5px rgba(43,127,255,.4);transition:transform .2s,box-shadow .3s;border:1px solid rgba(255,255,255,.2);margin-bottom:1rem}
.btn-cta:hover{transform:scale(1.02);box-shadow:0 20px 40px -5px rgba(43,127,255,.6)}
.cta-nearby{margin:2.15rem auto 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.06);max-width:880px;color:var(--text-secondary)}
.cta-nearby>span{display:block;margin-bottom:.8rem;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}
.cta-nearby>div{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem}
.cta-nearby a{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:.46rem .86rem;background:rgba(255,255,255,.025);color:var(--text-secondary);font-size:.86rem;font-weight:700;text-decoration:none;transition:transform .2s,border-color .2s,background .2s,color .2s}
.cta-nearby a:hover{transform:translateY(-1px);border-color:rgba(43,127,255,.5);background:var(--blue-dim);color:var(--text)}
.big-number-wrap{text-align:center;margin:0 auto 2.8rem;padding:2rem 1rem;position:relative}
.big-number-wrap::before{content:'';position:absolute;top:50%;left:50%;width:400px;height:400px;max-width:88vw;max-height:88vw;background:radial-gradient(circle,rgba(43,127,255,.12),transparent 65%);transform:translate(-50%,-50%);pointer-events:none;z-index:-1}
.big-number{font-family:var(--font-display);font-size:clamp(6rem,18vw,11rem);font-weight:800;line-height:.9;background:linear-gradient(135deg,#fff 10%,var(--blue) 62%,#1a6be8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;filter:drop-shadow(0 6px 20px rgba(43,127,255,.3))}
.big-number-label{font-size:1rem;color:var(--text-secondary);font-weight:600;margin-top:.6rem}
.quick-comuni{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem;max-width:820px}
.error-hero{min-height:calc(100vh - 160px);display:flex;align-items:center}
.footer{border-top:1px solid rgba(255,255,255,.045);padding:1.65rem 2rem 2rem;text-align:center;background:transparent}
.footer p{color:var(--text-muted);font-size:.82rem;margin-bottom:.5rem}
.footer a{color:var(--text-secondary);text-decoration:none}
.footer a:hover{color:var(--blue)}
.social-badges{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin:1.8rem 0 1.2rem}
.social-badge{background:var(--card);border:1px solid var(--border);border-radius:40px;padding:.5rem 1.2rem;display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;font-size:.85rem;font-weight:600;transition:all .2s;backdrop-filter:blur(4px)}
.social-badge:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px);background:rgba(43,127,255,.05)}
.social-badge svg{width:18px;height:18px;fill:currentColor}
.reveal{opacity:1;transform:none;animation:softReveal .75s cubic-bezier(.22,1,.36,1) both}
.reveal.in-view{opacity:1;transform:none}
.reveal-words .word{display:inline-block;opacity:0;transform:translateY(30px) rotate(4deg);transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1)}
.reveal-words.in-view .word{opacity:1;transform:translateY(0) rotate(0)}
.comuni-cloud a,.features-tags .tag,.road-tags .road-tag,.quick-comuni a,.local-road-strip span,.signal-grid .signal-card,.benefit-list div{opacity:1;transform:none;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s,opacity .45s}
.comuni-cloud.in-view a,.features-tags.in-view .tag,.road-tags.in-view .road-tag,.quick-comuni.in-view a,.local-road-strip.in-view span,.signal-grid.in-view .signal-card,.benefit-panel.in-view .benefit-list div{opacity:1;transform:none}
.reveal-settled a,.reveal-settled .tag,.reveal-settled .road-tag,.reveal-settled .signal-card,.reveal-settled .benefit-list div,.reveal-settled .local-road-strip span{transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}
@keyframes softReveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.hero .badge{animation:softReveal .55s .05s both}.hero h1{animation:softReveal .75s .12s both}.hero-desc{animation:softReveal .75s .22s both}.hero-buttons{animation:softReveal .75s .32s both}
@media (max-width:1060px){.signal-grid{grid-template-columns:repeat(2,1fr)}.benefit-panel{grid-template-columns:1fr}}
@media (max-width:900px){.hero{text-align:left;padding-top:8.2rem}}
@media (max-width:768px){.container{padding:0 1.5rem}.section{padding:3rem 0}.local-section{padding-top:1.5rem}.signals-section,.benefit-section,.faq-section{padding-top:2.6rem;padding-bottom:2.8rem}.cta-wrap{padding-top:2.3rem;padding-bottom:2.3rem}.hero{padding:7rem 1.5rem 3rem}.nav{padding:1rem 1.5rem}.hero-buttons{flex-direction:column}.btn{width:100%}.cta-section{padding:2.6rem 1.25rem 2rem;border-radius:24px}.cta-nearby{margin-top:1.7rem}.global-spotlight{display:none}}
@media (max-width:620px){.signal-grid{grid-template-columns:1fr}.local-copy,.benefit-panel{padding:1.35rem}.faq-item{padding:0 .55rem}.signal-card{min-height:0}}
@media (max-width:480px){.hero h1{font-size:2.45rem}.logo{font-size:1.2rem}.btn-nav{padding:.45rem .9rem;font-size:.8rem}.road-tag,.tag,.comuni-index a,.quick-comuni a{white-space:normal}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.reveal,.reveal-words .word,.comuni-cloud a,.features-tags .tag,.road-tags .road-tag,.quick-comuni a,.local-road-strip span,.signal-card,.benefit-list div{opacity:1!important;transform:none!important}}
