
/* ===========================================================
   LANDING PAGE PARTNER — esperienza standalone, futuristica
   =========================================================== */
.landing-body{background:#060910;overflow-x:hidden}

/* Sfondo fisso animato: griglia + linee circuito + bagliori blu, copre tutta la pagina */
.landing-bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#060910;
}
.landing-bg::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(42,92,184,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(42,92,184,.06) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%, #000 40%, transparent 90%);
  mask-image:radial-gradient(ellipse 80% 70% at 50% 30%, #000 40%, transparent 90%);
}
.landing-bg .glow{
  position:absolute;border-radius:50%;filter:blur(90px);opacity:.35;
  background:radial-gradient(circle, var(--lanp-blue-light) 0%, transparent 70%);
  animation:landing-drift 18s ease-in-out infinite;
}
.landing-bg .glow.g1{width:640px;height:640px;top:-200px;left:-120px;animation-delay:0s}
.landing-bg .glow.g2{width:540px;height:540px;top:30%;right:-160px;animation-delay:-6s;opacity:.26}
.landing-bg .glow.g3{width:480px;height:480px;bottom:-180px;left:20%;animation-delay:-11s;opacity:.3}
@keyframes landing-drift{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(40px,-30px) scale(1.12)}
}
.landing-bg svg.circuit-full{position:absolute;inset:-10% -5%;width:110%;height:120%;opacity:.55}
.landing-bg .circuit-full .line{
  fill:none;stroke:rgba(255,255,255,.14);stroke-width:1;
  stroke-dasharray:5 9;animation:circuit-flow 20s linear infinite;
}
.landing-bg .circuit-full .line.blue{stroke:rgba(42,92,184,.55);animation-duration:26s}
.landing-bg .circuit-full .line.rev{animation-direction:reverse;animation-duration:32s}
.landing-bg .circuit-full .node{fill:var(--lanp-blue-light);animation:node-pulse 3.4s ease-in-out infinite}
.landing-bg .circuit-full .node.soft{fill:rgba(255,255,255,.55);animation-delay:1s}
@media (prefers-reduced-motion:reduce){
  .landing-bg .glow{animation:none}
  .landing-bg .circuit-full .line{animation:none}
  .landing-bg .circuit-full .node{animation:none}
}

/* Contenuto sopra lo sfondo */
.landing-body main{position:relative;z-index:1}
.landing-body .site-footer{background:transparent;position:relative;z-index:1}

/* Gap ridotti al minimo tra una sezione e l'altra */
.landing-body section{padding:40px 0}
.landing-body section.tight{padding:24px 0}
.landing-body .landing-universal{padding:48px 0 16px}

/* Header semplificato: solo logo, centrato e ben visibile — nessun menù, pensata per il traffico social */
.landing-logo-bar{
  position:relative;z-index:5;padding:40px 0 0;
}
.landing-logo-bar .wrap{display:flex;justify-content:center}
.landing-logo-bar a{display:inline-flex}
.landing-logo-bar img{height:52px;width:auto;filter:brightness(0) invert(1)}
@media (max-width:700px){.landing-logo-bar img{height:42px}}

/* Hero landing: titolo enorme, nessuna foto */
.landing-hero{
  position:relative;min-height:62vh;display:flex;align-items:center;
  padding-top:24px;overflow:hidden;
}
.landing-hero .wrap{position:relative;z-index:2;max-width:860px}
.landing-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lanp-blue-light);border:1px solid rgba(42,92,184,.4);border-radius:9999px;
  padding:7px 16px;margin-bottom:28px;background:rgba(42,92,184,.08);
}
.landing-eyebrow .blip{width:6px;height:6px;border-radius:50%;background:var(--lanp-blue-light);animation:node-pulse 2s ease-in-out infinite}
.landing-hero h1{font-size:clamp(38px,6vw,72px);line-height:1.08;font-family:var(--font-display);font-weight:300;letter-spacing:-.03em;margin-bottom:24px}
.landing-hero .lead{font-size:19px;color:#b9c2d4;max-width:60ch;margin-bottom:36px}

/* Sezione punti universali (validi per tutte le categorie) */
.landing-universal{padding:72px 0;position:relative}
.landing-universal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.landing-upoint{
  padding:24px;border-radius:14px;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px);
  transition:border-color .3s ease,background .3s ease,transform .3s ease;
}
.landing-upoint:hover{border-color:rgba(42,92,184,.5);background:rgba(42,92,184,.06);transform:translateY(-3px)}
.landing-upoint .n{
  font-family:var(--font-mono);font-size:11px;color:var(--lanp-blue-light);
  letter-spacing:.08em;margin-bottom:10px;display:block;
}
.landing-upoint h4{font-size:17px;font-weight:500;margin-bottom:8px}
.landing-upoint p{font-size:13.5px;color:var(--ash);margin:0}
@media (max-width:900px){.landing-universal-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.landing-universal-grid{grid-template-columns:1fr}}

/* Blocco specifico per categoria: card blu, zero rosso */
.landing-category{
  position:relative;border-radius:22px;padding:56px;overflow:hidden;
  background:linear-gradient(145deg, rgba(23,65,133,.22), rgba(10,13,22,.5));
  border:1px solid rgba(42,92,184,.35);box-shadow:0 30px 80px -30px rgba(23,65,133,.5);
}
.landing-category::before{
  content:"";position:absolute;top:-40%;right:-10%;width:60%;height:140%;
  background:radial-gradient(circle, rgba(42,92,184,.25) 0%, transparent 70%);
  pointer-events:none;
}
.landing-category h2{position:relative;z-index:1;margin-bottom:16px}
.landing-category .lead{position:relative;z-index:1;color:#c7cfe0;margin-bottom:32px}
.landing-category ul{position:relative;z-index:1;list-style:none;padding:0;margin:0;display:grid;gap:18px}
.landing-category li{display:flex;gap:14px;align-items:flex-start}
.landing-category .check{
  flex:none;width:26px;height:26px;border-radius:50%;
  background:rgba(42,92,184,.25);border:1px solid rgba(42,92,184,.6);
  display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.landing-category .check svg{width:13px;height:13px;color:var(--lanp-blue-light)}
.landing-category li strong{display:block;color:var(--paper);font-weight:500;margin-bottom:3px}
.landing-category li span{color:var(--ash);font-size:14.5px}
@media (max-width:700px){.landing-category{padding:32px 24px}}

/* Form, stile vetro coerente col resto */
.landing-form-wrap{
  position:relative;border-radius:22px;padding:48px;
  background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(10px);
}
@media (max-width:700px){.landing-form-wrap{padding:28px 20px}}

.landing-divider{
  max-width:140px;margin:0 auto;height:1px;
  background:linear-gradient(90deg,transparent,rgba(42,92,184,.5),transparent);
}

.landing-back-link{
  display:inline-flex;align-items:center;gap:8px;color:var(--ash);font-size:13px;
  font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;
}
.landing-back-link:hover{color:var(--paper)}

/* Foto installazione nella landing */
.landing-install-shot{border-radius:18px;overflow:hidden;border:1px solid rgba(42,92,184,.3);box-shadow:0 30px 70px -30px rgba(0,0,0,.7)}
.landing-install-shot img{width:100%;display:block}
