/* Reading controls also apply to the catalogue and its explanations. */
:root{--body-size:20px}
html[data-text-size=large]{--body-size:23px}
html[data-text-size=xl]{--body-size:26px}
html{scroll-padding-top:30px}
body{line-height:var(--reading-line)}
h1{font-size:clamp(3rem,5.2vw,4.7rem);letter-spacing:-2px;line-height:1.13}
h2,h3,h4{overflow-wrap:break-word}
.hero{padding-block:58px 64px}
.hero-description{line-height:var(--reading-line);font-size:1em}
.eyebrow,.hero .eyebrow,.adventure-copy .eyebrow{font-size:.82em;letter-spacing:.4px;text-transform:none}
.hero-footnote,.image-caption{font-size:.8em;letter-spacing:0}
.hero-stamp{font-size:1em}
.header nav{gap:28px}
.header nav a{font-size:.9em;min-height:48px;display:inline-flex;align-items:center}
.reading-button{font-size:.85em;min-height:48px}
.button,.text-link{font-size:.9em;min-height:50px}
.outline{border:1px solid var(--green);color:var(--green);background:transparent}
.outline:hover{background:#e8eddf}
.promises p{font-size:.85em}
.section-top{align-items:center}
.section-aside{font-size:.9em;line-height:var(--reading-line);max-width:28ch}
.series-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
.tone-sage{--tone:#e8eddf}
.tone-peach{--tone:#f3e2d5}
.tone-yellow{--tone:#f6edce}
.tone-blue{--tone:#e0e9e9}
.tone-lavender{--tone:#e9e5ed}
.tone-sand{--tone:#eee5d7}
.series-card{display:flex;gap:19px;align-items:center;background:var(--tone);border:1px solid #d4d9cc;border-radius:12px;padding:23px 20px;transition:box-shadow .15s,border-color .15s;min-width:0}
.series-card:hover{border-color:var(--green);box-shadow:0 5px 16px #24453614}
.series-card[aria-current=true]{border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}
.series-thumbnail{width:76px;flex:0 0 76px}
.series-thumbnail img{width:100%;height:auto;box-shadow:3px 5px 8px #263c302b;border-radius:2px}
.series-copy{min-width:0}
.series-copy h3{font-size:1.05em;line-height:1.3;letter-spacing:-.2px;margin:0 0 9px}
.series-copy p{font-size:.85em;line-height:var(--reading-line);margin:0 0 11px}
.series-action{display:block;font-size:.85em;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.catalog-tools{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:36px 0 48px;padding:26px 0 30px;border-bottom:1px solid var(--line)}
#search-form{flex:1;max-width:760px;min-width:0}
#search-form label{display:block;font-size:.95em;font-weight:600;margin-bottom:10px}
.search-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#catalog-search{flex:1;min-width:180px;border:1px solid #84937d;border-radius:6px;background:#fffdf7;color:var(--ink);padding:12px 15px;font-size:.9em;min-height:52px}
#catalog-search::placeholder{color:#62685f;opacity:1}
#search-clear{font-size:.85em}
.catalog-tools>[data-all-books]{flex-shrink:0}
.catalog-heading-row{display:flex;justify-content:space-between;align-items:start;gap:30px}
#catalog-heading{font-size:1.55em;line-height:1.35;margin:0 0 10px;max-width:34ch;font-weight:600;letter-spacing:-.5px}
#catalog-description{font-size:.95em;line-height:var(--reading-line);margin-bottom:20px;max-width:56ch}
#change-series{flex-shrink:0;font-size:.85em;margin-top:0}
.catalog-help{font-size:.85em;line-height:var(--reading-line);color:var(--muted);margin-bottom:24px}
.catalog-help strong{font-weight:600;color:var(--ink)}
.catalog-result{font-size:.85em;color:var(--muted);margin:0 0 20px;min-height:1.7em}
.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.catalog-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fffdf7}
.catalog-cover{background:var(--tone);display:flex;align-items:center;justify-content:center;padding:28px;min-height:320px}
.catalog-cover img{width:auto;height:280px;max-width:100%;object-fit:contain;border-radius:2px;box-shadow:5px 8px 13px #263c3026}
.catalog-copy{padding:24px;display:flex;flex:1;flex-direction:column}
.book-series-label{font-size:.8em;color:var(--muted);line-height:1.4;margin:0 0 10px}
.catalog-copy h4{font-size:1.18em;line-height:1.35;font-weight:600;margin:0 0 14px;letter-spacing:-.3px}
.catalog-summary{font-size:.95em;color:var(--muted);line-height:var(--reading-line);margin:0 0 24px}
.book-actions{margin-top:auto;display:grid;gap:11px}
.book-more,.book-amazon{display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--green);border-radius:6px;min-height:52px;padding:11px 14px;font-size:.9em;line-height:1.45;font-weight:600}
.book-more{background:var(--green);color:#fff}
.book-more:hover{background:#173b2e}
.book-amazon{background:transparent;color:var(--green)}
.book-amazon:hover{background:#e8eddf}
.more-books-row{text-align:center;margin-top:32px}
.empty-state{border-radius:8px;background:#eeefdf;line-height:var(--reading-line)}
.reader-dialog{max-width:980px}
#reader-title{font-size:1.85em;letter-spacing:-.6px}
.reader-topic{font-size:.85em;letter-spacing:0;text-transform:none}
.book-detail-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:38px;margin-top:28px}
.book-detail-image img{height:auto;width:100%;border-radius:3px;box-shadow:4px 6px 14px #243d3026}
.book-detail-text{min-width:0}
.book-detail-text .article-body{font-size:1em}
.book-detail-text .article-body h3:first-child{margin-top:0}
.book-detail-text .article-body p{margin-bottom:16px}
.book-features{padding-left:1.25em;margin-bottom:26px}
.book-features li{padding-left:4px;margin-bottom:7px}
.series-info{padding:13px 0;border-block:1px solid var(--line);margin:26px 0}
.series-info summary{font-size:.9em;cursor:pointer;min-height:44px;display:list-item;padding:6px 0}
.series-info p{margin:12px 0 0;font-size:.9em}
.book-purchase{margin-top:28px}
.purchase-help{font-size:.85em;color:var(--muted);line-height:var(--reading-line);margin:13px 0 0}
.read-aloud,.close-dialog{font-size:.85em;min-height:48px}
.article-card>p,.about-section p:not(.eyebrow){font-size:.95em;line-height:var(--reading-line)}
.article-card .text-link{font-size:.9em}
.article-meta{font-size:.8em;gap:10px;flex-wrap:wrap}
.article-meta strong{text-transform:none;letter-spacing:0}
.article-card h3{font-size:1.2em}
.reader-note,.settings-note,.adventure-status,.adventure-save-note,.adventure-progress-label{font-size:.8em!important;line-height:var(--reading-line)}
.adventure-meta,.adventure-facts{font-size:.85em}
.adventure-kicker{font-size:.8em;text-transform:none;letter-spacing:0}
.adventure-note{font-size:.85em;line-height:var(--reading-line)}
.adventure-copy>p:not(.eyebrow):not(.adventure-note){line-height:var(--reading-line)}
.art-label{font-size:.8em;letter-spacing:0}
.footer-top p,.footer-top>a:last-child,.footer-bottom{font-size:.8em}
.footer-bottom p{font-size:1em;line-height:var(--reading-line)}
.setting-options button span{font-size:16px}
.noscript a{text-decoration:underline;display:inline-block;padding:8px}
html[data-high-contrast=true] .catalog-card,html[data-high-contrast=true] #catalog-search{background:#fff}
html[data-high-contrast=true] .series-card{border-color:#344334}
@media(max-width:1100px){
 .series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .catalog-tools{flex-wrap:wrap;align-items:center}
 #search-form{flex-basis:100%;max-width:none}
 .header-inner{gap:18px}
 .header nav{gap:22px}
 .hero-actions{flex-wrap:wrap}
}
@media(max-width:800px){
 .wrap{width:calc(100% - 48px)}
 .header nav a{font-size:.85em}
 .reading-button{font-size:.8em}
 .hero{padding-block:40px;gap:28px}
 .hero .eyebrow{font-size:.8em}
 h1{font-size:clamp(2.9rem,6vw,3.8rem)}
 .hero-description{font-size:1em}
 .hero-footnote{font-size:.8em}
 .series-card{padding:20px 17px;gap:15px}
 .series-thumbnail{width:67px;flex-basis:67px}
 .catalog-heading-row{display:block}
 #change-series{margin-bottom:24px}
 .book-detail-layout{grid-template-columns:150px minmax(0,1fr);gap:25px}
 .adventure-copy .eyebrow{font-size:.8em}
 .adventure-facts,.adventure-note{font-size:.85em}
 .adventure-intro{grid-template-columns:1fr}
 .adventure-art{max-width:360px;margin:auto}
 .adventure-copy{padding:0 20px 20px}
 .article-grid{grid-template-columns:1fr}
 .article-image{height:210px}
 .article-image svg{height:195px;width:280px}
 .article-meta{flex-direction:row}
}
@media(max-width:640px){
 .wrap{width:calc(100% - 36px)}
 .header-inner{gap:14px;padding-top:20px}
 .brand>span{font-size:25px}
 .brand>svg{width:32px}
 .brand small{display:none}
 .reading-button{padding:8px 10px;gap:6px;font-size:.8em}
 .header nav{gap:0;justify-content:space-between;height:auto;padding-block:6px;flex-wrap:wrap}
 .header nav a{font-size:.85em;padding-inline:4px}
 .header nav a.active:after{bottom:3px}
 .hero{grid-template-columns:1fr;padding-block:36px;gap:30px}
 h1{font-size:clamp(2.6rem,10vw,3.65rem);letter-spacing:-1.5px}
 .hero-actions{gap:14px 22px}
 .hero-visual{padding-bottom:34px;margin-top:0}
 .hero-visual img{height:320px}
 .hero-stamp{font-size:.9em;bottom:52px}
 .image-caption{font-size:.8em}
 .promises{gap:13px;align-items:start;flex-direction:column;padding-block:22px}
 .promises p{font-size:.85em}
 .section{padding-block:44px}
 .section-top{display:block}
 .section-top .eyebrow{font-size:.8em}
 .section-top h2{font-size:2rem}
 .section-aside{margin-top:16px;font-size:.95em;max-width:100%}
 .section-aside br{display:none}
 .series-grid,.book-grid{grid-template-columns:1fr;gap:20px}
 .series-card{padding:22px;gap:23px}
 .series-thumbnail{width:76px;flex-basis:76px}
 .series-copy h3{font-size:1.1em}
 .series-copy p,.series-action{font-size:.9em}
 .catalog-tools{margin-top:26px;gap:24px;padding-block:20px 30px}
 .search-row{gap:12px}
 #catalog-search{width:100%;flex-basis:100%;font-size:.95em}
 .catalog-tools>[data-all-books]{width:100%}
 #catalog-heading{font-size:1.45em}
 .catalog-help,.catalog-result{font-size:.9em}
 .catalog-cover{min-height:0;padding:28px}
 .catalog-cover img{height:300px}
 .catalog-copy{padding:24px}
 .catalog-copy h4{font-size:1.25em}
 .catalog-summary{font-size:1em}
 .book-more,.book-amazon{font-size:.95em;min-height:54px}
 .book-detail-layout{grid-template-columns:1fr;gap:30px}
 .book-detail-image{max-width:190px;margin-inline:auto}
 #reader-body{padding:26px 23px 32px}
 #reader-title{font-size:1.6em}
 .dialog-top{padding:12px 16px}
 .dialog-brand{font-size:.8em}
 .adventure-copy{padding-inline:0}
 .adventure-copy>p:not(.eyebrow):not(.adventure-note){font-size:1em}
 .adventure-copy h2{font-size:2.8rem}
 .adventure-facts{gap:12px}
 .article-card h3{font-size:1.25em}
 .about-section{padding-block:32px 46px}
 .about-section h2{font-size:1.7em}
 .about-section .eyebrow{font-size:.8em}
 .footer-top,.footer-bottom{gap:16px}
 .footer-bottom>div{flex-wrap:wrap}
 html[data-text-size=xl] .reading-button>span:last-child{max-width:none}
 html[data-text-size=xl] .reading-button{margin-left:0}
 html[data-text-size=xl] .header nav{gap:2px 14px;justify-content:start}
 html[data-text-size=xl] .series-card{flex-direction:column;align-items:start}
 html[data-text-size=xl] .series-thumbnail{width:95px;flex-basis:auto}
 html[data-text-size=xl] .setting-options{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.series-card{transition:none}}
