/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
*/:root{--primary-color: #002D62;--secondary-color: #00BFFF;--background-color: #f4f7f6;--surface-color: #ffffff;--text-color: #343a40;--light-text-color: #ffffff;--border-radius: 8px;--shadow: 0 4px 12px rgba(0, 0, 0, .1);--error-color: #d93025}html{scroll-behavior:smooth}body{font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;margin:0;padding:0;background-color:var(--background-color);color:var(--text-color);line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;font-weight:700;color:var(--primary-color)}header{background:var(--primary-color);padding:1rem 2rem;box-shadow:0 2px 4px #0003;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;width:100%;box-sizing:border-box}.header-content h1{margin:0;font-size:1.5rem;color:var(--light-text-color);font-weight:700;margin-bottom:.1rem}.header-content .subtitle{margin:0 0 .35rem;font-size:.8rem;color:#e0e0e0;font-weight:400;letter-spacing:.5px;font-family:Lato,sans-serif}.header-contact,.header-address{margin:.2rem 0 0;font-size:.8rem;color:#e0e0e0;font-weight:400;letter-spacing:.5px;font-family:Lato,sans-serif}.header-contact .fa-phone-alt,.header-address .fa-map-marker-alt{margin-right:.5rem}nav{display:flex;gap:.5rem}nav a{background-color:transparent;border:none;padding:.75rem 1rem;font-size:1rem;font-weight:600;font-family:Poppins,sans-serif;color:var(--light-text-color);cursor:pointer;border-radius:4px;transition:background-color .2s ease-in-out;text-decoration:none}nav a:hover{background-color:#ffffff26}section{padding:4rem 2rem}section[id]{scroll-margin-top:120px}.section-title{text-align:center;font-size:2.5rem;margin-bottom:2rem;font-weight:600}.container{max-width:1200px;margin:0 auto}#inicio{background-image:linear-gradient(#002d62b3,#002d62b3),url(https://images.unsplash.com/photo-1532938911079-1b06ac7ceec7?q=80&w=1932&auto=format&fit=crop);background-size:cover;background-position:center;color:var(--light-text-color);text-align:center;padding:6rem 2rem}#inicio h2{font-size:3rem;font-weight:700;margin-bottom:1rem;color:var(--light-text-color)}#inicio p{font-size:1.25rem;max-width:600px;margin:0 auto 2rem}.cta-button{background-color:var(--secondary-color);color:var(--light-text-color);padding:.8rem 2rem;font-size:1.1rem;font-weight:600;font-family:Poppins,sans-serif;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .3s,transform .2s;text-decoration:none}.cta-button:hover{background-color:#00a8e6;transform:translateY(-2px)}.cta-button:disabled{background-color:#a0a0a0;cursor:not-allowed;transform:none}#servicios{background-color:var(--background-color)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.service-card{background:var(--surface-color);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--shadow);text-align:center;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-5px);box-shadow:0 6px 16px #0000001f}.service-card .icon{font-size:3rem;color:var(--secondary-color);margin-bottom:1rem}.service-card h3{font-size:1.5rem;margin-bottom:.5rem;font-weight:600}#about{background-color:var(--surface-color)}.about-content{display:flex;align-items:center;gap:3rem}.about-image{flex:1;max-width:350px}.about-image img{width:100%;border-radius:50%;box-shadow:var(--shadow)}.about-text{flex:2}.about-text h3{font-weight:600}#contacto{background-color:var(--background-color)}.contact-form{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.contact-form input,.contact-form textarea{width:100%;padding:.8rem;border:1px solid #ccc;border-radius:var(--border-radius);font-size:1rem;font-family:inherit;box-sizing:border-box}.contact-form input.invalid{border-color:var(--error-color)}.contact-form button{align-self:flex-start}.error-message{color:var(--error-color);font-size:.875rem;margin:-.5rem 0 .5rem}.success-message{text-align:center;font-weight:500;color:#155724;background-color:#d4edda;border:1px solid #c3e6cb;padding:1rem;border-radius:var(--border-radius);max-width:600px;margin:0 auto}.appointment-info{max-width:600px;margin:2rem auto 0;padding:1.5rem;background-color:#e9ecef;border-radius:var(--border-radius);border-left:5px solid var(--secondary-color)}.appointment-info h3{margin-top:0;font-size:1.25rem;margin-bottom:1rem;font-weight:600}.appointment-info p{margin-bottom:.5rem;line-height:1.5}.appointment-info p:last-child{margin-bottom:0}.contact-details{max-width:600px;margin:2rem auto 0;padding:1.5rem;background-color:#e9ecef;border-radius:var(--border-radius);text-align:center}.contact-details h3{margin-top:0;font-size:1.25rem;margin-bottom:1rem;font-weight:600}.contact-details p{margin:.5rem 0;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.contact-details a{color:var(--primary-color);text-decoration:none;font-weight:500}.contact-details a:hover{color:var(--secondary-color)}.map-container{max-width:600px;margin:2.5rem auto 0;text-align:center}.map-container h3{font-size:1.25rem;margin-bottom:1rem;font-weight:600}.map-container iframe{width:100%;height:350px;border-radius:var(--border-radius);box-shadow:var(--shadow);border:0}footer{background-color:var(--primary-color);color:var(--light-text-color);padding:1.5rem 2rem}.footer-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-info{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}footer p{margin:0}.visit-counter{font-size:.9rem;color:#e0e0e0}.whatsapp-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--light-text-color);text-decoration:none;font-weight:500;font-family:Poppins,sans-serif;transition:color .2s}.whatsapp-link:hover{color:var(--secondary-color)}.whatsapp-link .fa-whatsapp{font-size:1.2rem}@media(max-width:768px){header{flex-direction:column;text-align:center;padding:1rem}nav{margin-top:1rem}section{padding:3rem 1rem}section[id]{scroll-margin-top:220px}.section-title{font-size:2rem}#inicio h2{font-size:2.5rem}.about-content{flex-direction:column;text-align:center}.footer-container{flex-direction:column;gap:1rem;text-align:center}.footer-info{flex-direction:column;gap:.5rem}}
