/* Approved reading composition for fiction prose. No narrative or access changes. */
body.house-brand:has(.article[data-reading-post][data-reader-direction]) {
    background: #122733;
}
body.house-brand .article[data-reading-post][data-reader-direction] {
    display: grid;
    grid-template-columns: minmax(170px, 220px) minmax(0, 900px);
    gap: 0 48px;
    width: min(1160px, calc(100vw - 80px));
    max-width: none;
    padding-block: 0 68px;
}
body.house-brand .article[data-reading-post][data-reader-direction] > * { grid-column: 2; min-width: 0; }
/* A content-sized opening band ends before the flat reading canvas. */
body.house-brand .article[data-reading-post][data-reader-direction] .reader-cover {
    position: relative;
    isolation: isolate;
    grid-column: 1 / -1;
    grid-row: 1;
    display: grid;
    grid-template-columns: inherit;
    column-gap: 48px;
    padding-block: 68px 32px;
}
body.house-brand .article[data-reading-post][data-reader-direction] .reader-cover::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset-block: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    border-bottom: 1px solid #8e794e;
    background: radial-gradient(ellipse at 78% 8%, #17293988, transparent 64%), linear-gradient(110deg, #040c12, #071521 72%, #030b12);
    pointer-events: none;
}
body.house-brand .article[data-reading-post][data-reader-direction] .reader-cover > * { grid-column: 2; min-width: 0; }
body.house-brand .article[data-reading-post][data-reader-direction] .article-header { display: contents; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-heading { grid-column: 2; grid-row: 1; padding-bottom: 30px; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-heading > .eyebrow { display: none; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-heading h1 { margin: 0; font-size: clamp(48px, 6.3vw, 84px); line-height: 1.06; letter-spacing: -.045em; overflow-wrap: anywhere; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-title-context { display: block; margin-bottom: 22px; font-family: var(--font-sans); color: var(--house-gold); font-size: 13px; font-weight: 400; line-height: 1.7; letter-spacing: .12em; text-transform: uppercase; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-title-name { display: block; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-context { grid-column: 1; grid-row: 1 / 4; align-self: start; padding-right: 24px; border-right: 1px solid #30434f; }
body.house-brand .article[data-reading-post][data-reader-direction] .article-meta { flex-direction: column; gap: 9px; margin-top: 0; padding-bottom: 25px; font-size: 12px; }
body.house-brand .article[data-reading-post][data-reader-direction] .author-identity { flex-wrap: wrap; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-metadata-panel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 23px; margin-top: 0; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-synopsis { border-bottom: 0; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-synopsis summary { min-height: 48px; font-size: 13px; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-synopsis-copy { font-size: 14px; line-height: 1.75; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-metadata-label { margin-bottom: 10px; font-size: 10px; letter-spacing: .12em; color: #abbac5; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-metadata-panel .advisory-badge { font-size: 11px; padding: 4px 8px; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-content-advisories { border: 0; padding: 0; }
body.house-brand .article[data-reading-post][data-reader-direction] .jump-to-comments { justify-content: flex-start; gap: 9px; padding: 10px 0; margin-top: 22px; border: 0; border-radius: 0; font-size: 12px; text-align: left; }
body.house-brand .article[data-reading-post][data-reader-direction] .jump-to-comments svg { flex-shrink: 0; }
body.house-brand .article[data-reading-post][data-reader-direction] .article-image { grid-row: 2; width: min(760px, 100%); max-width: none; margin: 0 0 22px; transform: none; left: auto; }
body.house-brand .article[data-reading-post][data-reader-direction] .article-image img { display: block; min-height: 44px; padding: 10px 0; border-radius: 0; font-size: 12px; color: #aabac5; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-utilities { grid-row: 3; align-self: start; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; width: min(760px, 100%); margin-bottom: 0; border-block: 1px solid #435663; background: #112634; box-shadow: 0 16px 32px -28px #000; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-audio-inline { width: auto; min-width: 0; margin: 0; transform: none; left: auto; border: 0; border-radius: 0; background: none; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-audio-launch { min-height: 92px; padding: 16px 20px; gap: 14px; border: 0; border-radius: 0; background: none; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-audio-launch h2 { font-size: 19px; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-audio-launch p { margin-top: 5px; font-size: 11px; line-height: 1.5; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-audio-launch button { min-height: 44px; padding-inline: 16px; flex-shrink: 0; border-radius: 4px; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-mode { width: auto; min-width: 0; margin: 0; transform: none; left: auto; border-left: 1px solid #435663; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-mode-details { background: none; border: 0; border-radius: 0; box-shadow: none; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-mode-details > summary { min-height: 92px; padding: 16px 20px; gap: 10px; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-mode-details > summary strong { color: var(--house-ivory); font-size: 12px; letter-spacing: .04em; text-transform: none; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-mode-details > summary small { font-size: 11px; }
body.house-brand .article[data-reading-post][data-reader-direction] .story-mode-details > summary > span:last-child { border: 1px solid #a78c5d; border-radius: 4px; background: #0c1c29; color: var(--house-gold); }
.reader-title-separator { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* Open controls need a full reading-column measure and keep normal DOM order. */
body.house-brand .article[data-reading-post][data-reader-direction] .reader-utilities:has(.story-mode-details[open]) { grid-template-columns: minmax(0, 1fr); }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-utilities:has(.story-mode-details[open]) .story-mode { border-left: 0; border-top: 1px solid #435663; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-utilities:has([data-story-audio-toggle][aria-expanded="true"]) { grid-template-columns: minmax(0, 1fr); }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-utilities:has([data-story-audio-toggle][aria-expanded="true"]) .story-mode { border-left: 0; border-top: 1px solid #435663; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-utilities:not(:has(.story-audio-inline)) { grid-template-columns: minmax(0, 1fr); }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-utilities:not(:has(.story-audio-inline)) .story-mode { border: 0; }
/* Chapter links come from the story's existing published-post index. */
body.house-brand .article[data-reading-post][data-reader-direction] .reader-chapters { grid-row: 4; width: min(760px, 100%); margin-top: 24px; }
.reader-chapters-picker { border-block: 1px solid #435663; }
.reader-chapters-picker > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 0; min-height: 64px; cursor: pointer; list-style: none; }
.reader-chapters-picker > summary::-webkit-details-marker { display: none; }
.reader-chapters-label { display: block; margin-bottom: 3px; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #abbac5; }
.reader-chapters-picker summary strong { font-size: 14px; font-weight: 400; color: var(--house-ivory); }
.reader-chapters-toggle { display: flex; gap: 12px; align-items: center; color: var(--house-gold); font-size: 12px; }
.reader-chapters-picker[open] .reader-chapters-toggle > span { transform: rotate(180deg); }
.reader-chapters-list { padding: 0; margin: 0; list-style: none; border-top: 1px solid #30434f; }
.reader-chapters-list li { margin: 0; }
.reader-chapters-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 18px; padding: 14px 16px; min-height: 58px; border-bottom: 1px solid #263a47; border-left: 2px solid transparent; text-decoration: none; color: var(--house-ivory); }
.reader-chapters-list a:hover { background: #132c3a; }
.reader-chapters-list a[aria-current="page"] { background: #152b37; border-left-color: var(--house-gold); }
.reader-chapter-title { font-size: 14px; line-height: 1.6; }
.reader-chapter-access { font-size: 10px; color: #b5c5cf; }
.reader-chapter-here { grid-column: 1 / -1; font-size: 10px; color: var(--house-gold); }
.reader-chapters-story { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 12px 16px; font-size: 12px; color: var(--house-gold); text-decoration: none; }
.reader-chapters-empty { font-size: 14px; line-height: 1.6; color: #b5c5cf; }
.reader-chapter-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-top: 16px; }
.reader-chapter-steps[hidden] { display: none; }
.reader-chapter-steps > :last-child { text-align: right; }
.reader-chapter-steps > * { min-width: 0; min-height: 44px; }
.reader-chapter-steps a { color: var(--house-ivory); text-decoration: none; }
.reader-chapter-steps a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.reader-chapter-steps span, .reader-chapter-steps strong { display: block; }
.reader-chapter-steps > * > span { margin-bottom: 5px; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--house-gold); }
.reader-chapter-steps strong { font-size: 12px; line-height: 1.6; font-weight: 400; overflow-wrap: anywhere; }
.reader-chapter-steps > span { align-self: center; padding-top: 7px; color: #b5c5cf; font-size: 12px; line-height: 1.6; }
.reader-chapters :is(a, summary):focus-visible, .reader-chapter-steps a:focus-visible { outline: 2px solid var(--house-gold); outline-offset: 4px; }
.reader-ending > .reader-chapter-steps { margin-bottom: 28px; padding-block: 24px; border-block: 1px solid #435663; }
body.house-brand .article[data-reading-post][data-reader-direction] .gh-content { grid-row: 2; padding-top: 44px; width: min(var(--story-reading-width, 760px), 100%); max-width: none; margin: 0; transform: none; }
body.house-brand .article[data-reading-post][data-reader-direction] .gh-content > :first-child { margin-top: 0; }
body.house-brand .article[data-reading-post][data-reader-direction] .gh-content h2 { font-size: 25px; line-height: 1.45; color: var(--story-text, var(--house-ivory)); }
body.house-brand .article[data-reading-post][data-reader-direction] .gh-content > hr { margin-block: 24px 30px; background: #40505a; }
/* The chapter cards lead the ending; existing reader actions stay secondary. */
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending { width: min(var(--story-reading-width, 760px), 100%); margin-inline: 0; padding: 0; border: 0; border-radius: 0; background: none; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending > .reader-chapter-steps { gap: 18px; padding: 0; margin: 0; border: 0; align-items: stretch; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card { display: flex; flex-direction: column; gap: 0; min-width: 0; min-height: 204px; padding: 24px; border: 1px solid #536572; border-top: 2px solid #a78c5d; border-radius: 4px; background: linear-gradient(135deg, #142d3c, #0b1e2b); color: var(--house-ivory); text-align: left; text-decoration: none; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card--complete { background: #17313d; border-color: #6a6b59; border-top-color: var(--house-gold); }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card > .reader-ending-card-label { margin: 0 0 17px; color: var(--house-gold); font-size: 10px; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card > .reader-ending-card-title { margin: 0; color: var(--house-ivory); font-family: var(--font-serif); font-size: 30px; font-weight: 400; line-height: 1.2; letter-spacing: -.015em; overflow-wrap: anywhere; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card > .reader-ending-card-meta { margin: 10px 0 22px; color: #b9c9d2; font-size: 12px; line-height: 1.6; letter-spacing: 0; text-transform: none; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card > :is(.reader-ending-card-action, .reader-ending-card-note) { margin: auto 0 0; padding-top: 4px; color: #c7d3d9; font-size: 12px; line-height: 1.6; letter-spacing: 0; text-transform: none; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card > .reader-ending-card-action { color: var(--house-gold); }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card-date { display: grid; gap: 5px; margin-top: auto; padding-top: 14px; border-top: 1px solid #536572; font-size: 13px; color: var(--house-ivory); }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card-date > span { margin: 0; color: #b9c9d2; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
body.house-brand .article[data-reading-post][data-reader-direction] a.reader-ending-card:hover { border-color: var(--house-gold); background: #193645; }
body.house-brand .article[data-reading-post][data-reader-direction] a.reader-ending-card:hover strong { text-decoration: none; }
body.house-brand .article[data-reading-post][data-reader-direction] a.reader-ending-card:focus-visible { outline: 2px solid var(--house-gold); outline-offset: 5px; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin-top: 28px; padding-block: 20px; border-block: 1px solid #405563; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending :is(.post-like, .post-reading-actions) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-items: start; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending :is(.post-like-button, .post-bookmark-button, .post-read-button, .post-reading-room-link, .post-share-actions a, .post-share-actions button, .post-share-more > summary) { min-height: 44px; padding: 9px 10px; border-color: #526575; background: transparent; font-size: 12px; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending .post-reading-actions small { font-size: 11px; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending .post-share { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding-top: 18px; border: 0; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending .post-share > p { margin: 0; color: #c7d3d9; font-size: 15px; }
body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending .post-share-status { flex-basis: 100%; }
body.house-brand .article[data-reading-post][data-reader-direction] :is(.expanded-reader-notes, .expanded-commentary-requests, .post-comments, .post-cta, .house-discussions) { width: min(760px, 100%); margin-inline: 0; }
@media (max-width: 1000px) {
    body.house-brand .article[data-reading-post][data-reader-direction] { display: block; width: min(760px, calc(100vw - 48px)); padding-block: 0 38px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-cover { display: block; padding-block: 38px 26px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .gh-content { padding-top: 30px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .article-header { display: block; width: auto; max-width: none; margin: 0; padding: 0; border: 0; transform: none; background: none; box-shadow: none; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-heading { padding-bottom: 26px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-heading h1 { font-size: clamp(42px, 12vw, 70px); letter-spacing: -.035em; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-title-context { font-size: 11px; margin-bottom: 16px; letter-spacing: .08em; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-context { padding: 0 0 20px; border: 0; }
    body.house-brand .article[data-reading-post][data-reader-direction] .article-meta { flex-direction: row; gap: 5px 16px; padding-bottom: 18px; font-size: 12px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .story-metadata-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .story-metadata-label { font-size: 10px; margin-bottom: 7px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .jump-to-comments { margin-top: 12px; min-height: 44px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .article-image { margin-bottom: 18px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-utilities { margin-bottom: 0; }
    body.house-brand .article[data-reading-post][data-reader-direction] .gh-content h2 { font-size: 23px; }
}
@media (max-width: 600px) {
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending > .reader-chapter-steps { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card { min-height: 184px; padding: 22px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card > .reader-ending-card-title { font-size: 28px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-actions { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 24px; }
    .reader-chapters-list a { grid-template-columns: minmax(0, 1fr); padding-inline: 12px; }
    .reader-chapter-steps { gap: 18px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-utilities { grid-template-columns: minmax(0, 1fr); }
    body.house-brand .article[data-reading-post][data-reader-direction] .story-audio-launch { min-height: 72px; padding: 12px 16px; }
    body.house-brand .article[data-reading-post][data-reader-direction] .story-mode { border-left: 0; border-top: 1px solid #435663; }
    body.house-brand .article[data-reading-post][data-reader-direction] .story-mode-details > summary { min-height: 70px; padding: 10px 16px; }
}
@media (forced-colors: active) {
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-ending-card { background: Canvas; border-color: CanvasText; }
    .reader-chapters-list a[aria-current="page"] { border-left-color: Highlight; }
    .reader-chapters :is(a, summary):focus-visible, .reader-chapter-steps a:focus-visible { outline-color: Highlight; }
    body.house-brand:has(.article[data-reading-post][data-reader-direction]) { background: Canvas; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-cover::before { background: Canvas; border-color: CanvasText; }
    body.house-brand .article[data-reading-post][data-reader-direction] :is(.reader-utilities, .story-mode, .story-mode-details) { background: Canvas; border-color: CanvasText; box-shadow: none; }
    body.house-brand .article[data-reading-post][data-reader-direction] .reader-context { border-color: CanvasText; }
}
