kh3_website/about.html

1061 lines
38 KiB
HTML

<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>About Us - KH3</title>
<link rel="stylesheet" href="styles/main.css" />
<meta
name="description"
content="Learn about KH3 - Construction Project Management and Fit-out Services in Accra, Ghana. Building inspiring spaces since 2014."
/>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Bai+Jamjuree:wght@600;800&display=swap"
rel="stylesheet"
/>
<link
href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap"
rel="stylesheet"
/>
</head>
<body class="bg-kh3-black text-white font-montserrat overflow-x-hidden">
<!-- Navigation Menu -->
<div
class="fixed left-0 top-0 h-full w-1/3 bg-kh3-black z-50 hidden shadow-2xl"
id="navMenu"
>
<div class="p-8 flex flex-col h-full">
<!-- Logo -->
<div class="flex items-center gap-3 mb-12">
<img src="assets/images/kh3_logo.png" alt="KH3" class="w-12 h-12" />
<span class="text-white text-2xl font-bold tracking-wider">KH3</span>
</div>
<!-- Navigation Links - Inverted C Layout -->
<nav class="flex-1 relative">
<div class="absolute inset-0 flex items-center">
<div class="relative ml-8">
<!-- Navigation items in inverted C shape -->
<div class="space-y-6">
<!-- HOME - Top -->
<a
href="index.html"
class="block text-white text-lg font-medium hover:text-kh3-red transition-colors ml-0 font-montserrat"
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.05s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>H</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.075s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>O</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.1s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>M</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.125s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>E</span
>
</a>
<!-- ABOUT US - Slightly right -->
<a
href="about.html"
class="block text-white text-lg font-medium border-b border-white pb-1 ml-6 font-montserrat"
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.15s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>A</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.175s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>B</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.2s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>O</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.225s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>U</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.25s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>T</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.275s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>&nbsp;</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.3s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>U</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.325s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>S</span
>
</a>
<!-- SERVICES - More right -->
<a
href="services.html"
class="block text-white text-lg font-medium hover:text-kh3-red transition-colors ml-12 font-montserrat"
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.35s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>S</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.375s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>E</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.4s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>R</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.425s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>V</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.45s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>I</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.475s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>C</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.5s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>E</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.525s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>S</span
>
</a>
<!-- PROJECTS - Most right -->
<a
href="projects.html"
class="block text-white text-lg font-medium hover:text-kh3-red transition-colors ml-20 font-montserrat"
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.55s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>P</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.575s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>R</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.6s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>O</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.625s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>J</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.65s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>E</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.675s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>C</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.7s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>T</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.725s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>S</span
>
</a>
<!-- CONTACTS - More right -->
<a
href="contact.html"
class="block text-white text-lg font-medium hover:text-kh3-red transition-colors ml-12 font-montserrat"
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.75s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>C</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.775s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>O</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.8s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>N</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.825s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>T</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.85s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>A</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.875s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>C</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.9s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>T</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.925s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>S</span
>
</a>
<!-- PARTNERS - Back to left -->
<a
href="brands.html"
class="block text-white text-lg font-medium hover:text-kh3-red transition-colors ml-0 font-montserrat"
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.95s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>P</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 0.975s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>A</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 1s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>R</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 1.025s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>T</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 1.05s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>N</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 1.075s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>E</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 1.1s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>R</span
>
<span
class="inline-block opacity-0 animate-fade-in-left"
style="
animation-delay: 1.125s;
animation-fill-mode: forwards;
animation-duration: 0.15s;
"
>S</span
>
</a>
</div>
</div>
</div>
</nav>
</div>
</div>
<!-- Header -->
<header
class="fixed top-0 left-0 right-0 z-40 bg-kh3-black/90 backdrop-blur-sm"
>
<div
class="container mx-auto px-8 py-4 flex justify-between items-center"
>
<!-- Logo -->
<a href="index.html" class="flex items-center gap-3">
<img
src="assets/images/kh3_logo_dark.png"
alt="KH3"
class="w-12 h-12"
/>
<span class="text-white text-xl font-bold tracking-wider">KH3</span>
</a>
<!-- Menu Grid -->
<div class="cursor-pointer" id="menuToggle">
<div class="grid grid-cols-3 gap-1 w-6 h-6" id="menuGrid">
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
</div>
</div>
</div>
</header>
<!-- Main Content -->
<main class="pt-20">
<!-- Hero Section (Left panel + vertical line + diamond markers, title with horizontal rule) -->
<section class="relative bg-kh3-black">
<div class="grid grid-cols-1 md:grid-cols-2 min-h-[90vh]">
<!-- Left dark panel -->
<div class="relative bg-kh3-black flex items-center">
<!-- Vertical timeline with diamonds -->
<div
class="absolute left-12 top-8 bottom-16 flex flex-col items-center opacity-0"
style="animation: fadeInUp 800ms ease-out 1200ms forwards"
>
<div class="w-px flex-1 bg-neutral-800"></div>
<div class="w-2.5 h-2.5 bg-white transform rotate-45"></div>
<div class="w-px flex-1 bg-neutral-800"></div>
<div class="w-2.5 h-2.5 bg-white transform rotate-45"></div>
<div class="w-px flex-1 bg-neutral-800"></div>
<div class="w-2.5 h-2.5 bg-white transform rotate-45"></div>
<div class="w-px flex-1 bg-neutral-800"></div>
</div>
<!-- Title with horizontal ruler -->
<div class="pl-28 pr-6 w-full">
<div
class="flex items-center gap-6 opacity-0"
style="animation: fadeInUp 800ms ease-out 1600ms forwards"
>
<div class="flex-1 h-px bg-neutral-700"></div>
<h1
class="whitespace-nowrap text-4xl md:text-6xl tracking-[0.2em] font-bold"
>
ABOUT US
</h1>
<div class="flex-1 h-px bg-neutral-700"></div>
</div>
</div>
</div>
<!-- Right image panel -->
<div class="relative overflow-hidden">
<img
src="assets/images/room.png"
alt="About KH3"
class="w-full h-full object-cover opacity-0"
style="animation: diagMaskReveal 1500ms ease-out 300ms forwards"
/>
<!-- Down arrow prompt -->
<button
id="aboutScrollArrow"
class="flex absolute bottom-10 left-6 items-center flex-col text-white/80 hover:text-white transition-colors opacity-0"
style="animation: fadeInUp 800ms ease-out 1900ms forwards"
>
<span class="text-xs tracking-widest mb-2">SCROLL</span>
<svg
class="w-5 h-5 animate-arrowPulse"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M19 9l-7 7-7-7"
/>
</svg>
<div class="w-px h-8 bg-white/70"></div>
</button>
</div>
</div>
</section>
<!-- About Section -->
<section class="py-20 bg-white text-kh3-black">
<div class="container mx-auto px-8 max-w-6xl">
<div class="text-center">
<h2
class="text-4xl font-bold mb-12 opacity-0"
style="animation: fadeInUp 1s ease-out 0.8s forwards"
>
OUR STORY
</h2>
<div class="text-lg leading-relaxed space-y-6 max-w-4xl mx-auto">
<p
class="opacity-0"
style="animation: fadeInUp 1s ease-out 1s forwards"
>
BASED IN ACCRA, GHANA, KH3 WAS ESTABLISHED IN
<span class="text-kh3-red font-semibold">2014</span> TO CATER
FOR THE CONSTRUCTION PROJECT MANAGEMENT NEEDS OF COMMERCIAL
CLIENTS. WITH A GROWING REPUTATION FOR QUALITY, ATTENTION TO
DETAIL AND THE UPMOST
<span class="text-kh3-red font-semibold">PROFESSIONALISM</span>,
KH3 EXPANDED INTO COMPREHENSIVE DESIGN AND FIT-OUT SERVICES.
</p>
<p
class="opacity-0"
style="animation: fadeInUp 1s ease-out 1.2s forwards"
>
THIS MEANT MORE CONTROL OVER THE END-TO-END PROCESS, MAINTAINING
<span class="text-kh3-red font-semibold">HIGH STANDARDS</span>
FROM START TO FINISH AND ENSURING THAT THE ORIGINAL
SPECIFICATION COULD BE MET AND EXCEEDED. TODAY, KH3 WORKS WITH A
BROAD SPECTRUM OF CLIENTS, EXPANDING INTO NEW MARKETS WHILST
HANDLING THE ENTIRE PROCESS FROM DESIGN TO THE FINAL FINISH.
</p>
</div>
</div>
</div>
</section>
<!-- Values Section -->
<section class="py-20 bg-neutral-100 text-kh3-black">
<div class="container mx-auto px-8 max-w-6xl">
<div class="text-center mb-16">
<h2
class="text-4xl font-bold mb-6 opacity-0"
style="animation: fadeInUp 1s ease-out 1.4s forwards"
>
OUR VALUES
</h2>
<p
class="text-lg text-neutral-600 max-w-2xl mx-auto opacity-0"
style="animation: fadeInUp 1s ease-out 1.6s forwards"
>
The principles that guide everything we do
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-12">
<div
class="text-center opacity-0"
style="animation: fadeInUp 1s ease-out 1.8s forwards"
>
<div
class="w-16 h-16 bg-kh3-red mx-auto mb-6 transform rotate-45"
></div>
<h3 class="text-xl font-semibold mb-4">QUALITY</h3>
<p class="text-neutral-600">
We maintain the highest standards in every project, ensuring
excellence from conception to completion.
</p>
</div>
<div
class="text-center opacity-0"
style="animation: fadeInUp 1s ease-out 2s forwards"
>
<div
class="w-16 h-16 bg-kh3-red mx-auto mb-6 transform rotate-45"
></div>
<h3 class="text-xl font-semibold mb-4">PROFESSIONALISM</h3>
<p class="text-neutral-600">
Our team approaches every project with dedication, expertise,
and unwavering commitment to our clients.
</p>
</div>
<div
class="text-center opacity-0"
style="animation: fadeInUp 1s ease-out 2.2s forwards"
>
<div
class="w-16 h-16 bg-kh3-red mx-auto mb-6 transform rotate-45"
></div>
<h3 class="text-xl font-semibold mb-4">INNOVATION</h3>
<p class="text-neutral-600">
We continuously evolve our methods and embrace new technologies
to deliver cutting-edge solutions.
</p>
</div>
</div>
</div>
</section>
</main>
<!-- Footer -->
<footer class="bg-kh3-black text-white py-16">
<div class="container mx-auto px-8 max-w-6xl">
<div class="grid grid-cols-1 md:grid-cols-3 gap-12 mb-12">
<div>
<div class="flex items-center gap-3 mb-6">
<img
src="assets/images/kh3_logo.png"
alt="KH3"
class="w-12 h-12"
/>
<span class="text-2xl font-bold tracking-wider">KH3</span>
</div>
<p class="text-neutral-300 leading-relaxed">
Building inspiring spaces through innovative construction and
design solutions.
</p>
</div>
<div>
<h3 class="text-xl font-semibold mb-6">Quick Links</h3>
<ul class="space-y-3">
<li>
<a
href="index.html"
class="text-neutral-300 hover:text-white transition-colors"
>Home</a
>
</li>
<li>
<a
href="about.html"
class="text-neutral-300 hover:text-white transition-colors"
>About Us</a
>
</li>
<li>
<a
href="projects.html"
class="text-neutral-300 hover:text-white transition-colors"
>Projects</a
>
</li>
<li>
<a
href="contact.html"
class="text-neutral-300 hover:text-white transition-colors"
>Contact</a
>
</li>
</ul>
</div>
<div>
<h3 class="text-xl font-semibold mb-6">Contact Info</h3>
<div class="space-y-3 text-neutral-300">
<p>Accra, Ghana</p>
<p>Email: info@kh3.com</p>
<p>Phone: +233 XX XXX XXXX</p>
</div>
</div>
</div>
<div
class="border-t border-neutral-800 pt-8 text-center text-neutral-400"
>
<p>&copy; 2024 KH3. All rights reserved.</p>
</div>
</div>
</footer>
<!-- Custom Cursor -->
<div
class="fixed w-6 h-6 border-2 border-kh3-red rounded-full pointer-events-none z-50"
id="customCursor"
></div>
<!-- Loading Screen -->
<div
class="fixed inset-0 bg-kh3-black z-50 flex items-center justify-center"
id="loadingScreen"
>
<div class="text-center">
<div class="flex items-center gap-3 mb-8">
<img
src="assets/images/kh3_logo_dark.png"
alt="KH3"
class="w-16 h-16"
/>
<span class="text-4xl font-bold tracking-wider">KH3</span>
</div>
<div class="w-64 h-1 bg-neutral-800 rounded-full overflow-hidden">
<div class="h-full bg-kh3-red rounded-full animate-pulse"></div>
</div>
</div>
</div>
<style>
@keyframes fadeInUp {
0% {
opacity: 0;
transform: translateY(30px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
/* Used by hero image pop-in */
@keyframes fadeInScale {
0% {
opacity: 0;
transform: scale(1.05);
}
100% {
opacity: 1;
transform: scale(1);
}
}
@keyframes pageEnter {
0% {
opacity: 0;
transform: scale(1.02);
}
100% {
opacity: 1;
transform: scale(1);
}
}
/* Image reveal from bottom-right */
@keyframes imgRevealBR {
0% {
opacity: 0;
transform: translate(12%, 10%) scale(1.12);
filter: blur(3px);
}
100% {
opacity: 1;
transform: translate(0, 0) scale(1);
filter: blur(0);
}
}
/* Diagonal mask reveal for hero image */
@keyframes diagMaskReveal {
0% {
opacity: 0;
clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
transform: scale(1.03);
}
55% {
opacity: 1;
/* Sharper diagonal (more vertical edge) */
clip-path: polygon(82% 0, 100% 0, 100% 100%, 64% 100%);
}
100% {
opacity: 1;
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
transform: scale(1);
}
}
</style>
<script src="js/main.js"></script>
<script>
// Arrow pulse animation keyframes injected
(function () {
const s = document.createElement("style");
s.textContent =
"@keyframes arrowPulse{0%{transform:translateY(0)}50%{transform:translateY(4px)}100%{transform:translateY(0)}} .animate-arrowPulse{animation:arrowPulse 1.2s ease-in-out infinite}";
document.head.appendChild(s);
})();
// Enhanced page transition system
const cover =
document.getElementById("pageCover") ||
(() => {
const div = document.createElement("div");
div.id = "pageCover";
div.className =
"fixed inset-0 bg-kh3-red z-50 transform translate-x-full transition-all duration-500 ease-in-out";
div.style.background = "linear-gradient(45deg, #b03037, #8a252a)";
document.body.appendChild(div);
return div;
})();
// Add entrance animation class
document.body.style.animation = "pageEnter 0.6s ease-out";
// Remove the page cover after entrance animation
setTimeout(() => {
if (cover) {
cover.style.transform = "translateX(100%)";
cover.style.opacity = "0";
}
}, 600);
document.querySelectorAll("a[data-trans]").forEach((a) => {
a.addEventListener("click", (e) => {
const href = a.getAttribute("href");
if (!href || href.startsWith("#")) return;
e.preventDefault();
// Enhanced exit animation
cover.style.transform = "translateX(0)";
cover.style.opacity = "0.95";
setTimeout(() => {
location.href = href;
}, 600);
});
});
// Menu toggle functionality
const menuToggle = document.getElementById("menuToggle");
const navMenu = document.getElementById("navMenu");
const menuGrid = document.getElementById("menuGrid");
if (menuToggle && navMenu && menuGrid) {
let isMenuOpen = false;
let closeBtnEl = null;
menuToggle.addEventListener("click", () => {
if (isMenuOpen) {
// Close menu
navMenu.classList.add("hidden");
menuGrid.innerHTML = `
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
<span class="w-1 h-1 bg-white"></span>
`;
if (closeBtnEl) {
closeBtnEl.remove();
closeBtnEl = null;
}
isMenuOpen = false;
} else {
// Open menu
navMenu.classList.remove("hidden");
closeBtnEl = document.createElement("button");
closeBtnEl.setAttribute("aria-label", "Close navigation");
closeBtnEl.className =
"absolute bottom-12 left-6 text-kh3-red hover:text-white transition-colors";
closeBtnEl.innerHTML = `
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
</svg>`;
navMenu.appendChild(closeBtnEl);
closeBtnEl.addEventListener("click", () => {
navMenu.classList.add("hidden");
if (closeBtnEl) {
closeBtnEl.remove();
closeBtnEl = null;
}
menuGrid.innerHTML = `
<span class=\"w-1 h-1 bg-white\"></span>
<span class=\"w-1 h-1 bg-white\"></span>
<span class=\"w-1 h-1 bg-white\"></span>
<span class=\"w-1 h-1 bg-white\"></span>
<span class=\"w-1 h-1 bg-white\"></span>
<span class=\"w-1 h-1 bg-white\"></span>
<span class=\"w-1 h-1 bg-white\"></span>
<span class=\"w-1 h-1 bg-white\"></span>
<span class=\"w-1 h-1 bg-white\"></span>`;
isMenuOpen = false;
});
isMenuOpen = true;
}
});
}
// Custom cursor functionality
const cursor = document.getElementById("customCursor");
if (cursor) {
document.addEventListener("mousemove", (e) => {
cursor.style.left = e.clientX - 12 + "px";
cursor.style.top = e.clientY - 12 + "px";
});
// Hide cursor on mobile
if (window.innerWidth < 768) {
cursor.style.display = "none";
}
}
// Loading screen
window.addEventListener("load", () => {
const loadingScreen = document.getElementById("loadingScreen");
if (loadingScreen) {
setTimeout(() => {
loadingScreen.style.opacity = "0";
setTimeout(() => {
loadingScreen.style.display = "none";
}, 500);
}, 1000);
}
// Ensure page cover is removed on page load
setTimeout(() => {
if (cover) {
cover.style.transform = "translateX(100%)";
cover.style.opacity = "0";
}
}, 100);
});
// Also remove cover when DOM is ready
document.addEventListener("DOMContentLoaded", () => {
setTimeout(() => {
if (cover) {
cover.style.transform = "translateX(100%)";
cover.style.opacity = "0";
}
}, 100);
});
// Smooth then abrupt scroll behavior for arrow
const arrowBtn = document.getElementById("aboutScrollArrow");
if (arrowBtn) {
arrowBtn.addEventListener("click", (e) => {
e.preventDefault();
const target = document.querySelector("section.py-20.bg-white");
if (!target) return;
const targetY =
target.getBoundingClientRect().top + window.pageYOffset;
const startY = window.pageYOffset;
const midY = startY + (targetY - startY) * 0.7; // slow to 70%
// First phase: slow ease
window.scrollTo({ top: midY, behavior: "smooth" });
// Second phase: slight pause then quick snap to target
setTimeout(() => {
window.scrollTo({ top: targetY, behavior: "auto" });
}, 600);
});
}
// Remove cover on page visibility change (back/forward navigation)
document.addEventListener("visibilitychange", () => {
if (!document.hidden && cover) {
setTimeout(() => {
cover.style.transform = "translateX(100%)";
cover.style.opacity = "0";
}, 100);
}
});
// Remove cover on popstate (back/forward button)
window.addEventListener("popstate", () => {
if (cover) {
setTimeout(() => {
cover.style.transform = "translateX(100%)";
cover.style.opacity = "0";
}, 100);
}
});
</script>
</body>
</html>