/* Shared hierarchy for navigation, book browsing and reading. */
.header{display:grid;grid-template-columns:1fr auto 1fr;gap:24px}
.header>.brand{justify-self:start;width:310px;max-width:100%}
.desktop-nav{justify-self:center;gap:30px;font-size:15px}
.header-actions{justify-self:end}
.button{justify-content:center;text-align:center;gap:0;min-height:48px;border-radius:100px;padding:12px 24px;line-height:1.25;font-size:15px;font-weight:850;box-shadow:0 4px 9px #10273f26}
.button.primary{background:#0057ce;border-color:#0057ce;color:white;box-shadow:0 4px 9px #10273f26;text-transform:uppercase;letter-spacing:.055em;font-size:14px}
.button.primary:hover{background:#0045a5;border-color:#0045a5;box-shadow:0 6px 12px #10273f30;transform:translateY(-1px)}
.hero-action .button.primary{background:#ffda24;border-color:#ffda24;color:#10273f;box-shadow:0 4px 9px #10273f26}
.hero-action .button.primary:hover{background:#f4ca00;border-color:#f4ca00;box-shadow:0 6px 12px #10273f30}
.button.secondary,.book-actions .book-explore{background:#0057ce;color:white;border-color:#0057ce;box-shadow:0 4px 9px #10273f26}
.button.secondary:hover,.book-actions .book-explore:hover{background:#0045a5;color:white;border-color:#0045a5;box-shadow:0 6px 12px #10273f30;transform:translateY(-1px)}
.header .header-cta{background:#ffda24;border-color:#ffda24;color:#10273f;box-shadow:0 4px 9px #10273f26;text-transform:none;letter-spacing:0;font-size:14px;min-height:44px;padding:10px 20px}
.header .header-cta:hover{background:#f4ca00;border-color:#f4ca00;box-shadow:0 6px 12px #10273f30}
.button:focus-visible,.text-link:focus-visible{outline:3px solid #10273f;outline-offset:4px}
.book-tagline{width:min(580px,100%);aspect-ratio:1380/90;position:relative;overflow:hidden;margin:0 auto 18px}
.book-tagline img{position:absolute;max-width:none;width:157.3913%;height:auto;left:-35.5072%;top:-500%}
.book-tagline>span{display:none}
.design-world .new-hero-copy{max-width:700px}
@media(min-width:601px){.design-world .new-hero{height:690px}}
@media(min-width:1500px){.design-world .new-hero{height:730px}}
.book-info{flex:0 0 auto;padding-top:8px}
.book-card .cover-stage{margin-bottom:4px}
.book-info h3{max-width:none;min-height:2.5em;font-size:21px;line-height:1.25;margin:0 0 12px;letter-spacing:-.025em}
.book-title-lead,.book-title-name{display:block}
.book-world{font-size:12px;line-height:1.4;margin-bottom:8px;color:#304d67}
.book-actions{margin-top:0;padding-top:0;display:flex;justify-content:flex-start;align-items:center;gap:0}
.book-actions .book-theme{font-size:15px;line-height:1.4;color:#3d5871}
.book-actions .book-explore{padding:10px 18px;font-size:14px;min-height:44px;align-self:flex-start;box-shadow:0 4px 9px #10273f26}.book-actions .book-explore:hover{box-shadow:0 6px 12px #10273f30}
.collection .book-grid{gap:32px 24px}.collection .book-card,.more-books .book-card{padding:18px 18px 22px;border:1px solid #dce5ed;border-radius:12px;background:#fff}.collection .cover-stage{padding:8px 6px 18px}.more-books .cover-stage{padding:10px 18px 20px}
.detail-copy .detail-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-bottom:20px}
.detail-copy .eyebrow{margin:0;font-size:14px;line-height:1.4;color:#304d67}
.detail-copy .status{font:850 13px/1.4 var(--body);padding:8px 12px;margin:0;letter-spacing:.035em;border:1px solid #304d67;border-radius:5px;color:#fff;background:#304d67}
.detail-copy h1{font-size:clamp(34px,3.3vw,50px);line-height:1.12;margin-bottom:12px;letter-spacing:-.035em;text-wrap:balance}
.detail-subtitle{font:26px/1.3 var(--hand);margin-bottom:10px;color:#174e70}
.byline{font-size:15px;line-height:1.5;margin-bottom:24px;color:#3d5871}
.description{font-size:18px;line-height:1.65;margin:0 0 20px;max-width:570px}
.book-facts{gap:8px;margin:0 0 24px;list-style:none;padding:0}
.book-facts span{font-size:15px;font-weight:800;line-height:1.4;padding:9px 13px;background:#f5f3ef;border:1px solid #ccc7bd;border-radius:5px;color:#39362f}
.book-facts span+span:before{content:none}
.detail-copy .sample-cta{gap:14px;min-height:52px}
.sample-cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sample-section .section-heading>p{font-size:16px;color:#3d5871}
.sample-button>span{display:none}
.sample-button{cursor:zoom-in}
.character-note{margin-top:10px;margin-bottom:10px;padding:48px 64px;gap:52px}
.character-note h2{font-size:clamp(32px,3vw,43px);margin-bottom:18px}
.character-note .eyebrow{font-size:13px}
.character-note .character-question{font-size:24px;line-height:1.4;margin-bottom:12px}
.character-note p:not(.eyebrow):not(.character-question){font-size:18px;line-height:1.65}
.character-note .theme-tag{font-size:17px;line-height:1.4;padding-top:12px;margin-top:8px;border-top-width:3px}
.reading-details{max-width:1344px;margin:0 auto 16px;border-top:1px solid #dce5ed;border-bottom:1px solid #dce5ed;padding:30px 36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.reading-detail{display:flex;align-items:center;gap:17px}
.reading-detail svg{width:40px;height:40px;flex:none;fill:none;stroke:#0057ce;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reading-detail strong{font-size:18px;line-height:1.3;display:block;margin-bottom:5px}
.reading-detail p{font-size:15px;line-height:1.45;color:#3d5871;margin:0}
.footer{padding-top:34px;padding-bottom:28px}
.footer-top{align-items:center;gap:30px;padding-bottom:26px}
.footer-top>.brand{width:280px;max-width:100%;margin:0}
.footer-top>p{display:none}
.footer-top nav{display:flex;align-items:center;flex-wrap:wrap;gap:22px;font-size:15px}
.footer-top nav a{padding:9px 0}
.footer-bottom{align-items:center;gap:16px 26px;font-size:13px;line-height:1.5;padding-top:18px;color:#3d5871;flex-wrap:wrap}
.footer-bottom>span{width:auto}
.footer-utility{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-left:auto}
.footer-utility a,.footer-utility button{font:750 13px/1.5 var(--body);color:#304d67;background:transparent;padding:6px 0}
.footer a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1150px){.header>.brand{width:250px}.header{padding:16px 28px;gap:16px}.desktop-nav{gap:22px}.collection .book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collection .book-card,.collection .book-card:nth-child(5){grid-column:auto}.collection .book-card:last-child{grid-column:2}.book-info h3{font-size:21px}}
@media(max-width:900px){.reading-details{gap:24px;padding:28px}.reading-detail{align-items:flex-start}.reading-detail svg{width:30px;height:30px}.reading-detail strong{font-size:17px}.reading-detail p{font-size:14px}.book-actions{grid-template-columns:1fr;gap:8px}.book-actions .book-explore{justify-self:start}.book-actions .book-theme{min-height:2.8em}.character-note{padding:40px 32px;gap:30px}}
@media(max-width:850px){.header{display:flex;justify-content:space-between}.header>.brand{width:265px;max-width:calc(100vw - 150px)}.desktop-nav{display:none}.header .header-cta{display:none}.footer-bottom>span:nth-child(2){margin-left:0}.footer-utility{margin-left:0}}
@media(max-width:600px){.header{padding:14px 18px;min-height:78px}.book-tagline{aspect-ratio:auto;overflow:visible;width:100%;margin-bottom:14px}.book-tagline img{display:none}.book-tagline>span{display:block;font:18px/1.3 var(--hand);color:#174e70;max-width:295px;margin:auto}.design-world .new-hero{height:650px}.design-world .new-hero-copy h1{font-size:clamp(34px,10.8vw,55px)}.design-world .character-stage{bottom:12px}.collection .book-grid{grid-template-columns:1fr;row-gap:22px}.collection .book-card:last-child{grid-column:auto}.collection .book-card{width:100%;max-width:360px;margin:auto;padding:18px 18px 22px;border:1px solid #dce5ed;border-radius:12px;background:#fff}.collection .cover-stage{width:90%;max-width:270px;margin:0 auto 8px;padding:6px 8px 12px}.book-info h3{font-size:23px;min-height:2.5em;margin-bottom:10px}.book-world{font-size:12px}.book-actions{grid-template-columns:minmax(0,1fr) auto;gap:12px}.book-actions .book-theme{font-size:15px;min-height:0}.book-actions .book-explore{justify-self:start}.book-info{padding-top:8px}.detail-copy h1{font-size:36px}.detail-copy .detail-kicker{margin-bottom:16px}.detail-subtitle{font-size:25px}.byline{font-size:15px;margin-bottom:20px}.description{font-size:17px}.book-facts span{font-size:15px}.detail-copy .sample-cta{width:100%}.character-note{padding:36px 24px;gap:24px}.character-note .character-question{font-size:22px}.character-note p:not(.eyebrow):not(.character-question){font-size:17px}.character-note .theme-tag{font-size:17px}.reading-details{margin:0 22px 8px;padding:26px 0;grid-template-columns:1fr;gap:22px}.reading-detail{align-items:center;gap:18px}.reading-detail svg{width:36px;height:36px}.reading-detail strong{font-size:18px}.reading-detail p{font-size:15px}.footer{padding:30px 22px 22px}.footer-top{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:22px}.footer-top>.brand{width:260px;margin:0}.footer-top nav{gap:24px;font-size:15px}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:13px}.footer-utility{gap:24px;margin-top:10px}.more-books .book-grid.three .book-card{max-width:330px;flex:0 0 100%;padding:16px 16px 20px;border:1px solid #dce5ed;border-radius:12px;background:#fff}.more-books .book-info h3{font-size:20px}.more-books .book-actions{grid-template-columns:1fr}.more-books .book-explore{justify-self:start}.more-books .book-actions .book-theme{min-height:2.8em}}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}

@media(min-width:601px) and (max-width:1300px){.collection .book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collection .book-card,.collection .book-card:nth-child(5){grid-column:auto}.collection .book-card:last-child{grid-column:2}}
@media(min-width:601px) and (max-width:1000px){.collection .book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection .book-card:last-child{grid-column:auto}.more-books .book-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}

button:not(.sample-button){box-shadow:0 4px 9px #10273f26}
@media(hover:hover) and (pointer:fine){button:not(.sample-button):hover{box-shadow:0 6px 12px #10273f30}}
