.contact-button{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;background:var(--accent);color:var(--accent-contrast-text,var(--text-dark));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px rgba(0,0,0,0.15);transition:all var(--transition-fast);z-index:99;font-weight:var(--font-weight-bold);&:hover{background:var(--accent-hover);transform:scale(1.1);box-shadow:0 6px 16px rgba(0,0,0,0.2)}&:active{transform:scale(0.95)}}.contact-modal{position:fixed;bottom:90px;right:20px;width:420px;max-height:80vh;background:var(--background-white);border:1px solid var(--border-color);border-radius:var(--radius-3xl);box-shadow:0 10px 30px var(--shadow-light);display:none;flex-direction:column;z-index:99;overflow:hidden;animation:slideUp 0.3s ease;&.open{display:flex}}.contact-modal-header{background:var(--accent);color:var(--accent-contrast-text,var(--text-dark));padding:var(--spacing-lg) var(--spacing-xl);display:flex;justify-content:space-between;align-items:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);border-bottom:1px solid var(--border-color)}.contact-modal-close{background:none;border:none;color:var(--accent-contrast-text,var(--text-dark));font-size:28px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast);&:hover{transform:rotate(90deg)}}.contact-modal-body{overflow-y:auto;padding:var(--spacing-xl);flex:1;form{display:grid;gap:var(--spacing-lg)}label{font-weight:var(--font-weight-semibold);color:var(--text-dark);span{color:var(--accent-hover);margin-right:var(--spacing-xs);font-size:var(--font-size-4xl);user-select:none}}input,textarea{width:100%;border:1px solid var(--border-color-input);border-radius:var(--radius-lg);padding:var(--spacing-md);font-size:var(--font-size-base);background:var(--background-light);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);font-family:inherit;&:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--shadow-accent);background:var(--background-white)}&:focus-visible{outline:2px solid var(--accent);outline-offset:2px}}textarea{resize:vertical;min-height:120px}button{justify-self:start;background-color:var(--accent);color:var(--accent-contrast-text,var(--text-dark));border:none;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);&:hover{transform:translateY(-1px);box-shadow:0 8px 16px var(--shadow-accent-hover)}&:focus-visible{outline:2px solid var(--accent);outline-offset:2px}}}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.contact-modal{width:calc(100vw - 40px);max-height:75vh;bottom:80px;left:20px;right:20px}.contact-modal-body{padding:var(--spacing-lg)}}.contact-button{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);border:1px solid var(--accent);box-shadow:0 10px 24px var(--shadow-medium);&:hover{box-shadow:0 14px 28px var(--shadow-dark)}}.contact-modal{background:var(--surface-1);border:1px solid var(--edge-soft);box-shadow:0 20px 40px var(--shadow-medium)}.contact-modal-header{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%)}.contact-modal-body{input,textarea{background:var(--surface-1);border-color:var(--edge-soft)}button{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);border:1px solid var(--accent);&:hover{box-shadow:0 10px 18px var(--accent-glow)}}}