.chapters {
  --linen: #fbf7ee;
  --plum: #70495f;
  --chapter-width: min(1180px, calc(100% - clamp(36px, 10vw, 144px)));
  background: var(--linen);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.chapters main { flex: 1; }
:root[data-locale-pending] body { visibility:hidden; }
.chapters .site-header { background: #092e33; }
.chapters .main-nav a[aria-current="page"] { color: #fff4d9; text-decoration: underline; text-decoration-color: #dfa85c; text-underline-offset: 7px; }
.chapters .brand { white-space: nowrap; }
.chapter { width: var(--chapter-width); margin-inline: auto; }
.chapter { padding-block: clamp(40px, 7vw, 90px); }
.chapter-heading { margin-bottom: clamp(24px, 4vw, 44px); }
.chapters .eyebrow { color: var(--plum); }
.chapters .reader-header .eyebrow, .chapters .brief-result .eyebrow { color: #e4b8d5; }
.chapter-heading h1, .order-path h2, .order-brief h2 {
  font-family: Georgia, serif;
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.02;
  text-wrap: balance;
  margin: 0;
}
.chapter-heading h1 { font-size: clamp(2.75rem, 6.3vw, 5.4rem); }
.chapter-heading > p:last-child:not(.eyebrow) { margin: 15px 0 0; max-width: 52ch; }
.chapter-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.chapter-actions .button { font-size: .92rem; }
.home-page .hero { min-height: 0; }
.home-page .hero-copy { align-self: center; }
.home-page .hero .eyebrow,
.home-examples .portfolio-book[data-audience="older"] .eyebrow { color: var(--violet-soft); }
.home-page .hero-facts { display: flex; flex-wrap: wrap; margin-top: 36px; }
.home-page .hero-facts li { display: block; }
.home-page .hero-visual img { position: absolute; inset: 0; width: 100%; }
.home-examples .section-heading { margin-bottom: 24px; }
.home-examples .section-heading > .eyebrow { margin: 0 0 12px; color: var(--plum); }
.showcase-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.showcase-toolbar > a, .jacket-actions a { text-underline-offset: 4px; }
.home-examples .portfolio-book { margin-bottom: 22px; }
.home-examples .portfolio-book:last-of-type { margin-bottom: 0; }
.home-examples .portfolio-copy h3 { margin-bottom: 12px; }
.home-examples .portfolio-copy > p:not(.eyebrow) { margin: 0 0 20px; max-width: 38ch; }
.home-styles .style-card { display:flex; flex-direction:column; }
.home-styles .style-cover { height:auto; aspect-ratio:246/226; }
.home-styles .style-cover img { object-fit:contain; }
.home-styles .style-actions a { display:flex; align-items:center; min-height:42px; color:inherit; font-weight:750; text-underline-offset:5px; }
.home-styles .style-copy { padding:22px; }
.home-styles .style-card h3 { font-size:clamp(1.5rem,1.8vw,2rem); }
.home-styles .style-actions { padding-top:14px; }
.catalog .age-filters { margin-bottom: 30px; }
.demo-spotlight { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:center; gap:32px; padding:clamp(22px,4vw,42px); margin:0 0 40px; border-radius:24px; background:#e9e1f1; border:1px solid #d8cbe0; }
.demo-spotlight h2 { margin:0 0 18px; font-size:clamp(2rem,3.5vw,3.2rem); }
.demo-spotlight p:last-child { margin:0; max-width:36ch; }
.demo-spotlight-covers { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.demo-spotlight-covers button { display:flex; flex-direction:column; gap:10px; padding:0; border:0; background:none; color:var(--ink); font-weight:700; text-align:left; cursor:pointer; }
.demo-spotlight-covers img { aspect-ratio:4/5; object-fit:contain; border-radius:10px; box-shadow:0 12px 25px #29323825; }
.demo-spotlight-covers span { font-size:.86rem; }
.shelf { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(16px,3vw,34px); align-items: start; }
.shelf-card { min-width: 0; padding: 10px; border: 1px solid #e3d7c5; border-radius: 12px; background: #fffdf7; box-shadow: 0 10px 24px #51371c0c; }
.jacket { position: relative; display:grid; place-items:center; width: 100%; aspect-ratio: 1.09; border:0; padding: 9px; border-radius: 6px; background: #ebdfca; cursor:pointer; overflow:hidden; }
.shelf-card:nth-child(3n+2) .jacket { background: #e9dce6; }
.shelf-card:nth-child(3n) .jacket { background: #dce6df; }
.jacket img { width:100%; height:100%; min-height:0; object-fit:contain; transition:transform .22s ease; }
.jacket:hover img { transform:scale(1.025); }
.jacket-age { position:absolute; bottom: 9px; right: 9px; border-radius: 99px; padding: 4px 10px; background: #fbf7ee; color: #12373b; font-size:.75rem; font-weight:750; }
.jacket-caption { padding: 13px 6px 5px; }
.jacket-caption p { margin: 0 0 5px; color: #6c465c; font-size: .76rem; font-weight: 700; }
.jacket-caption :is(h2,h3) { margin: 0; font: 1.32rem/1.13 Georgia,serif; }
.jacket-actions { display:flex; flex-wrap:wrap; align-items:center; gap: 4px 17px; margin-top: 6px; font-size:.88rem; }
.jacket-actions button { background: transparent; border: 0; color: inherit; padding: 0; min-height: 44px; font-weight:750; cursor:pointer; }
.order-paths { display:grid; grid-template-columns:1fr 1fr; gap: 20px; }
.order-path { border:1px solid #decdb2; border-radius:16px; background:#f1e6d1; padding:clamp(20px,4vw,40px); display:flex; flex-direction:column; align-items:start; }
.order-path + .order-path { background:#eee4eb; border-color:#dfd0dc; }
.order-path h2,.order-brief h2 { font-size: clamp(1.9rem,4vw,3.35rem); }
.order-path > p:not(.eyebrow) { max-width:40ch; margin:14px 0 23px; }
.order-path .button { margin-top:auto; }
.extra-path { border-bottom:1px solid #ded2bd; margin-top:22px; padding: 0 0 15px; }
.extra-path summary { cursor:pointer; width:fit-content; padding:10px 0; font-weight:700; }
.extra-path p { margin-top:4px; }
.order-steps { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:10px 30px; margin:26px 0 0; counter-reset: stages; font-size:.93rem; }
.order-steps li::before { counter-increment:stages; content:"0" counter(stages); font-weight:750; color:var(--plum); margin-right:8px; }
.order-brief { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px 6%; border-top:1px solid #ded2bd; padding-top:40px; }
.order-brief .brief-intro { position:static; }
.order-form-panel { min-width:0; }
.order-form-panel .story-form { gap:16px; padding:clamp(18px,3vw,34px); border:1px solid #e3d7c5; background:#fffdf7; box-shadow:0 10px 28px #51371c0d; }
.order-form-panel label small { font-weight:400; color:#526365; }
.order-form-panel .order-draft { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin-top:18px; padding:clamp(18px,3vw,28px); }
.order-draft p { margin:0; }
.order-draft .result-actions { gap:10px; }
#copy-status:empty { display:none; }
.questions-chapter { max-width:820px; }
.questions-contact { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; margin-top:28px; }
.chapters .chapter-footer { display:flex; justify-content:space-between; gap:14px 22px; flex-wrap:wrap; padding-block:24px; }
@media (max-width: 860px) {
  .shelf { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .demo-spotlight { grid-template-columns:1fr; gap:24px; }
  .order-paths, .order-brief { grid-template-columns:1fr; }
  .home-page .hero-copy { padding-top: 36px; }
  .home-page .hero-lede { margin-top: 16px; }
  .home-page .hero-actions { flex-direction: row; align-items: center; margin-top: 20px; }
  .home-page .hero-actions .button { width: auto; }
  .home-page .hero-facts { gap: 8px 16px; margin-top: 26px; padding-top: 14px; }
  .home-page .hero-facts strong { font-size: .78rem; }
  .home-page .hero-visual { height: clamp(270px, 75vw, 460px); }
  .chapters .age-filters button { min-width:0; padding-inline:15px; }
  .shelf-card { padding:6px; }
  .jacket { padding:5px; }
  .jacket-caption { padding:10px 3px 3px; }
  .jacket-caption :is(h2,h3) { font-size:1.12rem; }
  .jacket-actions { gap:0 10px; }
}
@media (max-width: 480px) {
  .shelf { grid-template-columns:minmax(0,1fr); gap:24px; }
  .shelf-card { padding:10px; }
  .jacket-caption { padding:16px 8px 10px; }
  .jacket-caption :is(h2,h3) { font-size:1.45rem; }
  .jacket-actions { justify-content:space-between; margin-top:12px; }
}
.reader-stage { --reader-zoom-width: 850px; }
.reader-stage.is-zoomed>img { width:var(--reader-zoom-width); }
.reader-stage.is-loading>img { opacity:0; }
.reader-stage.is-loading::before { content:attr(data-loading); position:absolute; inset:30% 0 auto; color:#fff4dc; z-index:1; }
.reader-stage.has-error::before { content:attr(data-error); position:absolute; inset:25% 20px auto; color:#fff4dc; z-index:1; }
@media (prefers-reduced-motion: reduce) { .jacket img { transition:none; } }

/* A clear path from a quick style sample to a complete book. */
.home-styles .style-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-styles .style-card h3 { font-size:clamp(1.6rem,2vw,2rem); }
.home-styles .section-heading>p:last-child { max-width:50ch; }
.style-card-sky { background:#e8e9f3; }
.style-card-rose { background:#f2e0e4; }
.section-end-link { margin-top:32px; text-align:center; }
.section-end-link .text-link { color:var(--ink); }
.catalog .chapter-heading { max-width:900px; }
.catalog .chapter-heading>p:last-child { max-width:65ch; }
.catalog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:42px; }
.catalog-toolbar .age-filters { margin:0; }
.catalog-jumps { display:flex; gap:22px; flex-wrap:wrap; }
.catalog-jumps a { text-underline-offset:6px; font-size:.95rem; }
.book-collection { margin-bottom:64px; scroll-margin-top:94px; }
.collection-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.collection-heading .eyebrow { margin-bottom:12px; }
.collection-heading h2 { margin:0; font-size:clamp(2rem,3.4vw,3.1rem); letter-spacing:-.035em; }
.collection-heading>p { max-width:31ch; margin:0; color:#526365; font-size:.98rem; }
.demo-books { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.demo-book { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); overflow:hidden; border-radius:22px; background:#e8e9f3; border:1px solid #d4d8e1; }
.demo-book+.demo-book { background:#f2e0e4; border-color:#e2cbd3; }
.demo-book-cover { display:grid; place-items:center; border:0; padding:20px; min-width:0; cursor:pointer; background:#d4dce6; }
.demo-book+.demo-book .demo-book-cover { background:#e5ccd1; }
.demo-book-cover img { width:100%; height:auto; border-radius:6px; box-shadow:0 12px 24px #23343a25; }
.demo-book-copy { display:flex; flex-direction:column; padding:26px 24px; min-width:0; }
.demo-book-copy .eyebrow { font-size:.7rem; margin-bottom:6px; }
.demo-book-style { margin:0 0 15px; color:#69485d; font-size:.8rem; font-weight:700; }
.demo-book h3 { font-size:clamp(1.55rem,2.2vw,2rem); line-height:1.12; margin:0 0 16px; letter-spacing:-.02em; }
.demo-book-copy>p:not(.eyebrow,.demo-book-style) { margin:0 0 24px; font-size:.95rem; color:#405a5e; }
.demo-book-actions { display:flex; align-items:start; flex-direction:column; gap:12px; margin-top:auto; }
.demo-book-actions .button { padding-inline:20px; min-height:46px; font-size:.92rem; }
.demo-book-actions>a { display:flex; align-items:center; min-height:44px; font-weight:650; font-size:.92rem; text-underline-offset:5px; }
.shelf { align-items:stretch; }
.shelf-card { display:flex; flex-direction:column; }
.jacket-wrap { position:relative; }
.jacket-caption { display:flex; flex:1; flex-direction:column; padding:16px 8px 8px; }
.jacket-caption h3 { font-size:1.4rem; line-height:1.17; }
.jacket-caption .book-summary { margin:12px 0 20px; font-size:.93rem; line-height:1.5; font-weight:400; color:#526365; }
.jacket-actions { margin-top:auto; justify-content:space-between; gap:4px 14px; }
.jacket-actions>a { display:flex; align-items:center; min-height:44px; }
.catalog-invite { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:clamp(26px,4vw,46px); border-radius:24px; background:#efe3cc; }
.catalog-invite h2 { font-size:clamp(2rem,3.2vw,3rem); margin:0 0 16px; letter-spacing:-.03em; }
.catalog-invite p:last-child { margin:0; max-width:48ch; color:#40585c; }
.catalog-invite>.button { flex:none; }
@media(max-width:1000px) {
  .home-styles .style-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .demo-books { grid-template-columns:1fr; }
  .demo-book { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); }
  .demo-book-cover { padding:24px; }
}
@media(max-width:640px) {
  .collection-heading { display:block; }
  .collection-heading>p { max-width:38ch; margin-top:16px; }
  .catalog-toolbar { margin-bottom:32px; gap:18px; }
  .catalog-jumps { gap:24px; }
  .book-collection { margin-bottom:46px; }
  .home-styles .style-grid { grid-template-columns:1fr; gap:18px; }
  .home-styles .style-card { display:grid; grid-template-columns:125px minmax(0,1fr); }
  .home-styles .style-cover { height:100%; aspect-ratio:auto; }
  .home-styles .style-cover img { object-fit:contain; }
  .home-styles .style-copy { padding:20px 18px; }
  .home-styles .style-card h3 { font-size:1.35rem; }
  .home-styles .style-label { font-size:.62rem; line-height:1.55; margin-bottom:10px; }
  .home-styles .style-actions { gap:3px; padding-top:8px; font-size:.9rem; }
  .demo-book { grid-template-columns:1fr; }
  .demo-book-cover { padding:24px; }
  .demo-book-cover img { max-width:240px; }
  .demo-book-copy { padding:24px; }
  .demo-book h3 { font-size:1.9rem; }
  .demo-book-actions { flex-direction:row; align-items:center; flex-wrap:wrap; gap:8px 18px; }
  .catalog-invite { flex-direction:column; align-items:start; gap:24px; }
}
@media(max-width:360px) {
  .home-styles .style-card { grid-template-columns:105px minmax(0,1fr); }
  .home-styles .style-copy { padding:18px 14px; }
}

/* Language choices stay visible even when the navigation is collapsed. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:24px; }
.site-header>.brand { grid-column:1; grid-row:1; }
.site-header>.main-nav { grid-column:2; grid-row:1; justify-self:end; gap:22px; }
.site-header>.language-switch { grid-column:3; grid-row:1; }
.language-switch { display:flex; align-items:center; padding:3px; border:1px solid #fff3; border-radius:99px; gap:1px; }
.language-switch a { display:grid; place-items:center; min-width:32px; min-height:38px; padding:2px 5px; border-radius:99px; font-size:12px; font-weight:700; color:#f8f0da; text-decoration:none; }
.language-switch a[aria-current="true"] { background:#f6ebd3; color:#12373b; }
.language-switch a:hover { background:#ffffff1c; }
.language-switch a[aria-current="true"]:hover { background:#fff7e5; }
.reader-language-note { max-width:65ch; font-size:.85rem; line-height:1.5; color:#e0d8c6; margin:10px 0 0; }
.reader-transcript { max-width:720px; padding:24px 28px; margin:12px auto 28px; color:#fff4dc; text-align:left; }
.reader-transcript h3 { margin:0 0 16px; font:700 .8rem/1.5 system-ui,sans-serif; color:#e9bb77; letter-spacing:.06em; }
.reader-transcript p { font:1.16rem/1.7 Georgia,serif; white-space:pre-line; margin:0 0 1em; }
.reader-transcript p:last-child { margin-bottom:0; }
@media(max-width:1180px) {
  .site-header { gap:16px; }
  .site-header>.main-nav { gap:14px; }
  .main-nav a { font-size:.85rem; }
}
@media(max-width:1080px) {
  .site-header { grid-template-columns:minmax(0,1fr) auto auto; gap:12px; min-height:68px; padding:0 20px; }
  .site-header>.language-switch { grid-column:2; }
  .site-header>.menu-button { grid-column:3; grid-row:1; display:grid; place-items:center; width:44px; height:44px; padding:0; font-size:21px; }
  .site-header>.main-nav { display:none; position:absolute; grid-column:1/-1; grid-row:auto; top:68px; left:0; right:0; padding:20px; flex-direction:column; align-items:stretch; max-height:calc(100dvh - 68px); overflow-y:auto; background:var(--ink-deep); border-top:1px solid #fff2; }
  .site-header>.main-nav.is-open { display:flex; }
  .main-nav a { padding:10px 12px; font-size:1rem; }
  .language-switch a { min-height:38px; }
}
@media(max-width:480px) {
  .site-header { gap:7px; padding:0 12px; }
  .site-header .brand { font-size:1rem; gap:8px; }
  .site-header .brand-mark { transform:scale(.82); transform-origin:left center; width:28px; flex:none; }
  .language-switch { padding:2px; }
  .language-switch a { min-width:26px; padding-inline:2px; min-height:38px; font-size:11px; }
  .reader-transcript { margin:0 0 16px; padding:20px; }
}
@media(max-width:360px) {
  .site-header { padding-inline:10px; gap:5px; }
  .site-header .brand { font-size:.88rem; gap:4px; }
  .site-header>.menu-button { width:38px; }
}
