.contact-page{

    max-width:1200px;
    margin:auto;
    padding:40px 20px 70px;
}

/* ---------- */

.page-title{
    text-align:center;
    margin-bottom:60px;
}

.page-title h1{
    color:#003366;
    margin-bottom:15px;
}

.page-title p{
    max-width:750px;
    margin:auto;
    line-height:1.8;
}

/* ---------- */

.general-contact{
    margin-bottom:60px;
}

.general-contact h2{
    text-align:center;
    margin-bottom:25px;
}

.general-card{
    background:white;
    padding:35px;
    border-radius:12px;
    box-shadow:0 6px 18px rgba(0,0,0,.08);
    text-align:center;
    line-height:2;
}

/* ---------- */

.contact-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:25px;
    margin:35px 0 60px;
}

.contact-card{
    background: rgb(245, 220, 145);
    padding:30px;
    border-radius:12px;
    box-shadow:0 6px 18px rgba(0,0,0,.08);
    transition:.3s;
}

.contact-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 28px rgba(0,0,0,.15);
}

.contact-card h3{
    color:#003366;
    margin-top:0;
}

.contact-card p{
    line-height:1.7;
}

/* ---------- */

.venue{
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:40px;
    align-items:center;
    margin:35px 0 60px;
}

.venue-text{

    line-height:1.8;
}

.venue-text h3 {
    color: blue;
}

.venue-map iframe{
    width:100%;
    height:420px;
    border:none;
    border-radius:12px;
    box-shadow:0 6px 18px rgba(0,0,0,.12);
}

/* ---------- */

section{

    margin-bottom:70px;
}

section>h2{
    text-align:center;
    color:#003366;
    margin-bottom:20px;
}

/* ---------- */

@media (max-width:900px){

    .venue{
        grid-template-columns:1fr;
    }

    .venue-map iframe{
        height:320px;
    }

}