
/* Reset & Base Styles */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #0B132B; /* Azul Medianoche Deep */
    color: #F4F5F7;
    line-height: 1.6;
}
a { text-decoration: none; color: inherit; }
ul { list-style: none; }

/* Header & Nav */
.main-header {
    background-color: #1C2541;
    border-bottom: 2px solid #D4AF37; /* Oro Boreal */
    position: sticky;
    top: 0;
    z-index: 1000;
}
.header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 15px 20px;
    display: table;
    width: 100%;
}
.logo {
    display: table-cell;
    vertical-align: middle;
    width: 30%;
}
.logo svg { vertical-align: middle; margin-right: 8px; }
.logo-text { font-size: 22px; font-weight: 700; color: #FFFFFF; }
.logo-sub { color: #D4AF37; }
.main-nav {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
    width: 50%;
}
.nav-link {
    margin-left: 20px;
    font-weight: 600;
    color: #9A8C98;
    transition: color 0.3s;
}
.nav-link:hover, .nav-link.active { color: #D4AF37; }
.header-cta {
    display: table-cell;
    vertical-align: middle;
    text-align: right;
    width: 20%;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 12px 28px;
    font-weight: 700;
    border-radius: 4px;
    transition: all 0.3s;
    cursor: pointer;
    border: none;
}
.btn-small { padding: 8px 16px; font-size: 14px; background-color: #00A86B; color: #FFF; }
.btn-small:hover { background-color: #008F5A; }
.btn-primary { background-color: #D4AF37; color: #0B132B; }
.btn-primary:hover { background-color: #C5A028; transform: translateY(-2px); }
.btn-secondary { background-color: transparent; color: #FFF; border: 2px solid #FFF; margin-left: 15px; }
.btn-secondary:hover { background-color: #FFF; color: #0B132B; }
.btn-submit { background-color: #00A86B; color: white; width: 100%; font-size: 16px; }
.btn-submit:hover { background-color: #008F5A; }

/* Disclaimer Banner */
.ads-disclaimer-banner {
    background-color: #FFF3CD;
    color: #856404;
    border-bottom: 1px solid #FFEBAA;
    padding: 15px 20px;
}
.disclaimer-container {
    max-width: 1200px;
    margin: 0 auto;
    font-size: 13px;
    line-height: 1.5;
}
.disclaimer-container svg { vertical-align: middle; margin-right: 10px; float: left; }

/* Hero Section */
.hero-section {
    padding: 80px 20px;
    background: linear-gradient(135deg, #0B132B 0%, #1C2541 100%);
}
.hero-container {
    max-width: 1200px;
    margin: 0 auto;
    display: table;
    width: 100%;
}
.hero-content {
    display: table-cell;
    width: 55%;
    vertical-align: middle;
    padding-right: 40px;
}
.hero-image-wrapper {
    display: table-cell;
    width: 45%;
    vertical-align: middle;
}
.badge {
    background-color: rgba(0, 168, 107, 0.2);
    color: #00A86B;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    margin-bottom: 20px;
}
.hero-content h1 { font-size: 42px; line-height: 1.2; margin-bottom: 20px; color: #FFF; }
.hero-content p { font-size: 18px; color: #CBD5E1; margin-bottom: 30px; }
.hero-img { border-radius: 8px; border: 3px solid #1C2541; box-shadow: 0 20px 40px rgba(0,0,0,0.5); }

/* Services Section */
.services-section { padding: 80px 20px; background-color: #111A36; }
.section-container { max-width: 1200px; margin: 0 auto; }
.section-header { text-align: center; margin-bottom: 50px; }
.section-header h2 { font-size: 32px; color: #D4AF37; margin-bottom: 15px; }
.section-header p { font-size: 16px; color: #94A3B8; max-width: 700px; margin: 0 auto; }
.services-grid { display: table; width: 100%; table-layout: fixed; border-spacing: 20px 0; }
.service-card { display: table-cell; background-color: #1C2541; padding: 40px 25px; border-radius: 6px; border-top: 4px solid #00A86B; vertical-align: top; }
.service-icon { margin-bottom: 20px; }
.service-card h3 { font-size: 20px; color: #FFF; margin-bottom: 15px; }
.service-card p { font-size: 14px; color: #94A3B8; line-height: 1.6; }

/* Process Section */
.process-section { padding: 80px 20px; background-color: #0B132B; }
.process-steps { display: table; width: 100%; table-layout: fixed; border-spacing: 30px 0; margin-top: 40px; }
.step-item { display: table-cell; background-color: #111A36; padding: 30px; border-radius: 6px; position: relative; vertical-align: top; }
.step-number { font-size: 48px; font-weight: 900; color: rgba(212, 175, 55, 0.15); position: absolute; top: 10px; right: 20px; }
.step-item h4 { font-size: 18px; color: #D4AF37; margin-bottom: 15px; position: relative; z-index: 2; }
.step-item p { font-size: 14px; color: #94A3B8; position: relative; z-index: 2; }

/* Lead Section Form */
.lead-section { padding: 80px 20px; background: linear-gradient(180deg, #111A36 0%, #0B132B 100%); }
.lead-container { max-width: 1200px; margin: 0 auto; display: table; width: 100%; }
.lead-info { display: table-cell; width: 50%; vertical-align: middle; padding-right: 50px; }
.lead-info h2 { font-size: 36px; color: #FFF; margin-bottom: 20px; }
.lead-info p { font-size: 16px; color: #94A3B8; margin-bottom: 30px; }
.trust-element { color: #D4AF37; font-weight: 600; font-size: 14px; }
.trust-element svg { vertical-align: middle; margin-right: 8px; }
.lead-card { display: table-cell; width: 50%; vertical-align: middle; background-color: #1C2541; padding: 40px; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
.form-group { margin-bottom: 20px; position: relative; }
.form-group label { display: block; margin-bottom: 8px; font-size: 14px; color: #CBD5E1; font-weight: 600; }
.form-group input, .form-group select { width: 100%; padding: 12px; background-color: #0B132B; border: 1px solid #475569; color: white; border-radius: 4px; font-size: 15px; }
.form-group input:focus, .form-group select:focus { border-color: #D4AF37; outline: none; }
.error-msg { color: #EF4444; font-size: 12px; display: none; margin-top: 5px; }

/* Footer */
.main-footer { background-color: #070D1F; border-top: 4px solid #1C2541; padding: 60px 20px 20px 20px; color: #94A3B8; }
.footer-top { max-width: 1200px; margin: 0 auto; display: table; width: 100%; margin-bottom: 40px; }
.footer-brand { display: table-cell; width: 40%; padding-right: 40px; vertical-align: top; }
.brand-desc { font-size: 14px; margin-top: 15px; line-height: 1.6; }
.footer-links { display: table-cell; width: 30%; vertical-align: top; }
.footer-links h4 { color: #FFF; font-size: 16px; margin-bottom: 20px; }
.footer-links a { display: block; margin-bottom: 12px; font-size: 14px; transition: color 0.3s; }
.footer-links a:hover { color: #D4AF37; }
.footer-disclaimer-block { max-width: 1200px; margin: 0 auto; border-top: 1px solid #1C2541; border-bottom: 1px solid #1C2541; padding: 25px 0; margin-bottom: 20px; font-size: 12px; text-align: justify; line-height: 1.7; color: #64748B; }
.footer-bottom { max-width: 1200px; margin: 0 auto; text-align: center; font-size: 12px; color: #475569; }
