/* Literata for headings and reading; Source Sans for navigation and supporting text. */
@font-face{font-family:'Literata';src:url('assets/fonts/literata/Literata-Roman-Latin.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Literata';src:url('assets/fonts/literata/Literata-Roman-LatinExt.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Literata';src:url('assets/fonts/literata/Literata-Italic-Latin.woff2') format('woff2');font-style:italic;font-weight:400 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Literata';src:url('assets/fonts/literata/Literata-Italic-LatinExt.woff2') format('woff2');font-style:italic;font-weight:400 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts/source/SourceSans3-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts/source/SourceSans3-Italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/fonts/source/SourceSans3-Semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{
  --serif:'Literata',Georgia,serif;
  --sans:'Source Sans 3','Segoe UI',Arial,sans-serif;
  --type-small:.9375rem;
  --type-ui:1rem;
  --type-body:1.125rem;
  --type-intro:1.1875rem;
  --type-prose:1.1875rem;
  --type-display:3.75rem;
  --type-page:3.125rem;
  --type-section:2.125rem;
  --type-subheading:1.875rem;
  --type-book-title:2.875rem;
  --type-card:1.5rem;
  --type-card-compact:1.4375rem;
  --type-person:1.75rem;
}
html{font-size:100%}
body{font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.65;letter-spacing:0;font-kerning:normal;font-optical-sizing:auto;font-synthesis:none}
button,input,select,textarea{font-family:var(--sans)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.2;letter-spacing:-.01em;overflow-wrap:break-word;text-wrap:balance}
h2{font-size:var(--type-section)}
h3{font-size:var(--type-subheading)}
p{text-wrap:pretty}
small,.small,.home-new>.small,.noscript-note{font-size:var(--type-small);line-height:1.65}
.eyebrow,.hero .eyebrow,.section-head .eyebrow,.page-intro .eyebrow,.book-heading .eyebrow,
.about-heading .eyebrow,.about-copy .eyebrow,.contact-band .eyebrow,.contact-item .eyebrow,
.prose-aside .eyebrow,.contact-panel .eyebrow{font-family:var(--sans);font-size:var(--type-small);font-weight:600;line-height:1.5;letter-spacing:.015em;text-transform:none;color:var(--red-dark)}
.button,.hero-actions .button,.book-buy .button,.repeat-buy .button,.contact-panel .button,.contact-band .button.light{font-size:var(--type-ui);font-weight:600;line-height:1.5;min-height:50px}
.text-link,.card-link,.hero-actions .text-link,.section-head .text-link,.book-card .card-link,
.author-box .text-link,.prose-aside .text-link,.contact-panel .text-link{font-family:var(--sans);font-size:var(--type-ui);font-weight:600;line-height:1.5;letter-spacing:0;color:var(--red-dark)}
.arrow{font-family:var(--sans)}

/* Shared navigation uses one face on desktop and mobile. */
.masthead-tagline{font:italic 400 1.25rem/1.4 var(--serif);letter-spacing:0}
.site-header .main-nav a,.header-shop,.site-header .menu-toggle{font-family:var(--sans);font-size:1.0625rem;font-weight:400;line-height:1.5}
.header-shop,.site-header .menu-toggle{font-size:1rem}

/* Headings are distinct in face, weight and their AST red accents. */
.hero h1{font-family:var(--serif);font-size:var(--type-display);font-weight:500;line-height:1.13;letter-spacing:-.025em}
.hero h1 em{font-family:inherit;font-style:normal;font-weight:500;color:var(--red)}
.hero-copy>p,.page-intro>p,.book-intro{font-size:var(--type-intro);line-height:1.65;text-wrap:balance}
.hero-copy>p{max-width:500px}
.section-head h2,.about-heading h2,.about-copy h2,.contact-band h2{font-family:var(--serif);font-size:var(--type-section);font-weight:600;line-height:1.24;letter-spacing:-.015em}
.page-intro h1{font-family:var(--serif);font-size:var(--type-page);font-weight:500;line-height:1.18;letter-spacing:-.02em}
.catalog-group-head h2,.book-body h2,.prose-layout h2{font-family:var(--serif);font-size:var(--type-section);font-weight:600;line-height:1.25;letter-spacing:-.015em}
.topic-card h3{font-family:var(--serif);font-size:1.5rem;font-weight:600;line-height:1.3;letter-spacing:-.005em}
.empty-state h2,.repeat-buy h2{font-family:var(--serif);font-size:var(--type-subheading);font-weight:600;line-height:1.25;letter-spacing:-.01em}
.error-page h1{font-family:var(--serif);font-size:var(--type-page);font-weight:500;line-height:1.2;letter-spacing:-.015em}
.error-number{font-family:var(--sans);font-weight:400;letter-spacing:-.025em}

/* Actual publication titles and author names retain the book face. */
.book-heading h1{font-family:var(--serif);font-size:var(--type-book-title);font-weight:500;line-height:1.2;letter-spacing:-.01em}
.book-card h3,.related .book-card h3{font-family:var(--serif);font-size:var(--type-card);font-weight:500;line-height:1.32;letter-spacing:0;text-wrap:pretty}
.home-new .book-card h3{font-size:var(--type-card-compact);line-height:1.32}
.author-entry h2,.author-preview h3,.author-box h3{font-family:var(--serif);font-size:var(--type-person);font-weight:400;line-height:1.3;letter-spacing:0}
.author-preview h3,.author-box h3{font-size:1.625rem}
.author-line{font-family:var(--serif);font-size:1.5rem;font-weight:400;line-height:1.5;letter-spacing:0}
.book-meta,.book-meta span:last-child{font-size:var(--type-small);line-height:1.5;letter-spacing:0}
.book-author{font-family:var(--sans);font-size:var(--type-ui);font-weight:400;line-height:1.6}
.card-tag,.book-cover-stage .card-tag{font-family:var(--sans);font-size:var(--type-small);font-weight:400;line-height:1.4;letter-spacing:0}
.topic-strip a{font-size:var(--type-ui);line-height:1.55}
.about-copy p,.contact-band p,.topic-card p,.author-preview p,.author-entry p,.author-box p,.prose-aside p,.contact-panel p{font-size:var(--type-body);line-height:1.7}

/* Reading columns have a stable size and no compressed tracking. */
.book-prose p,.book-prose .topic-list,.prose-layout>div>p,.about-copy p{font-family:var(--serif);font-size:var(--type-prose);font-weight:400;line-height:1.75;letter-spacing:0;color:#424d43}
.book-prose .source-link{font-family:var(--sans);font-size:var(--type-ui);line-height:1.6;text-wrap:pretty}
.book-prose .editorial-note{font-size:var(--type-small)!important;line-height:1.7!important}
.book-sidebar h2,.prose-layout .prose-aside h2,.contact-panel h2{font-family:var(--serif);font-size:var(--type-subheading);font-weight:600;line-height:1.25;letter-spacing:-.01em}
.book-sidebar .spec-row{font-size:var(--type-ui);line-height:1.65;gap:16px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.spec-row dt,.spec-row dd{min-width:0;overflow-wrap:anywhere}
.book-section-nav,.set-contents a,.repeat-buy p,.author-entry .author-books{font-family:var(--sans);font-size:var(--type-ui);line-height:1.65}
.book-section-nav{flex-wrap:wrap}
.breadcrumbs,.catalog-status,.catalog-group-head>span,.catalog-jumps,.catalog-tools .search-label,
.book-quick,.availability,.source-link,.author-entry .source-link,.prose-aside .source-link{font-size:var(--type-small);line-height:1.6}
.breadcrumbs{flex-wrap:wrap;overflow-wrap:anywhere}
.catalog-tools .search-input,.catalog-tools .filter-button{font-size:var(--type-ui);font-weight:400;line-height:1.5}
.catalog-tools .search-label{font-weight:600}
.catalog-tools .search-wrap{flex-basis:315px}
.contact-item>a{font-family:var(--sans);font-size:1.75rem;font-weight:400;letter-spacing:0;overflow-wrap:anywhere}
.contact-item address{font-family:var(--sans);font-size:1.1875rem;line-height:1.7}
.empty-state p,.error-page p{font-size:var(--type-intro);line-height:1.7}

@media(max-width:1150px){
  :root{--type-display:3.5rem;--type-page:2.875rem;--type-book-title:2.625rem}
  .catalog-tools .search-wrap{flex-basis:100%}
}
@media(max-width:900px){
  :root{--type-display:3.25rem;--type-page:2.75rem;--type-section:2rem;--type-book-title:2.375rem}
  .site-header .main-nav a{font-family:var(--sans);font-size:1.25rem;font-weight:400;line-height:1.5}
  .masthead-tagline{font-size:1.125rem}
  .book-prose{max-width:720px}
}
@media(max-width:600px){
  :root{--type-display:2.5rem;--type-page:2.25rem;--type-section:1.875rem;--type-subheading:1.625rem;--type-book-title:2.125rem;--type-card:1.375rem;--type-card-compact:1.375rem;--type-person:1.625rem;--type-intro:1.125rem;--type-prose:1.125rem}
  .header-shop,.site-header .menu-toggle{font-size:1rem}
  .masthead-inner{gap:16px}
  .js .site-header .menu-toggle{min-width:83px;gap:9px;padding-inline:10px}
  .hero h1{font-size:var(--type-display);line-height:1.15;letter-spacing:-.015em}
  .hero-actions .button{padding-inline:17px;gap:16px}
  .hero-actions .text-link{gap:12px}
  .book-card .card-link{font-size:var(--type-ui);gap:9px}
  .book-author{font-size:var(--type-ui)}
  .author-preview h3,.author-box h3{font-size:1.5rem}
  .topic-card h3{font-size:1.375rem}
  .catalog-tools .search-input{font-size:1rem}
  .book-buy .button,.repeat-buy .button{padding-inline:18px;gap:16px;max-width:100%}
  .book-sidebar .spec-row{font-size:var(--type-ui);gap:14px}
  .author-line{font-size:1.375rem}
  .contact-item>a{font-size:1.625rem}
  .contact-item address{font-size:1.1875rem}
}
@media(max-width:370px){
  :root{--type-display:2.375rem;--type-page:2.125rem;--type-book-title:2rem;--type-card:1.5rem}
  .masthead-inner{gap:13px}
  .site-header .brand img{width:76px}
  .header-shop{gap:5px}
  .js .site-header .menu-toggle{min-width:80px;gap:7px;padding-inline:9px}
}
@media print{
  body{font-size:11pt}
  .book-prose p,.book-prose .topic-list,.prose-layout>div>p{font-size:12pt;line-height:1.6}
}
