/* Shared clinic footer: compact, balanced navigation and clear contact details. */
footer.site-footer-redesign {
    position: relative;
    width: 100%;
    overflow: hidden;
    scroll-margin-top: 96px;
    padding: 48px 0 0;
    border-top: 1px solid rgba(8, 125, 137, .17);
    color: #526c72;
    background:
        radial-gradient(ellipse at 78% 15%, rgba(115, 192, 184, .12), transparent 35%),
        #f4faf9;
    font-family: var(--body, "Inter", sans-serif);
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
}

footer.site-footer-redesign::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    height: auto;
    content: "";
    background: linear-gradient(180deg, #087d89, rgba(8, 125, 137, .08));
    opacity: 1;
}

.site-footer-redesign .rd-container {
    width: min(100% - 72px, 1240px);
    margin-inline: auto;
}

.site-footer-redesign .rd-footer-main {
    display: grid;
    grid-template-columns: minmax(205px, 1.05fr) minmax(350px, 1.75fr) minmax(150px, .82fr) minmax(280px, 1.32fr);
    align-items: stretch;
    gap: clamp(22px, 3vw, 46px);
    padding-bottom: 40px;
}

.site-footer-redesign .rd-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 3px 0;
}

.site-footer-redesign .rd-brand-lockup {
    display: flex;
    align-items: center;
    gap: 12px;
    color: inherit;
    text-decoration: none;
}

.site-footer-redesign .rd-brand-lockup img {
    display: block;
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 12px;
    background: #fff;
    object-fit: contain;
}

.site-footer-redesign .rd-brand-name { display: block; min-width: 0; }

.site-footer-redesign .rd-brand-name strong {
    display: block;
    color: #193d45;
    font-family: var(--heading, "Playfair Display", Georgia, serif);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.25px;
    line-height: 1.25;
}

.site-footer-redesign .rd-brand-name small {
    display: block;
    margin-top: 5px;
    color: #087d89;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .9px;
    line-height: 1.45;
    text-transform: uppercase;
}

.site-footer-redesign .rd-brand-copy {
    max-width: 290px;
    margin: 21px 0 22px;
    color: #526c72;
    font-size: 13px;
    line-height: 1.75;
}

.site-footer-redesign .rd-socials { display: flex; gap: 9px; margin-top: auto; }

.site-footer-redesign .rd-socials a {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(25, 61, 69, .14);
    border-radius: 50%;
    color: #45666d;
    background: #fff;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.site-footer-redesign .rd-socials a:hover {
    transform: translateY(-2px);
    border-color: rgba(8, 125, 137, .42);
    color: #087d89;
    background: #eaf5f4;
}

.site-footer-redesign .rd-socials svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.site-footer-redesign .rd-socials a:nth-child(2) svg { fill: currentColor; stroke: none; }
.site-footer-redesign .rd-socials .rd-play { fill: #fff; }
.site-footer-redesign .rd-socials .rd-social-dot { fill: currentColor; stroke: none; }

.site-footer-redesign .rd-nav { min-width: 0; padding-top: 4px; }

.site-footer-redesign .rd-nav h2,
.site-footer-redesign .rd-contact-heading h2 {
    margin: 0;
    color: #193d45;
    font-family: var(--body, "Inter", sans-serif);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.45px;
    line-height: 1.3;
    text-transform: uppercase;
}

.site-footer-redesign .rd-nav h2 {
    padding: 0 0 13px;
    border-bottom: 1px solid rgba(25, 61, 69, .14);
    margin-bottom: 15px;
}

.site-footer-redesign .rd-treatment-columns {
    display: grid;
    grid-template-columns: 1.1fr .95fr;
    gap: 14px;
}

.site-footer-redesign .rd-link-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer-redesign .rd-link-list a {
    position: relative;
    display: inline;
    color: #526c72;
    font-size: 12px;
    line-height: 1.55;
    text-decoration: none;
    text-decoration-color: rgba(8, 125, 137, .36);
    text-underline-offset: 3px;
    transition: color .18s ease, text-decoration-color .18s ease;
}

.site-footer-redesign .rd-link-list a:hover { color: #087d89; text-decoration: underline; }
.site-footer-redesign .rd-resources .rd-link-list { gap: 10px; }

.site-footer-redesign .rd-footer a:focus-visible,
.site-footer-redesign a:focus-visible {
    outline: 2px solid #087d89;
    outline-offset: 4px;
    border-radius: 2px;
}

.site-footer-redesign .rd-contact {
    padding: 18px 19px 16px;
    border: 1px solid rgba(8, 125, 137, .14);
    border-radius: 14px;
    background: linear-gradient(145deg, #edf7f6, #f6fbfa);
}

.site-footer-redesign .rd-contact-heading {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(8, 125, 137, .16);
    margin-bottom: 14px;
}

.site-footer-redesign .rd-contact-index {
    color: #087d89;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 9px;
    letter-spacing: .4px;
}

.site-footer-redesign .rd-contact-heading h2 { font-size: 11px; }
.site-footer-redesign .rd-contact-list { display: grid; gap: 12px; }

.site-footer-redesign .rd-contact-item {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 10px;
}

.site-footer-redesign .rd-icon {
    display: grid;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    place-items: center;
    border: 1px solid rgba(8, 125, 137, .17);
    border-radius: 8px;
    color: #087d89;
    background: rgba(255, 255, 255, .75);
}

.site-footer-redesign .rd-icon svg {
    width: 13px;
    height: 13px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

.site-footer-redesign .rd-contact-item p,
.site-footer-redesign .rd-contact-item a {
    min-width: 0;
    margin: 3px 0 0;
    color: #526c72;
    font-size: 11px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.site-footer-redesign .rd-contact-item a { transition: color .18s ease; }
.site-footer-redesign .rd-contact-item a:hover { color: #087d89; }

.site-footer-redesign .rd-footer-bottom {
    display: flex;
    min-height: 57px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    border-top: 1px solid rgba(25, 61, 69, .14);
    color: #74898d;
    font-size: 10px;
}

.site-footer-redesign .rd-footer-bottom p { margin: 0; }
.site-footer-redesign .rd-legal { display: flex; flex-wrap: wrap; gap: 23px; }
.site-footer-redesign .rd-legal a { color: #74898d; text-decoration: none; transition: color .18s ease; }
.site-footer-redesign .rd-legal a:hover { color: #087d89; }

@media (max-width: 1050px) {
    .site-footer-redesign .rd-container { width: min(100% - 56px, 900px); }
    .site-footer-redesign .rd-footer-main {
        grid-template-columns: minmax(190px, 1fr) minmax(310px, 1.55fr) minmax(170px, .8fr);
        row-gap: 32px;
    }
    .site-footer-redesign .rd-contact { grid-column: 2 / 4; }
    .site-footer-redesign .rd-contact-list { grid-template-columns: 1fr 1fr; column-gap: 20px; }
    .site-footer-redesign .rd-brand { grid-row: span 2; }
}

@media (max-width: 700px) {
    footer.site-footer-redesign { padding-top: 34px; }
    .site-footer-redesign .rd-container { width: min(100% - 38px, 520px); }
    .site-footer-redesign .rd-footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 30px 22px;
        padding-bottom: 30px;
    }
    .site-footer-redesign .rd-brand { grid-column: 1 / -1; grid-row: auto; }
    .site-footer-redesign .rd-brand-copy { max-width: 360px; margin: 16px 0; }
    .site-footer-redesign .rd-socials { margin-top: 0; }
    .site-footer-redesign .rd-treatments { grid-column: 1 / -1; }
    .site-footer-redesign .rd-treatment-columns { grid-template-columns: 1fr 1fr; gap: 18px; }
    .site-footer-redesign .rd-resources { grid-column: 1; }
    .site-footer-redesign .rd-contact { grid-column: 2; padding: 17px; }
    .site-footer-redesign .rd-contact-list { grid-template-columns: 1fr; }
    .site-footer-redesign .rd-footer-bottom { justify-content: center; padding: 16px 0; text-align: center; }
    .site-footer-redesign .rd-legal { justify-content: center; gap: 13px 20px; }
}

@media (max-width: 410px) {
    .site-footer-redesign .rd-footer-main { grid-template-columns: 1fr; }
    .site-footer-redesign .rd-brand,
    .site-footer-redesign .rd-treatments,
    .site-footer-redesign .rd-resources,
    .site-footer-redesign .rd-contact { grid-column: 1; }
    .site-footer-redesign .rd-contact-list { grid-template-columns: 1fr; }
    .site-footer-redesign .rd-treatment-columns { gap: 10px; }
    .site-footer-redesign .rd-link-list a { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
    .site-footer-redesign *,
    .site-footer-redesign *::before,
    .site-footer-redesign *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
