/* Expanded editorial experience. Original artwork is shown without cropping. */
.hero--editorial .hero-intro p:first-child{color:#e1ebf2}
.hero--editorial .hero-intro{max-width:61ch}
.hero--editorial .hero-book figcaption{background:#07111cd9;padding:.8rem 1rem;right:0;bottom:.5rem;border-color:#748da4}
.edition-ribbon{background:#0d2639;color:#cad9e4;border-block:1px solid #ffffff1f}
.edition-ribbon>.container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:1.15rem}
.edition-ribbon span{font-family:var(--mono);font-size:.7rem;letter-spacing:.07em}
.foundation-section{background:var(--paper-light)}
.foundation-layout{display:grid;gap:3rem;align-items:center}
.foundation-layout h2{max-width:22ch;font-size:clamp(2.8rem,4.7vw,4.7rem)}
.foundation-layout h2 em{font-weight:400;color:#0869bf}
.foundation-layout .prose{max-width:65ch}
.identity-panel{background:#040d19;border:1px solid #263e52;padding:1.5rem;max-width:28rem;margin-inline:auto;text-align:center;box-shadow:0 2rem 4rem #07111c16}
.identity-image{width:100%;height:auto;display:block;object-fit:contain}
.identity-caption{font-size:.85rem;line-height:1.6;color:#c2d2df;margin:1rem 0 .5rem}
.journey-section{background:#e4ebed}
.journey-heading{max-width:66rem;margin-bottom:3.5rem}
.journey-heading>p:last-child{max-width:65ch;color:var(--ink-soft)}
.journey-grid{display:grid;gap:1.3rem}
.journey-grid article{border-top:2px solid #194b70;padding:1.8rem;background:#faf8f3;display:flex;flex-direction:column;align-items:start}
.journey-number{font-family:var(--serif);font-size:4.5rem;color:#0a5e9b;line-height:1}
.journey-range{font-family:var(--mono);font-size:.7rem;color:#4b6172;margin:1.2rem 0}
.journey-grid h3{font-family:var(--serif);font-size:2rem;font-weight:400}
.journey-grid article>p:not(.journey-range){font-size:.95rem;color:#465563}
.journey-grid a{color:#0869bf;font-size:.85rem;text-underline-offset:.3em;margin-top:auto;padding-top:1rem}
.campaign-return{background:#07111c;color:#f9fbfc}
.campaign-return .section-kicker{color:#80c6ff}
.campaign-return .campaign-heading>p{color:#bacbd8}
.campaign-triptych{display:grid;gap:1.5rem;list-style:none;margin:3rem 0 0;padding:0}
.campaign-triptych figure{margin:0}
.campaign-triptych img{width:100%;height:auto;object-fit:contain;border:1px solid #375064;display:block}
.campaign-triptych figcaption{display:flex;gap:1rem;margin-top:1rem;font-size:.8rem;color:#d0dde7}
.campaign-triptych figcaption span{font-family:var(--mono);color:#80c6ff}
.home-book-section{background:var(--paper-light)}
.home-book-layout{display:grid;gap:3rem;align-items:center}
.home-book-layout h2{font-size:clamp(3rem,5vw,5rem)}
.book-diptych{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;padding:2rem 0}
.artwork-button{display:block;border:0;background:transparent;padding:0;cursor:zoom-in;min-width:0;color:#1b3c54;font:inherit;text-align:left}
.artwork-button img{display:block;width:100%;height:auto;filter:drop-shadow(0 .8rem .7rem #0002);transition:transform .25s ease}
.artwork-button--front{transform:translateY(-1.1rem)}
.artwork-button--back{transform:translateY(1.1rem)}
.artwork-button:hover img{transform:translateY(-4px)}
.artwork-button>span{display:block;margin-top:.8rem;font-size:.72rem;text-decoration:underline;text-underline-offset:.3em}
.book-detail-facts{display:grid;gap:0;margin:1.5rem 0 2rem}
.book-detail-facts>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.7rem 0;font-size:.82rem}
.book-detail-facts dt{font-weight:600}.book-detail-facts dd{margin:0;text-align:right}
.reading-window{display:grid;gap:2rem;margin-top:5rem;padding:2rem;background:#e5edf1;border-left:3px solid #0869bf}
.reading-window h3{font-family:var(--serif);font-size:2.1rem;line-height:1.12;font-weight:400}
.reading-window blockquote{margin:0}
.reading-window blockquote p{font-family:var(--serif);font-size:1.5rem;line-height:1.55;margin-bottom:1.2rem}
.reading-window blockquote footer{font-family:var(--mono);font-size:.65rem;color:#465563}
.reading-window .inline-link{font-size:.82rem}
.audience-section{background:#e6ecdf}
.audience-section .section-heading{max-width:67rem}
.audience-section .section-heading>p:last-child{max-width:64ch}
.audience-grid{display:grid;border-top:1px solid #81937b}
.audience-grid article{padding:2rem 0;border-bottom:1px solid #81937b}
.audience-grid article>span{font-family:var(--mono);font-size:.7rem;color:#365d39}
.audience-grid h3{font-family:var(--serif);font-size:1.9rem;font-weight:400;margin-top:1.5rem}
.audience-grid article>p{font-size:.95rem;color:#344337}
.audience-grid .audience-question{font-family:var(--serif);font-size:1.35rem;margin-bottom:0;color:#223e28}
.audience-footnote{font-size:.78rem;margin:1.5rem 0 0;color:#3c4b40;max-width:85ch}
.axes-more{display:inline-block;margin-top:2rem}
.edition-card__meta{margin-bottom:1.5rem}
.edition-art{position:relative;min-height:17rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.8rem;background:#e3eaf0;padding:1.2rem;overflow:hidden}
.edition-art img{height:14rem;width:auto;max-width:80%;object-fit:contain;box-shadow:.4rem .7rem 1rem #0003}
.edition-art>span{position:absolute;right:.5rem;bottom:.5rem;background:#07111c;color:#e9f4fc;font-family:var(--mono);font-size:.58rem;padding:.45rem .7rem;letter-spacing:.04em}
.edition-art--ih-ebook{background:#e6e7ed}.edition-art--ih-audio{background:#dfebe4}
.edition-card--featured .edition-art{background:#173349}
.store-service-note{display:flex;flex-wrap:wrap;gap:.7rem 2rem;justify-content:space-between;align-items:center;padding-top:2rem;color:#354c5d;font-size:.82rem}
.store-service-note p{margin:0}.store-service-note a{text-underline-offset:.3em}
.press-note{margin-top:2rem;padding:1.5rem;border:1px solid #a6b9c7;background:#e7eef1}
.press-note h3{font-family:var(--serif);font-size:1.6rem;font-weight:400}.press-note p{font-size:.88rem}.press-note a{font-size:.85rem;color:#075fa8;overflow-wrap:anywhere}
.publisher-logo{display:block;width:180px;max-width:100%;margin:.6rem 0}
.publisher-logo-image{display:block;width:100%;height:auto;object-fit:contain}
.cover-tools{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem}
.cover-tools .cover-toggle{font-size:.8rem;padding:.7rem .9rem}
.artwork-dialog{background:#091726;color:#e7f1f8;border:1px solid #5a7b96;max-width:min(95vw,70rem);width:max-content;max-height:95svh;padding:1rem}
.artwork-dialog::backdrop{background:#020711e8}
.artwork-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.artwork-dialog h2{font-family:var(--sans);font-size:1rem;line-height:1.5;letter-spacing:0;max-width:none;margin:0}
.artwork-dialog button{border:1px solid #8ca4ba;background:transparent;color:white;padding:.6rem .9rem;cursor:pointer;white-space:nowrap}
.artwork-dialog>img{display:block;max-height:76svh;max-width:100%;width:auto;height:auto;margin:auto;object-fit:contain}
.artwork-dialog>a{display:block;text-align:center;font-size:.85rem;margin-top:1rem;text-underline-offset:.3em;color:#bddfff}
@media(min-width:768px){.foundation-layout{grid-template-columns:1.35fr .8fr;gap:5rem}.journey-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-triptych{grid-template-columns:repeat(3,minmax(0,1fr))}.home-book-layout{grid-template-columns:1fr 1fr;gap:4rem}.reading-window{grid-template-columns:.8fr 1.2fr;gap:4rem;padding:3rem}.audience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}.audience-grid article{border-bottom:0}.artwork-button--front{transform:translateY(-2rem)}.artwork-button--back{transform:translateY(2rem)}}
@media(max-width:767px){.edition-ribbon>.container{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.edition-ribbon span{font-size:.6rem}.campaign-triptych{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.campaign-triptych figcaption{display:block;font-size:.65rem;line-height:1.5}.campaign-triptych figcaption span{display:block;margin-bottom:.4rem}.reading-window{width:calc(100% - 2.2rem);padding:1.5rem}.reading-window blockquote p{font-size:1.25rem}.identity-panel{max-width:23rem;width:100%}.journey-grid article{padding:1.5rem}.home-book-layout{gap:2rem}.hero--editorial .hero-book figcaption{position:static;margin-top:.8rem}.artwork-dialog-toolbar{align-items:start}.artwork-dialog h2{font-size:.85rem}.publisher-logo{width:165px}}
@media(prefers-reduced-motion:reduce){.artwork-button:hover img{transform:none}.artwork-button img{transition:none}}
@media(max-width:767px){
    .hero--editorial .hero-layout{display:flex;flex-direction:column;gap:1rem;align-items:stretch}
    .hero--editorial .hero-copy{display:contents}
    .hero--editorial .hero-meta{order:0;margin-bottom:1rem}
    .hero--editorial h1{order:1;margin-bottom:.4rem}
    .hero--editorial .hero-subtitle{order:2;margin-bottom:.5rem}
    .hero--editorial .hero-book{order:3;width:min(74vw,22rem);margin:1rem auto 1.5rem}
    .hero--editorial .hero-intro{order:4;margin-bottom:.5rem}
    .hero--editorial .button-row{order:5;margin-top:.5rem}
    .hero--editorial .hero-signature{order:6;margin-top:1rem}
}

/* Public reader reviews share the approved typography and palette in both modes. */
.reader-reviews-section{background:var(--paper-light)}
.content-section.reader-reviews-section{padding:clamp(1.25rem,3vw,2.5rem)}
.reader-reviews-heading{max-width:62ch;margin-bottom:2rem}
.reader-reviews-heading>p:last-child{color:var(--ink-soft)}
.reader-reviews-grid{display:grid;gap:1.25rem}
.reader-review{display:flex;flex-direction:column;min-width:0;border-top:2px solid var(--blue);padding:1.4rem;background:var(--paper);color:var(--ink)}
.reader-review-rating{display:flex;gap:.2rem;align-items:center;color:#9b6700;margin:0 0 1rem}
.reader-review-rating svg{display:block;width:1.25rem;height:1.25rem;fill:currentColor;flex-shrink:0}
:root[data-ih-theme="dark"] .reader-review-rating{color:#f4c65d}
.reader-review blockquote{margin:0;font:inherit;overflow-wrap:anywhere}
.reader-review blockquote p{color:inherit}
.reader-review-author{margin:1rem 0 0;padding-top:1rem;border-top:1px solid var(--line);font-weight:600}
.reader-reviews-links{display:flex;flex-wrap:wrap;gap:1.25rem 2rem;margin-top:2rem}
@media(min-width:768px){.reader-reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
