feat: visual overhaul with updated images and UI components

Updated hero and section images, refreshed layout, page and navbar components.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Temmuz Aslan 2026-02-16 02:07:42 +03:00
parent b284562862
commit e51aab7986
11 changed files with 16 additions and 26 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 KiB

After

Width:  |  Height:  |  Size: 732 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 1,001 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 KiB

After

Width:  |  Height:  |  Size: 719 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 KiB

After

Width:  |  Height:  |  Size: 1,016 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 KiB

After

Width:  |  Height:  |  Size: 563 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 KiB

After

Width:  |  Height:  |  Size: 496 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 KiB

After

Width:  |  Height:  |  Size: 529 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 408 KiB

View file

@ -47,11 +47,8 @@ export default function RootLayout({
className={`${inter.variable} ${spaceGrotesk.variable} font-sans antialiased bg-navy text-white`} className={`${inter.variable} ${spaceGrotesk.variable} font-sans antialiased bg-navy text-white`}
> >
<NoiseOverlay /> <NoiseOverlay />
{/* Cinematic fixed lighting — persists across all pages */}
<div className="fixed top-[-10%] right-[0%] w-[800px] h-[800px] bg-cyan-500/15 blur-[180px] rounded-full pointer-events-none z-0" />
<div className="fixed bottom-0 left-[-10%] w-[600px] h-[600px] bg-indigo-600/10 blur-[150px] rounded-full pointer-events-none z-0" />
<Navbar /> <Navbar />
<main className="relative z-[1]">{children}</main> <main>{children}</main>
<Footer /> <Footer />
</body> </body>
</html> </html>

View file

@ -147,8 +147,8 @@ export default function Home() {
<div className="absolute top-[-20%] right-[-10%] w-[800px] h-[800px] bg-cyan-500/10 blur-[150px] rounded-full pointer-events-none" /> <div className="absolute top-[-20%] right-[-10%] w-[800px] h-[800px] bg-cyan-500/10 blur-[150px] rounded-full pointer-events-none" />
<div className="absolute bottom-0 left-[-10%] w-[600px] h-[600px] bg-purple-600/10 blur-[120px] rounded-full pointer-events-none" /> <div className="absolute bottom-0 left-[-10%] w-[600px] h-[600px] bg-purple-600/10 blur-[120px] rounded-full pointer-events-none" />
{/* Bottom fade */} {/* Deep cinematic floor — massive gradient fog rising from bottom */}
<div className="absolute bottom-0 left-0 right-0 h-40 bg-gradient-to-t from-navy to-transparent z-[5]" /> <div className="absolute bottom-0 left-0 right-0 h-[60%] bg-gradient-to-t from-navy from-[0%] via-navy/95 via-[20%] to-transparent z-[5]" />
{/* Content — text floats OVER the image */} {/* Content — text floats OVER the image */}
<div className="relative z-10 mx-auto max-w-7xl px-6 pt-32 pb-20 w-full"> <div className="relative z-10 mx-auto max-w-7xl px-6 pt-32 pb-20 w-full">
@ -198,14 +198,14 @@ export default function Home() {
</motion.div> </motion.div>
</motion.div> </motion.div>
{/* ── Trust bar ── */} {/* ── Trust bar — sits on the "cinematic floor" ── */}
<motion.div <motion.div
className="mt-24 pt-10 border-t border-white/[0.04]" className="relative z-10 mt-24 pt-10 border-t border-white/[0.06]"
initial={{ opacity: 0 }} initial={{ opacity: 0 }}
animate={{ opacity: 1 }} animate={{ opacity: 1 }}
transition={{ delay: 1.2, duration: 0.8 }} transition={{ delay: 1.2, duration: 0.8 }}
> >
<p className="text-center text-xs text-slate-500 tracking-widest uppercase mb-8"> <p className="text-center text-xs text-slate-400 tracking-widest uppercase mb-8">
Trusted by leading enterprises and governments worldwide Trusted by leading enterprises and governments worldwide
</p> </p>
<div className="flex flex-wrap justify-center gap-x-16 gap-y-4 items-center"> <div className="flex flex-wrap justify-center gap-x-16 gap-y-4 items-center">
@ -218,7 +218,7 @@ export default function Home() {
].map((name) => ( ].map((name) => (
<span <span
key={name} key={name}
className="text-[11px] font-semibold text-slate-600 tracking-[0.2em] uppercase" className="text-[11px] font-semibold text-slate-300/70 tracking-[0.2em] uppercase"
> >
{name} {name}
</span> </span>

View file

@ -18,20 +18,15 @@ const navLinks = [
export function Navbar() { export function Navbar() {
const pathname = usePathname(); const pathname = usePathname();
const [mobileOpen, setMobileOpen] = useState(false); const [mobileOpen, setMobileOpen] = useState(false);
const [hidden, setHidden] = useState(false); const [isScrolled, setIsScrolled] = useState(false);
const [lastScrollY, setLastScrollY] = useState(0);
const [scrolled, setScrolled] = useState(false);
useEffect(() => { useEffect(() => {
const handleScroll = () => { const handleScroll = () => {
const currentScrollY = window.scrollY; setIsScrolled(window.scrollY > 20);
setHidden(currentScrollY > lastScrollY && currentScrollY > 80);
setScrolled(currentScrollY > 20);
setLastScrollY(currentScrollY);
}; };
window.addEventListener("scroll", handleScroll, { passive: true }); window.addEventListener("scroll", handleScroll, { passive: true });
return () => window.removeEventListener("scroll", handleScroll); return () => window.removeEventListener("scroll", handleScroll);
}, [lastScrollY]); }, []);
useEffect(() => { useEffect(() => {
setMobileOpen(false); setMobileOpen(false);
@ -39,14 +34,12 @@ export function Navbar() {
return ( return (
<> <>
<motion.header <header
className={`fixed top-0 left-0 right-0 z-40 transition-all duration-500 ${ className={`fixed top-0 left-0 w-full z-50 transition-all duration-500 ${
scrolled isScrolled
? "bg-navy/60 backdrop-blur-2xl border-b border-white/[0.04] shadow-[0_4px_30px_rgba(0,0,0,0.3)]" ? "bg-[#0A0F2E]/80 backdrop-blur-md border-b border-white/5 shadow-[0_4px_30px_rgba(0,0,0,0.3)]"
: "bg-transparent" : "bg-transparent border-b border-transparent"
}`} }`}
animate={{ y: hidden ? -100 : 0 }}
transition={{ duration: 0.3 }}
> >
<nav className="mx-auto max-w-7xl px-6 py-4 flex items-center justify-between"> <nav className="mx-auto max-w-7xl px-6 py-4 flex items-center justify-between">
<Link href="/" className="flex items-center gap-2 relative z-10"> <Link href="/" className="flex items-center gap-2 relative z-10">
@ -102,7 +95,7 @@ export function Navbar() {
{mobileOpen ? <X size={24} /> : <Menu size={24} />} {mobileOpen ? <X size={24} /> : <Menu size={24} />}
</button> </button>
</nav> </nav>
</motion.header> </header>
{/* Mobile menu */} {/* Mobile menu */}
<AnimatePresence> <AnimatePresence>