/* pixelLex — stili comuni a tutte le pagine */

/* Font ospitati sul sito (nessuna chiamata a Google Fonts) */
@font-face{font-family:'Space Mono';src:url('/fonts/space-mono-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Space Mono';src:url('/fonts/space-mono-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('/fonts/instrument-sans.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --ink:#14141C;--paper:#FAFAF7;--blue:#2B3CF4;--red:#FF5340;--green:#29D398;
  --muted:#6E6E78;--line:#E4E4DE;
  --mono:'Space Mono',monospace;--sans:'Instrument Sans',system-ui,sans-serif;--max:1160px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
::selection{background:var(--blue);color:#fff}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* il "pixel" del marchio */
.px{display:inline-block;width:.42em;height:.42em;background:var(--blue);margin-left:.08em;transform:translateY(-.02em)}
.px--r{background:var(--red)}.px--g{background:var(--green)}
.px--blink{animation:blink 1.05s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* ============ MENU ============ */
nav{position:sticky;top:0;z-index:50;background:rgba(250,250,247,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
[id]{scroll-margin-top:72px}
.nav-in{display:flex;align-items:center;gap:32px;height:64px}
.logo{font-family:var(--mono);font-weight:700;font-size:19px;letter-spacing:-.02em;display:flex;align-items:baseline;margin-right:auto}
.logo:hover .logo-txt{text-shadow:-1.5px 0 var(--red),1.5px 0 var(--green)}
.logo .px{width:.36em;height:.36em}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{font-family:var(--mono);font-size:13px;color:var(--muted);transition:color .15s;padding:4px 0}
.nav-links a:hover{color:var(--ink)}
.nav-links a.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--blue)}

/* ============ PULSANTI ============ */
.btn{font-family:var(--mono);font-weight:700;font-size:14px;display:inline-block;padding:12px 22px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);transition:background .15s,border-color .15s,transform .15s;cursor:pointer}
.btn:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.nav-cta{padding:9px 18px;font-size:13px}

/* ============ TITOLI DI SEZIONE ============ */
.eyebrow{font-family:var(--mono);font-size:13px;color:var(--muted);margin-bottom:28px;letter-spacing:.02em}
.sec-label{font-family:var(--mono);font-size:13px;color:var(--blue);font-weight:700;margin-bottom:16px;letter-spacing:.04em}
.sec-title{font-family:var(--mono);font-weight:700;font-size:clamp(26px,3.4vw,38px);letter-spacing:-.02em;line-height:1.2;margin-bottom:18px;max-width:22ch}
.sec-intro{color:var(--muted);max-width:56ch;margin-bottom:52px;font-size:18px}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--line);padding:48px 0 40px}
.foot-in{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}
.foot-brand .logo{font-size:17px;margin-bottom:10px}
.foot-brand p{font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.rgb{display:flex;gap:5px;margin-top:14px}
.rgb span{width:8px;height:8px;display:block}
.foot-col h4{font-family:var(--mono);font-size:12px;color:var(--muted);font-weight:400;margin-bottom:14px;letter-spacing:.05em}
.foot-col a{display:block;font-family:var(--mono);font-size:13.5px;margin-bottom:9px;transition:color .15s}
.foot-col a:hover{color:var(--blue)}
.foot-legal{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11.5px;color:var(--muted);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* comparsa allo scroll: il contenuto resta visibile anche se lo script non parte */
.rv{transition:opacity .6s ease,transform .6s ease}
.js-anim .rv{opacity:0;transform:translateY(14px)}
.js-anim .rv.in{opacity:1;transform:none}

/* telefono: il pulsante in alto lascia spazio alle tre voci del menu */
@media(max-width:600px){
  .nav-in{gap:18px}
  .nav-links{gap:18px}
  .nav-cta{display:none}
}
@media(max-width:370px){
  .nav-in,.nav-links{gap:13px}
  .logo{font-size:17px}
  .nav-links a{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv,.js-anim .rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
