@font-face {
    font-family: 'Made Tommy';
    src: url('../assets/made_tommy/MADE%20TOMMY%20Regular_PERSONAL%20USE.otf') format('opentype');
    font-weight: 400;
}
@font-face {
    font-family: 'Made Tommy';
    src: url('../assets/made_tommy/MADE%20TOMMY%20Bold_PERSONAL%20USE.otf') format('opentype');
    font-weight: 700;
}
@font-face {
    font-family: 'Made Tommy';
    src: url('../assets/made_tommy/MADE%20TOMMY%20ExtraBold_PERSONAL%20USE.otf') format('opentype');
    font-weight: 800;
}

:root {
    --accent-color: #00d28f; /* Verde Neón ADEPOL */
    --text-white: #ffffff;
    --bg-dark: #07090f;
    --glass-bg: rgba(13, 13, 13, 0.6);
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Made Tommy', sans-serif; scroll-behavior: smooth; }
body { background: var(--bg-dark); color: var(--text-white); overflow-x: hidden; }

/* Navbar synchronized with index.html */
.navbar {
    position: fixed; top: 0; width: 100%; display: flex; justify-content: space-between; align-items: center;
    padding: 15px 5%; z-index: 1000; background: rgba(0,0,0,0.8); backdrop-filter: blur(10px);
}
.navbar .logo-container img {
    height: 45px;
    transition: transform 0.3s;
}
.navbar .logo-container img:hover { transform: scale(1.05); }
.nav-links { display: flex; gap: 30px; list-style: none; }
.nav-links li a { color: var(--text-white); text-decoration: none; font-weight: 500; transition: 0.3s; font-size: 1.1rem; }
.nav-links li a:hover { color: var(--accent-primary); text-shadow: 0 0 10px var(--accent-primary); }
.nav-contact { border: 1px solid #00d28f; padding: 8px 20px !important; border-radius: 20px; color: #00d28f !important; transition: 0.3s; }
.nav-contact:hover { background: #00d28f; color: #000 !important; box-shadow: 0 0 15px #00d28f; }
.nav-links li a.nav-contact { color: var(--text-white); }
.nav-links li a.nav-contact:hover { color: var(--accent-color); }

/* Video Background */
.scroll-section { position: relative; min-height: 100vh; padding: 80px 5%; display: flex; flex-direction: column; justify-content: center; overflow: hidden; }
.bg-video { position: absolute; top:0; left:0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
/* Modified overlay for greater background visibility */
.overlay { position: absolute; top:0; left:0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: -1; }

.hero-container { position:relative; z-index:2; max-width:1200px; margin:0 auto; width:100%; }
.features-container { position:relative; z-index:2; text-align:center; width:100%; max-width: 1300px; margin: 0 auto; }

/* Glassmorphism Containers */
.glass-card {
    background: var(--glass-bg);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.1); border-radius: 20px; padding: 40px;
    transition: 0.3s;
}
.glass-card:hover { border-color: var(--accent-color); transform: translateY(-10px); box-shadow: 0 10px 30px rgba(0,0,0,0.5), 0 0 20px var(--accent-color) inset; }

/* Typography */
h1 { font-size: 6rem; font-weight: 800; margin-bottom: 20px; text-shadow: 0 0 20px rgba(0,210,143,0.5); }
h2 { font-size: 3.5rem; font-weight: 800; margin-bottom: 40px; }
p { font-size: 1.1rem; color: #ccc; line-height: 1.6; margin-bottom: 20px; }
.neon-glow { color: var(--accent-color); text-shadow: 0 0 15px var(--accent-color); }

/* Grid Layouts */
.grid-cols { display: grid; gap: 30px; width: 100%; margin: 0 auto; }
.advantages-grid { grid-template-columns: repeat(4, 1fr); }


/* SECTION 4: Características Principales (Connected Nodes) */
.features-connected { display: flex; align-items: center; justify-content: center; width: 100%; margin: 40px auto 0; gap: 30px; }
.fc-left, .fc-right { flex: 1; display: flex; flex-direction: column; gap: 30px; }
.fc-center { flex: 1.6; text-align: center; position: relative; } /* Wider center to make monitor larger */
.fc-mockup { width: 100%; max-width: 580px; filter: drop-shadow(0 0 30px rgba(0,210,143,0.3)); z-index: 5; position: relative; pointer-events: none; }

.fc-item { position: relative; background: transparent; padding: 10px 0; }
.fc-item ul { list-style: none; padding: 0; margin: 0; display: inline-block; text-align: left; }
.fc-item ul li { font-size: 1rem; color: #fff; margin-bottom: 5px; position: relative; padding-left: 20px; font-weight: 400; }
.fc-item ul li::before {
    content: "•"; position: absolute; left: 0; color: var(--accent-color); font-size: 1.5rem; line-height: 1; top: -3px; text-shadow: 0 0 10px var(--accent-color);
}

/* Base styles for header alignments */
.fc-left .right-align { text-align: right; padding-right: 40px; }
.fc-right .left-align { text-align: left; padding-left: 40px; }

/* Dynamic Connector Lines attached directly to h4 */
.fc-item h4 {
    font-size: 1.3rem; color: #fff; margin-bottom: 10px; font-weight: 800;
    text-shadow: 0 0 10px rgba(255,255,255,0.5);
    display: block; /* Important for alignment */
    position: relative;
}

/* Left Column Lines (right-aligned, connecting rightwards) */
.fc-left .fc-item h4 { text-align: right; }
.fc-left .fc-item h4::after {
    content: ""; position: absolute;
    top: 50%; right: -170px; /* Extended to match wider center column */
    width: 150px; height: 2px;
    background: var(--accent-color);
    box-shadow: 0 0 10px var(--accent-color);
    z-index: 0;
}
.fc-left .fc-item h4::before {
    /* Dot */
    content: ""; position: absolute;
    top: 50%; right: -176px; /* End of line */
    transform: translateY(-50%);
    width: 14px; height: 14px; border-radius: 50%;
    background: var(--bg-dark); border: 2px solid var(--accent-color);
    box-shadow: 0 0 10px var(--accent-color);
    z-index: 2;
}

/* Right Column Lines (left-aligned, connecting leftwards) */
.fc-right .fc-item h4 { text-align: left; }
.fc-right .fc-item h4::after {
    content: ""; position: absolute;
    top: 50%; left: -170px; /* Extended to match wider center column */
    width: 150px; height: 2px;
    background: var(--accent-color);
    box-shadow: 0 0 10px var(--accent-color);
    z-index: 0;
}
.fc-right .fc-item h4::before {
    /* Dot */
    content: ""; position: absolute;
    top: 50%; left: -176px; /* End of line */
    transform: translateY(-50%);
    width: 14px; height: 14px; border-radius: 50%;
    background: var(--bg-dark); border: 2px solid var(--accent-color);
    box-shadow: 0 0 10px var(--accent-color);
    z-index: 2;
}


/* SECTION 5: Component Pills */
.components-layout {
    display: flex; justify-content: center; align-items: center; gap: 30px; width: 100%; margin: 50px auto 0;
}
.comp-col { display: flex; flex-direction: column; gap: 20px; flex: 1; }
.comp-pill {
    display: flex; align-items: stretch; background: #fff; border-radius: 50px; overflow: hidden;
    box-shadow: 0 10px 20px rgba(0,0,0,0.5); transition: transform 0.3s; min-height: 85px;
}
.comp-pill:hover { transform: scale(1.05); }
.comp-icon {
    background: var(--accent-color); width: 85px; display: flex; align-items: center; justify-content: center;
    border-right: 2px solid rgba(0,0,0,0.1); flex-shrink: 0;
}
.comp-icon i { font-size: 2rem; color: #000; }
.comp-text {
    padding: 10px 25px; display: flex; flex-direction: column; justify-content: center; text-align: left;
}
.comp-text h5 { color: #000; font-size: 1.1rem; font-weight: 800; margin-bottom: 2px; }
.comp-text p { color: #333; font-size: 0.85rem; line-height: 1.2; margin: 0; font-weight: 500; }

/* Animations JS */
.section-reveal { opacity: 0; transform: translateY(40px); transition: all 0.8s ease-out; }
.section-reveal.visible { opacity: 1; transform: translateY(0); }
.stagger-item { opacity: 0; transform: translateY(30px); transition: all 0.6s ease-out; }
.stagger-item.visible { opacity: 1; transform: translateY(0); }

/* Responsive */
@media (max-width: 1100px) {
    .features-connected, .components-layout { flex-direction: column; gap: 40px; }
    .fc-left, .fc-right { align-items: center; text-align: center; }
    .right-align, .left-align { text-align: left; padding: 0 !important; }
    .fc-connector { display: none; }
    .comp-center { display: none; }
    .comp-col { width: 100%; max-width: 600px; margin: 0 auto; }
    .fc-mockup { width: 100% !important; max-width: 380px !important; margin: 20px auto !important; }
}
@media (max-width: 900px) {
    h2 { font-size: 2.5rem !important; }
    h3 { font-size: 1.8rem !important; }
    .nav-links { display:none; }
    .advantages-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    h1 { font-size: 2.5rem !important; }
    h2 { font-size: 2rem !important; }
    h3 { font-size: 1.5rem !important; }
    .scroll-section { padding: 60px 5% !important; min-height: auto; }
    .advantages-grid { grid-template-columns: 1fr !important; }
    .glass-card { padding: 25px !important; }
    footer div { min-width: 100% !important; }
    .fc-mockup { max-width: 250px !important; margin: 20px auto; display: block; }
    .comp-pill { flex-direction: column !important; text-align: center; }
    .comp-icon { width: 100% !important; height: 60px !important; border-right: none !important; border-bottom: 2px solid rgba(0,0,0,0.1); }
    .comp-text { padding: 20px !important; align-items: center; }
}
