/* --- General Page Styling --- */
body { 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    margin: 0; 
    text-align: center; 
    background-color: #f9f9f9; 
    line-height: 1.6;
}

/* --- Header/Banner Section --- */
header { 
    background-color: #004a99; 
    color: white; 
    padding: 80px 20px; 
    border-bottom: 5px solid #ffcc00; /* Prestige Gold Border */
}

header h1 { font-size: 2.5rem; margin-bottom: 10px; }

/* --- Main Content Container --- */
.container { 
    padding: 40px 20px; 
    max-width: 1100px; 
    margin: auto; 
}

/* --- Call to Action Button --- */
.cta-box { margin: 40px 0; }

.btn { 
    background-color: #25d366; 
    color: white; 
    padding: 18px 35px; 
    text-decoration: none; 
    border-radius: 50px; 
    font-weight: bold; 
    font-size: 1.2rem; 
    transition: 0.3s ease;
    display: inline-block;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
}

.btn:hover { 
    background-color: #1ebe57; 
    transform: scale(1.05);
}

/* --- Features/Cards Section --- */
.features { 
    display: flex; 
    justify-content: center; 
    margin-top: 40px; 
    flex-wrap: wrap; 
    gap: 20px;
}

.card { 
    background: white; 
    padding: 30px; 
    border-radius: 15px; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); 
    width: 280px; 
    border-top: 4px solid #004a99;
}

/* --- Gallery Grid System --- */
.gallery { 
    margin-top: 80px; 
    padding: 20px;
}

.photo-grid { 
    display: grid; 
    /* This makes the photos responsive (3 across on PC, 1 across on phone) */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
    gap: 25px; 
    margin-top: 30px; 
}

.photo-card { 
    background: #ffffff; 
    border-radius: 15px; 
    overflow: hidden; 
    box-shadow: 0 8px 15px rgba(0,0,0,0.05); 
    transition: 0.3s ease;
    border: 1px solid #eee;
}

.photo-card:hover {
    transform: translateY(-10px);
}

.photo-card img { 
    width: 100%; 
    height: 220px; 
    object-fit: cover; /* Ensures photos don't stretch */
    display: block;
}

.photo-card p {
    padding: 15px;
    font-weight: bold;
    color: #004a99;
    margin: 0;
}

/* --- Testimonials --- */
.testimonials { 
    background: #004a99; 
    color: white; 
    padding: 50px 20px; 
    margin-top: 80px; 
    border-radius: 20px; 
}

.quote-card p { font-style: italic; font-size: 1.3rem; margin-bottom: 10px; }
.quote-card cite { font-size: 1rem; color: #ffcc00; font-weight: bold; }

/* --- Footer --- */
footer { 
    background: #222; 
    color: #bbb; 
    padding: 40px 20px; 
    margin-top: 100px; 
}

footer strong { color: white; display: block; margin-bottom: 10px; font-size: 1.2rem; }