@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; background: #000000; color: #ffffff; height: 100vh; overflow: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background: linear-gradient(to bottom right, #f8faff, #ffffff); } .container { display: flex; height: 100vh; position: relative; } .left-section { flex: 0 0 40%; background: radial-gradient(ellipse at center, #0a0a0a 0%, #000000 100%); display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 80px 60px; position: relative; overflow: hidden; } .left-section::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: conic-gradient(from 180deg at 50% 50%, transparent 0deg, rgba(255, 255, 255, 0.02) 90deg, transparent 180deg, rgba(255, 255, 255, 0.04) 270deg, transparent 360deg); animation: rotate 25s linear infinite reverse; pointer-events: none; } .left-section::after { content: ''; position: absolute; top: 30%; left: -15%; width: 50%; height: 40%; background: radial-gradient(circle, rgba(255, 255, 255, 0.015) 0%, transparent 70%); filter: blur(60px); animation: floatReverse 10s ease-in-out infinite; } @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes floatReverse { 0%, 100% { transform: translateY(0px) scale(1); } 50% { transform: translateY(15px) scale(0.95); } } @keyframes welcomeGlow { 0%, 100% { text-shadow: 0 0 25px rgba(255, 255, 255, 0.15), 0 0 50px rgba(255, 255, 255, 0.08); transform: scale(1); } 50% { text-shadow: 0 0 35px rgba(255, 255, 255, 0.25), 0 0 70px rgba(255, 255, 255, 0.12), 0 0 90px rgba(255, 255, 255, 0.06); transform: scale(1.02); } } .geometric-accent { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(15deg); opacity: 0.08; z-index: 0; pointer-events: none; animation: geometricFloat 12s ease-in-out infinite; } @keyframes geometricFloat { 0%, 100% { transform: translate(-50%, -50%) rotate(15deg) scale(1); opacity: 0.08; } 50% { transform: translate(-50%, -45%) rotate(20deg) scale(1.1); opacity: 0.12; } } .geometric-accent img { max-width: 150%; height: auto; display: block; filter: brightness(1.2); } .quote-container { position: relative; z-index: 2; text-align: center; max-width: 500px; } .main-quote { font-size: clamp(2.8rem, 6vw, 4.5rem); font-weight: 300; line-height: 1.1; letter-spacing: -0.03em; margin-bottom: 24px; animation: welcomeGlow 5s ease-in-out infinite; } .emphasis { font-weight: 800; background: linear-gradient(135deg, #ffffff 0%, #f8f8f8 50%, #ffffff 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; position: relative; display: inline-block; } .emphasis::after { content: ''; position: absolute; bottom: -6px; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.6) 50%, transparent 100%); animation: welcomeShimmer 4s ease-in-out infinite; border-radius: 2px; } @keyframes welcomeShimmer { 0%, 100% { opacity: 0.4; transform: scaleX(0.8); } 50% { opacity: 0.9; transform: scaleX(1.1); } } .sub-quote { font-size: 1rem; font-weight: 400; color: #b0b0b0; line-height: 1.5; margin-bottom: 20px; font-style: italic; opacity: 0.85; animation: fadeInUp 1s ease 0.5s both; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 0.85; transform: translateY(0); } } .attribution { font-size: 0.8rem; color: #777; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.7; animation: fadeInUp 1s ease 0.8s both; } .right-section { flex: 0 0 60%; background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%); color: #000000; display: flex; flex-direction: column; justify-content: center; padding: 80px 60px; position: relative; box-shadow: -25px 0 50px rgba(0, 0, 0, 0.08); } .right-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 20% 30%, rgba(0, 0, 0, 0.015) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(0, 0, 0, 0.01) 0%, transparent 50%); pointer-events: none; } .form-container { width: 100%; max-width: 420px; margin: 0 auto; position: relative; z-index: 2; } .form-title { font-size: 1.75rem; font-weight: 800; color: #0a0a0a; margin-bottom: 8px; text-align: center; letter-spacing: -0.02em; background: linear-gradient(135deg, #000000 0%, #333333 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: slideDown 0.8s ease 0.2s both; } @keyframes slideDown { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } } .form-subtitle { font-size: 0.95rem; color: #666; text-align: center; margin-bottom: 48px; font-weight: 400; opacity: 0.8; animation: slideDown 0.8s ease 0.4s both; } .form-group { margin-bottom: 32px; position: relative; animation: slideUp 0.6s ease forwards; opacity: 0; transform: translateY(20px); } .form-group:nth-child(3) { animation-delay: 0.1s; } .form-group:nth-child(4) { animation-delay: 0.2s; } @keyframes slideUp { to { opacity: 1; transform: translateY(0); } } .form-input { width: 100%; padding: 22px 0 22px 0; border: none; border-bottom: 2px solid #e8e8e8; background: transparent; font-size: 1.05rem; color: #0a0a0a; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); outline: none; font-family: inherit; font-weight: 500; } .form-input:focus { border-bottom-color: #000000; transform: translateY(-3px); } .form-input:focus + .input-line { transform: scaleX(1); } .form-input::placeholder { color: #999; font-weight: 400; transition: all 0.3s ease; } .form-input:focus::placeholder { opacity: 0.4; transform: translateY(-6px); } .input-line { position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #000000 0%, #333333 100%); transform: scaleX(0); transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); transform-origin: center; } .submit-btn { width: 100%; padding: 22px; background: linear-gradient(135deg, #000000 0%, #1a1a1a 100%); color: #ffffff; border: none; border-radius: 12px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); margin-top: 28px; position: relative; overflow: hidden; text-transform: uppercase; letter-spacing: 0.05em; animation: slideUp 0.6s ease forwards; animation-delay: 0.3s; opacity: 0; transform: translateY(20px); } .submit-btn::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent); transition: left 0.7s ease; } .submit-btn:hover { background: linear-gradient(135deg, #1a1a1a 0%, #333333 100%); transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25); } .submit-btn:hover::before { left: 100%; } .submit-btn:active { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3); } .form-links { text-align: center; margin-top: 36px; font-size: 0.9rem; animation: slideUp 0.6s ease forwards; animation-delay: 0.4s; opacity: 0; transform: translateY(20px); } .form-links a { color: #333; text-decoration: none; font-weight: 500; transition: all 0.3s ease; position: relative; } .form-links a:hover { color: #000; } .form-links a::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 0; height: 1px; background: #000; transition: width 0.3s ease; } .form-links a:hover::after { width: 100%; } .form-links p { margin: 10px 0; color: #666; } /* Enhanced focus states for better UX */ .form-input:valid { border-bottom-color: #4CAF50; } .form-input:valid + .input-line { background: linear-gradient(90deg, #4CAF50 0%, #45a049 100%); } /* Responsive design */ @media (max-width: 1024px) { .container { flex-direction: column; overflow-y: auto; } .left-section, .right-section { flex: none; } .left-section { min-height: 40vh; padding: 50px 40px; } .right-section { min-height: 60vh; padding: 60px 40px; } .main-quote { font-size: 2.5rem; } } @media (max-width: 768px) { .left-section, .right-section { padding: 40px 30px; } .main-quote { font-size: 2rem; } .form-container { max-width: 100%; } } @media (max-width: 480px) { .left-section, .right-section { padding: 30px 20px; } .main-quote { font-size: 1.75rem; } .form-title { font-size: 1.5rem; } .submit-btn { padding: 20px; font-size: 0.95rem; } .form-input { padding: 20px 0; } }