.originals-page { --book-surface: #24352b; --book-text: #f3efdc; --book-muted: #c5cbb7; }
.originals-page .originals-wrap { width: calc(100% - 2 * clamp(1.125rem,4vw,3rem)); max-width: 1240px; margin-inline: auto; }
.originals-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem 2rem; padding-block:1.25rem; }
.originals-header .brand { font-size:2rem; }
.originals-header nav { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; align-items:center; font-size:.9375rem; }
.originals-header nav a { min-height:44px; display:flex; align-items:center; text-decoration:none; color:var(--muted); }
.originals-header nav [aria-current=page] { color:var(--ink); text-decoration:underline; }
.originals-appearance { display:flex; align-items:center; gap:.5rem; font-size:.8125rem; color:var(--muted); }
.originals-appearance select { border:1px solid var(--line); background:var(--paper); color:var(--ink); padding:.45rem; border-radius:.375rem; max-width:100%; }
.shelf-intro { padding:clamp(2.5rem,6vw,5rem) 0 2.5rem; max-width:850px; }
.shelf-intro h1 { margin:1rem 0 1.25rem; font-size:clamp(2.7rem,5.5vw,4.6rem); line-height:1.04; letter-spacing:-.045em; }
.shelf-intro .intro { max-width:44rem; }
.shelf-count { margin-top:1.25rem; color:var(--muted); font-size:.875rem; }
.originals-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem 1.5rem; list-style:none; padding:0; margin:0 0 4rem; }
.originals-card { min-width:0; }
.originals-card > a { display:flex; flex-direction:column; height:100%; border:1px solid var(--line); border-radius:.5rem 1rem 1rem .5rem; overflow:hidden; background:var(--sage); text-decoration:none; box-shadow:-5px 0 0 color-mix(in srgb,var(--sage),var(--ink) 14%); transition:transform .18s,box-shadow .18s; }
.originals-card > a:hover { transform:translateY(-4px); box-shadow:-5px 0 0 color-mix(in srgb,var(--sage),var(--ink) 14%),0 12px 24px #0002; }
.originals-card img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; background:var(--paper); }
.originals-card-copy { display:flex; flex-direction:column; flex:1; padding:1.4rem; }
.originals-card h2 { font-size:1.75rem; line-height:1.2; margin:.75rem 0 1.25rem; letter-spacing:-.025em; }
.originals-card .eyebrow { font-size:.6875rem; color:var(--muted); }
.originals-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:1.25rem; margin-top:auto; border-top:1px solid var(--line); font-size:.875rem; }
.originals-card-bottom strong { font-weight:500; text-decoration:underline; text-underline-offset:5px; }
.originals-card-bottom span { color:var(--muted); }
.reader-heading { padding:2rem 0 1.5rem; }
.reader-back { display:inline-flex; align-items:center; min-height:44px; font-size:.9375rem; }
.reader-heading .eyebrow { margin-top:1rem; color:var(--muted); }
.reader-heading h1 { max-width:950px; font-size:clamp(2rem,4vw,3.4rem); margin:.75rem 0 0; letter-spacing:-.035em; }
.reader-topline { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1rem 0; font-size:.875rem; color:var(--muted); }
.reader-spread { display:grid; grid-template-columns:1.16fr 1fr; border:1px solid #58684d; border-radius:.625rem; background:var(--book-surface); color:var(--book-text); overflow:hidden; box-shadow:0 12px 40px #0003,3px 4px 0 #53634d,6px 7px 0 #2d3c31; touch-action:pan-y pinch-zoom; scroll-margin-top:1rem; }
.reader-art { margin:0; display:flex; align-items:center; min-width:0; background:#17241c; position:relative; }
.reader-art::after { content:''; position:absolute; inset:0 0 0 auto; width:14px; background:linear-gradient(90deg,transparent,#0004); pointer-events:none; }
.reader-art img { width:100%; height:auto; display:block; aspect-ratio:16/9; object-fit:contain; user-select:none; -webkit-user-drag:none; }
.reader-art .image-unavailable { position:absolute; inset:0; margin:0; display:flex; align-items:center; justify-content:center; padding:2rem; font-size:1rem; }
.originals-page [hidden] { display:none !important; }
.reader-copy { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:clamp(1.5rem,3.5vw,3.25rem); border-left:1px solid #728060; box-shadow:inset 8px 0 14px #0002; }
.page-caption { font:clamp(1.2rem,1.9vw,1.55rem)/1.75 var(--font-display); letter-spacing:.005em; }
.page-caption p { margin:0 0 1rem; white-space:pre-line; overflow-wrap:break-word; }
.page-caption p:last-child { margin-bottom:0; }
.printed-page-number { padding-top:1.5rem; text-align:center; font:italic .875rem/1 var(--font-display); color:var(--book-muted); }
.reader-controls { margin:1.75rem 0 0; }
.reader-progress { height:3px; border:0; width:100%; margin:0 0 1.25rem; accent-color:var(--rust); }
.reader-control-row { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; }
.reader-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:.75rem; border:1px solid var(--line); border-radius:.5rem; padding:.75rem 1.125rem; background:var(--sage); color:var(--ink); font-size:.9375rem; text-decoration:none; }
.reader-button:hover:not(:disabled) { background:var(--hover); }
.reader-button:disabled { opacity:.38; }
#previous-page { justify-self:start; } #next-page { justify-self:end; }
.reader-jump { display:flex; align-items:center; gap:.6rem; font-size:.875rem; }
.reader-jump select { background:var(--paper); color:var(--ink); padding:.6rem; min-height:44px; border:1px solid var(--line); border-radius:.4rem; }
.reader-more { display:flex; justify-content:center; gap:.75rem 2rem; flex-wrap:wrap; margin:2rem 0 3rem; font-size:.875rem; color:var(--muted); }
.reader-more a { display:inline-flex; align-items:center; min-height:44px; }
.book-finished { text-align:center; padding:2.5rem 1rem 1rem; }
.book-finished h2 { font:2rem/1.2 var(--font-display); margin:0 0 .75rem; }
.book-finished p { margin-bottom:1.5rem; }
.book-finished .reader-button { margin:.35rem; }
.reader-error { padding:2rem; border:1px solid var(--line); background:var(--sage); border-radius:.5rem; margin-top:1rem; }
.reader-error p { margin-bottom:1rem; }
.continuous-intro { padding:3rem 0; }
.continuous-intro h1 { margin:1rem 0; }
.continuous-page { margin:0 0 2.5rem; }
.originals-copyright { margin-bottom:1rem; }
@media(max-width:1000px) { .originals-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .reader-spread { grid-template-columns:1fr; max-width:800px; margin-inline:auto; } .reader-art::after { display:none; } .reader-copy { border-left:0; border-top:1px solid #728060; box-shadow:inset 0 8px 16px #0002; } .reader-art img { max-height:55vh; } }
@media(max-width:620px) { .originals-header { gap:1rem; } .originals-header nav { order:3; width:100%; gap:.5rem 1.25rem; font-size:.8125rem; } .originals-appearance > span { display:none; } .originals-grid { grid-template-columns:1fr; gap:1.75rem; } .shelf-intro { padding-top:2.5rem; } .originals-card h2 { font-size:1.875rem; } .reader-heading { padding-top:1.25rem; } .reader-copy { padding:1.5rem; } .page-caption { font-size:1.1875rem; line-height:1.75; } .reader-topline { align-items:flex-start; } .reader-topline .reader-hint { max-width:12rem; text-align:right; font-size:.75rem; } .reader-controls { position:sticky; bottom:0; background:var(--paper); padding:1rem 0 max(1rem,env(safe-area-inset-bottom)); z-index:2; } .reader-control-row { gap:.5rem; grid-template-columns:1fr auto 1fr; } .reader-control-row .reader-button { padding:.65rem .75rem; font-size:.8125rem; gap:.4rem; width:100%; } .reader-jump label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); } .reader-jump select { padding:.5rem .25rem; font-size:.8125rem; max-width:6.5rem; } .reader-progress { margin-bottom:.75rem; } }
@media(prefers-reduced-motion:reduce) { .originals-card > a { transition:none; } }
@media print { .topbar,.site-footer,.continuous-intro .reader-button,.reader-more { display:none; } .continuous-page { break-inside:avoid; page-break-inside:avoid; box-shadow:none; } .reader-spread { color:#17241c; background:white; } .reader-copy { color:#17241c; background:white; box-shadow:none; } }
/* One collection for originals, traditional stories and nursery rhymes. */
.literature-page .shelf-intro { max-width:900px; padding-bottom:2rem; }
.literature-page .shelf-intro h1 { font-size:clamp(2.5rem,5.3vw,4.25rem); }
.literature-page .library-controls { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:1.25rem; margin:0 0 1rem; }
.literature-page .library-filters { display:flex; flex-wrap:wrap; gap:.5rem; }
.literature-page .library-filters button { border:1px solid var(--line); border-radius:2rem; padding:.65rem 1rem; min-height:44px; background:transparent; color:var(--ink); font-size:.875rem; }
.literature-page .library-filters button[aria-pressed=true] { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.literature-page .library-search { display:grid; gap:.35rem; font-size:.8125rem; min-width:220px; }
.literature-page .library-search input { min-height:44px; padding:.65rem .9rem; border:1px solid var(--line); border-radius:.5rem; background:var(--paper); color:var(--ink); }
.literature-page .library-results { margin-bottom:1.5rem; color:var(--muted); font-size:.875rem; }
.literature-page .library-card { border:0; background:transparent; box-shadow:none; }
.literature-page .library-empty { padding:2rem 0 3rem; }
.literature-page .library-empty h2 { margin-bottom:.75rem; }
.literature-page .library-empty button { margin-top:1rem; }
/* Shared felt materials and interaction states are in /felt.css. */
.literature-page .video-link { display:inline-flex; align-items:center; justify-content:center; gap:.625rem; min-height:48px; max-width:100%; padding:.8rem 1.1rem; font:500 .875rem/1.4 var(--font-body); text-decoration:none; }
.literature-page .continuous-intro .video-link { margin:.75rem 0 .25rem .75rem; }
@media(max-width:620px) { .literature-page .continuous-intro .video-link { display:flex; width:fit-content; margin:1rem 0 0; } }
@media print { .literature-page .video-link { display:none !important; } }
.literature-page .youtube-icon { width:29px; height:20px; object-fit:contain; flex-shrink:0; }
.literature-page .reader-heading .video-link { margin-top:1rem; }
.literature-page .reader-topline { padding-top:.25rem; }
.literature-page .reader-more { justify-content:space-between; }
.literature-page .bookshop-shelf { margin:1rem 0 3rem; }
@media(max-width:620px){.literature-page .library-search{width:100%;}.literature-page .library-filters button{padding:.6rem .8rem;font-size:.8125rem;}.literature-page .reader-more{justify-content:center;}}
/* Discovery pages share the reader's established palette and type. */
.home-welcome { padding:clamp(2.5rem,5vw,4.5rem) 0 2.5rem; max-width:850px; }
.home-welcome h1 { font-size:clamp(2.75rem,5.8vw,4.8rem); line-height:1.04; letter-spacing:-.045em; margin:.85rem 0 1.25rem; }
.home-welcome .intro { max-width:40rem; }
.home-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.button-primary { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.button-primary:hover:not(:disabled) { background:var(--muted); color:var(--paper); }
.featured-story { display:grid; grid-template-columns:1.2fr 1fr; background:var(--sage); border:1px solid var(--line); border-radius:.75rem; overflow:hidden; margin:0 0 4.5rem; }
.featured-art { display:flex; background:var(--paper); }
.featured-art img { display:block; width:100%; height:100%; object-fit:cover; }
.featured-copy { padding:clamp(1.5rem,3vw,3rem); align-self:center; }
.featured-copy h2 { font-size:clamp(2rem,3vw,3rem); line-height:1.12; letter-spacing:-.035em; margin:.9rem 0 1rem; }
.featured-copy p:not(.eyebrow) { color:var(--muted); margin-bottom:1.5rem; }
.featured-pages { display:block; color:var(--muted); font-size:.8rem; margin-top:.65rem; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:1.25rem; margin-bottom:1.75rem; }
.section-heading h2 { font-size:clamp(2rem,3.5vw,2.8rem); margin-top:.6rem; letter-spacing:-.03em; }
.section-heading > a { font-size:.9375rem; min-height:44px; display:flex; align-items:center; }
.originals-card h3 { font:400 1.55rem/1.2 var(--font-display); margin:.75rem 0 1.25rem; letter-spacing:-.025em; }
.home-grid { gap:1.5rem; }
.home-grid .originals-card-copy { padding:1.15rem; }
.home-grid .originals-card img { aspect-ratio:16/9; }
.literature-page .bookshop-shelf { margin-top:1rem; }
.books-intro { padding-bottom:1rem; }
.books-intro > p:last-child { max-width:46rem; margin-top:1rem; color:var(--muted); }
.books-intro + .bookshop-shelf { margin-top:0; }
.all-printed-books { margin:1.5rem 0 3rem; }
.all-printed-books a,.library-buy-note a { display:inline-flex; align-items:center; min-height:44px; }
.library-buy-note { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem 1.5rem; border-top:1px solid var(--line); padding:1.5rem 0 3rem; color:var(--muted); }
.related-stories { margin:2.5rem auto 0; max-width:850px; text-align:left; }
.related-stories > h2 { font-size:2rem; margin-bottom:1.5rem; }
.related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:1.5rem; }
.after-reading-buy { border-top:1px solid var(--line); padding-top:1.5rem; font-size:.9rem; color:var(--muted); }
.after-reading-buy p { margin:.75rem 0; }
.after-reading-buy a { display:inline-block; padding-block:.5rem; }
.information-content { max-width:860px; margin:0 auto; }
.information-content > h1 { font-size:clamp(2.5rem,5vw,3.5rem); margin-bottom:1.5rem; }
@media(max-width:800px) { .featured-story { grid-template-columns:1fr; } .featured-art img { aspect-ratio:16/9; } .section-heading { align-items:start; flex-direction:column; gap:.5rem; } }
@media(max-width:620px) { .home-welcome { padding-top:2rem; } .home-welcome h1 { font-size:2.9rem; } .home-welcome .intro { font-size:1rem; } .home-actions .reader-button { font-size:.875rem; } .featured-story { margin-bottom:3rem; } .home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem .85rem; } .home-grid .originals-card-copy { padding:.85rem; } .home-grid .originals-card h3 { font-size:1.35rem; } .home-grid .originals-card-bottom { flex-direction:column; align-items:start; gap:.45rem; padding-top:.75rem; font-size:.75rem; } .home-grid .eyebrow { font-size:.6rem; } .related-grid { grid-template-columns:1fr; } }
@media print { .related-stories { display:none; } }
/* Printed books: actual covers lead; supporting copy stays compact. */
.literature-page .books-intro { padding:2rem 0 1.2rem; }
.books-intro h1 { font-size:clamp(2.3rem,4.4vw,3.5rem); line-height:1.1; letter-spacing:-.035em; }
.literature-page .books-intro > p:last-child { margin-top:.6rem; font-size:1rem; }
.literature-page .bookshop-shelf { padding:0; border:0; background:transparent; }
.literature-page .bookshop-shelf .bookshop-ad { padding:0; margin:0 0 1rem; border:0; font-size:.875rem; font-weight:400; color:var(--muted); }
.literature-page .bookshop-shelf .bookshop-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin:1rem 0; }
.literature-page .bookshop-shelf .bookshop-card { padding:1.15rem; background:var(--sage); }
.bookshop-cover { display:flex; align-items:center; justify-content:center; height:245px; margin:0 0 1.2rem; text-decoration:none; }
.bookshop-cover img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 7px #0004); }
.literature-page .bookshop-card :is(h2,h3) { font-size:1.5rem; margin:0 0 .5rem; }
.literature-page .bookshop-card .bookshop-credits { margin:0 0 .45rem; font-size:.8rem; line-height:1.45; }
.literature-page .bookshop-card .bookshop-format { margin:0 0 1rem; font-size:.6875rem; }
.literature-page .bookshop-card .bookshop-button { background:var(--paper); min-height:44px; }
.literature-page .bookshop-shelf .bookshop-note { margin-top:.75rem; font-size:.75rem; }
.literature-page .bookshop-shelf .bookshop-store { font-size:.8125rem; margin-top:.5rem; }
@media(max-width:900px) and (min-width:621px) { .literature-page .bookshop-shelf .bookshop-grid { gap:.85rem; } .literature-page .bookshop-shelf .bookshop-card { padding:.85rem; } .bookshop-cover { height:200px; } .literature-page .bookshop-card :is(h2,h3) { font-size:1.25rem; } }
@media(max-width:620px) {
 .literature-page .books-intro { padding-top:1.5rem; }
 .literature-page .bookshop-shelf .bookshop-grid { grid-template-columns:1fr; gap:1rem; }
 .literature-page .bookshop-shelf .bookshop-card { display:grid; grid-template-columns:105px minmax(0,1fr); column-gap:1rem; padding:1rem; }
 .bookshop-cover { grid-column:1; grid-row:1/5; height:166px; margin:0; align-self:center; }
 .literature-page .bookshop-card :is(h2,h3) { grid-column:2; font-size:1.3rem; }
 .literature-page .bookshop-card .bookshop-credits,.literature-page .bookshop-card .bookshop-format,.literature-page .bookshop-card .bookshop-button { grid-column:2; }
 .literature-page .bookshop-card .bookshop-format { margin-bottom:.6rem; }
 .literature-page .bookshop-card .bookshop-button { padding:.55rem .65rem; font-size:.8125rem; }
}
@media(max-width:350px) { .literature-page .bookshop-shelf .bookshop-card { grid-template-columns:82px minmax(0,1fr); gap:.6rem; padding:.75rem; } .bookshop-cover { height:145px; } }

/* Mutually exclusive reading views with shared felt controls. */
.reader-view-switch { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
.reader-view-switch[hidden], #paged-story[hidden], #complete-story[hidden] { display: none; }
.reader-view-switch [aria-pressed="true"] { outline: 2px solid var(--story-sun, #f5bd2e); outline-offset: 3px; }
#complete-story { margin-top: 20px; }

/* Keep the reading hint at the right after removing the duplicate count. */
.reader-topline { justify-content: flex-end; }

/* Video and reading modes share a single row above the book. */
.reader-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin: 24px 0; }
.reader-actions > .video-link { margin: 0; }
.reader-actions .reader-view-switch { margin: 0 0 0 auto; justify-content: flex-end; }
