:root{
  --ink:#1e5688;
  --ink-dark:#0b3158;
  --muted:#526b82;
  --line:rgba(25,83,132,.13);
  --glass:rgba(255,255,255,.46);
  --accent:#62b4ee;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--ink-dark)}
html{background:#edf6fd}
body{
  min-height:100vh;
  min-height:100svh;
  position:relative;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 50% 4%,rgba(255,255,255,1) 0 12%,rgba(249,253,255,.96) 31%,rgba(231,243,252,.92) 64%,rgba(214,233,247,.96) 100%);
}
/* Soft futuristic architecture: luminous horizon, fine perspective grid and light ribbons. */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-3;
  background:
    radial-gradient(ellipse at 50% 75%,rgba(255,255,255,.98) 0 11%,rgba(255,255,255,.66) 22%,transparent 45%),
    linear-gradient(118deg,transparent 0 38%,rgba(255,255,255,.76) 44%,transparent 49%),
    linear-gradient(62deg,transparent 0 42%,rgba(119,177,219,.12) 48%,transparent 53%);
}
body::after{
  content:"";
  position:fixed;
  left:-8vw; right:-8vw; bottom:-18vh;
  height:66vh;
  pointer-events:none;
  z-index:-2;
  opacity:.62;
  transform:perspective(700px) rotateX(58deg);
  transform-origin:bottom center;
  background:
    repeating-linear-gradient(90deg,rgba(61,125,178,.18) 0 1px,transparent 1px 82px),
    repeating-linear-gradient(0deg,rgba(61,125,178,.15) 0 1px,transparent 1px 58px);
  mask-image:linear-gradient(to top,#000 0 55%,transparent 100%);
}
.network{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  overflow:hidden;
}
.network::before,
.network::after{content:"";position:absolute;left:-12%;width:124%;border-radius:50%;pointer-events:none}
.network::before{
  bottom:8vh;height:25vh;
  border-top:2px solid rgba(255,255,255,.92);
  box-shadow:
    0 -16px 0 -15px rgba(68,139,193,.30),
    0 -38px 0 -37px rgba(255,255,255,.74),
    0 13px 46px rgba(90,154,203,.20);
  transform:rotate(-3deg);
}
.network::after{
  bottom:-5vh;height:28vh;
  border-top:1px solid rgba(65,135,190,.38);
  box-shadow:0 -30px 90px rgba(110,177,225,.22);
  transform:rotate(4deg);
}
.shell{
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
}
.main{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px 22px 10px;
}
.card{
  width:min(680px,100%);
  text-align:center;
  padding:0 18px;
}
.logo{
  width:min(305px,64vw);
  max-height:116px;
  object-fit:contain;
  display:block;
  margin:0 auto 10px;
  filter:drop-shadow(0 8px 24px rgba(22,72,116,.07));
}
h1{
  font-size:clamp(25px,2.6vw,35px);
  letter-spacing:.055em;
  margin:0 0 18px;
  color:var(--ink-dark);
  font-weight:700;
}
.details{
  width:min(500px,100%);
  margin:0 auto;
  text-align:left;
  border:1px solid rgba(25,83,132,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.54));
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 24px 65px rgba(42,91,133,.08), inset 0 1px 0 rgba(255,255,255,.85);
}
.row{
  display:grid;
  grid-template-columns:40px 1fr;
  gap:13px;
  align-items:center;
  padding:11px 17px;
  min-height:56px;
  border-bottom:1px solid var(--line);
}
.row:last-child{border-bottom:none}
.icon{
  width:29px;height:29px;
  border:1.4px solid #2b6fa9;
  border-radius:9px;
  display:grid;place-items:center;
  font-size:15px;
  color:#2b6fa9;
  background:rgba(255,255,255,.45);
}
.value{font-size:16.5px;line-height:1.42;color:#173f69}
.value a{color:inherit;text-decoration:none}
.value a:hover{text-decoration:underline}
.legal-lines{line-height:1.48}
.footer{
  flex:0 0 auto;
  padding:8px 18px 16px;
  text-align:center;
  color:#2b4e6a;
  font-size:13px;
}
.footer-inner{
  width:min(1180px,calc(100% - 12px));
  margin:0 auto;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.86);
  box-shadow:0 -1px 0 rgba(24,62,104,.08) inset;
}
.footer a{color:#173a61;text-decoration:none;margin:0 9px}
.footer a:hover{text-decoration:underline}
.page{width:min(920px,calc(100% - 32px));margin:38px auto;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border:1px solid rgba(20,63,109,.08);box-shadow:0 20px 70px rgba(43,88,128,.10);border-radius:20px;padding:clamp(24px,5vw,56px)}
.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-header img{width:165px;height:auto}.back{font-size:14px;color:#173a61;text-decoration:none}.back:hover{text-decoration:underline}
.page h1{font-size:34px;text-align:left;margin:0 0 8px}.updated{color:var(--muted);font-size:14px;margin-bottom:30px}.page h2{font-size:20px;margin:28px 0 10px}.page p,.page li{font-size:16px;line-height:1.65;color:#344e68}.page ul{padding-left:22px}

/* Fit common desktop/notebook screens without needing to scroll. */
@media (min-width:701px) and (max-height:760px){
  .main{padding-top:10px;padding-bottom:6px}
  .logo{width:min(255px,58vw);max-height:88px;margin-bottom:6px}
  h1{font-size:28px;margin-bottom:10px}
  .row{padding:7px 15px;min-height:45px}
  .value{font-size:14.5px;line-height:1.35}
  .icon{width:26px;height:26px;font-size:14px}
  .footer{padding:5px 16px 9px;font-size:12px}
  .footer-inner{padding-top:8px}
}
@media(max-width:700px){
  body{overflow-y:auto}
  .main{padding:28px 14px 14px;align-items:flex-start}
  .card{padding:0}
  .logo{width:min(260px,75vw);max-height:98px;margin-bottom:8px}
  h1{font-size:24px;margin-bottom:15px}
  .details{border-radius:13px}
  .row{grid-template-columns:36px 1fr;padding:11px 13px;gap:9px;min-height:54px}
  .value{font-size:14.5px}
  .icon{width:27px;height:27px}
  .footer{font-size:12px;padding:9px 12px 16px}
  .footer a{display:inline-block;margin:6px 6px}
  .page{margin:18px auto;padding:22px}.page-header img{width:130px}.page h1{font-size:28px}
}

/* V3: background grafico futuristico */
body{background:#eaf6ff url("assets/fondo-futuristico.webp") center center / cover no-repeat fixed;}
body::before,body::after,.network{display:none!important;}
.details{background:rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 22px 65px rgba(12,73,126,.16),inset 0 1px 0 rgba(255,255,255,.92);}
.logo{filter:drop-shadow(0 7px 20px rgba(17,70,118,.10));}
.footer{background:linear-gradient(180deg,rgba(237,248,255,.15),rgba(237,248,255,.68));}
@media(max-width:700px){body{background-attachment:scroll;background-position:center top;}}

/* V4: ragione sociale integrata nel riquadro dati */
.company-name{
  margin:0;
  padding:13px 17px 11px;
  text-align:center;
  font-size:clamp(23px,2.3vw,31px);
  letter-spacing:.055em;
  color:var(--ink-dark);
  font-weight:700;
  border-bottom:1px solid var(--line);
}
@media (min-width:701px) and (max-height:760px){.company-name{font-size:24px;padding:9px 15px 8px}}
@media(max-width:700px){.company-name{font-size:22px;padding:11px 13px 9px}}
