/* ===========================
   ENGLISH SPEAKING CAFE
   Premium Landing Page
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;

    background:#07152d;

    color:#fff;

    overflow-x:hidden;

    min-height:100vh;

}

/* ===========================
Animated Gradient Background
=========================== */

.gradient{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:linear-gradient(
-45deg,
#07152d,
#0b2d6b,
#143d8f,
#c62828,
#07152d
);

background-size:500% 500%;

animation:gradientMove 15s ease infinite;

z-index:-5;

}

@keyframes gradientMove{

0%{

background-position:0% 50%;

}

50%{

background-position:100% 50%;

}

100%{

background-position:0% 50%;

}

}

/* ===========================
Blur Effects
=========================== */

.blur{

position:fixed;

border-radius:50%;

filter:blur(120px);

opacity:.45;

z-index:-4;

}

.blur1{

width:350px;
height:350px;

background:#1b75ff;

top:-120px;
left:-120px;

animation:float1 12s infinite alternate;

}

.blur2{

width:320px;
height:320px;

background:#ff3a3a;

right:-120px;
bottom:-120px;

animation:float2 10s infinite alternate;

}

@keyframes float1{

to{

transform:translateY(120px);

}

}

@keyframes float2{

to{

transform:translateY(-150px);

}

}

/* ===========================
Particles Canvas
=========================== */

#particles{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

z-index:-3;

}

/* ===========================
Header
=========================== */

header{

padding:30px;

display:flex;

justify-content:center;

align-items:center;

}

.logo img{

width:150px;

transition:.5s;

}

.logo img:hover{

transform:scale(1.08);

}

/* ===========================
Hero
=========================== */

.hero{

padding:40px 20px;

text-align:center;

}

.hero h1{

font-size:58px;

font-weight:800;

text-shadow:0 0 20px rgba(255,255,255,.25);

}

.hero p{

margin-top:15px;

font-size:22px;

color:#ddd;

}

/* ===========================
Cards
=========================== */

.cards{

display:flex;

justify-content:center;

gap:40px;

padding:60px;

flex-wrap:wrap;

}

/* ===========================
Glass Card
=========================== */

.card{

width:430px;

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

backdrop-filter:blur(20px);

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

border-radius:28px;

overflow:hidden;

transition:.5s;

box-shadow:

0 25px 50px rgba(0,0,0,.35);

}

.card:hover{

transform:

translateY(-12px)

rotateX(4deg)

scale(1.02);

box-shadow:

0 35px 70px rgba(0,0,0,.45);

}

.cards a{

text-decoration:none;

color:white;

}

.image{

height:270px;

overflow:hidden;

}

.image img{

width:100%;

height:100%;

object-fit:cover;

transition:.8s;

}

.card:hover img{

transform:scale(1.08);

}

.content{

padding:35px;

text-align:center;

}

.content h2{

font-size:32px;

margin-bottom:10px;

}

.content h3{

font-size:22px;

font-weight:400;

color:#ddd;

margin-bottom:20px;

}

.content p{

font-size:17px;

line-height:1.8;

margin-bottom:30px;

}

/* ===========================
Button
=========================== */

button{

padding:15px 35px;

border:none;

border-radius:40px;

cursor:pointer;

font-size:17px;

font-weight:700;

background:#e53935;

color:white;

transition:.35s;

}

button:hover{

background:#ffffff;

color:#0b2d6b;

transform:scale(1.08);

}

/* ===========================
Contact
=========================== */

.contact{

text-align:center;

padding:40px;

}

.contact h2{

margin-bottom:25px;

font-size:34px;

}

.phone{

font-size:24px;

display:flex;

justify-content:center;

gap:15px;

align-items:center;

}

/* ===========================
Social
=========================== */

.social{

display:flex;

justify-content:center;

gap:28px;

padding:30px;

}

.social a{

width:65px;

height:65px;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

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

color:white;

font-size:28px;

transition:.35s;

}

.social a:hover{

transform:translateY(-10px);

background:#fff;

color:#0b2d6b;

}

/* ===========================
Maps
=========================== */

.maps{

display:flex;

justify-content:center;

padding:40px;

}

.maps a{

padding:18px 40px;

border-radius:50px;

background:#0b2d6b;

color:white;

text-decoration:none;

font-weight:600;

transition:.35s;

}

.maps a:hover{

background:#e53935;

}

/* ===========================
Footer
=========================== */

footer{

text-align:center;

padding:35px;

color:#ddd;

font-size:15px;

}

/* ===========================
Responsive
=========================== */

@media(max-width:900px){

.hero h1{

font-size:40px;

}

.hero p{

font-size:18px;

}

.card{

width:95%;

}

.cards{

padding:30px;

}

}
@keyframes ripple {

from{

transform:scale(0);

opacity:1;

}

to{

transform:scale(4);

opacity:0;

}

}