/* Footer Style 23 — Corporate Serif */
.epf-23 {
    --epf-bg: #040914;
    --epf-fg: #ffffff;
    --epf-muted: #d1d5db;
    --epf-line: rgba(255, 255, 255, .1);
    --epf-input: #0d1424;
    --epf-accent: #60a5fa;
    --epf-on-accent: #040914;
    --epf-23-cols: 2.2fr 1fr 1fr 1.2fr;
    padding: 60px 0 0;
    font-family: 'Inter', var(--font-body, sans-serif);
}
[data-theme="dark"] .epf-23 {
    --epf-bg: #03060e;
    --epf-line: rgba(255, 255, 255, .12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

/* Top: brand + three untitled link columns */
.epf-23__top {
    display: grid; grid-template-columns: var(--epf-23-cols); gap: 40px;
    padding-bottom: 40px;
}
.epf-23__logo { margin-bottom: 20px; }
.epf-23__logo:last-child { margin-bottom: 0; }
.epf-23__wordmark {
    display: inline-block;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 38px; font-weight: 700; line-height: 1.15;
    letter-spacing: 2px; text-transform: uppercase;
    overflow-wrap: anywhere;
}
.epf-23__wordmark:hover { color: var(--epf-fg) !important; opacity: .85; }
.epf-23__desc { max-width: 400px; font-size: 15px; line-height: 1.6; color: var(--epf-muted); }

.epf-23__links li + li { margin-top: 15px; }
.epf-23__links a { font-size: 15px; font-weight: 700; line-height: 1.4; }

/* Bottom: socials · address · back to top */
.epf-23__bottom {
    position: relative;
    display: grid; grid-template-columns: var(--epf-23-cols); gap: 40px; align-items: center;
    padding: 40px 0;
    border-top: 1px solid var(--epf-line);
}
.epf-23__bottom--solo { border-top: 0; }
.epf-23__follow { display: flex; flex-direction: column; gap: 14px; }
.epf-23__social-row { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
.epf-23__follow-title { font-size: 14px; font-weight: 700; }
.epf-23__socials { gap: 12px; }
.epf-23__socials .epf-social { font-size: 22px; }
.epf-23__socials .epf-social:hover { color: var(--epf-fg); opacity: .7; }
.epf-23 .epf-copy { font-size: 13px; color: color-mix(in srgb, var(--epf-muted) 75%, transparent); }

.epf-23__address {
    grid-column: 2 / span 3;
    display: flex; flex-direction: column;
    padding-right: 70px;
    font-style: normal;
}
.epf-23__addr-title { margin-bottom: 12px; font-size: 20px; font-weight: 700; line-height: 1.2; letter-spacing: -.5px; }
.epf-23__addr-text { font-size: 14px; line-height: 1.6; color: var(--epf-muted); }




@media (max-width: 1024px) {
    .epf-23__top { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 44px; }
    .epf-23__brand { grid-column: 1 / -1; }
    .epf-23__desc { max-width: 640px; }
    .epf-23__bottom { grid-template-columns: minmax(0, 1fr); gap: 30px; align-items: start; }
    .epf-23__address { grid-column: auto; padding-right: 0; }
    
}
@media (max-width: 600px) {
    .epf-23 { padding-top: 48px; }
    .epf-23__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 24px; }
    .epf-23__wordmark { font-size: 30px; }
    
}

/* headers.css makes .ep-menu-title a flex box, which pushes menu badges onto a new line */
.epf-23 .ep-menu-title { display: inline; }
