:root {
    --ltams-blue: #0A4C9A;
    --ltams-green: #2E7D32;
    --ltams-light: #F8F9FA;
    --ltams-dark: #222;
}

body { font-family: 'Segoe UI', sans-serif; overflow-x: hidden; background-color: var(--ltams-light); }

/* --- HEADER & NAVBAR --- */
.top-header { background: var(--ltams-green); color: white; padding: 8px 0; font-size: 0.9rem;}
.social-top { display: flex; justify-content: end; gap: 15px; }
.social-top a { color: white; transition: .3s; font-size: 1.1rem;}
.social-top a:hover { color: #FFD54F; }

.logo-ltams {
    width: 85px;
    height: 85px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid var(--ltams-green);
    background-color: white;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    padding: 2px;
}

.brand-text { margin-left: 12px; }
.brand-text h2 { margin: 0; padding-bottom: 2px; color: var(--ltams-blue); font-weight: 800; font-size: 1.8rem; line-height: 1;}
.brand-text span { color: var(--ltams-green); font-size: 0.85rem; font-weight: 600; line-height: 1.1; display: block;}

.navbar { min-height: 95px; padding: 10px 0;}
.nav-link { font-weight: 600; margin: 0 5px; color: #222 !important; font-size: 0.95rem; white-space: nowrap; }
.nav-link:hover, .nav-link.active { color: var(--ltams-green) !important; }
.nav-link.active::after { content: ''; display: block; width: 100%; height: 3px; background: var(--ltams-green); margin-top: 4px; border-radius: 2px;}

.btn-student { background: var(--ltams-green); color: white; padding: 10px 20px; border-radius: 8px; text-decoration: none; transition: all .3s; font-weight: 600; display: inline-flex; align-items: center; border: 1px solid var(--ltams-green);}
.btn-student:hover { background: transparent; color: var(--ltams-green); }
.dropdown-menu .dropdown-item { font-size: 0.95rem; transition: background 0.3s; }
.dropdown-menu .dropdown-item:hover { background-color: #f8f9fa; }

/* --- HERO SECTION --- */
.hero-section { min-height: 650px; }
.hero-left { position: relative; overflow: hidden; }
.hero-image { width: 100%; height: 100%; min-height: 650px; object-fit: cover; animation: kenburns 20s infinite alternate; }
@keyframes kenburns { from { transform: scale(1); } to { transform: scale(1.12); } }
.hero-overlay { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px; background: linear-gradient(to top, rgba(0,0,0,.9), transparent); }
.hero-values { display: flex; justify-content: space-around; flex-wrap: wrap; gap: 10px;}
.value-item { display: flex; align-items: center; gap: 12px; color: white; }
.value-item i { color: #9be15d; font-size: 26px; }
.value-item span { display: block; font-size: 13px; color: #ddd;}
.hero-right { display: flex; flex-direction: column; justify-content: center; padding: 60px 80px; background-color: white;}
.welcome-text { color: var(--ltams-green); font-size: 18px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;}
.hero-right h1 { font-size: 4rem; font-weight: 900; color: var(--ltams-blue); margin-top: 15px; margin-bottom: 25px; line-height: 1.1;}
.hero-right h1 span { display: block; color: var(--ltams-green); }
.hero-right p { font-size: 1.15rem; line-height: 1.8; margin-bottom: 40px; color: #555;}
.hero-buttons { display: flex; flex-wrap: wrap; gap: 15px; }
.btn-discover, .btn-campus, .btn-admission { text-decoration: none; padding: 14px 24px; border-radius: 8px; font-weight: 700; transition: all 0.3s;}
.btn-discover { background: var(--ltams-green); color: white; border: 2px solid var(--ltams-green);}
.btn-discover:hover { background: #236427; color: white;}
.btn-campus { border: 2px solid var(--ltams-blue); color: var(--ltams-blue); }
.btn-campus:hover { background: var(--ltams-blue); color: white;}
.btn-admission { border: 2px solid #ff9800; color: #ff9800; }
.btn-admission:hover { background: #ff9800; color: white;}

/* --- STATS --- */
.stats-section { padding: 40px 0; background: white; box-shadow: 0 4px 20px rgba(0,0,0,.05); position: relative; z-index: 10; margin-top: -20px; border-radius: 15px; margin-left: 20px; margin-right: 20px;}
.stat-card i { font-size: 40px; color: var(--ltams-green); margin-bottom: 15px; }
.stat-card h2 { color: var(--ltams-blue); font-size: 42px; font-weight: 800; margin-bottom: 5px;}
.stat-card p { margin-bottom: 0; font-weight: 600; color: #666;}

/* --- POLES & COMMUNIQUES --- */
.section-title { font-size: 36px; font-weight: 800; color: var(--ltams-blue); margin-bottom: 40px; }
.excellence-section { padding: 80px 0; }
.pole-card { background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,.05); transition: .4s; height: 100%; border: 1px solid #f0f0f0;}
.pole-card:hover { transform: translateY(-10px); box-shadow: 0 10px 25px rgba(0,0,0,.1);}
.pole-card img { width: 100%; height: 200px; object-fit: cover; }
.pole-content { padding: 25px; text-align: center; }
.pole-icon { width: 65px; height: 65px; background: white; border-radius: 50%; margin: auto; display: flex; align-items: center; justify-content: center; margin-top: -55px; position: relative; box-shadow: 0 4px 10px rgba(0,0,0,.1);}
.pole-icon i { color: var(--ltams-green); font-size: 28px; }
.pole-content h4 { font-weight: 700; color: var(--ltams-blue); margin-top: 15px; margin-bottom: 10px; font-size: 1.2rem;}
.pole-content p { color: #666; font-size: 0.95rem; margin-bottom: 0;}

.communiques-box { background: white; padding: 30px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,.05); height: 100%; border: 1px solid #f0f0f0;}
.communique-item { display: flex; gap: 20px; align-items: center; border-bottom: 1px solid #f5f5f5; padding-bottom: 15px;}
.communique-item:last-child { border-bottom: none; padding-bottom: 0;}
.communique-item img { width: 100px; height: 80px; object-fit: cover; border-radius: 8px; }
.communique-item h6 { color: var(--ltams-blue); font-size: 1rem; line-height: 1.4;}

/* --- SERVICES NUMERIQUES --- */
.digital-services { padding: 0 0 60px 0; }
.service-item { text-align: center; padding: 25px 15px; transition: transform 0.3s, box-shadow 0.3s; border: 1px solid #f0f0f0;}
.service-item:hover { transform: translateY(-8px); box-shadow: 0 10px 20px rgba(0,0,0,.08) !important; }
.service-item i { font-size: 40px; color: var(--ltams-green); margin-bottom: 15px; }
.service-item h6 { font-weight: 700; color: var(--ltams-blue); margin-bottom: 0; font-size: 1.1rem;}

/* --- NEWSLETTER --- */
.newsletter-section { padding: 0 0 60px 0; }
.newsletter-box { background: linear-gradient(135deg, var(--ltams-blue), #1c6fd6); padding: 50px; border-radius: 20px; color: white; position: relative; overflow: hidden;}
.newsletter-box h2 { font-weight: 800; margin-bottom: 10px;}
.newsletter-form { display: flex; gap: 10px; }
.newsletter-form input { padding: 15px 20px; border-radius: 8px; font-size: 1rem;}
.newsletter-form button { padding: 15px 30px; border-radius: 8px; font-size: 1rem; transition: background 0.3s;}
.newsletter-form button:hover { background: #236427; }

/* --- FOOTER & COPYRIGHT --- */
.footer-ltams { background: #082d5f; color: white; padding: 80px 0 40px; border-top: 5px solid var(--ltams-green);}
.footer-logo { margin-bottom: 15px; }
.footer-ltams h4 { font-weight: 800; font-size: 1.3rem;}
.footer-ltams p { color: #b3c5e0; font-size: 0.95rem; line-height: 1.7;}
.footer-ltams h5 { margin-bottom: 25px; font-weight: 700; position: relative; padding-bottom: 10px;}
.footer-ltams h5::after { content: ''; position: absolute; left: 0; bottom: 0; width: 40px; height: 3px; background: var(--ltams-green); }
.footer-ltams ul { list-style: none; padding: 0; }
.footer-ltams li { margin-bottom: 12px; }
.footer-ltams a { color: #b3c5e0; text-decoration: none; transition: 0.3s; }
.footer-ltams a:hover { color: white; padding-left: 5px;}
.footer-social { display: flex; gap: 12px; }
.footer-social a { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.1); font-size: 1.1rem; padding: 0;}
.footer-social a:hover { background: var(--ltams-green); transform: translateY(-3px);}
.copyright { background: #041630; color: #8fa8d1; padding: 20px 0; font-size: 0.9rem; }
.copyright a:hover { color: var(--ltams-green) !important; }

/* --- RESPONSIVE MOBILE --- */
@media(max-width: 1200px) {
    .hero-right h1 { font-size: 3rem; }
}
@media(max-width: 992px) {
    .hero-right { padding: 50px 30px; }
    .hero-right h1 { font-size: 2.5rem; }
    .newsletter-form { flex-direction: column;}
    .newsletter-form button { width: 100%;}
    .stats-section { margin-left: 0; margin-right: 0; border-radius: 0;}
}
@media(max-width: 768px) {
    .hero-left, .hero-image { min-height: 400px; height: 400px; }
    .hero-right h1 { font-size: 2.2rem; }
    .hero-values { flex-direction: column; align-items: flex-start; gap: 15px; }
}