/* ================= GOOGLE FONT ================= */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Inter:wght@300;400;500;600&display=swap');

/* ================= RESET ================= */
* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body {
    background:#f8fafc;
    font-family:'Inter', sans-serif;
    color:#1e293b;
    overflow-x:hidden;
}

/* ================= HEADER ================= */

header {
    text-align:center;
    padding:80px 20px 40px;
}

header h1 {
    font-family:'Playfair Display', serif;
    font-size:48px;
    font-weight:700;
    color:#0f172a;
    margin-bottom:15px;
    letter-spacing:1px;
}

header p {
    font-size:18px;
    color:#64748b;
    font-weight:400;
}

/* ================= SERVICES GRID ================= */

.services {
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
    gap:35px;
    padding:40px 20px 80px;
}

/* ================= CARD DESIGN ================= */

.card {
    background:white;
    border-radius:24px;
    overflow:hidden;
    cursor:pointer;
    transition:all 0.4s ease;
    box-shadow:0 10px 30px rgba(0,0,0,0.06);
    position:relative;
}

.card img {
    width:100%;
    height:220px;
    object-fit:cover;
    transition:0.4s ease;
}

.card-content {
    padding:25px;
}

.card h2 {
    font-family:'Playfair Display', serif;
    font-size:24px;
    margin-bottom:10px;
    color:#0f172a;
}

.card p {
    font-size:15px;
    color:#64748b;
    line-height:1.6;
}

/* Hover Effect */

.card:hover {
    transform:translateY(-12px);
    box-shadow:0 20px 50px rgba(0,0,0,0.1);
}

.card:hover img {
    transform:scale(1.05);
}

/* Premium subtle border glow */
.card::after {
    content:'';
    position:absolute;
    inset:0;
    border-radius:24px;
    padding:1px;
    background:linear-gradient(135deg,#6366f1,#06b6d4);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity:0;
    transition:0.4s;
}

.card:hover::after {
    opacity:1;
}

/* ================= OVERLAY PANELS ================= */

.overlay-top,
.overlay-bottom {
    position:fixed;
    left:0;
    width:100%;
    height:50%;
    background:rgb(255, 149, 0);
    z-index:999;
    transform:scaleY(0);
    pointer-events:none;
}

.overlay-top {
    top:0;
    transform-origin:top;
}

.overlay-bottom {
    bottom:0;
    transform-origin:bottom;
}

/* ================= RESPONSIVE ================= */

@media (max-width:992px) {

    header h1 {
        font-size:36px;
    }

}

@media (max-width:768px) {

    header {
        padding:60px 20px 30px;
    }

    header h1 {
        font-size:30px;
    }

    header p {
        font-size:16px;
    }

    .card img {
        height:180px;
    }

}

@media (max-width:480px) {

    .services {
        gap:25px;
    }

    .card-content {
        padding:20px;
    }

}