.contact-section{
    padding-top:56px;
    padding-bottom:88px;
    background:transparent;
}

.contact-intro{
    max-width:980px;
    margin:0 auto 34px;
    text-align:center;
}
.contact-intro h2{
    margin:0;
    color:#20313f;
    font-family:var(--pm-font-display);
    font-weight:800;
    line-height:1.14;
    letter-spacing:-.01em;
    text-wrap:balance;
}
.contact-intro-heading-size-small h2{font-size:clamp(1.7rem,2.5vw,2.35rem);}
.contact-intro-heading-size-medium h2{font-size:clamp(2rem,3.2vw,3rem);}
.contact-intro-heading-size-large h2{font-size:clamp(2.35rem,4vw,3.65rem);}
.contact-layout{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
    gap:28px;
    align-items:stretch;
    max-width:1180px;
    margin:0 auto 42px;
}

.contact-card,
.contact-map-fullwidth.contact-map-fullwidth-clean{
    border:1px solid rgba(243,217,207,.9);
    border-radius:32px;
    background:transparent;
    box-shadow:0 18px 44px rgba(31,49,63,.07);
}

.contact-card{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-width:0;
    padding:36px 32px;
    text-align:center;
}
.contact-card-main{
    gap:24px;
    background:linear-gradient(135deg,#fff 0%,#fff8f3 58%,#eef8f2 100%);
}
.contact-card-side{
    background:linear-gradient(135deg,#fff 0%,#fff4ee 100%);
}
.contact-main-header,
.contact-card-side{
    text-align:center;
}
.contact-main-header{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}

.contact-side-title,
.contact-main-header h2,
.contact-card h2{
    position:relative;
    margin:0;
    color:#e95f45;
    font-family:var(--pm-font-display);
    font-size:clamp(2rem,3.2vw,2.85rem);
    font-weight:800;
    line-height:1.02;
    letter-spacing:.01em;
}
.contact-heading-size-small .contact-side-title,
.contact-heading-size-small .contact-main-header h2,
.contact-heading-size-small .contact-card h2{
    font-size:clamp(1.65rem,2.4vw,2.25rem);
}
.contact-heading-size-medium .contact-side-title,
.contact-heading-size-medium .contact-main-header h2,
.contact-heading-size-medium .contact-card h2{
    font-size:clamp(2rem,3.2vw,2.85rem);
}
.contact-heading-size-large .contact-side-title,
.contact-heading-size-large .contact-main-header h2,
.contact-heading-size-large .contact-card h2{
    font-size:clamp(2.25rem,3.8vw,3.35rem);
}

.contact-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    width:min(100%,520px);
    margin:0 auto;
}
.contact-action,
.contact-action-static,
.contact-action-location{
    position:relative;
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:16px;
    row-gap:4px;
    align-items:center;
    min-height:96px;
    width:100%;
    padding:14px 18px;
    border:1px solid rgba(242,107,79,.14);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,244,239,.82));
    box-shadow:0 12px 26px rgba(31,49,63,.055);
    color:inherit;
    text-align:left;
    text-decoration:none;
    overflow:hidden;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.contact-action:hover{
    transform:translateY(-2px);
    border-color:rgba(242,107,79,.24);
    box-shadow:0 16px 30px rgba(31,49,63,.075);
}
.contact-img-icon,
.contact-svg-icon,
.contact-action span{
    grid-row:1 / span 2;
    grid-column:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:60px;
    height:60px;
    margin:0;
    border-radius:50%;
    background:#CC4B33;
    color:#fff;
    overflow:hidden;
}
.contact-img-icon img,
.contact-svg-icon img,
.contact-action span img{
    display:block;
    width:38px;
    height:38px;
    object-fit:contain;
}
.contact-action strong,
.contact-action-static strong{
    grid-column:2;
    align-self:end;
    margin:0;
    color:#CC4B33;
    font-size:.88rem;
    font-weight:800;
    line-height:1.15;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.contact-action em,
.contact-action-static em{
    grid-column:2;
    align-self:start;
    margin:0;
    color:var(--pm-dark, #20313f);
    font-family:var(--pm-font-body);
    font-size:1.08rem;
    font-style:normal;
    font-weight:500;
    line-height:1.32;
    letter-spacing:-.01em;
}

.contact-hours-list{
    display:grid;
    gap:12px;
    width:100%;
    margin-top:26px;
}
.contact-hours-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    border:1px solid rgba(242,107,79,.13);
    border-radius:16px;
    background:rgba(255,255,255,.72);
    box-shadow:0 10px 22px rgba(31,49,63,.045);
    color:#20313f;
    font-family:var(--pm-font-body);
    text-align:left;
}
.contact-hours-row span{
    font-weight:700;
}
.contact-hours-row strong{
    min-width:116px;
    padding:7px 11px;
    border-radius:var(--pm-radius-pill);
    background:rgba(242,107,79,.11);
    color:#e95f45;
    font-weight:800;
    text-align:center;
    white-space:nowrap;
}

.contact-map-fullwidth.contact-map-fullwidth-clean{
    width:min(calc(100% - 48px), var(--pm-container));
    max-width:1180px;
    margin:34px auto 0;
    padding:0;
    overflow:hidden;
}
.contact-map-wrap{
    width:100%;
    height:520px;
    border-radius:30px;
    background:transparent;
    box-shadow:none;
    overflow:hidden;
}
.contact-map-wrap iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
}

.contact-extra-content{
    max-width:960px;
    margin:42px auto 0;
    padding:28px;
    border-radius:24px;
    background:transparent;
    box-shadow:0 12px 30px rgba(31,49,63,.055);
}

@media (max-width:980px){
    .contact-layout{
        grid-template-columns:1fr;
        max-width:760px;
    }
    .contact-map-wrap{
        height:420px;
    }
}

@media (max-width:640px){
    .contact-section{
        padding-top:48px;
        padding-bottom:68px;
    }
    .contact-card{
        padding:28px 18px;
        border-radius:26px;
    }
    .contact-action,
    .contact-action-static,
    .contact-action-location{
        grid-template-columns:1fr;
        justify-items:center;
        min-height:0;
        padding:18px 16px;
        text-align:center;
    }
    .contact-img-icon,
    .contact-svg-icon,
    .contact-action span,
    .contact-action strong,
    .contact-action-static strong,
    .contact-action em,
    .contact-action-static em{
        grid-column:auto;
        grid-row:auto;
    }
    .contact-action em,
    .contact-action-static em{
        font-size:1rem;
    }
    .contact-hours-row{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }
    .contact-hours-row strong{
        min-width:0;
    }
    .contact-map-fullwidth.contact-map-fullwidth-clean{
        width:min(calc(100% - 28px), var(--pm-container));
        border-radius:26px;
    }
    .contact-map-wrap{
        height:340px;
        border-radius:24px;
    }
}


/* Contrast improvement */
.news-card,.post-card,.pm-post-card{background:#fff!important;border:1px solid rgba(0,0,0,.06)!important;box-shadow:0 10px 30px rgba(0,0,0,.06)!important;}
