/* ===================================================== UTILITIES ===================================================== */ /* --- Back to Top Button --- */ #back-to-top { position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%) translateY(20px); width: 48px; height: 48px; background: linear-gradient(135deg, var(--grad-1), var(--grad-2)); color: white; border-radius: 13px; display: flex; justify-content: center; align-items: center; text-decoration: none; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25); z-index: 998; opacity: 0; visibility: hidden; transition: all 0.3s var(--ease); } #back-to-top.show { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); } #back-to-top:hover { transform: translateX(-50%) translateY(-4px); box-shadow: 0 8px 20px rgba(37, 99, 235, 0.4); } /* --- Scroll Reveal Animations --- */ .reveal { opacity: 0; transform: translateY(40px); transition: opacity 0.8s var(--ease), transform 0.8s var(--ease); } .reveal.active { opacity: 1; transform: translateY(0); } .reveal-delay-1 { transition-delay: 0.1s; } .reveal-delay-2 { transition-delay: 0.2s; } .reveal-delay-3 { transition-delay: 0.3s; } .reveal-delay-4 { transition-delay: 0.4s; } /* --- Buttons --- */ .btn { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; padding: 13px 26px; border-radius: 10px; font-weight: 600; font-size: 0.95rem; transition: all 0.25s var(--ease); border: none; cursor: pointer; font-family: inherit; letter-spacing: 0.01em; } .btn.primary { background: linear-gradient(135deg, var(--grad-1), var(--grad-2)); color: #fff; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25); } .btn.primary:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(37, 99, 235, 0.4); } .btn.secondary { background: var(--card-bg); color: var(--text-main); border: 1px solid var(--border); backdrop-filter: blur(10px); } .btn.secondary:hover { transform: translateY(-2px); border-color: var(--border-hover); background: rgba(37, 99, 235, 0.08); } .btn.full-width { width: 100%; justify-content: center; } /* --- Custom reCAPTCHA Badge Styling --- */ .grecaptcha-badge { left: 24px !important; right: auto !important; bottom: 24px !important; z-index: 2 !important; }