/* Tavola tecnica — livello grafico sopra site.css/blocks.css. Stessi colori, font e struttura. */
:root{--ink3:#555870;--hair:rgba(11,29,74,.16);--contour:url('../img/contours.svg')}
::selection{background:var(--navy);color:#fff}
html{scrollbar-color:var(--navy3) var(--bg3)}
input,textarea,select{caret-color:var(--blue)}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px}

/* Navigazione: minuscole di frase, filetto di stato */
.nav-links a:not(.nav-cta),.mobile-menu a{text-transform:none;letter-spacing:.2px;font-size:14.5px;position:relative}
.nav-links a:not(.nav-cta):hover{opacity:1}
.nav-links a:not(.nav-cta)::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav-links a:not(.nav-cta):hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-cta{text-transform:none;letter-spacing:.3px;font-size:14px;border-radius:2px}
nav.scrolled{box-shadow:none}

/* Pulsanti */
.btn{border-radius:2px;text-transform:none;letter-spacing:.3px;font-size:14px;font-weight:600;padding:14px 28px;position:relative;overflow:hidden;isolation:isolate}
.btn-navy,.btn-blue,.btn-white{transition:background .25s,color .25s}
.btn-outline-navy,.btn-outline-white{border-width:1px}

/* Hero: curve di livello al posto della griglia */
.hero-grid,.page-hero::before{background-image:var(--contour);background-size:cover;background-position:right center;background-repeat:no-repeat;opacity:.9}
.page-hero::before{opacity:.75}
.hero-vline{left:64px;background:linear-gradient(to bottom,transparent,rgba(168,200,244,.35) 15%,rgba(168,200,244,.35) 85%,transparent)}
#hero::after{content:'';position:absolute;left:0;right:0;top:76px;height:14px;z-index:4;pointer-events:none;
 background:repeating-linear-gradient(90deg,rgba(168,200,244,.45) 0 1px,transparent 1px 16px),repeating-linear-gradient(90deg,rgba(168,200,244,.7) 0 1px,transparent 1px 80px);
 background-size:100% 6px,100% 14px;background-repeat:no-repeat;mask-image:linear-gradient(90deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 70%)}
.h-mono{letter-spacing:.4px;text-transform:none;font-size:14px;font-weight:500;color:var(--sky3)}
.h-mono::before{width:28px}
.page-hero::after{background:none}
.ph-tag{text-transform:none;letter-spacing:.3px;font-size:14px;color:var(--sky3)}

/* Cartiglio: statistiche hero e scheda progetto */
.hero-stats{border:1px solid rgba(168,200,244,.35);border-bottom:none;border-right:none;background:rgba(11,29,74,.9)}
.hs{text-align:left;border-right:1px solid rgba(168,200,244,.22);padding:18px 26px 16px;min-width:130px}
.hs-l{font-size:11px;letter-spacing:.3px;text-transform:none;color:rgba(255,255,255,.72);font-weight:500}
.hs-n{font-size:28px}
.proj-meta{gap:0;border:1px solid var(--hair);background:#fff;border-radius:2px}
.proj-meta-item{padding:12px 20px;border-right:1px solid var(--hair)}
.proj-meta-item:last-child{border-right:none}
.proj-meta-lbl{text-transform:none;letter-spacing:.2px;font-size:12px;color:var(--ink3)}

/* Etichetta di sezione: quota di disegno tecnico */
.sec-tag{text-transform:none;letter-spacing:.3px;font-size:14px;font-weight:600;color:var(--blue);gap:0;align-items:center;margin-bottom:14px}
.sec-tag::before{width:1px;height:12px;margin-right:10px;background:var(--blue)}
.sec-tag::after{content:'';width:34px;height:1px;background:var(--blue);order:-1;margin-right:0}
.sec-tag-light,.sec-tag-light::before,.sec-tag-light::after{color:var(--sky3)}
.sec-tag-light::before,.sec-tag-light::after{background:var(--sky3)}
.cta-simple .sec-tag{justify-content:center}
h2.sec-title{letter-spacing:-.5px;line-height:1.02}

/* Servizi: griglia a tabella con filetti */
.svc-grid{gap:0;border-top:1px solid var(--hair);border-left:1px solid var(--hair);background:none}
.svc{background:transparent;border:none;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:40px 32px 44px;transition:background .3s,color .3s}
.svc:hover{background:var(--navy);border-top-color:transparent}
.svc-ico,.svc-ico-lg{color:var(--blue);margin-bottom:22px;transition:color .3s;font-size:inherit}
.svc-name{font-size:17px;text-transform:none;letter-spacing:0;font-weight:700;transition:color .3s}
.svc-desc{font-size:14.5px;font-weight:400;color:var(--ink2);transition:color .3s}
.svc:hover .svc-ico,.svc:hover .svc-ico-lg{color:var(--sky2)}
.svc:hover .svc-name{color:#fff}
.svc:hover .svc-desc{color:rgba(255,255,255,.82)}
.svc-plain{border-radius:2px}
.ui-ico{display:block;overflow:visible}

/* Progetti, numeri, certificazioni */
.p-cat{text-transform:none;letter-spacing:.3px;font-size:12px;color:var(--sky3);font-weight:600}
.p-meta{font-size:12px;color:rgba(255,255,255,.7)}
.p-arrow{border-radius:2px}
.num-d,.tick-i,.certs-lbl,.cert{text-transform:none;letter-spacing:.3px}
.num-d{font-size:14px;color:rgba(255,255,255,.72)}
.num-it{border-right-color:rgba(168,200,244,.25)}
.tick-i{font-size:13px;color:rgba(255,255,255,.7)}
.certs-lbl{font-size:13px;color:var(--ink3)}
.cert{font-size:13px;border-radius:2px;font-weight:600}
.cert-card,.doc-card,.cert-lightbox__dialog{border-radius:2px;box-shadow:none;border:1px solid var(--hair)}
.cert-card:hover{transform:none;box-shadow:none;border-color:var(--navy)}
.doc-card{border-left:1px solid var(--hair)}
.doc-card:hover,.doc-card:focus-visible{transform:none;box-shadow:none;border-color:var(--navy);border-left-color:var(--navy)}
.doc-ico{color:var(--blue)}
.oc,.jp,.ci-card,.sc-card{border-radius:2px}
.ci-card,.jp,.oc{border-top-width:1px!important;border:1px solid var(--hair);box-shadow:none}

/* CTA e footer */
.cta-l::before{background:none}
.cta-l{background-image:var(--contour);background-size:cover;background-position:right center}
.foot-h{text-transform:none;letter-spacing:.2px;font-size:14px;color:var(--sky3)}
.foot-bot{color:rgba(255,255,255,.65)}

/* Form */
input,textarea,select{border-radius:2px}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(30,80,160,.18);outline:none}

/* Movimento: solo dissolvenza, un momento d'ingresso nell'hero */
.r{transform:none;transition:opacity .5s ease}
.hero-bg{animation:none;transform:none}
.h-mono,.hero-stats{transform:none}
.hero-content h1{animation:hfade 1s ease .1s both}
@media (max-width:900px){
 .wrap{padding:0 24px}
 .svc-grid{grid-template-columns:1fr}
 .hs{padding:14px 16px;min-width:0}
 .hero-vline{left:24px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.r{opacity:1}}
.hero-grid{opacity:.6}
.hero-content{padding-bottom:128px}
.h-caption,.h-scroll-label{color:rgba(255,255,255,.7)!important;letter-spacing:.3px;text-transform:none}
@media (max-width:900px){.hero-content{padding-bottom:40px}}
