.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal-content{background:var(--white);padding:2.5rem;border-radius:1rem;width:90%;max-width:500px;position:relative;box-shadow:var(--shadow-lg);color:var(--text-main);animation:slideUp .3s ease}.modal-close{position:absolute;top:1rem;right:1.5rem;background:none;font-size:1.5rem;cursor:pointer;color:var(--text-light)}.modal-header{margin-bottom:1.5rem}.modal-header h3{font-size:1.5rem;color:var(--primary)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem}.form-control{width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:.5rem;background-color:var(--bg-light);color:var(--text-main);font-family:inherit}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(59,130,246,.2)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.floating-contact{position:fixed;bottom:2rem;right:2rem;z-index:1500;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:1rem}.main-fab{width:3.5rem;height:3.5rem;border-radius:50%;background-color:#25d366;color:#fff;border:none;font-size:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.main-fab:hover{transform:scale(1.1)}.floating-contact.open .main-fab{background-color:var(--primary);transform:rotate(90deg)}.contact-options{display:flex;flex-direction:column;gap:.8rem;align-items:flex-end;opacity:0;pointer-events:none;transform:translateY(20px);transition:all .3s ease}.floating-contact.open .contact-options{opacity:1;pointer-events:auto;transform:translateY(0)}.contact-btn{display:flex;align-items:center;gap:.8rem;padding:.8rem 1.2rem;background:#fff;border-radius:2rem;text-decoration:none;color:var(--text-main);box-shadow:0 4px 12px rgba(0,0,0,.1);transition:transform .2s;font-weight:500;font-size:.9rem}.contact-btn:hover{transform:translateX(-5px)}.contact-btn.whatsapp{color:#25d366}.contact-btn.mail{color:var(--accent)}.contact-btn .icon{font-size:1.2rem;line-height:1}[data-theme=dark] .contact-btn{background:var(--bg-light);color:var(--white);border:1px solid hsla(0,0%,100%,.1)}