:root { --deep-obsidian: #050805; --liquid-forest: #0a1a0f; --molten-gold: #d4af37; --static-gold: #c9a227; --muted-gold: rgba(201, 162, 39, 0.3); --glass-green: rgba(10, 26, 15, 0.8); --font-main: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-data: 'JetBrains Mono', 'Consolas', monospace; --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } * { margin: 0; padding: 0; box-sizing: border-box; outline: none; } body { background: linear-gradient(-45deg, #000000, #05140a, #0d2b1a, #000000); background-size: 400% 400%; animation: gradientFlow 15s ease infinite; color: #fff; font-family: var(--font-main); overflow-x: hidden; line-height: 1.5; } @keyframes gradientFlow { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } /* Topographical Background Elements */ .topo-layer { position: fixed; width: 150vw; height: 150vh; top: -25%; left: -25%; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1000 1000' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E"); pointer-events: none; z-index: 1; } .gold-glow { position: absolute; width: 500px; height: 500px; background: radial-gradient(circle, rgba(184, 134, 11, 0.08) 0%, transparent 70%); filter: blur(60px); z-index: 0; } /* Typography */ h1, h2, h3 { font-weight: 800; letter-spacing: -0.04em; text-transform: uppercase; } .gold-text { color: var(--molten-gold); } .data-label { font-family: var(--font-data); font-size: 0.75rem; color: var(--static-gold); text-transform: uppercase; letter-spacing: 0.2em; } /* Grid Table Info */ .info-table { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--muted-gold); border: 1px solid var(--muted-gold); margin: 60px 0; overflow: hidden; border-radius: 4px; } .table-cell { background: var(--deep-obsidian); padding: 40px; transition: var(--transition); } .table-cell:hover { background: #1a1a1a; transform: translateY(-2px); z-index: 2; box-shadow: 0 10px 30px rgba(0,0,0,0.5); } .cell-val { font-size: 2.5rem; font-weight: 800; display: block; margin-top: 10px; } /* Loan Calculator */ .calc-card { background: var(--glass-green); backdrop-filter: blur(10px); border: 1px solid var(--muted-gold); padding: 32px; border-radius: 8px; position: relative; } .slider-group { margin-bottom: 30px; } input[type=range] { width: 100%; accent-color: var(--static-gold); margin: 15px 0; } .calc-result { border-top: 1px solid var(--muted-gold); padding-top: 25px; margin-top: 25px; } /* Services Grid */ .services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-bottom: 140px; } .service-card { border: 1px solid var(--muted-gold); padding: 32px; border-radius: 8px; transition: var(--transition); } .service-card:hover { border-color: var(--static-gold); transform: translateY(-4px); box-shadow: 0 10px 30px rgba(201, 162, 39, 0.1); } .service-card h3 { margin: 15px 0; color: var(--static-gold); } /* Testimonials Table */ .testimonial-container { width: 100%; border-collapse: collapse; margin-bottom: 140px; } .test-row { border-bottom: 1px solid var(--muted-gold); transition: var(--transition); } .test-row:hover { background: rgba(201, 162, 39, 0.05); } .test-row td { padding: 40px 20px; } .quote { font-size: 1.2rem; font-style: italic; color: #ccc; } .author { font-family: var(--font-data); font-weight: 700; color: var(--static-gold); } /* Floating Chat */ .chat-bubble { position: fixed; bottom: 40px; right: 40px; width: 60px; height: 60px; background: var(--molten-gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 10px 30px rgba(0,0,0,0.5); z-index: 100; transition: var(--transition); } .chat-bubble:hover { transform: scale(1.05); } .chat-window { position: fixed; bottom: 110px; right: 40px; width: 320px; height: 400px; background: var(--deep-obsidian); border: 1px solid var(--static-gold); display: flex; flex-direction: column; z-index: 99; box-shadow: 0 20px 50px rgba(0,0,0,0.8); } .chat-header { padding: 15px; background: var(--molten-gold); color: #000; font-weight: 800; font-size: 0.8rem; text-transform: uppercase; } .chat-content { flex-grow: 1; padding: 20px; font-family: var(--font-data); font-size: 0.8rem; overflow-y: auto; } .chat-input { padding: 15px; border-top: 1px solid var(--muted-gold); background: transparent; color: #fff; border-left: none; border-right: none; border-bottom: none; font-family: var(--font-main); } .btn { padding: 14px 32px; border: 1px solid rgba(255, 255, 255, 0.3); background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); color: #ffffff; font-family: var(--font-data); text-transform: uppercase; font-weight: 600; cursor: pointer; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: inline-block; text-decoration: none; margin-top: 20px; border-radius: 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); } .btn:hover { background: rgba(255, 255, 255, 0.25); border-color: rgba(255, 255, 255, 0.6); color: #ffffff; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255, 255, 255, 0.15); } .btn:active { transform: translateY(0); } /* Utilities */ .animate-on-scroll { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; } .animate-on-scroll.is-visible { opacity: 1; transform: translateY(0); } /* Chat Animations */ @keyframes chatSlideUp { 0% { opacity: 0; transform: translateY(20px) scale(0.95); } 100% { opacity: 1; transform: translateY(0) scale(1); } } @keyframes messageFadeIn { 0% { opacity: 0; transform: translateX(-10px); } 100% { opacity: 1; transform: translateX(0); } } .chat-animate-enter { animation: chatSlideUp 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; } .message-animate-enter { animation: messageFadeIn 0.4s ease-out forwards; } @media (max-width: 968px) { .hero, .info-table, .services-grid { grid-template-columns: 1fr; } .hero h1 { font-size: 3.5rem; } .testimonial-container tr { display: block; margin-bottom: 20px; } .testimonial-container td { display: block; padding: 20px; } .info-table { grid-template-columns: 1fr 1fr; } }