MineGuard — Plataforma de Seguridad Minera con IA

/* ── RESET & ROOT ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
–bg: #080c12;
–surface: #0f1520;
–surf2: #141d2c;
–surf3: #1a2537;
–border: #1e2d42;
–border2: #243349;
–accent: #f5a623;
–accent2: #e05c2a;
–accent-glow: rgba(245,166,35,0.15);
–green: #2ecc71;
–green-dim: rgba(46,204,113,0.1);
–red: #e74c3c;
–blue: #3498db;
–purple: #9b59b6;
–text: #e8edf5;
–text-soft: #a0b4cc;
–muted: #4a6880;
–fd: ‘Bebas Neue’, sans-serif;
–fb: ‘DM Sans’, sans-serif;
–fm: ‘JetBrains Mono’, monospace;
}

html { scroll-behavior: smooth; }
body {
background: var(–bg);
color: var(–text);
font-family: var(–fb);
line-height: 1.6;
overflow-x: hidden;
}

/* ── GRID TEXTURE ── */
body::before {
content: »;
position: fixed;
inset: 0;
background-image:
linear-gradient(rgba(245,166,35,0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(245,166,35,0.03) 1px, transparent 1px);
background-size: 60px 60px;
pointer-events: none;
z-index: 0;
}

/* ── NAVIGATION ── */
.navbar {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 1000;
padding: 1rem 2rem;
display: flex;
align-items: center;
justify-content: space-between;
background: rgba(8,12,18,0.85);
backdrop-filter: blur(16px);
border-bottom: 1px solid var(–border);
}
.nav-logo {
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;
}
.nav-logo-icon {
width: 38px;
height: 38px;
background: linear-gradient(135deg, var(–accent), var(–accent2));
border-radius: 9px;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
box-shadow: 0 4px 16px rgba(245,166,35,0.3);
}
.nav-logo-text {
font-family: var(–fd);
font-size: 1.6rem;
letter-spacing: 3px;
color: var(–text);
}
.nav-logo-text span { color: var(–accent); }
.nav-cta {
background: linear-gradient(135deg, var(–accent), var(–accent2));
color: #000;
font-weight: 700;
font-size: 0.82rem;
padding: 0.55rem 1.4rem;
border-radius: 6px;
text-decoration: none;
letter-spacing: 0.5px;
transition: all 0.2s;
box-shadow: 0 4px 16px rgba(245,166,35,0.25);
}
.nav-cta:hover {
transform: translateY(-1px);
box-shadow: 0 6px 24px rgba(245,166,35,0.4);
}

/* ── HERO ── */
.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 8rem 2rem 5rem;
overflow: hidden;
z-index: 1;
}
.hero-glow {
position: absolute;
top: 20%;
left: 50%;
transform: translateX(-50%);
width: 800px;
height: 600px;
background: radial-gradient(ellipse, rgba(245,166,35,0.08) 0%, transparent 65%);
pointer-events: none;
}
.hero-glow-2 {
position: absolute;
bottom: 0;
left: 10%;
width: 400px;
height: 400px;
background: radial-gradient(circle, rgba(52,152,219,0.06) 0%, transparent 70%);
pointer-events: none;
}
.hero-inner {
text-align: center;
max-width: 900px;
position: relative;
z-index: 2;
}
.hero-chip {
display: inline-flex;
align-items: center;
gap: 8px;
font-family: var(–fm);
font-size: 0.7rem;
letter-spacing: 2px;
text-transform: uppercase;
color: var(–accent);
background: rgba(245,166,35,0.08);
border: 1px solid rgba(245,166,35,0.3);
padding: 6px 16px;
border-radius: 20px;
margin-bottom: 2rem;
animation: fadeUp 0.6s ease both;
}
.hero-chip::before {
content: »;
width: 6px; height: 6px;
background: var(–green);
border-radius: 50%;
animation: pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(0.8)} }
.hero-title {
font-family: var(–fd);
font-size: clamp(3.5rem, 8vw, 6.5rem);
letter-spacing: 2px;
line-height: 0.92;
margin-bottom: 1.5rem;
animation: fadeUp 0.6s 0.1s ease both;
}
.hero-title .line-accent { color: var(–accent); }
.hero-title .line-outline {
-webkit-text-stroke: 2px var(–accent);
color: transparent;
}
.hero-subtitle {
font-size: 1.15rem;
color: var(–text-soft);
line-height: 1.7;
max-width: 640px;
margin: 0 auto 2.5rem;
animation: fadeUp 0.6s 0.2s ease both;
}
.hero-actions {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
animation: fadeUp 0.6s 0.3s ease both;
}
.btn-primary {
background: linear-gradient(135deg, var(–accent), var(–accent2));
color: #000;
font-weight: 700;
font-size: 0.95rem;
padding: 0.85rem 2rem;
border-radius: 8px;
text-decoration: none;
border: none;
cursor: pointer;
transition: all 0.25s;
box-shadow: 0 8px 30px rgba(245,166,35,0.3);
display: inline-flex;
align-items: center;
gap: 8px;
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 12px 40px rgba(245,166,35,0.45);
}
.btn-secondary {
background: transparent;
color: var(–text);
font-size: 0.95rem;
padding: 0.85rem 2rem;
border-radius: 8px;
text-decoration: none;
border: 1px solid var(–border2);
cursor: pointer;
transition: all 0.25s;
display: inline-flex;
align-items: center;
gap: 8px;
}
.btn-secondary:hover {
border-color: var(–accent);
color: var(–accent);
}
.hero-stats {
display: flex;
gap: 3rem;
justify-content: center;
margin-top: 4rem;
padding-top: 3rem;
border-top: 1px solid var(–border);
animation: fadeUp 0.6s 0.4s ease both;
flex-wrap: wrap;
}
.hero-stat {}
.hero-stat-val {
font-family: var(–fd);
font-size: 2.6rem;
line-height: 1;
color: var(–accent);
}
.hero-stat-lbl {
font-size: 0.75rem;
color: var(–muted);
text-transform: uppercase;
letter-spacing: 1px;
margin-top: 4px;
}
@keyframes fadeUp {
from { opacity: 0; transform: translateY(24px); }
to { opacity: 1; transform: translateY(0); }
}

/* ── SECTION BASE ── */
.section {
position: relative;
padding: 6rem 2rem;
z-index: 1;
}
.section-inner {
max-width: 1200px;
margin: 0 auto;
}
.section-label {
display: inline-flex;
align-items: center;
gap: 6px;
font-family: var(–fm);
font-size: 0.68rem;
letter-spacing: 2.5px;
text-transform: uppercase;
color: var(–accent);
margin-bottom: 1rem;
}
.section-title {
font-family: var(–fd);
font-size: clamp(2.2rem, 4vw, 3.4rem);
letter-spacing: 1.5px;
line-height: 1.05;
margin-bottom: 1rem;
}
.section-subtitle {
font-size: 1.05rem;
color: var(–text-soft);
max-width: 560px;
line-height: 1.7;
margin-bottom: 3.5rem;
}

/* ── SERVICES SECTION ── */
.services-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
}
@media (max-width: 900px) { .services-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px) { .services-grid { grid-template-columns: 1fr; } }

.service-card {
background: var(–surface);
border: 1px solid var(–border);
border-radius: 16px;
padding: 2rem;
position: relative;
overflow: hidden;
transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
cursor: default;
}
.service-card::before {
content: »;
position: absolute;
top: 0; left: 0; right: 0;
height: 3px;
border-radius: 16px 16px 0 0;
}
.service-card:nth-child(1)::before { background: linear-gradient(90deg, var(–blue), var(–purple)); }
.service-card:nth-child(2)::before { background: linear-gradient(90deg, var(–purple), var(–accent)); }
.service-card:nth-child(3)::before { background: linear-gradient(90deg, var(–accent), var(–accent2)); }
.service-card:nth-child(4)::before { background: linear-gradient(90deg, var(–red), var(–accent2)); }
.service-card:nth-child(5)::before { background: linear-gradient(90deg, var(–green), var(–blue)); }
.service-card:nth-child(6)::before { background: linear-gradient(90deg, var(–accent2), var(–purple)); }

.service-card::after {
content: »;
position: absolute;
inset: 0;
background: radial-gradient(circle at top left, rgba(245,166,35,0.04) 0%, transparent 60%);
opacity: 0;
transition: opacity 0.3s;
}
.service-card:hover {
transform: translateY(-6px);
border-color: var(–border2);
box-shadow: 0 20px 60px rgba(0,0,0,0.4);
}
.service-card:hover::after { opacity: 1; }

.service-num {
font-family: var(–fm);
font-size: 0.65rem;
color: var(–muted);
letter-spacing: 1px;
margin-bottom: 1rem;
}
.service-icon {
font-size: 2.2rem;
margin-bottom: 1rem;
display: block;
}
.service-title {
font-family: var(–fd);
font-size: 1.3rem;
letter-spacing: 1px;
margin-bottom: 0.7rem;
line-height: 1.1;
}
.service-desc {
font-size: 0.88rem;
color: var(–text-soft);
line-height: 1.65;
}
.service-tag {
display: inline-flex;
align-items: center;
gap: 5px;
font-family: var(–fm);
font-size: 0.6rem;
color: var(–accent);
background: rgba(245,166,35,0.08);
border: 1px solid rgba(245,166,35,0.2);
padding: 3px 10px;
border-radius: 10px;
margin-top: 1rem;
}

/* ── WHY SECTION ── */
.why-section {
background: linear-gradient(180deg, var(–bg) 0%, var(–surface) 50%, var(–bg) 100%);
border-top: 1px solid var(–border);
border-bottom: 1px solid var(–border);
}
.why-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 5rem;
align-items: center;
}
@media (max-width: 760px) { .why-grid { grid-template-columns: 1fr; gap: 3rem; } }
.why-list { display: flex; flex-direction: column; gap: 1.2rem; }
.why-item {
display: flex;
align-items: flex-start;
gap: 1rem;
padding: 1.2rem;
background: var(–surf2);
border: 1px solid var(–border);
border-radius: 12px;
transition: border-color 0.3s;
}
.why-item:hover { border-color: var(–border2); }
.why-icon {
width: 40px; height: 40px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.1rem;
flex-shrink: 0;
}
.wi-green { background: rgba(46,204,113,0.12); }
.wi-amber { background: rgba(245,166,35,0.12); }
.wi-blue { background: rgba(52,152,219,0.12); }
.wi-purple { background: rgba(155,89,182,0.12); }
.why-text-title {
font-weight: 700;
font-size: 0.9rem;
margin-bottom: 0.2rem;
}
.why-text-desc {
font-size: 0.82rem;
color: var(–text-soft);
line-height: 1.55;
}

/* MOCK DASHBOARD VISUAL */
.dash-preview {
background: var(–surface);
border: 1px solid var(–border);
border-radius: 16px;
overflow: hidden;
box-shadow: 0 32px 80px rgba(0,0,0,0.6);
position: relative;
}
.dash-preview::before {
content: »;
position: absolute;
inset: -1px;
border-radius: 17px;
background: linear-gradient(135deg, rgba(245,166,35,0.2) 0%, transparent 40%, rgba(52,152,219,0.1) 100%);
z-index: -1;
}
.dp-topbar {
background: #0d1117;
padding: 0.7rem 1.2rem;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid var(–border);
}
.dp-logo { font-family: var(–fd); font-size: 1rem; letter-spacing: 2px; }
.dp-logo span { color: var(–accent); }
.dp-live {
font-family: var(–fm);
font-size: 0.58rem;
color: var(–green);
display: flex; align-items: center; gap: 5px;
}
.dp-live::before {
content: »;
width: 5px; height: 5px;
background: var(–green);
border-radius: 50%;
animation: pulse 2s infinite;
}
.dp-kpis {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0.5rem;
padding: 0.8rem;
}
.dp-kpi {
background: var(–surf2);
border-radius: 8px;
padding: 0.7rem;
text-align: center;
border-left: 3px solid transparent;
}
.dp-kpi.k-g { border-left-color: var(–green); }
.dp-kpi.k-r { border-left-color: var(–red); }
.dp-kpi.k-b { border-left-color: var(–blue); }
.dp-kpi.k-o { border-left-color: var(–accent); }
.dp-kpi-val { font-family: var(–fd); font-size: 1.7rem; line-height: 1; }
.k-g .dp-kpi-val { color: var(–green); }
.k-r .dp-kpi-val { color: var(–red); }
.k-b .dp-kpi-val { color: var(–blue); }
.k-o .dp-kpi-val { color: var(–accent); }
.dp-kpi-lbl { font-size: 0.52rem; color: var(–muted); text-transform: uppercase; letter-spacing: 1px; margin-top: 3px; }
.dp-body {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 0.5rem;
padding: 0 0.8rem 0.8rem;
}
.dp-chart {
background: var(–surf2);
border-radius: 8px;
padding: 0.8rem;
}
.dp-chart-title { font-size: 0.62rem; color: var(–text); font-weight: 700; margin-bottom: 0.6rem; }
.dp-bars { display: flex; align-items: flex-end; gap: 4px; height: 55px; }
.dp-bar { flex: 1; border-radius: 2px 2px 0 0; }
.dp-ia {
background: linear-gradient(135deg, rgba(155,89,182,0.15), rgba(52,152,219,0.08));
border: 1px solid rgba(155,89,182,0.25);
border-radius: 8px;
padding: 0.8rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
}
.dp-ia-chip {
background: linear-gradient(90deg, var(–purple), var(–blue));
color: #fff;
font-size: 0.52rem;
font-weight: 700;
padding: 2px 8px;
border-radius: 8px;
letter-spacing: 1px;
margin-bottom: 0.4rem;
}
.dp-ia-val { font-family: var(–fd); font-size: 1.8rem; color: var(–accent); }
.dp-ia-lbl { font-size: 0.57rem; color: var(–muted); margin-top: 2px; }
.dp-ia-alert { font-size: 0.56rem; color: var(–accent); margin-top: 0.3rem; }

/* ── PLANES CTA ── */
.planes-section {}
.planes-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
margin-bottom: 3rem;
}
@media (max-width: 860px) { .planes-cards { grid-template-columns: 1fr; max-width: 420px; margin-left: auto; margin-right: auto; } }
.plan-card {
background: var(–surface);
border: 1px solid var(–border);
border-radius: 16px;
padding: 2rem;
text-align: center;
position: relative;
transition: all 0.35s;
overflow: hidden;
}
.plan-card::before {
content: »;
position: absolute;
top: 0; left: 0; right: 0;
height: 3px;
}
.plan-card:nth-child(1)::before { background: linear-gradient(90deg, var(–blue), var(–purple)); }
.plan-card:nth-child(2)::before { background: linear-gradient(90deg, var(–accent), var(–accent2)); }
.plan-card:nth-child(3)::before { background: linear-gradient(90deg, var(–purple), var(–blue)); }
.plan-card.featured {
border-color: rgba(245,166,35,0.4);
background: linear-gradient(160deg, rgba(245,166,35,0.05) 0%, var(–surface) 60%);
transform: scale(1.03);
}
.plan-card:hover { transform: translateY(-6px); box-shadow: 0 20px 60px rgba(0,0,0,0.4); }
.plan-card.featured:hover { transform: scale(1.03) translateY(-6px); }
.plan-badge {
position: absolute;
top: -12px; left: 50%;
transform: translateX(-50%);
background: linear-gradient(90deg, var(–accent), var(–accent2));
color: #000;
font-size: 0.6rem;
font-weight: 700;
padding: 3px 14px;
border-radius: 10px;
letter-spacing: 0.5px;
text-transform: uppercase;
white-space: nowrap;
}
.plan-icon { font-size: 2.5rem; margin-bottom: 0.8rem; display: block; }
.plan-name {
font-family: var(–fd);
font-size: 1.5rem;
letter-spacing: 2px;
margin-bottom: 0.5rem;
}
.plan-card.featured .plan-name { color: var(–accent); }
.plan-desc {
font-size: 0.83rem;
color: var(–text-soft);
line-height: 1.6;
margin-bottom: 1.5rem;
min-height: 60px;
}
.plan-features {
list-style: none;
text-align: left;
display: flex;
flex-direction: column;
gap: 0.6rem;
margin-bottom: 1.8rem;
padding: 1.2rem;
background: var(–surf2);
border-radius: 10px;
}
.plan-features li {
display: flex;
align-items: center;
gap: 8px;
font-size: 0.83rem;
color: var(–text-soft);
}
.plan-features li::before { content: ‘✓’; color: var(–green); font-weight: 700; flex-shrink: 0; }
.plan-cta-btn {
display: block;
width: 100%;
text-align: center;
padding: 0.8rem;
border-radius: 8px;
font-weight: 700;
font-size: 0.88rem;
text-decoration: none;
transition: all 0.25s;
border: none;
cursor: pointer;
}
.pcta-primary {
background: linear-gradient(135deg, var(–accent), var(–accent2));
color: #000;
box-shadow: 0 6px 24px rgba(245,166,35,0.3);
}
.pcta-primary:hover { box-shadow: 0 8px 32px rgba(245,166,35,0.45); transform: translateY(-1px); }
.pcta-secondary {
background: transparent;
color: var(–text);
border: 1px solid var(–border2);
}
.pcta-secondary:hover { border-color: var(–accent); color: var(–accent); }

/* big CTA box */
.planes-cta-box {
background: linear-gradient(135deg, rgba(245,166,35,0.08) 0%, rgba(224,92,42,0.05) 100%);
border: 1px solid rgba(245,166,35,0.25);
border-radius: 20px;
padding: 3rem 2rem;
text-align: center;
position: relative;
overflow: hidden;
}
.planes-cta-box::before {
content: »;
position: absolute;
top: -60px; right: -60px;
width: 250px; height: 250px;
background: radial-gradient(circle, rgba(245,166,35,0.08) 0%, transparent 70%);
pointer-events: none;
}
.pcb-title {
font-family: var(–fd);
font-size: clamp(1.8rem, 3vw, 2.6rem);
letter-spacing: 2px;
margin-bottom: 0.8rem;
line-height: 1.05;
}
.pcb-title span { color: var(–accent); }
.pcb-sub {
font-size: 1rem;
color: var(–text-soft);
line-height: 1.7;
max-width: 500px;
margin: 0 auto 2rem;
}
.pcb-actions {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
}
.pcb-note {
margin-top: 1.5rem;
font-size: 0.8rem;
color: var(–muted);
display: flex;
align-items: center;
gap: 1.5rem;
justify-content: center;
flex-wrap: wrap;
}
.pcb-note span { display: flex; align-items: center; gap: 5px; }
.pcb-note .dot { width: 5px; height: 5px; background: var(–green); border-radius: 50%; }

/* ── CTA SECTION ── */
.cta-section {
position: relative;
overflow: hidden;
background: linear-gradient(160deg, rgba(245,166,35,0.06) 0%, var(–bg) 50%);
border-top: 1px solid var(–border);
}
.cta-glow {
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
width: 700px; height: 500px;
background: radial-gradient(ellipse, rgba(245,166,35,0.08) 0%, transparent 65%);
pointer-events: none;
}
.cta-inner {
position: relative;
z-index: 2;
text-align: center;
max-width: 700px;
margin: 0 auto;
}
.cta-title {
font-family: var(–fd);
font-size: clamp(2.5rem, 5vw, 4.5rem);
letter-spacing: 2px;
line-height: 0.95;
margin-bottom: 1.5rem;
}
.cta-title span { color: var(–accent); }
.cta-desc {
font-size: 1.05rem;
color: var(–text-soft);
line-height: 1.7;
margin-bottom: 2.5rem;
}
.cta-badges {
display: flex;
gap: 1.5rem;
justify-content: center;
flex-wrap: wrap;
margin-top: 2rem;
}
.cta-badge {
display: flex;
align-items: center;
gap: 6px;
font-size: 0.82rem;
color: var(–text-soft);
}
.cta-badge .dot { width: 6px; height: 6px; background: var(–green); border-radius: 50%; }

/* ── CONTACT / FOOTER ── */
.footer {
background: var(–surface);
border-top: 1px solid var(–border);
padding: 3rem 2rem;
}
.footer-inner {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3rem;
align-items: center;
}
@media (max-width: 640px) { .footer-inner { grid-template-columns: 1fr; } }
.footer-brand {}
.footer-logo {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 1rem;
}
.footer-logo-icon {
width: 36px; height: 36px;
background: linear-gradient(135deg, var(–accent), var(–accent2));
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
}
.footer-logo-text { font-family: var(–fd); font-size: 1.5rem; letter-spacing: 3px; }
.footer-logo-text span { color: var(–accent); }
.footer-tagline { font-size: 0.85rem; color: var(–muted); line-height: 1.6; max-width: 300px; }
.footer-contact {}
.footer-contact-title {
font-family: var(–fd);
font-size: 1rem;
letter-spacing: 2px;
color: var(–text-soft);
margin-bottom: 1rem;
}
.contact-item {
display: flex;
align-items: center;
gap: 10px;
font-size: 0.88rem;
color: var(–text-soft);
margin-bottom: 0.7rem;
text-decoration: none;
transition: color 0.2s;
}
.contact-item:hover { color: var(–accent); }
.contact-item-icon {
width: 32px; height: 32px;
background: var(–surf2);
border: 1px solid var(–border);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.95rem;
flex-shrink: 0;
}
.footer-bottom {
max-width: 1200px;
margin: 2rem auto 0;
padding-top: 2rem;
border-top: 1px solid var(–border);
display: flex;
align-items: center;
justify-content: space-between;
font-size: 0.78rem;
color: var(–muted);
flex-wrap: wrap;
gap: 1rem;
}
.footer-location {
display: flex;
align-items: center;
gap: 6px;
}

/* ── SCROLL REVEAL ── */
.reveal {
opacity: 0;
transform: translateY(32px);
transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
opacity: 1;
transform: translateY(0);
}
.reveal-d1 { transition-delay: 0.1s; }
.reveal-d2 { transition-delay: 0.2s; }
.reveal-d3 { transition-delay: 0.3s; }
.reveal-d4 { transition-delay: 0.4s; }
.reveal-d5 { transition-delay: 0.5s; }
.reveal-d6 { transition-delay: 0.6s; }

/* ── DIVIDER ── */
.section-divider {
height: 1px;
background: linear-gradient(90deg, transparent, var(–border), transparent);
margin: 0 2rem;
}

/* ── RESPONSIVE FIXES ── */
@media (max-width: 640px) {
.navbar { padding: 0.8rem 1.2rem; }
.hero { padding: 6rem 1.5rem 4rem; }
.section { padding: 4rem 1.5rem; }
.hero-stats { gap: 2rem; }
.dp-kpis { grid-template-columns: repeat(2, 1fr); }
.dp-body { grid-template-columns: 1fr; }
}

/* ── ANIMATED BARS (CSS only) ── */
@keyframes growBar { from { height: 0; } to { height: var(–h); } }

⚡ Plataforma activa · MVP operativo

EN MINERÍA,
PREVENIR
ES SALVAR VIDAS.

Inteligencia artificial para la seguridad de tu faena. Sin hardware, sin instalación — funciona con los datos que ya tienes.

560+
Faenas en Chile

37K
Accidentes anuales

30d
Anticipación IA

0
Hardware requerido

Todo lo que necesitas para
prevenir, analizar y proteger

Una plataforma completa con inteligencia artificial integrada. Sin hardware, sin instalación — funciona con los datos que ya tienes.

01 / ANÁLISIS

📊

Dashboard inteligente

Sube tu Excel de incidentes y obtén KPIs en tiempo real, gráficos por área, turno y severidad. Toda la información de tu faena, visualizada en segundos.

⚡ Tiempo real

02 / PREDICCIÓN

🧠

Análisis predictivo con IA

Claude AI analiza tus datos históricos y predice con 30 días de anticipación cuáles son las áreas y turnos con mayor riesgo de incidente grave.

🔮 30 días de anticipación

03 / REPORTES

📄

Informes técnicos automáticos

Genera reportes profesionales con análisis causal, indicadores de frecuencia y gravedad, y recomendaciones priorizadas. Listos para gerencia y SERNAGEOMIN.

📋 Listo para SERNAGEOMIN

04 / ALERTAS

🔔

Alertas automáticas

Notificación inmediata al equipo de seguridad cuando ocurre un incidente grave. Configura destinatarios, niveles de alerta y horario silencioso.

🚨 Notificación inmediata

05 / INVESTIGACIÓN

🔍

Investigación de accidentes

Árbol de causas interactivo con 4 niveles. La IA identifica la causa raíz, genera medidas correctivas priorizadas y estima el riesgo residual.

🌳 Árbol de causas 4 niveles

06 / RIESGO

🎯

Matriz de riesgo ISO 45001

Matriz 5×5 interactiva con vistas por área, tipo y turno. Recomendaciones preventivas automáticas según el nivel de riesgo detectado.

✅ Cumplimiento ISO 45001

La tecnología que tu faena ya necesitaba

Diseñado para faenas medianas con recursos reales, no para grandes corporaciones con presupuestos infinitos.

Sin hardware ni instalación
Funciona 100% en la nube. Solo necesitas un navegador y tu Excel de incidentes.

Resultados en minutos, no semanas
Sube tu archivo y obtén KPIs, gráficos y análisis predictivo al instante.

🧠
IA generativa y predictiva
Impulsado por Claude AI, el mismo modelo de IA usado por las empresas más innovadoras del mundo.

🛡
Cumplimiento normativo incluido
Informes listos para SERNAGEOMIN y estándares ISO 45001 sin trabajo extra.

Sistema activo

94%
Seguridad

3
Alertas

128
Trabajadores

12
Informes IA

Incidentes por área · Últimos 12 meses

CLAUDE AI
87%
Predicción de riesgo
⚠ Sector B · Turno Noche

Un plan para cada operación

Desde una sola faena hasta operaciones multi-sitio. Conversemos y te armamos la solución exacta que necesitas.

🏗

Starter

Ideal para faenas pequeñas que quieren dar el primer paso hacia la seguridad inteligente.

  • Dashboard + carga de Excel
  • Informes IA automáticos
  • Alertas por email
  • Exportación a PDF

Consultar este plan →

🏔

Enterprise

Solución completa para operaciones grandes con múltiples faenas, API propia y capacitación.

  • Todo lo de Pro
  • API personalizada
  • Capacitación del equipo
  • Account manager dedicado

Hablar con ventas →

¿No sabes qué plan
necesita tu faena?

Cuéntanos el tamaño de tu operación y te recomendamos la solución exacta. Sin compromiso, sin letra chica.

Primer mes gratis
Sin tarjeta de crédito
Sin instalación
Respuesta en menos de 24h

¿Listo para transformar
la seguridad de tu faena?

Primer mes completamente gratis · Sin tarjeta de crédito · Sin instalación

Sin hardware
Activación inmediata
Soporte en español

/* ── SCROLL REVEAL ── */
const revealEls = document.querySelectorAll(‘.reveal’);
const observer = new IntersectionObserver((entries) => {
entries.forEach(e => {
if (e.isIntersecting) {
e.target.classList.add(‘visible’);
}
});
}, { threshold: 0.12, rootMargin: ‘0px 0px -40px 0px’ });
revealEls.forEach(el => observer.observe(el));

/* ── DASHBOARD BARS ── */
function buildDashBars() {
const container = document.getElementById(‘dashBars’);
if (!container) return;
const data = [8, 6, 9, 5, 7, 4, 6, 5, 4, 6, 3, 3];
const colors = [‘#F5A623′,’#F5A623′,’#E74C3C’,’#F5A623′,’#F5A623′,’#F5A623′,’#F5A623′,’#F5A623′,’#2ECC71′,’#F5A623′,’#2ECC71′,’#2ECC71′];
const max = Math.max(…data);
container.innerHTML = »;
data.forEach((v, i) => {
const bar = document.createElement(‘div’);
const pct = Math.round((v / max) * 55);
bar.style.cssText = `flex:1;border-radius:2px 2px 0 0;background:${colors[i]};height:0;transition:height 1.2s ease ${i * 0.07}s`;
container.appendChild(bar);
setTimeout(() => { bar.style.height = pct + ‘px’; }, 400);
});
}

/* Trigger bars when dashboard comes into view */
const dashEl = document.querySelector(‘.dash-preview’);
if (dashEl) {
const dashObs = new IntersectionObserver((entries) => {
if (entries[0].isIntersecting) {
buildDashBars();
dashObs.disconnect();
}
}, { threshold: 0.3 });
dashObs.observe(dashEl);
}

/* ── SMOOTH NAV ── */
document.querySelectorAll(‘a[href^=»#»]’).forEach(link => {
link.addEventListener(‘click’, e => {
const target = document.querySelector(link.getAttribute(‘href’));
if (target) {
e.preventDefault();
target.scrollIntoView({ behavior: ‘smooth’, block: ‘start’ });
}
});
});