/* Landing Page Specific Styles */ @import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,700&display=swap'); :root { --font-sans: 'EB Garamond', serif; } * { box-sizing: border-box; } body, html { margin: 0; padding: 0; width: 100%; height: 100%; /* Allow scrolling now */ overflow-x: hidden; overflow-y: auto; background-color: #000; color: #fff; font-family: var(--font-sans); text-transform: none; } /* Fixed Backgrounds */ #canvas-container { position: fixed; /* Stays put while scrolling */ top: 0; left: 0; width: 100%; height: 100vh; z-index: 0; } .overlay-gradient { position: fixed; /* Stays put while scrolling */ inset: 0; background: radial-gradient(120% 80% at 50% 50%, transparent 40%, black 100%); pointer-events: none; z-index: 1; } /* Scroll Wrapper to hold everything */ .scroll-wrapper { position: relative; z-index: 10; width: 100%; } /* --- HERO SECTION --- */ .content-wrapper { min-height: 100vh; /* Full screen hero */ width: 100%; display: flex; align-items: center; justify-content: center; padding: 0 1.5rem; } .text-center { text-align: center; max-width: 56rem; margin: 0 auto; } .hero-tagline { color: #3B82F6; /* Primary Blue */ text-transform: capitalize; /* AI-Powered... is basically Title Case */ letter-spacing: 0.1em; font-weight: 700; font-size: 0.875rem; display: block; margin-bottom: 1.5rem; opacity: 0; /* Animated in JS */ } h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 700; /* Bold */ font-style: italic; /* Italic */ line-height: 1.1; letter-spacing: -0.025em; margin: 0; opacity: 0; text-transform: capitalize; /* First Letter Of Word Capital */ } p { margin-top: 1.5rem; font-size: clamp(1rem, 2vw, 1.25rem); line-height: 1.6; font-weight: 400; /* Regular */ font-style: normal; /* Regular */ color: rgba(255, 255, 255, 0.8); max-width: 42rem; margin-left: auto; margin-right: auto; opacity: 0; text-transform: none; /* Sentence case handled by HTML usually, just ensure no caps */ } .cta-group { margin-top: 2.5rem; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 1rem; opacity: 0; } /* Ported GetStartedButton Styles */ .btn-primary { position: relative; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; background-color: rgba(0, 0, 0, 0.4); /* Glass separation */ backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); color: #ffffff; height: 3rem; /* lg size approx */ padding: 0 1.5rem; border-radius: 0.5rem; font-weight: 500; text-decoration: none; cursor: pointer; transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); box-sizing: border-box; width: auto; min-width: 160px; /* Ensure space for text */ } .btn-primary:hover { background-color: rgba(0, 0, 0, 0.6); border-color: rgba(255, 255, 255, 0.3); box-shadow: 0 0 20px rgba(255, 255, 255, 0.1); } /* Text Span */ .btn-primary .btn-text { margin-right: 2rem; /* mr-8 */ transition: opacity 0.5s ease; white-space: nowrap; } .btn-primary:hover .btn-text { opacity: 0; } /* Icon Container (The expanding box) */ .btn-primary .btn-icon-box { position: absolute; right: 0.25rem; /* right-1 */ top: 0.25rem; /* top-1 */ bottom: 0.25rem; /* bottom-1 */ width: 25%; /* w-1/4 */ background-color: rgba(255, 255, 255, 0.1); /* bg-primary-foreground/15 */ border-radius: 0.25rem; /* rounded-sm */ display: grid; place-items: center; transition: all 0.5s ease; z-index: 10; } .btn-primary:hover .btn-icon-box { width: calc(100% - 0.5rem); /* grow to fill */ } .btn-primary:active .btn-icon-box { transform: scale(0.95); } /* SVG Icon */ .btn-primary svg { width: 1rem; height: 1rem; stroke-width: 2; stroke: currentColor; fill: none; } /* --- HEADER --- */ .absolute-header { position: absolute; top: 0; left: 0; width: 100%; padding: 1.5rem; display: flex; justify-content: space-between; align-items: center; z-index: 20; } .logo { font-weight: 700; font-size: 1.5rem; display: flex; align-items: center; gap: 0.5rem; color: white; } /* --- FEATURES SECTION --- */ .features-section { padding: 6rem 1.5rem; background: linear-gradient(to bottom, transparent, #000 20%); position: relative; } .container { max-width: 1200px; margin: 0 auto; } .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; } .feature-card { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 1rem; padding: 2.5rem 2rem; transition: all 0.3s ease; backdrop-filter: blur(10px); } .feature-card:hover { transform: translateY(-5px); background: rgba(255, 255, 255, 0.07); border-color: rgba(255, 255, 255, 0.2); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5); } .feature-icon { font-size: 2.5rem; margin-bottom: 1.5rem; display: inline-block; background: rgba(59, 130, 246, 0.1); width: 4rem; height: 4rem; display: flex; /* Flex to center content */ align-items: center; justify-content: center; border-radius: 1rem; color: #60A5FA; } .feature-card h3 { font-size: 1.25rem; font-weight: 600; margin-bottom: 1rem; color: #fff; margin-top: 0; } .feature-card p { font-size: 1rem; color: rgba(255, 255, 255, 0.6); line-height: 1.6; margin: 0; opacity: 1; /* Reset opacity inheritance from hero p */ }