/*==============================================================
WELCOME
==============================================================*/

.visit-intro{

    padding:120px 0;

}

.visit-intro .two-column{

    display:grid;

    grid-template-columns:minmax(0,1fr) minmax(0,520px);

    gap:60px;

    align-items:center;

}

.visit-intro .section-label{

    margin-bottom:20px;

}

.visit-intro h2{

    margin:20px 0 30px;

    max-width:650px;

}

.visit-intro p{

    color:#616b7f;

    line-height:1.95;

    font-size:1.05rem;

    margin-bottom:22px;

}

.visit-photo{

    position:relative;

}

.visit-photo img{

    width:100%;

    height:520px;

    object-fit:cover;

    object-position:center;

    border-radius:30px;

    display:block;

    box-shadow:0 28px 70px rgba(15,25,55,.10);

    transition:.45s;

}

.visit-photo img:hover{

    transform:scale(1.02);

}

@media(max-width:992px){

    .visit-intro .two-column{

        grid-template-columns:1fr;

        gap:55px;

    }

    .visit-photo img{

        height:500px;

    }

}

.visit-intro .two-column > div{

    min-width:0;

}

.visit-intro h2{

    max-width:580px;

}

.visit-intro p{

    max-width:620px;

}

.visit-photo{

    width:100%;

    max-width:520px;

    justify-self:end;

}

/*==============================================================
WHAT TO EXPECT
==============================================================*/

.expect-section{

    padding:110px 0;

    background:#f8f9fb;

}

.expect-section .section-heading{

    text-align:center;

    max-width:760px;

    margin:0 auto 70px;

}

.expect-section .section-heading p{

    margin-top:20px;

    color:#616b7f;

    line-height:1.9;

}

.expect-grid{

    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:35px;

}

.expect-card{

    background:#fff;

    padding:45px;

    border-radius:26px;

    box-shadow:0 20px 60px rgba(0,0,0,.05);

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.expect-card:hover{

    transform:translateY(-10px);

    box-shadow:0 28px 70px rgba(0,0,0,.08);

}

.expect-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:#d4af37;

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.expect-card:hover::before{

    transform:scaleX(1);

}

.expect-card i{

    width:75px;

    height:75px;

    border-radius:22px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:28px;

    background:#f8f5ea;

    color:#d4af37;

    font-size:1.8rem;

}

.expect-card h3{

    margin-bottom:18px;

    font-size:1.45rem;

    color:#123d7a;

}

.expect-card p{

    color:#616b7f;

    line-height:1.85;

    margin:0;

}

/*==============================================================
RESPONSIVE
==============================================================*/

@media(max-width:992px){

    .expect-grid{

        grid-template-columns:repeat(2,minmax(0,1fr));

    }

}

@media(max-width:768px){

    .expect-grid{

        grid-template-columns:1fr;

    }

    .expect-card{

        padding:35px;

    }

}

/*==============================================================
SERVICE TIMES
==============================================================*/

.visit-service-times{

    padding:110px 0;

}

.service-list{

    margin-top:45px;

}

.service-item{

    display:flex;

    gap:22px;

    align-items:flex-start;

    margin-bottom:28px;

}

.service-item i{

    width:62px;

    height:62px;

    border-radius:18px;

    background:#f8f5ea;

    color:#d4af37;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.3rem;

    flex-shrink:0;

}

.service-item h4{

    margin:0 0 8px;

    color:#123d7a;

}

.service-item p{

    margin:0;

    color:#616b7f;

}

.visit-buttons{

    margin-top:45px;

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.visit-location-image{

    position:relative;

}

.visit-location-image img{

    width:100%;

    border-radius:28px;

    display:block;

    box-shadow:0 25px 70px rgba(0,0,0,.08);

}

.location-card{

.location-card{

    position:absolute;

    left:35px;
    bottom:35px;

}

.location-card i{

    color:#d4af37;

    font-size:1.6rem;

    margin-bottom:16px;

}

.location-card h4{

    margin-bottom:10px;

}

.location-card p{

    margin:0;

    color:#616b7f;

}

/*==============================================================
SERVICE TIMES
==============================================================*/

.service-location{

    padding:110px 0;

    background:#fff;

}

.service-location-grid{

    display:grid;

    grid-template-columns:1.05fr .95fr;

    gap:90px;

    align-items:start;

}

.service-location h2{

    margin-bottom:30px;

}

.service-location p{

    color:#616b7f;

    line-height:1.9;

}


.service-list{

    margin-top:55px;

}

.service-item{

    display:flex;

    align-items:flex-start;

    gap:28px;

    margin-bottom:38px;

}

.service-item:last-child{

    margin-bottom:0;

}

.service-item i{

    width:78px;

    height:78px;

    background:#fbf7eb;

    color:#d4af37;

    border-radius:22px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.55rem;

    flex-shrink:0;

    transition:.35s;

}

.service-item:hover i{

    background:#d4af37;

    color:#fff;

    transform:rotate(-8deg);

}

.service-item h4{

    margin:0 0 10px;

    color:#123d7a;

}

.service-item p{

    margin:0;

    color:#616b7f;

}

.location-card{

    background:#fff;

    border-radius:28px;

    padding:45px;

    box-shadow:0 25px 70px rgba(0,0,0,.08);

    margin-bottom:35px;

}

.location-card i{

    font-size:2rem;

    color:#d4af37;

    margin-bottom:20px;

}

.location-card h4{

    margin-bottom:18px;

}

.location-card p{

    margin-bottom:28px;

}

.location-buttons{

    display:flex;

    gap:18px;

    margin-top:25px;

    flex-wrap:wrap;

}

.location-buttons a{

    min-width:210px;

}

.location-map{

    overflow:hidden;

    border-radius:28px;

    box-shadow:0 22px 65px rgba(0,0,0,.08);

}

.location-map img{

    width:100%;

    height:520px;

    object-fit:cover;

    transition:.45s;

}

.location-map:hover img{

    transform:scale(1.05);

}

.service-item{

    transition:.3s;

}

.service-item:hover{

    transform:translateX(8px);

}

.location-card .visit-buttons{

    margin-top:30px;

    display:flex;

    gap:15px;

    flex-wrap:wrap;

}