body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;overflow-x:hidden}.navbar{background:rgba(255,255,255,.98)!important;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:1rem 0}.navbar-brand{font-size:1.8rem;font-weight:700;color:var(--primary-color)!important;letter-spacing:1px}.nav-link{color:#333!important;font-weight:500;margin:0 .5rem;transition:color .3s}.nav-link:hover{color:var(--primary-color)!important}.hero-section{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;padding:120px 0 80px;position:relative;overflow:hidden}.hero-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.1) 2px,transparent 2px);background-size:100px 100px;opacity:.3}.hero-content{position:relative;z-index:1}.hero-title{font-size:2.8rem;font-weight:800;margin-bottom:1.5rem;animation:fadeInUp .8s ease-out;will-change:transform,opacity}@media (prefers-reduced-motion:reduce){.hero-title{animation:none}}.hero-subtitle{font-size:1.3rem;margin-bottom:2rem;opacity:.95;animation:fadeInUp 1s ease-out;will-change:transform,opacity}@media (prefers-reduced-motion:reduce){.hero-subtitle{animation:none}}@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,30px,0)}to{opacity:1;transform:translate3d(0,0,0)}}.btn.btn-hero{background:#ffc107!important;color:#333!important;font-weight:600;padding:15px 40px;border-radius:50px;border:none;font-size:1.1rem;transition:transform .3s ease-out,box-shadow .3s ease-out,background-color .3s ease-out;box-shadow:0 4px 15px rgba(0,0,0,.2);will-change:transform}.btn.btn-hero:hover{transform:translate3d(0,-3px,0);box-shadow:0 6px 20px rgba(0,0,0,.3);background:#ffb300!important}.section{padding:80px 0}.section-title{font-size:2.5rem;font-weight:700;color:var(--dark-color);margin-bottom:1rem;text-align:center}.section-subtitle{color:#555;font-size:1.1rem;text-align:center;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto}.service-card{background:#fff;border-radius:15px;padding:2.5rem;height:100%;min-height:280px;box-shadow:0 5px 20px rgba(0,0,0,.08);transition:transform .3s ease-out,box-shadow .3s ease-out;border-top:4px solid var(--primary-color);will-change:transform}.service-card:hover{transform:translateY(-10px);box-shadow:0 10px 30px rgba(0,0,0,.15)}.service-icon{font-size:3.5rem;color:var(--primary-color);margin-bottom:1.5rem}.service-title{font-size:1.5rem;font-weight:700;color:var(--dark-color);margin-bottom:1rem}.service-text{color:#6c757d;line-height:1.8}.benefits-section{background:var(--light-bg)}.benefit-item{text-align:center;padding:2rem}.benefit-icon{font-size:3rem;color:var(--secondary-color);margin-bottom:1rem}.benefit-title{font-size:1.3rem;font-weight:600;color:var(--dark-color);margin-bottom:.5rem}.benefit-text{color:#555}.about-content{font-size:1.1rem;line-height:1.9;color:#555}.highlight-box{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;padding:3rem;border-radius:15px;margin-top:2rem}.contact-section{background:var(--dark-color);color:#fff}.contact-card{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border-radius:15px;padding:2rem;margin-bottom:2rem}.contact-icon{font-size:2.5rem;color:var(--accent-color);margin-bottom:1rem}#formMessage .alert{border-radius:10px;border:none}#formMessage .alert-success{background-color:rgba(40,167,69,.2);color:#28a745}#formMessage .alert-danger{background-color:rgba(220,53,69,.2);color:#dc3545}.custom-modal .modal-content{border-radius:15px;border:none}.custom-modal .modal-header{border-bottom:none;padding:2rem 2rem 1rem}.custom-modal .modal-body{padding:1rem 2rem 2rem;text-align:center}.custom-modal .modal-icon{font-size:4rem;margin-bottom:1rem}.custom-modal .modal-icon.success{color:var(--secondary-color)}.custom-modal .modal-icon.error{color:#dc3545}.custom-modal .modal-title{font-size:1.5rem;font-weight:700}.footer{background:#1a1a1a;color:#ccc;padding:3rem 0 1.5rem}.footer-title{color:#fff;font-weight:700;margin-bottom:1rem}.footer-link{color:#ccc;text-decoration:none;transition:color .3s}.footer-link:hover{color:var(--accent-color)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:rgba(26,28,30,.98);color:#fff;padding:1.5rem;box-shadow:0 -2px 10px rgba(0,0,0,.3);z-index:9999;display:none;animation:slideUp .3s ease-out}.cookie-banner.show{display:block}@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;position:relative}.cookie-close{position:absolute;top:10px;right:-60px;background:rgba(255,255,255,.2);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:all .3s;font-weight:bold;z-index:10}.cookie-close:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}.cookie-text{flex:1;min-width:250px}.cookie-text p{margin:0;font-size:.85rem;line-height:1.5}.cookie-text a{color:var(--accent-color);text-decoration:underline}.cookie-buttons{display:flex;gap:1rem;flex-wrap:wrap}.btn-cookie{padding:.6rem 1.5rem;border:none;border-radius:5px;font-weight:600;cursor:pointer;transition:all .3s;font-size:.9rem}.btn-cookie-accept{background:var(--accent-color);color:#333}.btn-cookie-accept:hover{background:#ffb300;transform:translateY(-2px)}.btn-cookie-reject{background:transparent;color:#fff;border:1px solid #fff}.btn-cookie-reject:hover{background:rgba(255,255,255,.1)}@media (max-width:768px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1.1rem}.section-title{font-size:2rem}.cookie-content{flex-direction:column;text-align:center}.cookie-buttons{width:100%;justify-content:center}.btn-cookie{flex:1;min-width:120px}.cookie-close{top:5px;right:-10px}}/* Accessibility improvements - Focus styles */a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px;border-radius:2px}a:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}.btn:focus-visible,.btn-cookie:focus-visible,.cookie-close:focus-visible,.navbar-toggler:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px;box-shadow:0 0 0 3px rgba(255,193,7,.3)}.nav-link:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px;border-radius:4px}.navbar-toggler:focus-visible{outline:3px solid var(--primary-color);outline-offset:2px}.cookie-close:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}.btn-cookie-accept:focus-visible{outline:3px solid #fff;outline-offset:2px}.btn-cookie-reject:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}/* Skip link for keyboard navigation */.skip-link{position:absolute;top:-40px;left:0;background:var(--primary-color);color:#fff;padding:8px 16px;text-decoration:none;z-index:10000;border-radius:0 0 4px 0;font-weight:600}.skip-link:focus{top:0;outline:3px solid var(--accent-color);outline-offset:2px}/* Visually hidden but accessible to screen readers */.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/* Ensure interactive elements are keyboard accessible */button,a[href],input,select,textarea{outline:none}button:not(:disabled),a[href]{cursor:pointer}/* Improve focus visibility for all interactive elements */*:focus{outline:none}*:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}/* Active states for better feedback */button:active,a:active{opacity:.8;transform:scale(.98)}.btn:active{transform:scale(.98)}.btn-cookie:active{transform:scale(.95)}/* Ensure cookie banner is accessible when shown */.cookie-banner.show{display:block}.cookie-banner.show *:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px}/* Improve hover states for better affordance */.nav-link:hover,.nav-link:focus{color:var(--primary-color)!important;text-decoration:underline}.footer-link:hover,.footer-link:focus{color:var(--accent-color);text-decoration:underline}/* Fix para botón hamburguesa en móviles Android/Chrome */@media (max-width:991.98px){.navbar .container{width:100%!important;max-width:100%!important;padding-left:1rem!important;padding-right:1rem!important;display:flex!important;justify-content:space-between!important;align-items:center!important;box-sizing:border-box!important}.navbar-toggler{margin-left:auto!important;margin-right:0!important;padding:.5rem .75rem!important;position:relative!important;right:0!important;flex-shrink:0!important}.navbar-brand{margin-right:auto!important;flex-shrink:0!important;max-width:calc(100% - 60px)!important}}

