/* ==========================================================================
   Single Style 16 — Issue
   Reads like a well-made newsletter: the article sits in an airmail-edged
   letter card with a narrow centred column, email-style byline, lime
   highlighter accents and a signed-off author note.
   ========================================================================== */
.eps-16.eps-fonts { --eps-title-font: 'Manrope', var(--font-heading, sans-serif); --eps-body-font: 'Inter', var(--font-body, sans-serif); --eps-ui: 'Inter', var(--font-body, sans-serif); }
.eps-16 {
    --eps-title-size: clamp(2rem, 1.3rem + 2.2vw, 3rem);
    --eps-title-weight: 800;
    --eps-body-size: 1.12rem;
    --eps-radius: 14px;
    --eps-ink: #14112e;
    --eps-paper: var(--bg-body);
    --eps-cardline: color-mix(in srgb, var(--eps-fg) 10%, transparent);
    --eps-tint: color-mix(in srgb, var(--eps-accent) 6%, var(--bg-body));
    --eps-hl: color-mix(in srgb, var(--eps-accent-2) 65%, transparent);
    --eps-measure: 680px;
}
[data-theme="dark"] .eps-16 { --eps-paper: color-mix(in srgb, var(--eps-fg) 4%, var(--bg-body)); --eps-cardline: color-mix(in srgb, var(--eps-fg) 13%, transparent); --eps-tint: color-mix(in srgb, var(--eps-accent) 14%, var(--bg-body)); --eps-hl: color-mix(in srgb, var(--eps-accent-2) 28%, transparent); }

/* --- The letter card --- */
.eps-16 .eps-body { padding-top: 34px; }
.eps-16 .eps-main { position: relative; overflow: hidden; padding: 0 clamp(18px, 4vw, 56px) 40px; border: 1px solid var(--eps-cardline); border-radius: 24px; background: var(--eps-paper); box-shadow: 0 40px 80px -60px color-mix(in srgb, var(--eps-accent) 70%, transparent); }
.eps-16 .eps-main::before { content: ''; display: block; height: 7px; margin: 0 calc(-1 * clamp(18px, 4vw, 56px)); background: repeating-linear-gradient(-45deg, var(--eps-accent) 0 14px, transparent 14px 20px, var(--eps-accent-2) 20px 34px, transparent 34px 40px); }
.eps-16 .eps-main > * { max-width: var(--eps-measure); margin-left: auto; margin-right: auto; }
.eps-16 .eps-main > .eps-article.has-rail { max-width: calc(var(--eps-measure) + 96px); }
.eps-16 .eps-main:has(> .eps-article.has-rail) > .eps-head { max-width: calc(var(--eps-measure) + 96px); padding-left: 96px; }
.eps-16 .eps-grid:not(.has-sidebar) > .eps-main { max-width: 880px; }
.eps-16 .eps-main > .eps-article:first-child { margin-top: 36px; }

/* --- Header: email preview --- */
.eps-16 .eps-head--inside { padding-top: 40px; text-align: left; }
.eps-16 .eps-badges { margin-bottom: 20px; }
.eps-16 .eps-cat { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px 7px 10px; background: var(--eps-accent-2); color: var(--eps-on-accent-2, var(--eps-ink)) !important; font: 800 12px/1 var(--eps-title-font); letter-spacing: .2px; text-transform: none; }
.eps-16 .eps-cat::before { content: '\2709'; font-size: 14px; line-height: 1; }
.eps-16 .eps-title { line-height: 1.1; letter-spacing: -.035em; }
.eps-16 .eps-tagline .ep-article-tagline { margin-bottom: 26px; font: 500 1.15rem/1.6 var(--eps-ui); }

/* Byline as the "From / Date" header of an email */
.eps-16 .eps-meta { padding: 16px 18px; margin-bottom: 30px; border: 1px solid var(--eps-cardline); border-radius: 16px; background: var(--eps-tint); }
.eps-16 .eps-meta__avatar img { width: 44px; height: 44px; box-shadow: 0 0 0 3px var(--eps-paper), 0 0 0 5px var(--eps-accent-2); }
.eps-16 .eps-meta__line { font: 500 13.5px/1.5 var(--eps-ui); letter-spacing: 0; text-transform: none; }
.eps-16 .eps-meta__line > * + * { border-color: var(--eps-cardline); }
.eps-16 .eps-meta__by { color: var(--eps-muted); }
.eps-16 .eps-meta__by a { color: var(--eps-fg); text-decoration: none; }
.eps-16 .eps-meta__date { text-transform: none; letter-spacing: 0; font-size: 12.5px; }
.eps-16 .eps-meta__share-label { text-transform: none; letter-spacing: 0; font: 600 13px/1 var(--eps-ui); color: var(--eps-fg); }
.eps-16 .eps-meta__share .eps-sb { width: 34px; height: 34px; border-radius: 50%; background: var(--eps-paper); box-shadow: inset 0 0 0 1px var(--eps-cardline); }
.eps-16 .eps-meta__share .eps-sb:hover { box-shadow: none; }
.eps-16 .eps-figure img { border-radius: 16px; }
.eps-16 .eps-figure figcaption { text-align: center; }

/* --- Circle share rail --- */
.eps-16 .eps-article.rail-circle { grid-template-columns: 48px minmax(0, 1fr); gap: 48px; }
.eps-16 .rail-circle > .eps-rail .eps-rail__inner { gap: 10px; }
.eps-16 .rail-circle > .eps-rail .eps-rail__label { font: 700 10px/1 var(--eps-ui); letter-spacing: 1.4px; }
.eps-16 .rail-circle > .eps-rail .eps-sb { width: 44px; height: 44px; border-radius: 50%; background: var(--eps-paper); box-shadow: inset 0 0 0 1.5px var(--eps-cardline); }
.eps-16 .rail-circle > .eps-rail .eps-sb:hover { background: var(--eps-accent-2); color: var(--eps-on-accent-2, var(--eps-ink)); box-shadow: none; }
.eps-16 .rail-circle > .eps-rail .eps-rail__inner::after { content: ''; width: 1.5px; height: 60px; margin-top: 4px; background: linear-gradient(var(--eps-cardline), transparent); }

/* --- Letter body --- */
.eps-16 .eps-content { line-height: 1.8; }
.eps-16 .dropcap-wrapper > p:first-of-type::first-letter { margin: 6px 14px 0 0; padding: 0; color: var(--eps-accent-text, var(--eps-accent)); font-size: 4.2rem; font-weight: 800; }
.eps-16 .eps-content h2 { font-weight: 800; letter-spacing: -.03em; }
.eps-16 .eps-content h2, .eps-16 .eps-content h3 { scroll-margin-top: 70px; }
.eps-16 .eps-content h2 { display: table; padding-right: 4px; background: linear-gradient(transparent 62%, var(--eps-hl) 62% 90%, transparent 90%); }
.eps-16 .eps-content h3 { font-weight: 800; letter-spacing: -.02em; }
.eps-16 .eps-content a:not(.ep-toc-link):not(.wp-block-button__link):not([class*="btn"]) { color: var(--eps-accent-text, var(--eps-accent)); text-decoration-thickness: 1.5px; --eps-link-line: color-mix(in srgb, var(--eps-accent) 40%, transparent); }
.eps-16 .eps-content ul li::before { content: ''; top: 11px; width: 9px; height: 9px; border-radius: 50%; background: var(--eps-accent-2); box-shadow: 0 0 0 2px var(--eps-accent); font-size: 0; }
.eps-16 .eps-content ol li::before { border-radius: 50%; background: var(--eps-accent-2); color: var(--eps-on-accent-2, var(--eps-ink)); }
.eps-16 .eps-content blockquote { margin: 2.6rem 0; padding: 26px 30px; border-radius: 4px 20px 20px 20px; background: var(--eps-ink); color: #fff; text-align: left; }
.eps-16 .eps-content blockquote::before { content: '\201C'; height: .5em; margin-bottom: 12px; color: var(--eps-accent-2); font: 800 3.6rem/1 var(--eps-title-font); }
.eps-16 .eps-content blockquote p { color: #fff; font: 700 1.38rem/1.45 var(--eps-title-font); letter-spacing: -.02em; }
.eps-16 .eps-content blockquote cite { color: var(--eps-accent-2); font-style: normal; font-weight: 600; }
.eps-16 .eps-content blockquote cite::before { background: var(--eps-accent-2); }
[data-theme="dark"] .eps-16 .eps-content blockquote { background: color-mix(in srgb, var(--eps-accent) 30%, #14112e); }
.eps-16 .ep-toc-container { border: 1px dashed color-mix(in srgb, var(--eps-accent) 40%, transparent); border-radius: 18px; background: var(--eps-tint); }
.eps-16 .ep-toc-title { font-family: var(--eps-title-font); font-weight: 800; }
.eps-16 .ep-toc-number { border-radius: 50%; min-width: 22px; height: 22px; justify-content: center; background: var(--eps-accent); color: var(--eps-on-accent, #fff); }

/* --- Sign-off --- */
.eps-16 .eps-tags a { border-style: dashed; }
.eps-16 .eps-tags a:hover { border-style: solid; }
.eps-16 .eps-tags__label { text-transform: none; letter-spacing: 0; }
.eps-16 .eps-sharebar { padding: 18px 22px; border: 0; border-radius: 18px; background: var(--eps-accent); color: var(--eps-on-accent, #fff); }
.eps-16 .eps-sharebar__label { color: #fff; font: 800 17px/1.3 var(--eps-title-font); }
.eps-16 .eps-sharebar__label i { color: var(--eps-accent-2); }
.eps-16 .eps-sharebar .eps-sb { width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; }
.eps-16 .eps-sharebar .eps-sb.has-text { width: auto; padding: 0 16px; border-radius: 999px; background: var(--eps-accent-2); color: var(--eps-on-accent-2, var(--eps-ink)); }
.eps-16 .eps-sharebar .eps-sb:hover { background: #fff; color: var(--eps-ink); opacity: 1; }
[data-theme="dark"] .eps-16 .eps-sharebar { background: color-mix(in srgb, var(--eps-accent) 40%, #14112e); }
.eps-16 .eps-author { position: relative; grid-template-columns: 64px minmax(0, 1fr); margin-top: 30px; padding: 54px 0 10px; border-top: 1px dashed var(--eps-cardline); }
.eps-16 .eps-author::before { content: 'Until the next issue,'; position: absolute; top: 20px; left: 0; color: var(--eps-muted); font: italic 400 1.05rem/1 Georgia, 'Times New Roman', serif; }
.eps-16 .eps-author__avatar img { width: 60px; height: 60px; box-shadow: 0 0 0 3px var(--eps-paper), 0 0 0 5px var(--eps-accent-2); }
.eps-16 .eps-author__name { font: italic 700 1.5rem/1.2 Georgia, 'Times New Roman', serif; letter-spacing: -.01em; text-transform: none; }
.eps-16 .eps-author__name i { color: var(--eps-accent-text, var(--eps-accent)); font-style: normal; font-size: 16px; }
.eps-16 .eps-author__role { text-transform: none; letter-spacing: 0; font-size: 13px; }
.eps-16 .eps-author__follow { text-transform: none; letter-spacing: 0; font-size: 12px; }
.eps-16 .eps-author__follow a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--eps-tint); }
.eps-16 .eps-postnav { border-top-style: dashed; }
.eps-16 .eps-postnav__img { border-radius: 50%; }
.eps-16 .eps-postnav__label { color: var(--eps-accent-text, var(--eps-accent)); }
.eps-16 .eps-postnav__title { font-family: var(--eps-title-font); font-weight: 800; }
.eps-16 .ep-related-posts > h3 { font-family: var(--eps-title-font); font-weight: 800; text-transform: none; letter-spacing: -.02em; }

/* --- Sticky reading bar: indigo with a lime progress line --- */
.eps-16 .eps-readbar { background: var(--eps-ink); }
.eps-16 .eps-readbar__title span { color: var(--eps-accent-2); opacity: 1; }
.eps-16 .eps-readbar__progress { height: 3px; background: var(--eps-accent-2); }
.eps-16 .eps-readbar .eps-sb:hover { background: var(--eps-accent-2); color: var(--eps-on-accent-2, var(--eps-ink)); }

/* --- Sidebar --- */
.eps-16 .ep-sidebar .ep-section-heading .title-text { font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; background: linear-gradient(transparent 62%, var(--eps-hl) 62% 92%, transparent 92%); }
.eps-16 .ep-sidebar .widget-ad .ep-section-heading .title-text { background: none; }
.eps-16 .ep-latest-thumb img, .eps-16 .ep-latest-ph { border-radius: 12px; }
.eps-16 .ep-latest-badge { border-radius: 999px; background: var(--eps-accent-2); color: var(--eps-on-accent-2, var(--eps-ink)); }
.eps-16 .widget-social .contact-social-item { border-radius: 16px; }
.eps-16 .widget-newsletter .newsletter-widget-inner { position: relative; overflow: hidden; border-radius: 22px; background: var(--eps-ink); color: #fff; }
.eps-16 .widget-newsletter .newsletter-widget-inner::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: repeating-linear-gradient(-45deg, var(--eps-accent) 0 12px, transparent 12px 17px, var(--eps-accent-2) 17px 29px, transparent 29px 34px); }
.eps-16 .widget-newsletter .newsletter-title { color: #fff; }
.eps-16 .widget-newsletter .newsletter-desc { color: rgba(255, 255, 255, .72); }
.eps-16 .widget-newsletter .newsletter-form input { border-radius: 999px; }
.eps-16 .widget-newsletter .subscribe-btn { border-radius: 999px; background: var(--eps-accent-2); color: var(--eps-on-accent-2, var(--eps-ink)); font-weight: 800; }

@media (max-width: 768px) {
    .eps-16 .eps-main:has(> .eps-article.has-rail) > .eps-head { padding-left: 0; }
    .eps-16 .eps-main { border-radius: 18px; padding-bottom: 28px; }
    .eps-16 .eps-head--inside { padding-top: 28px; }
    .eps-16 .eps-meta { padding: 14px; }
    .eps-16 .eps-content blockquote { padding: 22px 20px; }
    .eps-16 .eps-author { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
    .eps-16 .eps-body.container, .eps-16 .container.eps-body { padding-left: 10px; padding-right: 10px; }
}
