:root {
  --color-bg: #f1ebdc;
  --color-bg-alt: #e8e1d0;
  --color-bg-paper: #faf7ef;
  --color-bg-deep: #e5ddca;
  --color-text: #172722;
  --color-text-muted: #526058;
  --color-text-light: #62685e;
  --color-ink: #172722;
  --color-border: #cfc8b7;
  --color-border-warm: #c5bca6;
  --color-accent: #a4482d;
  --color-accent-hover: #78301f;
  --color-accent-dim: #873b27;
  --font-body: Arial,Helvetica,sans-serif;
  --font-heading: 'Spectral',Georgia,serif;
  --max-width: 1280px;
  --max-width-narrow: 780px
}
html {
  font-size: 17px;
  scroll-padding-top: 100px
}
body {
  background: #f1ebdc;
  line-height: 1.65
}
h1,
h2,
h3,
h4 {
  font-family: var(--font-heading);
  font-weight: 500;
  line-height: 1.12
}
p {
  text-wrap: pretty
}
a,
button {
  -webkit-tap-highlight-color: transparent
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
summary:focus-visible {
  outline: 3px solid #a4482d;
  outline-offset: 5px
}
button,
input {
  font: inherit
}
button {
  cursor: pointer
}
[hidden] {
  display: none!important
}
.container {
  padding-inline: 48px
}
.skip-link {
  position: fixed;
  left: 12px;
  top: -100px;
  padding: 10px 20px;
  z-index: 1000;
  background: #172722;
  color: #fff
}
.skip-link:focus {
  top: 12px
}
.site-header {
  background: #f1ebdcf5;
  border-bottom: 1px solid #cfc8b7;
  box-shadow: none;
  backdrop-filter: blur(12px)
}
.nav {
  min-height: 90px;
  gap: 24px
}
.nav-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-heading);
  font-size: 18px;
  letter-spacing: .08em;
  line-height: 1.1;
  white-space: nowrap
}
.nav-brand small {
  display: block;
  font-family: var(--font-body);
  font-size: 8px;
  letter-spacing: .16em;
  margin-top: 7px;
  font-weight: 400
}
.brand-mark {
  font-size: 41px;
  color: #a4482d;
  line-height: 1
}
.nav-links {
  align-items: center;
  gap: 24px
}
.nav-links a {
  font-size: 12px;
  font-weight: 500;
  color: #26372e
}
.nav-links .nav-free {
  border: 1px solid #172722;
  padding: 12px 16px;
  display: inline-flex;
  gap: 18px
}
.nav-auth {
  margin-left: 0
}
.nav-links .nav-login-link {
  padding: 0;
  border: 0;
  color: #596458;
  font-size: 11px
}
.nav-toggle {
  display: none
}
.button {
  border-radius: 0;
  padding: 15px 23px;
  font-size: 13px;
  line-height: 1.3;
  box-shadow: none;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  min-height: 48px;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background .2s,transform .2s
}
.button-primary {
  background: #a4482d;
  color: #fff
}
.button-primary:hover {
  background: #78301f;
  color: #fff;
  box-shadow: none;
  transform: translateY(-2px)
}
.button-secondary {
  border-color: #a9ad9e;
  color: #172722;
  background: 0 0
}
.button-secondary:hover {
  background: #172722;
  color: #f1ebdc;
  border-color: #172722
}
.button-ghost {
  color: #a4482d
}
.eyebrow {
  font-family: var(--font-body);
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: .15em;
  font-weight: 600;
  color: #6c5637;
  margin: 0 0 22px;
  line-height: 1.5
}
.tiny-star {
  font-size: 17px;
  vertical-align: middle;
  margin-right: 7px;
  color: #a4482d
}
.codex-hero {
  padding: 35px 0 0;
  overflow: hidden
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.06fr 1fr;
  align-items: center;
  gap: 36px
}
.hero-intro {
  padding-block: 34px
}
.hero-intro h1 {
  font-size: clamp(58px,6.1vw,85px);
  line-height: 1.03;
  letter-spacing: -.055em;
  margin: 0 0 23px
}
.hero-intro h1 em {
  color: #a4482d;
  font-weight: 400
}
.hero-deck {
  font: 500 26px/1.3 var(--font-heading);
  margin-bottom: 17px
}
.hero-summary {
  font-size: 15px;
  max-width: 445px;
  line-height: 1.8;
  color: #4b574d
}
.hero-intro .hero-actions {
  margin-top: 28px;
  gap: 12px
}
.hero-byline {
  font-size: 11px;
  margin: 23px 0 0;
  color: #697064
}
.hero-byline span {
  padding-inline: 9px
}
.hero-specimen {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6px 0 12px;
  min-width: 0
}
.specimen-label {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #aeb4a4;
  padding-top: 10px;
  font-size: 9px;
  letter-spacing: .14em;
  color: #697064
}
.hero-specimen > a {
  display: block
}
.hero-specimen img {
  display: block;
  width: 100%;
  max-height: 455px;
  object-fit: contain;
  mix-blend-mode: multiply
}
.hero-specimen figcaption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #aeb4a4;
  padding-top: 12px
}
.hero-specimen figcaption strong {
  font: 500 19px/1.2 var(--font-heading);
  display: block
}
.hero-specimen figcaption em {
  font-size: 11px;
  font-style: normal;
  color: #697064
}
.hero-specimen figcaption > a {
  font-size: 25px;
  color: #172722
}
.hero-footnote {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  letter-spacing: .04em;
  margin-top: 35px;
  padding-top: 18px;
  padding-bottom: 18px;
  border-top: 1px solid #cfc8b7;
  color: #5a665b
}
.hero-footnote a {
  color: #172722;
  display: flex;
  gap: 18px
}
.ink-section {
  background: #172722;
  color: #f1ebdc;
  --color-text: #f1ebdc;
  --color-text-muted: #b9c2b6;
  --color-border: #425047
}
.ink-section .eyebrow {
  color: #d4ac58
}
.ink-section a {
  color: inherit
}
.ink-section h2 em {
  color: #d4ac58
}
.ink-section .button-primary {
  background: #d4ac58;
  color: #172722
}
.ink-section .button-primary:hover {
  background: #e5be6b
}
.section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 45px;
  margin-bottom: 52px
}
.deck-copy h2,
.lead-magnet h2,
.section-heading h2 {
  font-size: clamp(34px,3.9vw,53px);
  letter-spacing: -.035em;
  line-height: 1.13
}
.section-heading h2 em {
  font-weight: 400
}
.section-heading > p {
  max-width: 365px;
  font-size: 14px;
  line-height: 1.8;
  color: var(--color-text-muted);
  margin-bottom: 5px
}
.shelf-section {
  padding: 80px 0 85px
}
.editorial-books {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 48px
}
.editorial-book {
  min-width: 0;
  display: flex;
  flex-direction: column
}
.editorial-book-cover {
  display: block;
  margin: 0 26px 32px;
  perspective: 900px
}
.editorial-book-cover img {
  display: block;
  width: 100%;
  max-height: 362px;
  object-fit: contain;
  filter: drop-shadow(12px 17px 10px #0006);
  transition: transform .3s;
  transform: rotate(-3deg);
  transform-origin: bottom center
}
.editorial-book:nth-child(2) .editorial-book-cover img {
  transform: rotate(1deg)
}
.editorial-book:nth-child(3) .editorial-book-cover img {
  transform: rotate(3deg)
}
.editorial-book-cover:hover img {
  transform: rotate(0) translateY(-6px)
}
.editorial-book .eyebrow {
  font-size: 9px;
  margin-bottom: 12px
}
.editorial-book h3 {
  font-size: 26px;
  margin-bottom: 16px;
  letter-spacing: -.025em
}
.editorial-book h3 a:hover {
  text-decoration: none;
  color: #d4ac58
}
.editorial-book > p:not(.eyebrow) {
  font-size: 13px;
  line-height: 1.8;
  color: #bdc5b8;
  flex: 1;
  margin-bottom: 23px
}
.book-discover {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
  border-block: 1px solid #4f594d;
  font-size: 12px;
  font-weight: 600
}
.book-discover:hover {
  text-decoration: none;
  color: #d4ac58
}
.book-buy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  padding-top: 15px;
  font-size: 10px
}
.book-buy-links a {
  color: #d4ac58;
  text-decoration: underline;
  text-underline-offset: 4px;
  min-height: 24px
}
.inside-section {
  padding: 90px 0 75px
}
.inside-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-bottom: 32px
}
.inside-spread {
  display: block;
  color: #172722
}
.inside-spread:hover {
  text-decoration: none;
  color: #a4482d
}
.inside-spread img {
  width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 9px 23px #17272214;
  transition: transform .25s
}
.inside-spread:hover img {
  transform: translateY(-4px)
}
.inside-spread > span {
  display: block;
  position: relative;
  font-size: 9px;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding-top: 18px
}
.inside-spread strong {
  display: block;
  font: 500 21px/1.3 var(--font-heading);
  letter-spacing: 0;
  text-transform: none;
  margin-top: 5px
}
.inside-spread b {
  position: absolute;
  right: 0;
  top: 19px;
  font-size: 10px;
  font-weight: 400
}
.text-link {
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  gap: 22px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 5px
}
.encounter-section {
  padding: 70px 0 80px;
  border-top: 1px solid #cfc8b7;
  background: #e8e1d0
}
.encounter-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 30px;
  margin-bottom: 38px
}
.encounter {
  display: flex;
  flex-direction: column;
  color: #172722
}
.encounter:hover {
  color: #172722;
  text-decoration: none
}
.encounter img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  mix-blend-mode: multiply;
  margin-bottom: 24px;
  transition: transform .25s
}
.encounter:hover img {
  transform: translateY(-5px)
}
.encounter .eyebrow {
  font-size: 8px;
  margin-bottom: 9px
}
.encounter h3 {
  font-size: 24px;
  letter-spacing: -.03em;
  margin-bottom: 13px
}
.encounter p {
  font-size: 13px;
  line-height: 1.65;
  color: #526058;
  flex: 1;
  margin-bottom: 20px
}
.encounter .text-link {
  font-size: 11px;
  color: #a4482d
}
.deck-section {
  padding: 85px 0
}
.deck-feature {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  gap: 70px;
  align-items: center
}
.deck-fan {
  position: relative;
  height: 420px;
  isolation: isolate
}
.deck-fan img {
  position: absolute;
  width: 46%;
  border-radius: 8px;
  box-shadow: 0 10px 35px #0007;
  top: 15%;
  left: 3%;
  transform: rotate(-17deg)
}
.deck-fan img:nth-child(2) {
  left: 28%;
  top: 3%;
  z-index: 2;
  transform: rotate(-2deg)
}
.deck-fan img:nth-child(3) {
  left: 52%;
  top: 18%;
  transform: rotate(15deg)
}
.deck-copy h2 {
  margin-bottom: 22px
}
.deck-copy > p:not(.eyebrow):not(.fine-note) {
  font-size: 14px;
  color: #bdc5b8;
  line-height: 1.85
}
.deck-options {
  display: flex;
  gap: 40px;
  margin: 28px 0;
  font-size: 13px;
  color: #d4ac58
}
.deck-options strong {
  display: block;
  color: #f1ebdc;
  font: 500 20px/1.4 var(--font-heading);
  margin-bottom: 5px
}
.fine-note {
  font-size: 10px;
  color: #b0baa9;
  margin-top: 14px
}
.lead-magnet {
  padding: 85px 0;
  background: #e8e1d0;
  border-block: 1px solid #cfc8b7
}
.lead-magnet-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 65px
}
.lead-magnet-preview {
  background: 0 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  transform: none
}
.lead-magnet-preview img {
  width: 100%;
  height: auto;
  box-shadow: none;
  border: 0;
  border-radius: 0
}
.lead-magnet-preview-eyebrow {
  font: 600 9px/1.4 var(--font-body);
  color: #6c5637;
  letter-spacing: .13em;
  margin-bottom: 15px
}
.lead-magnet-preview figcaption {
  font-size: 10px;
  text-align: left;
  color: #526058;
  margin-top: 12px
}
.lead-magnet-copy {
  text-align: left
}
.lead-magnet h2 {
  margin-bottom: 20px;
  color: #172722
}
.lead-magnet-sub {
  font-size: 14px;
  color: #526058;
  line-height: 1.8
}
.lead-magnet-form {
  max-width: none;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 25px 0 14px
}
.lead-magnet-form-label {
  width: 100%;
  font-size: 11px;
  color: #172722;
  margin-bottom: 0
}
.lead-magnet-form input {
  font-size: 13px;
  border: 1px solid #a7ad9e;
  border-radius: 0;
  background: #faf7ef;
  color: #172722;
  padding: 14px;
  flex: 1 1 180px;
  min-width: 0;
  height: 49px
}
.lead-magnet-form .button {
  padding: 14px 18px;
  white-space: normal;
  font-size: 11px;
  flex: 0 1 auto
}
.lead-magnet-fineprint {
  color: #61695e;
  font-size: 10px;
  max-width: 430px;
  text-align: left
}
.lead-magnet-error {
  font-size: 13px
}
.lead-magnet-success p {
  color: #526058
}
.field-extras {
  padding: 75px 0
}
.field-extras .section-heading h2 {
  font-size: 37px
}
.extras-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 35px
}
.extras-grid > a {
  padding-top: 24px;
  border-top: 1px solid #aeb4a4;
  color: #172722;
  display: flex;
  flex-direction: column
}
.extras-grid > a:hover {
  text-decoration: none
}
.extras-grid .eyebrow {
  font-size: 9px;
  margin-bottom: 18px
}
.extras-grid h3 {
  font-size: 24px;
  margin-bottom: 14px
}
.extras-grid p {
  color: #526058;
  font-size: 13px;
  flex: 1;
  margin-bottom: 22px
}
.extras-grid .text-link {
  color: #a4482d
}
.field-journal {
  padding: 65px 0;
  border-top: 1px solid #cfc8b7
}
.field-journal > .container {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 65px
}
.journal-intro h2 {
  font-size: 35px;
  margin-bottom: 22px
}
.journal-list > a {
  display: grid;
  grid-template-columns: 1fr 25px;
  border-bottom: 1px solid #cfc8b7;
  padding: 0 0 20px;
  margin-bottom: 20px;
  color: #172722
}
.journal-list > a:hover {
  text-decoration: none;
  color: #a4482d
}
.journal-list time {
  font-size: 9px;
  color: #697064;
  margin-bottom: 7px
}
.journal-list h3 {
  grid-column: 1;
  font-size: 22px
}
.journal-list span {
  grid-column: 2;
  grid-row: 1/3;
  align-self: center
}
.site-footer {
  background: #172722;
  color: #f1ebdc;
  border-top: 0;
  padding: 60px 0
}
.footer-grid {
  grid-template-columns: 1.2fr 1.3fr 1fr 1fr;
  gap: 30px
}
.footer-col:last-child {
  grid-column: 1/-1;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #425047;
  padding-top: 20px;
  margin-top: 10px
}
.footer-col:last-child h4 {
  display: none
}
.footer-brand {
  font-family: var(--font-heading);
  font-size: 24px;
  color: #f1ebdc
}
.footer-tagline {
  font-size: 11px;
  color: #bdc5b8
}
.footer-col h4 {
  color: #d4ac58;
  font-family: var(--font-body);
  font-size: 9px;
  letter-spacing: .12em
}
.footer-col p {
  font-size: 11px;
  color: #bdc5b8
}
.footer-col a {
  color: #bdc5b8
}
.footer-isbn {
  display: none
}
.catalog-intro {
  padding: 75px 0
}
.catalog-intro h1 {
  font-size: 64px;
  letter-spacing: -.045em;
  margin-bottom: 24px
}
.catalog-intro h1 em {
  color: #a4482d;
  font-weight: 400
}
.catalog-intro > .container > p:last-child {
  max-width: 600px;
  font-size: 16px;
  color: #526058
}
.catalog-footer {
  padding: 70px 0
}
.catalog-footer > .container {
  display: flex;
  gap: 50px;
  justify-content: space-between;
  align-items: center
}
.catalog-footer h2 {
  font-size: 39px;
  margin-bottom: 18px
}
.catalog-footer p {
  max-width: 600px;
  font-size: 14px;
  color: #526058
}
.catalog-footer-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 230px
}
.book-hero {
  padding: 65px 0;
  background: #e8e1d0
}
.book-title {
  font-size: clamp(36px,4vw,56px);
  letter-spacing: -.035em
}
.book-hero-grid {
  grid-template-columns: minmax(220px,350px) 1fr;
  gap: 70px
}
.book-cover img {
  border-radius: 0;
  box-shadow: 10px 16px 24px #17272225
}
.book-badge {
  background: #172722;
  color: #f1ebdc
}
.book-blurb {
  font-size: 16px
}
.highlights-list {
  font-size: 13px
}
.book-formats,
.book-formats-note {
  font-size: 12px
}
.book-section {
  padding: 65px 0
}
.book-cast {
  gap: 24px
}
.cast-card {
  background: 0 0;
  border: 0;
  border-radius: 0;
  box-shadow: none
}
.cast-card-art img {
  mix-blend-mode: multiply
}
.cast-card-art {
  background: #e8e1d0
}
.cast-card h3 {
  font-size: 23px
}
.cast-card-body {
  padding: 16px 0
}
.cast-card-tagline {
  font-size: 12px
}
.page-header {
  background: #e8e1d0
}
.page-header h1 {
  font-size: clamp(36px,5vw,60px);
  letter-spacing: -.03em
}
.page-header p {
  font-size: 16px
}
.bestiary-gallery .gallery-card {
  background: #faf7ef
}
.bestiary-toolbar {
  background: #f1ebdc
}
.gallery-card-name {
  color: #172722
}
.gallery-card-type {
  color: #526058
}
.article-body,
.excerpt-body,
.prose {
  font-family: var(--font-heading)
}
.preview-dialog {
  border: 0;
  padding: 22px;
  background: #f1ebdc;
  color: #172722;
  width: min(1150px,94vw);
  max-height: 94vh;
  max-width: 94vw;
  margin: auto;
  box-shadow: 0 20px 80px #0006
}
.preview-dialog::backdrop {
  background: #071a13cc;
  backdrop-filter: blur(5px)
}
.preview-dialog header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 16px
}
.preview-dialog h2 {
  font-size: 22px
}
.preview-dialog button {
  background: 0 0;
  border: 1px solid #8b9485;
  padding: 9px 14px;
  color: #172722;
  font-size: 12px
}
.preview-dialog img {
  display: block;
  width: 100%;
  height: auto
}
.preview-dialog > a {
  display: block;
  font-size: 12px;
  margin-top: 14px
}
@media(min-width:1500px) {
  .hero-specimen img {
    max-height: 500px
  }
  .codex-hero {
    padding-top: 45px
  }
  .hero-intro {
    padding-block: 60px
  }
}
@media(max-width:1100px) {
  .container {
    padding-inline: 32px
  }
  .nav-links {
    gap: 15px
  }
  .nav-brand {
    font-size: 15px
  }
  .nav-brand small {
    font-size: 7px
  }
  .nav-links a {
    font-size: 11px
  }
  .nav-links .nav-free {
    padding: 10px
  }
  .brand-mark {
    font-size: 34px
  }
  .hero-grid {
    gap: 20px
  }
  .hero-intro h1 {
    font-size: 65px
  }
  .hero-actions .button {
    padding: 14px 18px;
    font-size: 12px
  }
  .editorial-books {
    gap: 32px
  }
  .editorial-book-cover {
    margin-inline: 10px
  }
  .deck-feature {
    gap: 40px
  }
  .deck-fan {
    height: 350px
  }
  .lead-magnet-inner {
    gap: 35px
  }
  .hero-summary {
    font-size: 14px
  }
}
@media(max-width:850px) {
  .nav {
    min-height: 78px;
    flex-direction: row;
    flex-wrap: wrap;
    padding-block: 15px
  }
  .nav-toggle {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 10px 13px;
    border: 1px solid #a7ad9e;
    background: 0 0;
    color: #172722;
    font-size: 12px
  }
  .nav-links {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-bottom: 10px;
    gap: 18px
  }
  .nav-links.js-collapsible:not(.is-open) {
    display: none
  }
  .nav-links a {
    font-size: 13px
  }
  .hero-intro h1 {
    font-size: 58px
  }
  .hero-grid {
    gap: 15px
  }
  .hero-intro .eyebrow {
    font-size: 8px
  }
  .hero-summary {
    font-size: 13px
  }
  .hero-deck {
    font-size: 23px
  }
  .hero-actions {
    flex-direction: column;
    align-items: flex-start
  }
  .hero-specimen img {
    max-height: 440px
  }
  .hero-footnote > span:last-child {
    display: none
  }
  .section-heading {
    gap: 30px
  }
  .section-heading > p {
    max-width: 290px
  }
  .editorial-books {
    gap: 25px
  }
  .editorial-book h3 {
    font-size: 23px
  }
  .editorial-book-cover {
    margin-inline: 0
  }
  .editorial-book-cover img {
    max-height: 295px
  }
  .book-buy-links {
    gap: 10px
  }
  .encounter-grid {
    grid-template-columns: repeat(2,1fr);
    gap: 38px
  }
  .encounter img {
    max-height: 260px;
    object-fit: contain
  }
  .deck-feature {
    gap: 35px;
    grid-template-columns: 1fr 1fr
  }
  .deck-fan {
    height: 320px
  }
  .deck-copy h2 {
    font-size: 35px
  }
  .deck-options {
    gap: 25px
  }
  .lead-magnet-inner {
    gap: 30px
  }
  .lead-magnet-form .button {
    width: 100%
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr
  }
  .book-hero-grid {
    gap: 35px;
    grid-template-columns: 260px 1fr
  }
  .book-actions {
    flex-wrap: wrap
  }
  .book-title {
    font-size: 35px
  }
  .extras-grid {
    gap: 25px
  }
}
@media(max-width:650px) {
  html {
    font-size: 16px;
    scroll-padding-top: 85px
  }
  .container {
    padding-inline: 22px
  }
  .nav-brand {
    font-size: 16px
  }
  .nav-brand small {
    font-size: 7px
  }
  .nav-links {
    gap: 16px 22px
  }
  .codex-hero {
    padding-top: 15px
  }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 15px
  }
  .hero-intro {
    padding-block: 25px 5px
  }
  .hero-intro .eyebrow {
    font-size: 8px;
    margin-bottom: 22px
  }
  .hero-intro h1 {
    font-size: clamp(49px,12vw,70px);
    margin-bottom: 16px
  }
  .hero-deck {
    font-size: 24px;
    margin-bottom: 15px
  }
  .hero-summary {
    font-size: 14px;
    max-width: 460px
  }
  .hero-intro .hero-actions {
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 22px;
    gap: 10px;
    align-items: stretch
  }
  .hero-intro .button {
    font-size: 11px;
    padding: 14px 16px;
    flex: 1;
    gap: 10px;
    white-space: nowrap
  }
  .hero-byline {
    margin-top: 16px
  }
  .hero-specimen {
    padding-top: 15px;
    max-width: 430px;
    width: 100%;
    margin: auto
  }
  .hero-specimen img {
    max-height: 340px
  }
  .hero-specimen figcaption strong {
    font-size: 18px
  }
  .hero-footnote {
    margin-top: 25px;
    font-size: 8px;
    padding-block: 15px
  }
  .hero-footnote a {
    gap: 10px
  }
  .deck-section,
  .encounter-section,
  .field-extras,
  .inside-section,
  .lead-magnet,
  .shelf-section {
    padding-block: 55px
  }
  .section-heading {
    display: block;
    margin-bottom: 35px
  }
  .deck-copy h2,
  .lead-magnet h2,
  .section-heading h2 {
    font-size: 36px
  }
  .section-heading > p {
    margin-top: 20px;
    max-width: 440px;
    font-size: 13px
  }
  .section-heading .eyebrow {
    margin-bottom: 16px
  }
  .editorial-books {
    grid-template-columns: 1fr;
    gap: 55px
  }
  .editorial-book {
    display: grid;
    grid-template-columns: 115px 1fr;
    gap: 0 22px
  }
  .editorial-book-cover {
    grid-column: 1;
    grid-row: 1/5;
    margin: 0;
    align-self: start;
    padding-top: 4px
  }
  .editorial-book-cover img {
    max-height: none
  }
  .editorial-book .eyebrow {
    grid-column: 2;
    font-size: 8px;
    margin-bottom: 10px
  }
  .editorial-book h3 {
    grid-column: 2;
    font-size: 24px
  }
  .editorial-book > p:not(.eyebrow) {
    grid-column: 2;
    font-size: 12px;
    margin-bottom: 16px
  }
  .book-discover {
    grid-column: 2;
    font-size: 11px;
    padding: 12px 0
  }
  .book-buy-links {
    grid-column: 2;
    font-size: 9px;
    gap: 11px
  }
  .inside-gallery {
    grid-template-columns: 1fr;
    gap: 30px
  }
  .inside-spread strong {
    font-size: 21px
  }
  .encounter-grid {
    gap: 35px 20px
  }
  .encounter h3 {
    font-size: 22px
  }
  .encounter p {
    font-size: 12px
  }
  .encounter .eyebrow {
    font-size: 7px
  }
  .encounter .text-link {
    font-size: 10px
  }
  .encounter img {
    margin-bottom: 15px
  }
  .deck-feature {
    grid-template-columns: 1fr;
    gap: 30px
  }
  .deck-fan {
    height: 340px;
    max-width: 400px;
    width: 100%;
    margin: 0 auto 20px
  }
  .deck-fan img {
    max-width: 180px
  }
  .deck-copy .eyebrow {
    margin-bottom: 18px
  }
  .deck-copy > p:not(.eyebrow):not(.fine-note) {
    font-size: 13px
  }
  .deck-copy .button {
    width: 100%
  }
  .deck-options {
    margin: 22px 0
  }
  .lead-magnet-inner {
    grid-template-columns: 1fr;
    gap: 35px
  }
  .lead-magnet-preview {
    max-width: 440px;
    margin: auto
  }
  .lead-magnet-copy {
    text-align: left
  }
  .lead-magnet-form {
    margin: 23px 0 14px;
    display: grid;
    grid-template-columns: 1fr
  }
  .lead-magnet-form input {
    width: 100%
  }
  .lead-magnet-form .button {
    font-size: 12px
  }
  .lead-magnet-sub {
    font-size: 14px
  }
  .field-extras .section-heading h2 {
    font-size: 34px;
    margin-bottom: 20px
  }
  .extras-grid {
    grid-template-columns: 1fr;
    gap: 28px
  }
  .extras-grid > a {
    padding-top: 20px
  }
  .extras-grid .eyebrow {
    margin-bottom: 14px
  }
  .extras-grid p {
    margin-bottom: 16px
  }
  .field-journal {
    padding: 45px 0
  }
  .field-journal > .container {
    grid-template-columns: 1fr;
    gap: 35px
  }
  .footer-grid {
    gap: 30px 24px
  }
  .footer-col:first-child {
    grid-column: 1/-1
  }
  .footer-col:last-child {
    font-size: 10px
  }
  .footer-brand {
    font-size: 25px
  }
  .catalog-intro {
    padding: 50px 0
  }
  .catalog-intro h1 {
    font-size: 48px
  }
  .catalog-intro > .container > p:last-child {
    font-size: 14px
  }
  .catalog-footer > .container {
    display: block
  }
  .catalog-footer-actions {
    margin-top: 25px
  }
  .book-hero-grid {
    grid-template-columns: 1fr;
    gap: 35px
  }
  .book-cover {
    max-width: 240px;
    margin: auto
  }
  .book-title {
    font-size: 38px
  }
  .book-info {
    text-align: left
  }
  .book-actions {
    gap: 10px
  }
  .book-actions .button {
    font-size: 12px;
    flex: 1 1 auto
  }
  .book-cast {
    grid-template-columns: repeat(2,1fr)
  }
  .book-section {
    padding: 45px 0
  }
  .page-header h1 {
    font-size: 40px
  }
  .preview-dialog {
    padding: 15px
  }
  .preview-dialog h2 {
    font-size: 17px
  }
  .preview-dialog button {
    padding: 8px;
    font-size: 11px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior: auto
  }
  *,
  ::after,
  ::before {
    transition: none!important;
    animation: none!important
  }
}
.book-inside .inside-spread {
  max-width: 900px;
  margin: auto
}
.lead-magnet-inner {
  border: 0;
  background: 0 0
}
.lead-magnet-form {
  flex-direction: row
}
.lead-magnet-form input[type=email] {
  font-size: 13px;
  border-radius: 0;
  border-color: #a7ad9e;
  padding: 14px
}
.lead-magnet-form button[data-form-submit] {
  width: auto;
  min-width: 0
}
.lead-magnet-sub {
  margin-bottom: 20px
}
.lead-magnet-preview img {
  background: 0 0
}
.book-actions .button-large {
  display: block
}
.book-actions .button-large .button-sub {
  display: block;
  margin-top: 4px
}
.blog-sidebar-subscribe .lead-magnet h2 {
  font-size: 26px
}
.blog-sidebar-subscribe .lead-magnet-form button {
  width: 100%
}
@media(max-width:850px) {
  .lead-magnet-form button[data-form-submit] {
    width: 100%
  }
}
.cast-card {
  min-width: 0;
  overflow-wrap: anywhere
}
.book-cast {
  grid-template-columns: repeat(6,minmax(0,1fr))
}
@media(max-width:900px) {
  .book-cast {
    grid-template-columns: repeat(3,minmax(0,1fr))
  }
}
@media(max-width:650px) {
  .book-cast {
    grid-template-columns: repeat(2,minmax(0,1fr))
  }
}
@media(max-width:380px) {
  .nav {
    gap: 10px;
    flex-wrap: wrap
  }
  .nav-brand {
    font-size: 12px;
    gap: 8px
  }
  .nav-brand small {
    font-size: 6px;
    letter-spacing: .11em
  }
  .brand-mark {
    font-size: 28px
  }
  .nav-toggle {
    padding: 9px 10px;
    gap: 10px;
    font-size: 11px
  }
  .hero-intro .hero-actions {
    flex-direction: column
  }
  .hero-intro .button {
    width: 100%
  }
  .editorial-book {
    grid-template-columns: 95px minmax(0,1fr);
    gap: 0 17px
  }
  .editorial-book h3 {
    font-size: 21px
  }
}
/* The confirmation destination is also the permanent, email-independent download. */
.field-kit-download {
  padding: 72px 0 64px;
  background: #e8e1d0;
  border-bottom: 1px solid #cfc8b7;
}
.field-kit-download-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 60px;
  align-items: center;
}
.field-kit-download-copy { min-width: 0; }
.field-kit-download h1 {
  font-size: clamp(44px, 4.8vw, 66px);
  letter-spacing: -.045em;
  margin-bottom: 24px;
}
.field-kit-download h1 em { color: #a4482d; font-weight: 400; }
.field-kit-download-intro { font-size: 16px; color: #526058; max-width: 490px; }
.field-kit-download-actions { margin-top: 28px; }
.field-kit-download-actions .button { font-size: 14px; }
.field-kit-download-actions p { font-size: 11px; margin-top: 12px; color: #526058; }
.field-kit-download-help { font-size: 12px; margin-top: 23px; }
.field-kit-download-help a { text-decoration: underline; text-underline-offset: 3px; }
.field-kit-download-note { font-size: 12px; color: #526058; margin-top: 16px; max-width: 440px; }
.field-kit-download-preview { margin: 0; }
.field-kit-download-preview img { display: block; width: 100%; height: auto; }
.field-kit-download-preview figcaption { font: italic 16px/1.5 var(--font-heading); margin-top: 15px; color: #526058; text-align: center; }
.field-kit-contents { padding: 48px 0 55px; }
.field-kit-contents ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; list-style: none; margin: 0; padding: 0; }
.field-kit-contents li { border-top: 1px solid #cfc8b7; padding-top: 20px; }
.field-kit-contents li > span { font-size: 10px; color: #a4482d; letter-spacing: .1em; }
.field-kit-contents h2 { font-size: 24px; margin: 12px 0; letter-spacing: -.025em; }
.field-kit-contents li p { font-size: 13px; color: #526058; }
.field-kit-next { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 32px; border-top: 1px solid #cfc8b7; padding-top: 25px; margin-top: 42px; }
.field-kit-next p { font-size: 14px; margin-right: auto; }
.lead-magnet-success { text-align: left; }
.lead-magnet-download-actions { display: flex; flex-wrap: wrap; gap: 16px 22px; align-items: center; margin: 24px 0 12px; }
.lead-magnet-download-actions > a:not(.button) { font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.lead-magnet-success .lead-magnet-download-meta { font-size: 11px; margin-bottom: 24px; }
.lead-magnet-returning { font-size: 11px; margin-top: 12px; color: #526058; }
.lead-magnet-returning a { text-decoration: underline; text-underline-offset: 3px; }
.lead-magnet-error { border-color: #b67a60; background: #f7e8de; color: #75321f; border-radius: 0; }
.lead-magnet-error a { color: #75321f; }
@media (max-width: 850px) {
  .field-kit-download-grid { gap: 30px; }
  .field-kit-contents ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .field-kit-download { padding: 42px 0; }
  .field-kit-download-grid { grid-template-columns: minmax(0, 1fr); gap: 35px; }
  .field-kit-download h1 { font-size: 46px; }
  .field-kit-download-intro { font-size: 14px; }
  .field-kit-download-actions .button { width: 100%; font-size: 13px; }
  .field-kit-download-preview { max-width: 430px; width: 100%; margin: 0 auto; }
  .field-kit-contents { padding: 36px 0; }
  .field-kit-contents ol { gap: 28px 22px; }
  .field-kit-contents h2 { font-size: 23px; }
  .field-kit-next { display: grid; grid-template-columns: 1fr; gap: 15px; }
  .lead-magnet-download-actions { align-items: stretch; flex-direction: column; }
}
@media (max-width: 380px) {
  .field-kit-download h1 { font-size: 40px; }
  .field-kit-contents ol { grid-template-columns: 1fr; }
}

/* The three free companions share the books' editorial shelf. */
.field-kit-library { padding: 0 0 80px; }
.field-kit-library--home { padding: 80px 0; background: #e8e1d0; border-block: 1px solid #cfc8b7; }
.field-kit-shelf { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; }
.field-kit-card { min-width: 0; display: flex; flex-direction: column; }
.field-kit-card-preview { display: block; margin-bottom: 27px; overflow: hidden; }
.field-kit-card-preview img { display: block; width: 100%; height: auto; transition: transform .3s; }
.field-kit-card-preview:hover img { transform: scale(1.025); }
.field-kit-card .eyebrow { font-size: 9px; line-height: 1.6; min-height: 30px; margin-bottom: 12px; }
.field-kit-card h3 { font-size: 31px; line-height: 1.14; margin-bottom: 16px; max-width: 300px; letter-spacing: -.025em; }
.field-kit-card h3 a { color: #172722; }
.field-kit-card-description { font-size: 14px; color: #526058; flex: 1; margin-bottom: 25px; }
.field-kit-card .button { justify-content: space-between; font-size: 12px; padding: 15px 18px; gap: 12px; }
.field-kit-card-more { display: block; font-size: 11px; margin-top: 15px; text-decoration: underline; text-underline-offset: 4px; }
.kit-library-intro { padding-bottom: 48px; }
.kit-library-intro .kit-library-note { font-size: 12px; margin-top: 20px; max-width: 680px; }
.kit-library-bottom { padding: 30px 0 45px; border-top: 1px solid #cfc8b7; }
.kit-library-bottom .container { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.kit-library-bottom p { font-size: 14px; margin: 0; }
.kit-library-bottom .text-link { font-size: 13px; }
.kit-breadcrumb { padding: 20px 0; }
.kit-breadcrumb .container { display: flex; justify-content: space-between; gap: 20px; font-size: 11px; }
.lead-magnet--landing { padding: 55px 0 65px; }
.lead-magnet--landing h1 { font-size: clamp(38px, 4.2vw, 60px); letter-spacing: -.04em; margin-bottom: 24px; }
.lead-magnet--landing .lead-magnet-inner { gap: 55px; }
.lead-magnet-form input[type=hidden] { display: none; }
.field-kit-contents h2.eyebrow { font: 600 10px/1.5 var(--font-body); letter-spacing: .14em; margin: 0 0 25px; }
.field-kit-contents h3 { font-size: 24px; margin: 12px 0; letter-spacing: -.025em; }
.field-kit-book-section { padding: 64px 0; background: #e8e1d0; border-block: 1px solid #cfc8b7; }
.field-kit-book { display: grid; grid-template-columns: 165px minmax(0, 1fr); gap: 55px; align-items: center; max-width: 940px; margin: 0 auto; }
.field-kit-book-cover img { display: block; width: 100%; height: auto; box-shadow: 8px 10px 15px #17272226; }
.field-kit-book h2 { font-size: 39px; letter-spacing: -.025em; margin-bottom: 20px; }
.field-kit-book h2 em { font-weight: 400; color: #a4482d; }
.field-kit-book p:not(.eyebrow) { font-size: 14px; color: #526058; }
.field-kit-book-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-top: 23px; }
.field-kit-book-actions .text-link { font-size: 12px; }
.field-kit-book--compact { grid-template-columns: 70px minmax(0, 1fr); gap: 22px; align-items: start; border-top: 1px solid #c5bca6; padding-top: 25px; margin-top: 25px; }
.field-kit-book--compact .eyebrow { font-size: 9px; margin-bottom: 10px; }
.field-kit-book--compact h3 { font-size: 23px; line-height: 1.17; margin-bottom: 12px; }
.field-kit-book--compact p:not(.eyebrow) { font-size: 12px; }
.field-kit-book--compact .field-kit-book-actions { margin-top: 16px; gap: 12px 18px; }
.book-free-kit { margin-top: 24px; font-size: 13px; }
.book-free-kit a { text-decoration: underline; text-underline-offset: 4px; }
.book-kit-link { font-size: 11px; margin-top: 19px; color: #c4cbbb; }
.blog-other-kits { font-size: 12px; padding: 20px 0; }
.blog-sidebar-subscribe .field-kit-book--compact { grid-template-columns: 1fr; }
.blog-sidebar-subscribe .field-kit-book-cover { display: none; }
@media (max-width: 900px) {
  .field-kit-shelf { gap: 23px; }
  .field-kit-card h3 { font-size: 27px; }
  .field-kit-card .button { font-size: 11px; }
  .field-kit-card-description { font-size: 13px; }
  .lead-magnet--landing .lead-magnet-inner { gap: 30px; }
}
@media (max-width: 650px) {
  .field-kit-library { padding-bottom: 45px; }
  .field-kit-library--home { padding-top: 48px; }
  .field-kit-shelf { grid-template-columns: 1fr; gap: 45px; }
  .field-kit-card { border-bottom: 1px solid #cfc8b7; padding-bottom: 32px; }
  .field-kit-card:last-child { border-bottom: 0; padding-bottom: 0; }
  .field-kit-card-preview { margin-bottom: 22px; }
  .field-kit-card .eyebrow { min-height: 0; }
  .field-kit-card h3 { font-size: 32px; max-width: 100%; }
  .field-kit-card .button { font-size: 13px; }
  .field-kit-card-description { font-size: 14px; }
  .kit-library-bottom .container { flex-direction: column; align-items: start; }
  .kit-breadcrumb .container { flex-wrap: wrap; gap: 8px; }
  .lead-magnet--landing { padding: 35px 0 45px; }
  .lead-magnet--landing .lead-magnet-inner { display: flex; flex-direction: column; align-items: stretch; }
  .lead-magnet--landing .lead-magnet-preview { order: 2; margin-top: 18px; }
  .lead-magnet--landing h1 { font-size: 43px; }
  .field-kit-book-section { padding: 42px 0; }
  .field-kit-book { grid-template-columns: 83px minmax(0, 1fr); gap: 24px; align-items: start; }
  .field-kit-book h2 { font-size: 28px; }
  .field-kit-book p:not(.eyebrow) { font-size: 13px; }
  .field-kit-book-actions { flex-direction: column; align-items: start; gap: 16px; }
  .field-kit-book--compact { grid-template-columns: 60px minmax(0, 1fr); gap: 18px; }
  .field-kit-book--compact h3 { font-size: 22px; }
}
@media (min-width: 851px) {
  .kit-library-intro .container { display: grid; grid-template-columns: 1fr 1fr; gap: 0 60px; align-items: end; }
  .kit-library-intro .eyebrow { grid-column: 1 / -1; }
  .kit-library-intro h1 { grid-column: 1; grid-row: 2 / 4; margin-bottom: 0; }
  .kit-library-intro p:not(.eyebrow) { grid-column: 2; font-size: 16px; }
  .kit-library-intro p.kit-library-note { font-size: 12px; margin-bottom: 7px; }
}
@media (max-width: 650px) {
  .field-kit-book:not(.field-kit-book--compact) { gap: 15px 24px; }
  .field-kit-book:not(.field-kit-book--compact) > div { display: contents; }
  .field-kit-book:not(.field-kit-book--compact) .field-kit-book-cover { grid-row: 1 / 3; }
  .field-kit-book:not(.field-kit-book--compact) .eyebrow { grid-column: 2; margin: 0; }
  .field-kit-book:not(.field-kit-book--compact) h2 { grid-column: 2; margin: 0; }
  .field-kit-book:not(.field-kit-book--compact) p:not(.eyebrow),
  .field-kit-book:not(.field-kit-book--compact) .field-kit-book-actions { grid-column: 1 / -1; }
  .field-kit-book:not(.field-kit-book--compact) p:not(.eyebrow) { margin-top: 12px; font-size: 14px; }
  .field-kit-book:not(.field-kit-book--compact) .field-kit-book-actions { margin-top: 0; flex-direction: row; flex-wrap: wrap; gap: 18px 23px; }
  .field-kit-book:not(.field-kit-book--compact) .field-kit-book-actions .button { width: 100%; }
}
