        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; background-color: #fcfcfc; }

        :root {
            --amarillo: #FFD700;
            --azul-oscuro: #0A2647;
            --azul-medio: #144272;
            --blanco: #ffffff;
            --gris-claro: #f4f4f4;
        }

        /* Header y Nav */
        header {
            background: linear-gradient(135deg, var(--azul-oscuro) 0%, var(--azul-medio) 100%);
            color: var(--blanco);
            padding: 1rem 0;
            position: sticky;
            top: 0;
            z-index: 1000;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        nav { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; padding: 0 2rem; }
        .logo { font-size: 1.8rem; font-weight: bold; color: var(--amarillo); display: flex; align-items: center; gap: 10px; }
        .logo img { height: 40px; }
        .btn-login { background: var(--amarillo); color: var(--azul-oscuro); padding: 0.7rem 1.5rem; border: none; border-radius: 25px; cursor: pointer; font-weight: bold; transition: 0.3s; }

        /* Hero */
        .hero { background: linear-gradient(135deg, var(--azul-oscuro) 0%, var(--azul-medio) 100%); color: var(--blanco); padding: 5rem 2rem; text-align: center; }
        .hero h1 { font-size: 2.8rem; color: var(--amarillo); margin-bottom: 1rem; }
        .hero p { font-size: 1.3rem; margin-bottom: 2rem; opacity: 0.9; }

        /* Botones Globales */
        .btn-action {
            background: var(--amarillo);
            color: var(--azul-oscuro);
            padding: 1rem 1.5rem;
            border-radius: 12px;
            text-decoration: none;
            font-weight: bold;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            transition: 0.3s;
            border: none;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }
        .btn-action:hover { transform: translateY(-3px); box-shadow: 0 6px 12px rgba(0,0,0,0.15); background: #f0c800; }
        .flex-buttons { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; }

        /* Secciones */
        .section-padding { padding: 4rem 2rem; max-width: 1200px; margin: 0 auto; }
        h2 { color: var(--azul-oscuro); text-align: center; margin-bottom: 3rem; font-size: 2rem; }
        
        /* Cards */
        .grid-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; }
        .card { background: white; padding: 2rem; border-radius: 15px; box-shadow: 0 5px 15px rgba(0,0,0,0.05); transition: 0.3s; }
        .card:hover { transform: translateY(-5px); }
        .card i { font-size: 2.5rem; color: var(--azul-medio); margin-bottom: 1rem; }
        .card ul { list-style: none; margin-top: 1rem; }
        .card ul li::before { content: "✓"; color: var(--amarillo); font-weight: bold; margin-right: 8px; }

        /* Ejemplo Representativo e Información Importante */
        .info-box { background: #eef2f7; padding: 2rem; border-radius: 15px; border-left: 5px solid var(--amarillo); margin-bottom: 2rem; }
        .info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; margin-top: 1rem; }
        .info-item span { display: block; font-size: 0.9rem; color: #666; }
        .info-item strong { font-size: 1.2rem; color: var(--azul-oscuro); }

        /* Clientes Satisfechos */
        .testimonial-card { font-style: italic; position: relative; }
        .author { font-style: normal; font-weight: bold; color: var(--azul-medio); display: block; margin-top: 15px; border-top: 1px solid #eee; padding-top: 10px; }

        /* Formulario */
        .form-container { max-width: 700px; margin: 0 auto; background: white; padding: 2.5rem; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
        .form-group { margin-bottom: 1.2rem; }
        .form-group label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: var(--azul-oscuro); }
        .form-group input, .form-group textarea { width: 100%; padding: 0.8rem; border: 2px solid #eee; border-radius: 10px; font-size: 1rem; outline: none; transition: 0.3s; }
        .form-group input:focus { border-color: var(--amarillo); }

        /* Ubicación / Contacto */
        .contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; margin-top: 2rem; }
        .contact-item { text-align: center; padding: 2rem; background: white; border-radius: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
        .contact-item i { font-size: 2rem; color: var(--amarillo); margin-bottom: 1rem; }

        /* Flotantes */
        .fixed-buttons { position: fixed; bottom: 20px; right: 20px; display: flex; flex-direction: column; gap: 10px; z-index: 999; }
        .fixed-btn { width: 55px; height: 55px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; font-size: 1.5rem; box-shadow: 0 4px 10px rgba(0,0,0,0.3); transition: 0.3s; text-decoration: none;}
        .whatsapp-btn { background: #25D366; }
        .call-btn { background: var(--azul-oscuro); }

        /* Footer */
        footer { background: var(--azul-oscuro); color: white; padding: 4rem 2rem 2rem; margin-top: 4rem; }
        .footer-content { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2.5rem; }
        .footer-bottom { text-align: center; border-top: 1px solid rgba(255,255,255,0.1); margin-top: 3rem; padding-top: 2rem; font-size: 0.9rem; }
        
        /* Modal */
        .modal { display: none; position: fixed; z-index: 2000; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); }
        .modal-content { background: white; margin: 10% auto; padding: 2rem; border-radius: 15px; width: 90%; max-width: 400px; position: relative; }
        .close { position: absolute; right: 20px; top: 10px; font-size: 24px; cursor: pointer; }

        @media (max-width: 768px) { .hero h1 { font-size: 2rem; } .flex-buttons { flex-direction: column; } .footer-content { text-align: center; } }