/* MPE 6.40 — two distinct quote grammars.
   The normal quote retains Headline's existing block margins (including the
   following sibling's margin). The decoration occupies only its original bar
   gutter: no new vertical padding, bottom margin or out-of-flow tail below it. */
:root { --mpe-quote-gold: #eec643; --mpe-quote-green: #98d9ac; }
html[data-color-scheme="light"] { --mpe-quote-gold: #967119; --mpe-quote-green: #32744b; }
:where(.gh-content, .mpe-route-content, .mpe-glossary-content, .mpe-archive-intro) blockquote:not(.kg-blockquote-alt) {
    --mpe-quote-accent: var(--mpe-quote-gold);
    position: relative;
    border-left: 0;
    padding-block: 0;
    padding-inline: 2rem 0;
    margin-inline: 0;
    margin-bottom: 0;
    color: inherit;
    text-align: start;
}
:where(.gh-content, .mpe-route-content, .mpe-glossary-content, .mpe-archive-intro) blockquote[data-mpe-quote-tone="green"]:not(.kg-blockquote-alt) {
    --mpe-quote-accent: var(--mpe-quote-green);
}
:where(.gh-content, .mpe-route-content, .mpe-glossary-content, .mpe-archive-intro) blockquote:not(.kg-blockquote-alt)::before {
    content: "";
    position: absolute;
    inset: .08em auto .08em .15rem;
    width: .85rem;
    background:
        linear-gradient(var(--mpe-quote-accent), var(--mpe-quote-accent)) left top / 1px 100% no-repeat,
        linear-gradient(135deg, transparent 42%, var(--mpe-quote-accent) 44% 56%, transparent 58%) center / .8rem .8rem no-repeat;
    pointer-events: none;
}
:where(.gh-content, .mpe-route-content, .mpe-glossary-content, .mpe-archive-intro) blockquote:not(.kg-blockquote-alt)::after {
    content: "";
    position: absolute;
    left: -.07rem;
    bottom: .15em;
    width: .48rem;
    height: .48rem;
    border: 1px solid var(--mpe-quote-accent);
    transform: rotate(45deg);
    opacity: .78;
    pointer-events: none;
}
/* Ghost's native large centered quote keeps its font size, leading and padding.
   Only its shadow breathes; no moving text, scale, colored glow, or quote bar. */
.gh-content blockquote.kg-blockquote-alt {
    color: var(--color-secondary-text, #8e949d);
    text-align: center;
    border: 0;
    text-shadow: 0 1.4px 3px rgb(0 0 0 / .12);
    animation: mpe-quote-hover 53s ease-in-out infinite;
}
.gh-content blockquote.kg-blockquote-alt :where(p, strong, em) { color: inherit !important; }
.gh-content blockquote.kg-blockquote-alt:nth-of-type(3n) { animation-duration: 67s; animation-delay: -19s; }
.gh-content blockquote.kg-blockquote-alt:nth-of-type(3n + 1) { animation-duration: 59s; animation-delay: -31s; }
@keyframes mpe-quote-hover {
    0%, 100% { text-shadow: 0 1.4px 3px rgb(0 0 0 / .12); }
    13% { text-shadow: 0 1.8px 4px rgb(0 0 0 / .15); }
    37% { text-shadow: 0 1.2px 3.3px rgb(0 0 0 / .10); }
    62% { text-shadow: 0 2.4px 5px rgb(0 0 0 / .18); }
    83% { text-shadow: 0 1.7px 4.3px rgb(0 0 0 / .13); }
}
@media (prefers-reduced-motion: reduce) {
    .gh-content blockquote.kg-blockquote-alt { animation: none; }
}
@media print {
    .gh-content blockquote.kg-blockquote-alt { animation: none !important; text-shadow: none !important; border: 0 !important; }
    :where(.gh-content, .mpe-route-content, .mpe-glossary-content, .mpe-archive-intro) blockquote:not(.kg-blockquote-alt)::before,
    :where(.gh-content, .mpe-route-content, .mpe-glossary-content, .mpe-archive-intro) blockquote:not(.kg-blockquote-alt)::after { content: none; }
}
