<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Coming Soon | Your Company</title>

    <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap" rel="stylesheet">

    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Poppins', sans-serif;
        }

        body {
            height: 100vh;
            background: linear-gradient(135deg, #0f172a, #1e40af, #7c3aed);
            display: flex;
            justify-content: center;
            align-items: center;
            color: #fff;
            text-align: center;
        }

        .container {
            max-width: 600px;
            padding: 20px;
        }

        h1 {
            font-size: 42px;
            margin-bottom: 10px;
        }

        p {
            opacity: 0.8;
            margin-bottom: 30px;
        }

        .countdown {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-bottom: 30px;
        }

        .time-box {
            background: rgba(255,255,255,0.1);
            padding: 15px 20px;
            border-radius: 10px;
        }

        .time-box span {
            display: block;
            font-size: 24px;
            font-weight: 600;
        }

        input {
            padding: 12px;
            width: 65%;
            border: none;
            border-radius: 6px;
            outline: none;
        }

        button {
            padding: 12px 20px;
            border: none;
            border-radius: 6px;
            background: #06b6d4;
            color: white;
            cursor: pointer;
            margin-left: 10px;
            transition: 0.3s;
        }

        button:hover {
            background: #0891b2;
        }

        .socials {
            margin-top: 25px;
        }

        .socials a {
            margin: 0 10px;
            color: white;
            text-decoration: none;
            opacity: 0.7;
        }

        .socials a:hover {
            opacity: 1;
        }

        @media(max-width: 600px) {
            h1 { font-size: 28px; }
            input { width: 100%; margin-bottom: 10px; }
            button { width: 100%; margin-left: 0; }
        }
    </style>
</head>

<body>

<div class="container">
    <h1>🚧 We're Coming Soon</h1>
    <p>Our website is under construction. We'll be here soon with something amazing.</p>

    <div class="countdown">
        <div class="time-box">
            <span id="days">00</span>
            Days
        </div>
        <div class="time-box">
            <span id="hours">00</span>
            Hours
        </div>
        <div class="time-box">
            <span id="minutes">00</span>
            Minutes
        </div>
        <div class="time-box">
            <span id="seconds">00</span>
            Seconds
        </div>
    </div>

    <div>
        <input type="email" placeholder="Enter your email">
        <button>Notify Me</button>
    </div>

    <div class="socials">
        <a href="#">Facebook</a>
        <a href="#">Twitter</a>
        <a href="#">LinkedIn</a>
    </div>
</div>

<script>
    const launchDate = new Date("2026-06-01T00:00:00").getTime();

    const timer = setInterval(() => {
        const now = new Date().getTime();
        const diff = launchDate - now;

        const days = Math.floor(diff / (1000 * 60 * 60 * 24));
        const hours = Math.floor((diff / (1000 * 60 * 60)) % 24);
        const minutes = Math.floor((diff / 1000 / 60) % 60);
        const seconds = Math.floor((diff / 1000) % 60);

        document.getElementById("days").innerText = days;
        document.getElementById("hours").innerText = hours;
        document.getElementById("minutes").innerText = minutes;
        document.getElementById("seconds").innerText = seconds;

        if (diff < 0) {
            clearInterval(timer);
            document.querySelector(".countdown").innerHTML = "We're Live!";
        }
    }, 1000);
</script>

</body>
</html>