/* ---------- HERO HOME ---------- */
.hero{position:relative;min-height:calc(100svh / var(--z,1));display:flex;align-items:center;padding:calc(var(--nav-h) + 40px) 0 80px;isolation:isolate;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center;opacity:var(--hero-img);filter:saturate(.7) contrast(1.1)}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,var(--hero-top),var(--bg) 96%),radial-gradient(700px 400px at 75% 45%,rgba(123,134,240,.22),transparent 70%)}
.grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse at 65% 40%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at 65% 40%,#000 10%,transparent 70%);opacity:.55;animation:drift 30s linear infinite}
@keyframes drift{to{background-position:64px 64px}}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(50px,9vw,128px);line-height:.92;font-weight:700;letter-spacing:-.04em;margin:26px 0 18px}
.hero h1 span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sub1{font-family:var(--mono);font-size:clamp(13px,1.5vw,17px);letter-spacing:.22em;color:var(--muted)}
.lead{max-width:600px;margin-top:24px;font-size:clamp(17px,1.7vw,21px);color:var(--t4);font-weight:300}
.cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.seal{position:relative;justify-self:center;width:min(400px,80vw);aspect-ratio:1}
.seal img{width:100%;height:100%;border-radius:50%;position:relative;z-index:2;box-shadow:0 0 0 1px var(--line),0 30px 90px -20px rgba(123,134,240,.6),0 0 80px rgba(123,134,240,.25)}
.seal::before,.seal::after{content:"";position:absolute;inset:-22px;border-radius:50%;border:1px dashed rgba(123,134,240,.4);animation:spin 40s linear infinite}
.seal::after{inset:-46px;border-color:rgba(34,228,255,.25);animation-duration:70s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.patent{margin-top:48px;display:inline-flex;align-items:center;gap:16px;padding:14px 20px;border:1px solid var(--line);border-radius:14px;background:var(--panel);backdrop-filter:blur(8px);transition:.25s}
.patent:hover{border-color:var(--warm);transform:translateY(-2px)}
.patent small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--muted)}
.patent strong{font-size:20px;letter-spacing:.06em;color:var(--warm)}
.patent .ico{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:rgba(255,122,69,.12);color:var(--warm);font-size:20px}

/* ---------- TILE HOME ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tile{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3.1;background:var(--bg2);transition:.35s;display:flex;align-items:flex-end}
.tile:hover{border-color:rgba(34,228,255,.4);transform:translateY(-5px)}
.tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(.9);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .4s}
.tile:hover>img{transform:scale(1.06);filter:brightness(.8)}
.tile::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 30%,rgba(6,8,13,.94))}
.tile .in{position:relative;z-index:2;padding:26px;width:100%}
.tile .n{font-family:var(--mono);font-size:11.5px;color:var(--a);letter-spacing:.16em}
.tile h3{font-size:24px;text-transform:uppercase;letter-spacing:.01em;margin:6px 0 8px;font-weight:600}
.tile h3 a::after{content:"";position:absolute;inset:0;z-index:3}
.tile p{color:var(--t2);font-size:14.5px;font-weight:300;max-width:34ch}
.tile .sublinks{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:4}
.tile .sublinks a{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;padding:5px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(6,8,13,.5);backdrop-filter:blur(6px);text-transform:uppercase}
.tile .sublinks a:hover{border-color:var(--a);color:var(--a)}
.tile.warm{background:radial-gradient(500px 280px at 80% 0%,rgba(255,122,69,.18),var(--bg2));border-color:rgba(255,122,69,.3)}
.tile.warm::before{display:none}
.tile.warm .n{color:var(--warm)}
.tile.warm .big{position:absolute;top:22px;left:26px;right:26px;z-index:2;display:flex;gap:10px;flex-wrap:wrap}
.tile.warm .big span{font-family:var(--mono);font-size:11px;letter-spacing:.12em;padding:6px 12px;border:1px solid rgba(255,122,69,.4);border-radius:999px;color:var(--warm)}

/* ---------- LOGHI CLIENTI ---------- */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.logos div{height:96px;border-radius:14px;background:rgba(255,255,255,.93);display:grid;place-items:center;padding:16px;transition:.3s;filter:grayscale(1) contrast(1.05);opacity:.82}
.logos div:hover{filter:none;opacity:1;transform:translateY(-3px);box-shadow:0 14px 34px -10px rgba(34,228,255,.35)}
.logos img{max-height:62px;max-width:100%;object-fit:contain}

/* nomi delle società (al posto dei loghi) */
.names{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.nm{padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:var(--panel);transition:.3s;position:relative;overflow:hidden}
.nm::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad);opacity:.7}
.nm:hover{border-color:rgba(34,228,255,.4);transform:translateY(-3px)}
.nm b{display:block;font-size:19px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.2}
.nm span{display:block;margin-top:6px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--a);text-transform:uppercase}
.artnote{position:fixed;left:16px;bottom:16px;z-index:90;display:flex;gap:12px;align-items:center;max-width:min(520px,calc(100vw - 32px));padding:10px 14px;border:1px dashed rgba(255,122,69,.55);border-radius:12px;background:var(--sub-bg);color:var(--text);font-family:var(--mono);font-size:11px;letter-spacing:.06em;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.artnote button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:14px}

/* caroselli (nomi e loghi) */
.car{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.car-track{display:flex;gap:14px;width:max-content;transition:transform 1s cubic-bezier(.65,0,.3,1);will-change:transform}
.car .slide{flex:none}
.car .nm{width:250px}
.car .nm:hover{transform:none}
.lg{width:180px;height:100px;border-radius:14px;background:#fff;display:grid;place-items:center;padding:16px;border:1px solid var(--line)}
.lg img{max-height:64px;max-width:100%;object-fit:contain}
@media(prefers-reduced-motion:reduce){.car{overflow-x:auto}}

html[data-theme="light"] .lg{background:#f1eee8}
html[data-theme="light"] .menu>li>a:hover{background:rgba(40,36,28,.06)}
