- public/guida.html, index-en.html, service-continuity.html - public/js/ai-assistant.js, bug-reporter.js (FAB supporto) - public/mobile-conversion.css/js - index.html, common.js, help.js, risks.html: aggiornamenti UI/help Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1269 lines
61 KiB
HTML
1269 lines
61 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>NIS2 Agile — Simplified NIS2 compliance for companies and consultants</title>
|
|
<meta name="description" content="Multi-tenant SaaS platform for compliance with the NIS2 Directive (EU 2022/2555) and Legislative Decree 138/2024. AI gap analysis, risk management, Article 23 incident response, policies, training.">
|
|
<link rel="canonical" href="https://nis2.agile.software/index-en.html">
|
|
<link rel="alternate" hreflang="it" href="https://nis2.agile.software/">
|
|
<link rel="alternate" hreflang="en" href="https://nis2.agile.software/index-en.html">
|
|
<link rel="alternate" hreflang="x-default" href="https://nis2.agile.software/">
|
|
<meta property="og:locale" content="en_US">
|
|
<meta property="og:title" content="NIS2 Agile — Simplified NIS2 compliance for companies and consultants">
|
|
<meta property="og:description" content="Multi-tenant SaaS platform for compliance with the NIS2 Directive (EU 2022/2555) and Legislative Decree 138/2024. AI gap analysis, risk management, Article 23 incident response, policies, training.">
|
|
<meta name="twitter:title" content="NIS2 Agile — Simplified NIS2 compliance for companies and consultants">
|
|
<meta name="twitter:description" content="Multi-tenant SaaS platform for compliance with the NIS2 Directive (EU 2022/2555) and Legislative Decree 138/2024.">
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
|
<style>
|
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
|
|
|
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
|
|
:root {
|
|
--brand-primary: #0F172A;
|
|
--surface-darker: #0F172A;
|
|
--surface-dark: #1E293B;
|
|
--surface-card: rgba(30, 41, 59, 0.8);
|
|
--brand-accent: #EF4444;
|
|
--brand-accent2: #3B82F6;
|
|
--brand-gradient: linear-gradient(135deg, #EF4444, #DC2626);
|
|
--text-white: #F8FAFC;
|
|
--text-light: #CBD5E1;
|
|
--text-muted: #94A3B8;
|
|
--border-color: rgba(239, 68, 68, 0.12);
|
|
--green: #10B981;
|
|
--yellow: #EAB308;
|
|
--orange: #F59E0B;
|
|
--red: #EF4444;
|
|
--cyan: #EF4444;
|
|
}
|
|
|
|
html { scroll-behavior: smooth; }
|
|
|
|
body {
|
|
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
|
|
background: var(--brand-primary);
|
|
color: var(--text-light);
|
|
line-height: 1.6;
|
|
}
|
|
|
|
/* ── NAV ── */
|
|
nav {
|
|
position: fixed;
|
|
top: 0; left: 0; right: 0;
|
|
z-index: 100;
|
|
background: rgba(15, 23, 42, 0.92);
|
|
backdrop-filter: blur(12px);
|
|
border-bottom: 1px solid var(--border-color);
|
|
padding: 0 40px;
|
|
height: 64px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
.nav-brand {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
text-decoration: none;
|
|
}
|
|
.nav-icon {
|
|
width: 36px; height: 36px;
|
|
background: var(--brand-gradient);
|
|
border-radius: 10px;
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 16px;
|
|
color: white;
|
|
}
|
|
.nav-name {
|
|
font-size: 17px;
|
|
font-weight: 700;
|
|
color: var(--text-white);
|
|
}
|
|
.nav-name span { color: var(--cyan); }
|
|
.nav-actions { display: flex; gap: 12px; align-items: center; }
|
|
.lang-switch-nis { display: flex; align-items: center; gap: 4px; padding-left: 10px; border-left: 1px solid var(--border-color); margin-left: 6px; }
|
|
.lang-switch-nis a { color: var(--text-muted); text-decoration: none; padding: 4px 7px; border-radius: 5px; font-weight: 700; font-size: 12px; letter-spacing: 0.04em; transition: all .15s; }
|
|
.lang-switch-nis a:hover { color: var(--text-white); background: rgba(255,255,255,0.05); }
|
|
.lang-switch-nis a.active { color: var(--cyan); background: rgba(239,68,68,0.12); }
|
|
.lang-switch-nis .sep { color: var(--text-muted); font-size: 12px; }
|
|
.btn-invite {
|
|
background: var(--brand-gradient);
|
|
color: white;
|
|
box-shadow: 0 4px 16px rgba(239,68,68,0.25);
|
|
}
|
|
.btn-invite:hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 8px 24px rgba(239,68,68,0.35);
|
|
}
|
|
.btn {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 10px 24px;
|
|
border-radius: 8px;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
transition: all 0.25s ease;
|
|
border: none;
|
|
}
|
|
.btn-sm { padding: 8px 18px; font-size: 13px; }
|
|
.btn-primary {
|
|
background: var(--brand-gradient);
|
|
color: white;
|
|
box-shadow: 0 4px 16px rgba(239,68,68,0.25);
|
|
}
|
|
.btn-primary:hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 8px 24px rgba(239,68,68,0.35);
|
|
}
|
|
.btn-ghost {
|
|
background: transparent;
|
|
color: var(--text-light);
|
|
border: 1px solid var(--border-color);
|
|
}
|
|
.btn-ghost:hover {
|
|
border-color: var(--cyan);
|
|
color: var(--cyan);
|
|
}
|
|
.btn-lg { padding: 14px 32px; font-size: 16px; }
|
|
|
|
/* ── LAYOUT ── */
|
|
.container { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
|
|
section { padding: 100px 0; }
|
|
|
|
/* ── HERO ── */
|
|
#hero {
|
|
min-height: 100vh;
|
|
display: flex;
|
|
align-items: center;
|
|
padding-top: 64px;
|
|
}
|
|
.hero-wrap {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 60px;
|
|
align-items: center;
|
|
width: 100%;
|
|
}
|
|
.hero-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
background: rgba(239,68,68,0.1);
|
|
border: 1px solid rgba(239,68,68,0.25);
|
|
border-radius: 20px;
|
|
padding: 6px 16px;
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
color: var(--cyan);
|
|
text-transform: uppercase;
|
|
letter-spacing: 1.5px;
|
|
margin-bottom: 24px;
|
|
}
|
|
.hero-title {
|
|
font-size: 52px;
|
|
font-weight: 900;
|
|
line-height: 1.08;
|
|
color: var(--text-white);
|
|
margin-bottom: 24px;
|
|
}
|
|
.hero-title .gradient {
|
|
background: var(--brand-gradient);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
}
|
|
.hero-subtitle {
|
|
font-size: 18px;
|
|
color: var(--text-muted);
|
|
margin-bottom: 36px;
|
|
line-height: 1.7;
|
|
}
|
|
.hero-ctas {
|
|
display: flex;
|
|
gap: 16px;
|
|
flex-wrap: wrap;
|
|
margin-bottom: 48px;
|
|
}
|
|
.hero-stats {
|
|
display: flex;
|
|
gap: 32px;
|
|
}
|
|
.hero-stat { text-align: center; }
|
|
.hero-stat-num {
|
|
font-size: 28px;
|
|
font-weight: 800;
|
|
color: var(--cyan);
|
|
}
|
|
.hero-stat-label {
|
|
font-size: 12px;
|
|
color: var(--text-muted);
|
|
}
|
|
/* Mock dashboard visual */
|
|
.hero-visual {
|
|
background: var(--surface-dark);
|
|
border: 1px solid var(--border-color);
|
|
border-radius: 16px;
|
|
overflow: hidden;
|
|
box-shadow: 0 24px 80px rgba(239,68,68,0.1);
|
|
}
|
|
.hero-visual-bar {
|
|
background: var(--surface-darker);
|
|
padding: 12px 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
border-bottom: 1px solid var(--border-color);
|
|
}
|
|
.dot { width: 10px; height: 10px; border-radius: 50%; }
|
|
.dot-red { background: #EF4444; }
|
|
.dot-yellow { background: #EAB308; }
|
|
.dot-green { background: #10B981; }
|
|
.hero-url { margin-left: 12px; font-size: 12px; color: var(--text-muted); font-family: monospace; }
|
|
.hero-mock { padding: 28px; }
|
|
.mock-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
|
|
.mock-title { font-size: 16px; font-weight: 700; color: var(--text-white); }
|
|
.mock-score { font-size: 28px; font-weight: 800; color: var(--cyan); }
|
|
.mock-gauge { height: 8px; background: rgba(239,68,68,0.1); border-radius: 4px; margin-bottom: 20px; overflow: hidden; }
|
|
.mock-gauge-fill { height: 100%; width: 73%; background: var(--brand-gradient); border-radius: 4px; }
|
|
.mock-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 16px; }
|
|
.mock-card { background: rgba(239,68,68,0.05); border: 1px solid rgba(239,68,68,0.1); border-radius: 8px; padding: 12px; }
|
|
.mock-card-label { font-size: 10px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }
|
|
.mock-card-value { font-size: 14px; font-weight: 700; color: var(--text-white); }
|
|
.status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 4px; }
|
|
.status-ok { background: var(--green); }
|
|
.status-warn { background: var(--orange); }
|
|
.status-err { background: var(--red); }
|
|
.mock-incident { background: rgba(239,68,68,0.06); border: 1px solid rgba(239,68,68,0.15); border-radius: 8px; padding: 12px; display: flex; align-items: center; gap: 10px; }
|
|
.mock-incident-icon { color: var(--red); font-size: 14px; }
|
|
.mock-incident-text { font-size: 12px; color: var(--text-light); }
|
|
.mock-incident-time { font-size: 10px; color: var(--text-muted); margin-top: 2px; }
|
|
|
|
/* ── PROBLEMA ── */
|
|
#problema { background: var(--surface-dark); }
|
|
#problema .container-full { max-width: 100%; }
|
|
.problema-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr 1fr;
|
|
gap: 24px;
|
|
}
|
|
.problema-card {
|
|
background: var(--brand-primary);
|
|
border: 1px solid var(--border-color);
|
|
border-radius: 16px;
|
|
padding: 32px;
|
|
}
|
|
.problema-card.highlight {
|
|
border-color: rgba(239,68,68,0.3);
|
|
background: rgba(239,68,68,0.04);
|
|
}
|
|
.problema-icon {
|
|
width: 48px; height: 48px;
|
|
border-radius: 12px;
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 20px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.icon-red { background: rgba(239,68,68,0.12); color: var(--red); }
|
|
.icon-orange { background: rgba(245,158,11,0.12); color: var(--orange); }
|
|
.icon-cyan { background: rgba(239,68,68,0.12); color: var(--cyan); }
|
|
.icon-blue { background: rgba(59,130,246,0.12); color: var(--brand-accent2); }
|
|
.icon-green { background: rgba(16,185,129,0.12); color: var(--green); }
|
|
.icon-purple { background: rgba(168,85,247,0.12); color: #A855F7; }
|
|
.problema-card h3 { font-size: 18px; font-weight: 700; color: var(--text-white); margin-bottom: 12px; }
|
|
.problema-card p { font-size: 14px; color: var(--text-muted); line-height: 1.7; }
|
|
.tag-badge {
|
|
display: inline-block;
|
|
font-size: 11px;
|
|
font-weight: 700;
|
|
padding: 3px 10px;
|
|
border-radius: 20px;
|
|
margin-top: 12px;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.5px;
|
|
}
|
|
.tag-red { background: rgba(239,68,68,0.12); color: var(--red); }
|
|
.tag-orange { background: rgba(245,158,11,0.12); color: var(--orange); }
|
|
.tag-cyan { background: rgba(239,68,68,0.12); color: var(--cyan); }
|
|
|
|
/* ── SECTION HEADERS ── */
|
|
.section-header { text-align: center; margin-bottom: 64px; }
|
|
.section-eyebrow {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: 2px;
|
|
color: var(--cyan);
|
|
margin-bottom: 16px;
|
|
}
|
|
.section-title {
|
|
font-size: 40px;
|
|
font-weight: 800;
|
|
color: var(--text-white);
|
|
line-height: 1.15;
|
|
margin-bottom: 16px;
|
|
}
|
|
.section-title .gradient {
|
|
background: var(--brand-gradient);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
}
|
|
.section-desc { font-size: 17px; color: var(--text-muted); max-width: 600px; margin: 0 auto; line-height: 1.7; }
|
|
|
|
/* ── PER CHI E' ── */
|
|
#target { }
|
|
.target-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 32px;
|
|
margin-bottom: 32px;
|
|
}
|
|
.target-card {
|
|
background: var(--surface-dark);
|
|
border: 1px solid var(--border-color);
|
|
border-radius: 20px;
|
|
padding: 40px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.target-card.card-blue {
|
|
border-color: rgba(59,130,246,0.3);
|
|
}
|
|
.target-card.card-blue::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0; right: 0;
|
|
width: 200px; height: 200px;
|
|
background: radial-gradient(circle, rgba(59,130,246,0.08) 0%, transparent 70%);
|
|
pointer-events: none;
|
|
}
|
|
.target-card.card-cyan {
|
|
border-color: rgba(239,68,68,0.3);
|
|
}
|
|
.target-card.card-cyan::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 0; right: 0;
|
|
width: 200px; height: 200px;
|
|
background: radial-gradient(circle, rgba(239,68,68,0.08) 0%, transparent 70%);
|
|
pointer-events: none;
|
|
}
|
|
.target-card-icon {
|
|
width: 56px; height: 56px;
|
|
border-radius: 14px;
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 24px;
|
|
margin-bottom: 24px;
|
|
}
|
|
.tc-blue { background: rgba(59,130,246,0.12); color: var(--brand-accent2); }
|
|
.tc-cyan { background: rgba(239,68,68,0.12); color: var(--cyan); }
|
|
.target-card h3 { font-size: 22px; font-weight: 800; color: var(--text-white); margin-bottom: 8px; }
|
|
.target-card .subtitle { font-size: 13px; color: var(--text-muted); margin-bottom: 20px; font-weight: 500; }
|
|
.target-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
|
|
.target-list li {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 10px;
|
|
font-size: 14px;
|
|
color: var(--text-light);
|
|
}
|
|
.target-list li i { color: var(--cyan); margin-top: 2px; flex-shrink: 0; font-size: 12px; }
|
|
.target-card.card-blue .target-list li i { color: var(--brand-accent2); }
|
|
.target-infobar {
|
|
background: var(--surface-dark);
|
|
border: 1px solid var(--border-color);
|
|
border-radius: 12px;
|
|
padding: 20px 28px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 16px;
|
|
font-size: 14px;
|
|
color: var(--text-light);
|
|
}
|
|
.target-infobar i { color: var(--cyan); font-size: 18px; flex-shrink: 0; }
|
|
|
|
/* ── FEATURES ── */
|
|
#soluzione { background: var(--surface-dark); }
|
|
.features-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
gap: 24px;
|
|
}
|
|
.feature-card {
|
|
background: var(--brand-primary);
|
|
border: 1px solid var(--border-color);
|
|
border-radius: 16px;
|
|
padding: 28px;
|
|
transition: border-color 0.25s ease, transform 0.25s ease;
|
|
}
|
|
.feature-card:hover {
|
|
border-color: rgba(239,68,68,0.3);
|
|
transform: translateY(-2px);
|
|
}
|
|
.feature-icon {
|
|
width: 48px; height: 48px;
|
|
border-radius: 12px;
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 20px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.feature-card h3 { font-size: 17px; font-weight: 700; color: var(--text-white); margin-bottom: 10px; }
|
|
.feature-card p { font-size: 14px; color: var(--text-muted); line-height: 1.7; }
|
|
|
|
/* ── 231 BANNER ── */
|
|
#lg231-banner { padding: 60px 0; }
|
|
.lg231-card {
|
|
background: rgba(249,115,22,0.05);
|
|
border: 1px solid rgba(249,115,22,0.2);
|
|
border-radius: 20px;
|
|
padding: 40px 48px;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 28px;
|
|
}
|
|
.lg231-icon {
|
|
width: 60px; height: 60px;
|
|
background: rgba(249,115,22,0.12);
|
|
border-radius: 14px;
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 26px;
|
|
color: #F97316;
|
|
flex-shrink: 0;
|
|
}
|
|
.lg231-content h3 { font-size: 20px; font-weight: 800; color: var(--text-white); margin-bottom: 10px; }
|
|
.lg231-content p { font-size: 15px; color: var(--text-muted); line-height: 1.7; margin-bottom: 20px; }
|
|
.lg231-points { display: flex; gap: 32px; flex-wrap: wrap; }
|
|
.lg231-point { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-light); }
|
|
.lg231-point i { color: #F97316; font-size: 12px; }
|
|
.btn-orange {
|
|
background: rgba(249,115,22,0.12);
|
|
color: #F97316;
|
|
border: 1px solid rgba(249,115,22,0.3);
|
|
}
|
|
.btn-orange:hover {
|
|
background: rgba(249,115,22,0.2);
|
|
border-color: #F97316;
|
|
}
|
|
|
|
/* ── HOW IT WORKS ── */
|
|
#come-funziona { }
|
|
.steps-wrap {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, 1fr);
|
|
gap: 24px;
|
|
position: relative;
|
|
}
|
|
.steps-wrap::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: 36px; left: 10%; right: 10%;
|
|
height: 1px;
|
|
background: linear-gradient(90deg, transparent, var(--border-color) 20%, var(--border-color) 80%, transparent);
|
|
}
|
|
.step {
|
|
text-align: center;
|
|
position: relative;
|
|
}
|
|
.step-num {
|
|
width: 72px; height: 72px;
|
|
background: var(--surface-dark);
|
|
border: 2px solid var(--border-color);
|
|
border-radius: 50%;
|
|
display: flex; align-items: center; justify-content: center;
|
|
font-size: 22px;
|
|
color: var(--cyan);
|
|
margin: 0 auto 20px;
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
.step h4 { font-size: 15px; font-weight: 700; color: var(--text-white); margin-bottom: 8px; }
|
|
.step p { font-size: 13px; color: var(--text-muted); line-height: 1.6; }
|
|
|
|
/* ── CTA FINALE ── */
|
|
#cta-finale { background: var(--surface-dark); }
|
|
.cta-box {
|
|
text-align: center;
|
|
background: var(--brand-primary);
|
|
border: 1px solid var(--border-color);
|
|
border-radius: 24px;
|
|
padding: 72px 48px;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
.cta-box::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: -60px; left: 50%;
|
|
transform: translateX(-50%);
|
|
width: 400px; height: 400px;
|
|
background: radial-gradient(circle, rgba(239,68,68,0.08) 0%, transparent 70%);
|
|
pointer-events: none;
|
|
}
|
|
.cta-box h2 { font-size: 40px; font-weight: 800; color: var(--text-white); margin-bottom: 16px; line-height: 1.2; }
|
|
.cta-box p { font-size: 17px; color: var(--text-muted); margin-bottom: 40px; max-width: 500px; margin-left: auto; margin-right: auto; }
|
|
.cta-box .cta-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
|
|
.cta-note { font-size: 13px; color: var(--text-muted); margin-top: 20px; }
|
|
|
|
/* ── FOOTER ── */
|
|
footer {
|
|
background: var(--surface-darker);
|
|
border-top: 1px solid var(--border-color);
|
|
padding: 40px;
|
|
}
|
|
.footer-inner {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: 16px;
|
|
}
|
|
.footer-brand {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
}
|
|
.footer-brand-name { font-size: 15px; font-weight: 700; color: var(--text-white); }
|
|
.footer-brand-name span { color: var(--cyan); }
|
|
.footer-links { display: flex; gap: 24px; flex-wrap: wrap; }
|
|
.footer-links a { font-size: 13px; color: var(--text-muted); text-decoration: none; transition: color 0.2s; }
|
|
.footer-links a:hover { color: var(--cyan); }
|
|
.footer-copy { font-size: 12px; color: var(--text-muted); }
|
|
|
|
/* ── NORMATIVA HIGHLIGHT ── */
|
|
.norma-strip {
|
|
background: rgba(239,68,68,0.05);
|
|
border: 1px solid rgba(239,68,68,0.15);
|
|
border-radius: 10px;
|
|
padding: 14px 20px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
margin-top: 16px;
|
|
font-size: 13px;
|
|
color: var(--text-light);
|
|
}
|
|
.norma-strip i { color: var(--cyan); }
|
|
|
|
/* ── BADGE INVITO ── */
|
|
.invite-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
background: rgba(245,158,11,0.1);
|
|
border: 1px solid rgba(245,158,11,0.25);
|
|
border-radius: 8px;
|
|
padding: 8px 16px;
|
|
font-size: 13px;
|
|
color: var(--orange);
|
|
margin-bottom: 20px;
|
|
}
|
|
.invite-badge i { font-size: 12px; }
|
|
|
|
/* ── FORM LEAD ── */
|
|
#richiedi-accesso { background: var(--surface-dark); }
|
|
.form-box {
|
|
background: var(--brand-primary);
|
|
border: 1px solid var(--border-color);
|
|
border-radius: 20px;
|
|
padding: 48px;
|
|
max-width: 680px;
|
|
margin: 0 auto;
|
|
}
|
|
.form-grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 20px;
|
|
margin-bottom: 20px;
|
|
}
|
|
.form-group { display: flex; flex-direction: column; gap: 8px; }
|
|
.form-group.full { grid-column: 1 / -1; }
|
|
.form-group label {
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
color: var(--text-light);
|
|
}
|
|
.form-group label span { color: var(--red); margin-left: 2px; }
|
|
.form-group input,
|
|
.form-group select,
|
|
.form-group textarea {
|
|
background: var(--surface-dark);
|
|
border: 1px solid var(--border-color);
|
|
border-radius: 8px;
|
|
padding: 12px 16px;
|
|
font-size: 14px;
|
|
color: var(--text-white);
|
|
font-family: inherit;
|
|
transition: border-color 0.2s;
|
|
width: 100%;
|
|
}
|
|
.form-group input:focus,
|
|
.form-group select:focus,
|
|
.form-group textarea:focus {
|
|
outline: none;
|
|
border-color: var(--cyan);
|
|
}
|
|
.form-group input::placeholder,
|
|
.form-group textarea::placeholder { color: var(--text-muted); }
|
|
.form-group select option { background: #1E293B; }
|
|
.form-group textarea { resize: vertical; min-height: 90px; }
|
|
.form-submit { width: 100%; padding: 14px; font-size: 16px; margin-top: 8px; }
|
|
.form-note { font-size: 12px; color: var(--text-muted); text-align: center; margin-top: 12px; }
|
|
.form-success {
|
|
display: none;
|
|
text-align: center;
|
|
padding: 32px;
|
|
}
|
|
.form-success i { font-size: 48px; color: var(--green); margin-bottom: 16px; display: block; }
|
|
.form-success h3 { font-size: 22px; font-weight: 700; color: var(--text-white); margin-bottom: 8px; }
|
|
.form-success p { color: var(--text-muted); font-size: 15px; }
|
|
.form-error-msg {
|
|
display: none;
|
|
background: rgba(239,68,68,0.08);
|
|
border: 1px solid rgba(239,68,68,0.2);
|
|
border-radius: 8px;
|
|
padding: 12px 16px;
|
|
font-size: 13px;
|
|
color: var(--red);
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
/* ── RESPONSIVE ── */
|
|
/* ── NAV TOGGLE (hamburger mobile ≤768px) ── */
|
|
.nav-toggle { display: none; background: none; border: 1px solid rgba(255,255,255,0.15); border-radius: 8px; cursor: pointer; padding: 8px 10px; color: var(--text-white); min-height: 40px; min-width: 40px; }
|
|
.nav-toggle:hover { background: rgba(255,255,255,0.08); border-color: var(--cyan); }
|
|
.nav-toggle svg { display: block; }
|
|
|
|
@media (max-width: 900px) {
|
|
nav { padding: 0 20px; }
|
|
.container { padding: 0 20px; }
|
|
section { padding: 60px 0; }
|
|
.hero-wrap, .target-grid, .features-grid { grid-template-columns: 1fr; }
|
|
.hero-visual { display: none; }
|
|
.hero-title { font-size: 36px; }
|
|
.section-title { font-size: 28px; }
|
|
.problema-grid { grid-template-columns: 1fr; }
|
|
.steps-wrap { grid-template-columns: 1fr 1fr; }
|
|
.steps-wrap::before { display: none; }
|
|
.lg231-card { flex-direction: column; padding: 28px; }
|
|
.footer-inner { flex-direction: column; align-items: flex-start; }
|
|
.form-grid { grid-template-columns: 1fr; }
|
|
.form-box { padding: 28px 20px; }
|
|
}
|
|
@media (max-width: 768px) {
|
|
.nav-actions { display: none; }
|
|
.nav-actions.open {
|
|
display: flex; flex-direction: column; align-items: stretch;
|
|
position: fixed; top: 64px; left: 0; right: 0;
|
|
background: rgba(15,23,42,0.97); backdrop-filter: blur(16px);
|
|
padding: 20px; gap: 12px; z-index: 99;
|
|
border-bottom: 1px solid var(--border-color);
|
|
max-height: calc(100vh - 64px); overflow-y: auto;
|
|
}
|
|
.nav-actions.open .btn, .nav-actions.open .lang-switch-nis { width: 100%; justify-content: center; }
|
|
.nav-actions.open .lang-switch-nis { border-left: none; padding-left: 0; margin-left: 0; }
|
|
.nav-actions.open .evix-suite-pill { margin: 0; width: 100%; justify-content: center; }
|
|
.nav-toggle { display: inline-flex; align-items: center; justify-content: center; }
|
|
}
|
|
</style>
|
|
<link rel="stylesheet" href="mobile-conversion.css?v=20260519a">
|
|
<!-- Plausible Analytics -->
|
|
<script defer data-domain="nis2.agile.software" src="https://analytics.agile.software/js/script.js"></script>
|
|
</head>
|
|
<body>
|
|
|
|
<!-- NAV -->
|
|
<nav>
|
|
<a href="/" class="nav-brand">
|
|
<div class="nav-icon"><i class="fa-solid fa-shield-halved"></i></div>
|
|
<span class="nav-name">NIS2 <span>Agile</span></span>
|
|
</a>
|
|
<a href="https://evix.agile.software" target="_blank" rel="noopener" class="evix-suite-pill" title="Part of the EViX Suite — discover all modules" style="display:inline-flex;align-items:center;gap:8px;padding:7px 14px;background:linear-gradient(135deg,rgba(227,30,36,0.18),rgba(227,30,36,0.08));border:1.5px solid rgba(227,30,36,0.5);color:#FCA5A5;border-radius:100px;font-size:12px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;text-decoration:none;transition:all .2s;white-space:nowrap;margin-left:auto;margin-right:14px;">
|
|
<i class="fa-solid fa-layer-group" style="font-size:11px"></i>
|
|
<span class="evix-pill-label">EViX Suite</span>
|
|
<i class="fa-solid fa-arrow-up-right-from-square" style="font-size:9px;opacity:.75"></i>
|
|
</a>
|
|
<div class="nav-actions" id="navActions">
|
|
<a href="/login.html" class="btn btn-ghost btn-sm">
|
|
<i class="fa-solid fa-right-to-bracket"></i> Sign in
|
|
</a>
|
|
<a href="#richiedi-accesso" class="btn btn-primary btn-sm">
|
|
<i class="fa-solid fa-envelope"></i> Request access
|
|
</a>
|
|
<div class="lang-switch-nis">
|
|
<a href="index.html" hreflang="it">IT</a>
|
|
<span class="sep">|</span>
|
|
<a href="index-en.html" class="active" hreflang="en">EN</a>
|
|
</div>
|
|
</div>
|
|
<button class="nav-toggle" onclick="document.getElementById('navActions').classList.toggle('open')" aria-label="Menu">
|
|
<svg width="22" height="22" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6h18M3 12h18M3 18h18"/></svg>
|
|
</button>
|
|
</nav>
|
|
|
|
<!-- HERO -->
|
|
<section id="hero">
|
|
<div class="container">
|
|
<div class="hero-wrap">
|
|
<div class="hero-left">
|
|
<a href="https://evix.agile.software" target="_blank" rel="noopener"
|
|
style="display:inline-flex;align-items:center;gap:8px;background:rgba(227,30,36,0.1);border:1px solid rgba(227,30,36,0.35);color:#E31E24;font-size:12.5px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:7px 14px;border-radius:100px;text-decoration:none;margin-bottom:14px;transition:all .2s;"
|
|
onmouseover="this.style.background='rgba(227,30,36,0.18)';this.style.borderColor='#E31E24'"
|
|
onmouseout="this.style.background='rgba(227,30,36,0.1)';this.style.borderColor='rgba(227,30,36,0.35)'">
|
|
<i class="fa-solid fa-layer-group" style="font-size:11px"></i>
|
|
Part of the EViX Suite
|
|
<i class="fa-solid fa-arrow-up-right-from-square" style="font-size:10px;opacity:.8"></i>
|
|
</a>
|
|
<div class="hero-badge">
|
|
<i class="fa-solid fa-circle-check"></i>
|
|
Legislative Decree 138/2024 — In force since 16 October 2024
|
|
</div>
|
|
<h1 class="hero-title">
|
|
Simplified <span class="gradient">NIS2</span><br>
|
|
compliance
|
|
</h1>
|
|
<p class="hero-subtitle">
|
|
Multi-tenant SaaS platform to guide your organisation to compliance with the NIS2 Directive (EU 2022/2555). AI gap analysis, risk management, Article 23 incident response, policies and training — all integrated.
|
|
</p>
|
|
<div class="invite-badge">
|
|
<i class="fa-solid fa-lock"></i>
|
|
Invitation-only access — Request your code to get started
|
|
</div>
|
|
<div class="hero-ctas">
|
|
<a href="#richiedi-accesso" class="btn btn-primary btn-lg">
|
|
<i class="fa-solid fa-envelope"></i> Request access
|
|
</a>
|
|
<a href="/login.html" class="btn btn-ghost btn-lg">
|
|
<i class="fa-solid fa-right-to-bracket"></i> I have a code — Sign in
|
|
</a>
|
|
</div>
|
|
<div class="hero-stats">
|
|
<div class="hero-stat">
|
|
<div class="hero-stat-num">18</div>
|
|
<div class="hero-stat-label">Regulated sectors</div>
|
|
</div>
|
|
<div class="hero-stat">
|
|
<div class="hero-stat-num">80</div>
|
|
<div class="hero-stat-label">Gap analysis questions</div>
|
|
</div>
|
|
<div class="hero-stat">
|
|
<div class="hero-stat-num">Art.23</div>
|
|
<div class="hero-stat-label">72h incident response</div>
|
|
</div>
|
|
<div class="hero-stat">
|
|
<div class="hero-stat-num">AI</div>
|
|
<div class="hero-stat-label">Powered by Claude</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="hero-right">
|
|
<div class="hero-visual">
|
|
<div class="hero-visual-bar">
|
|
<div class="dot dot-red"></div>
|
|
<div class="dot dot-yellow"></div>
|
|
<div class="dot dot-green"></div>
|
|
<span class="hero-url">nis2.agile.software/dashboard</span>
|
|
</div>
|
|
<div class="hero-mock">
|
|
<div class="mock-header">
|
|
<span class="mock-title">Article 21 Compliance Score</span>
|
|
<span class="mock-score">73%</span>
|
|
</div>
|
|
<div class="mock-gauge"><div class="mock-gauge-fill"></div></div>
|
|
<div class="mock-grid">
|
|
<div class="mock-card">
|
|
<div class="mock-card-label">Active risks</div>
|
|
<div class="mock-card-value"><span class="status-dot status-warn"></span>3 HIGH</div>
|
|
</div>
|
|
<div class="mock-card">
|
|
<div class="mock-card-label">Open incidents</div>
|
|
<div class="mock-card-value"><span class="status-dot status-err"></span>1 Art.23</div>
|
|
</div>
|
|
<div class="mock-card">
|
|
<div class="mock-card-label">Approved policies</div>
|
|
<div class="mock-card-value"><span class="status-dot status-ok"></span>8/12</div>
|
|
</div>
|
|
<div class="mock-card">
|
|
<div class="mock-card-label">Training</div>
|
|
<div class="mock-card-value"><span class="status-dot status-ok"></span>85%</div>
|
|
</div>
|
|
</div>
|
|
<div class="mock-incident">
|
|
<div class="mock-incident-icon"><i class="fa-solid fa-triangle-exclamation"></i></div>
|
|
<div>
|
|
<div class="mock-incident-text">Ransomware detected — ACN notification required</div>
|
|
<div class="mock-incident-time">72h deadline: 14h remaining · Article 23 NIS2</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- THE PROBLEM -->
|
|
<section id="problema">
|
|
<div class="container">
|
|
<div class="section-header">
|
|
<div class="section-eyebrow"><i class="fa-solid fa-circle-exclamation"></i> The regulatory challenge</div>
|
|
<h2 class="section-title">The NIS2 obligation is already <span class="gradient">in force</span></h2>
|
|
<p class="section-desc">Legislative Decree 138/2024 has been operative since 16 October 2024. Organisations in regulated sectors must have started ACN registration and alignment with Article 21 measures.</p>
|
|
</div>
|
|
<div class="problema-grid">
|
|
<div class="problema-card highlight">
|
|
<div class="problema-icon icon-red"><i class="fa-solid fa-gavel"></i></div>
|
|
<h3>Fines up to €10M</h3>
|
|
<p>Essential entities: up to <strong style="color:var(--text-white)">€10M or 2%</strong> of annual global turnover. Important entities: up to <strong style="color:var(--text-white)">€7M or 1.4%</strong>. ACN has already launched the first audits.</p>
|
|
<span class="tag-badge tag-red">Article 34 NIS2</span>
|
|
</div>
|
|
<div class="problema-card">
|
|
<div class="problema-icon icon-orange"><i class="fa-solid fa-building"></i></div>
|
|
<h3>18 Regulated sectors</h3>
|
|
<p>11 highly critical sectors (energy, transport, banking, digital infrastructure...) + 7 critical sectors (waste management, chemicals, food...). Over 10,000 Italian companies affected.</p>
|
|
<span class="tag-badge tag-orange">Legislative Decree 138/2024</span>
|
|
</div>
|
|
<div class="problema-card">
|
|
<div class="problema-icon icon-cyan"><i class="fa-solid fa-clock"></i></div>
|
|
<h3>Strict deadlines</h3>
|
|
<p>Significant incident notification: early warning within <strong style="color:var(--text-white)">24h</strong>, formal notification within <strong style="color:var(--text-white)">72h</strong>, final report within <strong style="color:var(--text-white)">30 days</strong>. No possibility of derogation.</p>
|
|
<span class="tag-badge tag-cyan">Article 23 NIS2</span>
|
|
</div>
|
|
</div>
|
|
<div class="norma-strip">
|
|
<i class="fa-solid fa-circle-info"></i>
|
|
<span>The NIS2 Agile platform is aligned with <strong>Legislative Decree 138/2024</strong> (Italian transposition of Directive (EU) 2022/2555), <strong>ACN</strong> guidelines and the risk-based approach of <strong>ISO/IEC 27001</strong>.</span>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- WHO IT IS FOR -->
|
|
<section id="target">
|
|
<div class="container">
|
|
<div class="section-header">
|
|
<div class="section-eyebrow"><i class="fa-solid fa-users"></i> Who it is for</div>
|
|
<h2 class="section-title">Two audiences, <span class="gradient">one single platform</span></h2>
|
|
<p class="section-desc">NIS2 Agile serves both the company managing its own compliance and the consultant overseeing a client portfolio.</p>
|
|
</div>
|
|
<div class="target-grid">
|
|
<div class="target-card card-blue">
|
|
<div class="target-card-icon tc-blue"><i class="fa-solid fa-building-shield"></i></div>
|
|
<h3>SME / Enterprise company</h3>
|
|
<p class="subtitle">Essential and important sectors — Legislative Decree 138/2024</p>
|
|
<ul class="target-list">
|
|
<li><i class="fa-solid fa-check"></i> Assesses the compliance level with AI-guided gap analysis</li>
|
|
<li><i class="fa-solid fa-check"></i> Manages risks and Article 21 security measures in a single register</li>
|
|
<li><i class="fa-solid fa-check"></i> Notifies incidents within Article 23 deadlines without errors</li>
|
|
<li><i class="fa-solid fa-check"></i> Generates tailored security policies with AI in minutes</li>
|
|
<li><i class="fa-solid fa-check"></i> Monitors the supply chain and staff training</li>
|
|
<li><i class="fa-solid fa-check"></i> Maintains an immutable audit trail for ACN inspections</li>
|
|
</ul>
|
|
</div>
|
|
<div class="target-card card-cyan">
|
|
<div class="target-card-icon tc-cyan"><i class="fa-solid fa-user-tie"></i></div>
|
|
<h3>Consultant / CISO-as-a-Service</h3>
|
|
<p class="subtitle">MSSP · Cybersecurity consultants · External CISO</p>
|
|
<ul class="target-list">
|
|
<li><i class="fa-solid fa-check"></i> Manages a client portfolio from a single control panel</li>
|
|
<li><i class="fa-solid fa-check"></i> Each client has its own dedicated and isolated dashboard</li>
|
|
<li><i class="fa-solid fa-check"></i> Activates client licences via B2B invite tokens</li>
|
|
<li><i class="fa-solid fa-check"></i> Monitors compliance score, risks and incidents across all clients</li>
|
|
<li><i class="fa-solid fa-check"></i> Produces tailored executive reports for each company</li>
|
|
<li><i class="fa-solid fa-check"></i> API access and webhooks for integration with their own SIEM systems</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="target-infobar">
|
|
<i class="fa-solid fa-circle-info"></i>
|
|
<span>The consultant activates the client licence via an invite token — the client signs in directly to their dedicated dashboard with full visibility on their own compliance.</span>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- THE SOLUTION -->
|
|
<section id="soluzione">
|
|
<div class="container">
|
|
<div class="section-header">
|
|
<div class="section-eyebrow"><i class="fa-solid fa-puzzle-piece"></i> The modules</div>
|
|
<h2 class="section-title">Everything you need for <span class="gradient">NIS2 compliance</span></h2>
|
|
<p class="section-desc">Eight integrated modules cover the entire perimeter of Article 21, with built-in AI (Claude) for analysis, recommendations and document generation.</p>
|
|
</div>
|
|
<div class="features-grid">
|
|
<div class="feature-card">
|
|
<div class="feature-icon icon-cyan"><i class="fa-solid fa-clipboard-list"></i></div>
|
|
<h3>AI Gap Analysis</h3>
|
|
<p>An 80-question survey across the 10 areas of Article 21. AI analyses responses and produces prioritised recommendations to close the gaps.</p>
|
|
</div>
|
|
<div class="feature-card">
|
|
<div class="feature-icon icon-orange"><i class="fa-solid fa-triangle-exclamation"></i></div>
|
|
<h3>Risk Management</h3>
|
|
<p>Risk register with 5×5 ISO 27005 matrix, treatment plans, monitoring and contextual AI suggestions tailored to the company's sector.</p>
|
|
</div>
|
|
<div class="feature-card">
|
|
<div class="feature-icon icon-red"><i class="fa-solid fa-bell"></i></div>
|
|
<h3>Article 23 Incident Response</h3>
|
|
<p>End-to-end workflow: 24h early warning, 72h notification, 30-day final report. Automated timeline, calculated deadlines, integrated CSIRT emails.</p>
|
|
</div>
|
|
<div class="feature-card">
|
|
<div class="feature-icon icon-blue"><i class="fa-solid fa-file-shield"></i></div>
|
|
<h3>Policy Management</h3>
|
|
<p>AI generation of tailored security policies, approval workflows, versioning and scheduled reviews with automatic reminders.</p>
|
|
</div>
|
|
<div class="feature-card">
|
|
<div class="feature-icon icon-purple"><i class="fa-solid fa-link"></i></div>
|
|
<h3>Supply Chain</h3>
|
|
<p>Critical supplier register, security assessment, risk scoring, monitoring of contractual requirements and NIS2 clauses in contracts.</p>
|
|
</div>
|
|
<div class="feature-card">
|
|
<div class="feature-icon icon-green"><i class="fa-solid fa-graduation-cap"></i></div>
|
|
<h3>Article 20 Training</h3>
|
|
<p>Mandatory courses by role, automatic assignments, completion tracking and documented training compliance for audits.</p>
|
|
</div>
|
|
<div class="feature-card">
|
|
<div class="feature-icon icon-cyan"><i class="fa-solid fa-server"></i></div>
|
|
<h3>Assets & Dependencies</h3>
|
|
<p>Critical asset inventory with dependency map, classification by NIS2 impact and integration with risk assessment.</p>
|
|
</div>
|
|
<div class="feature-card">
|
|
<div class="feature-icon icon-orange"><i class="fa-solid fa-magnifying-glass-chart"></i></div>
|
|
<h3>Audit & Reporting</h3>
|
|
<p>ISO/IEC 27001 controls, evidence, immutable audit trail (SHA-256 hash chain), executive HTML reports and CSV export for supervisory bodies.</p>
|
|
</div>
|
|
<div class="feature-card">
|
|
<div class="feature-icon icon-blue"><i class="fa-solid fa-whistle"></i></div>
|
|
<h3>Article 32 Whistleblowing</h3>
|
|
<p>Anonymous or signed channel for reporting security anomalies. CISO team assignment, open/investigating/closed states, full history.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- 231 INTEGRATION BANNER -->
|
|
<section id="lg231-banner">
|
|
<div class="container">
|
|
<div class="lg231-card">
|
|
<div class="lg231-icon"><i class="fa-solid fa-scale-balanced"></i></div>
|
|
<div class="lg231-content">
|
|
<h3>NIS2 entity? You are very likely also subject to Legislative Decree 231/2001</h3>
|
|
<p>Companies in essential and important sectors almost always also adopt the Organisational Model under Decree 231. NIS2 Agile and 231 Agile integrate natively: NIS2 compliance data (risks, incidents, controls, score) automatically feeds the evidence base for the 231 Supervisory Board (OdV), eliminating duplicated work.</p>
|
|
<div class="lg231-points">
|
|
<div class="lg231-point"><i class="fa-solid fa-check"></i> NIS2 risks → MOG 231 evidence</div>
|
|
<div class="lg231-point"><i class="fa-solid fa-check"></i> Shared audit trail</div>
|
|
<div class="lg231-point"><i class="fa-solid fa-check"></i> The OdV gains direct visibility on cyber controls</div>
|
|
<div class="lg231-point"><i class="fa-solid fa-check"></i> A single Agile platform for both compliance regimes</div>
|
|
</div>
|
|
</div>
|
|
<div style="flex-shrink:0;align-self:center;">
|
|
<a href="https://lg231.agile.software/" target="_blank" class="btn btn-orange">
|
|
<i class="fa-solid fa-arrow-up-right-from-square"></i> Discover 231 Agile
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- HOW IT WORKS -->
|
|
<section id="come-funziona">
|
|
<div class="container">
|
|
<div class="section-header">
|
|
<div class="section-eyebrow"><i class="fa-solid fa-map"></i> How it works</div>
|
|
<h2 class="section-title">Operational in <span class="gradient">minutes</span></h2>
|
|
<p class="section-desc">From onboarding to the first compliance report, NIS2 Agile guides the user step by step.</p>
|
|
</div>
|
|
<div class="steps-wrap">
|
|
<div class="step">
|
|
<div class="step-num"><i class="fa-solid fa-user-plus"></i></div>
|
|
<h4>Sign up</h4>
|
|
<p>Create your account in 2 minutes. Choose your role (company or consultant) and configure your organisation.</p>
|
|
</div>
|
|
<div class="step">
|
|
<div class="step-num"><i class="fa-solid fa-building"></i></div>
|
|
<h4>Classify the company</h4>
|
|
<p>Enter the VAT number and NIS2 Agile automatically detects sector, size and classification (essential / important).</p>
|
|
</div>
|
|
<div class="step">
|
|
<div class="step-num"><i class="fa-solid fa-clipboard-check"></i></div>
|
|
<h4>AI Gap Analysis</h4>
|
|
<p>Complete the 80-question survey. AI analyses the answers and produces your prioritised remediation plan.</p>
|
|
</div>
|
|
<div class="step">
|
|
<div class="step-num"><i class="fa-solid fa-chart-line"></i></div>
|
|
<h4>Monitor and maintain</h4>
|
|
<p>Real-time dashboard, manage risks, incidents, policies and training with automatic alerts and deadlines.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- REQUEST ACCESS FORM -->
|
|
<section id="richiedi-accesso">
|
|
<div class="container">
|
|
<div class="section-header">
|
|
<div class="section-eyebrow"><i class="fa-solid fa-envelope"></i> Request access</div>
|
|
<h2 class="section-title">Get your <span class="gradient">invitation code</span></h2>
|
|
<p class="section-desc">The platform is access-controlled. Fill in the form and we will send you the invitation code within 24 hours.</p>
|
|
</div>
|
|
<div class="form-box">
|
|
<div class="form-error-msg" id="formError"></div>
|
|
<form id="inviteForm">
|
|
<div class="form-grid">
|
|
<div class="form-group">
|
|
<label>Full name <span>*</span></label>
|
|
<input type="text" name="nome" placeholder="John Smith" required>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Business email <span>*</span></label>
|
|
<input type="email" name="email" placeholder="john@company.com" required>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Company / Firm <span>*</span></label>
|
|
<input type="text" name="azienda" placeholder="Company or firm name" required>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Phone</label>
|
|
<input type="tel" name="telefono" placeholder="+39 02 123456">
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Type of use <span>*</span></label>
|
|
<select name="tipo" required>
|
|
<option value="">Select...</option>
|
|
<option value="Azienda soggetta NIS2">Company subject to NIS2</option>
|
|
<option value="Consulente / CISO esterno">Consultant / external CISO</option>
|
|
<option value="MSSP / Managed Security Provider">MSSP / Managed Security Provider</option>
|
|
<option value="IT Manager / Responsabile sicurezza">IT Manager / Head of Security</option>
|
|
<option value="DPO / Legale / Compliance">DPO / Legal / Compliance</option>
|
|
<option value="Direzione / CEO / CTO">Management / CEO / CTO</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>Number of employees</label>
|
|
<select name="n_dipendenti">
|
|
<option value="">Select...</option>
|
|
<option value="<50"><50</option>
|
|
<option value="50-249">50–249</option>
|
|
<option value="250-999">250–999</option>
|
|
<option value="1000+">1000+</option>
|
|
<option value="Studio multi-cliente">Multi-client firm</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group full">
|
|
<label>What are you interested in? <span>*</span></label>
|
|
<select name="interesse" required>
|
|
<option value="">Select...</option>
|
|
<option value="Informazioni generali">General product information</option>
|
|
<option value="Demo guidata">Guided demo with a consultant</option>
|
|
<option value="Accesso immediato">Immediate access to the platform</option>
|
|
<option value="Integrazione B2B">B2B / API integration with my system</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group full">
|
|
<label>Message (optional)</label>
|
|
<textarea name="messaggio" placeholder="Briefly describe your need or your NIS2 sector..."></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="form-group full" style="margin-top:4px">
|
|
<label style="display:flex;gap:8px;align-items:flex-start;cursor:pointer;font-weight:400;font-size:13px;color:var(--text-light)">
|
|
<input type="checkbox" name="consent" id="ahubConsent" required style="margin-top:4px;flex-shrink:0;accent-color:var(--cyan)">
|
|
<span>I consent to the processing of my personal data pursuant to GDPR (art. 13). Data will be used exclusively to respond to my request. <a href="https://agile.software/privacy" target="_blank" style="color:var(--cyan)">Privacy policy</a> <span style="color:var(--cyan)">*</span></span>
|
|
</label>
|
|
</div>
|
|
<!-- Honeypot anti-bot -->
|
|
<div style="position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden" aria-hidden="true">
|
|
<label>Leave empty</label>
|
|
<input type="text" name="website_url" tabindex="-1" autocomplete="off">
|
|
</div>
|
|
<button type="submit" class="btn btn-primary form-submit" id="submitBtn">
|
|
<i class="fa-solid fa-paper-plane"></i> Send request
|
|
</button>
|
|
<p class="form-note">
|
|
<i class="fa-solid fa-lock" style="color:var(--cyan);margin-right:4px;font-size:11px;"></i>
|
|
Reply within 24 business hours · Powered by AgileHub
|
|
</p>
|
|
</form>
|
|
<div class="form-success" id="formSuccess">
|
|
<i class="fa-solid fa-circle-check"></i>
|
|
<h3>Request sent!</h3>
|
|
<p>We will contact you within 24 hours at the email provided with your personalised access code.<br><br>
|
|
<strong style="color:var(--text-white);">Already received a code?</strong><br>
|
|
<a href="/register.html" style="color:var(--cyan);text-decoration:none;">Register now with your invitation code →</a></p>
|
|
</div>
|
|
</div>
|
|
<p style="text-align:center;font-size:13px;color:var(--text-muted);margin-top:24px;">
|
|
Already have an account? <a href="/login.html" style="color:var(--cyan);text-decoration:none;">Sign in to the dashboard →</a>
|
|
</p>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- FINAL CTA -->
|
|
<section id="cta-finale">
|
|
<div class="container">
|
|
<div class="cta-box">
|
|
<h2>Your NIS2 compliance<br><span style="background: var(--brand-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;">starts with a code</span></h2>
|
|
<p>Request access today. No credit card required. Operational within 5 minutes of receiving the code.</p>
|
|
<div class="cta-actions">
|
|
<a href="#richiedi-accesso" class="btn btn-primary btn-lg">
|
|
<i class="fa-solid fa-envelope"></i> Request your invitation code
|
|
</a>
|
|
<a href="/login.html" class="btn btn-ghost btn-lg">
|
|
<i class="fa-solid fa-right-to-bracket"></i> Sign in
|
|
</a>
|
|
<a href="https://evix.agile.software" target="_blank" rel="noopener" class="btn btn-ghost btn-lg" style="border-color:rgba(227,30,36,0.45);color:#E31E24">
|
|
<i class="fa-solid fa-layer-group"></i> Discover the full EViX Suite
|
|
</a>
|
|
</div>
|
|
<p class="cta-note">Are you a consultant or MSSP? The request form lets you activate access for your entire client portfolio.</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- FOOTER -->
|
|
<footer>
|
|
<div class="footer-inner">
|
|
<div class="footer-brand">
|
|
<div class="nav-icon" style="width:32px;height:32px;font-size:14px;"><i class="fa-solid fa-shield-halved"></i></div>
|
|
<span class="footer-brand-name">NIS2 <span>Agile</span></span>
|
|
<span style="color:var(--text-muted);font-size:12px;margin-left:8px;">by Agile Technology SRL</span>
|
|
</div>
|
|
<div class="footer-links">
|
|
<a href="#richiedi-accesso">Request access</a>
|
|
<a href="/login.html">Sign in</a>
|
|
<a href="https://evix.agile.software" target="_blank" rel="noopener" style="color:#E31E24;font-weight:600">EViX Suite ↗</a>
|
|
<a href="https://lg231.agile.software/" target="_blank" rel="noopener">231 Agile</a>
|
|
<a href="https://qsa.agile.software/" target="_blank" rel="noopener">Agile QSA</a>
|
|
<a href="https://trpg.agile.software/" target="_blank" rel="noopener">TRPG Agile</a>
|
|
<a href="https://sustainai.agile.software/" target="_blank" rel="noopener">SustainAI</a>
|
|
<a href="https://platform.agile.software/" target="_blank" rel="noopener" style="color:#A78BFA;font-weight:600">Built on Agile Platform ↗</a>
|
|
<a href="https://agile.software/" target="_blank" rel="noopener">Agile Technology</a>
|
|
<a href="mailto:info@agile.software">info@agile.software</a>
|
|
</div>
|
|
<div class="footer-copy">
|
|
© 2026 Agile Technology SRL — Directive (EU) 2022/2555 · Legislative Decree 138/2024
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
<script>
|
|
/* AgileHub Lead Pipeline — NIS2 Agile (tenant agile-technology) */
|
|
const AHUB_PK = '02fd04c434fb5e1a83d11ee001f88e2677e8660f';
|
|
const AHUB_ENDPOINT = 'https://agilehub.agile.software/api/public/applets/' + AHUB_PK + '/submit';
|
|
|
|
/* Provenance tracking */
|
|
let __scrollMax = 0;
|
|
window.addEventListener('scroll', () => {
|
|
const h = document.documentElement;
|
|
const pct = Math.round((h.scrollTop || window.scrollY) / (h.scrollHeight - h.clientHeight) * 100);
|
|
if (pct > __scrollMax) __scrollMax = Math.min(pct, 100);
|
|
}, { passive: true });
|
|
const __pageLoadedAt = Date.now();
|
|
|
|
function ahubMetadata() {
|
|
const u = new URLSearchParams(location.search);
|
|
const md = {
|
|
utm_source: u.get('utm_source') || null,
|
|
utm_medium: u.get('utm_medium') || null,
|
|
utm_campaign: u.get('utm_campaign') || null,
|
|
utm_content: u.get('utm_content') || null,
|
|
utm_term: u.get('utm_term') || null,
|
|
referrer: document.referrer || null,
|
|
page_title: document.title,
|
|
page_url: location.href,
|
|
scroll_depth_pct: __scrollMax,
|
|
time_on_page_sec: Math.round((Date.now() - __pageLoadedAt) / 1000),
|
|
viewport: window.innerWidth + 'x' + window.innerHeight,
|
|
language: navigator.language,
|
|
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
|
|
};
|
|
return md;
|
|
}
|
|
|
|
document.getElementById('inviteForm').addEventListener('submit', async function(e) {
|
|
e.preventDefault();
|
|
const btn = document.getElementById('submitBtn');
|
|
const errEl = document.getElementById('formError');
|
|
const successEl = document.getElementById('formSuccess');
|
|
const form = e.target;
|
|
|
|
/* Honeypot anti-bot — silent reject */
|
|
if (form.website_url && form.website_url.value) {
|
|
form.style.display = 'none';
|
|
successEl.style.display = 'block';
|
|
return;
|
|
}
|
|
|
|
if (!form.consent.checked) {
|
|
errEl.textContent = 'You must accept the data processing consent to submit the request.';
|
|
errEl.style.display = 'block';
|
|
return;
|
|
}
|
|
|
|
errEl.style.display = 'none';
|
|
btn.disabled = true;
|
|
btn.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> Sending...';
|
|
|
|
const payload = {
|
|
name: form.nome.value.trim(),
|
|
email: form.email.value.trim(),
|
|
phone: form.telefono.value.trim(),
|
|
company: form.azienda.value.trim(),
|
|
tipo: form.tipo.value,
|
|
consent: true,
|
|
fields: {
|
|
n_dipendenti: form.n_dipendenti.value,
|
|
interesse: form.interesse.value,
|
|
messaggio: form.messaggio.value.trim()
|
|
},
|
|
metadata: ahubMetadata()
|
|
};
|
|
|
|
try {
|
|
const res = await fetch(AHUB_ENDPOINT, {
|
|
method: 'POST',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
body: JSON.stringify(payload)
|
|
});
|
|
const json = await res.json();
|
|
|
|
if (res.ok && json.success !== false) {
|
|
form.style.display = 'none';
|
|
successEl.style.display = 'block';
|
|
} else {
|
|
const code = json.error && json.error.code ? ' (' + json.error.code + ')' : '';
|
|
errEl.textContent = (json.error && json.error.message) || ('Submission error' + code + '. Write to us at info@agile.software.');
|
|
errEl.style.display = 'block';
|
|
btn.disabled = false;
|
|
btn.innerHTML = '<i class="fa-solid fa-paper-plane"></i> Send request';
|
|
}
|
|
} catch {
|
|
errEl.textContent = 'Network error. Please retry or write to us at info@agile.software.';
|
|
errEl.style.display = 'block';
|
|
btn.disabled = false;
|
|
btn.innerHTML = '<i class="fa-solid fa-paper-plane"></i> Send request';
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<!-- Mobile conversion layer — sticky CTA + trust ribbon -->
|
|
<script src="mobile-conversion.js?v=20260519a"
|
|
data-primary-text="Request access"
|
|
data-primary-action="anchor"
|
|
data-primary-href="#richiedi-accesso"
|
|
data-primary-icon="→"
|
|
data-accent="#EF4444"
|
|
data-accent2="#DC2626"
|
|
data-trust-items='["Legislative Decree 138/2024","AI gap analysis","Article 23 incident response","Multi-tenant SaaS"]'
|
|
data-trust-after="section#hero"
|
|
data-trust-theme="dark"
|
|
data-scroll-trigger="400"
|
|
defer></script>
|
|
</body>
|
|
</html>
|