.elementor-23 .elementor-element.elementor-element-9e49bf7{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-3d3ed48 *//* =====================================================
   CONTACT PAGE
===================================================== */

.wc-contact,
.wc-contact *,
.wc-contact *::before,
.wc-contact *::after{
    box-sizing:border-box;
}

.wc-contact{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    color:#5f7079;
    background:#fff;
    font-family:"Inter",Arial,sans-serif;
}

.wc-contact a{
    text-decoration:none;
}

.wc-contact__container{
    width:100% !important;
    max-width:1280px !important;
    margin:0 auto !important;
    padding-left:32px !important;
    padding-right:32px !important;
}

.wc-contact__eyebrow{
    display:block;
    margin:0 0 17px;
    color:#c9a24d;
    font-size:.78rem;
    font-weight:700;
    line-height:1.3;
    letter-spacing:.14em;
    text-transform:uppercase;
}


/* =====================================================
   BUTTONS
===================================================== */

.wc-contact__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:58px;
    padding:15px 28px;

    border:1px solid #c9a24d;
    border-radius:3px;

    color:#102b43 !important;
    background:#c9a24d;

    font-size:.94rem;
    font-weight:700;
    line-height:1.3;
    text-align:center;

    transition:
        background-color .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease;
}

.wc-contact__button:hover{
    border-color:#d5ae57;
    background:#d5ae57;
    color:#102b43 !important;
    transform:translateY(-2px);
}

.wc-contact__button--outline{
    border-color:rgba(255,255,255,.5);
    background:transparent;
    color:#fff !important;
}

.wc-contact__button--outline:hover{
    border-color:#fff;
    background:#fff;
    color:#183a5a !important;
}


/* =====================================================
   HERO
===================================================== */

.wc-contact-hero{
    position:relative;
    width:100%;
    padding:105px 0;
    overflow:hidden;

    background:
        radial-gradient(
            circle at 84% 18%,
            rgba(76,154,138,.2),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #102b43 0%,
            #183a5a 100%
        );
}

.wc-contact-hero::before{
    content:"";
    position:absolute;
    top:-170px;
    right:-90px;

    width:420px;
    height:420px;

    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
}

.wc-contact-hero::after{
    content:"";
    position:absolute;
    right:150px;
    bottom:-230px;

    width:510px;
    height:510px;

    border:1px solid rgba(255,255,255,.05);
    border-radius:50%;
}

.wc-contact-hero__content{
    position:relative;
    z-index:2;
    max-width:800px;
}

.wc-contact-hero h1{
    max-width:760px;
    margin:0 0 24px;

    color:#fff;

    font-family:"DM Serif Display",Georgia,serif;
    font-size:clamp(2.9rem,5vw,4.7rem);
    font-weight:400;
    line-height:1.03;
    letter-spacing:-.025em;
}

.wc-contact-hero p{
    max-width:700px;
    margin:0;

    color:rgba(255,255,255,.79);

    font-size:1.05rem;
    line-height:1.8;
}

.wc-contact-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin-top:32px;
}


/* =====================================================
   MAIN
===================================================== */

.wc-contact-main{
    width:100%;
    padding:90px 0;
    background:#f4f7f7;
}

.wc-contact-main__grid{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:clamp(45px,6vw,80px);
    align-items:start;
}


/* =====================================================
   OFFICE INFORMATION
===================================================== */

.wc-contact-info{
    min-width:0;
}

.wc-contact-info h2{
    margin:0 0 18px;

    color:#183a5a;

    font-family:"DM Serif Display",Georgia,serif;
    font-size:clamp(2.2rem,4vw,3.35rem);
    font-weight:400;
    line-height:1.08;
    letter-spacing:-.025em;
}

.wc-contact-info__intro{
    max-width:540px;
    margin:0 0 30px;

    color:#667780;

    font-size:.98rem;
    line-height:1.8;
}

.wc-contact-info__list{
    display:grid;
    gap:16px;
}

.wc-contact-info__group{
    display:grid;
    grid-template-columns:50px minmax(0,1fr);
    gap:17px;
    align-items:start;

    padding:23px 24px;

    border:1px solid #dfe7e9;
    background:#fff;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.wc-contact-info__group:hover{
    transform:translateY(-2px);
    border-color:#d0dce0;
    box-shadow:0 12px 30px rgba(24,58,90,.06);
}

.wc-contact-info__icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:50px;
    height:50px;

    border-radius:50%;

    color:#183a5a;
    background:#edf4f3;
}

.wc-contact-info__icon svg{
    width:21px;
    height:21px;

    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.wc-contact-info__group h3{
    margin:1px 0 10px;

    color:#183a5a;

    font-size:.78rem;
    font-weight:700;
    line-height:1.3;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.wc-contact-info__group p{
    margin:0 0 6px;

    color:#667780;

    font-size:.92rem;
    line-height:1.65;
}

.wc-contact-info__group p:last-child{
    margin-bottom:0;
}

.wc-contact-info__group p strong{
    color:#526b77;
    font-weight:700;
}

.wc-contact-info__group a{
    color:#526b77 !important;
}

.wc-contact-info__group a:hover{
    color:#2f6f9f !important;
}

.wc-contact-info__meta-list{
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;

    margin-top:12px;
}

.wc-contact-info__meta-list span{
    color:#85939a;
    font-size:.76rem;
    line-height:1.5;
}

.wc-contact-info__meta-list span:not(:last-child)::after{
    content:"•";
    margin-left:12px;
    color:#c9a24d;
}


/* =====================================================
   EMERGENCY
===================================================== */

.wc-contact-emergency{
    margin-top:22px;
    padding:21px 23px;

    border-left:4px solid #c9a24d;
    background:#fff;
}

.wc-contact-emergency strong{
    display:block;
    margin-bottom:6px;

    color:#183a5a;

    font-size:.9rem;
}

.wc-contact-emergency p{
    margin:0;

    color:#677881;

    font-size:.84rem;
    line-height:1.65;
}


/* =====================================================
   MAP
===================================================== */

.wc-contact-map-card{
    min-width:0;
    overflow:hidden;

    border-top:4px solid #c9a24d;
    background:#fff;

    box-shadow:0 20px 55px rgba(24,58,90,.08);
}

.wc-contact-map-card__header{
    padding:34px 36px 27px;
}

.wc-contact-map-card__header h2{
    margin:0 0 14px;

    color:#183a5a;

    font-family:"DM Serif Display",Georgia,serif;
    font-size:clamp(2rem,3.5vw,3rem);
    font-weight:400;
    line-height:1.08;
}

.wc-contact-map-card__header p{
    margin:0;

    color:#667780;

    font-size:.92rem;
    line-height:1.7;
}

.wc-contact-map-card__frame-wrap{
    width:100%;
    height:500px;
    overflow:hidden;

    background:#e9eeee;
}

.wc-contact-map-card__frame{
    display:block;
    width:100%;
    height:500px;

    border:0;

    filter:saturate(.88) contrast(.96);
}

.wc-contact-map-card__footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;

    padding:22px 36px;

    border-top:1px solid #e2e8ea;
}

.wc-contact-map-card__footer strong{
    display:block;
    margin-bottom:3px;

    color:#183a5a;

    font-size:.88rem;
    line-height:1.45;
}

.wc-contact-map-card__footer span{
    display:block;

    color:#7a898f;

    font-size:.8rem;
}

.wc-contact-map-card__link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;

    color:#2f6f9f !important;

    font-size:.84rem;
    font-weight:700;
}

.wc-contact-map-card__link:hover{
    color:#183a5a !important;
}


/* =====================================================
   APPOINTMENT CTA
===================================================== */

.wc-contact-appointment{
    width:100%;
    padding:65px 0;
    background:#eef3f4;
}

.wc-contact-appointment__inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:45px;

    padding:38px 42px;

    border-top:3px solid #c9a24d;
    background:#fff;
}

.wc-contact-appointment__content{
    max-width:720px;
}

.wc-contact-appointment h2{
    margin:0 0 12px;

    color:#183a5a;

    font-family:"DM Serif Display",Georgia,serif;
    font-size:clamp(2rem,3.5vw,2.9rem);
    font-weight:400;
    line-height:1.1;
}

.wc-contact-appointment p{
    margin:0;

    color:#667780;

    font-size:.94rem;
    line-height:1.7;
}


/* =====================================================
   FAQ
===================================================== */

.wc-contact-faq{
    width:100%;
    padding:90px 0;
    background:#fff;
}

.wc-contact-faq__header{
    max-width:750px;
    margin:0 auto 48px;
    text-align:center;
}

.wc-contact-faq__header h2{
    margin:0 0 16px;

    color:#183a5a;

    font-family:"DM Serif Display",Georgia,serif;
    font-size:clamp(2.2rem,4vw,3.4rem);
    font-weight:400;
    line-height:1.08;
}

.wc-contact-faq__header p{
    margin:0;

    color:#687983;

    font-size:.97rem;
    line-height:1.75;
}

.wc-contact-faq__list{
    max-width:920px;
    margin:0 auto;

    border-top:1px solid #dfe6e8;
}

.wc-contact-faq details{
    border-bottom:1px solid #dfe6e8;
}

.wc-contact-faq summary{
    position:relative;

    padding:22px 50px 22px 0;

    cursor:pointer;

    color:#183a5a;

    font-size:.98rem;
    font-weight:700;
    line-height:1.5;

    list-style:none;
}

.wc-contact-faq summary::-webkit-details-marker{
    display:none;
}

.wc-contact-faq summary::after{
    content:"+";

    position:absolute;
    top:50%;
    right:4px;

    color:#c9a24d;

    font-size:1.6rem;
    font-weight:400;

    transform:translateY(-50%);
}

.wc-contact-faq details[open] summary::after{
    content:"−";
}

.wc-contact-faq__answer{
    max-width:820px;

    padding:0 40px 23px 0;

    color:#667780;

    font-size:.92rem;
    line-height:1.8;
}


/* =====================================================
   FINAL CTA
===================================================== */

.wc-contact-cta{
    width:100%;
    padding:80px 0;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(76,154,138,.17),
            transparent 32%
        ),
        #102b43;
}

.wc-contact-cta__inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:55px;
}

.wc-contact-cta__content{
    max-width:700px;
}

.wc-contact-cta h2{
    margin:0 0 13px;

    color:#fff;

    font-family:"DM Serif Display",Georgia,serif;
    font-size:clamp(2.1rem,4vw,3.25rem);
    font-weight:400;
    line-height:1.08;
}

.wc-contact-cta p{
    margin:0;

    color:rgba(255,255,255,.72);

    font-size:.96rem;
    line-height:1.75;
}

.wc-contact-cta__actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    flex:0 0 auto;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1020px){

    .wc-contact-main__grid{
        grid-template-columns:1fr;
    }

    .wc-contact-map-card__frame-wrap,
    .wc-contact-map-card__frame{
        height:450px;
    }

    .wc-contact-appointment__inner,
    .wc-contact-cta__inner{
        align-items:flex-start;
        flex-direction:column;
    }

}

@media(max-width:760px){

    .wc-contact__container{
        padding-left:20px !important;
        padding-right:20px !important;
    }

    .wc-contact-hero{
        padding:80px 0;
    }

    .wc-contact-main,
    .wc-contact-faq{
        padding-top:70px;
        padding-bottom:70px;
    }

    .wc-contact-appointment{
        padding:55px 0;
    }

    .wc-contact-appointment__inner{
        padding:30px 25px;
    }

    .wc-contact-map-card__header{
        padding:30px 25px 23px;
    }

    .wc-contact-map-card__footer{
        align-items:flex-start;
        flex-direction:column;

        padding:21px 25px;
    }

    .wc-contact-map-card__frame-wrap,
    .wc-contact-map-card__frame{
        height:380px;
    }

    .wc-contact-cta{
        padding:65px 0;
    }

    .wc-contact-cta__actions{
        width:100%;
    }

    .wc-contact-cta__actions .wc-contact__button,
    .wc-contact-appointment .wc-contact__button{
        width:100%;
    }

}

@media(max-width:520px){

    .wc-contact-hero__actions{
        display:grid;
    }

    .wc-contact-hero__actions .wc-contact__button{
        width:100%;
    }

    .wc-contact-info__group{
        grid-template-columns:44px minmax(0,1fr);
        gap:14px;
        padding:20px;
    }

    .wc-contact-info__icon{
        width:44px;
        height:44px;
    }

    .wc-contact-info__meta-list{
        display:grid;
        gap:4px;
    }

    .wc-contact-info__meta-list span::after{
        display:none;
    }

}

@media(max-width:400px){

    .wc-contact__container{
        padding-left:17px !important;
        padding-right:17px !important;
    }

    .wc-contact-info__group{
        grid-template-columns:1fr;
    }

}/* End custom CSS */