*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Cairo',sans-serif;
}
html{
    scroll-behavior:smooth;
}
body{
background:linear-gradient(
180deg,
#4B352D 0%,
#3F2C25 45%,
#32231D 100%
);

color:#222;
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}

.hero{
background:
linear-gradient(rgba(20,12,10,.65), rgba(20,12,10,.65)),
url("hero.png") center center/cover no-repeat;
color:#fff;
text-align:center;
padding:90px 20px;
position:relative;
overflow:hidden;
}

.hero h1{
font-size:42px;
font-weight:800;
letter-spacing:3px;
}

.hero p{
margin-top:4px;
font-size:20px;
opacity:.9;
 text-shadow:0 3px 12px rgba(0,0,0,.45);
}

.hero span{
display:inline-block;
margin-top:8px;
padding:10px 26px;

color:#F2D6A2;
font-weight:700;

background:rgba(255,255,255,.05);

border:1px solid rgba(232,209,176,.35);

border-radius:40px;

font-size:15px;
font-weight:600;
letter-spacing:.5px;

backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);

box-shadow:
0 6px 20px rgba(0,0,0,.25),
inset 0 1px 0 rgba(255,255,255,.08);
 transition:.3s;
}
.hero span:hover{
transform:translateY(-2px);
border-color:#E8D1B0;
box-shadow:
0 10px 28px rgba(0,0,0,.35),
0 0 20px rgba(232,209,176,.18);
}
.categories{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
padding:40px 30px 30px;
max-width:1200px;
margin:-55px auto 0;
position:relative;
z-index:5;
}

.card{
    position:relative;

    display:flex;
    flex-direction:column;
    align-items:center;

background: linear-gradient(
    180deg,
    #2B1915 0%,
    #241510 100%
);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    border:1px solid rgba(232,209,176,.22);

    border-radius:28px;

    overflow:hidden;

    padding:30px 20px;

    text-align:center;

    cursor:pointer;

   box-shadow:
0 20px 45px rgba(0,0,0,.32),
0 0 18px rgba(232,209,176,.08);

    transition:
    transform .22s cubic-bezier(.34,1.56,.64,1),
    box-shadow .35s ease,
    border-color .35s ease;

    opacity:0;
    transform:translateY(40px);
    animation:cardFade .7s ease forwards;

}

.card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:3px;

background:linear-gradient(
90deg,
transparent,
#d8b27b,
#f2ddb0,
#d8b27b,
transparent
);

opacity:.9;
pointer-events:none;

}
.card:hover{
    transform:translateY(-10px) scale(1.03);

    border:1px solid rgba(255,255,255,.18);

    box-shadow:
        0 25px 60px rgba(0,0,0,.40),
        0 0 25px rgba(190,150,95,.18);
} .card:hover .emoji img{
    transform:translateY(-4px) scale(1.05);

    filter:
        drop-shadow(0 16px 24px rgba(0,0,0,.35))
        drop-shadow(0 28px 40px rgba(60,35,18,.22));
}

    .card:active{

    transform:scale(.97);

    transition:
        transform .12s ease-out;

    
}



.emoji{
    width:120px;
    height:120px;
    margin:0 auto 18px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:transparent;
    border-radius:0;
    overflow:hidden;
    box-shadow:none;
    font-size:50px;
}

.emoji img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    filter:drop-shadow(0 12px 20px rgba(0,0,0,.28));
}
.card h2{
font-size:26px;
margin-bottom:8px;
color:#fff;
}

.card p{
color:#d0d0d0;
}

.modal{
    display:none;
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100%;

    background:rgba(0,0,0,.92);

    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);

    z-index:999;

    padding:30px;

    overflow:auto;

    text-align:center;

    animation:fadeModal .25s ease;
}

.modal img{
    max-width:95%;
    max-height:82vh;

    border-radius:22px;

    border:2px solid rgba(255,255,255,.08);

    box-shadow:
        0 30px 70px rgba(0,0,0,.55),
        0 0 40px rgba(190,150,95,.20);

    margin-top:20px;
animation:zoom .25s ease;
    animation:zoomImage .35s cubic-bezier(.22,.61,.36,1);
}

.modal h2{
color:white;
margin-top:25px;
font-size:34px;
}

.close{
position:absolute;
left:25px;
top:20px;
font-size:45px;
color:white;
cursor:pointer;
transition:.3s;
}

.close:hover{
transform:rotate(90deg);
color:#d7b28a;
}


@media(max-width:768px){

.hero{
padding:65px 20px;
}

.hero h1{
font-size:34px;
letter-spacing:2px;
}

.hero p{
font-size:18px;
    opacity:0;
animation:fadeUp .8s ease forwards;
animation-delay:.6s;
}

.hero span{
font-size:13px;
padding:8px 20px;
    opacity:0;
animation:fadeUp .8s ease forwards;
animation-delay:1s;
}
 .hero-logo{
    width:280px;
    max-width:90%;
    height:auto;
    display:block;
    margin:0 auto 10px;
    filter:
        drop-shadow(0 10px 25px rgba(0,0,0,.35));
     opacity:0;
animation:fadeUp .8s ease forwards;
animation-delay:.2s;
 }

.categories{
padding:20px;
grid-template-columns:1fr;
gap:18px;
margin:-35px auto 0;
}

.card{
padding:24px 18px;
border-radius:24px;
}

.emoji{
width:110px;
height:110px;
}

.card h2{
font-size:24px;
}

.card p{
font-size:17px;
}

.modal{
padding:15px;
}

.modal h2{
font-size:28px;
margin-top:18px;
}

.modal img{
max-width:100%;
max-height:75vh;
}

.close{
font-size:42px;
top:15px;
left:18px;
}


}




.card:nth-child(1){animation-delay:.1s;}
.card:nth-child(2){animation-delay:.2s;}
.card:nth-child(3){animation-delay:.3s;}
.card:nth-child(4){animation-delay:.4s;}
.card:nth-child(5){animation-delay:.5s;}
.card:nth-child(6){animation-delay:.6s;}
.card:nth-child(7){animation-delay:.7s;}
.card:nth-child(8){animation-delay:.8s;}
.card:nth-child(9){animation-delay:.9s;}
.card:nth-child(10){animation-delay:1s;}
.card:nth-child(11){animation-delay:1.1s;}

@keyframes cardFade{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}


@keyframes fadeModal{

    from{
        opacity:0;
    }

    to{
        opacity:1;
    }

}
@keyframes zoomImage{

    from{
        opacity:0;
        transform:scale(.88);
    }

    to{
        opacity:1;
        transform:scale(1);
    }

}
@keyframes fadeUp{


    

from{
opacity:0;
transform:translateY(20px);
}

to{
opacity:1;
transform:translateY(0);
}

}
    
.ripple{

    position:absolute;

    border-radius:50%;

    transform:scale(0);

    background:rgba(255,255,255,.18);

    animation:ripple .6s linear;

    pointer-events:none;

}

@keyframes ripple{

    to{

        transform:scale(4);

        opacity:0;

    }

}
