/* Shared ending for book and series pages only. The forest is the approved artwork. */
.dv-page-ending {
    --dv-ending-paper: var(--series-paper, var(--c-bg, #f4ecdf));
    position: relative;
    z-index: 1;
    color: #eee8d9;
    font: normal 16px/1.5 Georgia, "Times New Roman", serif;
    -webkit-font-smoothing: antialiased;
}
.dv-page-ending, .dv-page-ending * { box-sizing: border-box; }
.dv-ending-container { width: min(1040px, calc(100% - 80px)); margin-inline: auto; }
.dv-artistic-ending {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: max(220px, 15.3vw);
    background: var(--dv-ending-paper);
}
.dv-ending-art {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    background: #0b1915;
    /* Only the pale top margin blends into the host page; the forest stays intact. */
    mask-image: linear-gradient(transparent, #000 24px);
    pointer-events: none;
}
.dv-ending-art img { display: block; width: 100%; height: auto; max-width: none; }
.dv-ending-content {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    min-height: inherit;
    padding-block: max(112px, 7.8vw) 28px;
}
.dv-ending-phrase { margin: 0; max-width: 580px; font-size: clamp(20px, 1.67vw, 26px); line-height: 1.45; font-style: italic; text-shadow: 0 1px 4px #07130e; }
.dv-page-ending .dv-ending-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    max-width: 100%;
    min-height: 44px;
    padding-block: 2px;
    color: #eee8d9;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: .2em;
    text-transform: uppercase;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.dv-ending-ornament { display: flex; align-items: center; justify-content: center; gap: 12px; }
.dv-ending-ornament::before, .dv-ending-ornament::after { content: ""; display: block; width: 62px; height: 1px; background: #a59768; opacity: .65; }
.dv-ending-ornament .brand-monogram { width: 26px; height: 26px; flex: 0 0 26px; }
.dv-ending-ornament .brand-monogram .site-mark { filter: brightness(0) saturate(100%) invert(67%) sepia(21%) saturate(532%) hue-rotate(7deg) brightness(88%) contrast(85%) drop-shadow(0 0 .4px #af9d67); }
.dv-navigation-footer { background: #101b19; border-top: 1px solid #88866b66; }
.dv-ending-navigation { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; padding-block: 12px; }
.dv-ending-navigation p { margin: 0; color: #d6d5c6; font-size: 13px; }
.dv-ending-navigation nav { display: flex; flex-wrap: wrap; gap: 0 28px; }
.dv-ending-navigation a { display: inline-flex; align-items: center; min-height: 44px; color: #d6d5c6; font-size: 14px; text-decoration: none; }
.dv-ending-navigation a:hover { text-decoration: underline; text-underline-offset: .25em; }
.dv-page-ending a:focus-visible { outline: 3px solid #fff8e9; outline-offset: 4px; }
/* Preserve the book content and its former trailing space above the added ending. */
.book-page { padding-bottom: 0; }
.book-page .dv-page-ending { margin-top: 48px; }
@media (max-width: 899px) {
    .dv-ending-container { width: calc(100% - 64px); }
    .dv-ending-content { gap: 28px; }
    .dv-ending-phrase { font-size: 20px; }
    .dv-page-ending .dv-ending-brand { font-size: 21px; }
    .dv-ending-ornament::before, .dv-ending-ornament::after { width: 44px; }
}
@media (max-width: 539px) {
    .dv-ending-container { width: calc(100% - 40px); }
    .dv-ending-art img { width: auto; height: 220px; min-width: 100%; }
    .dv-ending-content { flex-direction: column; align-items: flex-start; gap: 26px; padding-block: 134px 30px; }
    .dv-ending-phrase { font-size: 20px; }
    .dv-page-ending .dv-ending-brand { align-self: center; font-size: 22px; }
    .dv-ending-navigation { flex-direction: column-reverse; align-items: flex-start; gap: 4px; padding-block: 12px 20px; }
    .dv-ending-navigation nav { gap: 0 22px; }
}
