/* Shared visual roles. Desktop scale; mobile retains its approved values.
Future pages: type-display, type-title, type-section, type-eyebrow,
type-subtitle-large, type-subtitle, type-brand-subtitle; reading-content for prose.
*/
@media (min-width:851px) and (pointer:fine), (min-width:1201px){
 body .type-display,body .type-title,body .type-section,body .type-subtitle-large,body .type-subtitle{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;}
 :root{
  --type-display:clamp(44px,5.4vw,68px);
  --type-title:28px;
  --type-banner:26px;
  --type-section:22px;
  --type-subtitle-large:22px;
  --type-subtitle:17px;
  --type-eyebrow:15px;
  --type-brand-subtitle:13px;
  --type-action:14px;
 }
 body .type-display{font-size:var(--type-display)!important;line-height:1.12!important;font-style:normal!important}
 body .type-title{font-size:var(--type-title)!important;line-height:1.3!important;font-style:normal!important}
 body .texts-banner p{font-family:Georgia,'Times New Roman',serif!important;font-size:var(--type-banner)!important;font-weight:400!important;line-height:1.4!important}
 body .type-section{font-size:var(--type-section)!important;line-height:1.35!important;font-style:normal!important}
 body .type-subtitle-large{font-size:var(--type-subtitle-large)!important;font-style:italic!important;line-height:1.45!important}
 body .type-subtitle{font-size:var(--type-subtitle)!important;font-style:italic!important;line-height:1.7!important}
 body .type-eyebrow{font-family:'Nunito',sans-serif!important;font-size:var(--type-eyebrow)!important;font-weight:300!important;font-style:normal!important;text-transform:uppercase;letter-spacing:.1em!important;line-height:1.5!important}
 body .type-brand-subtitle{font-family:'Nunito',sans-serif!important;font-size:var(--type-brand-subtitle)!important;font-weight:300!important;font-style:normal!important;letter-spacing:.1em!important;line-height:1.4!important}

 .book-page .book-top{grid-template-columns:220px minmax(0,1fr) 220px}
 .book-page .book-top .book-cover-image{width:220px;max-width:100%}
 .book-page .download-actions{width:220px;min-width:0}
 .book-page .download-actions>.button,.book-page .download-actions>.pdf-download-wrap,.book-page .download-actions>.pdf-download-wrap>.button{width:100%;box-sizing:border-box}
 .book-page .download-actions .button{font-size:var(--type-action)!important}


 .home-page .home-actions .button{font-size:var(--type-action)!important}

}

/* Resource list: service label followed by names in the shared section style. */
@media(max-width:850px), (pointer:coarse) and (max-width:1200px){
 .texts-sidebar h2.type-eyebrow{font-family:'Nunito',sans-serif;font-size:1.125rem;font-weight:400;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
 .texts-sidebar li .type-section{font-family:Georgia,'Times New Roman',serif;font-size:1.75rem;font-weight:400;line-height:1.35}
}
/* Section names share the same colour across Info and resource lists. */
body .type-section{color:var(--ink)!important}

@media(max-width:850px), (pointer:coarse) and (max-width:1200px){
 body .type-section,.texts-sidebar li .type-section{font-size:1.375rem!important}
}

/* Secondary text links: visible affordance without button styling. */
.book-info-links .book-info-link{
 text-decoration:underline;
 text-decoration-color:rgba(74,111,136,.35);
 text-decoration-thickness:1px;
 text-underline-offset:4px;
}
.book-info-links .book-info-link:hover,
.book-info-links .book-info-link:focus-visible{
 text-decoration-color:currentColor;
 text-decoration-thickness:1px;
 text-underline-offset:4px;
}
@media(max-width:850px), (pointer:coarse) and (max-width:1200px){
 .book-contents .type-title{font-family:Georgia,'Times New Roman',serif;font-size:1.75rem!important;font-weight:400;line-height:1.3}
}

@media(max-width:850px), (pointer:coarse) and (max-width:1200px){
 body .type-brand-subtitle{font-family:'Nunito',sans-serif;font-size:1.125rem;font-weight:400;line-height:1.45;letter-spacing:0;color:#4d6375}
}
/* Shared text-link role for supporting book links, author links and email. */
body a.type-text-link{font-family:Georgia,'Times New Roman',serif!important;font-size:16px!important;font-weight:400!important;font-style:normal!important;line-height:1.5!important;letter-spacing:normal;text-transform:none;color:var(--blue-calm);background:transparent;border:0;border-radius:0;padding:0;text-decoration:underline;text-decoration-color:rgba(74,111,136,.35);text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
body a.type-text-link:hover,body a.type-text-link:focus-visible{text-decoration-color:currentColor;color:var(--text-link-hover)}
@media(max-width:850px), (pointer:coarse) and (max-width:1200px){
 body a.type-text-link{font-size:1.125rem!important}
}

/* Desktop Info fills the viewport and keeps its footer at the bottom. */
@media(min-width:851px) and (pointer:fine), (min-width:1201px){
 body:has(>main.info-hub-page){min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
 body:has(>main.info-hub-page)>.site-header,body:has(>main.info-hub-page)>.site-footer{flex-shrink:0;width:100%}
 body>main.info-hub-page{flex:1 0 auto;width:100%}
}