@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.contact-info-section{padding:5rem 0;background:var(--bg-primary)}.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.contact-card{background:var(--bg-tertiary);border-radius:24px;padding:2.5rem;text-align:center;box-shadow:var(--shadow-md);transition:var(--transition)}.contact-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-xl)}.contact-card-icon{width:80px;height:80px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.contact-card-icon i{font-size:2rem;color:#fff}.contact-card h3{margin-bottom:1rem;color:var(--text-primary)}.contact-card p{margin-bottom:1.5rem;color:var(--text-secondary)}.hours-container,.hours-item{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.hours-item{padding:.75rem 1.5rem;background:rgba(212,175,55,.1);border-radius:16px;margin-bottom:.5rem;border-left:3px solid var(--primary-color);width:100%;max-width:250px;transition:var(--transition)}.hours-item:hover{transform:translateY(-3px);background:rgba(212,175,55,.2);box-shadow:var(--shadow-md)}.day,.map-placeholder i{color:var(--primary-color-light)}.day{font-weight:600;margin-bottom:.25rem}.time{color:var(--text-secondary);font-size:.95rem;white-space:nowrap}.map-section{background:var(--bg-secondary);padding:5rem 0}.map-container{position:relative;width:100%;height:450px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg)}.map-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;transition:transform .3s ease}.map-container:hover iframe{transform:scale(1.02)}.map-overlay{position:absolute;bottom:20px;right:20px;z-index:10}.map-overlay .btn{background:var(--primary-color);color:#fff;border:0;padding:.75rem 1.5rem;border-radius:50px;font-weight:600;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 10px rgba(0,0,0,.3);transition:all .3s ease}.map-overlay .btn:hover{transform:translateY(-3px);box-shadow:0 6px 15px rgba(0,0,0,.4)}.map-placeholder{background:var(--bg-tertiary);width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.map-placeholder i{font-size:5rem;margin-bottom:1.5rem}.map-placeholder p{max-width:500px;margin-bottom:2rem}.enrollment-section{background:var(--bg-primary);padding:5rem 0}.enrollment-container{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.enrollment-form h3,.enrollment-steps h3{margin-bottom:2rem;color:var(--primary-color-light)}.step{display:flex;gap:1.5rem;margin-bottom:2rem}.step-number{width:50px;height:50px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;color:#fff;flex-shrink:0}.form-group label,.step-content h4{color:var(--text-primary);margin-bottom:.5rem}.step-content p{color:var(--text-secondary)}.enrollment-form{background:var(--bg-tertiary);padding:2.5rem;border-radius:24px;box-shadow:var(--shadow-lg)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:2px solid var(--border-color);border-radius:12px;font-size:1rem;background:var(--bg-tertiary);color:var(--text-primary);transition:var(--transition)}.form-group select{height:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(212,175,55,.1)}.form-group input.input-error,.form-group select.input-error,.form-group textarea.input-error{border-color:#e74c3c;box-shadow:0 0 0 3px rgba(231,76,60,.15)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.custom-checkbox{position:relative;display:flex;align-items:flex-start;margin-bottom:1.5rem}.custom-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;width:20px;height:20px;top:2px;left:0;z-index:1;margin:0}.custom-checkbox-label{padding-left:35px;cursor:pointer;color:var(--text-secondary);font-weight:400;position:relative;display:inline-block}.custom-checkbox-label:before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;background-color:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:4px}.custom-checkbox input:checked~.custom-checkbox-label:before{background-color:var(--primary-color);border-color:var(--primary-color)}.custom-checkbox-label:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);display:none}.custom-checkbox input:checked~.custom-checkbox-label:after{display:block}.custom-checkbox-label a{color:var(--primary-color-light);text-decoration:none}.custom-checkbox-label a:hover{text-decoration:underline}.custom-checkbox.checkbox-error .custom-checkbox-label:before{border-color:#e74c3c;box-shadow:0 0 0 3px rgba(231,76,60,.2)}.custom-checkbox.checkbox-error .custom-checkbox-label{color:#e74c3c;animation:shake .4s ease-in-out}.general-contact-section{background:var(--bg-primary);padding:5rem 0}.contact-form-container{max-width:800px;margin:0 auto;background:var(--bg-tertiary);padding:3rem;border-radius:24px;box-shadow:var(--shadow-lg)}.faq-section{background:var(--bg-secondary);padding:5rem 0}.faq-container{max-width:800px;margin:0 auto}.faq-item{background:var(--bg-tertiary);border-radius:12px;margin-bottom:1.5rem;overflow:hidden;box-shadow:var(--shadow-md)}.faq-question{padding:1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:var(--transition)}.faq-question h3{font-size:1.1rem;margin-bottom:0;color:var(--text-primary)}.faq-answer,.faq-toggle{color:var(--text-secondary)}.faq-toggle{width:30px;height:30px;background:var(--bg-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.faq-item.active .faq-question{background:var(--primary-color)}.faq-item.active .faq-question h3{color:#fff}.faq-item.active .faq-toggle{background:#fff;color:var(--primary-color);transform:rotate(180deg)}.faq-answer{padding:0 1.5rem 1.5rem;line-height:1.7}@media (max-width:1200px){.contact-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:992px){.enrollment-container{grid-template-columns:1fr;gap:3rem}.enrollment-form{order:-1}}@media (max-width:768px){.contact-cards{grid-template-columns:1fr}.contact-card{padding:2rem}.contact-card-icon{width:70px;height:70px;font-size:1.8rem}.map-container{height:350px}.form-grid{grid-template-columns:1fr}.contact-form-container{padding:2rem}}@media (max-width:480px){.step{flex-direction:column;gap:1rem;text-align:center}.step-number{margin:0 auto}.faq-question h3{font-size:1rem}.map-container{height:300px}.map-overlay{bottom:15px;right:15px}.map-overlay .btn{padding:.6rem 1.2rem;font-size:.9rem}}