/* GEOmetrix Elementor Kit — tema "scanner" (palette AISA cyan→viola, fondo dark).
   Full-width helper + animazioni leggere (sonar, bit). */
.gem{--bg:#0a0a14;--bg2:#070710;--panel:#12121f;--panel2:#15152a;--line:#2a2a4a;
	--cy:#00e5ff;--pu:#7a5cff;--txt:#e8e6f0;--dim:#b4c3d3;--ok:#4ade80;--warn:#e2c97e;--no:#ff8a8a;
	--font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
	--font-head:'Space Grotesk','Inter',system-ui,sans-serif;
	font-family:var(--font);color:var(--txt)}
.gem *{box-sizing:border-box}
.gem-logo,.gem-hero h1,.gem-section-head h2,.gem-card h3,.gem-prodcard h3,.gem-signup h2{font-family:var(--font-head);letter-spacing:-.01em}
.gem a{text-decoration:none}
/* full-bleed: rompe il contenitore di Elementor → sezione a tutta larghezza */
.gem-fw{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.gem-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.gem-grad{background:linear-gradient(135deg,var(--cy),var(--pu));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gem-btn{display:inline-block;font-weight:700;letter-spacing:.02em;padding:.85em 1.7em;border-radius:10px;color:#08111a;
	background:linear-gradient(135deg,var(--cy),var(--pu));box-shadow:0 6px 24px rgba(0,229,255,.25);transition:.2s}
.gem-btn:hover{filter:brightness(1.1);box-shadow:0 8px 30px rgba(122,92,255,.4)}
.gem-btn.ghost{background:transparent;color:var(--txt);border:1px solid var(--line);box-shadow:none}
.gem-btn.ghost:hover{border-color:var(--cy)}

/* ───────── HEADER ───────── */
.gem-header{background:rgba(8,8,16,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.gem-header.sticky{position:sticky;top:0;z-index:999}
.gem-header-in{display:flex;align-items:center;gap:24px;height:66px}
.gem-logo{font-weight:800;font-size:1.3rem;letter-spacing:.02em;display:flex;align-items:center;gap:9px}
.gem-logo .dot{width:11px;height:11px;border-radius:50%;background:var(--cy);box-shadow:0 0 10px var(--cy);animation:gem-pulse 1.6s ease-in-out infinite}
.gem-nav{display:flex;gap:22px;margin-left:auto}
.gem-nav a{color:var(--dim);font-size:.92rem;transition:.2s}.gem-nav a:hover{color:var(--cy)}
.gem-header .gem-btn{padding:.6em 1.2em;font-size:.9rem}
/* switch IT/EN nell'header */
.gem-header .gem-lang .geom-lang,.gem-header .gem-lang{display:inline-flex;gap:4px}
.gem-header .gem-lang a{color:var(--dim);text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:.2em .55em;font-size:.78rem;font-weight:600}
.gem-header .gem-lang a.on{color:#08111a;background:var(--cy);border-color:var(--cy)}

/* ───────── HERO (sonar) ───────── */
.gem-hero{position:relative;overflow:hidden;background:radial-gradient(1200px 500px at 50% -20%,#1a1233 0,var(--bg) 55%),var(--bg);padding:90px 0 100px;text-align:center}
.gem-hero-in{position:relative;z-index:2;max-width:820px;margin:0 auto;padding:0 24px}
.gem-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cy);
	border:1px solid rgba(0,229,255,.3);border-radius:999px;padding:.4em 1em;margin-bottom:1.4em}
.gem-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:gem-pulse 1.4s infinite}
.gem-hero h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.1;font-weight:800;margin:0 0 .4em}
.gem-hero .sub{font-size:1.15rem;color:var(--dim);margin:0 auto 1.8em;max-width:620px}
.gem-hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
/* sonar radar dietro l'hero */
.gem-sonar{position:absolute;top:50%;left:50%;width:760px;height:760px;transform:translate(-50%,-50%);pointer-events:none;z-index:1;opacity:.5}
.gem-sonar::before{content:"";position:absolute;inset:0;border-radius:50%;
	background:repeating-radial-gradient(circle,transparent 0 46px,rgba(0,229,255,.12) 46px 47px)}
.gem-sonar .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 305deg,rgba(0,229,255,.25) 360deg);animation:gem-spin 5s linear infinite}
.gem-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(0,229,255,.18);transform:translate(-50%,-50%);animation:gem-ping 4s ease-out infinite}
.gem-ring.r2{animation-delay:1.3s}.gem-ring.r3{animation-delay:2.6s}
/* bit che fluttuano */
.gem-bit{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--cy);box-shadow:0 0 8px var(--cy);opacity:.7;animation:gem-float linear infinite}
.gem-bit.g{background:var(--ok);box-shadow:0 0 8px var(--ok)}
.gem-bit.p{background:var(--pu);box-shadow:0 0 8px var(--pu)}

@keyframes gem-spin{to{transform:rotate(360deg)}}
@keyframes gem-pulse{50%{opacity:.3}}
@keyframes gem-ping{0%{width:120px;height:120px;opacity:.7}100%{width:720px;height:720px;opacity:0}}
@keyframes gem-float{0%{transform:translateY(20px);opacity:0}10%{opacity:.7}90%{opacity:.7}100%{transform:translateY(-120px);opacity:0}}
@media(prefers-reduced-motion:reduce){.gem-sonar .sweep,.gem-ring,.gem-bit,.gem-logo .dot,.gem-eyebrow i{animation:none}}

/* ───────── SCANNER embed ───────── */
.gem-scanner{background:var(--bg2);padding:60px 0}
.gem-section-head{text-align:center;max-width:680px;margin:0 auto 40px;padding:0 24px}
.gem-section-head h2{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;margin:0 0 .3em}
.gem-section-head p{color:var(--dim);font-size:1.05rem;margin:0}

/* ───────── FEATURES ───────── */
.gem-features{background:var(--bg);padding:70px 0}
.gem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.gem-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1.5em;transition:.2s}
.gem-card:hover{border-color:rgba(0,229,255,.4);transform:translateY(-3px)}
.gem-card .ic{font-size:1.8rem;margin-bottom:.4em}
.gem-card h3{margin:0 0 .3em;font-size:1.15rem}
.gem-card p{margin:0;color:var(--dim);font-size:.95rem;line-height:1.5}

/* ───────── SPONSOR / Ingenium ───────── */
.gem-sponsor{background:var(--bg2);padding:70px 0}
.gem-prod{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.gem-prodcard{position:relative;background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:1.6em;overflow:hidden}
.gem-prodcard::after{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,255,.18),transparent 70%)}
.gem-prodcard .badge{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cy)}
.gem-prodcard h3{margin:.3em 0;font-size:1.25rem}
.gem-prodcard p{color:var(--dim);font-size:.95rem;margin:0 0 1em;min-height:3em}
.gem-prodcard a{color:var(--cy);font-weight:700;font-size:.95rem}

/* ───────── AGENCY (Pro) ───────── */
.gem-agency{background:var(--bg);padding:30px 0}
.gem-agency-box{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;
	background:linear-gradient(135deg,#1a1233,#13202e);border:1px solid rgba(0,229,255,.3);border-radius:18px;padding:1.6em 2em}
.gem-agency-l h3{margin:.2em 0 .1em;font-size:1.5rem}
.gem-agency-price{background:linear-gradient(135deg,var(--cy),var(--pu));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gem-agency-l p{margin:0;color:var(--dim);font-size:.98rem}
.gem-agency-soon{display:inline-block;background:rgba(0,229,255,.1);border:1px dashed rgba(0,229,255,.5);color:var(--cy);
	font-weight:700;letter-spacing:.04em;padding:.8em 1.6em;border-radius:10px;white-space:nowrap}

/* ───────── SIGNUP ───────── */
.gem-signup{background:linear-gradient(135deg,#1a1233,#13202e);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0;text-align:center}
.gem-signup h2{font-size:1.8rem;font-weight:800;margin:0 0 .3em}
.gem-signup p{color:var(--dim);margin:0 auto 1.4em;max-width:520px}
.gem-signup form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:520px;margin:0 auto}
.gem-signup input[type=email]{flex:1;min-width:220px;padding:.85em 1em;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--txt);font-size:1rem}
.gem-signup input[type=email]:focus{outline:0;border-color:var(--cy);box-shadow:0 0 0 3px rgba(0,229,255,.15)}
.gem-signup .gem-sp{padding:.85em 1em;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--txt);font-size:1rem;cursor:pointer}
.gem-signup .gem-sp:focus{outline:0;border-color:var(--cy);box-shadow:0 0 0 3px rgba(0,229,255,.15)}
.gem-signup .gem-consent{display:flex;align-items:flex-start;gap:.6em;text-align:left;max-width:520px;margin:1em auto 0;font-size:.82rem;color:var(--dim);line-height:1.5}
.gem-signup .gem-consent span{flex:1}
.gem-signup .gem-consent a{color:var(--cy)}
/* checkbox custom: quadrato bordato azzurro che si riempie quando spuntato */
.gem-consent input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:22px;height:22px;margin:0;border:2px solid var(--cy);border-radius:6px;background:transparent;cursor:pointer;position:relative;transition:.15s}
.gem-consent input[type=checkbox]:hover{background:rgba(0,229,255,.14)}
.gem-consent input[type=checkbox]:checked{background:var(--cy);border-color:var(--cy)}
.gem-consent input[type=checkbox]:checked::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #08111a;border-width:0 2px 2px 0;transform:rotate(45deg)}
.gem-consent input[type=checkbox]:focus-visible{outline:2px solid var(--cy);outline-offset:2px}
.gem-signup .gem-msg{margin-top:.8em;font-size:.9rem}

/* ───────── FOOTER ───────── */
.gem-footer{background:var(--bg2);border-top:1px solid var(--line);padding:40px 0 28px;color:var(--dim);font-size:.9rem}
.gem-footer-in{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.gem-footer a{color:var(--dim)}.gem-footer a:hover{color:var(--cy)}
.gem-footer .links{display:flex;gap:18px;flex-wrap:wrap}
.gem-footer .credit{font-size:.82rem;opacity:.8}
.gem-footer .credit b{color:var(--txt)}
