:root{--ink:#142019;--paper:#f1ede2;--paper2:#d9d4c5;--red:#1f5b40;--orange:#b63b32;--line:rgba(20,32,25,.22);--mono:"DM Mono",monospace;--display:"Archivo Black",sans-serif;--sans:Inter,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}.noise{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.16;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='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}.topbar{height:82px;display:flex;align-items:center;border-bottom:1px solid var(--ink);padding:0 3vw;position:relative;z-index:20;background:var(--paper)}.brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:20px;letter-spacing:-1px}.brand>span>span{color:var(--red)}.brand-mark{width:30px;height:30px;border:2px solid;display:flex;align-items:flex-end;justify-content:center;gap:2px;padding:4px}.brand-mark i{display:block;width:4px;background:var(--red)}.brand-mark i:nth-child(1){height:8px}.brand-mark i:nth-child(2){height:17px}.brand-mark i:nth-child(3){height:12px}.topbar nav{display:flex;gap:35px;margin:auto;font:500 11px var(--mono);letter-spacing:.08em}.topbar nav a:hover{color:var(--red)}.nav-cta{background:var(--ink);color:var(--paper);padding:15px 19px;font:500 11px var(--mono);text-transform:uppercase}.nav-cta span{color:var(--orange);margin-left:14px}.menu-button{display:none;border:0;background:none;font:500 12px var(--mono)}
.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:55% 45%;position:relative;border-bottom:1px solid var(--ink)}.hero-copy{padding:6.5vw 3vw 3vw;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{font:500 11px var(--mono);letter-spacing:.12em;margin:0}.eyebrow span{color:var(--red);margin-right:22px}.hero h1,.intro h2,.infra-copy h2,.contact h2{font:400 clamp(62px,8vw,135px)/.79 var(--display);letter-spacing:-.07em;margin:4vw 0;text-transform:uppercase}.hero h1 em,.intro h2 em,.infra-copy h2 em,.contact h2 em,.manifesto em{color:var(--red);font-style:normal}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:2vw;align-items:end}.hero-bottom p{font-size:15px;line-height:1.55;max-width:340px}.button{border:1px solid var(--ink);padding:18px 20px;display:flex;justify-content:space-between;text-transform:uppercase;font:500 11px var(--mono);transition:.25s}.button:hover{background:var(--ink);color:var(--paper)}.button span{color:var(--red)}.hero-index{position:absolute;bottom:18px;right:3vw;font:10px var(--mono);z-index:2}
.monument{position:relative;overflow:hidden;background:var(--red);border-left:1px solid var(--ink);min-height:610px}.sun{position:absolute;width:42%;aspect-ratio:1;border-radius:50%;background:var(--orange);top:9%;left:29%;display:grid;place-items:center;font:500 11px var(--mono);letter-spacing:.2em}.tower{position:absolute;bottom:13%;width:16%;height:62%;background:var(--paper2);border:1px solid var(--ink);z-index:2;padding:16px;display:flex;flex-direction:column;gap:16px}.tower-left{left:10%}.tower-right{right:10%}.tower i{height:8px;border-top:1px solid;border-bottom:1px solid;flex:1;background:repeating-linear-gradient(90deg,transparent 0 8px,var(--ink) 9px 10px)}.arch{position:absolute;bottom:13%;left:23%;width:54%;height:69%;background:var(--paper);z-index:3;border:1px solid}.arch-cutout{position:absolute;bottom:-1px;left:20%;width:60%;height:63%;border:1px solid;background:var(--ink);border-radius:50% 50% 0 0}.server-core{position:absolute;z-index:4;bottom:13%;left:39%;width:22%;height:39%;background:var(--ink);color:var(--paper);padding:18px 13px;font:9px var(--mono);display:flex;flex-direction:column}.server-core b{font-weight:500;color:var(--orange);margin-top:5px}.pulse{margin-top:auto}.pulse i{display:block;height:2px;background:var(--paper);margin-top:10px;animation:pulse 2s ease-in-out infinite;transform-origin:left}.pulse i:nth-child(2){animation-delay:.3s}.pulse i:nth-child(3){animation-delay:.6s}.pulse i:nth-child(4){animation-delay:.9s}.pulse i:nth-child(5){animation-delay:1.2s}@keyframes pulse{50%{transform:scaleX(.3);background:var(--orange)}}.ground-lines{position:absolute;inset:70% -10% 0;background:repeating-linear-gradient(90deg,transparent 0 49px,rgba(23,23,19,.35) 50px 51px),repeating-linear-gradient(0deg,transparent 0 49px,rgba(23,23,19,.35) 50px 51px);transform:perspective(250px) rotateX(55deg);transform-origin:bottom}.coordinates{position:absolute;top:20px;right:20px;text-align:right;font:9px/1.7 var(--mono)}
.ticker{overflow:hidden;background:var(--ink);color:var(--paper);padding:14px 0;font:500 11px var(--mono);letter-spacing:.12em;white-space:nowrap}.ticker div{width:max-content;animation:ticker 24s linear infinite}.ticker span{margin:0 30px}.ticker b{color:var(--orange)}@keyframes ticker{to{transform:translateX(-50%)}}
.intro{padding:10vw 3vw 6vw;display:grid;grid-template-columns:25% 75%;border-bottom:1px solid}.section-label{display:flex;gap:22px;font:500 11px/1.5 var(--mono)}.section-label span{color:var(--red)}.section-label p{margin:0}.intro-copy .kicker{font:12px var(--mono);text-transform:uppercase}.intro h2{font-size:clamp(50px,6.3vw,105px);margin:25px 0}.body-copy{margin-left:50%;max-width:510px;font-size:19px;line-height:1.55}
.principles{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid}.principle{padding:3vw;min-height:520px;border-right:1px solid;display:flex;flex-direction:column}.principle:last-child{border-right:0}.principle.featured{background:var(--red);color:var(--paper)}.number{font:10px var(--mono)}.principle .icon{height:115px;margin:40px 0 35px;position:relative}.icon-pin:before{content:"";position:absolute;width:56px;height:76px;border:9px solid;border-radius:50% 50% 50% 0;transform:rotate(-45deg);left:25px;top:5px}.icon-pin i{position:absolute;width:15px;height:15px;border:5px solid;border-radius:50%;left:54px;top:32px}.icon-key:before{content:"";position:absolute;width:56px;height:56px;border:9px solid;border-radius:50%;left:20px;top:4px}.icon-key:after{content:"";position:absolute;width:80px;height:9px;background:currentColor;transform:rotate(-45deg);left:65px;top:70px;box-shadow:35px 14px 0 -1px currentColor}.icon-open:before{content:"{";font:110px/1 var(--display);position:absolute;left:20px;top:-10px}.icon-open i{position:absolute;width:45px;height:45px;border:8px solid;border-left:0;border-bottom:0;transform:rotate(45deg);left:90px;top:25px}.principle h3{font:36px/.95 var(--display);letter-spacing:-.04em;margin:0 0 25px}.principle>p:not(.number){font-size:14px;line-height:1.6;max-width:280px}.principle .rule{margin-top:auto;width:100%;height:5px;border-top:1px solid;border-bottom:1px solid}
.infrastructure{display:grid;grid-template-columns:1fr 1fr;min-height:720px;border-bottom:1px solid}.infra-visual{position:relative;background:var(--ink);overflow:hidden;color:var(--paper)}.map-grid{position:absolute;inset:0;background:linear-gradient(rgba(232,225,210,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(232,225,210,.1) 1px,transparent 1px);background-size:52px 52px;transform:perspective(500px) rotate(-10deg) scale(1.2)}.italy{position:absolute;inset:13%;display:grid;place-items:center;border:1px solid var(--orange);border-radius:54% 46% 64% 36% / 35% 52% 48% 65%;transform:rotate(-14deg);font:190px var(--display);color:var(--red);box-shadow:0 0 70px rgba(219,90,44,.15)}.node{position:absolute;width:12px;height:12px;border:3px solid var(--orange);border-radius:50%;z-index:2;box-shadow:0 0 0 9px rgba(219,90,44,.2)}.n1{top:28%;left:42%}.n2{top:58%;left:63%}.n3{top:72%;left:37%}.live{position:absolute;bottom:30px;left:30px;font:10px var(--mono);letter-spacing:.1em}.live i{display:inline-block;width:7px;height:7px;background:#5fb963;border-radius:50%;margin-right:10px;animation:blink 1.5s infinite}@keyframes blink{50%{opacity:.25}}.infra-copy{padding:6vw 4vw}.infra-copy h2{font-size:clamp(55px,6vw,98px);margin:80px 0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid;padding-top:25px;gap:15px}.metrics strong{font:35px var(--display);display:block}.metrics small{font-size:15px;color:var(--red)}.metrics span{display:block;font:10px/1.5 var(--mono);margin-top:12px}
.manifesto{min-height:680px;padding:6vw 3vw;position:relative;background:var(--paper2);display:flex;flex-direction:column;justify-content:space-between}.manifesto:before{content:"";position:absolute;width:260px;height:260px;border:1px solid var(--red);border-radius:50%;left:calc(50% - 130px);top:calc(50% - 130px)}.manifesto blockquote{font:clamp(48px,7.3vw,120px)/.88 var(--display);letter-spacing:-.06em;text-align:center;margin:0;position:relative;z-index:1}.manifesto-note{align-self:flex-end;text-align:right;font:10px/1.6 var(--mono)}
.contact{display:grid;grid-template-columns:1fr 1fr;background:var(--red);color:var(--paper);border-bottom:1px solid var(--paper)}.contact-copy{padding:6vw 3vw;border-right:1px solid var(--paper)}.contact .eyebrow span,.contact h2 em{color:var(--ink)}.contact h2{font-size:clamp(60px,7vw,115px);margin-bottom:0}.signup{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}.signup>p{font-size:18px;line-height:1.6;max-width:470px;margin-bottom:70px}.signup label{font:10px var(--mono);letter-spacing:.1em}.input-row{display:flex;border-bottom:2px solid var(--paper);margin-top:15px}.input-row input{flex:1;background:transparent;border:0;padding:15px 0;color:var(--paper);font:22px var(--mono);outline:0}.input-row input::placeholder{color:rgba(232,225,210,.5)}.input-row button{width:55px;background:var(--ink);color:var(--paper);border:0;font-size:25px;cursor:pointer}.signup small{font:9px var(--mono);margin-top:16px}.form-status{margin:16px 0 0!important;font:11px var(--mono);color:var(--ink)}
footer{background:var(--ink);color:var(--paper);padding:45px 3vw;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;align-items:end}footer p,footer a{font:9px/1.6 var(--mono);letter-spacing:.05em}.footer-brand{font-size:20px}.footer-brand>span>span{color:var(--orange)}footer div{display:flex;flex-direction:column}footer div a:hover{color:var(--orange)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.topbar{height:68px}.topbar nav,.nav-cta{display:none}.menu-button{display:block;margin-left:auto}.topbar.menu-open nav{display:flex;position:absolute;top:67px;left:0;right:0;background:var(--paper);padding:25px 3vw;border-bottom:1px solid;flex-direction:column;gap:20px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 5vw 45px;min-height:630px}.hero h1{font-size:18vw}.hero-bottom{grid-template-columns:1fr}.monument{border-left:0;border-top:1px solid;min-height:580px}.intro{grid-template-columns:1fr;padding:80px 5vw}.intro-copy{margin-top:60px}.intro h2{font-size:12vw}.body-copy{margin:35px 0 0}.principles{grid-template-columns:1fr}.principle{border-right:0;border-bottom:1px solid;min-height:450px;padding:50px 5vw}.infrastructure{grid-template-columns:1fr}.infra-visual{min-height:560px}.infra-copy{padding:70px 5vw}.infra-copy h2{margin:60px 0;font-size:12vw}.manifesto{min-height:580px;padding:70px 5vw}.contact{grid-template-columns:1fr}.contact-copy{border-right:0;border-bottom:1px solid;padding:70px 5vw}.signup{padding:70px 5vw}.signup>p{margin-bottom:50px}footer{grid-template-columns:1fr 1fr}.hero-index{display:none}}
@media(max-width:520px){.metrics{grid-template-columns:1fr}.metrics div{display:flex;align-items:center;gap:25px}.manifesto blockquote{font-size:12vw}.monument{min-height:470px}.tower{height:58%;padding:8px}.server-core{width:28%;left:36%}.italy{font-size:120px}.input-row input{font-size:16px}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker div,.pulse i,.live i{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Hero data center: asymmetric rationalist volumes */
.signal-disc{position:absolute;width:36%;aspect-ratio:1;border-radius:50%;background:var(--orange);top:8%;right:7%;display:grid;place-items:center;font:500 10px var(--mono);letter-spacing:.18em}
.signal-disc:before,.signal-disc:after{content:"";position:absolute;border:1px solid var(--ink);border-radius:50%}
.signal-disc:before{inset:14%}.signal-disc:after{inset:31%}
.data-slab{position:absolute;z-index:2;left:8%;right:12%;bottom:13%;height:61%;background:var(--paper);border:1px solid var(--ink);box-shadow:18px -18px 0 var(--paper2);padding:22px}
.slab-code{font:9px/1.5 var(--mono);letter-spacing:.12em}
.vents{position:absolute;left:6%;right:6%;top:30%;bottom:13%;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.vents i{border:1px solid var(--ink);background:repeating-linear-gradient(0deg,var(--ink) 0 2px,transparent 2px 9px)}
.regions-grid{position:absolute;left:6%;right:6%;top:30%;bottom:13%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:8px}
.regions-grid span{border:1px solid var(--ink);background:repeating-linear-gradient(0deg,transparent 0 8px,rgba(23,23,19,.13) 8px 9px);padding:10px 8px;display:flex;flex-direction:column;justify-content:space-between;font:500 7px var(--mono);letter-spacing:.03em;overflow:hidden}
.regions-grid b{font:500 10px var(--mono);color:var(--red)}
.service-block{position:absolute;z-index:3;left:5%;bottom:13%;width:21%;height:36%;background:var(--paper2);border:1px solid;padding:12px;display:flex;flex-direction:column;gap:9px}
.service-block i{flex:1;border:1px solid;background:repeating-linear-gradient(90deg,transparent 0 6px,var(--ink) 7px 8px)}
.antenna{position:absolute;z-index:3;left:18%;bottom:74%;width:3px;height:20%;background:var(--ink)}
.antenna span{position:absolute;top:-8px;left:-6px;width:15px;height:15px;background:var(--orange);border:2px solid var(--ink);border-radius:50%}
.antenna i{position:absolute;width:48px;height:48px;border:1px solid var(--ink);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(45deg);left:-23px;top:-24px}
.antenna i:last-child{width:76px;height:76px;left:-37px;top:-38px}
.monument .server-core{left:auto;right:8%;width:25%;height:44%}
.infra-visual .node b{position:absolute;left:18px;top:-4px;color:var(--paper);font:500 8px var(--mono);letter-spacing:.1em;white-space:nowrap}

@media(max-width:520px){.data-slab{left:7%;right:8%;height:58%;padding:15px}.regions-grid{grid-template-columns:repeat(2,1fr)}.regions-grid span:nth-child(n+5){display:none}.service-block{width:24%}.monument .server-core{left:auto;right:5%;width:32%;padding:14px 9px}.antenna{bottom:71%}}

/* Palette Italia: verde istituzionale, avorio e rosso lacca */
.noise{opacity:.13}
.topbar:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red) 0 33.333%,var(--paper) 33.333% 66.666%,var(--orange) 66.666%)}
.monument{background:var(--red)}
.signal-disc{background:var(--orange)}
.principle.featured{background:var(--red)}
.contact{background:var(--red)}
.contact .eyebrow span,.contact h2 em{color:var(--orange)}
.form-status{color:var(--paper)}

/* I tre principi compongono il tricolore */
.principles .principle:nth-child(1){background:var(--red);color:var(--paper)}
.principles .principle:nth-child(2){background:var(--paper);color:var(--ink)}
.principles .principle:nth-child(3){background:var(--orange);color:var(--paper)}
.principles .principle:nth-child(1) .number,.principles .principle:nth-child(3) .number{color:rgba(241,237,226,.72)}
.principles .principle:nth-child(2) .number{color:var(--red)}

/* Rete nazionale completa: tutte le 20 regioni */
.region-network{position:absolute;z-index:3;inset:18% 7% 17%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,1fr);gap:7px}
.region-network span{position:relative;display:flex;align-items:flex-end;padding:9px 7px;border:1px solid rgba(241,237,226,.42);background:rgba(20,32,25,.78);color:var(--paper);font:500 7px/1.25 var(--mono);letter-spacing:.045em;backdrop-filter:blur(2px)}
.region-network span:before{content:"";position:absolute;top:8px;left:8px;width:5px;height:5px;border-radius:50%;background:var(--paper);opacity:.55}
.region-network span.active{background:var(--orange);border-color:var(--paper);color:var(--paper)}
.region-network span.active:before{background:var(--paper);opacity:1;box-shadow:0 0 0 4px rgba(241,237,226,.18);animation:blink 1.5s infinite}

@media(max-width:520px){.infra-visual{min-height:720px}.region-network{inset:12% 6% 13%;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(10,1fr);gap:6px}.region-network span{font-size:7px;padding:7px}.italy{font-size:100px}}

/* Costellazione di regioni, senza riquadri */
.region-network{inset:17% 10% 20%;display:block}
.region-network span{position:absolute;display:block;padding:0 0 0 12px;border:0;background:transparent;color:var(--paper);font:500 7px/1.2 var(--mono);letter-spacing:.04em;white-space:nowrap;backdrop-filter:none;text-shadow:0 1px 3px var(--ink)}
.region-network span:before{top:1px;left:0;width:6px;height:6px;background:var(--paper);border:1px solid var(--ink);opacity:1}
.region-network span.active{background:transparent;border:0;color:var(--orange);font-weight:600}
.region-network span.active:before{background:var(--orange);border-color:var(--paper);box-shadow:0 0 0 5px rgba(182,59,50,.25)}
.region-network span:nth-child(1){left:8%;top:8%}.region-network span:nth-child(2){left:29%;top:4%}.region-network span:nth-child(3){left:57%;top:9%}.region-network span:nth-child(4){left:76%;top:3%}
.region-network span:nth-child(5){left:17%;top:24%}.region-network span:nth-child(6){left:43%;top:19%}.region-network span:nth-child(7){left:70%;top:25%}.region-network span:nth-child(8){left:4%;top:40%}
.region-network span:nth-child(9){left:30%;top:36%}.region-network span:nth-child(10){left:57%;top:42%}.region-network span:nth-child(11){left:78%;top:37%}.region-network span:nth-child(12){left:14%;top:55%}
.region-network span:nth-child(13){left:42%;top:51%}.region-network span:nth-child(14){left:68%;top:57%}.region-network span:nth-child(15){left:3%;top:70%}.region-network span:nth-child(16){left:27%;top:67%}
.region-network span:nth-child(17){left:53%;top:73%}.region-network span:nth-child(18){left:76%;top:68%}.region-network span:nth-child(19){left:57%;top:95%}.region-network span:nth-child(20){left:31%;top:92%}

@media(max-width:520px){.infra-visual{min-height:600px}.region-network{inset:16% 7% 20%}.region-network span{font-size:6px;padding-left:9px}.region-network span:before{width:5px;height:5px}.region-network span:nth-child(4),.region-network span:nth-child(7),.region-network span:nth-child(11),.region-network span:nth-child(18){transform:translateX(-25%)}}

.infra-visual .italy{inset:7% 4% 8%}
@media(max-width:520px){.infra-visual .italy{inset:8% 2% 10%}}

/* Tutti i nodi regionali sono operativi, con impulsi asincroni */
.region-network span:before{background:#63c174;border-color:var(--paper);box-shadow:0 0 0 4px rgba(99,193,116,.18);animation:blink 1.7s ease-in-out infinite}
.region-network span:nth-child(3n+1):before{animation-duration:1.35s;animation-delay:-.42s}
.region-network span:nth-child(3n+2):before{animation-duration:2.15s;animation-delay:-1.13s}
.region-network span:nth-child(3n):before{animation-duration:1.82s;animation-delay:-.76s}
.region-network span:nth-child(5n+1):before{animation-duration:2.43s;animation-delay:-1.67s}
.region-network span:nth-child(7n+2):before{animation-duration:1.57s;animation-delay:-.21s}

.website-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.signup button:disabled{cursor:wait;opacity:.55}

footer{position:relative}
footer:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--red) 0 33.333%,var(--paper) 33.333% 66.666%,var(--orange) 66.666%)}
footer{grid-template-columns:2fr 1.5fr 1fr}
