:root { --bg: #f6f7f9; --surface: #ffffff; --text: #111827; --muted: #6b7280; --border: #e5e7eb; --primary: #2563eb; --primary-dark: #1d4ed8; --radius-sm: 6px; --radius-md: 10px; --radius-lg: 14px; } * { box-sizing: border-box; } body { font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg); color: var(--text); margin: 0; } main { padding-top: 72px; } .section { padding: 72px 0; } .section-muted { background: #f1f3f6; } .eyebrow { letter-spacing: 0.16em; font-size: 0.75rem; } .navbar { background: rgba(255, 255, 255, 0.96); box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05); } .navbar-brand { font-size: 1.05rem; } .hero-section .lead { font-size: 1.1rem; } .hero-card, .about-panel, .contact-box { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); } .badge-soft { background: #f3f4f6; color: var(--text); border-radius: 999px; padding: 6px 12px; font-weight: 500; font-size: 0.75rem; } .btn-primary { background: var(--primary); border-color: var(--primary); border-radius: var(--radius-sm); padding: 0.65rem 1.4rem; } .btn-primary:hover, .btn-primary:focus { background: var(--primary-dark); border-color: var(--primary-dark); } .btn-outline-dark { border-radius: var(--radius-sm); padding: 0.65rem 1.4rem; } .card { border-radius: var(--radius-md); } .form-control { border-radius: var(--radius-sm); border-color: var(--border); } .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.15); } .toast { border-radius: var(--radius-sm); } footer a { text-decoration: none; } @media (max-width: 991px) { .section { padding: 56px 0; } .hero-section { padding-top: 40px; } } html { scroll-behavior: smooth; } body { position: relative; overflow-x: hidden; } .navbar, main, footer { position: relative; z-index: 1; } .site-background { position: fixed; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; } .bg-grid, .bg-orb, .bg-cursor-glow { position: absolute; } .bg-grid { inset: 0; background-image: linear-gradient(rgba(17, 24, 39, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(17, 24, 39, 0.03) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 0.68), transparent 78%); opacity: 0.22; } .bg-orb { border-radius: 50%; filter: blur(4px); opacity: 0.7; will-change: transform; animation: pulseOrb 12s ease-in-out infinite; } .bg-orb-one { top: 7%; left: -8%; width: 340px; height: 340px; background: radial-gradient(circle at 30% 30%, rgba(37, 99, 235, 0.34), rgba(37, 99, 235, 0.06) 60%, transparent 72%); } .bg-orb-two { top: 18%; right: -10%; width: 420px; height: 420px; background: radial-gradient(circle at 40% 40%, rgba(16, 185, 129, 0.24), rgba(37, 99, 235, 0.06) 58%, transparent 74%); animation-duration: 18s; } .bg-orb-three { bottom: -8%; left: 48%; width: 360px; height: 360px; background: radial-gradient(circle at 50% 50%, rgba(251, 191, 36, 0.2), rgba(37, 99, 235, 0.06) 62%, transparent 76%); animation-duration: 20s; } .bg-cursor-glow { top: 0; left: 0; width: 240px; height: 240px; margin: -120px 0 0 -120px; border-radius: 50%; background: radial-gradient(circle, rgba(37, 99, 235, 0.1) 0%, rgba(37, 99, 235, 0.03) 48%, transparent 72%); opacity: 0.5; will-change: transform; } .hero-section, .section-muted, .about-panel, .hero-card, .contact-box, .card { position: relative; } .hero-section::after, .section-muted::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0)); } .hero-card, .about-panel, .contact-box, .card, .navbar { -webkit-backdrop-filter: none; backdrop-filter: none; } .hero-card, .about-panel, .contact-box, .card { background: rgba(255, 255, 255, 0.97); } .card, .hero-card, .about-panel, .contact-box { box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08); } .btn-primary, .btn-outline-dark { transition: transform 0.25s ease, box-shadow 0.25s ease; } .btn-primary:hover, .btn-outline-dark:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12); } @keyframes pulseOrb { 0%, 100% { opacity: 0.52; filter: blur(4px); } 50% { opacity: 0.78; filter: blur(2px); } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .bg-orb, .bg-cursor-glow, .btn-primary, .btn-outline-dark { animation: none; transition: none; } .bg-cursor-glow { display: none; } }