/* Footer Style 28 — Bold Dot */
.epf-28 {
    --epf-bg: #000000;
    --epf-fg: #ffffff;
    --epf-muted: #a1a1aa;
    --epf-line: #222222;
    --epf-input: #141414;
    --epf-accent: #f5c518;
    --epf-on-accent: #111111;
    --epf-28-desc: #e5e7eb;
    --epf-28-sep: #555555;
    --epf-28-serif: Georgia, 'Times New Roman', 'Merriweather', serif;
    padding: 70px 0 0;
    font-family: 'Inter', var(--font-body, sans-serif);
}
[data-theme="dark"] .epf-28 {
    --epf-bg: #000000;
    --epf-line: #222226;
}
.epf-28 a:hover { color: var(--epf-muted); }

.epf-28__top {
    display: grid; grid-template-columns: minmax(0, 2.5fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 30px;
    margin-bottom: 60px;
}
.epf-28__brand { min-width: 0; }
.epf-28__logo { margin-bottom: 20px; }
.epf-28__logo:last-child { margin-bottom: 0; }
.epf-28__wordmark {
    display: inline-block; max-width: 100%;
    font-family: 'Inter', sans-serif; font-size: 38px; font-weight: 900; line-height: 1;
    letter-spacing: -1.5px; text-transform: uppercase; color: var(--epf-fg);
    overflow-wrap: anywhere;
}
.epf-28 a.epf-28__wordmark:hover { color: var(--epf-fg); }
.epf-28__dot { color: var(--epf-accent); transition: color .2s; }
.epf-28 a.epf-28__wordmark:hover .epf-28__dot { color: var(--epf-fg); }
.epf-28__desc { max-width: 280px; font-family: var(--epf-28-serif); font-size: 15px; line-height: 1.6; color: var(--epf-28-desc); }

.epf-28__col { min-width: 0; }
.epf-28__links li { margin-bottom: 18px; }
.epf-28__links li:last-child { margin-bottom: 0; }
.epf-28__links a { font-size: 13px; font-weight: 600; letter-spacing: .2px; color: var(--epf-fg); }

.epf-28 .epf-28__soc-title {
    margin: 0 0 20px; font-size: 17px; font-weight: 700; line-height: 1.2; letter-spacing: -.3px; color: var(--epf-fg);
}
.epf-28__socials { gap: 16px; }
.epf-28__socials .epf-social { font-size: 16px; color: var(--epf-fg); }
.epf-28__socials .epf-social:hover { color: var(--epf-accent); }

.epf-28__bottom {
    display: flex; justify-content: space-between; align-items: center; gap: 20px 30px;
    padding: 12px 0; min-height: 66px; border-top: 1px solid var(--epf-line);
}
.epf-28 .epf-copy { font-family: var(--epf-28-serif); font-size: 13px; color: var(--epf-muted); }
.epf-28__end { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.epf-28__strip { display: flex; flex-wrap: wrap; align-items: center; row-gap: 10px; }
.epf-28__strip li { display: flex; align-items: center; }
.epf-28__strip li:not(:last-child)::after {
    content: ""; display: inline-block; width: 3px; height: 3px; margin: 0 12px; background: var(--epf-28-sep);
}
.epf-28__strip a { font-size: 12px; font-weight: 700; color: var(--epf-fg); }


@media (max-width: 1024px) {
    .epf-28__top { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 50px; }
    .epf-28__brand { grid-column: 1 / -1; }
    .epf-28__desc { max-width: 420px; }
}
@media (max-width: 992px) {
    .epf-28__bottom { flex-direction: column; align-items: flex-start; padding: 25px 0; }
    .epf-28__end { width: 100%; margin-left: 0; justify-content: space-between; gap: 20px; }
}
@media (max-width: 600px) {
    .epf-28 { padding-top: 56px; }
    .epf-28__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px 24px; margin-bottom: 44px; }
    .epf-28__social { grid-column: 1 / -1; }
    .epf-28__wordmark { font-size: 32px; }
}

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