* { margin:0; padding:0; box-sizing:border-box; }

body {
    height:100vh;
    font-family:"Poppins", sans-serif;
    background:url('https://images.unsplash.com/photo-1505691723518-36a5ac3be353?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
    position:relative;
    overflow:hidden;
}

body::before {
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.55);
    z-index:0;
}

/* Navigation */
nav {
    position:absolute;
    top:20px;
    right:25px;
    z-index:3;
    display:flex;
    gap:20px;
}

nav a {
    color:#e5faff;
    font-size:18px;
    font-weight:600;
    text-decoration:none;
    padding:10px 20px;
    border-radius:10px;
    transition:0.3s;
}


/* Center content */
.title-box {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    text-align:center;
    color:white;
    z-index:2;
    padding:15px;
    animation:fadeIn 1.5s ease;
}

.title-box h1 {
    font-size:65px;
    font-weight:700;
    line-height:1.1;
    text-shadow:
        0 0 10px rgba(255,255,255,0.6),
        0 0 25px rgba(0,140,180,0.7),
        0 0 45px rgba(0,140,180,0.8);
    animation:glow 3s infinite alternate;
}

.title-box p {
    margin-top:15px;
    font-size:26px;
    color:#dff6ff;
    font-weight:300;
    letter-spacing:0.5px;
    animation:fadeSlideUp 1.8s ease;
}

/* Animations */
@keyframes glow {
    from { text-shadow:0 0 12px rgba(255,255,255,0.5); }
    to   { text-shadow:0 0 30px rgba(0,180,220,1); }
}

@keyframes fadeIn {
    from { opacity:0; transform:translate(-50%, -60%); }
    to   { opacity:1; transform:translate(-50%, -50%); }
}

@keyframes fadeSlideUp {
    from { opacity:0; transform:translateY(20px); }
    to   { opacity:1; transform:translateY(0); }
}

/* Extra Responsive Rules */
@media (max-width: 900px) {
    .title-box h1 { font-size:48px; }
    .title-box p { font-size:20px; }
}

@media (max-width: 600px) {
    nav {
        top:15px;
        right:15px;
        gap:12px;
    }

    nav a {
        padding:7px 14px;
        font-size:14px;
    }

    .title-box h1 { font-size:34px; }
    .title-box p { font-size:15px; }
}

@media (max-width: 390px) {
    nav {
        flex-direction:column;
        right:15px;
        top:15px;
    }

    .title-box h1 { font-size:28px; }
    .title-box p { font-size:14px; }
}


@media (max-width: 320px) {
    h1 { font-size: 18px; }
    h2 { font-size: 16px; }
    h3 { font-size: 14px; }
    p  { font-size: 12px; }
    nav a { font-size: 12px; padding: 6px; }
    th, td { font-size: 12px; padding: 6px; }
    button { font-size: 12px; padding: 6px 10px; }
}


@media (max-width: 480px) {
    h1 { font-size: 20px; }
    h2 { font-size: 18px; }
    h3 { font-size: 16px; }
    p  { font-size: 13px; }
    nav ul { gap: 12px; }
    nav a { font-size: 13px; padding: 7px; }
    th, td { font-size: 13px; }
}


@media (max-width: 600px) {
    h1 { font-size: 22px; }
    h2 { font-size: 20px; }
    h3 { font-size: 18px; }
    p  { font-size: 14px; }
    nav ul { gap: 14px; }
    nav a { font-size: 14px; padding: 8px; }
}


@media (max-width: 768px) {
    h1 { font-size: 24px; }
    h2 { font-size: 22px; }
    h3 { font-size: 20px; }
    p  { font-size: 15px; }
    nav ul { flex-direction: row; justify-content: center; gap: 16px; }
    nav a { font-size: 15px; padding: 8px 10px; }
    th, td { font-size: 14px; padding: 7px; }
    button { font-size: 14px; padding: 8px 12px; }
}


@media (max-width: 1024px) {
    h1 { font-size: 26px; }
    h2 { font-size: 24px; }
    h3 { font-size: 22px; }
    p  { font-size: 16px; }
    nav ul { gap: 18px; }
    nav a { font-size: 16px; padding: 10px 12px; }
    th, td { font-size: 15px; padding: 8px; }
    button { font-size: 15px; padding: 10px 14px; }
}


@media (min-width: 1025px) {
    h1 { font-size: 28px; }
    h2 { font-size: 26px; }
    h3 { font-size: 24px; }
    p  { font-size: 16px; }
    nav ul { flex-direction: row; justify-content: flex-end; gap: 20px; }
    nav a { font-size: 16px; padding: 10px 14px; }
    th, td { font-size: 16px; padding: 10px; }
    button { font-size: 16px; padding: 10px 16px; }
}


@media (min-width: 1441px) {
    h1 { font-size: 32px; }
    h2 { font-size: 28px; }
    h3 { font-size: 26px; }
    p  { font-size: 18px; }
    nav ul { gap: 24px; }
    nav a { font-size: 18px; padding: 12px 16px; }
    th, td { font-size: 17px; padding: 12px; }
    button { font-size: 17px; padding: 12px 18px; }
}
